예제 #1
0
 public WeChat_Message(string toUserName, string fromUserName, string msgType)
 {
     this.ToUserName   = toUserName;
     this.FromUserName = fromUserName;
     this.MsgType      = msgType;
     this.CreateTime   = CommonUtilities.generateTimeStamp();
 }
예제 #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);
        }
예제 #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());
        }
예제 #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());
        }
예제 #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);
            }
        }
예제 #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);
            }
        }
예제 #7
0
        //private static int LineWordCount = 16; //小票每行最多打印汉字数
        //private static Dictionary<string, string> parameters = new Dictionary<string, string>();//加密参数列表

        /// <summary>
        /// 发送打印内容
        /// </summary>
        /// <param name="Content"></param>
        /// <returns></returns>
        public static string SendGprsPrintContent(string Content)
        {
            string partner      = "2713";                                     //用户id
            string machine_code = "4004503380";                               //终端号
            string mkey         = "ywqfp4w6bp6t";                             //终端密钥
            string apikey       = "c3219c32691ff4bba24894efe8cc1eca45ae95a4"; //API 密钥
            List <QueryParameter> parameters = new List <QueryParameter>();

            parameters.Add(new QueryParameter("partner", partner));
            parameters.Add(new QueryParameter("machine_code", machine_code));
            string timestamp = CommonUtilities.generateTimeStamp().ToString();

            parameters.Add(new QueryParameter("time", timestamp));
            parameters.Add(new QueryParameter("content", Content));
            string source = apikey + "machine_code" + machine_code + "partner" + partner + "time" + timestamp + mkey;
            string sign   = CommonUtilities.encrypt_MD5(source).ToUpper();

            parameters.Add(new QueryParameter("sign", sign));

            string post_url = "http://open.10ss.net:8888";
            var    request  = WebRequest.Create(post_url) as HttpWebRequest;

            request.Method = "POST";
            string postdata = QueryParameter.NormalizeRequestParameters(parameters);

            byte[] bytes      = Encoding.UTF8.GetBytes(postdata);
            Stream sendStream = request.GetRequestStream();

            sendStream.Write(bytes, 0, bytes.Length);
            sendStream.Close();
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string          result   = "";

            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                result = reader.ReadToEnd();
            }
            return(result);
        }