分享

VFP获取微信小程序用户openID,易如反掌

 沅江纤夫4mr4bm 2022-04-06

1个

社群的魏总问我,怎么去取用户的微信小程序的唯一ID,昨天也给他解答了。今天把这个答案沉淀下来。于是有了这篇。

这个唯一ID,我们一般叫openid,是唯一标定用户身份的,每个微信在这个小程序中是唯一的。

图片

要获取到用户的OPENID,要通过一个叫wx.login获取到code,然后拿 这个code去找VFP后端换openid

来看津津有味的代码。

首先来获取code

wx.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) &&这样转换有没有必要,多个值用对象?
IF ISNULL(oReturn) ERROR oWXAPI.msg ENDIF
unionid=oReturn.unionid
TEXT TO cReturn NOSHOW TEXTMERGE PRETEXT 1+2 {"openid":"<<oReturn.openid>>"} ENDTEXT Return cReturn ENDPROCENDDEFINE

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多