public WeChat_Message(string toUserName, string fromUserName, string msgType) { this.ToUserName = toUserName; this.FromUserName = fromUserName; this.MsgType = msgType; this.CreateTime = CommonUtilities.generateTimeStamp(); }
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); }
/// <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()); }
/// <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()); }
/// <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); } }
/// <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); } }
//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); }