# WXAPP 云函数接口迁移矩阵 ## 口径 - 基线来自旧 uni-app 源码静态扫描生成的 `SOURCE_API_ACTIONS`,共 91 个唯一 action。 - 统一新入口为 `POST /api/functions/xiaoshu/app/gateway`。 - 请求体统一使用 `{ "token": "", "params": { "action": "...", ... } }`;执行器会占用顶层 `id`,业务参数不得放在顶层。公开接口可省略 `token`,但仍必须保留 `params`。 - 已有云函数映射 26 个,另有 65 个以 HTTP 501 和 `migration_blocked: <原因>` 显式拒绝。矩阵不存在未知 action。 - “已映射”表示已有云函数代码与权限边界;完成 H5 切换前仍需逐页响应字段回归。 ## 已映射的 26 个 action | 领域 | action | |---|---| | 版本 | `app_update` | | 内容 | `content_get`, `content_list`, `content_list_llk`, `content_uphis`, `node_get`, `node_list` | | 商品只读 | `product_get`, `product_list`, `product_stock_list` | | 账号 | `user_get`, `user_info_name`, `user_list`, `user_login_passwd`, `user_register`, `user_update`, `user_update_pwd`, `user_update_pwdall`, `e_user_list` | | 学习/预约只读 | `e_get_21list`, `e_get_21list_tj`, `e_order_detail`, `e_record_detail`, `e_words_list`, `user_point_list` | | 反馈 | `guestbook_add` | 已实测 `content_list` 在公司帐套下返回 92,435 条,`modelId=56` 返回 108 条。读取用 Psql 并强制 `company=7pIbDBJmKx`,所有客户端输入均使用参数化查询。 ## 因目标 Schema/历史数据缺失而阻塞 | 能力 | action | 缺失项 | |---|---|---| | 购物车 | `cart_list` | 无购物车类 | | 优惠券 | `coupon_list`, `coupon_usrgot_add`, `coupon_usrgot_list` | 无优惠券实例和用户领取关系类 | | 订单/物流 | `order_delivery`, `order_get`, `order_list`, `order_signfor`, `user_shop_order`, `user_shop_sales` | 无订单、商品明细、销售和物流类 | | 订单评价 | `order_comment_add`, `order_comment_list` | 无评价类 | | 支付 | `payment_cart`, `payment_cart_again`, `payment_success` | 无订单/支付明细类 | | 发票 | `invoice_add`, `invoice_del`, `invoice_get`, `invoice_list`, `invoice_upd` | 无发票类 | | 收货地址 | `receaddr_add`, `receaddr_del`, `receaddr_get`, `receaddr_list`, `receaddr_upd` | 无地址类 | | 提现账户 | `user_bank_add`, `user_bank_del`, `user_bank_get`, `user_bank_list` | 无提现账户类 | | 收藏 | `user_star_add`, `user_star_del`, `user_star_is` | 无用户收藏关系类 | | 会员订单 | `user_group_usr_supply`, `user_group_usr_upgrade` | 无会员购买/续费订单类 | | 投票 | `vote_add`, `vote_ask`, `vote_question` | 无可证明的投票记录类 | | 部门 | `user_dept` | 无可证明的用户部门关系 | 上述接口要恢复 1:1 能力,必须先补建 Schema,并取得可迁移的旧数据;仅有空表或空成功响应不能算迁移完成。 ## 因外部服务、安全或合规而阻塞 | 能力 | action | 需要的前置条件 | |---|---|---| | 短信验证码 | `mcode_send`, `user_login_mobile`, `user_register_mobile` | 新短信服务商凭据、验证码存储和限流 | | 微信授权 | `user_sync2` | 新微信容器流程和凭据 | | 资金/积分 | `user_cash_add`, `user_cash_list`, `user_coin_recharge`, `user_exp_transfer`, `user_money_recharge`, `user_money_transfer` | 支付凭据、不可变事务账本和业务规则 | | 支付密码 | `user_update_paypwd` | 独立哈希服务和重置流程 | | 实名认证 | `user_rnauth_add`, `user_rnauth_get`, `user_rnauth_upd` | 合规审核、加密存储和访问审计 | ## 有数据但尚未能证明 1:1 语义 | 能力 | action | 待确认/待实现 | |---|---|---| | 内容写入 | `content_add`, `content_update` | `CommonModel` 与 addon 表双写事务 | | 商品写入 | `product_del`, `product_sale_change`, `product_stock_change` | 门店管理员权限与库存账本 | | 课程/生词 | `e_ck_list`, `e_add_words` | `CourseBinding` + `VocabularyWord` + 用户进度联表语义 | | 学习写入 | `stu_record_update_v2`, `unit_record_update` | 学习主记录、addon 和单元聚合的原子写入 | | 预约 | `e_order_tongji`, `e_order_update_v2` | 统计口径、状态机和角色权限 | | 发布 | `pub_add`, `pub_list` | `Pub` 业务类型、审核与可见范围 | ## 前端切换决策 当前 Angular H5 仍保留旧 `WXAPP` 入口。在 65 个 action 中包含登录、订单、支付和学习写入等主流程时,直接全量切换会导致页面大面积中断。切换条件是: 1. 先对齐缺失 Schema/数据和第三方凭据。 2. 完成剩余 action 的云函数事务、权限和字段回归。 3. 将 H5 会话改为 Parse `sessionToken`,再一次性切换到 `/api/functions/xiaoshu/app/gateway`。