项目场景:

本文主要:
官方文档
官方文档指出需要先进行login基础授权,获取code,然后后台换取sessionKey ,注意这个==sessionKey ==是会过期的,但是有时候你可能会发现就算没过期也会获取手机号失败. 文章很乱,感谢浏览,如果有错误欢迎指出.非常感谢.


正常获取手机号:

前提是你已经进行过wx.login(文档)得到sessionKey
vue+uni框架小程序
下面展示一些 内联代码片

// 引入.js解密文件,官方的,放最下面了import WXBizDataCrypt from "@/common/WXBizDataCrypt";
// 获取手机号按钮<buttonclass="onQuick"open-type="getPhoneNumber"@getphonenumber="getPhoneNumber">切换至微信手机号授权</button>
// 按钮事件getPhoneNumber(e) {//判断下是否过期sessionKey,就判断下,没啥意义wx.checkSession({success() {console.log("session未过期");},fail() {console.log("session过期 ");},});let sessionKey = uni.getStorageSync("originSessionKey");let phoneNumber = new WXBizDataCrypt("你的appid", sessionKey);let data = phoneNumber.decryptData(e.detail.encryptedData, e.detail.iv);if (data.purePhoneNumber) {let params = {platformPhone: data.purePhoneNumber,//手机号};}},
// 这个是解密用的,创建一个JS文件,调用就行,这个直接复制,官方的,忘了在哪找到得了var crypto = require('crypto')function WXBizDataCrypt(appId, sessionKey) {this.appId = appIdthis.sessionKey = sessionKey
}WXBizDataCrypt.prototype.decryptData = function (encryptedData, iv) {// base64 decodevar sessionKey = new Buffer(this.sessionKey, 'base64')encryptedData = new Buffer(encryptedData, 'base64')iv = new Buffer(iv, 'base64')try {// 解密var decipher = crypto.createDecipheriv('aes-128-cbc', sessionKey, iv)// 设置自动 padding 为 true,删除填充补位decipher.setAutoPadding(true)var decoded = decipher.update(encryptedData, 'binary', 'utf8')decoded += decipher.final('utf8')decoded = JSON.parse(decoded)} catch (err) {throw new Error('Illegal Buffer')}if (decoded.watermark.appid !== this.appId) {throw new Error('Illegal Buffer')}return decoded
}module.exports = WXBizDataCrypt

#:

本来整个场这样获取没一点问题,获取并解密,前端就能获取到用户手机号(后端使用code提供*sessionKey *的前提下)

写着玩的,有点乱,这个报错应该是login久了,但是sessionKey 没过期,所以不能只依靠wx.checkSession来判断,最好还是做一个报错的监测,没执行完就说明报错了,就让它跳login,

#mermaid-svg-6neHqkYZfYkc4BLF .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-6neHqkYZfYkc4BLF .label text{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .node rect,#mermaid-svg-6neHqkYZfYkc4BLF .node circle,#mermaid-svg-6neHqkYZfYkc4BLF .node ellipse,#mermaid-svg-6neHqkYZfYkc4BLF .node polygon,#mermaid-svg-6neHqkYZfYkc4BLF .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-6neHqkYZfYkc4BLF .node .label{text-align:center;fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .node.clickable{cursor:pointer}#mermaid-svg-6neHqkYZfYkc4BLF .arrowheadPath{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-6neHqkYZfYkc4BLF .flowchart-link{stroke:#333;fill:none}#mermaid-svg-6neHqkYZfYkc4BLF .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-6neHqkYZfYkc4BLF .edgeLabel rect{opacity:0.9}#mermaid-svg-6neHqkYZfYkc4BLF .edgeLabel span{color:#333}#mermaid-svg-6neHqkYZfYkc4BLF .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-6neHqkYZfYkc4BLF .cluster text{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-6neHqkYZfYkc4BLF .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-6neHqkYZfYkc4BLF text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-6neHqkYZfYkc4BLF .actor-line{stroke:grey}#mermaid-svg-6neHqkYZfYkc4BLF .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-6neHqkYZfYkc4BLF .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-6neHqkYZfYkc4BLF #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-6neHqkYZfYkc4BLF .sequenceNumber{fill:#fff}#mermaid-svg-6neHqkYZfYkc4BLF #sequencenumber{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF #crosshead path{fill:#333;stroke:#333}#mermaid-svg-6neHqkYZfYkc4BLF .messageText{fill:#333;stroke:#333}#mermaid-svg-6neHqkYZfYkc4BLF .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-6neHqkYZfYkc4BLF .labelText,#mermaid-svg-6neHqkYZfYkc4BLF .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-6neHqkYZfYkc4BLF .loopText,#mermaid-svg-6neHqkYZfYkc4BLF .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-6neHqkYZfYkc4BLF .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-6neHqkYZfYkc4BLF .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-6neHqkYZfYkc4BLF .noteText,#mermaid-svg-6neHqkYZfYkc4BLF .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-6neHqkYZfYkc4BLF .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-6neHqkYZfYkc4BLF .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-6neHqkYZfYkc4BLF .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-6neHqkYZfYkc4BLF .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .section{stroke:none;opacity:0.2}#mermaid-svg-6neHqkYZfYkc4BLF .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-6neHqkYZfYkc4BLF .section2{fill:#fff400}#mermaid-svg-6neHqkYZfYkc4BLF .section1,#mermaid-svg-6neHqkYZfYkc4BLF .section3{fill:#fff;opacity:0.2}#mermaid-svg-6neHqkYZfYkc4BLF .sectionTitle0{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .sectionTitle1{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .sectionTitle2{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .sectionTitle3{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-6neHqkYZfYkc4BLF .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .grid path{stroke-width:0}#mermaid-svg-6neHqkYZfYkc4BLF .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-6neHqkYZfYkc4BLF .task{stroke-width:2}#mermaid-svg-6neHqkYZfYkc4BLF .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .taskText:not([font-size]){font-size:11px}#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-6neHqkYZfYkc4BLF .task.clickable{cursor:pointer}#mermaid-svg-6neHqkYZfYkc4BLF .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-6neHqkYZfYkc4BLF .taskText0,#mermaid-svg-6neHqkYZfYkc4BLF .taskText1,#mermaid-svg-6neHqkYZfYkc4BLF .taskText2,#mermaid-svg-6neHqkYZfYkc4BLF .taskText3{fill:#fff}#mermaid-svg-6neHqkYZfYkc4BLF .task0,#mermaid-svg-6neHqkYZfYkc4BLF .task1,#mermaid-svg-6neHqkYZfYkc4BLF .task2,#mermaid-svg-6neHqkYZfYkc4BLF .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutside0,#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutside2{fill:#000}#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutside1,#mermaid-svg-6neHqkYZfYkc4BLF .taskTextOutside3{fill:#000}#mermaid-svg-6neHqkYZfYkc4BLF .active0,#mermaid-svg-6neHqkYZfYkc4BLF .active1,#mermaid-svg-6neHqkYZfYkc4BLF .active2,#mermaid-svg-6neHqkYZfYkc4BLF .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-6neHqkYZfYkc4BLF .activeText0,#mermaid-svg-6neHqkYZfYkc4BLF .activeText1,#mermaid-svg-6neHqkYZfYkc4BLF .activeText2,#mermaid-svg-6neHqkYZfYkc4BLF .activeText3{fill:#000 !important}#mermaid-svg-6neHqkYZfYkc4BLF .done0,#mermaid-svg-6neHqkYZfYkc4BLF .done1,#mermaid-svg-6neHqkYZfYkc4BLF .done2,#mermaid-svg-6neHqkYZfYkc4BLF .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-6neHqkYZfYkc4BLF .doneText0,#mermaid-svg-6neHqkYZfYkc4BLF .doneText1,#mermaid-svg-6neHqkYZfYkc4BLF .doneText2,#mermaid-svg-6neHqkYZfYkc4BLF .doneText3{fill:#000 !important}#mermaid-svg-6neHqkYZfYkc4BLF .crit0,#mermaid-svg-6neHqkYZfYkc4BLF .crit1,#mermaid-svg-6neHqkYZfYkc4BLF .crit2,#mermaid-svg-6neHqkYZfYkc4BLF .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-6neHqkYZfYkc4BLF .activeCrit0,#mermaid-svg-6neHqkYZfYkc4BLF .activeCrit1,#mermaid-svg-6neHqkYZfYkc4BLF .activeCrit2,#mermaid-svg-6neHqkYZfYkc4BLF .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-6neHqkYZfYkc4BLF .doneCrit0,#mermaid-svg-6neHqkYZfYkc4BLF .doneCrit1,#mermaid-svg-6neHqkYZfYkc4BLF .doneCrit2,#mermaid-svg-6neHqkYZfYkc4BLF .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-6neHqkYZfYkc4BLF .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-6neHqkYZfYkc4BLF .milestoneText{font-style:italic}#mermaid-svg-6neHqkYZfYkc4BLF .doneCritText0,#mermaid-svg-6neHqkYZfYkc4BLF .doneCritText1,#mermaid-svg-6neHqkYZfYkc4BLF .doneCritText2,#mermaid-svg-6neHqkYZfYkc4BLF .doneCritText3{fill:#000 !important}#mermaid-svg-6neHqkYZfYkc4BLF .activeCritText0,#mermaid-svg-6neHqkYZfYkc4BLF .activeCritText1,#mermaid-svg-6neHqkYZfYkc4BLF .activeCritText2,#mermaid-svg-6neHqkYZfYkc4BLF .activeCritText3{fill:#000 !important}#mermaid-svg-6neHqkYZfYkc4BLF .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-6neHqkYZfYkc4BLF g.classGroup text .title{font-weight:bolder}#mermaid-svg-6neHqkYZfYkc4BLF g.clickable{cursor:pointer}#mermaid-svg-6neHqkYZfYkc4BLF g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-6neHqkYZfYkc4BLF g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-6neHqkYZfYkc4BLF .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-6neHqkYZfYkc4BLF .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-6neHqkYZfYkc4BLF .dashed-line{stroke-dasharray:3}#mermaid-svg-6neHqkYZfYkc4BLF #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF .commit-id,#mermaid-svg-6neHqkYZfYkc4BLF .commit-msg,#mermaid-svg-6neHqkYZfYkc4BLF .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-6neHqkYZfYkc4BLF g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-6neHqkYZfYkc4BLF g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-6neHqkYZfYkc4BLF g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-6neHqkYZfYkc4BLF .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-6neHqkYZfYkc4BLF .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-6neHqkYZfYkc4BLF .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-6neHqkYZfYkc4BLF .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-6neHqkYZfYkc4BLF .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-6neHqkYZfYkc4BLF .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-6neHqkYZfYkc4BLF .edgeLabel text{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-6neHqkYZfYkc4BLF .node circle.state-start{fill:black;stroke:black}#mermaid-svg-6neHqkYZfYkc4BLF .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-6neHqkYZfYkc4BLF #statediagram-barbEnd{fill:#9370db}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-state .divider{stroke:#9370db}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-6neHqkYZfYkc4BLF .note-edge{stroke-dasharray:5}#mermaid-svg-6neHqkYZfYkc4BLF .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-6neHqkYZfYkc4BLF .error-icon{fill:#522}#mermaid-svg-6neHqkYZfYkc4BLF .error-text{fill:#522;stroke:#522}#mermaid-svg-6neHqkYZfYkc4BLF .edge-thickness-normal{stroke-width:2px}#mermaid-svg-6neHqkYZfYkc4BLF .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-6neHqkYZfYkc4BLF .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-6neHqkYZfYkc4BLF .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-6neHqkYZfYkc4BLF .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-6neHqkYZfYkc4BLF .marker{fill:#333}#mermaid-svg-6neHqkYZfYkc4BLF .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-6neHqkYZfYkc4BLF {color: rgba(0, 0, 0, 0.75);font: ;}

用户立即选授权手机号
过期
没过期
报错
没报错
wx.login得code换sessionKey
本文正常流程
用户不立即授权手机号,过了一段时间授权手机号
sessionKey 过期or没过期
报错or没报错
得到手机号

:报错

有时候就是会这样没过期还是会报错,就很奇怪,我解决是报错就清掉用户信息,再跳login,因为他应该很久前的login…文章很乱,感谢浏览,如果有错误欢迎指出.

微信小程序获取手机号,前端解密手机号,微信sessionKey过期,微信手机号授权相关推荐

  1. 微信小程序获取用户信息流程(2022年版)

     开门见山地说,本文主要讲述微信小程序在2022年以后获取用户信息的主要方法,如果想要了解2022年之前微信小程序获取用户信息的相关知识或者是微信小程序之前这部分的设计思想的话,推荐博主的下面这篇博客 ...

  2. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  3. uni-app微信小程序获取手机号;微信小程序获取手机号,获取到后需要进行解密;微信小程序获取手机号失败 Error:该appId没有权限

    方法1.uni-app登录加获取手机号解密-直接看此篇即可解决 微信小程序获取手机号注意点: 1.需要先登录,微信小程序登录看这篇 2.手机号获取到时加密的,需要后端解密或者前端自己解密(解密时候就会 ...

  4. 微信小程序 获取手机号 JavaScript解密示例代码详解

    刚开始开发微信小程序的时候,想着实现手机验证码登入,后来查阅资料得知,发给用户的短信是要自己付费的.后来想想,微信获取用户的手机号一样可以保证手机号码的真实性,因为手机号既然可以绑定微信,那么肯定是被 ...

  5. 好玩的接口 之 Java 解密微信小程序获取手机号

    LZ-Says:有些东西,真的是很矛盾,本来很简单的事儿,各自坚持,结果,不欢而散,不舍?如何? 前言 最近搞接口,基于 Spring Boot,怎么说呢,很虐. 不过熟悉了业务,表结构等等,相对来说 ...

  6. 微信小程序获取手机号并解密详解

    微信小程序获取手机号并解密 1 获取手机号 2 解密 2.1 获取所需数据 2.2 解密返回数据 1 获取手机号 获取手机号的过程官方文档有详细的介绍.参考官方链接 要注意的是,此功能只对非个人且完成 ...

  7. 微信小程序获取手机号登录流程

    微信小程序获取手机号登录流程 首先前端使用wx.login 获取code wx.login({success(res) {if (res.code) {that.setData({code: res. ...

  8. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号

    获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...

  9. 微信小程序获取手机号登录流程(个人开发者账号不支持)

    微信小程序获取手机号登录流程 所需条件 1. 非个人开发者账号 2. AppID+AppSecret 流程思路 **注意:** 代码实现 常见问题 所需条件 1. 非个人开发者账号 获取手机号文档 这 ...

  10. springboot 微信小程序获取用户手机号 最新方式

    springboot 微信小程序获取用户手机号 直接开整!!! 现在有两种方式获取微信用户的手机号 第一种 这种方式比较旧了,也能获取到手机号,但不建议使用. 1.前端调用wx.login()(官方的 ...

最新文章

  1. 机器视觉-相机内参数和外参数
  2. NR 5G QoS模型
  3. [软件工程基础]团队作业Week3
  4. ad19 导出step 没有pcb_PCB设计导出Gerber基本操作及注意事项(三)
  5. 【每日算法Day 73】学妹大半夜私聊我有空吗,然后竟然做出这种事!
  6. 22、redis中数据库默认是多少个db 及作用?
  7. 拓端tecdat|R语言分布滞后非线性模型(DLNM)空气污染研究温度对死亡率影响建模应用
  8. 计算机的输入法如何使用简短描述,应用电脑(1)第一章 计算机组成与中文输入法...
  9. cmd命令提示符配置切换IP地址
  10. 怎样系统的学习计算机编程,如何学习电脑编程
  11. WiFi能连上但是上不了网怎么办?
  12. [逆向]汇编movs,stos,rep指令讲解
  13. 一个简单的Appium测试(Python语言)
  14. android全渠道浅谈
  15. android手机的刷机
  16. opencv-viz模块简单示例
  17. 《 最新中国高校毕业生薪资报告 》
  18. SQL语句之操作表记录(CRUD)
  19. Elastic Search一些用法
  20. 计算机论文 游戏,计算机游戏论文3000字_计算机游戏毕业论文范文模板.doc

热门文章

  1. Vue和SuperSlide做轮播效果
  2. Excel常用数据分析技能(PowerBI)
  3. Java-opts变量没生效,使用JAVA_OPTS env变量运行java无效
  4. 玩家交互体验—剑网3师徒系统
  5. 使用 Promise 时的5个常见错误
  6. 六十甲子亡命安葬山向宜忌
  7. windows下安装虚拟机
  8. 大连渤海・黄海潮汐时间表
  9. 《我不是潘金莲》所揭示的
  10. 数字化赋能三农 农行、邮储如何保“质”更保“智”?