大圣又归来 發表於 2020-4-29 14:32:00

微信公众号开发-微信公众号网页H5静默授权!!!

<p>静默授权 也就是&nbsp; &nbsp;默默的授权哈哈</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;只能拿到已关注用户的信息</p>
<p>简单流程:</p>
<p><strong>1.换取code.</strong>  </p>
<p>我用的uniapp写的</p>
<p>在create的时候就调用 getWechatCode()</p>
<p>页面:</p>
<p><span style="background-color: rgba(255, 102, 0, 1)">getWechatCode</span>() { // 非静默授权,第一次有弹框<br>                               const code = this.<span style="background-color: rgba(255, 102, 0, 1)">getUrlParam</span>('code') // 截取路径中的code,如果没有就去微信授权,如果已经获取到了就直接传code给后台获取openId<br>                                            console.log(" code"+code)<br>                                            alert("code"+code)<br>                                const local = window.location.href<br>                              if (code == null || code === '') {<br>                                  window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + '<span style="background-color: rgba(255, 102, 0, 1)">appID</span>' + '&amp;redirect_uri=' + encodeURIComponent(local) + '&amp;response_type=code&amp;scope=snsapi_userinfo&amp;state=1#wechat_redirect'<br>                              } else {<br>                                this.<span style="background-color: rgba(204, 255, 204, 1)">getOpenId</span>(code); // <span style="background-color: rgba(255, 102, 0, 1)">把code传给后台获取用户信息这里根据官方文档拿到<span style="color: rgba(136, 136, 136, 1); background-color: rgba(204, 255, 204, 1)">code就能获取到用户信息了然后做你想要的操作</span></span><br>                                                  console.log(" code2"+code)<br>                                                  alert(" code2"+code);<br>                              }<br>                        },</p>
<p>&nbsp;</p>
<p><span style="background-color: rgba(255, 102, 0, 1)"> getUrlParam</span>(name) {<br>                                      var reg = new RegExp('(^|&amp;)' + name + '=([^&amp;]*)(&amp;|$)')<br>                                      let url = window.location.href.split('#')<br>                                      let search = url.split('?')<br>                                            console.log(search)<br>                                     if (search) {<br>                                          var r = search.substr(0).match(reg)<br>                                          if (r !== null)<br>                                              return unescape(r)<br>                                            return null<br>                                      } else<br>                                        return null<br>                                    },</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>后台就不写的吧!</p>
<p>这个方法说就是一个ajax&nbsp; &nbsp; getOpenId&nbsp; 将code穿到后台换取openid 然后再拿到用户信息就行了</p>
<p>微信公众号开发推荐可以看下这个:fastweixin&nbsp; &nbsp; &nbsp;&nbsp;https://gitee.com/pyinjava/fastweixin</p>
<p>还有这个</p>
<p>关于微信公众号开发欢迎大家一起交流!!!</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/liglacier/p/12802031.html
頁: [1]
查看完整版本: 微信公众号开发-微信公众号网页H5静默授权!!!