获取openid看了些网上的文章没获取到也许是我get到找到了一篇借鉴然后自己也搞出来了
首先要去小程序接口文档看以下这几个接口
function wx.setStorageSync(key: string): void
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
wx.request({})
function wx.setStorageSync(key: string): void //此接口可以设置openid到缓存中
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
现在来上代码........................
首先创建一个环境单击按钮获取当前用户的openid
test.wxml
<text>{{openid}}</text> <button type="default" bindtap="open">获取openid</button>
js点击事件获取当前用户的openid
test.js
Page({ /** * 页面的初始数据 */ data: { openid:'' }, open:function(){ wx.login({ success:function(res){ var that = this; var header = { 'content-type':'application/x-www-form-urlencoded', 'token': wx.getStorageSync('token')//读取cookie 拿到登录之后异步保存的token值 }; if (res.code) { console.log(res.code); wx.request({//getOpenid url: 'https://api.weixin.qq.com/sns/jscode2session', data: { appid: '***************', //AppID secret: '*******************',//secret密钥 grant_type: 'authorization_code', js_code: res.code }, method: 'GET', header: header, success: function (res) { var openid = res.data.openid; //登录之后返回的openid // this.setData({ // openid: res.data.openid // }); console.log(openid+'我的openid') wx.setStorageSync('openid', openid) //储存openid if (openid != null & openid != undefined) { wx.getUserInfo({ success: function (res) { }, fail: function (res) { //console.info('用户拒绝授权'); } }); }else{ console.info('获取用户openid失败'); } }, fail: function (res) { console.info('获取用户openid失败'); console.log(error); } }) } } }) } })
效果只能在真机调试或者电脑模式下才能看出来,注意预览是看不出来的