|
@@ -0,0 +1,283 @@
|
|
|
|
+# 微信小程序渠道配置
|
|
|
|
+
|
|
|
|
+## 概述
|
|
|
|
+
|
|
|
|
+微信小程序是微信生态中的重要应用形态,具有免安装、即用即走的特点。本文档描述了微信小程序渠道的完整配置流程。
|
|
|
|
+
|
|
|
|
+## 基本信息
|
|
|
|
+
|
|
|
|
+- **渠道标识**: `wechat_mini_program`
|
|
|
|
+- **渠道名称**: 微信小程序
|
|
|
|
+- **渠道类型**: 小程序
|
|
|
|
+- **所属分组**: 微信生态 (wechat)
|
|
|
|
+
|
|
|
|
+## 配置要素
|
|
|
|
+
|
|
|
|
+### 1. 基本配置
|
|
|
|
+
|
|
|
|
+```php
|
|
|
|
+// 渠道基本信息
|
|
|
|
+'channel' => 'wechat_mini_program',
|
|
|
|
+'name' => '微信小程序',
|
|
|
|
+'status' => true, // 开启/关闭
|
|
|
|
+'description' => '微信小程序平台接入'
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 2. 微信平台配置
|
|
|
|
+
|
|
|
|
+#### 必填参数
|
|
|
|
+- **AppId**: 小程序应用ID
|
|
|
|
+- **AppSecret**: 小程序应用密钥
|
|
|
|
+
|
|
|
|
+#### 配置示例
|
|
|
|
+```php
|
|
|
|
+'wechat_config' => [
|
|
|
|
+ 'appid' => 'wx9a7153e5b40d9663',
|
|
|
|
+ 'secret' => '8a743955faa5873af394f31d4a58c086',
|
|
|
|
+ 'token' => '', // 消息推送Token(可选)
|
|
|
|
+ 'aes_key' => '', // 消息加解密Key(可选)
|
|
|
|
+]
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 获取方式
|
|
|
|
+1. 登录微信公众平台 (mp.weixin.qq.com)
|
|
|
|
+2. 选择小程序类型
|
|
|
|
+3. 在「开发」-「开发管理」-「开发设置」中获取
|
|
|
|
+
|
|
|
|
+### 3. 支付配置
|
|
|
|
+
|
|
|
|
+微信小程序支持以下支付方式:
|
|
|
|
+
|
|
|
|
+#### 3.1 微信支付 ✅ (推荐)
|
|
|
|
+- **状态**: 开启
|
|
|
|
+- **优先级**: 1
|
|
|
|
+- **配置要求**:
|
|
|
|
+ - 需要开通微信支付商户号
|
|
|
|
+ - 配置支付回调域名
|
|
|
|
+ - 设置支付证书
|
|
|
|
+
|
|
|
|
+```php
|
|
|
|
+'payment_config' => [
|
|
|
|
+ 'wechat' => [
|
|
|
|
+ 'enabled' => true,
|
|
|
|
+ 'mch_id' => '商户号',
|
|
|
|
+ 'key' => '商户密钥',
|
|
|
|
+ 'cert_path' => '证书路径',
|
|
|
|
+ 'key_path' => '密钥路径',
|
|
|
|
+ 'notify_url' => '支付回调地址'
|
|
|
|
+ ]
|
|
|
|
+]
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 3.2 余额支付 ✅
|
|
|
|
+- **状态**: 开启
|
|
|
|
+- **优先级**: 2
|
|
|
|
+- **说明**: 用户使用账户余额进行支付
|
|
|
|
+
|
|
|
|
+```php
|
|
|
|
+'payment_config' => [
|
|
|
|
+ 'balance' => [
|
|
|
|
+ 'enabled' => true,
|
|
|
|
+ 'min_amount' => 0.01, // 最小支付金额
|
|
|
|
+ 'max_amount' => 10000, // 最大支付金额
|
|
|
|
+ ]
|
|
|
|
+]
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 3.3 不支持的支付方式 ❌
|
|
|
|
+- 支付宝支付
|
|
|
|
+- 线下支付
|
|
|
|
+- 货到付款
|
|
|
|
+
|
|
|
|
+### 4. 登录配置
|
|
|
|
+
|
|
|
|
+#### 4.1 自动登录
|
|
|
|
+- **状态**: 开启/关闭
|
|
|
|
+- **说明**: 进入应用后,用户将会自动授权登录,未注册用户将会自动注册
|
|
|
|
+
|
|
|
|
+```php
|
|
|
|
+'login_config' => [
|
|
|
|
+ 'auto_login' => true,
|
|
|
|
+ 'auto_register' => true,
|
|
|
|
+]
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 4.2 绑定手机号
|
|
|
|
+- **状态**: 开启/关闭
|
|
|
|
+- **说明**: 授权登录后,未绑定手机号的用户,将会立即提醒绑定手机号
|
|
|
|
+
|
|
|
|
+```php
|
|
|
|
+'login_config' => [
|
|
|
|
+ 'force_mobile' => true,
|
|
|
|
+ 'mobile_verify' => true, // 手机号验证
|
|
|
|
+]
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 5. 功能特性
|
|
|
|
+
|
|
|
|
+| 功能 | 支持状态 | 说明 |
|
|
|
|
+|------|---------|------|
|
|
|
|
+| 支付功能 | ✅ | 支持微信支付、余额支付 |
|
|
|
|
+| 分享功能 | ✅ | 支持分享到微信好友、朋友圈 |
|
|
|
|
+| 定位功能 | ✅ | 支持获取用户地理位置 |
|
|
|
|
+| 拍照功能 | ✅ | 支持调用摄像头拍照 |
|
|
|
|
+| 推送功能 | ✅ | 支持模板消息推送 |
|
|
|
|
+
|
|
|
|
+## 配置流程
|
|
|
|
+
|
|
|
|
+### 1. 微信公众平台配置
|
|
|
|
+
|
|
|
|
+1. **注册小程序**
|
|
|
|
+ - 访问 https://mp.weixin.qq.com
|
|
|
|
+ - 注册小程序账号
|
|
|
|
+ - 完成主体认证
|
|
|
|
+
|
|
|
|
+2. **获取开发信息**
|
|
|
|
+ - 在「开发」-「开发管理」-「开发设置」中获取AppID
|
|
|
|
+ - 生成AppSecret
|
|
|
|
+
|
|
|
|
+3. **配置服务器域名**
|
|
|
|
+ - 在「开发」-「开发管理」-「开发设置」中配置
|
|
|
|
+ - request合法域名:`https://your-domain.com`
|
|
|
|
+ - uploadFile合法域名:`https://your-domain.com`
|
|
|
|
+ - downloadFile合法域名:`https://your-domain.com`
|
|
|
|
+
|
|
|
|
+4. **配置支付域名**(如需支付功能)
|
|
|
|
+ - 在微信支付商户平台配置
|
|
|
|
+ - 设置支付回调域名
|
|
|
|
+
|
|
|
|
+### 2. 系统后台配置
|
|
|
|
+
|
|
|
|
+1. **基本信息配置**
|
|
|
|
+ ```
|
|
|
|
+ 渠道状态: 开启
|
|
|
|
+ 渠道名称: 微信小程序
|
|
|
|
+ 渠道描述: 微信小程序平台
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+2. **平台参数配置**
|
|
|
|
+ ```
|
|
|
|
+ AppId: wx9a7153e5b40d9663
|
|
|
|
+ AppSecret: 8a743955faa5873af394f31d4a58c086
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+3. **支付方式配置**
|
|
|
|
+ ```
|
|
|
|
+ 微信支付: 开启
|
|
|
|
+ 余额支付: 开启
|
|
|
|
+ 支付宝支付: 关闭
|
|
|
|
+ 货到付款: 关闭
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+4. **登录方式配置**
|
|
|
|
+ ```
|
|
|
|
+ 自动登录: 开启
|
|
|
|
+ 绑定手机号: 开启
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+### 3. 开发配置
|
|
|
|
+
|
|
|
|
+1. **小程序代码配置**
|
|
|
|
+ ```javascript
|
|
|
|
+ // app.js
|
|
|
|
+ App({
|
|
|
|
+ globalData: {
|
|
|
|
+ apiUrl: 'https://your-domain.com/api',
|
|
|
|
+ appId: 'wx9a7153e5b40d9663'
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+2. **登录授权**
|
|
|
|
+ ```javascript
|
|
|
|
+ // 获取用户信息
|
|
|
|
+ wx.getUserProfile({
|
|
|
|
+ desc: '用于完善会员资料',
|
|
|
|
+ success: (res) => {
|
|
|
|
+ // 发送用户信息到服务器
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+3. **支付调用**
|
|
|
|
+ ```javascript
|
|
|
|
+ // 微信支付
|
|
|
|
+ wx.requestPayment({
|
|
|
|
+ timeStamp: '',
|
|
|
|
+ nonceStr: '',
|
|
|
|
+ package: '',
|
|
|
|
+ signType: 'MD5',
|
|
|
|
+ paySign: '',
|
|
|
|
+ success: function(res) {
|
|
|
|
+ // 支付成功
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+## 测试验证
|
|
|
|
+
|
|
|
|
+### 1. 开发者工具测试
|
|
|
|
+- 使用微信开发者工具
|
|
|
|
+- 测试登录授权流程
|
|
|
|
+- 测试支付功能(需要真机)
|
|
|
|
+
|
|
|
|
+### 2. 真机测试
|
|
|
|
+- 扫码体验版小程序
|
|
|
|
+- 测试完整业务流程
|
|
|
|
+- 验证支付功能
|
|
|
|
+
|
|
|
|
+### 3. 接口测试
|
|
|
|
+```bash
|
|
|
|
+# 测试登录接口
|
|
|
|
+curl -X POST "https://your-domain.com/api/login" \
|
|
|
|
+ -H "Content-Type: application/json" \
|
|
|
|
+ -d '{"code":"微信登录code","channel":"wechat_mini_program"}'
|
|
|
|
+
|
|
|
|
+# 测试支付接口
|
|
|
|
+curl -X POST "https://your-domain.com/api/payment/create" \
|
|
|
|
+ -H "Content-Type: application/json" \
|
|
|
|
+ -d '{"amount":100,"channel":"wechat_mini_program","payment_type":"wechat"}'
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+## 注意事项
|
|
|
|
+
|
|
|
|
+1. **域名配置**
|
|
|
|
+ - 必须使用HTTPS协议
|
|
|
|
+ - 域名需要备案
|
|
|
|
+ - 需要在微信公众平台配置合法域名
|
|
|
|
+
|
|
|
|
+2. **支付配置**
|
|
|
|
+ - 需要开通微信支付
|
|
|
|
+ - 配置支付回调地址
|
|
|
|
+ - 测试环境和生产环境分别配置
|
|
|
|
+
|
|
|
|
+3. **用户授权**
|
|
|
|
+ - 获取用户信息需要用户主动授权
|
|
|
|
+ - 不能强制用户授权
|
|
|
|
+ - 需要做好授权失败的处理
|
|
|
|
+
|
|
|
|
+4. **版本发布**
|
|
|
|
+ - 开发完成后需要提交审核
|
|
|
|
+ - 审核通过后才能发布
|
|
|
|
+ - 建议先发布体验版测试
|
|
|
|
+
|
|
|
|
+## 常见问题
|
|
|
|
+
|
|
|
|
+### Q1: AppId和AppSecret在哪里获取?
|
|
|
|
+A: 在微信公众平台的「开发」-「开发管理」-「开发设置」中获取。
|
|
|
|
+
|
|
|
|
+### Q2: 为什么不支持支付宝支付?
|
|
|
|
+A: 微信小程序只支持微信支付,不支持第三方支付。
|
|
|
|
+
|
|
|
|
+### Q3: 如何测试支付功能?
|
|
|
|
+A: 支付功能需要在真机上测试,开发者工具无法测试支付。
|
|
|
|
+
|
|
|
|
+### Q4: 登录授权失败怎么办?
|
|
|
|
+A: 检查域名配置、AppId配置,确保小程序已发布或设置为体验版。
|
|
|
|
+
|
|
|
|
+## 相关链接
|
|
|
|
+
|
|
|
|
+- [微信小程序开发文档](https://developers.weixin.qq.com/miniprogram/dev/framework/)
|
|
|
|
+- [微信支付开发文档](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php)
|
|
|
|
+- [微信公众平台](https://mp.weixin.qq.com/)
|
|
|
|
+- [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
|