create-tengits-app 1.0.7 → 1.1.1

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 (60) hide show
  1. package/README.md +293 -21
  2. package/bin/cli.js +266 -25
  3. package/bin/setup-ttos.js +492 -0
  4. package/package.json +12 -3
  5. package/packages/client/.env +14 -0
  6. package/packages/client/.env.pre +11 -0
  7. package/packages/client/.env.production +2 -0
  8. package/packages/client/.env.test +14 -0
  9. package/packages/client/README.lib.md +214 -0
  10. package/packages/client/README.md +3 -0
  11. package/packages/client/index.html +132 -0
  12. package/packages/client/package.json +38 -0
  13. package/packages/client/postcss.config.js +7 -0
  14. package/packages/client/rsbuild.config.ts +95 -0
  15. package/packages/client/src/AppNew.tsx +297 -0
  16. package/packages/client/src/components/MessageBellButton.tsx +148 -0
  17. package/packages/client/src/components/index.ts +1 -0
  18. package/packages/client/src/configSystemData.ts +25 -0
  19. package/packages/client/src/i18n.js +31 -0
  20. package/packages/client/src/index.jsx +13 -0
  21. package/packages/client/src/index.less +272 -0
  22. package/packages/client/src/menus.tsx +162 -0
  23. package/packages/client/src/pages/BIViewer/index.jsx +24 -0
  24. package/packages/client/src/pages/BIViewer/index.module.less +3 -0
  25. package/packages/client/src/pages/Example/index.tsx +102 -0
  26. package/packages/client/src/pages/ExcelViewer/index.module.less +3 -0
  27. package/packages/client/src/pages/ExcelViewer/index.tsx +29 -0
  28. package/packages/client/src/pages/Home/index.less +64 -0
  29. package/packages/client/src/pages/Home/index.tsx +149 -0
  30. package/packages/client/src/pages/Home/libs.ts +20 -0
  31. package/packages/client/src/pages/Home/top.tsx +85 -0
  32. package/packages/client/src/pages/Login/index.less +15 -0
  33. package/packages/client/src/pages/Login/index.tsx +166 -0
  34. package/packages/client/src/pages/LowEditorPreviewPage/index.tsx +18 -0
  35. package/packages/client/src/routes.tsx +250 -0
  36. package/packages/client/src/store.jsx +15 -0
  37. package/packages/client/src/types/client.d.ts +2 -0
  38. package/packages/client/src/utils/lazyLoad.tsx +65 -0
  39. package/packages/client/src/utils/request.js +11 -0
  40. package/packages/client/src/utils/uploadFileToCloud.js +65 -0
  41. package/packages/client/tailwind.config.js +34 -0
  42. package/packages/client/tsconfig.json +37 -0
  43. package/packages/docs/.prettierrc +4 -0
  44. package/packages/docs/README.md +22 -0
  45. package/packages/docs/index.html +12 -0
  46. package/packages/docs/package.json +31 -0
  47. package/packages/docs/pages/$.mdx +364 -0
  48. package/packages/docs/pages/_theme.tsx +42 -0
  49. package/packages/docs/pages/api/api$.md +100 -0
  50. package/packages/docs/pages/designs/designs$.md +307 -0
  51. package/packages/docs/pages/develop/develop$.md +867 -0
  52. package/packages/docs/pages/logs/logs$.md +629 -0
  53. package/packages/docs/pages/requirements/requirements$.md +1000 -0
  54. package/packages/docs/pages/test/test$.md +1058 -0
  55. package/packages/docs/pages/vite-env.d.ts +1 -0
  56. package/packages/docs/tsconfig.json +10 -0
  57. package/packages/docs/vite.config.ts +13 -0
  58. package/packages/main/.env +1 -1
  59. package/packages/main/dist/manifest.json +6 -6
  60. package/packages/main/package.json +39 -42
package/README.md CHANGED
@@ -22,6 +22,7 @@
22
22
  - 🔧 **开发工具** - ESLint、PostCSS 等完整工具链
23
23
  - 📦 **Monorepo** - 基于 pnpm workspace 的包管理
24
24
  - 🎯 **生产就绪** - 开箱即用的生产环境配置
25
+ - 🏢 **多项目支持** - 包含普通前端项目、文档管理系统和TTOS客户端项目
25
26
 
26
27
  ## 🚀 快速开始
27
28
 
@@ -92,51 +93,187 @@ pnpm create react-rsbuild-app
92
93
  ```
93
94
  my-awesome-project/
94
95
  ├── packages/
95
- └── main/ # 主应用包
96
+ ├── main/ # 普通前端项目
97
+ │ │ ├── src/
98
+ │ │ │ ├── components/ # 可复用组件
99
+ │ │ │ ├── pages/ # 页面组件
100
+ │ │ │ │ ├── Home/ # 首页
101
+ │ │ │ │ └── Login/ # 登录页
102
+ │ │ │ ├── styles/ # 样式文件
103
+ │ │ │ ├── types/ # TypeScript 类型定义
104
+ │ │ │ ├── utils/ # 工具函数
105
+ │ │ │ ├── App.tsx # 应用主组件
106
+ │ │ │ ├── index.jsx # 应用入口
107
+ │ │ │ ├── routes.tsx # 路由配置
108
+ │ │ │ └── menus.jsx # 菜单配置
109
+ │ │ ├── public/ # 静态资源
110
+ │ │ │ ├── locales/ # 国际化文件
111
+ │ │ │ └── ...
112
+ │ │ ├── package.json # 包配置文件
113
+ │ │ ├── rsbuild.config.ts # Rsbuild 配置
114
+ │ │ ├── tailwind.config.js # Tailwind 配置
115
+ │ │ └── tsconfig.json # TypeScript 配置
116
+ │ │
117
+ │ ├── docs/ # 产品全生命周期文档管理项目
118
+ │ │ ├── pages/ # 文档页面
119
+ │ │ │ ├── requirements/ # 需求文档
120
+ │ │ │ ├── designs/ # 设计文档
121
+ │ │ │ ├── api/ # 接口文档
122
+ │ │ │ ├── develop/ # 开发文档
123
+ │ │ │ ├── logs/ # 更改日志
124
+ │ │ │ └── test/ # 测试文档
125
+ │ │ ├── package.json # 文档项目配置
126
+ │ │ ├── vite.config.ts # Vite 配置
127
+ │ │ └── tsconfig.json # TypeScript 配置
128
+ │ │
129
+ │ └── client/ # TTOS客户端项目
96
130
  │ ├── src/
97
- │ │ ├── components/ # 可复用组件
98
- │ │ ├── pages/ # 页面组件
131
+ │ │ ├── components/ # 客户端组件
132
+ │ │ ├── pages/ # 客户端页面
99
133
  │ │ │ ├── Home/ # 首页
100
- │ │ │ └── Login/ # 登录页
101
- │ │ ├── styles/ # 样式文件
102
- │ │ ├── types/ # TypeScript 类型定义
134
+ │ │ │ ├── Login/ # 登录页
135
+ │ │ ├── BIViewer/ # BI查看器
136
+ │ │ ├── ExcelViewer/ # Excel查看器
137
+ │ │ │ └── Example/ # 示例页面
138
+ │ │ ├── types/ # 类型定义
103
139
  │ │ ├── utils/ # 工具函数
104
- │ │ ├── App.tsx # 应用主组件
140
+ │ │ ├── AppNew.tsx # 应用主组件
105
141
  │ │ ├── index.jsx # 应用入口
106
142
  │ │ ├── routes.tsx # 路由配置
107
- │ │ └── menus.jsx # 菜单配置
108
- ├── public/ # 静态资源
109
- ├── locales/ # 国际化文件
110
- │ │ └── ...
111
- │ ├── package.json # 包配置文件
143
+ │ │ ├── menus.tsx # 菜单配置(由租户端创建)
144
+ │ └── configSystemData.ts # 系统配置
145
+ │ ├── package.json # 客户端配置
112
146
  │ ├── rsbuild.config.ts # Rsbuild 配置
113
- │ ├── tailwind.config.js # Tailwind 配置
114
147
  │ └── tsconfig.json # TypeScript 配置
148
+
149
+ ├── bin/ # 脚本目录
150
+ │ ├── cli.js # 脚手架主脚本
151
+ │ └── setup-ttos.js # TTOS项目依赖安装脚本
115
152
  ├── pnpm-workspace.yaml # pnpm workspace 配置
116
153
  ├── package.json # 根包配置
117
154
  ├── eslint.config.mjs # ESLint 配置
118
155
  └── README.md # 项目说明
119
156
  ```
120
157
 
158
+ ## 🏗️ 项目说明
159
+
160
+ ### 📦 Main 项目 - 普通前端项目
161
+
162
+ **用途**:标准的 React 前端应用项目
163
+
164
+ **特点**:
165
+ - 基于 React 18 + Rsbuild + TypeScript
166
+ - 集成 Tailwind CSS + Ant Design
167
+ - 支持国际化(i18n)
168
+ - 响应式设计
169
+ - 完整的开发工具链
170
+
171
+ **适用场景**:
172
+ - 企业级前端应用开发
173
+ - 管理后台系统
174
+ - 用户界面应用
175
+
176
+ ### 📚 Docs 项目 - 产品全生命周期文档管理
177
+
178
+ **用途**:完整的产品文档管理系统
179
+
180
+ **特点**:
181
+ - 基于 Vite + React + MDX
182
+ - 支持 Markdown 和 MDX 格式
183
+ - 自动生成文档站点
184
+ - 响应式文档界面
185
+
186
+ **包含模块**:
187
+ - **需求文档**:PRD、用户故事、功能规格
188
+ - **设计文档**:UI设计稿、设计规范、组件说明
189
+ - **接口文档**:API规范、请求响应示例
190
+ - **开发文档**:环境搭建、代码规范、部署指南
191
+ - **更改日志**:版本变更记录
192
+ - **测试文档**:测试计划、用例、报告
193
+
194
+ **适用场景**:
195
+ - 项目文档管理
196
+ - 技术文档维护
197
+ - 团队协作文档
198
+
199
+ ### 🖥️ Client 项目 - TTOS客户端项目
200
+
201
+ **用途**:TTOS(腾路操作系统)客户端应用
202
+
203
+ **特点**:
204
+ - 必须安装TTOS项目依赖
205
+ - 根据接口服务地址显示不同客户端数据
206
+ - 客户端菜单由租户端创建
207
+ - 自定义开发只需在代码中配置路由
208
+
209
+ **核心功能**:
210
+ - 多租户支持
211
+ - 动态菜单配置
212
+ - 系统集成能力
213
+ - 可扩展的页面组件
214
+
215
+ **TTOS依赖项目**:
216
+ - **BI**:数据分析平台
217
+ - **Bisheng**:毕昇AI平台
218
+ - **liteFlow**:轻量级工作流引擎
219
+ - **saas**:SaaS服务平台
220
+ - **tuiLowCode**:TUI低代码平台
221
+
222
+ **适用场景**:
223
+ - 企业级客户端应用
224
+ - 多租户SaaS平台
225
+ - 集成多个子系统的统一客户端
226
+
121
227
  ## 🛠️ 可用脚本
122
228
 
123
229
  在项目目录中,你可以运行:
124
230
 
125
- ### pnpm
126
- 版本:9.15.9
231
+ ### 根目录脚本
127
232
 
128
233
  ### `pnpm start`
129
- 启动开发服务器,通常在 [http://localhost:3000](http://localhost:3000) 访问
234
+ 启动主项目开发服务器(packages/main)
130
235
 
131
236
  ### `pnpm build`
132
- 构建生产版本到 `dist` 目录
237
+ 构建主项目生产版本
133
238
 
134
239
  ### `pnpm preview`
135
- 预览生产构建版本
240
+ 预览主项目生产构建版本
136
241
 
137
242
  ### `pnpm doctor`
138
243
  检查项目配置和依赖
139
244
 
245
+ ### `pnpm setup-ttos`
246
+ 安装TTOS项目依赖(运行 bin/setup-ttos.js)
247
+
248
+ ### 各项目独立脚本
249
+
250
+ #### Main 项目
251
+ ```bash
252
+ cd packages/main
253
+ pnpm start # 启动开发服务器 (端口: 3013)
254
+ pnpm build # 构建生产版本
255
+ pnpm preview # 预览生产版本
256
+ ```
257
+
258
+ #### Docs 项目
259
+ ```bash
260
+ cd packages/docs
261
+ pnpm dev # 启动文档开发服务器
262
+ pnpm build # 构建文档站点
263
+ pnpm ssr # 服务端渲染构建
264
+ ```
265
+
266
+ #### Client 项目
267
+ ```bash
268
+ cd packages/client
269
+ pnpm start # 启动客户端开发服务器
270
+ pnpm start:test # 启动测试环境
271
+ pnpm start:pre # 启动预发布环境
272
+ pnpm build # 构建生产版本
273
+ pnpm build:test # 构建测试版本
274
+ pnpm build:pre # 构建预发布版本
275
+ ```
276
+
140
277
  ## 🎨 技术栈
141
278
 
142
279
  - **构建工具**: [Rsbuild](https://rsbuild.dev/) - 基于 Rspack 的高性能构建工具
@@ -186,6 +323,91 @@ module.exports = {
186
323
 
187
324
  编辑 `packages/main/tsconfig.json` 来调整 TypeScript 设置。
188
325
 
326
+ ## 🖥️ TTOS客户端项目使用指南
327
+
328
+ ### 安装TTOS依赖
329
+
330
+ 在开始使用Client项目之前,必须先安装TTOS项目依赖:
331
+
332
+ ```bash
333
+ # 在项目根目录执行
334
+ pnpm setup-ttos
335
+ ```
336
+
337
+ 这个命令会:
338
+ 1. 创建 `TTOS` 目录
339
+ 2. 克隆所有TTOS相关项目(BI、Bisheng、liteFlow、saas、tuiLowCode)
340
+ 3. 安装各项目的依赖
341
+ 4. 建立全局链接关系
342
+
343
+ ### 客户端配置
344
+
345
+ #### 1. 系统配置
346
+
347
+ 编辑 `packages/client/src/configSystemData.ts` 配置系统参数:
348
+
349
+ ```typescript
350
+ // 根据环境变量配置不同的服务地址
351
+ const {
352
+ REACT_APP_SYSTEM_ID,
353
+ REACT_APP_PRE_BETA,
354
+ // ... 其他环境变量
355
+ } = import.meta.env;
356
+
357
+ export default function configSystemData() {
358
+ window.systemId = REACT_APP_SYSTEM_ID;
359
+ // 配置系统数据...
360
+ }
361
+ ```
362
+
363
+ #### 2. 菜单配置
364
+
365
+ 客户端菜单由租户端创建,在 `packages/client/src/menus.tsx` 中配置:
366
+
367
+ ```typescript
368
+ // 菜单由后端接口动态获取
369
+ export async function getUserAndMenu({ cookie, tenantPara = {} }) {
370
+ // 获取用户信息和菜单数据
371
+ return await httpClient.post('/ttos/user/getUserInfo', {
372
+ applicationId: tenantPara.applicationId,
373
+ platformType: PlatformType.Client,
374
+ });
375
+ }
376
+ ```
377
+
378
+ #### 3. 路由配置
379
+
380
+ 自定义开发只需在 `packages/client/src/routes.tsx` 中配置路由:
381
+
382
+ ```typescript
383
+ // 添加新的页面路由
384
+ const routes = [
385
+ {
386
+ path: '/your-page',
387
+ component: YourPageComponent,
388
+ },
389
+ // ... 其他路由
390
+ ];
391
+ ```
392
+
393
+ ### 多环境支持
394
+
395
+ Client项目支持多环境配置:
396
+
397
+ - **开发环境**: `pnpm start`
398
+ - **测试环境**: `pnpm start:test`
399
+ - **预发布环境**: `pnpm start:pre`
400
+
401
+ ### 页面组件
402
+
403
+ Client项目包含以下页面组件:
404
+
405
+ - **Home**: 首页
406
+ - **Login**: 登录页
407
+ - **BIViewer**: BI数据查看器
408
+ - **ExcelViewer**: Excel文件查看器
409
+ - **Example**: 示例页面
410
+
189
411
  ## 🌍 国际化
190
412
 
191
413
  项目内置了完整的国际化支持:
@@ -202,16 +424,56 @@ module.exports = {
202
424
 
203
425
  ## 📦 部署
204
426
 
205
- ### 构建项目
427
+ ### 构建所有项目
206
428
  ```bash
429
+ # 构建主项目
207
430
  pnpm build
431
+
432
+ # 构建文档项目
433
+ cd packages/docs && pnpm build
434
+
435
+ # 构建客户端项目
436
+ cd packages/client && pnpm build
208
437
  ```
209
438
 
210
- ### 静态部署
439
+ ### 各项目部署
440
+
441
+ #### Main 项目部署
442
+ ```bash
443
+ cd packages/main
444
+ pnpm build
445
+ ```
211
446
  构建后的文件在 `packages/main/dist` 目录中,可以部署到任何静态文件服务器。
212
447
 
448
+ #### Docs 项目部署
449
+ ```bash
450
+ cd packages/docs
451
+ pnpm build
452
+ ```
453
+ 构建后的文档站点在 `packages/docs/dist` 目录中,可以部署到静态文件服务器或CDN。
454
+
455
+ #### Client 项目部署
456
+ ```bash
457
+ cd packages/client
458
+ # 根据环境选择构建命令
459
+ pnpm build # 生产环境
460
+ pnpm build:test # 测试环境
461
+ pnpm build:pre # 预发布环境
462
+ ```
463
+ 构建后的文件在 `packages/client/dist` 目录中。
464
+
213
465
  ### 环境配置
214
- 项目支持多环境配置:
466
+
467
+ #### Main 项目环境
468
+ - 开发环境: `pnpm start`
469
+ - 生产构建: `pnpm build`
470
+
471
+ #### Docs 项目环境
472
+ - 开发环境: `pnpm dev`
473
+ - 生产构建: `pnpm build`
474
+ - SSR构建: `pnpm ssr`
475
+
476
+ #### Client 项目环境
215
477
  - 开发环境: `pnpm start`
216
478
  - 测试环境: `pnpm start:test`
217
479
  - 预发布环境: `pnpm start:pre`
@@ -229,6 +491,16 @@ pnpm build
229
491
 
230
492
  ## 📝 更新日志
231
493
 
494
+ ### v1.1.1
495
+ - 🎉 多项目架构支持
496
+ - ✨ 新增 Docs 项目 - 产品全生命周期文档管理
497
+ - 🖥️ 新增 Client 项目 - TTOS客户端项目
498
+ - 🔧 新增 TTOS 依赖安装脚本
499
+ - 📚 完整的文档管理系统(需求、设计、接口、开发、测试、日志)
500
+ - 🏢 多租户客户端支持
501
+ - 🎯 动态菜单配置
502
+ - 🔗 系统集成能力
503
+
232
504
  ### v1.0.0
233
505
  - 🎉 初始版本发布
234
506
  - ✨ 支持 React 18 + Rsbuild