|
1 | 1 | # EaseCation Open User Center |
2 | 2 |
|
3 | | -欢迎来到 `EaseCation Open User Center`,这是 EaseCation 用户中心的开源仓库,也是我们第一个正式公开的 Web 平台项目。过去我们陆续开源过一些服务器内部项目,而这一次,我们想把更贴近社区日常使用体验的一部分真正交到大家手里。 |
| 3 | +欢迎来到 `EaseCation Open User Center`。这是 EaseCation 用户中心的开源仓库,也是我们第一个正式公开的 Web 平台项目。 |
4 | 4 |
|
5 | | -一直以来,我们都希望能为 MC 社区提供一个稳定、易用、高鲁棒性的现代化工单平台,也希望给热心玩家和开发者一个可以一起参与共建的入口。所以现在,这个前端项目正式向社区开放。无论你是来提建议、报 Bug,还是直接提交代码,我们都欢迎。 |
| 5 | +过去我们陆续开源过一些服务器内部项目,而这一次,我们想把更贴近社区日常使用体验的一部分真正交到大家手里。 |
6 | 6 |
|
7 | | -## 当前开源范围 |
| 7 | +我们希望能为 MC 社区提供一个稳定、易用的现代化工单平台,也给热心玩家和开发者一个可以一起参与共建的入口。这个仓库聚焦的,就是登录、账号绑定、工单处理、后台运营和本地联调支持这些用户中心核心能力。 |
8 | 8 |
|
9 | | -目前仓库开放的内容包括: |
| 9 | +## 项目概览 |
| 10 | + |
| 11 | +EaseCation 用户中心目前由以下几个部分组成: |
| 12 | + |
| 13 | +| 模块 | 说明 | |
| 14 | +| --- | --- | |
| 15 | +| `frontend-user` | 面向玩家和普通用户的前台,负责登录、绑定账号、提交工单、查看处理进度等流程。 | |
| 16 | +| `frontend-admin` | 面向客服、审核和管理人员的后台,负责工单分配、处理、回复、追踪和基础运营操作。 | |
| 17 | +| `frontend-common` | 前后台共享的环境配置、公共样式、上下文、Hook 和通用组件。 | |
| 18 | +| `shared` | 前端共用的类型、接口契约和共享逻辑。 | |
| 19 | +| `mock-backend` | 本地联调用的模拟后端,提供稳定、可预测的接口响应。 | |
| 20 | + |
| 21 | +系统覆盖的核心场景包括: |
| 22 | + |
| 23 | +- 玩家申诉、举报、建议反馈 |
| 24 | +- 账号绑定、WIKI 绑定、媒体相关申请 |
| 25 | +- 物品补发及其他人工服务流程 |
| 26 | +- 后台工单分配、状态流转、回复记录与基础运营操作 |
| 27 | + |
| 28 | +## 开源范围 |
| 29 | + |
| 30 | +当前仓库已开放: |
10 | 31 |
|
11 | 32 | - `frontend-user` |
12 | 33 | - `frontend-admin` |
13 | 34 | - `frontend-common` |
14 | 35 | - `shared` |
15 | 36 | - `mock-backend` |
16 | 37 |
|
17 | | -暂不包含: |
| 38 | +当前暂未开放: |
18 | 39 |
|
19 | 40 | - 生产后端 |
20 | 41 | - 数据库迁移 |
21 | 42 | - 部署密钥 |
22 | 43 | - 私有基础设施配置 |
23 | 44 |
|
24 | | -现有后端逻辑还和 EC 的其他 Web 服务存在较强耦合。为了让未来公开出去的代码更清晰、更稳定、也更便于大家理解和参与,我们会先完成内部重构,再择机开放后端部分。 |
25 | | - |
26 | | -## 这是一个什么项目 |
| 45 | +现阶段后端逻辑仍与 EaseCation 的其他 Web 服务存在较强耦合。后续会在内部完成进一步重构,再择机开放更完整的后端实现。 |
27 | 46 |
|
28 | | -EaseCation用户中心大致可以分成三部分: |
| 47 | +## 环境要求 |
29 | 48 |
|
30 | | -- `frontend-user`:给玩家和普通用户使用的前台,用来登录、绑定账号、发起工单、查看处理进度。 |
31 | | -- `frontend-admin`:给客服、审核人员和管理人员使用的后台,用来分配、处理、回复和追踪工单。 |
32 | | -- `mock-backend`:给开源仓本地联调用的模拟后端,用来提供稳定的演示数据和接口响应。 |
| 49 | +- Node.js `>= 18` |
| 50 | +- Corepack |
| 51 | +- Yarn `4.5.1` |
33 | 52 |
|
34 | | -这套系统覆盖的核心场景包括: |
| 53 | +建议先在本机启用 Corepack 并固定 Yarn 版本: |
35 | 54 |
|
36 | | -- 玩家申诉、举报、建议反馈 |
37 | | -- 账号绑定、WIKI 绑定、媒体相关申请 |
38 | | -- 物品补发、其他服务类人工处理流程 |
39 | | -- 后台工单分配、状态流转、回复记录与基础运营操作 |
| 55 | +```bash |
| 56 | +corepack enable |
| 57 | +corepack prepare yarn@4.5.1 --activate |
| 58 | +``` |
40 | 59 |
|
41 | 60 | ## 快速开始 |
42 | 61 |
|
| 62 | +### 1. 安装依赖 |
| 63 | + |
43 | 64 | ```bash |
44 | | -corepack enable |
45 | | -corepack prepare yarn@4.5.1 --activate |
46 | 65 | yarn install |
| 66 | +``` |
| 67 | + |
| 68 | +### 2. 初始化环境变量 |
| 69 | + |
| 70 | +```bash |
47 | 71 | cp frontend-common/.env.template frontend-common/.env |
| 72 | +cp frontend-admin/.env.template frontend-admin/.env |
48 | 73 | cp mock-backend/.env.template mock-backend/.env |
| 74 | +``` |
| 75 | + |
| 76 | +默认本地联调场景下,通常保持模板默认值即可。 |
| 77 | + |
| 78 | +### 3. 一键启动本地联调 |
| 79 | + |
| 80 | +```bash |
49 | 81 | yarn mock |
50 | 82 | ``` |
51 | 83 |
|
52 | | -启动后默认地址: |
| 84 | +默认访问地址: |
53 | 85 |
|
54 | | -- 用户端:`http://localhost:9001` |
55 | | -- 管理端:`http://localhost:9002` |
56 | | -- Mock 后端:`http://localhost:9000` |
| 86 | +| 服务 | 地址 | |
| 87 | +| --- | --- | |
| 88 | +| 用户端 | `http://localhost:9001` | |
| 89 | +| 管理端 | `http://localhost:9002` | |
| 90 | +| Mock 后端 | `http://localhost:9000` | |
57 | 91 |
|
58 | 92 | ## 常用命令 |
59 | 93 |
|
60 | | -- `yarn dev:user`:只启动用户前台,适合改玩家端页面时使用。 |
61 | | -- `yarn dev:admin`:只启动管理后台,适合改客服端或管理端页面时使用。 |
62 | | -- `yarn mock:backend`:只启动本地 mock 后端,提供前端联调所需接口。 |
63 | | -- `yarn mock`:一键启动共享包构建、mock 后端、用户前台和管理后台,适合第一次跑项目或完整联调。 |
64 | | -- `yarn check:i18n`:检查多语言文案和硬编码中文,避免新代码破坏现有国际化约定。 |
65 | | -- `yarn check:dark-mode-api`:检查暗色模式相关 API 使用是否符合当前约束。 |
66 | | -- `yarn quality:frontend`:运行前端质量检查,当前会串行执行 i18n 和 dark mode 两类校验。 |
67 | | -- `yarn check:secrets`:检查仓库里是否误提交敏感信息。 |
68 | | -- `yarn type-check`:对 `shared`、前台、后台和 mock 后端执行 TypeScript 类型检查。 |
69 | | -- `yarn test`:运行各工作区测试。 |
70 | | -- `yarn build`:构建共享包、用户前台和管理后台,用于验证生产构建是否通过。 |
| 94 | +### 开发相关 |
71 | 95 |
|
72 | | -## 协作说明 |
| 96 | +| 命令 | 说明 | |
| 97 | +| --- | --- | |
| 98 | +| `yarn mock` | 一键启动共享包构建、Mock 后端、用户前台和管理后台,适合首次运行或完整联调。 | |
| 99 | +| `yarn dev:user` | 仅启动用户前台。 | |
| 100 | +| `yarn dev:admin` | 仅启动管理后台。 | |
| 101 | +| `yarn mock:backend` | 仅启动本地 Mock 后端。 | |
73 | 102 |
|
74 | | -公开协作请优先在以下目录中提交修改: |
| 103 | +### 质量检查 |
| 104 | + |
| 105 | +| 命令 | 说明 | |
| 106 | +| --- | --- | |
| 107 | +| `yarn check:i18n` | 检查多语言文案与硬编码中文,避免破坏现有国际化约定。 | |
| 108 | +| `yarn check:dark-mode-api` | 检查暗色模式相关 API 的使用方式。 | |
| 109 | +| `yarn quality:frontend` | 串行执行前端质量检查。 | |
| 110 | +| `yarn check:secrets` | 检查仓库中是否误提交敏感信息。 | |
| 111 | + |
| 112 | +### 构建与验证 |
| 113 | + |
| 114 | +| 命令 | 说明 | |
| 115 | +| --- | --- | |
| 116 | +| `yarn type-check` | 对 `shared`、前台、后台和 Mock 后端执行 TypeScript 类型检查。 | |
| 117 | +| `yarn test` | 运行各工作区测试。 | |
| 118 | +| `yarn build` | 构建共享包、用户前台和管理后台,用于验证生产构建是否通过。 | |
| 119 | + |
| 120 | +## 协作约定 |
| 121 | + |
| 122 | +如果你希望参与公开协作,可以优先关注以下目录: |
75 | 123 |
|
76 | | -- 前端 API 合约定义在 `shared/` |
77 | | -- 本地联调默认依赖 `mock-backend/` |
78 | 124 | - `frontend-user/` |
79 | 125 | - `frontend-admin/` |
80 | 126 | - `frontend-common/` |
81 | 127 | - `shared/` |
82 | 128 | - `mock-backend/` |
83 | 129 |
|
| 130 | +补充说明: |
| 131 | + |
| 132 | +- 前端 API 契约和共享类型定义位于 `shared/` |
| 133 | +- 本地联调默认依赖 `mock-backend/` |
| 134 | +- 涉及公共逻辑时,优先复用 `frontend-common/` 中已有能力 |
| 135 | + |
| 136 | +欢迎通过 Issue、Discussion 或 Pull Request 参与改进。 |
| 137 | + |
84 | 138 | ## License |
85 | 139 |
|
86 | 140 | 本仓库采用 `GNU AGPL-3.0` 许可证开源。 |
87 | 141 |
|
88 | 142 | 如果你分发修改版本,或将修改后的版本作为网络服务对外提供使用,需要按照 `AGPL-3.0` 的要求继续公开对应源码。完整条款见根目录 [LICENSE](LICENSE)。 |
89 | 143 |
|
90 | | -## 贡献者 |
| 144 | +## Contributors |
91 | 145 |
|
92 | | -感谢以下贡献者参与了这个项目的开发: |
| 146 | +感谢所有参与项目建设、提出反馈和贡献代码的开发者与社区成员。 |
0 commit comments