Esempio n. 1
0
 /// <summary>
 /// 单击同步门店按钮事件
 /// </summary>
 protected void btnSyncPoiInfos_Click(object sender, EventArgs e)
 {
     try
     {
         //获取access_token
         string token = Access_token.GetAccess_token(Access_token.Access_Type.weixin, true);
         //门店列表接口提交url
         string url = "https://api.weixin.qq.com/cgi-bin/poi/getpoilist?access_token=" + token;
         //提交json串,门店列表索引开始:begin,门店列表返回数量限制:limit
         string json = @"{""begin"":0,""limit"":10}";
         //调用post提交方法
         string strPOIList = new Hishop.Weixin.MP.Util.WebUtils().DoPost(url, json);
         //将传回的json字符串转换为json对象
         JObject obj3 = JsonConvert.DeserializeObject(strPOIList) as JObject;
         //将json对象转换为实体类对象
         List <PoiInfoList> poiInfoList = JsonHelper.JsonToList <PoiInfoList>(obj3["business_list"].ToString());
         if (poiInfoList.Count <= 0)
         {
             this.ShowMsg("尚未添加微信门店", false);
             return;
         }
         if (WxPoiHelper.SyncPoiListInfo(poiInfoList))
         {
             this.ShowMsgAndReUrl("同步成功!", true, Request.Url.AbsoluteUri);
         }
         else
         {
             this.ShowMsg("同步失败", false);
         }
     }
     catch (Exception ex)
     {
         this.ShowMsg(ex.Message, false);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 获取Access_token
        /// </summary>
        /// <returns></returns>
        public static Access_token GetAccess_token()
        {
            string       appid  = "wxc625758e50b5ced1";                          //微信公众号appid
            string       secret = "k5XpFWoq9YbqGNEWUK_fiDYoS6UJLu-YlFqMAUOOF4s"; //微信公众号appsecret
            string       strUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appid + "&corpsecret=" + secret;
            Access_token mode   = new Access_token();

            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strUrl);  //用GET形式请求指定的地址

            req.Method = "GET";

            using (WebResponse wr = req.GetResponse())
            {
                //HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                StreamReader reader  = new StreamReader(wr.GetResponseStream(), Encoding.UTF8);
                string       content = reader.ReadToEnd();
                reader.Close();
                reader.Dispose();

                //在这里对Access_token 赋值
                Access_token token = new Access_token();
                token             = JsonConvert.DeserializeObject <Access_token>(content);
                mode.access_token = token.access_token;
                mode.expires_in   = token.expires_in;
            }
            return(mode);
        }
Esempio n. 3
0
        /// <summary>
        /// 根据当前日期判断是否在有效期内
        /// </summary>
        /// <returns></returns>
        public static string IsExistAccess_Token()
        {
            string   Token = string.Empty;
            DateTime YouXRQ;

            // 读取XML文件中的数据,并显示出来 ,注意文件路径
            Token = AppConfig.Access_Token;
            log.AppenLog("Token:" + Token);
            log.AppenLog("Access_YouXRQ:" + AppConfig.Access_YouXRQ);
            YouXRQ = Convert.ToDateTime(AppConfig.Access_YouXRQ);
            log.AppenLog("YouXRQ:" + YouXRQ);
            if (DateTime.Now > YouXRQ)
            {
                try
                {
                    DateTime     _youxrq = DateTime.Now;
                    Access_token mode    = GetAccess_token();
                    _youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in));
                    Token   = mode.access_token;
                }
                catch (Exception ex)
                {
                    WriteLog(ex.Message);
                }
            }
            return(Token);
        }
Esempio n. 4
0
        /// <summary>
        /// 获取Access_token值
        /// </summary>
        /// <returns></returns>
        public static string IsExistAccess_Token()
        {
            string   Token = string.Empty;
            DateTime YouXRQ;
            // 读取XML文件中的数据,并显示出来 ,注意文件路径
            string       filepath = System.Web.HttpContext.Current.Server.MapPath("access_token.xml");
            StreamReader str      = new StreamReader(filepath, System.Text.Encoding.UTF8);
            XmlDocument  xml      = new XmlDocument();

            xml.Load(str);
            str.Close();
            str.Dispose();
            Token  = xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText;
            YouXRQ = Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText);
            if (DateTime.Now > YouXRQ)//当Access_token失效时,才重新获取
            {
                DateTime     _youxrq = DateTime.Now;
                Access_token mode    = GetAccess_token();
                xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText = mode.access_token;
                _youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in));
                xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText = _youxrq.ToString();
                xml.Save(filepath);
                Token = mode.access_token;
            }
            return(Token);
        }
Esempio n. 5
0
        ////返回字符串调用方法:
        //public static HttpResponseMessage ToHttpMsgForWeChat(string strMsg) { HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strMsg, Encoding.GetEncoding("UTF-8"), "application/x-www-form-urlencoded") }; return result; }


        public static Access_token GetAccess_token()
        {
            Access_token mode   = new Access_token();
            string       appid  = mode.appid;
            string       secret = mode.app_secret;

            loghelper.WriteLine(logFile, "appid:" + appid + "secret:" + secret);
            string strUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;


            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strUrl);

            loghelper.WriteLine(logFile, "请求URL:" + strUrl);
            req.Method = "GET";
            loghelper.WriteLine(logFile, "请求方式为:" + req.Method);
            using (WebResponse wr = req.GetResponse())
            {
                HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                loghelper.WriteLine(logFile, "myResponse");
                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);

                string content = reader.ReadToEnd();
                loghelper.WriteLine(logFile, "content=" + content);
                //Response.Write(content);
                //在这里对Access_token 赋值
                Access_token token = new Access_token();
                token             = JsonHelper.ParseFromJson <Access_token>(content);
                mode.access_token = token.access_token;
                mode.expires_in   = token.expires_in;
                loghelper.WriteLine(logFile, "返回值为 access_token=" + mode.access_token + "expires_in=" + mode.expires_in);
            }
            return(mode);
        }
        private static Access_token GetAccess_token()
        {
            string       AppId     = "wxa76dfc44f4141c4c";
            string       AppSecret = "e23771971d294d4403ece898138cc01f";
            string       strUrl    = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + AppId + "&secret=" + AppSecret;
            Access_token mode      = new Access_token();

            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strUrl);  //用GET形式请求指定的地址

            req.Method = "GET";

            using (WebResponse wr = req.GetResponse())
            {
                //HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                StreamReader reader  = new StreamReader(wr.GetResponseStream(), Encoding.UTF8);
                string       content = reader.ReadToEnd();
                reader.Close();
                reader.Dispose();

                //在这里对Access_token 赋值
                Access_token token = new Access_token();
                token             = JsonConvert.DeserializeObject <Access_token>(content);
                mode.access_token = token.access_token;
                mode.expires_in   = token.expires_in;
            }
            return(mode);
        }
Esempio n. 7
0
        public static Access_token GetAccess_token()
        {
            string       appid  = "wx3fd9b86495ce9609";
            string       secret = "6f6a79781e36f7c69e48533f209bc226";
            string       strUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;
            Access_token mode   = new Access_token();

            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strUrl);

            req.Method = "GET";
            using (WebResponse wr = req.GetResponse())
            {
                HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();

                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);

                string content = reader.ReadToEnd();
                //Response.Write(content);
                //在这里对Access_token 赋值
                Access_token token = new Access_token();
                token             = JsonHelper.ParseFromJson <Access_token>(content);
                mode.access_token = token.access_token;
                mode.expires_in   = token.expires_in;
            }
            return(mode);
        }
Esempio n. 8
0
        /// <summary>
        /// 根据当前日期 判断Access_Token 是否超期  如果超期返回新的Access_Token   否则返回之前的Access_Token
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        public static string IsExistAccess_Token()
        {
            string   Token = string.Empty;
            DateTime YouXRQ;
            // 读取XML文件中的数据,并显示出来 ,注意文件路径
            //string filepath = HttpContext.Current.Server.MapPath("\\Resource\\WeChat\\AccessToken.xml");
            //微信需要可信域名,默认80端口,使用别名登陆,相对路径会变成iis的根目录,所以写成绝对路径
            string       filepath = string.Format(@"D:\LeaRun\Resource\WeChat\AccessToken.xml");
            StreamReader str      = new StreamReader(filepath, Encoding.UTF8);
            XmlDocument  xml      = new XmlDocument();

            xml.Load(str);
            str.Close();
            str.Dispose();
            Token  = xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText;
            YouXRQ = Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText);

            //TimeSpan st1 = new TimeSpan(YouXRQ.Ticks); //最后刷新的时间
            //TimeSpan st2 = new TimeSpan(DateTime.Now.Ticks); //当前时间
            //TimeSpan st = st2 - st1; //两者相差时间
            if (DateTime.Now > YouXRQ)
            {
                DateTime     _youxrq = DateTime.Now;
                Access_token mode    = GetAccess_token();
                xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText = mode.access_token;
                _youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in));
                xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText = _youxrq.ToString();
                xml.Save(filepath);
                Token = mode.access_token;
            }
            return(Token);
        }
        /// <summary>
        /// 获取jsapi_ticket
        /// </summary>
        /// <returns></returns>
        //public string wx_jsapi_ticket()
        //{
        //    Access_token access_tokens = GetAccess_token();
        //    string url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=wx_card"+ access_tokens.access_token;
        //    HttpClient httpClient = new HttpClient();
        //    var ticket=httpClient.GetAsync(url);
        //    return ticket.ToString();
        //}
        private static wx_ticket GetTicket()
        {
            Access_token token = GetAccess_token();
            //string jsapi_ticket = "";//唯一凭证
            string         jsurl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + token.access_token + "&type=jsapi";
            HttpWebRequest req   = (HttpWebRequest)HttpWebRequest.Create(jsurl); //用GET形式请求指定的地址

            req.Method = "GET";
            wx_ticket wx_ = new wx_ticket();

            using (WebResponse wr = req.GetResponse())
            {
                //HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                StreamReader reader  = new StreamReader(wr.GetResponseStream(), Encoding.UTF8);
                string       content = reader.ReadToEnd();
                //jsapi_ticket = content;
                reader.Close();
                reader.Dispose();
                wx_ticket wx_Ticket = new wx_ticket();
                wx_Ticket  = JsonConvert.DeserializeObject <wx_ticket>(content);
                wx_.ticket = wx_Ticket.ticket;
            }
            //WriteLogs("piaoju", "ticket", jsapi_ticket);
            return(wx_);
        }
Esempio n. 10
0
        private static Access_token GetsuiteAccess_token(string corId, string Corpsecret, string SuiteTicket)
        {
            Access_token mode = new Access_token();

            try
            {
                //1.获取第三方应用凭证(suite_access_token)
                string suitUrl  = $"https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token";
                string suitpost = "{ \"suite_id\": \"" + corId + "\",\"suite_secret\":\"" + Corpsecret + "\",\"suite_ticket\":\"" + SuiteTicket + "\"}";
                log.AppenLog("获取第三方应用凭证:" + suitpost);
                string suitResult = httpHelp.PostWebRequest(suitUrl, suitpost, Encoding.UTF8);
                log.AppenLog("获取第三方应用凭证返回:" + suitResult);
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(JsonDes));
                MemoryStream ms  = new MemoryStream(Encoding.UTF8.GetBytes(suitResult));
                JsonDes      obj = (JsonDes)ser.ReadObject(ms);
                string       suite_access_token = obj.suite_access_token;
                mode.access_token            = suite_access_token;
                mode.expires_in              = obj.expires_in;
                AppConfig.suite_access_token = suite_access_token;
                AppConfig.suiteAccess_YouXRQ = DateTime.Now.AddSeconds(int.Parse(mode.expires_in)).ToString("yyyy-MM-dd HH:mm:ss");
            }
            catch (Exception ex)
            {
                log.AppenLog("获取第三方应用凭证失败");
            }
            return(mode);
        }
Esempio n. 11
0
        /// <summary>
        /// 根据当前日期获取第三方应用凭证
        /// </summary>
        /// <returns></returns>
        public static string IssuitResult(string corId, string Corpsecret, string SuiteTicket)
        {
            log.AppenLog("根据日期获取第三方应用凭证");
            string token = string.Empty;

            try
            {
                DateTime YouXRQ;
                token  = BonusHelper.AppConfig.suite_access_token;
                YouXRQ = Convert.ToDateTime(BonusHelper.AppConfig.suiteAccess_YouXRQ);
                if (DateTime.Now > YouXRQ)
                {
                    DateTime     _youxrq = DateTime.Now;
                    Access_token mode    = GetsuiteAccess_token(corId, Corpsecret, SuiteTicket);
                    _youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in));
                    token   = mode.access_token;
                }
            }
            catch (Exception ex)
            {
                log.AppenLog("第三方授权失败");
            }
            log.AppenLog("页面:" + token);
            return(token);
        }
Esempio n. 12
0
        protected override void AttachChildControls()
        {
            SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);

            //if (MemberProcessor.GetCurrentMember().UserId != 215)
            //    GotoResourceNotFound("前方高能预警,非测试人员请回避!");
            hidAccess_token       = (HtmlInputHidden)this.FindControl("hidAccess_token");
            isSanZuo              = (HtmlInputHidden)this.FindControl("isSanZuo");
            isClose               = (HtmlInputHidden)this.FindControl("isClose");
            litStoreName          = (Literal)this.FindControl("litStoreName");
            litBuildings          = (Literal)this.FindControl("litBuildings");
            hidAccess_token.Value = Access_token.GetAccess_token();
            isClose.Value         = masterSettings.isCloseStore.ToString();
            litStoreName.Text     = CustomConfigHelper.Instance.BusinessName;
            isSanZuo.Value        = CustomConfigHelper.Instance.IsSanzuo ? "1" : "0";
            isSanZuo.Value        = CustomConfigHelper.Instance.IsProLa ? "2" : "0";

            /*
             * <li>
             *      <a>取水楼</a>
             *      <span>环亚大厦</span>
             *      <span>民生银行大厦</span>
             *      <span>浦发银行大厦</span>
             *      <span>伟业大厦</span>
             *      <span>庭瑞大厦</span>
             *      <span>IFC国际金融中心</span>
             *      <span>登月大厦</span>
             *      <span>良友大厦</span>
             *      <span>福星国际商会大厦</span>
             *      <span>银湖大厦</span>
             *  </li>
             */

            string    buildingHtml = string.Empty;
            DataTable dtAllStreets = SalesHelper.GetStreetsInfo();

            if (CustomConfigHelper.Instance.IsSanzuo)
            {
                buildingHtml += "<li><a>武汉市 武昌区 水岸国际F6漫时区商圈</a>";
            }
            else
            {
                buildingHtml += "<li><a>深圳宝安区</a>";
            }

            foreach (DataRow row in dtAllStreets.Rows)
            {
                buildingHtml += "<span role='btnStreet' distributorId='" + row["clientUserId"].ToString() + "'>" + row["StreetName"].ToString() + "</span>";
            }
            buildingHtml     += "</li>";
            litBuildings.Text = buildingHtml;
        }
Esempio n. 13
0
        /// <summary>
        /// 获取access_token的方法
        /// </summary>
        /// <param name="corpid">企业ID</param>
        /// <param name="secret">应用的凭证密钥</param>
        /// <returns></returns>
        public static string GetAccessToken(string corpid, string secret)
        {
            //先判断配置文件web.config中是否已经有了Access_Token信息,并且判断距离上次获取的时间是否超过了2小时
            //没有超过的话,不需要获取,直接使用。超出的话,重新获取,并修改web.config中的配置信息。

            //先读取时间信息
            //最后一次获取Access_Token的时间
            string dllPath = string.Format(
                "{0}\\{1}.dll", AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory, "wx_api");
            Configuration      config   = ConfigurationManager.OpenExeConfiguration(dllPath);
            AppSettingsSection oSection = null;

            oSection = config.GetSection("appSettings") as AppSettingsSection;
            string dt = oSection.Settings["Access_Token_3_Time"].Value.ToString();

            DateTime token_dt = Convert.ToDateTime(oSection.Settings["Access_Token_3_Time"].Value.ToString());
            //现在的时间
            DateTime now_dt = DateTime.Now;
            //获取两个时间相差的秒数
            TimeSpan timeSpan = now_dt - token_dt;
            double   c        = timeSpan.TotalSeconds;

            //如果相差大于7200秒的话,重新获取,否则直接使用上次获取的Access_Token值
            if (c > 7200.00)
            {
                string strJson = HttpRequestUtil.RequestUrl(string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}", corpid, secret));

                //反序列化json,把json串序列化成model包,使用了json.net工具包。
                Access_token access_Token = JsonConvert.DeserializeObject <Access_token>(strJson);
                if (access_Token.errcode == 0)
                {
                    //修改配置文件中的节点为新的数据
                    oSection.Settings["Access_Token_3_Time"].Value = now_dt.ToString("yyy-MM-dd HH:mm:ss");
                    oSection.Settings["Access_Token_3"].Value      = access_Token.access_token;
                    config.Save(ConfigurationSaveMode.Modified);
                    return(access_Token.access_token);
                }
                else
                {
                    return(access_Token.errmsg);
                }
            }
            else
            {
                return(oSection.Settings["Access_Token_3"].Value.ToString());
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 菜单项目
        /// </summary>
        public void MyMenu()
        {
            string weixin1 = "";

            weixin1 = @" {
                         ""button"":[
                           {	
                               ""type"":""click"",
                               ""name"":""你好!"",
                               ""key"":""HELLO""
                           },
                           {
                               ""type"":""click"",
                               ""name"":""谁简介"",
                               ""key"":""myprofile""
                           },
                           {
                               ""name"":""测试菜单"",
                               ""sub_button"":[
                                {
                                   ""type"":""view"",
                                   ""name"":""全程陪诊"",
                                   ""url"":""http://543av8.natappfree.cc/WebUI/Index.aspx""
                                },
                                {
                                   ""type"":""view"",
                                   ""name"":""全程陪诊H5"",
                                   ""url"":""" + GetCodeUrl("http://543av8.natappfree.cc/vip-c/index.html") + @"""
                                },
                                {
                                   ""type"":""click"",
                                   ""name"":""疾控中心"",
                                   ""key"":""jkzx""
                                }
                           }]
                         }";

            //string filepath = HttpContext.Current.Server.MapPath("menu.txt");
            //StreamReader sr = new StreamReader(filepath, Encoding.Default);
            //string line = sr.ReadToEnd();
            Access_token model = new Access_token();

            model.access_token = HttpRequestUtil.GetAccessToken();//将access_token进行缓存
            //model = GetAccess_token();
            //GetPage("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" + model.access_token + "", ""); //删除菜单
            GetPage("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + model.access_token + "", weixin1);
        }
Esempio n. 15
0
        protected string Get_token()
        {
            string    url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwf427ba730248b6c9&corpsecret=Oc7XJ3G4DJmTVwey8srmVfSazk8ic2Ebk1VRRStFFL0";
            WebClient wc  = new WebClient();

            wc.Credentials = CredentialCache.DefaultCredentials;
            wc.Encoding    = Encoding.UTF8;
            string returnText = wc.DownloadString(url);


            Access_token at = JsonHelper.ParseFromJson <Access_token>(returnText);

            if (returnText.Contains("errcode"))
            {
                //可能发生错误
            }
            return(at._access_token);//返回的值里面包含access_token,这个值应该每7200秒获取一次
        }
Esempio n. 16
0
        protected string Get_token()
        {
            //string url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxde814da6ae102dd9&corpsecret=irAgDRT7BBJ-WQ7JCMnh8df9moQcp7Vv1wy6iZfHR8IPhFySoi8qKchqebr4wEdu";
            string    url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwf427ba730248b6c9&corpsecret=fCx3vNAPMbdeonhKCPUoSN5vQPudNAObRIjIBTnoZXQ";
            WebClient wc  = new WebClient();

            wc.Credentials = CredentialCache.DefaultCredentials;
            wc.Encoding    = Encoding.UTF8;
            string returnText = wc.DownloadString(url);


            Access_token at = JsonHelper.ParseFromJson <Access_token>(returnText);

            if (returnText.Contains("errcode"))
            {
                //可能发生错误
            }
            return(at._access_token);//返回的值里面包含access_token,这个值应该每7200秒获取一次
        }
Esempio n. 17
0
        protected string Get_token()
        {
            //string url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxde814da6ae102dd9&corpsecret=irAgDRT7BBJ-WQ7JCMnh8df9moQcp7Vv1wy6iZfHR8IPhFySoi8qKchqebr4wEdu";
            string    url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxa18c540ba64d0254&corpsecret=IjdmpjpZ8fE_JS3qh8RRfJOc0gHKpAdMmmHzVI2kPFY";//njvivo
            WebClient wc  = new WebClient();

            wc.Credentials = CredentialCache.DefaultCredentials;
            wc.Encoding    = Encoding.UTF8;
            string returnText = wc.DownloadString(url);


            Access_token at = JsonHelper.ParseFromJson <Access_token>(returnText);

            if (returnText.Contains("errcode"))
            {
                //可能发生错误
            }
            return(at._access_token);//返回的值里面包含access_token,这个值应该每7200秒获取一次
        }
Esempio n. 18
0
        protected string Get_token()
        {
            //string url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxa18c540ba64d0254&corpsecret=IjdmpjpZ8fE_JS3qh8RRfJOc0gHKpAdMmmHzVI2kPFY";
            string    url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxa18c540ba64d0254&corpsecret=IjdmpjpZ8fE_JS3qh8RRfJOc0gHKpAdMmmHzVI2kPFY";
            WebClient wc  = new WebClient();

            wc.Credentials = CredentialCache.DefaultCredentials;
            wc.Encoding    = Encoding.UTF8;
            string returnText = wc.DownloadString(url);


            Access_token at = JsonHelper.ParseFromJson <Access_token>(returnText);

            if (returnText.Contains("errcode"))
            {
                //可能发生错误
            }
            return(at._access_token);//返回的值里面包含access_token,这个值应该每7200秒获取一次
        }
Esempio n. 19
0
        /// 根据当前日期 判断Access_Token 是否超期  如果超期返回新的Access_Token   否则返回之前的Access_Token
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        public static string IsExistAccess_Token()
        {
            string   Token = string.Empty;
            DateTime YouXRQ;

            // 读取XML文件中的数据,并显示出来 ,注意文件路径
            //string filepath = System.Web.HttpContext.Current.Server.MapPath("Access_Token.xml");
            string filepath = Path.Combine(HttpRuntime.AppDomainAppPath, "Access_Token.xml");

            //   var logFile = System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["logpath"] + DateTime.Now.ToString("/yyyyMM") + "/" + "Access_Token" + System.DateTime.Now.ToString("yyyyMM") + ".txt");
            loghelper.WriteLine(logFile, "开始获取Access_Token.xml 路径:" + filepath);
            StreamReader str = new StreamReader(filepath, System.Text.Encoding.UTF8);

            loghelper.WriteLine(logFile, "Access_Token.xml 路径转UTF8:" + str);
            XmlDocument xml = new XmlDocument();

            xml.Load(str);
            str.Close();
            str.Dispose();
            Token = xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText;
            loghelper.WriteLine(logFile, "token值是" + Token);
            YouXRQ = Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText);
            loghelper.WriteLine(logFile, "获取Access_YouXRQ值 " + YouXRQ);
            if (DateTime.Now > YouXRQ)
            {
                DateTime _youxrq = DateTime.Now;
                loghelper.WriteLine(logFile, "GetAccess_token 方法");
                Access_token mode = GetAccess_token();
                loghelper.WriteLine(logFile, "GetAccess_token 结束");

                xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText = mode.access_token;
                loghelper.WriteLine(logFile, "Access_Token 值改变为" + mode.access_token);

                _youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in));
                xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText = _youxrq.ToString();
                loghelper.WriteLine(logFile, "Tokend保存路径" + filepath);
                xml.Save(filepath);
                Token = mode.access_token;
            }

            return(Token);
        }
Esempio n. 20
0
        /// <summary>
        /// 通过corpid和appsecret获取Access_token
        /// </summary>
        /// <returns></returns>
        private static Access_token GetAccess_token()
        {
            string         corpid = "wxa5626fae9ab7ef5b";
            string         secret = "92ORkOk0y1WsoUokHp-hLRicfuxMtj9EUf4fK1KH4Yo";
            string         strUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + secret;
            Access_token   mode   = new Access_token();
            HttpWebRequest req    = (HttpWebRequest)HttpWebRequest.Create(strUrl);

            req.Method = "GET";
            using (WebResponse wr = req.GetResponse())
            {
                HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                StreamReader    reader     = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                string          content    = reader.ReadToEnd();//在这里对Access_token 赋值
                Access_token    token      = new Access_token();
                token             = JsonHelper.ParseFromJson <Access_token>(content);
                mode.access_token = token.access_token;
                mode.expires_in   = token.expires_in;
            }
            return(mode);
        }
Esempio n. 21
0
        public async Task <HttpResponseMessage> accessToken([FromBody] Access_token param)
        {
            try
            {
                var temp = db.Oauths.Where(m => m.Consumer_key == param.consumer_key && m.Request_token == param.request_token && m.Verifier_token == param.verifier_token).FirstOrDefault();
                if (temp == null)
                {
                    return(CreateResponse(HttpStatusCode.NotFound, "Giá trị tham số bạn nhập sai"));
                }
                else
                {
                    var request         = HttpContext.Current.Request;
                    var tokenServiceUrl = request.Url.GetLeftPart(UriPartial.Authority) + request.ApplicationPath + "/Token";
                    using (var client = new HttpClient())
                    {
                        var requestParams = new List <KeyValuePair <string, string> >
                        {
                            new KeyValuePair <string, string>("grant_type", "password"),
                            new KeyValuePair <string, string>("username", "admin2"),
                            new KeyValuePair <string, string>("password", "")
                        };
                        var requestParamsFormUrlEncoded = new FormUrlEncodedContent(requestParams);
                        var tokenServiceResponse        = await client.PostAsync(tokenServiceUrl, requestParamsFormUrlEncoded);

                        var responseString = await tokenServiceResponse.Content.ReadAsStringAsync();

                        var responseCode = tokenServiceResponse.StatusCode;
                        var responseMsg  = new HttpResponseMessage(responseCode)
                        {
                            Content = new StringContent(responseString, Encoding.UTF8, "application/json")
                        };
                        return(responseMsg);
                    }
                }
            }
            catch (Exception e)
            {
                return(CreateResponse(HttpStatusCode.NotFound, "Giá trị tham số bạn nhập sai"));
            }
        }
Esempio n. 22
0
        public void MyMenu()
        {
            string weixin1 = "";

            weixin1 = @" {
     ""button"":[
     {	
          ""type"":""click"",
          ""name"":""你好!"",
          ""key"":""HELLO""
      },
      {
           ""type"":""click"",
           ""name"":""我的简介"",
           ""key"":""myprofile""
      },
      {
           ""name"":""二级菜单"",
           ""sub_button"":[
            {
               ""type"":""view"",
               ""name"":""预约挂号"",
                ""url"":""https://www.guahao.com/""
            },
            {
               ""type"":""click"",
               ""name"":""疾控中心"",
               ""key"":""jkzx""
            }]
       }]
 }
";
            Access_token model = new Access_token();

            model = GetAccess_token();
            GetPage("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + model.access_token + "", weixin1);

            //LogHelper.WriteLog("菜单下面这个i的值" + i);
        }
Esempio n. 23
0
    /// <summary>
    /// 根据当前日期 判断Access_Token 是否超期  如果超期返回新的Access_Token   否则返回之前的Access_Token
    /// </summary>
    /// <param name="datetime"></param>
    /// <returns></returns>
    public static string IsExistAccess_Token()
    {
        string Token = string.Empty;

        //if (System.Web.HttpContext.Current.Session["accessToken"].ToString()!= "")
        //{
        //    Token = System.Web.HttpContext.Current.Session["accessToken"].ToString();

        //}
        if (HttpRequestUtil.TokenExpired(System.Web.HttpContext.Current.Session["accessToken"].ToString()) == true)
        {
            Token = System.Web.HttpContext.Current.Session["accessToken"].ToString();
        }
        else
        {
            Access_token mode = GetAccessToken();

            Token = mode.access_token;
        }

        return(Token);
    }
Esempio n. 24
0
        public static Access_token GetAccess_token()
        {
            log.AppenLog("获取普通token");
            string strUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + AppConfig.sCorpID + "&corpsecret=" + AppConfig.Corpsecret;

            log.AppenLog("获取普通token_URl:" + strUrl);
            Access_token   mode = new Access_token();
            HttpWebRequest req  = (HttpWebRequest)HttpWebRequest.Create(strUrl);

            req.Method = "GET";
            try
            {
                WebResponse     wr         = req.GetResponse();
                HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                StreamReader    reader     = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                string          content    = reader.ReadToEnd();
                //TextHelper.Fun_WriteTxt("GetAccess_token:" + content);
                //Response.Write(content);
                //在这里对Access_token 赋值

                WriteLog("content" + content);
                Access_token token = new Access_token();
                // token =Sunpn.Json.JsonHelper.DeserializeJsonToObject<Access_token>(content);
                token = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType <Access_token>(content, token);
                WriteLog("json");
                mode.access_token = token.access_token;
                mode.expires_in   = token.expires_in;

                AppConfig.Access_Token  = mode.access_token;
                AppConfig.Access_YouXRQ = DateTime.Now.AddSeconds(int.Parse(mode.expires_in)).ToString("yyyy-MM-dd HH:mm:ss");
            }
            catch (Exception ex)
            {
                WriteLog("GetAccess_token is error:" + ex.Message);
            }
            //TextHelper.Fun_WriteTxt(string.Format("GetAccess_token is Return, Access_Token:{0}  Expires_In:{1}", mode.access_token, mode.expires_in));
            return(mode);
        }
Esempio n. 25
0
    /// <summary>
    /// 获取access_token
    /// </summary>
    public static string GetAccessToken()
    {
        string access_token = string.Empty;

        Access_token token = new Access_token();

        token.access_token = ConfigurationManager.AppSettings["access_token"];


        if (TokenExpired(token.access_token))     //access_token过期
        {
            access_token = GetToken(AppIDCode.Appid, AppIDCode.Appsecret);

            Configuration      config = WebConfigurationManager.OpenWebConfiguration("~");
            AppSettingsSection app    = config.AppSettings;
            app.Settings["access_token"].Value = access_token;
            config.Save(ConfigurationSaveMode.Modified);
        }
        else
        {
            return(token.access_token);
        }
        return(access_token);
    }
Esempio n. 26
0
    //     /// <summary>
    /// 获取AccessToken
    /// http://mp.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96access_token
    /// </summary>
    /// <param name="grant_type"></param>
    /// <param name="appid"></param>
    /// <param name="secrect"></param>
    /// <returns>access_toke</returns>
    public static dynamic GetAccessToken()
    {
        string       url  = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + AppIDCode.Appid + "&secret=" + AppIDCode.Appsecret + "";
        Access_token mode = new Access_token();

        HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);

        req.Method = "GET";
        using (WebResponse wr = req.GetResponse())
        {
            HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();

            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);

            string content = reader.ReadToEnd();
            //Response.Write(content);
            //在这里对Access_token 赋值
            Access_token token = new Access_token();
            token             = JsonHelper.ParseFromJson <Access_token>(content);
            mode.access_token = token.access_token;
            mode.expires_in   = token.expires_in;
        }
        return(mode);
    }
Esempio n. 27
0
    public Access_token GetAccess_token()
    {
        string         strUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;
        Access_token   mode   = new Access_token();
        HttpWebRequest req    = (HttpWebRequest)HttpWebRequest.Create(strUrl);

        req.Method = "GET";
        using (WebResponse wr = req.GetResponse())
        {
            HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();

            StreamReader reader  = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            string       content = reader.ReadToEnd();
            Util.Debuglog("content=" + content, "content.txt");
            //Response.Write(content);
            //在这里对Access_token 赋值
            Access_token token = new Access_token();
            JsonHelper   jh    = new JsonHelper();
            token             = jh.ParseFromJson <Access_token>(content);
            mode.access_token = token.access_token;
            mode.expires_in   = token.expires_in;
        }
        return(mode);
    }
Esempio n. 28
0
        /// <summary>
        /// 获取凭证
        /// </summary>
        /// <returns></returns>
        //protected static string Get_token()
        //{
        //    string appid = "wx88ac3e6ab868f62f";
        //    string secret = "bfbf498ac439cf67b39d13f600fe378d";
        //    string Str = "";
        //    Access_token access_token = new Access_token();
        //    Str = GetJson("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret).ToString();
        //    access_token = JsonHelper.ParseFromJson<Access_token>(Str);
        //    return access_token.access_token;
        //}
        /// <summary>
        /// 得到accesstoken 如果文件里时间 超时则重新获取
        /// </summary>
        /// <returns></returns>
        private string Get_token()
        {
            // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
            string appid        = "wx88ac3e6ab868f62f";
            string secret       = "bfbf498ac439cf67b39d13f600fe378d";
            string access_token = "";
            string path         = HttpContext.Current.Server.MapPath(@"/weixin/");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            path = path + "access_token.json";

            if (!File.Exists(path))
            {
                string       Str   = "";
                Access_token token = new Access_token();
                Str          = GetJson("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret).ToString();
                token        = JsonHelper.ParseFromJson <Access_token>(Str);
                access_token = token.access_token;
                //Log.WriteDebugLog("\t" + "access_token_1:" + access_token);
                if (access_token != "")
                {
                    token.expires_in   = (ConvertDateTimeInt(DateTime.Now) + 7000).ToString();
                    token.access_token = access_token;

                    string json = JsonHelper.GetJson <Access_token>(token);
                    StreamWriterMetod(json, path);
                }
            }
            else
            {
                FileStream file = new FileStream(path, FileMode.Open);
                try
                {
                    var serializer = new DataContractJsonSerializer(typeof(AccToken));
                    //Log.WriteLog("access_token_2:" + access_token);
                    AccToken readJSTicket = (AccToken)serializer.ReadObject(file);
                    //Log.WriteLog("access_token_3:" + access_token);
                    file.Close();
                    if (readJSTicket.expires_in < ConvertDateTimeInt(DateTime.Now))
                    {
                        string       Str   = "";
                        Access_token token = new Access_token();
                        Str          = GetJson("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret).ToString();
                        token        = JsonHelper.ParseFromJson <Access_token>(Str);
                        access_token = token.access_token;

                        if (access_token != "")
                        {
                            token.expires_in   = (ConvertDateTimeInt(DateTime.Now) + 7000).ToString();
                            token.access_token = access_token;

                            string json = JsonHelper.GetJson <Access_token>(token);
                            StreamWriterMetod(json, path);
                        }
                    }
                    else
                    {
                        access_token = readJSTicket.access_token;
                        //Log.WriteLog("\t" + "token_3:" + access_token);
                    }
                }
                catch (Exception ex)
                {
                    file.Dispose();
                    file.Close();
                    Log.WriteLog("error:" + ex.Message);

                    try
                    {
                        File.Delete(path);
                        Log.WriteLog("result:" + "删除成功!");
                    }
                    catch (Exception exc)
                    {
                        Log.WriteLog("error...:" + exc.Message);
                    }
                }
            }
            return(access_token);
        }
Esempio n. 29
0
        private void btnAddCoupons_Click(object sender, System.EventArgs e)
        {
            string  msg = string.Empty;
            decimal?nullable;
            decimal num;
            int     num2;

            if (this.ValidateValues(out nullable, out num, out num2))
            {
                if (!this.calendarStartDate.SelectedDate.HasValue)
                {
                    this.ShowMsg("请选择开始日期!", false);
                }
                else
                {
                    if (!this.calendarEndDate.SelectedDate.HasValue)
                    {
                        this.ShowMsg("请选择结束日期!", false);
                    }
                    else
                    {
                        if (this.calendarStartDate.SelectedDate.Value.CompareTo(this.calendarEndDate.SelectedDate.Value) >= 0)
                        {
                            this.ShowMsg("开始日期不能晚于结束日期!", false);
                        }
                        else
                        {
                            CouponInfo target = new CouponInfo();
                            if (CustomConfigHelper.Instance.IsSanzuo || (CustomConfigHelper.Instance.AutoShipping && CustomConfigHelper.Instance.AnonymousOrder))
                            {
                                target.Name        = this.txtCouponName.Text;
                                target.ClosingTime = this.calendarEndDate.SelectedDate.Value;
                                target.StartTime   = this.calendarStartDate.SelectedDate.Value;
                                if (this.DDLservice.SelectedValue != "未选择")
                                {
                                    target.SenderId = Convert.ToInt32(this.DDLservice.SelectedValue);
                                }
                                else
                                {
                                    target.SenderId = 0;
                                }
                                if (this.DDLcategory.SelectedValue != "未选择")
                                {
                                    target.CategoryId = Convert.ToInt32(this.DDLcategory.SelectedValue);
                                }
                                else
                                {
                                    target.CategoryId = 0;
                                }
                                target.Amount        = nullable;
                                target.DiscountValue = num;
                                target.NeedPoint     = num2;
                            }
                            else
                            {
                                target.Name          = this.txtCouponName.Text;
                                target.ClosingTime   = this.calendarEndDate.SelectedDate.Value;
                                target.StartTime     = this.calendarStartDate.SelectedDate.Value;
                                target.Amount        = nullable;
                                target.DiscountValue = num;
                                target.NeedPoint     = num2;
                            }

                            ValidationResults results = Validation.Validate <CouponInfo>(target, new string[]
                            {
                                "ValCoupon"
                            });
                            if (!results.IsValid)
                            {
                                using (System.Collections.Generic.IEnumerator <ValidationResult> enumerator = ((System.Collections.Generic.IEnumerable <ValidationResult>)results).GetEnumerator())
                                {
                                    if (enumerator.MoveNext())
                                    {
                                        ValidationResult result = enumerator.Current;
                                        msg += Formatter.FormatErrorMessage(result.Message);
                                        this.ShowMsg(msg, false);
                                        return;
                                    }
                                }
                            }


                            string lotNumber = string.Empty;
                            //创建优惠券
                            CouponActionStatus status = CouponHelper.CreateCoupon(target, 0, out lotNumber);

                            //创建微信卡包优惠券
                            //读取配置信息
                            if (false) //是否同时将生成的优惠券创建到到微信卡券内
                            {
                                Hidistro.Membership.Context.SiteSettings masterSettings = Hidistro.Membership.Context.SettingsManager.GetMasterSettings(false);
                                //CouponInfo coupon1 = CouponHelper.GetCoupon(couponId);
                                WXCouponInfo wxCoupon = new WXCouponInfo();
                                wxCoupon.card.card_type = "GENERAL_COUPON";
                                wxCoupon.card.general_coupon.base_info.code_type = "CODE_TYPE_TEXT";
                                //wxCoupon.logo_url = Globals.DomainName + masterSettings.DistributorLogoPic;
                                wxCoupon.card.general_coupon.base_info.logo_url                  = "http://yihui.ewaywin.com/Storage/data/DistributorLogoPic/20151125173959_6308.jpg";
                                wxCoupon.card.general_coupon.base_info.brand_name                = masterSettings.SiteName;
                                wxCoupon.card.general_coupon.base_info.title                     = "满" + target.Amount.ToString() + "减" + target.DiscountValue.ToString("0.00");
                                wxCoupon.card.general_coupon.base_info.sub_title                 = this.txtCouponName.Text;
                                wxCoupon.card.general_coupon.base_info.color                     = "Color100";
                                wxCoupon.card.general_coupon.base_info.notice                    = "购买商品时使用";
                                wxCoupon.card.general_coupon.base_info.description               = target.Description;
                                wxCoupon.card.general_coupon.base_info.sku.quantity              = 200;
                                wxCoupon.card.general_coupon.base_info.date_info.type            = "DATE_TYPE_FIX_TIME_RANGE";
                                wxCoupon.card.general_coupon.base_info.date_info.begin_timestamp = DateTimeToUnixTimestamp(target.StartTime);
                                wxCoupon.card.general_coupon.base_info.date_info.end_timestamp   = DateTimeToUnixTimestamp(target.ClosingTime);
                                wxCoupon.card.general_coupon.base_info.use_custom_code           = false;
                                wxCoupon.card.general_coupon.default_detail = target.Name;
                                string json         = Newtonsoft.Json.JsonConvert.SerializeObject(wxCoupon, Newtonsoft.Json.Formatting.Indented);
                                string access_token = Access_token.GetAccess_token();
                                //string access_token = "12j5h9jB21EEtpBkJKCtG3K10pZFXKAjDuM_CXJmvea6TdU_0YGCEaumhkClH0Wd3sq12901e6hqoA9VvTxemCSNUxtSoCwXSHrZ1Elb_v0CSQcAAAXNL";
                                Hidistro.UI.Web.API.wx.Post("https://api.weixin.qq.com/card/create?access_token=" + access_token, json);
                            }

                            if (status != CouponActionStatus.UnknowError)
                            {
                                CouponActionStatus couponActionStatus = status;
                                if (couponActionStatus != CouponActionStatus.DuplicateName)
                                {
                                    if (couponActionStatus != CouponActionStatus.CreateClaimCodeError)
                                    {
                                        this.ShowMsg("添加优惠券成功", true);
                                        this.RestCoupon();
                                    }
                                    else
                                    {
                                        this.ShowMsg("生成优惠券号码错误", false);
                                    }
                                }
                                else
                                {
                                    this.ShowMsg("已经存在相同的优惠券名称", false);
                                }
                            }
                            else
                            {
                                this.ShowMsg("未知错误", false);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 30
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Access_token mode = FunctionAll.GetAccessToken();
            Session["accessToken"] = mode.access_token;
            Session.Timeout        = 120;
        }
        Valid();
        wxmessage   wxGlobal = new wxmessage();
        FunctionAll fuc      = new FunctionAll();
        XmlDocument doc      = new XmlDocument();

        try
        {
            fuc.MyMenu();
            string postXmlStr = PostInput();
            if (!string.IsNullOrEmpty(postXmlStr))
            {
                doc.LoadXml(postXmlStr);
                XmlElement root = doc.DocumentElement;
                wxGlobal = fuc.GetWxMessage(doc);

                string result         = "";
                string requestContent = "";
                //var rootElement = doc.DocumentElement;
                if (wxGlobal.MsgType == null)
                {
                    return;
                }
                else
                {
                    //获取用户发来的信息
                    switch (wxGlobal.MsgType)
                    {
                    case "text":    //文本
                        requestContent = WeiXinXML.CreateTextMsg(doc, wxGlobal.Content);
                        if (wxGlobal.Content.Contains("¥"))
                        {
                            decimal req = Convert.ToDecimal(wxGlobal.Content.Replace("¥", ""));
                            result = WeiXinXML.CreateTextMsg(doc, fuc.ConvertToChinese(req));
                        }
                        else
                        {
                            result = WeiXinXML.CreateTextMsg(doc, TuLing.GetTulingMsg(wxGlobal.Content));
                            LogHelper.WriteLog(requestContent);
                            LogHelper.WriteLog(result);
                        }
                        break;

                    case "location":    //文本
                        result = WeiXinXML.ReArticle(wxGlobal.FromUserName, wxGlobal.ToUserName, "您附近的XXX", "XXXXXXXX", "http://119.29.20.29/image/test.jpg", FunctionAll.GetCodeUrl(Server.UrlEncode("http://q4chvj.natappfree.cc/index.aspx")));
                        break;

                    case "event":
                        switch (wxGlobal.EventName)
                        {
                        case "subscribe":         //订阅
                            result = WeiXinXML.subscribeRes(doc);
                            break;

                        case "unsubscribe":         //取消订阅
                            break;

                        case "CLICK":

                            if (wxGlobal.EventKey == "myprofile")
                            {
                                result = WeiXinXML.CreateTextMsg(doc, "微医app - 原名 挂号网,用手机挂号,十分方便!更有医生咨询、智能分诊、院外候诊、病历管理等强大功能。\r\n" +
                                                                 "预约挂号 聚合全国超过900家重点医院的预约挂号资源\r\n" +
                                                                 "咨询医生 支持医患之间随时随地图文、语音、视频方式的沟通交流\r\n" +
                                                                 "智能分诊 根据分诊自测系统分析疾病类型,提供就诊建议\r\n" +
                                                                 "院外候诊 时间自由可控,不再无谓浪费\r\n" +
                                                                 "病历管理 病历信息统一管理,个人健康及时监测\r\n" +
                                                                 "贴心服务 医疗支付、报告提取、医院地图\r\n" +
                                                                 "权威保障 国家卫计委(原卫生部)指定的全国健康咨询及就医指导平台\r\n" +
                                                                 "[微医] 目前用户量大,有些不足我们正加班加点的努力完善,希望大家用宽容的心给 [微医] 一点好评,给我们一点激励,让 [微医] 和大家的健康诊疗共成长。");
                            }
                            if (wxGlobal.EventKey == "morefunction")
                            {
                                //  result = WeiXinXML.CreateTextMsg(doc, "更多功能正在开发中,敬请期待!");
                                //if (wxGlobal.EventKey == "jkzx")
                                result = WeiXinXML.ReArticle(wxGlobal.FromUserName, wxGlobal.ToUserName, "点击图片查看您附近的疾控中心", @"测试测试测试测试", "http://119.29.20.29/image/navi.jpg", ConfigurationManager.AppSettings["redirect_uri"].ToString());
                            }

                            break;

                        case "LOCATION":         //获取地理位置
                                                 //string city = fuc.GetLocation(wxGlobal.Latitude,wxGlobal.Longitude);
                                                 //result = WeiXinXML.CreateTextMsg(doc,city);
                            break;
                        }

                        break;
                    }
                    //if (!string.IsNullOrWhiteSpace(sAppId))  //根据appid解密字符串
                    //{

                    //    WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, AESKey, sAppId);
                    //    string signature = context.Request["msg_signature"];
                    //    string timestamp = context.Request["timestamp"];
                    //    string nonce = context.Request["nonce"];
                    //    string stmp = "";
                    //    int ret = wxcpt.DecryptMsg(signature, timestamp, nonce, postXmlStr, ref stmp);
                    //    if (ret == 0)
                    //    {
                    //        doc = new XmlDocument();
                    //        doc.LoadXml(stmp);
                    //    }
                    //}
                }
                Response.Write(result);
            }


            else
            {
                Valid();
                return;
            }
        }
        //context.Response.Write(result);
        //context.Response.Flush();
        //LogHelper.WriteLog("系统回复的明文" + result);

        //    else
        //    {
        //    valid(context);
        //    return;
        //}
        catch (Exception ex)
        {
            throw;
        }
    }