微信公众号开发服务

SEO优化-搜狗360搜索引擎营销推广

微信小法度榜样获取openid,微信小法度榜样获取openid掉败是什么原因

smile 2022-11-11 微信公众号开发服务 7 views 0

本篇文章给大家谈谈微信小程序获取openid,以及微信小程序获取openid失败是什么原因对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信小法度榜样获取用户openId、手机号

对于第一次实现小法度榜样获取用户手机号、用户信息功能的法度榜样猿来说,有一个着手的思路可以事半功倍。本文可以给你供给这个思路,助你快速精确完成需求。

调用wx.login,在成功回调中,拿本身小法度榜样的appId、secret请求接口 url: ' ' + appId + 'secret=' + secret + 'js_code=' +code + 'grant_type=authorization_code',请求成功即可拿到openid和session-key

小法度榜样的appId必须要在微信"大众平台完成微信认证(里面须要上传一些企业的一些证件和信息)才能有获取用户手机号的权限

最后拿用户的获取到的e.detail.iv、和e.detail.encryptedData(加密的手机号)和前面拿到过的session-key传给后台,交给后台解密即可

具体解密规矩参考官方文档:( )

微信小法度榜样模仿点击input框获取用户手机号

       比来在做一个小法度榜样时碰到如许一个需求:请求在点击input框时获取用户的手机号还可以进行修改。然则我们都知道微信小法度榜样获取手机号是经由过程button按钮的bindgetphonenumber属性来实现的,那么怎么能在input获得核心时,获取用户手机号呢?

       起首,我们先来懂得一下怎么经由过程button按钮来获取用户的手机号。在微信"大众平台上,button按钮有一个open-type和bindgetphonenumber的属性:

           具体如下:

                1.wxml:

                    button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"输入手机号/button

                2.js

                    在这里我们须要留意起首要获取用户的openid和session_key,获取方法如下:

                        app.js:

                        wx.login({

                              //获取code

                              success: (res) = {

                                    var code = res.code; //返回code

                                    this.globalData.code = code;

                                    this.globalData.appId = 'wx5a9ded8ac4b1feb3';

                                    this.globalData.secret = '7ccbca95ddc8baf065194b533043a783';

                                    wx.request({

                                          url: '' + this.globalData.appId + 'secret=' + this.globalData.secret + 'js_code=' + code + 'grant_type=authorization_code',

                                          data: {},

                                          header: {

                                                'content-type': 'json'

                                          },

                                          success: (res) = {

                                                    var openid = res.data.openid //返回openid

                                                    this.globalData.openId = openid;

                                                    this.globalData.session_key = res.data.session_key;

                                                    wx.request({

                                                              url: this.globalData.req_url + '/WechatUser/dealUserMsg',

                                                              method:'post',

                                                              header: { 'content-type': 'application/x-www-form-urlencoded' },

                                                              data:{

                                                                        openId:openid

                                                              },

                                                              success:res={

                                                                        console.log(res);

                                                              }

                                                    })

                                              }

                                    })

                              }

                    })

                index.js:

                     // 点击按钮获取手机号

                  getPhoneNumber(e) {

                        wx.request({

                              url: appData.req_url + '/WXCore/decrypt',

                              data:{

                                    openId: appData.openId,

                                    encryptedData: e.detail.encryptedData,

                                    sessionKey: appData.session_key,

                                    iv: e.detail.iv

                              },

                              header: {

                                        'content-type': 'json'

                                },

                              success: res = {

                                    this.setData({

                                            inputShow: true

                                    })

                               if(!res.data.res){

                                      console.log('未绑定手机号');

                                }else{

                                      this.setData({

                                            phoneNumber: res.data.bindPhone

微信小法度榜样获取openid,微信小法度榜样获取openid掉败是什么原因 第1张

                                      })

                                }

                          }

                    })

              },

            成果如下:

                    

            点击许可,这个时刻后台会对传以前的数据进行解密(具体度娘搜刮微信小法度榜样手机号码解密),就会将手机号码返回。

            ok,经由过程button我们成功的拿到了手机号码,那么怎么能在input框获取核心时拿到手机号码,并且可以修改呢?

            经由a long long time的思虑,终于想出了一个土办法。那就是将一个button标签和一个input框经由过程绝对定位重叠在一路,然后将button标签做成input框的样子,在我们第一次点击的时刻成功获取到手机号今后,将button标签经由过程标记位隐蔽,而让input标签显示,并将拿到的手机号码赋给input的value值,如斯便可以实现模仿input框获得核心时获取用户的手机号!!!

            

            固然土,然则成功将后果实现了不是?

            最后给人人和我本身奉上一份心灵鸡汤:

                    你想要的永远和你付出的成正比。

微信小法度榜样用户授权

一般微信项目只要涉及到用户授权根本都是和 用户独一标识 OpenID 和用户在微信开辟平台账号下微信小法度榜样获取openid的 独一标识 UnionID 有关微信小法度榜样获取openid,只要项目中须要治理、区分、建立小法度榜样内的用户体系就必须要获取 OpenID 、 UnionID 。

OpenID : 是微信生态 用户独一标识 微信小法度榜样获取openid,开辟者经由过程微信小法度榜样(微信"大众号)供给的静默授权拿到当前用户的 OpenID ,小法度榜样和"大众号的 OpenID 是自力的。

UnionID : 是微信生态 用户在微信开放平台帐号下的独一标识UnionID(若当前小法度榜样已绑定到微信开放平台帐号) ,开辟者可以经由过程 UnionID 来对不合微信项面前目今的用户进行接洽关系。假如开辟者拥有多个移动应用、网站应用、和"大众帐号(包含小法度榜样),可经由过程 UnionID 来区分用户的独一性,因为只如果同一个微信开放平台帐号下的移动应用、网站应用和"大众帐号(包含小法度榜样),用户的 UnionID 是独一的。换句话说,同一用户,对同一个微信开放平台下的不合应用, UnionID 是雷同的。。

不弹出授权页面,在用户无感中的情况下,获取到用户独一标识,经由过程这个独一标识映射到微信小法度榜样获取openid我们体系的userId就可以建立用户体系治理用户。

流程:

留意事项:

须要弹出选项须要用户选择才能完成的授权操作,一般是为微信小法度榜样获取openid了获得用户手机号和用户信息等。

获取用户信息授权

获取用户手机号授权

微信小法度榜样用户的openId若何与企业微信的userId接洽关系

在企业微信运行的小法度榜样微信小法度榜样获取openid,仍然可以调用wx.login微信小法度榜样获取openid,然后再经由过程 ;secret=SECRETjs_code=JSCODEgrant_type=authorization_code 来获取openid,此时的openid就是该企业微信用户所绑定的微旌旗灯号的openid,然后再运行一遍wx.qy.login获取到userid就能进行接洽关系,或者微信用户在微信插件存眷对应的企业,应用openid转userid,就能获取到对应企业的userid微信小法度榜样获取openid

微信小程序获取openid的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于微信小程序获取openid失败是什么原因、微信小程序获取openid的信息别忘了在本站进行查找喔。

猜你喜欢

发表评论

发表评论:

扫描微信

扫一扫添加微信

分享:

支付宝

微信