feat(checkout): 优化微信支付和线下付款流程

- 支付方式新增微信支付(payType=1),并设为默认,保留线下付款(payType=9)
- 微信支付时调用 Taro.requestPayment 发起支付流程,取消或失败给出明确提示
- 支付选项选中状态下微信支付显示绿色提示,线下付款显示橙色提示
- 提交按钮文案区分微信支付(提交并支付)与线下付款(提交订单)
- 后端支付配置缺失时提示“微信支付暂不可用:支付配置缺失”
- 确保编译构建通过,未引入新类型错误
This commit is contained in:
2026-08-11 08:18:40 +08:00
parent 9fcadd7725
commit d611a76ebd
6 changed files with 107 additions and 16 deletions
+16
View File
@@ -0,0 +1,16 @@
# 2026-08-10
## checkout 页面接入微信支付
文件:`src/pages/shop/checkout.tsx`
改动:
- 支付方式选项新增「微信支付」(`payType=1`),并设为默认;原「线下付款」(`payType=9`) 保留。
- `handleSubmit``createOrder(orderParams)` 后,若 `payType===1 && res``res` 为后端返回的 `WxPayResult`),调用 `Taro.requestPayment({timeStamp,nonceStr,package,signType,paySign})` 调起微信支付;取消/失败给明确提示,订单已创建故统一跳订单列表可重新支付。线下付款保持原「订单已提交」提示。
- 支付选项选中提示:微信支付显示绿色提示,线下付款橙色提示(原仅有线下提示)。
- 提交按钮文案:微信支付显示「提交并支付」,线下显示「提交订单」。
- 异常提示:微信/线下下单时若后端报「应用ID/appid 缺失」等支付配置错误,统一提示「微信支付暂不可用:支付配置缺失」。
验证:`npm run build:weapp` 编译通过(17.45sCompiled successfully)。`tsc --noEmit` 因 tsconfig 把 `@tarojs/taro` 列入 types(缺 @types 声明)预存报错,与本次改动无关。
模式说明:本项目微信支付标准流程为 `createOrder(payType=1)` 后端直接返回 `WxPayResult``Taro.requestPayment(...)`,与 `pages/order/detail.tsx``handlePay`(用 `prepayShopOrder` 重新支付)一致。
+10
View File
@@ -0,0 +1,10 @@
# 2026-08-11 工作记录
## 小程序/产品矩阵规划讨论(仅探讨,未改代码)
- 用户产品矩阵:①企业官网(website-admin 后台,Nuxt SaaS 建站)②小程序商城(websopy-taro 电商)③其他管理系统。
- 结论建议(待用户确认):按**受众+载体**分层,而非按功能拆分。
- C端消费者(看/买):官网展示 + 商城 → **合并为「一个品牌小程序」**,用分包(官网/商城/用户中心)隔离,共享登录/购物车/会员。
- B端管理(企业主/运营):官网后台 + 其他管理系统 → **统一 Web 管理门户(SSO**,不做小程序。
- B端移动(商家版):暂缓,验证需求后再建独立 AppID 小程序,不并入 C 端。
- 已产出:规划文档 `.workbuddy/miniprogram-ui-plan.md`、官网展示型小程序原型(4屏 mockup)、产品矩阵分层架构图。
- 待确认:落地路径(独立官网小程序 / websopy-taro 加分包 / 仅 CMS 展示层)及上述产品矩阵方向。