generator-mico-cli 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +84 -0
  2. package/bin/mico.js +316 -0
  3. package/generators/micro-react/ignore-list.json +8 -0
  4. package/generators/micro-react/index.js +158 -0
  5. package/generators/micro-react/templates/.commitlintrc.js +6 -0
  6. package/generators/micro-react/templates/.cursor/rules/always-read-docs.mdc +129 -0
  7. package/generators/micro-react/templates/.cursor/rules/cicd-deploy.mdc +143 -0
  8. package/generators/micro-react/templates/.cursor/rules/coding-conventions.mdc +206 -0
  9. package/generators/micro-react/templates/.cursor/rules/commit-conventions.mdc +111 -0
  10. package/generators/micro-react/templates/.cursor/rules/development-guide.mdc +295 -0
  11. package/generators/micro-react/templates/.cursor/rules/layout-app.mdc +275 -0
  12. package/generators/micro-react/templates/.cursor/rules/micro-frontend.mdc +196 -0
  13. package/generators/micro-react/templates/.cursor/rules/project-overview.mdc +128 -0
  14. package/generators/micro-react/templates/.cursor/rules/request-auth.mdc +220 -0
  15. package/generators/micro-react/templates/.cursor/rules/theme-system.mdc +206 -0
  16. package/generators/micro-react/templates/.editorconfig +16 -0
  17. package/generators/micro-react/templates/.env +3 -0
  18. package/generators/micro-react/templates/.eslintrc.js +30 -0
  19. package/generators/micro-react/templates/.husky/commit-msg +2 -0
  20. package/generators/micro-react/templates/.husky/pre-commit +2 -0
  21. package/generators/micro-react/templates/.lintstagedrc +5 -0
  22. package/generators/micro-react/templates/.stylelintrc.js +25 -0
  23. package/generators/micro-react/templates/AGENTS.md +39 -0
  24. package/generators/micro-react/templates/CICD/start_dev.sh +30 -0
  25. package/generators/micro-react/templates/CICD/start_local.sh +30 -0
  26. package/generators/micro-react/templates/CICD/start_prod.sh +30 -0
  27. package/generators/micro-react/templates/CICD/start_test.sh +30 -0
  28. package/generators/micro-react/templates/CICD/wangsu_fresh_dev.sh +19 -0
  29. package/generators/micro-react/templates/CICD/wangsu_fresh_prod.sh +19 -0
  30. package/generators/micro-react/templates/CICD/wangsu_fresh_test.sh +19 -0
  31. package/generators/micro-react/templates/CLAUDE.md +106 -0
  32. package/generators/micro-react/templates/README.md +84 -0
  33. package/generators/micro-react/templates/_gitignore +57 -0
  34. package/generators/micro-react/templates/_npmrc +2 -0
  35. package/generators/micro-react/templates/apps/layout/.env +4 -0
  36. package/generators/micro-react/templates/apps/layout/.eslintrc.js +10 -0
  37. package/generators/micro-react/templates/apps/layout/.lintstagedrc +17 -0
  38. package/generators/micro-react/templates/apps/layout/.prettierignore +3 -0
  39. package/generators/micro-react/templates/apps/layout/.prettierrc +8 -0
  40. package/generators/micro-react/templates/apps/layout/.stylelintrc.js +20 -0
  41. package/generators/micro-react/templates/apps/layout/README.md +37 -0
  42. package/generators/micro-react/templates/apps/layout/config/config.dev.ts +54 -0
  43. package/generators/micro-react/templates/apps/layout/config/config.prod.ts +37 -0
  44. package/generators/micro-react/templates/apps/layout/config/config.testing.ts +27 -0
  45. package/generators/micro-react/templates/apps/layout/config/config.ts +132 -0
  46. package/generators/micro-react/templates/apps/layout/config/routes.ts +13 -0
  47. package/generators/micro-react/templates/apps/layout/mock/api.mock.ts +78 -0
  48. package/generators/micro-react/templates/apps/layout/mock/menus.json +100 -0
  49. package/generators/micro-react/templates/apps/layout/mock/menus.ts +11 -0
  50. package/generators/micro-react/templates/apps/layout/mock/user.mock.ts +20 -0
  51. package/generators/micro-react/templates/apps/layout/package.json +45 -0
  52. package/generators/micro-react/templates/apps/layout/public/font/ar-SA.js +54 -0
  53. package/generators/micro-react/templates/apps/layout/public/font/default.js +54 -0
  54. package/generators/micro-react/templates/apps/layout/src/app.tsx +123 -0
  55. package/generators/micro-react/templates/apps/layout/src/assets/.gitkeep +0 -0
  56. package/generators/micro-react/templates/apps/layout/src/common/auth/cs-auth-manager.ts +220 -0
  57. package/generators/micro-react/templates/apps/layout/src/common/auth/index.ts +41 -0
  58. package/generators/micro-react/templates/apps/layout/src/common/auth/tool.ts +3 -0
  59. package/generators/micro-react/templates/apps/layout/src/common/auth/type.ts +6 -0
  60. package/generators/micro-react/templates/apps/layout/src/common/constants.ts +38 -0
  61. package/generators/micro-react/templates/apps/layout/src/common/env.ts +73 -0
  62. package/generators/micro-react/templates/apps/layout/src/common/helpers.ts +69 -0
  63. package/generators/micro-react/templates/apps/layout/src/common/locale.ts +123 -0
  64. package/generators/micro-react/templates/apps/layout/src/common/logger.ts +45 -0
  65. package/generators/micro-react/templates/apps/layout/src/common/menu/index.ts +2 -0
  66. package/generators/micro-react/templates/apps/layout/src/common/menu/parser.ts +143 -0
  67. package/generators/micro-react/templates/apps/layout/src/common/menu/types.ts +92 -0
  68. package/generators/micro-react/templates/apps/layout/src/common/request/config.ts +73 -0
  69. package/generators/micro-react/templates/apps/layout/src/common/request/index.ts +188 -0
  70. package/generators/micro-react/templates/apps/layout/src/common/request/interceptors.ts +186 -0
  71. package/generators/micro-react/templates/apps/layout/src/common/request/sso.ts +132 -0
  72. package/generators/micro-react/templates/apps/layout/src/common/request/token-refresh.ts +136 -0
  73. package/generators/micro-react/templates/apps/layout/src/common/request/types.ts +44 -0
  74. package/generators/micro-react/templates/apps/layout/src/common/request/url-resolver.ts +75 -0
  75. package/generators/micro-react/templates/apps/layout/src/common/theme.ts +107 -0
  76. package/generators/micro-react/templates/apps/layout/src/common/types.ts +7 -0
  77. package/generators/micro-react/templates/apps/layout/src/common/upload/index.ts +2 -0
  78. package/generators/micro-react/templates/apps/layout/src/common/upload/oss.ts +401 -0
  79. package/generators/micro-react/templates/apps/layout/src/common/upload/types.ts +47 -0
  80. package/generators/micro-react/templates/apps/layout/src/common/uploadFiles.ts +35 -0
  81. package/generators/micro-react/templates/apps/layout/src/components/IconFont/index.tsx +25 -0
  82. package/generators/micro-react/templates/apps/layout/src/components/MicroAppLoader/index.less +44 -0
  83. package/generators/micro-react/templates/apps/layout/src/components/MicroAppLoader/index.tsx +121 -0
  84. package/generators/micro-react/templates/apps/layout/src/constants/index.ts +15 -0
  85. package/generators/micro-react/templates/apps/layout/src/global.less +13 -0
  86. package/generators/micro-react/templates/apps/layout/src/hooks/index.ts +3 -0
  87. package/generators/micro-react/templates/apps/layout/src/hooks/useAuth.ts +75 -0
  88. package/generators/micro-react/templates/apps/layout/src/hooks/useMenu.ts +35 -0
  89. package/generators/micro-react/templates/apps/layout/src/hooks/useMenuState.ts +112 -0
  90. package/generators/micro-react/templates/apps/layout/src/hooks/useTheme.ts +124 -0
  91. package/generators/micro-react/templates/apps/layout/src/layouts/components/header/index.less +109 -0
  92. package/generators/micro-react/templates/apps/layout/src/layouts/components/header/index.tsx +97 -0
  93. package/generators/micro-react/templates/apps/layout/src/layouts/components/menu/index.less +164 -0
  94. package/generators/micro-react/templates/apps/layout/src/layouts/components/menu/index.tsx +165 -0
  95. package/generators/micro-react/templates/apps/layout/src/layouts/index.less +71 -0
  96. package/generators/micro-react/templates/apps/layout/src/layouts/index.tsx +91 -0
  97. package/generators/micro-react/templates/apps/layout/src/locales/en-US.ts +20 -0
  98. package/generators/micro-react/templates/apps/layout/src/locales/zh-CN.ts +19 -0
  99. package/generators/micro-react/templates/apps/layout/src/models/global.ts +13 -0
  100. package/generators/micro-react/templates/apps/layout/src/pages/Home/index.less +3 -0
  101. package/generators/micro-react/templates/apps/layout/src/pages/Home/index.tsx +7 -0
  102. package/generators/micro-react/templates/apps/layout/src/requestErrorConfig.ts +171 -0
  103. package/generators/micro-react/templates/apps/layout/src/services/auth.ts +37 -0
  104. package/generators/micro-react/templates/apps/layout/src/services/oss.ts +40 -0
  105. package/generators/micro-react/templates/apps/layout/src/styles/arco-override.less +78 -0
  106. package/generators/micro-react/templates/apps/layout/src/styles/themes/dark/custom-var.less +244 -0
  107. package/generators/micro-react/templates/apps/layout/src/styles/themes/normal/custom-var.less +195 -0
  108. package/generators/micro-react/templates/apps/layout/src/styles/variables.less +5 -0
  109. package/generators/micro-react/templates/apps/layout/src/utils/format.ts +4 -0
  110. package/generators/micro-react/templates/apps/layout/tailwind.config.js +7 -0
  111. package/generators/micro-react/templates/apps/layout/tailwind.css +3 -0
  112. package/generators/micro-react/templates/apps/layout/tsconfig.json +3 -0
  113. package/generators/micro-react/templates/apps/layout/typings.d.ts +1 -0
  114. package/generators/micro-react/templates/deployDesc.md +60 -0
  115. package/generators/micro-react/templates/docs/commit-message.md +98 -0
  116. package/generators/micro-react/templates/package.json +35 -0
  117. package/generators/micro-react/templates/packages/shared-styles/README.md +125 -0
  118. package/generators/micro-react/templates/packages/shared-styles/arco-override.less +78 -0
  119. package/generators/micro-react/templates/packages/shared-styles/index.less +14 -0
  120. package/generators/micro-react/templates/packages/shared-styles/package.json +27 -0
  121. package/generators/micro-react/templates/packages/shared-styles/theme-inject.less +10 -0
  122. package/generators/micro-react/templates/packages/shared-styles/themes/dark/custom-var.less +246 -0
  123. package/generators/micro-react/templates/packages/shared-styles/themes/normal/custom-var.less +195 -0
  124. package/generators/micro-react/templates/packages/shared-styles/variables-only.less +301 -0
  125. package/generators/micro-react/templates/packages/shared-styles/variables.less +363 -0
  126. package/generators/micro-react/templates/pnpm-workspace.yaml +9 -0
  127. package/generators/micro-react/templates/scripts/collect-dist.js +68 -0
  128. package/generators/micro-react/templates/scripts/create-umi-app.sh +61 -0
  129. package/generators/micro-react/templates/scripts/dev.js +133 -0
  130. package/generators/micro-react/templates/turbo.json +68 -0
  131. package/generators/subapp-react/ignore-list.json +7 -0
  132. package/generators/subapp-react/index.js +189 -0
  133. package/generators/subapp-react/templates/homepage/.env +4 -0
  134. package/generators/subapp-react/templates/homepage/README.md +116 -0
  135. package/generators/subapp-react/templates/homepage/_gitignore +9 -0
  136. package/generators/subapp-react/templates/homepage/config/config.dev.ts +59 -0
  137. package/generators/subapp-react/templates/homepage/config/config.prod.ts +41 -0
  138. package/generators/subapp-react/templates/homepage/config/config.testing.ts +40 -0
  139. package/generators/subapp-react/templates/homepage/config/config.ts +102 -0
  140. package/generators/subapp-react/templates/homepage/config/routes.ts +7 -0
  141. package/generators/subapp-react/templates/homepage/mock/api.mock.ts +59 -0
  142. package/generators/subapp-react/templates/homepage/package.json +30 -0
  143. package/generators/subapp-react/templates/homepage/src/app.tsx +80 -0
  144. package/generators/subapp-react/templates/homepage/src/assets/yay.jpg +0 -0
  145. package/generators/subapp-react/templates/homepage/src/common/logger.ts +42 -0
  146. package/generators/subapp-react/templates/homepage/src/common/mainApp.ts +53 -0
  147. package/generators/subapp-react/templates/homepage/src/common/request.ts +49 -0
  148. package/generators/subapp-react/templates/homepage/src/global.less +26 -0
  149. package/generators/subapp-react/templates/homepage/src/pages/index.less +139 -0
  150. package/generators/subapp-react/templates/homepage/src/pages/index.tsx +342 -0
  151. package/generators/subapp-react/templates/homepage/src/styles/theme.less +6 -0
  152. package/generators/subapp-react/templates/homepage/tsconfig.json +3 -0
  153. package/generators/subapp-react/templates/homepage/typings.d.ts +17 -0
  154. package/lib/utils.js +165 -0
  155. package/package.json +31 -0
@@ -0,0 +1,98 @@
1
+ # 提交信息规范
2
+
3
+ 项目的 `git commit` 会被 `.husky/commit-msg` 钩子调用 `npx --no-install max verify-commit` 进行校验。为了保证能顺利提交,请遵循以下规则:
4
+
5
+ ## 基本格式
6
+
7
+ ```
8
+ type(scope): subject
9
+ ```
10
+
11
+ ### type(必填)
12
+
13
+ 必须是下列关键字之一:
14
+
15
+ | 类型 | 说明 |
16
+ |------|------|
17
+ | `feat` | 新功能 |
18
+ | `fix` | Bug 修复 |
19
+ | `docs` | 文档更新 |
20
+ | `style` | 代码格式(不影响功能) |
21
+ | `refactor` | 重构(既不是新功能也不是修复) |
22
+ | `perf` | 性能优化 |
23
+ | `test` | 测试相关 |
24
+ | `workflow` | 工作流改进 |
25
+ | `build` | 构建系统或外部依赖 |
26
+ | `ci` | CI 配置 |
27
+ | `chore` | 其他杂项 |
28
+ | `types` | 类型定义 |
29
+ | `wip` | 开发中(Work In Progress) |
30
+ | `release` | 版本发布 |
31
+ | `dep`/`deps` | 依赖更新 |
32
+ | `example`/`examples` | 示例代码 |
33
+ | `merge` | 合并分支 |
34
+ | `revert` | 回滚 |
35
+
36
+ ### scope(可选)
37
+
38
+ 用于标明影响范围(模块、页面、包名等),多个词语建议用短横线连接,例如 `user-center`。
39
+
40
+ ### subject(必填)
41
+
42
+ 简短的变更摘要,长度必须在 1~50 个字符之间,建议使用动词原形、避免句号结尾。
43
+
44
+ ## 特殊前缀
45
+
46
+ 允许以 `Merge`、`Revert`、`Version` 开头的提交信息(例如合并分支时的默认信息)。
47
+
48
+ ## Emoji
49
+
50
+ 默认不允许在开头使用 Emoji,若需启用需在项目配置中设置 `verifyCommit.allowEmoji = true`。
51
+
52
+ ## 注释行
53
+
54
+ 提交信息中的 `#` 注释会被忽略,不会影响校验。
55
+
56
+ ## 示例
57
+
58
+ ### 中文示例(推荐)
59
+
60
+ ```text
61
+ feat(用户管理): 添加用户删除功能
62
+ fix(表格): 修复分页显示问题
63
+ docs(API): 更新接口文档
64
+ style(组件): 调整按钮样式
65
+ refactor(服务): 重构用户服务逻辑
66
+ chore(依赖): 更新项目依赖包
67
+ test(单元测试): 添加用户服务测试用例
68
+ perf(性能): 优化列表渲染性能
69
+ feat(conversation): 添加消息撤回功能
70
+ fix(layout): 修复侧边栏折叠问题
71
+ ```
72
+
73
+ ### 英文示例
74
+
75
+ ```text
76
+ feat(table): 支持列宽调整
77
+ fix(core): 处理失去焦点时发生的事件 (close #28)
78
+ chore(release): 更新日志
79
+ ```
80
+
81
+ ## 常见错误
82
+
83
+ ```text
84
+ # ❌ 错误:缺少 type
85
+ 添加用户功能
86
+
87
+ # ❌ 错误:type 不在允许列表中
88
+ add(user): 添加用户功能
89
+
90
+ # ❌ 错误:subject 为空
91
+ feat:
92
+
93
+ # ❌ 错误:subject 过长(超过50字符)
94
+ feat(user): 这是一个非常非常非常非常非常非常非常非常非常非常长的提交信息
95
+
96
+ # ✅ 正确
97
+ feat(user): 添加用户注册功能
98
+ ```
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "<%= projectName %>",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "packageManager": "pnpm@10.18.2",
6
+ "pnpm": {
7
+ "overrides": {
8
+ "@types/react": "^18.3.26",
9
+ "@types/react-dom": "^18.3.7"
10
+ }
11
+ },
12
+ "scripts": {
13
+ "dev": "node scripts/dev.js",
14
+ "build": "dotenv -e .env -e .env.local -e .env.production -e .env.production.local -- turbo run build && node scripts/collect-dist.js",
15
+ "build:development": "dotenv -e .env -e .env.local -e .env.development -e .env.development.local -- turbo run build:development && node scripts/collect-dist.js",
16
+ "build:testing": "dotenv -e .env -e .env.local -e .env.testing -e .env.testing.local -- turbo run build:testing && node scripts/collect-dist.js",
17
+ "build:production": "dotenv -e .env -e .env.local -e .env.production -e .env.production.local -- turbo run build:production && node scripts/collect-dist.js",
18
+ "build:local": "dotenv -e .env -e .env.local -- turbo run build:local && node scripts/collect-dist.js",
19
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx && turbo run lint",
20
+ "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix && turbo run lint:fix",
21
+ "lint-staged": "pnpm exec lint-staged --quiet",
22
+ "prepare": "husky install",
23
+ "test": "dotenv -e .env -e .env.local -- turbo run test",
24
+ "create:umi-app": "./scripts/create-umi-app.sh"
25
+ },
26
+ "devDependencies": {
27
+ "@commitlint/cli": "^19.5.0",
28
+ "@commitlint/config-conventional": "^19.5.0",
29
+ "dotenv-cli": "^7.4.1",
30
+ "eslint": "^8.57.0",
31
+ "husky": "^9.1.7",
32
+ "lint-staged": "^16.1.2",
33
+ "turbo": "^2.5.8"
34
+ }
35
+ }
@@ -0,0 +1,125 @@
1
+ # <%= packageScope %>/shared-styles
2
+
3
+ 共享样式包 - 主题变量、CSS Variables、Less 变量。
4
+
5
+ ## 功能
6
+
7
+ - 🎨 **主题系统**:亮色/暗黑主题 CSS 变量
8
+ - 📦 **Less 变量**:封装 CSS 变量的 Less 变量,提供编辑器提示
9
+ - 🔗 **Arco Design 覆盖**:品牌色映射到 Arco Design 变量
10
+
11
+ ## 安装
12
+
13
+ ```bash
14
+ # 在应用的 package.json 中添加依赖
15
+ "dependencies": {
16
+ "<%= packageScope %>/shared-styles": "workspace:*"
17
+ }
18
+
19
+ # 然后运行
20
+ pnpm install
21
+ ```
22
+
23
+ ## 使用方式
24
+
25
+ ### 方式 1:主应用 - 导入全部
26
+
27
+ 在主应用(layout)的 `global.less` 中导入入口文件:
28
+
29
+ ```less
30
+ @import '<%= packageScope %>/shared-styles';
31
+ ```
32
+
33
+ 这将导入:
34
+ - 亮色主题 CSS 变量定义
35
+ - 暗黑主题 CSS 变量定义
36
+ - Arco Design 变量覆盖
37
+ - Less 变量定义
38
+
39
+ ### 方式 2:子应用 - 仅导入 Less 变量(推荐)⭐
40
+
41
+ **子应用使用此方式避免重复打包 CSS 变量定义:**
42
+
43
+ ```less
44
+ @import '<%= packageScope %>/shared-styles/variables-only';
45
+ ```
46
+
47
+ 这将只导入 Less 变量,不包含 CSS 变量定义(约减少 5-10KB)。
48
+ CSS 变量由主应用注入到 `body` 上,子应用自动继承。
49
+
50
+ ### 方式 3:在组件样式中使用变量
51
+
52
+ ```less
53
+ // 子应用组件中
54
+ @import '<%= packageScope %>/shared-styles/variables-only';
55
+
56
+ .my-component {
57
+ background-color: @color-fill-1;
58
+ color: @color-text-2;
59
+ border: 1px solid @color-border-2;
60
+ }
61
+ ```
62
+
63
+ ## 文件结构
64
+
65
+ ```
66
+ packages/shared-styles/
67
+ ├── index.less # 入口文件,导入全部(主应用用)
68
+ ├── variables-only.less # 仅 Less 变量(子应用 global.less 用)⭐
69
+ ├── theme-inject.less # 主题注入(子应用独立运行时用)⭐
70
+ ├── variables.less # Less 变量 + 主题导入
71
+ ├── arco-override.less # Arco Design 变量覆盖
72
+ └── themes/
73
+ ├── normal/
74
+ │ └── custom-var.less # 亮色主题 CSS 变量
75
+ └── dark/
76
+ └── custom-var.less # 暗黑主题 CSS 变量
77
+ ```
78
+
79
+ ## 主要变量
80
+
81
+ ### 品牌色
82
+ | 变量 | 说明 |
83
+ |------|------|
84
+ | `@Brand1-1` ~ `@Brand1-7` | 品牌主色系列 |
85
+ | `@Brand2-1` ~ `@Brand2-7` | 品牌辅助色系列 |
86
+
87
+ ### 中性色
88
+ | 变量 | 说明 |
89
+ |------|------|
90
+ | `@color-text-1` ~ `@color-text-5` | 文字颜色 |
91
+ | `@color-fill-1` ~ `@color-fill-5` | 填充颜色 |
92
+ | `@color-border-1` ~ `@color-border-4` | 边框颜色 |
93
+
94
+ ### 功能色
95
+ | 变量 | 说明 |
96
+ |------|------|
97
+ | `@Success-1` ~ `@Success-7` | 成功状态色 |
98
+ | `@Warning-1` ~ `@Warning-7` | 警告状态色 |
99
+ | `@Danger-1` ~ `@Danger-7` | 危险状态色 |
100
+
101
+ ## 微前端子应用配置
102
+
103
+ > 详细配置指南请参考 [主题色切换文档 - 子应用适配](../../apps/layout/docs/feature-主题色切换.md#微前端子应用主题适配)
104
+
105
+ **快速配置:**
106
+
107
+ ```less
108
+ // global.less - 仅导入 Less 变量
109
+ @import '<%= packageScope %>/shared-styles/variables-only';
110
+ ```
111
+
112
+ ```typescript
113
+ // app.tsx - 开发环境条件注入(避免生产打包主题)
114
+ if (process.env.NODE_ENV === 'development') {
115
+ if (typeof window !== 'undefined' && !window.__POWERED_BY_QIANKUN__) {
116
+ import('./styles/theme.less');
117
+ }
118
+ }
119
+ ```
120
+
121
+ ## 相关文档
122
+
123
+ - [主题色切换](../../apps/layout/docs/feature-主题色切换.md) - 主题系统详解与子应用适配
124
+ - [微前端模式](../../apps/layout/docs/feature-微前端模式.md) - qiankun 架构说明
125
+
@@ -0,0 +1,78 @@
1
+ // ==================== Arco Design 变量覆盖 ====================
2
+ // 将 custom-var.less 中定义的 brand1-x 变量覆盖到 Arco Design 的 primary 和 link 变量
3
+ // 参考文档:https://arco.design/react/docs/token
4
+ //
5
+ // 注意:使用属性选择器提高优先级(特异性 0,1,1 > Arco 的 0,0,1)
6
+ // 确保覆盖 arco.css 中的默认蓝色主题变量
7
+ // body:not([arco-theme]) 匹配亮色主题,body[arco-theme='dark'] 匹配暗色主题
8
+
9
+ body:not([arco-theme]),
10
+ body[arco-theme='dark'] {
11
+ // ==================== Primary 颜色覆盖 ====================
12
+ // 将 Brand1-x 映射到 primary-x,使用 CSS 变量引用(RGB 三分量格式)
13
+ --primary-1: var(--Brand1-1, 242 235 255);
14
+ --primary-2: var(--Brand1-2, 220 198 255);
15
+ --primary-3: var(--Brand1-3, 195 163 255);
16
+ --primary-4: var(--Brand1-4, 169 129 255);
17
+ --primary-5: var(--Brand1-5, 140 94 255);
18
+ --primary-6: var(--Brand1-6, 110 60 255);
19
+ --primary-7: var(--Brand1-7, 75 37 210);
20
+
21
+ // ==================== Link 颜色覆盖 ====================
22
+ // 将 Brand1-x 映射到 link-x,使用 CSS 变量引用(RGB 三分量格式)
23
+ --link-1: var(--Brand1-1, 242 235 255);
24
+ --link-2: var(--Brand1-2, 220 198 255);
25
+ --link-3: var(--Brand1-3, 195 163 255);
26
+ --link-4: var(--Brand1-4, 169 129 255);
27
+ --link-5: var(--Brand1-5, 140 94 255);
28
+ --link-6: var(--Brand1-6, 110 60 255);
29
+ --link-7: var(--Brand1-7, 75 37 210);
30
+
31
+ // ==================== Success 颜色覆盖 ====================
32
+ // 将 Success-x 映射到 success-x,使用 CSS 变量引用(RGB 三分量格式)
33
+ --success-1: var(--Success-1, 232 255 234);
34
+ --success-2: var(--Success-2, 175 240 181);
35
+ --success-3: var(--Success-3, 123 225 136);
36
+ --success-5: var(--Success-5, 35 195 67);
37
+ --success-6: var(--Success-6, 0 180 42);
38
+ --success-7: var(--Success-7, 0 154 41);
39
+
40
+ // ==================== Warning 颜色覆盖 ====================
41
+ // 将 Warning-x 映射到 warning-x,使用 CSS 变量引用(RGB 三分量格式)
42
+ --warning-1: var(--Warning-1, 255 247 232);
43
+ --warning-2: var(--Warning-2, 255 228 186);
44
+ --warning-3: var(--Warning-3, 255 207 139);
45
+ --warning-5: var(--Warning-5, 255 154 46);
46
+ --warning-6: var(--Warning-6, 255 125 0);
47
+ --warning-7: var(--Warning-7, 255 154 46);
48
+
49
+ // ==================== Danger 颜色覆盖 ====================
50
+ // 将 Danger-x 映射到 danger-x,使用 CSS 变量引用(RGB 三分量格式)
51
+ --danger-1: var(--Danger-1, 255 236 232);
52
+ --danger-2: var(--Danger-2, 253 205 197);
53
+ --danger-3: var(--Danger-3, 251 172 163);
54
+ --danger-5: var(--Danger-5, 247 101 96);
55
+ --danger-6: var(--Danger-6, 245 63 63);
56
+ --danger-7: var(--Danger-7, 203 38 52);
57
+
58
+ // ==================== Border radius ====================
59
+ // 全部圆角都设置为8px
60
+ --border-radius-small: 8px;
61
+ --border-radius-medium: 8px;
62
+ --border-radius-large: 8px;
63
+ --color-bg-1: var(--color-text-5);
64
+ --color-bg-2: var(--color-text-5);
65
+ --color-bg-3: var(--color-text-5);
66
+ --color-bg-4: var(--color-text-5);
67
+ --color-bg-5: var(--color-text-5);
68
+ --color-neutral-1: var(--color-fill-1);
69
+ --color-neutral-2: var(--color-fill-2);
70
+ --color-neutral-3: var(--color-fill-3);
71
+ --color-neutral-4: var(--color-fill-4);
72
+ --color-neutral-5: var(--color-fill-5);
73
+ }
74
+
75
+ .arco-drawer .arco-drawer-close-icon,
76
+ .arco-modal .arco-modal-close-icon {
77
+ font-size: 16px;
78
+ }
@@ -0,0 +1,14 @@
1
+ // ==================== 共享样式入口 ====================
2
+ // 此文件作为 <%= packageScope %>/shared-styles 包的入口
3
+ // 导入此文件即可获取所有主题变量和 Less 变量
4
+
5
+ // 导入主题 CSS 变量(亮色 + 暗黑)
6
+ @import './themes/normal/custom-var.less';
7
+ @import './themes/dark/custom-var.less';
8
+
9
+ // 导入 Arco Design 变量覆盖
10
+ @import './arco-override.less';
11
+
12
+ // 导入 Less 变量定义
13
+ @import './variables.less';
14
+
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "<%= packageScope %>/shared-styles",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "description": "共享样式 - 主题变量、CSS Variables、Less 变量",
6
+ "main": "index.less",
7
+ "exports": {
8
+ ".": "./index.less",
9
+ "./variables": "./variables.less",
10
+ "./variables-only": "./variables-only.less",
11
+ "./theme-inject": "./theme-inject.less",
12
+ "./themes/normal": "./themes/normal/custom-var.less",
13
+ "./themes/dark": "./themes/dark/custom-var.less"
14
+ },
15
+ "files": [
16
+ "themes/",
17
+ "*.less"
18
+ ],
19
+ "keywords": [
20
+ "theme",
21
+ "styles",
22
+ "less",
23
+ "css-variables"
24
+ ],
25
+ "author": "<%= author %>"
26
+ }
27
+
@@ -0,0 +1,10 @@
1
+ // ==================== 主题注入文件 ====================
2
+ // 仅用于子应用独立运行时注入主题 CSS 变量
3
+ // 作为微前端子应用运行时,不需要导入此文件(主应用已注入)
4
+ //
5
+ // 使用场景:子应用独立 dev 预览
6
+
7
+ @import './themes/normal/custom-var.less';
8
+ @import './themes/dark/custom-var.less';
9
+ @import './arco-override.less';
10
+
@@ -0,0 +1,246 @@
1
+ // ==================== CSS 自定义变量定义 - 暗黑主题 ====================
2
+ // 所有颜色变量都定义为 CSS 自定义变量,支持运行时动态修改
3
+ // 使用方式:在 Less 中使用 var(--variable-name) 引用
4
+ // 使用双属性选择器提高优先级,确保覆盖 Arco Design 的暗黑主题变量
5
+ // 特异性 0,2,1 > Arco 的 0,1,1
6
+ body[data-theme='dark'],
7
+ body[data-theme='dark'][arco-theme='dark'] {
8
+ // ==================== brand color ====================
9
+ --Brand1-1: 36 20 88; // 浅色/白底悬浮 #241458
10
+ --Brand1-2: 49 8 121; // 文字禁用 #310879
11
+ --Brand1-3: 67 24 166; // 一般禁用 #4318A6
12
+ --Brand1-4: 83 47 210; // 特殊场景 #532FD2
13
+ --Brand1-5: 140 94 255; // 悬浮 #8C5EFF
14
+ --Brand1-6: 110 60 255; // 常规 #6E3CFF
15
+ --Brand1-7: 75 37 210; // 点击 #4B25D2
16
+
17
+ // ==================== brand2 color ====================
18
+ --Brand2-1: 232 248 255; // 浅色/白底悬浮 #E8F8FF
19
+ --Brand2-2: 5 53 121; // 文字禁用 #053579
20
+ --Brand2-3: 16 83 166; // 一般禁用 #1053A6
21
+ --Brand2-4: 30 117 210; // 特殊场景 #1E75D2
22
+ --Brand2-5: 49 156 255; // 悬浮 #319CFF
23
+ --Brand2-6: 24 144 255; // 常规 #1890ff
24
+ --Brand2-7: 106 192 255; // 点击 #6AC0FF
25
+
26
+ // ==================== neutral color ====================
27
+ // 边框颜色
28
+ --color-border-1: rgb(49 52 63); // 浅 #31343F
29
+ --color-border-2: rgb(66 69 82); // 一般 #424552
30
+ --color-border-3: rgb(207 211 220); // 深/悬浮 #CFD3DC
31
+ --color-border-4: rgb(235 242 255); // 重/按钮描边 #EBF2FF
32
+ --line-1: var(--color-border-1);
33
+ --line-2: var(--color-border-2);
34
+ --line-3: var(--color-border-3);
35
+ --line-4: var(--color-border-4);
36
+
37
+ // 填充颜色
38
+ --color-fill-1: rgb(33 38 51); // 浅/禁用 #212633
39
+ --color-fill-2: rgb(39 45 54); // 一般/常规/白底悬浮 #272D36
40
+ --color-fill-3: rgb(163 169 175); // 深/灰底悬浮 #A3A9AF
41
+ --color-fill-4: rgb(202 208 215); // 重/特殊场景 #CAD0D7
42
+ --color-fill-5: rgb(242 249 255); // 强调/图标/特殊场景 #F2F9FF
43
+
44
+ // 文字颜色
45
+ --color-text-1: rgb(255 255 255); // 强调/正文标题 #FFFFFF
46
+ --color-text-2: rgb(191 196 212); // 次强调/正文标题 #BFC4D4
47
+ --color-text-3: rgb(149 152 169); // 次要信息 #9598A9
48
+ --color-text-4: rgb(108 110 125); // 置灰信息 #6C6E7D
49
+ --color-text-5: rgb(26 27 39); // 纯白文字 #1AB27
50
+
51
+ // ==================== functional color ====================
52
+ // 成功色 (Success/Green)
53
+ --Success-1: 0 77 28; // 浅色背景 #004D1C
54
+ --Success-2: 4 102 37; // 特殊场景 #046625
55
+ --Success-3: 10 128 45; // 禁用 #0A802D
56
+ --Success-5: 29 180 64; // 悬浮 #1DB440
57
+ --Success-6: 39 195 70; // 常规 #27C346
58
+ --Success-7: 80 210 102; // 点击 #50D266
59
+
60
+ // 警告色 (Warning/Orange)
61
+ --Warning-1: 77 27 0; // 浅色背景 #4D1B00
62
+ --Warning-2: 121 48 4; // 特殊场景 #793004
63
+ --Warning-3: 166 75 10; // 禁用 #A64B0A
64
+ --Warning-5: 255 141 31; // 悬浮 #FF8D1F
65
+ --Warning-6: 255 150 38; // 常规 #FF9626
66
+ --Warning-7: 255 150 38; // 点击 #FF9626
67
+
68
+ // 危险色 (Danger/Red)
69
+ --Danger-1: 77 0 10; // 浅色背景 #4D000A
70
+ --Danger-2: 119 6 17; // 特殊场景 #770611
71
+ --Danger-3: 161 22 31; // 禁用 #A1161F
72
+ --Danger-5: 245 78 78; // 悬浮 #F54E4E
73
+ --Danger-6: 247 105 101; // 常规 #F76965
74
+ --Danger-7: 249 141 134; // 点击 #F98D86
75
+
76
+ // ==================== other color ====================
77
+ // 其他系统色 / 辅助色 (System Success / Auxiliary Color)
78
+ // 青色 (Cyan)
79
+ --cyan-1: 0 66 77; // 浅色背景 #00424D
80
+ --cyan-2: 6 102 112; // 特殊场景 #066670
81
+ --cyan-3: 19 140 148; // 禁用 #138C94
82
+ --cyan-5: 59 220 220; // 悬浮 #3BDCDC
83
+ --cyan-6: 76 227 222; // 常规 #4CE3DE
84
+ --cyan-7: 114 234 226; // 点击 #72EAE2
85
+
86
+ // 晚秋红 (Orange Red)
87
+ --Orange-Red-1: 77 14 0; // 浅色背景 #4D0E00
88
+ --Orange-Red-2: 119 30 5; // 特殊场景 #771E05
89
+ --Orange-Red-3: 162 55 20; // 禁用 #A23714
90
+ --Orange-Red-5: 247 126 69; // 悬浮 #F77E45
91
+ --Orange-Red-6: 249 146 90; // 常规 #F9925A
92
+ --Orange-Red-7: 250 173 125; // 点击 #FAAD7D
93
+
94
+ // 黄昏 (Gold)
95
+ --Gold-1: 77 45 0; // 浅色背景 #4D2D00
96
+ --Gold-2: 119 75 4; // 特殊场景 #774B04
97
+ --Gold-3: 162 111 15; // 禁用 #A26F0F
98
+ --Gold-5: 247 192 52; // 悬浮 #F7C034
99
+ --Gold-6: 249 204 68; // 常规 #F9CC44
100
+ --Gold-7: 250 220 108; // 点击 #FADC6C
101
+
102
+ // 海蔚蓝 (Blue)
103
+ --Blue-1: 0 26 77; // 浅色背景 #001A4D
104
+ --Blue-2: 5 47 120; // 特殊场景 #052F78
105
+ --Blue-3: 19 76 163; // 禁用 #134CA3
106
+ --Blue-5: 70 154 250; // 悬浮 #469AFA
107
+ --Blue-6: 90 170 251; // 常规 #5AAAFB
108
+ --Blue-7: 125 193 252; // 点击 #7DC1FC
109
+
110
+ // 深蓝 (Dark Blue)
111
+ --Dark-Blue-1: 0 10 77; // 浅色背景 #000A4D
112
+ --Dark-Blue-2: 4 21 105; // 特殊场景 #041569
113
+ --Dark-Blue-3: 14 38 133; // 禁用 #0E2685
114
+ --Dark-Blue-5: 42 82 190; // 悬浮 #2A52BE
115
+ --Dark-Blue-6: 57 101 203; // 常规 #3965CB
116
+ --Dark-Blue-7: 95 136 216; // 点击 #5F88D8
117
+
118
+ // 黄色 (Yellow)
119
+ --Yellow-1: 77 56 0; // 浅色背景 #4D3800
120
+ --Yellow-2: 120 94 7; // 特殊场景 #785E07
121
+ --Yellow-3: 163 134 20; // 禁用 #A38614
122
+ --Yellow-5: 250 225 60; // 悬浮 #FAE13C
123
+ --Yellow-6: 251 233 75; // 常规 #FBE94B
124
+ --Yellow-7: 252 243 116; // 点击 #FCF374
125
+
126
+ // 新生绿 (Lime)
127
+ --Lime-1: 44 77 0; // 浅色背景 #2A4D00
128
+ --Lime-2: 68 112 6; // 特殊场景 #447006
129
+ --Lime-3: 98 148 18; // 禁用 #629412
130
+ --Lime-5: 181 226 65; // 悬浮 #B5E241
131
+ --Lime-6: 159 219 29; // 常规 #9FDB1D
132
+ --Lime-7: 126 183 18; // 点击 #7EB712
133
+
134
+ // 青春紫 (Pink Purple)
135
+ --Pink-Purple-1: 66 0 77; // 浅色背景 #42004D
136
+ --Pink-Purple-2: 101 3 112; // 特殊场景 #650370
137
+ --Pink-Purple-3: 138 13 147; // 禁用 #8A0D93
138
+ --Pink-Purple-5: 217 46 217; // 悬浮 #D92ED9
139
+ --Pink-Purple-6: 225 61 219; // 常规 #E13DDB
140
+ --Pink-Purple-7: 232 102 223; // 点击 #E866DF
141
+
142
+ // 品红 (Magenta)
143
+ --Magenta-1: 77 0 52; // 浅色背景 #4D0034
144
+ --Magenta-2: 119 8 80; // 特殊场景 #770850
145
+ --Magenta-3: 161 23 108; // 禁用 #A1176C
146
+ --Magenta-5: 245 69 166; // 悬浮 #F545A6
147
+ --Magenta-6: 247 86 169; // 常规 #F756A9
148
+ --Magenta-7: 249 122 184; // 点击 #F97AB8
149
+
150
+ // ==================== 品牌色 (Brand Colors) ====================
151
+ // Dramabite
152
+ --Dramabite: 66 215 82; // 常规 #42D952
153
+ --Dramabite-1: 0 77 20; // 浅色背景 #004D14
154
+ --Dramabite-2: 3 109 28; // 文字禁用 #036D1C
155
+ --Dramabite-3: 14 142 39; // 一般禁用 #0E8E27
156
+ --Dramabite-4: 29 174 53; // 特殊场景 #1DAE35
157
+ --Dramabite-5: 49 207 71; // 悬浮 #31CF47
158
+ --Dramabite-6: 66 215 82; // 常规 #42D952
159
+ --Dramabite-7: 105 226 113; // 点击 #69E271
160
+
161
+ // Soulstar
162
+ --Soulstar: 192 119 255; // 常规 #C077FF
163
+ --Soulstar-1: 28 0 77; // 浅色背景 #1C004D
164
+ --Soulstar-2: 53 8 121; // 文字禁用 #350879
165
+ --Soulstar-3: 88 28 166; // 一般禁用 #581CA6
166
+ --Soulstar-4: 128 56 210; // 特殊场景 #8038D2
167
+ --Soulstar-5: 174 94 255; // 悬浮 #AE5EFF
168
+ --Soulstar-6: 192 119 255; // 常规 #C077FF
169
+ --Soulstar-7: 210 150 255; // 点击 #D296FF
170
+
171
+ // Mico
172
+ --Mico: 143 98 255; // 常规 #8F62FF
173
+ --Mico-1: 9 0 77; // 浅色背景 #09004D
174
+ --Mico-2: 25 8 121; // 文字禁用 #190879
175
+ --Mico-3: 49 24 166; // 一般禁用 #3118A6
176
+ --Mico-4: 83 47 210; // 特殊场景 #532FD2
177
+ --Mico-5: 123 78 255; // 悬浮 #7B4EFF
178
+ --Mico-6: 143 98 255; // 常规 #8F62FF
179
+ --Mico-7: 172 134 255; // 点击 #AC86FF
180
+
181
+ // Somatch
182
+ --Somatch: 68 235 246; // 常规 #44EBF6
183
+ --Somatch-1: 0 59 77; // 浅色背景 #003B4D
184
+ --Somatch-2: 4 95 118; // 文字禁用 #045F76
185
+ --Somatch-3: 16 137 160; // 一般禁用 #1089A0
186
+ --Somatch-4: 32 180 202; // 特殊场景 #20B4CA
187
+ --Somatch-5: 53 226 244; // 悬浮 #35E2F4
188
+ --Somatch-6: 68 235 246; // 常规 #44EBF6
189
+ --Somatch-7: 109 244 248; // 点击 #6DF4F8
190
+
191
+ // Sugo
192
+ --Sugo: 135 98 255; // 常规 #8762FF
193
+ --Sugo-1: 5 0 77; // 浅色背景 #05004D
194
+ --Sugo-2: 20 8 121; // 文字禁用 #140879
195
+ --Sugo-3: 43 24 166; // 一般禁用 #2B18A6
196
+ --Sugo-4: 75 47 210; // 特殊场景 #4B2FD2
197
+ --Sugo-5: 114 78 255; // 悬浮 #724EFF
198
+ --Sugo-6: 135 98 255; // 常规 #8762FF
199
+ --Sugo-7: 166 134 255; // 点击 #A686FF
200
+
201
+ // Top Top
202
+ --Toptop: 66 227 205; // 常规 #42E3CD
203
+ --Toptop-1: 0 74 77; // 浅色背景 #004A4D
204
+ --Toptop-2: 6 112 112; // 文字禁用 #067070
205
+ --Toptop-3: 16 148 144; // 一般禁用 #109490
206
+ --Toptop-4: 31 184 174; // 特殊场景 #1FB8AE
207
+ --Toptop-5: 51 220 203; // 悬浮 #33DCCB
208
+ --Toptop-6: 66 227 205; // 常规 #42E3CD
209
+ --Toptop-7: 106 234 212; // 点击 #6AEAD4
210
+
211
+ // Xena
212
+ --Xena: 38 140 255; // 常规 #268CFF
213
+ --Xena-1: 0 23 77; // 浅色背景 #00174D
214
+ --Xena-2: 4 42 121; // 文字禁用 #042A79
215
+ --Xena-3: 10 67 166; // 一般禁用 #0A43A6
216
+ --Xena-4: 19 95 210; // 特殊场景 #135FD2
217
+ --Xena-5: 31 127 255; // 悬浮 #1F7FFF
218
+ --Xena-6: 38 140 255; // 常规 #268CFF
219
+ --Xena-7: 87 171 255; // 点击 #57ABFF
220
+
221
+ // Yoho
222
+ --Yoho: 42 211 87; // 常规 #2AD357
223
+ --Yoho-1: 0 77 33; // 浅色背景 #004D21
224
+ --Yoho-2: 4 107 46; // 文字禁用 #046B2E
225
+ --Yoho-3: 11 138 58; // 一般禁用 #0B8A3A
226
+ --Yoho-4: 20 169 70; // 特殊场景 #14A946
227
+ --Yoho-5: 32 200 82; // 悬浮 #20C852
228
+ --Yoho-6: 42 211 87; // 常规 #2AD357
229
+ --Yoho-7: 84 222 117; // 点击 #54DE75
230
+
231
+ // Zili
232
+ --Zili: 47 138 250; // 常规 #2F8AFA
233
+ --Zili-1: 0 22 77; // 浅色背景 #00164D
234
+ --Zili-2: 3 40 120; // 文字禁用 #032878
235
+ --Zili-3: 11 64 163; // 一般禁用 #0B40A3
236
+ --Zili-4: 22 92 206; // 特殊场景 #165CCE
237
+ --Zili-5: 36 126 249; // 悬浮 #247EF9
238
+ --Zili-6: 47 138 250; // 常规 #2F8AFA
239
+ --Zili-7: 94 171 251; // 点击 #5EABFB
240
+
241
+ // WhatsApp
242
+ --Whatsapp: 82 220 130; // 常规 #52DC82
243
+ --Whatsapp-1: 0 77 40; // 浅色背景 #004D28
244
+ --Whatsapp-2: 6 110 56; // 文字禁用 #066E38
245
+ --Whatsapp-6: 82 220 130; // 常规 #52DC82
246
+ }