|
|
há 8 horas atrás | |
|---|---|---|
| .claude | há 2 semanas atrás | |
| .vscode | há 2 semanas atrás | |
| cloud | há 23 horas atrás | |
| docs | há 8 horas atrás | |
| image | há 1 dia atrás | |
| prototypes | há 3 dias atrás | |
| public | há 2 semanas atrás | |
| resource-app | há 2 semanas atrás | |
| rules | há 2 semanas atrás | |
| scripts | há 8 horas atrás | |
| src | há 8 horas atrás | |
| stages | há 2 semanas atrás | |
| templates | há 2 semanas atrás | |
| ui-kit | há 2 semanas atrás | |
| .editorconfig | há 2 semanas atrás | |
| .gitignore | há 8 horas atrás | |
| CLAUDE.md | há 2 semanas atrás | |
| README.md | há 8 horas atrás | |
| angular.json | há 8 horas atrás | |
| package-lock.json | há 2 semanas atrás | |
| package.json | há 8 horas atrás | |
| pnpm-lock.yaml | há 1 dia atrás | |
| pnpm-workspace.yaml | há 1 dia atrás | |
| postcss.config.json | há 2 semanas atrás | |
| tailwind.config.js | há 2 semanas atrás | |
| tsconfig.app.json | há 8 horas atrás | |
| tsconfig.json | há 2 semanas atrás | |
| tsconfig.spec.json | há 2 semanas atrás | |
| 规范包-CHANGELOG.md | há 2 semanas atrás | |
| 阶段意图与技能规则速查.md | há 2 semanas atrás | |
| 阶段视图切换指南.md | há 2 semanas atrás |
Fmode 双端 IM 中枢:桌面横版工作台(/desktop/**)+ 手机竖版(/mobile/**)。
Angular 20 standalone SPA,无自建后端 —— 数据全部经 fmode 平台云函数 + Matrix。
| 命令 | 构建配置 | 数据源 | 用途 |
|---|---|---|---|
npm start |
development | 真实后端 | 日常开发(http://localhost:4200) |
npm run start:local |
local | 真实后端(environment.local.ts) |
指向测试/预发环境联调 |
npm run start:mock |
mock | 演示数据 | 无后端时走 UI / 看设计 |
npm run build |
production | 真实后端 | 部署用 |
npm run build:mock |
mock-production | 演示数据 | 冒烟测试、演示包 |
npm test |
— | — | 单测(Karma + Jasmine) |
npm run smoke |
— | — | 双端全路由冒烟(需先 npm run build:mock) |
npm run verify:ui |
— | — | UI 规范断言 |
npm run deploy |
production | 真实后端 | 构建 + 上传 OBS + 刷新 CDN |
后端地址只有一个真源:src/environments/environment.base.ts。
各环境文件继承它,只覆盖自己需要的字段。
environment.local.example.ts → environment.local.ts 改地址,跑 npm run start:local。
该文件不入库(.gitignore)。environment.base.ts,否则所有人一起变。数据源开关 useMockData 是唯一的数据层分支:true = MockApi,false = ParseApi。
npm start / npm run build 恒为 false;演示态只能通过 mock 系列配置进入。
前置条件(只需一次):
# obsutil:https://support.huaweicloud.com/utiltg-obs/obs_11_0003.html
# hcloud :https://support.huaweicloud.com/utiltg-hcloudcli/hcloudcli_01_0002.html
obsutil config -i=<AK> -k=<SK> -e=obs.cn-south-1.myhuaweicloud.com
hcloud configure set --cli-profile=default --cli-access-key=<AK> --cli-secret-key=<SK>
凭据只存本机 CLI 配置,不进仓库、不进脚本。
npm run deploy # 完整流程
node scripts/deploy.mjs --skip-build # 复用已有 dist
node scripts/deploy.mjs --dry-run # 只打印动作
流程:构建 → 产物自检(拦截演示包/空产物)→ sync 到 OBS → 设 public-read → 刷新 CDN → 探活。
⚠️ OBS 静态托管的 SPA 深链(直接访问
/desktop/chat)需要在桶的静态网站配置 里把错误文档设为index.html;否则刷新深链会 404。这一项在华为云控制台配置,代码侧无法替代。
src/app/
core/ 共享服务(数据访问、Matrix、会话、路由守卫…)
components/ 业务外壳组件(会话树、消息气泡、预览…)
ui/ ui-kit 官方组件底座(整目录接入,禁改业务无关代码)
desktop/ 桌面端 shell + pages
mobile/ 移动端 shell + pages
pages/ 双端共用页面(入口、登录)
src/environments/ 环境配置(base 为地址真源)
scripts/ 构建/校验/冒烟/部署脚本
production 的 500 kB(原始体积)警告线,属已知、不阻塞。fetchTasks / fetchTaskDetail 云函数接收端未实现,前端显式抛错。tasks[] 多任务字段在存量系统中从未落库。已安装并配置(仅本机,不入库):
| 工具 | 路径 | 配置 |
|---|---|---|
| obsutil 5.8.9 | %USERPROFILE%\tools\obsutil\obsutil_windows_amd64_5.8.9 |
%USERPROFILE%\.obsutilconfig |
| hcloud (KooCLI) | %USERPROFILE%\tools\hcloud |
profile default,含 cli-domain-id |
两者均已加入用户 PATH,新开终端直接可用。