小程序开发记录

263 阅读3分钟

小程序开发记录

一. 获取unionId

1. 小程序前端用wx.login()success的回调中拿到codecode只能用一次

2. 把code传给后端,后端组织参数👇

let param = {
    js_code:code,
    appid:'',
    //固定写法
    grant_type:'authorization_code',
    //密钥不可以保存在前端,容易被反编译
    secret:''
}

3. 后端调用接口,获取unionId

GET https://api.weixin.qq.com/sns/jscode2session

请求参数

属性类型必填说明
appidstring小程序 appId
secretstring小程序 appSecret
js_codestring登录时获取的 code,可通过wx.login获取
grant_typestring授权类型,此处只需填写 authorization_code

返回数据

属性类型说明
session_keystring会话密钥
unionidstring用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台账号下会返回,详见 UnionID 机制说明。
errmsgstring错误信息
openidstring用户唯一标识
errcodeint32错误码

二. H5跳转到小程序

1. 后台调用接口

GET <https://api.weixin.qq.com/cgi-bin/token>

请求参数

属性类型必填说明
grant_typestring填写 client_credential
appidstring小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)
secretstring小程序唯一凭证密钥,即 AppSecret,获取方式同 appid

返回参数

属性类型说明
access_tokenstring获取到的凭证
expires_innumber凭证有效时间,单位:秒。目前是7200秒之内的值
拿到access_token并存储,提供一个接口,功能是接收前端传过来的参数。

2. 前端调用接口传参

jump_wxa:跳转到的目标小程序信息

属性类型必填说明
pathstring通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
querystring通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%`
env_versionstring默认值"release"。要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。

3. 后端拿到参数,调用接口

POST <https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN>

请求参数

属性类型必填说明
access_tokenstring接口调用凭证,该参数为 URL 参数,非 Body 参数。使用getAccessToken 或者 authorizer_access_token
jump_wxaobject跳转到的目标小程序信息。
expire_timenumber到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为30天。is_expire 为 true 且 expire_type 为 0 时必填
expire_typenumber默认值0,到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1
expire_intervalnumber到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为30天。is_expire 为 true 且 expire_type 为 1 时必填

返回参数

属性类型说明
errcodenumber错误码
errmsgstring错误信息
openlinkstring生成的小程序 scheme 码

4. 前端跳转scheme