Example #1
0
        /// <summary>
        /// 该方法在初始化接口时候已经实现(再次调用该方法的时候,强制从微信服务器获取)
        /// </summary>
        /// <returns></returns>
        public HightTokenResponse send()
        {
            string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + c.AppID + "&secret=" + c.SecretKey;
            var    rs  = send(url);

            if (!string.IsNullOrEmpty(rs.access_token) && rs.access_token != "")
            {
                DataCacheConfig.GetHelper().Set(c.AppID + "_HightToken", rs.access_token, 3600);
            }
            return(rs);
        }
        public SnsscodesessionResponse send()
        {
            string url  = "https://api.weixin.qq.com/sns/jscode2session?appid=" + c.AppID + "&secret=" + c.SecretKey + "&js_code=" + code + "&grant_type=authorization_code";
            var    back = Com.Ddlev.Base.BaseMethod.WebRequestGet(url, Encoding.UTF8);
            var    ts   = Newtonsoft.Json.JsonConvert.DeserializeObject <SnsscodesessionResponse>(back);

            if (string.IsNullOrWhiteSpace(ts.errcode))
            {
                DataCacheConfig.GetHelper().Set("sessionkey_" + ts.openid, ts.session_key, 8 * 60 * 60); //缓存8小时
            }
            return(ts);
        }
Example #3
0
 /// <summary>
 ///  初始化,配置token和缓存时长
 /// </summary>
 /// <param name="C">配置</param>
 /// <param name="_Token">token的字符</param>
 /// <param name="senum">缓存时长(秒)</param>
 public HightToken(Config C, string _Token, int senum = 3600)
 {
     this.c = C;
     if (!DataCacheConfig.GetHelper().HasKey(c.AppID + "_HightToken"))
     {
         DataCacheConfig.GetHelper().Set(c.AppID + "_HightToken", _Token, senum);
         this.Token = _Token;
     }
     else
     {
         this.Token = DataCacheConfig.GetHelper().Get <string>(c.AppID + "_HightToken").ToString();
     }
 }
Example #4
0
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="C"></param>
 public HightToken(Config C)
 {
     this.c = C;
     if (!DataCacheConfig.GetHelper().HasKey(c.AppID + "_HightToken"))
     {
         lock (iso)
         {
             if (!DataCacheConfig.GetHelper().HasKey(c.AppID + "_HightToken"))
             {
                 var rs = send();
                 this.Token = rs.access_token;
             }
         }
     }
     this.Token = DataCacheConfig.GetHelper().Get <string>(C.AppID + "_HightToken").ToString();
 }
Example #5
0
 /// <summary>
 /// 获取用户的ticket
 /// </summary>
 /// <param name="actoken"></param>
 /// <returns></returns>
 public string JsapiTicket(string actoken)
 {
     if (!DataCacheConfig.GetHelper().HasKey(appId + "_JsapiTicket"))
     {
         string cb = BaseClass.BaseMethod.WebRequestGet("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + actoken + "&type=jsapi", System.Text.Encoding.UTF8);
         var    jo = Newtonsoft.Json.Linq.JObject.Parse(cb);
         if (Convert.ToInt32(jo["errcode"]) == 0)
         {
             var ticket = jo["ticket"].ToString();
             DataCacheConfig.GetHelper().Set(appId + "_JsapiTicket", ticket, 7000);
             return(ticket);
         }
         else
         {
             return("");
         }
     }
     else
     {
         return(DataCacheConfig.GetHelper().Get <string>(appId + "_JsapiTicket").ToString());
     }
 }
 public PhoneNumberRequest(string openid, string _iv, string _encryptedData)
 {
     this.session_key   = DataCacheConfig.GetHelper().Get <string>("sessionkey_" + openid);
     this.iv            = _iv;
     this.encryptedData = _encryptedData;
 }