第17课 微信小程序通过node获取用户openid:

第17课 微信小程序通过node获取用户openid:

  1. 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
  2. 调用 auth.code2Session 接口,换取用户唯一标识 OpenID 和 会话密钥 session_key。

流程图如下:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

第17课 微信小程序通过node获取用户openid:_第1张图片

auth.code2Session 接口如下:

https://developers.weixin.qq.com/miniprogram/dev/api-backend/auth.code2Session.html
在这里插入图片描述

1.首先我们在微信小程序需要获取用户openid的页面js文件做如下配置:

wx.login({	//先调用 wx.login() 获取 临时登录凭证code 
      success: res =>{
        const code = res.code 	//获取到用户临时登录凭证code 
        wx.request({	//发送请求
          url: "http://localhost:8000/login?code="+code,	//携带code
          success: (res) =>{	//返回node请求到的OpenID与session_key
            const openid = res.data.openid
            wx.setStorageSync("openid", openid)
          }
        })
      },
      fail: console.log
    })

2.node.js配置的js文件:

const express = require('express');
const request = require('request')

const app = express()

app.listen(8000)  //这里监听8000端口

const appid = "wx123123123"  //开发者的appid
const appsecret = "123123123123"   //开发者的appsecret 登入小程序公共平台内查看

app.use('/login', (req,res)=>{
  const code = req.query.code //拿到传过来的code
  //调用 auth.code2Session接口,换取用户唯一标识 OpenID 和 会话密钥 session_key
  const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${appid}&secret=${appsecret}&js_code=${code}&grant_type=authorization_code`

  request(url, (err,res,body)=>{
    res.send(body)  //将请求到的 OpenID与 session_key 返回给小程序页面js文件
  })

})

你可能感兴趣的:(微信小程序开发,微信小程序)