Esempio n. 1
0
        public string GetCardApiTicket(string appId, string appSecret, string access_token)
        {
            string key = string.Format("Wx_AppId_{0}_CardApiTicket", appId);

            var redis       = new RedisClient <string>();
            var jsApiTicket = redis.KGetString(key);

            if (jsApiTicket == null)
            {
                WxApi c = new WxApi();

                var wxApiGetCardApiTicket = new WxApiGetCardApiTicket(access_token);

                var wxApiGetCardApiTicketResult = c.DoGet(wxApiGetCardApiTicket);

                if (wxApiGetCardApiTicketResult.errcode == "40001")
                {
                    access_token = GetAccessToken(appId, appSecret, true);

                    wxApiGetCardApiTicket = new WxApiGetCardApiTicket(access_token);
                }

                if (string.IsNullOrEmpty(wxApiGetCardApiTicketResult.ticket))
                {
                    LogUtil.Info(string.Format("获取微信CardApiTicket,key:{0},已过期,Api重新获取失败", key));
                }
                else
                {
                    LogUtil.Info(string.Format("获取微信CardApiTicket,key:{0},value:{1},已过期,重新获取成功", key, wxApiGetCardApiTicketResult.ticket));

                    jsApiTicket = wxApiGetCardApiTicketResult.ticket;

                    redis.KSet(key, jsApiTicket, new TimeSpan(0, 30, 0));
                }
            }
            else
            {
                LogUtil.Info(string.Format("获取微信CardApiTicket,key:{0},value:{1}", key, jsApiTicket));
            }

            return(jsApiTicket);
        }
Esempio n. 2
0
        public string GetCardApiTicket(WxAppInfoConfig config)
        {
            string key = string.Format("Wx_AppId_{0}_CardApiTicket", config.AppId);

            var redis       = new RedisClient <string>();
            var jsApiTicket = redis.KGetString(key);

            if (jsApiTicket == null)
            {
                WxApi c = new WxApi();

                string access_token = GetApiAccessToken(config);

                var wxApiGetCardApiTicket = new WxApiGetCardApiTicket(access_token);

                var wxApiGetCardApiTicketResult = c.DoGet(wxApiGetCardApiTicket);
                if (string.IsNullOrEmpty(wxApiGetCardApiTicketResult.ticket))
                {
                    LogUtil.Info(string.Format("获取微信JsApiTicket,key:{0},已过期,Api重新获取失败", key));
                }
                else
                {
                    LogUtil.Info(string.Format("获取微信JsApiTicket,key:{0},value:{1},已过期,重新获取成功", key, wxApiGetCardApiTicketResult.ticket));

                    jsApiTicket = wxApiGetCardApiTicketResult.ticket;

                    redis.KSet(key, jsApiTicket, new TimeSpan(0, 30, 0));
                }
            }
            else
            {
                LogUtil.Info(string.Format("获取微信JsApiTicket,key:{0},value:{1}", key, jsApiTicket));
            }

            return(jsApiTicket);
        }