WXML文件
<button bindtap='getOpenIdTap'>获取用户唯一标识openid
</button>
openid:{{openid}}session_key:{{session_key}}
JS文件
const APP_ID ='';
const APP_SECRET ='';
var OPEN_ID=''
var SESSION_KEY=''
Page({
getOpenIdTap
:function(){
var that
=this;
wx
.login({
success
:function(res
){
wx
.request({
url
: 'https://api.weixin.qq.com/sns/jscode2session',
data
:{
appid
:APP_ID,
secret
:APP_SECRET,
js_code
:res
.code
,
grant_type
:'authorization_code'
},
method
:'GET',
success
:function(res
){
console
.log(res
.data
)
OPEN_ID = res
.data
.openid
;
SESSION_KEY = res
.data
.session_key
;
console
.log(OPEN_ID.length
)
console
.log(SESSION_KEY.length
)
that
.setData({
openid
: res
.data
.openid
.substr(0, 10) + '********' + res
.data
.openid
.substr(res
.data
.openid
.length
- 8, res
.data
.openid
.length
),
session_key
: res
.data
.session_key
.substr(0, 8) + '********' + res
.data
.session_key
.substr(res
.data
.session_key
.length
- 6, res
.data
.session_key
.length
)
})
}
})
}
})
}
})
一开始可能会遇到
{"errcode":40125,"errmsg":"invalid appsecret, view more at http:\/\/t.cn\/LOEdzVq, hints: [ req_id: kL8J90219sg58 ]"}
解决方法
这个问题与小程序的secret有关这样就要登录用的开发者平台,将AppSecret重置 ps(这里面的AppID后面重新导入项目时要用到) 这样下来本以为会好了结果并没有出现了40029的错误 参考博客https://blog.csdn.net/u011415782/article/details/80546529
{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: m3yw8a0472th20 ]"}
解决方法
在网上搜了下,有两种说法: 1、code被使用了两次; 2、appid与secret不一致
看了一下自己的项目,这两个错误都不是,后来在另一篇博文里看到只需要重新创建项目就可以了,试了一下,还真是。 这里我先把以前的项目删除重新导入,然后在每次导入的都会有一个AppID,以前我一直在用测试号,
现在重新导入修改Appid为后台微信公众号提供的AppID然后就运行成功了