using BizCom; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Script.Serialization; namespace SiteCore { public partial class WxPush { private static readonly object miniAtObj = new object(); public static string mini_appid = "wx0819ba57901308c0"; public static string mini_appsecret = "d9b31c6be01fc55f082a770a4462ef5c"; static string mini_sendUrl = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token="; public static object getMiniAt(HttpHelper http) { object cat = WebCache.GetRunCache("miniAt"); if (cat == null) { lock (miniAtObj) { //http = new HttpHelper(); HttpItem item = new HttpItem() { URL = string.Format(tokenUrl, mini_appid, mini_appsecret) }; HttpResult hResult = http.GetHtml(item); string html = hResult.Html; JavaScriptSerializer jss = new JavaScriptSerializer(); Dictionary jObj = jss.Deserialize>(html); if (!jObj.ContainsKey("errcode")) { string at = jObj["access_token"].ToString(); WebCache.AddRunCacheTime("miniAt", at, 100); cat = at; } } } return cat; } /// /// openid,roomname,starttime,endtime,duration,r+c+posname,formid /// /// public static void sendSignMsg(string[] sArr,List lst) { if (sArr.Length<7 || sArr[6] == "") return; if (!lst.Contains("'" + sArr[6] + "'")) lst.Add("'" + sArr[6] + "'"); if (sArr[6] == "the formId is a mock one") return; HttpHelper http = new HttpHelper(); HttpResult hResult = null; object cat = getMiniAt(http); if (cat != null) { var tdata = new { keyword1 = new TemplateItem("图书馆座位签到", "#333333"), keyword2 = new TemplateItem(sArr[1], "#0E7700"), keyword3 = new TemplateItem(Convert.ToDateTime(sArr[2]).ToString("HH:mm") + "-" + Convert.ToDateTime(sArr[3]).ToString("HH:mm") + ",时长:" + sArr[4] + "小时", "#2148CD"), keyword4 = new TemplateItem("座位号 "+sArr[5], "#0E7700"), keyword5 = new TemplateItem("最迟签到使用时间~" + Convert.ToDateTime(sArr[2]).AddMinutes(15).ToString("HH:mm")+",过期未签到将无法使用!", "#0E7700") }; var msgData = new MiniTemplateData() { touser = sArr[0], template_id = "_fOdxNx3trY5F7audxSTvaIly3J-ZlZRaSul-IsnyRc", form_id= sArr[6], page = "pages/lab/lab?remind=1", data = tdata }; // miniprogram= minidata, string msg = Newtonsoft.Json.JsonConvert.SerializeObject(msgData); HttpItem item = new HttpItem() { URL = mini_sendUrl + cat, Method = "POST", ContentType = "application/json", Postdata = msg, PostEncoding = Encoding.UTF8, Encoding = Encoding.UTF8 }; //item.Encoding = Encoding.UTF8; hResult = http.GetHtml(item); string html = hResult.Html; //XLog.SaveLog(0,"发送消息返回:" + html); } } public static void sendExpireMsg(string[] sArr, List lst) { if (sArr.Length < 7 || sArr[6] == "") return; if (!lst.Contains("'" + sArr[6] + "'")) lst.Add("'" + sArr[6] + "'"); if (sArr[6] == "the formId is a mock one") return; HttpHelper http = new HttpHelper(); HttpResult hResult = null; object cat = getMiniAt(http); if (cat != null) { DateTime cTime = DateTime.Now; var tdata = new { keyword1 = new TemplateItem(sArr[1], "#333333"), keyword2 = new TemplateItem(sArr[5], "#0E7700"), keyword3 = new TemplateItem(Convert.ToDateTime(sArr[3]).ToString("HH:mm"),"#2148CD"), keyword4 = new TemplateItem(Convert.ToInt32(Convert.ToDateTime(sArr[3]).Subtract(cTime).TotalMinutes) + "分钟,如需继续使用请续约!", "#0E7700") }; var msgData = new MiniTemplateData() { touser = sArr[0], template_id = "EToqfWHBHyCGzzvTMNY6p9p-_guHQMj5Iix3nIgTV1Y", form_id = sArr[6], page = "pages/lab/lab?remind=1", data = tdata }; // miniprogram= minidata, string msg = Newtonsoft.Json.JsonConvert.SerializeObject(msgData); HttpItem item = new HttpItem() { URL = mini_sendUrl + cat, Method = "POST", ContentType = "application/json", Postdata = msg, PostEncoding = Encoding.UTF8, Encoding = Encoding.UTF8 }; //item.Encoding = Encoding.UTF8; hResult = http.GetHtml(item); string html = hResult.Html; } } //提现 public static void sendExtractMoneyMsg(string openid,string form_id,string amount) { HttpHelper http = new HttpHelper(); HttpResult hResult = null; object cat = getMiniAt(http); if (cat != null) { DateTime cTime = DateTime.Now; var tdata = new { keyword1 = new TemplateItem("微信钱包", "#333333"), keyword2 = new TemplateItem(amount + "元", "#0E7700"), keyword3 = new TemplateItem("目前你的账户累计获得" + "元", "#2148CD"), }; var msgData = new MiniTemplateData() { touser = openid, template_id = "eR3za_xz4wYkIYBNC9t4rKfUq_IpAJpMnbi0DYI6kuw", form_id = form_id, page = "pages/checkIn/checkInHome?remind=1&ct=1", data = tdata }; // miniprogram= minidata, string msg = Newtonsoft.Json.JsonConvert.SerializeObject(msgData); HttpItem item = new HttpItem() { URL = mini_sendUrl + cat, Method = "POST", ContentType = "application/json", Postdata = msg, PostEncoding = Encoding.UTF8, Encoding = Encoding.UTF8 }; //item.Encoding = Encoding.UTF8; hResult = http.GetHtml(item); string html = hResult.Html; } } //任务报名通知 public static void sendTaskReceiveMsg(string openid,string form_id,object tid,string btime,string bname,string bphone,string bprice,string bmemo) { HttpHelper http = new HttpHelper(); HttpResult hResult = null; object cat = getMiniAt(http); if (cat != null) { DateTime cTime = DateTime.Now; var tdata = new { keyword1 = new TemplateItem(btime, "#333333"), keyword2 = new TemplateItem(bname, "#0E7700"), keyword3 = new TemplateItem(bprice, "#0E7700"), keyword4 = new TemplateItem(bphone, "#333333"), keyword5 = new TemplateItem(bmemo, "#333333") }; var msgData = new MiniTemplateData() { touser = openid, template_id = "3FJ8OG_oqQxCq97ZYwUsIOWTh7VkgpxHtuh0Hc9IKY4", form_id = form_id, page = "pages/bounty/bountyDetail?r=1&tid="+tid, data = tdata }; // miniprogram= minidata, string msg = Newtonsoft.Json.JsonConvert.SerializeObject(msgData); HttpItem item = new HttpItem() { URL = mini_sendUrl + cat, Method = "POST", ContentType = "application/json", Postdata = msg, PostEncoding = Encoding.UTF8, Encoding = Encoding.UTF8 }; //item.Encoding = Encoding.UTF8; hResult = http.GetHtml(item); string html = hResult.Html; } } //任务选中/取消选中通知 public static void sendTaskChioceMsg(string openid, string form_id, object tid, string title,string con) { HttpHelper http = new HttpHelper(); HttpResult hResult = null; object cat = getMiniAt(http); if (cat != null) { DateTime cTime = DateTime.Now; var tdata = new { keyword1 = new TemplateItem(title, "#333333"), keyword2 = new TemplateItem(con + " " + cTime.ToString("yyyy-MM-dd HH:mm:ss"), "#0E7700") }; var msgData = new MiniTemplateData() { touser = openid, template_id = "rpvN7kE6vEWq8e4P1rvpWCGtPbxJUjXRmzKUO71zT4E", form_id = form_id, page = "pages/bounty/bountyDetail?r=1&tid=" + tid, data = tdata }; // miniprogram= minidata, string msg = Newtonsoft.Json.JsonConvert.SerializeObject(msgData); HttpItem item = new HttpItem() { URL = mini_sendUrl + cat, Method = "POST", ContentType = "application/json", Postdata = msg, PostEncoding = Encoding.UTF8, Encoding = Encoding.UTF8 }; //item.Encoding = Encoding.UTF8; hResult = http.GetHtml(item); string html = hResult.Html; } } //public static void sendInComeMsg(string[] sArr, List lst) //{ // //if (sArr.Length < 7 || sArr[6] == "") return; // //if (!lst.Contains("'" + sArr[6] + "'")) lst.Add("'" + sArr[6] + "'"); // //if (sArr[6] == "the formId is a mock one") return; // HttpHelper http = new HttpHelper(); // HttpResult hResult = null; // object cat = getMiniAt(http); // if (cat != null) // { // DateTime cTime = DateTime.Now; // var tdata = new // { // keyword1 = new TemplateItem("\"早起红包\"瓜分资金池", "#333333"), // keyword2 = new TemplateItem("本次打卡收益" + "元", "#0E7700"), // keyword3 = new TemplateItem("目前你的账户累计获得" + "元", "#2148CD"), // keyword4 = new TemplateItem("点击进入小程序查看", "#000000") // }; // var msgData = new MiniTemplateData() // { // touser = sArr[0], // template_id = "smsJomSa3j_gfdyEDyAiNMLpajDnTOAUCMkpjPqg9xs", // form_id = sArr[6], // page = "pages/checkIn/checkInHome?remind=1&ct=1", // data = tdata // }; // // miniprogram= minidata, // string msg = Newtonsoft.Json.JsonConvert.SerializeObject(msgData); // HttpItem item = new HttpItem() // { // URL = mini_sendUrl + cat, // Method = "POST", // ContentType = "application/json", // Postdata = msg, // PostEncoding = Encoding.UTF8, // Encoding = Encoding.UTF8 // }; // //item.Encoding = Encoding.UTF8; // hResult = http.GetHtml(item); // string html = hResult.Html; // } //} } public class MiniTemplateData { public string touser { get; set; } public string template_id { get; set; } public string page { get; set; } public object form_id { get; set; } public object data { get; set; } //public string emphasis_keyword { get; set; } } }