小程序开发记录
一. 获取unionId
1. 小程序前端用wx.login()在success的回调中拿到code,code只能用一次
2. 把code传给后端,后端组织参数👇
let param = {
js_code:code,
appid:'',
grant_type:'authorization_code',
secret:''
}
3. 后端调用接口,获取unionId
GET https://api.weixin.qq.com/sns/jscode2session
请求参数
| 属性 | 类型 | 必填 | 说明 |
|---|
| appid | string | 是 | 小程序 appId |
| secret | string | 是 | 小程序 appSecret |
| js_code | string | 是 | 登录时获取的 code,可通过wx.login获取 |
| grant_type | string | 是 | 授权类型,此处只需填写 authorization_code |
返回数据
| 属性 | 类型 | 说明 |
|---|
| session_key | string | 会话密钥 |
| unionid | string | 用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台账号下会返回,详见 UnionID 机制说明。 |
| errmsg | string | 错误信息 |
| openid | string | 用户唯一标识 |
| errcode | int32 | 错误码 |
二. H5跳转到小程序
1. 后台调用接口
GET <https:
请求参数
| 属性 | 类型 | 必填 | 说明 |
|---|
| grant_type | string | 是 | 填写 client_credential |
| appid | string | 是 | 小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态) |
| secret | string | 是 | 小程序唯一凭证密钥,即 AppSecret,获取方式同 appid |
返回参数
| 属性 | 类型 | 说明 |
|---|
| access_token | string | 获取到的凭证 |
| expires_in | number | 凭证有效时间,单位:秒。目前是7200秒之内的值 |
拿到access_token并存储,提供一个接口,功能是接收前端传过来的参数。
2. 前端调用接口传参
jump_wxa:跳转到的目标小程序信息
| 属性 | 类型 | 必填 | 说明 |
|---|
| path | string | 否 | 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。 |
| query | string | 否 | 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%` |
| env_version | string | 否 | 默认值"release"。要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 |
3. 后端拿到参数,调用接口
POST <https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN>
请求参数
| 属性 | 类型 | 必填 | 说明 |
|---|
| access_token | string | 是 | 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用getAccessToken 或者 authorizer_access_token |
| jump_wxa | object | 否 | 跳转到的目标小程序信息。 |
| expire_time | number | 否 | 到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为30天。is_expire 为 true 且 expire_type 为 0 时必填 |
| expire_type | number | 否 | 默认值0,到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1 |
| expire_interval | number | 否 | 到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为30天。is_expire 为 true 且 expire_type 为 1 时必填 |
返回参数
| 属性 | 类型 | 说明 |
|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| openlink | string | 生成的小程序 scheme 码 |
4. 前端跳转scheme