Exemplo n.º 1
0
 public WeChat_Message(string toUserName, string fromUserName, string msgType)
 {
     this.ToUserName   = toUserName;
     this.FromUserName = fromUserName;
     this.MsgType      = msgType;
     this.CreateTime   = CommonUtilities.generateTimeStamp();
 }
Exemplo n.º 2
0
        public string WxRedPackCreate(string openid, int amount)
        {
            Random random     = new Random();
            string mch_billno = "WXREDPACK" + CommonUtilities.generateTimeStamp() + random.Next(1000, 9999);
            var    result     = WxRedPackCreate(openid, amount, mch_billno, "红包发放", "寿全斋", "红包发放", "恭喜获得红包");

            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 调用微信JsApiTickets接口,并保存到数据库
        /// </summary>
        private void generateJsApiTicket()
        {
            string               access_token = getAccessToken();
            string               urlstring    = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + access_token + "&type=jsapi";
            Uri                  url          = new Uri(urlstring);
            HttpWebRequest       request      = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse      response     = (HttpWebResponse)request.GetResponse();
            string               jsonresult   = new StreamReader(response.GetResponseStream()).ReadToEnd();
            JavaScriptSerializer serializer   = new JavaScriptSerializer();
            Wx_JsApiTicket       jat          = serializer.Deserialize <Wx_JsApiTicket>(jsonresult);

            setWeChatConfigValue(JSAPI_TICKET, jat.ticket);
            long jsApiTicketexpires = CommonUtilities.generateTimeStamp() + jat.expires_in;

            setWeChatConfigValue(JSAPI_TICKET_TIMESTAMP, jsApiTicketexpires.ToString());
        }
Exemplo n.º 4
0
        /// <summary>
        /// 调用微信AccessToken接口,并保存当前AccessToken到数据库
        /// </summary>
        private void generateAccessToken()
        {
            string               appId      = getWeChatConfigValue(APP_ID);
            string               appSecret  = getWeChatConfigValue(APP_SECRET);
            string               urlstring  = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appId + "&secret=" + appSecret;
            Uri                  url        = new Uri(urlstring);
            HttpWebRequest       request    = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse      response   = (HttpWebResponse)request.GetResponse();
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string               jsonresult = new StreamReader(response.GetResponseStream()).ReadToEnd();
            Wx_AccessToken       token      = serializer.Deserialize <Wx_AccessToken>(jsonresult);

            setWeChatConfigValue(ACCESS_TOKEN, token.access_token);
            long accesstokenexpires = CommonUtilities.generateTimeStamp() + token.expires_in;

            setWeChatConfigValue(ACCESS_TOKTEN_TIMESTAMP, accesstokenexpires.ToString());
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取AccessToken值并判断是否需要重新获取
        /// </summary>
        /// <returns>返回AccessToken的值</returns>
        public string getAccessToken()
        {
            string accessToken        = getWeChatConfigValue(ACCESS_TOKEN);
            string accessTokenExpires = getWeChatConfigValue(ACCESS_TOKTEN_TIMESTAMP);

            if (accessToken == "" || accessTokenExpires == "")
            {
                generateAccessToken();
                return(getWeChatConfigValue(ACCESS_TOKEN));
            }
            else if (CommonUtilities.generateTimeStamp() + 200 > Convert.ToInt64(accessTokenExpires))
            {
                generateAccessToken();
                return(getWeChatConfigValue(ACCESS_TOKEN));
            }
            else
            {
                return(accessToken);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 获取JsApiTicket值并判断是否需要重新获取
        /// </summary>
        /// <returns>返回JsApiTicket的值</returns>
        public string getJsApiTicket()
        {
            string jsApiTicket        = getWeChatConfigValue(JSAPI_TICKET);
            string jsApiTicketExpires = getWeChatConfigValue(JSAPI_TICKET_TIMESTAMP);

            // 判断是否为空值
            if (jsApiTicket == "" || jsApiTicketExpires == "")
            {
                generateJsApiTicket();
                return(getWeChatConfigValue(JSAPI_TICKET));
            }
            else if (CommonUtilities.generateTimeStamp() + 200 > Convert.ToInt64(jsApiTicketExpires))
            {
                // 判断是否超时(预留200秒)
                generateJsApiTicket();
                return(getWeChatConfigValue(JSAPI_TICKET));
            }
            else
            {
                return(jsApiTicket);
            }
        }