# 电商平台生产环境上线准备清单 (Production Readiness Checklist)

本指南旨在指导开发者在将“消费者端”和“商家端”推向实际生产环境时，所需准备的各项核心服务申请、资质认定及技术对接点。

---

## 1. 身份认证与登录系统 (Identity & Login)

为了提供丝滑的登录体验，需申请以下第三方服务：

### A. 微信登录 (WeChat Login)
*   **主体要求**：必须是企业或个体工商户（个人主体无法开通部分权限）。
*   **准备工作**：
    *   在 [微信开放平台](https://open.weixin.qq.com/) 注册账号并完成 **开发者资质认证** (300元/年)。
    *   创建一个“移动应用”获取 `AppID` 和 `AppSecret`。
    *   在 [Supabase 控制台](https://supabase.com/dashboard/project/_/auth/providers) 启用 **WeChat Provider** 并填入上述秘钥。
*   **注意**：如果是微信小程序环境，需在 [微信公众平台](https://mp.weixin.qq.com/) 另外申请小程序账号。

### B. 手机短信验证码 (SMS Authentication)
*   **推荐方案**：阿里云短信、腾讯云短信 或 Twilio。
*   **准备工作**：
    *   **签名申请**：如“【XX商城】”，需提交营业执照审核。
    *   **模板申请**：如“验证码${code}，您正在进行登录操作，5分钟内有效。”
    *   **Supabase 对接**：在 Auth -> Providers -> Phone 开启，并配置短信服务商提供的 API 秘钥。

---

## 2. 支付与结算系统 (Payments & Settlement)

支付是电商的命脉，涉及非常严格的合规性审核。

### A. 消费者端：支付方式与钱包提醒
*   **资质准备**：
    *   **微信支付**：在 [微信支付商户平台](https://pay.weixin.qq.com/) 申请“商户号”，需关联上述微信 AppID。
    *   **支付宝**：在 [支付宝开放平台](https://open.alipay.com/) 申请“APP支付”或“小程序支付”能力。
*   **钱包逻辑实现**：
    *   **余额系统**：在数据库中建立 `user_wallets` 表，记录 `balance`（余额）和 `points`（积分）。
    *   **支付拦截器**：用户下单时，需通过后端逻辑（Edge Functions）校验余额是否足够，不足时弹出“余额不足，请充值”或“引导去微信支付”。
    *   **变动提醒**：每当发生消费或退款，需通过 **微信模板消息** 或 **App 推送** 发送钱包变动实时通知。

### B. 商家端：收款账号与提现
*   **资金流控制**：生产环境下，资金通常先进入平台大账户（二清合规性建议）。
*   **提现准备**：
    *   **实名认证**：商家入驻时必须上传 **身份证**、**营业执照**、**开户许可证**。
    *   **打款接口**：需要申请“微信支付-企业付款到零钱”或“支付宝-单笔转账到账户”能力。
    *   **手续费逻辑**：需确定平台抽成比例（佣金），在商家点击提现时自动计算并扣除。

---

## 3. 服务器与合规性 (Infrastructure & Compliance)

*   **域名备案**：在中国境内运营，必须完成 **ICP 备案**。
*   **HTTPS 证书**：所有生产接口必须使用 SSL 证书（不能使用 HTTP）。
*   **隐私政策与用户协议**：必须在 App 登录页面显著位置提供，且符合 GDPR 或国内网络安全法规定。
*   **CDN 存储**：商品图片和视频应存放在对象存储（如 Supabase Storage + 自定义 CDN 域名），以保证加载速度。

---

## 4. 商家入驻所需材料模板

建议在商家端后台提供以下材料的上传入口：
1.  **负责人身份证正反面**。
2.  **统一社会信用代码证**。
3.  **银行结算账户信息（开户行、支行名称、账号、持卡人姓名）**。
4.  **行业特许经营许可**（如卖食品需要《食品经营许可证》）。

---

## 5. 技术架构建议 (Production Stack)

*   **数据库保护**：开启 Supabase 的 **RLS (行级安全策略)**，防止数据越权读取。
*   **日志记录**：接入 **Sentry** 或 **阿里云日志服务**，记录生产环境中的所有前端报错（尤其是支付环节）。
*   **压力测试**：上线前需进行接口压力测试，确保在促销活动期间数据库连接数不会爆满。

---

## 6. 无真机调试指南 (iOS & 鸿蒙调试方案)

针对您目前没有 iOS 和鸿蒙（HarmonyOS Next）实机的情况，请务必执行以下**模拟调试流程**，以确保上线后 90% 以上的兼容性。

### A. iOS (苹果) 远程与模拟调试
1.  **微信开发者工具“模拟器” (最简便)**:
    *   在工具底部左侧选择 `iPhone 13/14 Pro`。
    *   **重点检查**: 底部 Tabbar 是否被 iPhone 的 Home Indicator (底部黑条) 遮挡。如果是，请在 CSS 中使用 `padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);`。
2.  **Chrome 浏览器 iOS 仿真 (针对 H5 端)**:
    *   将项目运行为 H5，开启 Chrome Console (F12)。
    *   选择 `iPhone` 设备仿真，手动测试 `v-if` 在不同屏幕高度下的布局抖动。
3.  **免费云真机调试 (推荐)**:
    *   **腾讯云 WeTest / 阿里云移动测试**: 注册后通常有免费试用额度（如 30-60 分钟）。
    *   **操作**: 上传打包好的 APK (Android) 或在微信内测环境下选择 iOS 云真机，远程控制真机屏幕进行滑屏测试。

### B. 鸿蒙 (HarmonyOS Next) 深度兼容
由于鸿蒙系统现在进入了“纯血”阶段，与 Android 差异变大：
1.  **华为开发者联盟“云调试” (官方推荐)**:
    *   **访问**: [华为远程真机调试](https://developer.huawei.com/consumer/cn/service/jsservicestu/appdebug.html)。
    *   **步骤**: 
        1. 注册并完成实名认证。
        2. 选择“远程真机”。
        3. 申请免费使用的 **Mate 60 / Pura 70 (HarmonyOS Next 预览版)**。
    *   **调试重点**: 鸿蒙系统对 Webview 的内核限制较多，务必通过云真机测试“结算页”和“支付弹窗”是否能正常拉起。
2.  **DevEco Studio 远程模拟器**:
    *   安装华为官开发的 IDE `DevEco Studio`。
    *   使用内置的 `Device Manager` 启动 `Remote Emulator`。这比本地模拟器对电脑配置要求低，且渲染效果最接近真机。

### C. 关键代码兼容性“避坑”建议 (无真机必做)
*   **日期处理**: 严禁使用 `new Date("2024-03-10")`，在 iOS 上会返回 `Invalid Date`。**必须**统一替换为 `new Date("2024/03/10")` 或 `new Date(2024, 2, 10)`。
*   **图片显示**: iOS 微信小程序对 WebP 格式支持有限，生产环境生产建议优先使用 **JPG/PNG** 或确保 CDN 开启了自适应转换。
*   **输入框**: iOS 下 `input` 的 `focus` 自动拉起键盘可能会造成页面整体上移或错位，务必通过云真机确认“下单备注”等输入区域。

---
## 7. 微信小程序上线必改项 (Final Checklist)

1.  **正式 AppID**: 修改 `manifest.json` 中的 `mp-weixin.appid` 为正式 ID。
2.  **域名白名单**: 在微信后台添加 Supabase API 域名、图片 CDN 域名、物流查询域名。
3.  **用户隐私政策**: 获取头像、位置等接口前，必须在微信后台配置隐私协议，且在 App 内部提供可见入口。
4.  **打包优化**: 检查 `unpackage/dist/build/mp-weixin` 的大小，如超过 2MB，必须启用“分包加载”。

---
*生成日期：2026-03-10*
