示例#1
0
        /// <summary>
        /// 登录 并获取信息 存放到session中
        /// </summary>
        /// <param name="domain"></param>
        /// <param name="openId"></param>
        /// <param name="passWord"></param>
        protected async System.Threading.Tasks.Task <bool> LoginSuccess(string domain, string openId, string passWord)
        {
            string info       = domain + "|" + openId + "|" + passWord + "|";
            var    service    = new Services.WxUserService();
            var    tokenValue = await service.GetToken(domain, openId, passWord);

            if (tokenValue.Contains("invalid_client"))
            {
                throw new Comm.YYException.YYException("登录失败" + info + tokenValue + ",请联系管理员");
            }
            //if (tokenValue.Contains("invalid_grant"))
            //{
            //    //ModelState.AddModelError("", "登录失败,请联系管理员");
            //    throw new Comm.YYException.YYException("登录失败"+ info + tokenValue + ",请联系管理员");
            //}

            Session["tokenInfo"]    = "";
            Session["accessToken"]  = "";
            Session["refreshToken"] = "";
            if (tokenValue.Contains("invalid_grant")) //没有权限
            {
                Session["Binding"] = "0";
            }
            else
            {
                Sys.Models.TokenInfo tokenInfo = new Sys.Models.TokenInfo(tokenValue);
                Session["Binding"]      = "1";
                Session["tokenInfo"]    = tokenValue;
                Session["accessToken"]  = tokenInfo.access_token;
                Session["refreshToken"] = tokenInfo.refresh_token;
            }

            return(true);
        }
示例#2
0
        /// <summary>
        /// 上报地理位置
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_LocationRequest(RequestMessageEvent_Location requestMessage)
        {
            bool   flag = false;
            string msg  = "";

            try
            {
                flag = new Services.WxUserService().ReportPosition(new Sys.Models.WxUserInfo()
                {
                    OpenId    = requestMessage.FromUserName,
                    Latitude  = requestMessage.Latitude,
                    Longitude = requestMessage.Longitude
                });
            }
            catch (Comm.YYException.YYException ex)
            {
                msg = ex.Message;
                logs.Error("上报地理位置失败", ex);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                logs.Error("上报地理位置失败", ex);
            }
            //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageNews>(requestMessage);

            //var markersList = new List<Senparc.Weixin.MP.Entities.BaiduMap.BaiduMarkers>();
            //markersList.Add(new Senparc.Weixin.MP.Entities.BaiduMap.BaiduMarkers()
            //{
            //    Latitude = requestMessage.Latitude,
            //    Longitude = requestMessage.Longitude,
            //    Color = "red",
            //    Label = "S",
            //    Size = Senparc.Weixin.MP.Entities.BaiduMap.BaiduMarkerSize.Default,
            //});
            return(null);

            //这里是微信客户端(通过微信服务器)自动发送过来的位置信息
            var responseMessage = CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = msg.ToString();
            return(responseMessage);//这里也可以返回null(需要注意写日志时候null的问题)
        }
示例#3
0
        /// <summary>
        /// 获取信息
        /// </summary>
        /// <param name="domain"></param>
        /// <param name="token"></param>
        /// <param name="openId"></param>
        /// <returns></returns>
        public async System.Threading.Tasks.Task GetMineInfo(string domain, string token, string openId)
        {
            try
            {
                var service   = new Services.WxUserService();
                var userValue = await service.GetMe(domain, token, openId);

                JObject jo = JObject.Parse(userValue);
                if (jo["Error"] != null)
                {
                    if (Convert.ToBoolean(jo["Error"].ToString()))
                    {
                        //ModelState.AddModelError("", jo["Msg"].ToString());
                        throw new Comm.YYException.YYException(jo["Msg"].ToString());
                    }

                    Session[domain] = jo["Info"].ToString();
                }
            }
            catch { }
        }