Brak opisu

Huccct 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
.claude 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
.vscode 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
cloud c15494c0f2 feat(workspace): 工作区上云,新建 FmodeWorkspace 表 23 godzin temu
docs 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
image 4ed298b7c7 chore: 撤回 .gitignore 忽略规则,补齐此前未入库的文档与素材 1 dzień temu
prototypes 4a4e002edc feat(desktop): 左侧栏导航重构 + 会话区重做 + 预览/上传增强 3 dni temu
public 55a7c95952 initial commit 2 tygodni temu
resource-app d7f50e1f98 feat(acl): 判级对齐 v1 + 云函数 scope=company 兜底(同公司可见 + 缺 company 归己) 2 tygodni temu
rules 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
scripts 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
src 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
stages 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
templates 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
ui-kit 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
.editorconfig 55a7c95952 initial commit 2 tygodni temu
.gitignore 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
CLAUDE.md 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
README.md 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
angular.json 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
package-lock.json c3b168adbf feat: 接入真实数据源 + Matrix 消息链路 + 测试体系 + 权限与状态修复 2 tygodni temu
package.json 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
pnpm-lock.yaml 4ed298b7c7 chore: 撤回 .gitignore 忽略规则,补齐此前未入库的文档与素材 1 dzień temu
pnpm-workspace.yaml 4ed298b7c7 chore: 撤回 .gitignore 忽略规则,补齐此前未入库的文档与素材 1 dzień temu
postcss.config.json 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
tailwind.config.js 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
tsconfig.app.json 9352ae131a feat(deploy): 环境切换机制重构 + 生产部署链路 + 发布手册 8 godzin temu
tsconfig.json 55a7c95952 initial commit 2 tygodni temu
tsconfig.spec.json 55a7c95952 initial commit 2 tygodni temu
规范包-CHANGELOG.md 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
阶段意图与技能规则速查.md 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu
阶段视图切换指南.md 362a01151a feat: Fmode v2 双端客户端 — 工程底座与桌面端 UI 完成 2 tygodni temu

README.md

Fmode App v2 · 数字生命客户端

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/            构建/校验/冒烟/部署脚本

已知限制

  • 主包 gzip 约 146 kB,超出 production 的 500 kB(原始体积)警告线,属已知、不阻塞。
  • fetchTasks / fetchTaskDetail 云函数接收端未实现,前端显式抛错。
  • tasks[] 多任务字段在存量系统中从未落库。

本机 CLI 安装状态(2026-11-02)

已安装并配置(仅本机,不入库):

工具 路径 配置
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,新开终端直接可用。