1個 社群的魏總問我,怎么去取用戶的微信小程序的唯一ID,昨天也給他解答了。今天把這個答案沉淀下來。于是有了這篇。 這個唯一ID,我們一般叫openid,是唯一標定用戶身份的,每個微信在這個小程序中是唯一的。  要獲取到用戶的OPENID,要通過一個叫wx.login獲取到code,然后拿 這個code去找VFP后端換openid 來看津津有味的代碼。 首先來獲取codewx.login({ success: res => { console.log(res); wx.request({ url:'ctl_login.fsp?proc=getopenid', method: "GET", data: { jscode: res.code, sysinfo: JSON.stringify(sysinfo2) }, success: function (res) { console.log(res); if (res.data.errno && res.data.errno != 0) { reject(res.data.errmsg); } that.globalData.openid = res.data.openid;
}, fail: function (err) { wx.showModal({ title: '加菲貓的VFP', content: err.errMsg, showCancel:false }) } }) }, fail: err => { wx.showModal({ title: '加菲貓的VFP', content: err.errMsg, showCancel: false })
VFP后端怎么拿呢?Define Class ctl_login As Session Procedure getOpenid PRIVATE csysinfo,cplatform,unionid,oReturn cJSCODE=httpqueryparams("jscode") csysinfo=httpqueryparams("sysinfo",This.iconnid)
oWXAPI=Newobject("weixinApi","weixinApi.prg") oWXAPI.APPid="" && 你的appid oWXAPI.SECRET="" &&你的secret
oFrmMain.log("開始獲取OPENID") oReturn=oWXAPI.getopenid(cJSCODE) &&這樣轉(zhuǎn)換有沒有必要,多個值用對象?
IF ISNULL(oReturn) ERROR oWXAPI.msg ENDIF
unionid=oReturn.unionid
TEXT TO cReturn NOSHOW TEXTMERGE PRETEXT 1+2 {"openid":"<<oReturn.openid>>"} ENDTEXT Return cReturn ENDPROC ENDDEFINE
|