方案二:通过微信小程序 openid 标识
1、uniapp下建立云函数 login,代码如下
'use strict';
exports.main = async (event, context) => {
//event为客户端上传的参数
console.log('event : ', event)
const appid = 'appid';
const secret = 'secret';
const apiUrl = 'https://api.weixin.qq.com/sns/jscode2session?appid='+appid+'&secret='+secret+'&js_code='+event.code+'&grant_type=authorization_code';
const res = await uniCloud.httpclient.request(apiUrl, {
method: 'GET',
data: {},
contentType: 'json', // 指定以application/json发送data内的数据
dataType: 'json' // 指定返回值为json格式,自动进行parse
})
//返回数据给客户端
return res
};
在云函数中发起请求,使用的是 uniCloud.httpclient 发起请求 - uni-app官网 (dcloud.io)
注意上面的 contentType和dataType参数不要删掉,否则不能正常返回,数据会有问题。
做的时候想着GET请求参数也拼到了URL里,就删掉了,导致返回结果异常。加上则正常。