当前位置:   article > 正文

uniapp写微信小程序,获取openId、unionId_uniapp如何拿到appid

uniapp如何拿到appid

1、使用uniapp读取获取用户openId

appId,secret  可以从微信公众平台获取,(点击右上角头像,向下滑,可以找到)

注意:这个一般写了app.vue里有个onlanch函数,否则有可能在进入小程序时获取不到openid

微信接口路径为 “https://api.weixin.qq.com/sns/jscode2session

  1. /**
  2. * 前端获取openId
  3. */
  4. getOpenId() {
  5. let openId = ''
  6. uni.login({
  7. success: res => {
  8. //code值(5分钟失效)
  9. let code = res.code;
  10. //小程序appid
  11. let appid = '1111111'; //小程序id
  12. //小程序secret
  13. let secret = '111111'; //密钥
  14. //wx接口路径
  15. let url = 'https://api.weixin.qq.com/sns/jscode2session';
  16. uni.request({
  17. url: url, // 请求路径
  18. data: {
  19. appid: appid,
  20. secret: secret,
  21. js_code: code,
  22. grant_type: 'authorization_code'
  23. }, // 请求体
  24. method: 'GET', //请求方法,
  25. header: {}, //请求头
  26. success: result => {
  27. //响应成功
  28. //这里就获取到了openid了
  29. // openId = result.data.openid
  30. uni.setStorage({
  31. key: 'openId',
  32. data: result.data.openid
  33. })
  34. },
  35. fail: err => {} //失败
  36. });
  37. }
  38. });
  39. },

2、uniapp 获取 unionId

获取unionId的前提条件:微信开放平台绑定你的小程序或者公众号至少一个(注意:一定要是,企业版的,个人版的是不支持unionId的)

具体代码如下:

  1. //前端获取unionId
  2. getUnionId() {
  3. // 获取用户信息
  4. uni.getUserInfo({
  5. success: (res) => {
  6. //这里是成功后 解构 返回的res
  7. const { encryptedData , iv, userInfo } = res
  8. // 解密用户信息并获取unionid
  9. wx.login({
  10. success: (loginResult) => {
  11. wx.request({
  12. url: 'https://api.weixin.qq.com/sns/jscode2session',//路径固定
  13. data: {
  14. appid: '123123', // 需要填写appId
  15. secret: '123123', // 密钥
  16. js_code: loginResult.code, //调取uni.login后,成功后会返回code
  17. grant_type: 'authorization_code' //固定的
  18. },
  19. success: (sessionResult) => {
  20. //成功后会返回 openId,以及 session_key 用来解密 上边获取的 encryptedData
  21. const {openid, session_key } = sessionResult.data
  22. var appId = '123123' //填写你的appId
  23. var sessionKey = session_key
  24. var encryptedDataStr = encryptedData
  25. // 解密 WXBizDataCrypt 可以在微信开发文档中找到
  26. const pc = new WXBizDataCrypt(appId, sessionKey);
  27. // unionId在data里
  28. const data = pc.decryptData(encryptedDataStr, iv);
  29. console.log(JSON.stringify(data));
  30. }
  31. })
  32. }
  33. })
  34. }
  35. })
  36. },

注意:请求openId或unionId,一般后端做,前端做的话,微信小程序可能无法,发布成功。。。。。。。

后端获取openId

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

闽ICP备14008679号