微信小程序获取用户信息以及openid

获取用户信息

在小程序新的文档中定义了,如果想要获取用户信息那么需要与open-type一起使用,否则是无法获取用户信息的。

<button open-type="getUserInfo"bindgetuserinfo="bindGetUserInfo"> 
获取用户信息</button>
//open-type 开放能力,这里我们开放的市用户userInfo
//bindgetuserinfo  点击获取用户信息,与wx.getUserInfo返回结果一致,(open-type=getUserInfo有效)//页面加载时获取用户信息
onLoad:function(){
    //getSetting获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限
    wx.getSetting({
      success (res){
          //res返回用户是否授权
       if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({
          success: function(res){
            console.log(res)
          }
        })
       }
      }
    })
  },
  //点击时获取用户信息
  bindGetUserInfo (e) {
    console.log(e.detail.userInfo)
  }

如果你需要一些用户微信信息,但是不需要使用到button组件,那么你可以使用open-data组件。open-data

他可以帮直接使用你需要的用户微信信息。

获取用户openid

方法一(建议使用)

使用云函数,使用云函数的时候,项目默认会为你创建一个login云函数

wx.cloud.callFunction({
      name: 'login',
      success: (res) => {
        let openid = res.result.openid
        wx.setStorageSync('openid', openid)
      }
    })

方法二

wx.login({
            success: function (res) {
              console.log(res)
              wx.request({
                url: '后台通过获取前端传的code返回openid的接口地址',
                data: { code: code },
                header: { 'content-type': 'application/json'},
                success: function (res) {
                 if (res.statusCode == 200) {
                   console.log(res.data.result.openid);
//                   console.log(res.data.result.unionid); unionid企业版微信才能获得,个人版无法获得
                 } else {
                   console.log(res.errMsg)
                 }
              },
            })
          }
       })  

后台中



文档

let express = require('express')
let request = require('request')
let app = express()
const appid = ''
const appsercet = ''
app.use("/login",(req,res) => {
    const data = req.query.code
    const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${appid}&`
    request(url,(err,res,body) => {
        //建议把session_key隐藏起来
        res.send(body.openid)
    })})
app.listen(3000)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值