当前位置:   article > 正文

微信小程序后端学习笔记——Openid获取_微信小程序获取openid

微信小程序获取openid

通过自己的服务器获取openid需要用到wx.login接口,并且需要自己编写一个api

具体逻辑如下:

1、通过wx.login接口获取微信用户的code

2、在服务器中编写接口,通过获取的code与微信服务器交换用户的openid

3、将获取的openid传递给微信小程序并保存到缓存中

一、小程序端,通过wx.login接口获取微信用户的code,并接受服务器传递过来的openid进行缓存

  1. wx.login({
  2. success: (res) => {
  3. const{ code }= res;
  4. //将获取到的code传递给api接口,并从api接口获取openid
  5. wx.request({
  6. url: 'http://localhost:3000/getOpenid',
  7. data:{
  8. code,
  9. },
  10. success(res){
  11. const { openid } = res.data;
  12. //将获取到的openid进行缓存
  13. wx.setStorageSync('openid', openid)
  14. }
  15. })
  16. },

 二、服务器端编写相关API接口,通过前端传递过来的code交换openid

  1. //获取openid
  2. app.get('/getOpenid',async(req,res)=>{
  3. const { code } = req.query;
  4. request({
  5. //通过code向微信服务器交换openid
  6. url:`https://api.weixin.qq.com/sns/jscode2session?appid=wx91542af25d5792fb&secret=57a6f1132a1090d5492bc2387d129498&js_code=${code}&grant_type=authorization_code`
  7. },(err,response,data)=>{
  8. // 将获取的openid传递给微信小程序
  9. res.send(data)
  10. })
  11. })

注意:要调用request指令的话要下载request插件:

下载代码:

 npm install request --save 

下载完成后通过require进行引入:

const request  = require('request');

这里涉及到wx.login的相关使用,具体可以看微信官方的文档:

wx.login使用文档:wx.login(Object object) | 微信开放文档

使用code交换openid文档:小程序登录 | 微信开放文档

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/266835
推荐阅读
相关标签
  

闽ICP备14008679号