.NET开发微信小程序-获取OpenId
注:获取当前用户信息只需要用GetUserInfo这个方法就行。这里就不需要提了
前端代码:
CallBack:回调函数
function GetOpenID(CallBack){ var appInstance = getApp() var url = appInstance.globalData.apiurl url +="Weixin/GetOpenID" wx.login({ success: function (loginCode) { wx.request({ url: url, data: { loginCode: loginCode.code }, header: { 'content-type': 'application/json' }, success: function (res) { var obj=res.data.data obj=JSON.parse(obj) CallBack(obj.openid) }, complete: function (res) { //console.log("结果:" + JSON.stringify(res)) } }) } }) }
后台代码:
(目前我是使用的MVC框架)
/// <summary> /// 获取openID /// </summary> /// <param name="loginCode">小程序登录返回的code</param> /// <param name="model">小程序Model</param> /// <returns></returns> public static string GetOpenID(string loginCode, WxConfigModel model) { string url = "https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&grant_type=authorization_code&js_code={2}"; url = string.Format(url, model.config.AppId, model.config.AppSecret, loginCode); return Request.GetWebRequest(url); }
相应的WxConfigModel和GetWebRequest方法在之前的博客写道,可以直接调用;
这里目前返回的是一个字符串。所以需要在前端再进行一次JSON.parse(obj).