|
|
1 month ago | |
|---|---|---|
| .vscode | 1 month ago | |
| docs | 1 month ago | |
| public | 1 month ago | |
| scripts | 1 month ago | |
| src | 1 month ago | |
| .editorconfig | 1 month ago | |
| .gitignore | 1 month ago | |
| AGENTS.md | 1 month ago | |
| README.md | 1 month ago | |
| angular.json | 1 month ago | |
| design-qa.md | 1 month ago | |
| package-lock.json | 1 month ago | |
| package.json | 1 month ago | |
| proxy.conf.cjs | 1 month ago | |
| tsconfig.app.json | 1 month ago | |
| tsconfig.json | 1 month ago | |
| tsconfig.spec.json | 1 month ago |
这是从同级 xiaoshu-uniapp 迁移出的 Angular 18 Web/H5 项目。项目保留原有 95 条业务路由,并使用 Angular Router、Signals、HttpClient 与独立组件重新实现登录、学习、复习、测试、游戏、商城、支付、订单、团队、商户、表单与会员业务。
npm install
npm start -- --host 127.0.0.1 --port 4201
浏览器打开 http://127.0.0.1:4201/。开发服务器通过 proxy.conf.cjs 将 /backend 转发到线上 UniApp 当前使用的 https://test.fmode.cn/engxs,并将客服、NCloud 与 AI 请求转发到对应服务,避免本地 H5 调试时的跨域问题。
AI 阅读需要在启动进程中提供服务端环境变量,令牌不会进入浏览器构建产物:
FMODE_API_TOKEN="你的令牌" npm start -- --host 127.0.0.1 --port 4201
npm run build
npm run test:ci
生产文件输出到 dist/xiaoshu-angular/browser/。部署时需要把 Angular 路由回退到 index.html,并确认原后端允许生产域名跨域;也可以在 Web 服务器上继续反向代理 /backend。
pages.json 中 95/95 条路由已注册,路径保持不变。httpApi.* 外部业务调用,npm run parity:check 可检测源页面变化。user_sync2 依赖 uni-app/微信容器,H5 改用短信登录、账号密码登录与注册。returnUrl 并跳转登录页。uniapp.bytedesk.com 已停用原 /visitor/api/* 接口并改为返回微语官网 HTML,因此旧 UniApp 与迁移页目前都无法建立真实会话;页面会明确显示旧服务已停用。/api/rate/detail、/api/rate/do、/api/leavemsg/save 协议及 tid/wid/aid/type/invite 会话参数;旧 Bytedesk 服务停用时会显示真实错误。id 时禁止提交并提示从正确入口进入。xxqs 提取单词后进入 Angular 阅读设置、AI 文章生成、词汇补全、选择题、历史成绩和 PDF 导出页面,不再加载 app.fmode.cn iframe。/pages/iframe/index 保留参数兼容,原 params 中的单词列表与 NCloud 会话会被内部页面接收。/english:生词阅读入口可用,“外文源刊解析”和“智慧陪读陪练”继续按源代码显示“暂未开放”。涉及支付、短信、上传、写入和登录后数据的真实联调,需要有效测试账号及可用的后端业务数据。自动测试使用模拟会话和模拟 API,避免在验收中产生真实订单、短信或数据变更。
原排行榜动态调用的 ranklist_1 至 ranklist_5 在当前后端返回“接口不存在”,H5 保留原请求并显示空状态。
uniapp.bytedesk.com、upload.bytedesk.com 发送聊天内容和所选附件。当前匿名会话握手会因旧接口下线而中止,不会继续发送聊天或上传文件。server.xiaoshu.pro,并将单词列表、年级、题材、文章及提示词发送至 api.fmode.cn。AI 密钥与 Parse masterKey 只保留在服务端,不存放在前端源码或浏览器存储中。生产部署必须配置 /fmode-api 到 https://api.fmode.cn 的服务端反向代理并注入授权头,同时配置 /ncloud 到 https://server.xiaoshu.pro/parse;不要把 FMODE_API_TOKEN 或 Parse masterKey 写进 Angular 环境文件。
为避免扩大私有数据读取范围,迁移版在两处保留了比源仓库更严格的限制:答题记录始终限定当前用户,PDF 页面继续要求当前应用登录;源仓库中未带用户条件的历史查询和公开 PDF ID 读取没有照搬。H5 目标也不再执行原 iframe 中仅供 APP-PLUS 使用的 uni.postMessage PDF 回传。
恢复客服需要在新版微语后台取得新的 org、sid,并另行授权新版 H5 客服实际使用的域名;当前官方接入格式已不再使用旧版 subDomain、workGroupId。