--- title: 微信模块 description: 微信模块功能 published: true date: 2021-08-27T23:55:18.448Z tags: wg-basic, wecaht editor: markdown dateCreated: 2021-08-26T08:21:24.080Z --- # 模块加载 微信模块目前一共有两个,分别是 `login-wechat` 和 `module-wechat` 。`login-wechat` 模块不能单独使用,`module-wechat` 模块可以单独使用。 两个模块依赖分别为 ```xml ink.wgink login-wechat 1.0-SNAPSHOT ink.wgink module-wechat 1.0-SNAPSHOT ``` # 配置说明 为了能够使用微信功能模块,需要在配置文件中添加如下配置 ```yml open-platform: wechat: # 支付 pay: # 激活状态 active: true # 生产环境 produce: true # 商家ID mchid: 123123123123 # 证书路径 和 名称 certificate-path: /Users/xxxxxxx_cert certificate-name: apiclient_cert.pem # 公钥文件路径 key-file-path: /Users/xxxxxxx/apiclient_key.pem # api v3 秘钥 api-v3-secretkey: 111111111111111111 # 小程序 mini-app: # 激活状态 active: true # 认证地址,固定 authorizeUrl: https://api.weixin.qq.com/sns/jscode2session # 认证方式,固定 grantType: authorization_code # 小程序的appKey app-key: 123123123123123 # 小程序秘钥 app-secret: 232323232323232323 # 公众号 official-account: # 激活状态 activate: false # 公众号认证 authorize: authorize-url: https://open.weixin.qq.com/connect/oauth2/authorize access-token-url: https://api.weixin.qq.com/sns/oauth2/access_token access-token-refresh-url: https://api.weixin.qq.com/sns/oauth2/refresh_token userinfo-url: https://api.weixin.qq.com/sns/userinfo response-type: code scope: snsapi_userinfo state: wechatRedirectUrl grant-type: authorization_code # token地址 access-token-url: https://api.weixin.qq.com/cgi-bin/token # 公众号appid app-id: 123123123123123 # 公众号secret app-secret: 123123123123123123 grant-type: client_credential config-token: WenG ``` # 模块内功能 ## 1. 小程序 ### 1.1 小程序登录 小程序的登录流程如下: 1. 用户在打开小程序时,小程序需要调用后台的 `/wechat/sign/default` 接口,完成用户默认登录。 2. 接口会返回该用户的 token 和初始化状态,初始化状态为数字,通过下划线 `_` 与token拼接 3. 前端将返回值分割 token 和 初始化状态 4. 判断初始化状态,如果为 **1** 表示账户是初始化状态,**0** 表示账户是非初始化状态 5. 如果用户不需要绑定手机号,则第4步可以省略 6. 如果需要绑定用户手机号,则需要在获得用户授权之后,调用 `/app/miniapp/update-phone` 接口完成用户绑定,在拿到结果之后,重新获取 **token**。 > 这里需要说明的是:小程序默认登录时,会在系统创建随机账户,用户名密码都是随机的。当用户绑定过手机之后,会将随机的用户名修改为手机号。如果手机已经绑定,则提示失败,需要用户更换手机号或微信号。 {.is-info} ### 1.2 ## 2. 公众号 ## 3. 支付