wiki-files/wg-basic/wecaht.md

112 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 微信模块
description: 微信模块功能
published: true
date: 2021-08-28T00:02:52.148Z
tags: wg-basic, wecaht
editor: markdown
dateCreated: 2021-08-26T08:21:24.080Z
---
# 模块加载
微信模块目前一共有两个,分别是 `login-wechat``module-wechat` 。`login-wechat` 模块不能单独使用,`module-wechat` 模块可以单独使用。
两个模块依赖分别为
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>login-wechat</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-wechat</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
# 配置说明
为了能够使用微信功能模块,需要在配置文件中添加如下配置
```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 更新个人信息
有时候,我们可能需要展示微信的头像和昵称,获取这些信息也需要用户对小程序进行授权后通过调用接口 `/wechat/app/miniapp/user/update-info` 接口来完成修改。
> 这里的修改只是修改了小程序用户信息,并没有对系统用户进行修改,系统中已经体提供了对应的接口,开发人员需要对其封装处理
> {.is-info}
## 2. 公众号
## 3. 支付