# 2026-07-16 工作日志

## passport 分包化修复

用户把登录/注册相关页面放入 `passport` 分包（`src/app.config.ts` 的 subpackages）。

排查结论：
- 主包内所有跳转引用（`src/pages/**`、`src/utils/auth.ts`、`src/components/QRLoginScanner.tsx` 等）已全部使用 `/passport/xxx` 路径。分包化前后 URL 路径不变，引用代码无需修改。
- passport 内 10 个页面（login/forget/setting/agreement/sms-login/register/qr-login/qr-confirm/unified-qr/pay）均有 `.tsx` + `.config.ts`，`@` 别名指向 `src/`，移动目录不影响 import。

修复 `src/app.config.ts` 分包声明（与实际文件对齐）：
- 移除 `phone-auth/index`、`invite/index`、`webview/index`（文件不存在，且全局无任何跳转引用它们，会导致 Taro 编译报错）
- 补充 `register`（`src/passport/register.tsx` 存在但未声明）
- 统一引号风格、清理尾随逗号

## passport/pay 功能从 websopy-taro-bak 迁移

问题：`src/passport/pay/index.tsx` 失效，原因是当前项目基于 xinlong-shop 框架，`API_BASE_URL` 指向商城接口 `https://shop-api.websoft.top/api`，而 pay 页面需要访问 websopy 业务接口 `https://websopy-api.websoft.top/api` 的 `/app/subscription/*`。

迁移与修复：
- 确认 `src/passport/pay/` 与 `src/api/passport/wx-login/` 文件和备份项目一致，无需替换。
- 在 `config/env.js` 新增 `WEBSOPY_API_BASE_URL`。
- 在 `config/app.ts` 导出 `WebsopyBaseUrl`。
- 创建 `config/env.d.ts` 消除 `config/app.ts` 导入 `.js` 的隐式 any 类型错误。
- 增强 `src/utils/request.ts`：在 `RequestConfig` 增加 `baseUrl?: string`，`request`/`get`/`post` 等函数支持自定义 baseUrl，相对路径会自动拼接；完整 URL 保持不变。
- 修改 `src/passport/pay/index.tsx`：三个订阅接口请求均传入 `baseUrl: WebsopyBaseUrl`；修复 `tenantId` 类型（string -> number）和 `saveStorageByLoginUser` 的 user 类型断言。
- 运行 `npx taro build --type weapp` 构建成功；dist 中 `passport/pay` 文件生成，确认请求使用 websopy API。
- 说明：`npm run type-check` 仍因 `@tarojs/taro` 类型包解析问题失败，这是项目既有环境问题，不影响构建。

