发布:2023-12-01 18:40:32 阅读:511
转载本资源必须注明出处,欢迎加入官群【445790831】
资源归属:qiang
资源状态:免费下载
暂时使用的英文代码,后续会对微信登录进行封装。小程序的appid和秘钥自己申请哈。
注意:2023-12-15号以后的版本可替换英文代码为:微信小程序类.微信登录((登录状态)=>{调试输出(登录状态)})
参考如下:
2023-12-15号以后所用代码:
获取用户openid() {
局部变量 appId = "*********"; // 小程序appid
局部变量 appSecret = "*****************"; // 小程序秘钥
// 微信登录
微信小程序类.微信登录((登录状态)=>({
跨平台类.网页访问("https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + appSecret + "&js_code=" + 登录状态["code"] + "&grant_type=authorization_code", "GET", "", "", "json", (网页访问成功回调) => {
调试输出(网页访问成功回调);
调试输出(网页访问成功回调["data"]["openid"]); // 用户openid
调试输出(网页访问成功回调["data"]["session_key"]); // 会话秘钥
});
});
}
//2023-12-15号以前所用代码【也就是源码中所用代码】:
获取用户openid() {
局部变量 appId = "*********"; // 小程序appid
局部变量 appSecret = "*****************"; // 小程序秘钥
// 微信登录
uni.login({
provider: "weixin",
success: 定义函数 (loginRes) {
// 登录成功 获取用户openid
跨平台类.网页访问("https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + appSecret + "&js_code=" + loginRes["code"] + "&grant_type=authorization_code", "GET", "", "", "json", (网页访问成功回调) => {
调试输出(网页访问成功回调);
调试输出(网页访问成功回调["data"]["openid"]); // 用户openid
调试输出(网页访问成功回调["data"]["session_key"]); // 会话秘钥
});
},
fail: 定义函数 (err) {
// 登录授权失败
// err.code是错误码
}
});
}
测试账号
1348****4381 Time: 2023-12-05 10:35:11
评论ID
微信官方好像是不建议把 秘钥 发给客户端的,好像有另外一个方法判断是否登录状态
1348****4381 Time: 2023-12-05 10:36:34
评论ID
https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/checkSessionKey.html
应该是用这个方法来判断用户是否已登录,一起封装
qiang 回复 2楼 1348****4381 Time: 2023-12-05 11:55:09
评论ID
这个源码是登录获取用户的openid,你发的这个是检测用户的登录状态,两者是不一样的。
qiang 回复 1楼 1348****4381 Time: 2023-12-05 11:56:36
评论ID
一般是放到后端来请求的,这里是为了更加直观的展示源码,把数据放到客户端,你需要自己完善开发。
yjh Time: 2023-12-10 23:01:32
评论ID
不错,谢谢,正好学习。
yjh Time: 2023-12-14 08:56:39
评论ID
appSecret 是不应该用在客户端。
yjh Time: 2023-12-14 09:05:02
评论ID
小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系
然而因为小程序中的openid不可以直接使用需要用code(登录凭证)去换取openid
获取openid的思路
获取openid首先需要调用小程序的login方法获取小程序的登录凭证code,然后使用code向微信换取登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)
————————————————
版权声明:本文为CSDN博主「zgscwxd」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zgscwxd/article/details/134226378
柯敏轩 回复 2楼 1348****4381 Time: 2024-02-01 17:57:33
评论ID
这个是检测session_key的存活,两者是不一样的。