一、配置本地开发环境
由于在小程序中使用 wx.request 发送请求时,会验证请求地址是否是已经被配置为服务器域名。在本地开发中,会去请求本地的接口。
为了成功发起请求,在本地开发时,需要在开发者工具中勾选:
详情 --> 不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书
二、获取小程序的AppID、AppSecret
登录微信公众平台,进入:
设置 -> 开发者设置
AppSecret 不会被明文显示在页面上,所以生成 AppSecret 后,请妥善保存。
三、获取 js_code
出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关API也不能在小程序内调用,所以我们需要在小程序的 app.js 中 wx.login 函数中,获取 js_code,然后将 js_code 发送给后台
//app.js
App({
onLaunch: function () {
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
wx.request({
//获取openid接口
url: 'http://localhost/openid',
data: {
js_code: res.code,
},
method: 'POST',
success: function (res) {
console.log(res)
}
})
}
})
}
})
四、后台获取 openid
请求地址:https://api.weixin.qq.com/sns/jscode2session
请求参数:
{
"appid" : "<your AppId>",
"secret" : "<your AppSecret>",
"js_code" : "<your js_code>",
"grant_type" : "authorization_code"
}
返回参数:
{
"session_key" : "<your session_key>",
"openid" : "<your openid>"
}