Files
websopy-taro/.workbuddy/memory/2026-07-16.md
赵忠林 85a1558e84 feat(passport): 迁移并修复小程序支付页面访问 websopy API 问题
- 迁移 src/passport/pay 相关代码至当前项目,无需替换文件
- 新增环境变量 WEBSOPY_API_BASE_URL,提供 websopy API 基础地址
- 在 config/app.ts 导出 WebsopyBaseUrl,供代码引用
- 配置 env.d.ts 类型定义,消除 TypeScript 隐式 any 错误
- request 请求方法支持自定义 baseUrl 以调用不同接口地址
- passport/pay 页面调用订阅接口统一传入 WebsopyBaseUrl
- 修正 tenantId 类型为 number,调整登录用户类型断言
- 确认编译成功,dist 目录生成对应文件及正确请求地址
- 说明 type-check 依赖库问题不影响正常构建和运行
2026-07-16 01:34:27 +08:00

2.2 KiB
Raw Permalink Blame History

2026-07-16 工作日志

passport 分包化修复

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

排查结论:

  • 主包内所有跳转引用(src/pages/**src/utils/auth.tssrc/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/indexinvite/indexwebview/index(文件不存在,且全局无任何跳转引用它们,会导致 Taro 编译报错)
  • 补充 registersrc/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?: stringrequest/get/post 等函数支持自定义 baseUrl相对路径会自动拼接完整 URL 保持不变。
  • 修改 src/passport/pay/index.tsx:三个订阅接口请求均传入 baseUrl: WebsopyBaseUrl;修复 tenantId 类型string -> numbersaveStorageByLoginUser 的 user 类型断言。
  • 运行 npx taro build --type weapp 构建成功dist 中 passport/pay 文件生成,确认请求使用 websopy API。
  • 说明:npm run type-check 仍因 @tarojs/taro 类型包解析问题失败,这是项目既有环境问题,不影响构建。