.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).

 

posted @ 2017-08-10 12:55  王彬-效率开发  阅读(2999)  评论(0编辑  收藏  举报