/// <summary> /// 创建菜单 /// </summary> /// <param name="Response"></param> /// <param name="msg"></param> public static void CreateMenu() { StringBuilder sb = new StringBuilder(); string url = ConfigurationManager.AppSettings["WeiXinDomain"]; string json = "{\"button\":[" + "{\"name\":\"👑我的\",\"sub_button\":[" + "{\"type\":\"view\",\"name\":\"我的账户\",\"url\":\"" + url + "component/personal\"}," + "{\"type\":\"view\",\"name\":\"我要注册\",\"url\":\"" + url + "component/register\"}," + "{\"type\":\"view\",\"name\":\"会员须知\",\"url\":\"" + url + "component/membernotice\"}," + "{\"type\": \"scancode_waitmsg\",\"name\": \"扫一扫\",\"key\": \"rselfmenu_0_1\",\"sub_button\": [ ]}]" + "}," + //"{\"type\":\"view\",\"name\":\"📓菜谱\",\"url\":\"" + url + "component/menu\" }," + "{\"name\":\"📓菜谱\",\"sub_button\":[" + //"{\"type\":\"view\",\"name\":\"👏免费抽奖\",\"url\":\"" + url + "component/hometastedraw\"}," + //"{\"type\":\"view\",\"name\":\"💰赚10元话费\",\"url\":\"" + url + "component/dishshow\"}," + "{\"type\":\"view\",\"name\":\"📓菜谱\",\"url\":\"" + url + "component/menu\" }]" + "}," + "{\"name\":\"💰积分活动\",\"sub_button\":[" + //"{\"type\":\"view\",\"name\":\"答题赚积分\",\"url\":\"" + url + "component/riddleshome\" }," + "{\"type\":\"view\",\"name\":\"每日签到\",\"url\":\"" + url + "component/sign\"}," + "{\"type\":\"view\",\"name\":\"积分兑换\",\"url\":\"" + url + "component/shop\"}," + "{\"type\":\"view\",\"name\":\"积分抽奖\",\"url\":\"" + url + "component/integraldraw\"}," + "{\"type\":\"view\",\"name\":\"扫码规则\",\"url\":\"" + url + "component/activityrule\"}]" + "}" + "]}"; PostJson("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + BasicApi.GetAccessToken(), json); }
/// <summary> /// 创建菜单 /// </summary> /// <param name="Response"></param> /// <param name="msg"></param> public static void CreateMenu() { StringBuilder sb = new StringBuilder(); string url = ConfigurationManager.AppSettings["WeChat"]; string json = "{\"button\":[" + "{\"name\":\"我的\",\"sub_button\":[" + //"{\"type\":\"view\",\"name\":\"我的账户\",\"url\":\"" + url + "component/personal\"}," + "{\"type\":\"view\",\"name\":\"注册&账户\",\"url\":\"" + url + "?action=personal\"}," + "{\"type\": \"scancode_waitmsg\",\"name\": \"扫一扫\",\"key\": \"rselfmenu_0_1\",\"sub_button\": [ ]}," + "{\"type\":\"view\",\"name\":\"商城入口\",\"url\":\"" + url + "?action=shop\"}," + "{\"type\":\"view\",\"name\":\"积分抽奖\",\"url\":\"" + url + "?action=integraldraw\"}," + "{\"type\":\"view\",\"name\":\"会员须知\",\"url\":\"" + url + "?action=membernotice\"}" + "]}," + "{\"type\":\"view\",\"name\":\"" + "🔥欣鲜菜谱库" + "\",\"url\":" + "\"http://jifenweixin.shinho.net.cn/?action=dishstore\"" + "}," + "{\"name\":\"码上抢红包\",\"sub_button\":[" + "{\"type\":\"view\",\"name\":\"活动入口\",\"url\":\"" + url + "?action=scanhome\"}," + "{\"type\":\"view\",\"name\":\"我的零钱包\",\"url\":\"" + url + "?action=scanrecord\"}," + "{\"type\":\"view\",\"name\":\"兑奖规则\",\"url\":\"" + url + "?action=scanrule\"}" + "]}" + "]}"; PostJson("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + BasicApi.GetAccessToken(), json); }
/// <summary> /// 回复文本消息XML /// </summary> /// <param name="httpRequest"></param> /// <param name="msg"></param> public static string GetTextXml(MsgModel model) { StringBuilder sb = new StringBuilder(); sb.Append("<xml>"); sb.Append("<ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName>"); sb.Append("<FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName>"); sb.Append("<CreateTime>" + BasicApi.LocalTimeToEpochTimeSeconds(DateTime.Now) + "</CreateTime>"); sb.Append("<MsgType><![CDATA[text]]></MsgType>"); sb.Append("<Content><![CDATA[" + model.TextModel.Content + "]]></Content>"); sb.Append("<FuncFlag>0<FuncFlag>"); sb.Append("</xml>"); return(sb.ToString()); }
/// <summary> /// 回复图片消息XML /// </summary> /// <param name="httpRequest"></param> /// <param name="msg"></param> public static string GetImageXml(MsgModel model) { StringBuilder sb = new StringBuilder(); sb.Append("<xml>"); sb.Append("<ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName>"); sb.Append("<FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName>"); sb.Append("<CreateTime>" + BasicApi.LocalTimeToEpochTimeSeconds(DateTime.Now) + "</CreateTime>"); sb.Append("<MsgType><![CDATA[" + model.MsgType + "]]></MsgType>"); sb.Append("<Image>"); sb.Append("<MediaId><![CDATA[" + model.ImageModel.MediaId + "]]></MediaId>"); sb.Append("</Image>"); sb.Append("</xml>"); return(sb.ToString()); }
/// <summary> /// 扫描带参数二维码 /// </summary> /// <param name="msg"></param> public static string GetScanningParametersXml(MsgModel model) { StringBuilder sb = new StringBuilder(); sb.Append("<xml>"); sb.Append("<ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName>"); sb.Append("<FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName>"); sb.Append("<CreateTime>" + BasicApi.LocalTimeToEpochTimeSeconds(DateTime.Now) + "</CreateTime>"); sb.Append("<MsgType><![CDATA[event]]></MsgType>"); sb.Append("<Event><![CDATA[" + model.EventModel.Event + "]]></Event>"); sb.Append("<EventKey><![CDATA[" + model.EventModel.EventKeyModel.EventKey + "]]><EventKey>"); sb.Append("<Ticket><![CDATA[" + model.EventModel.EventKeyModel.Ticket + "]]><Ticket>"); sb.Append("</xml>"); return(sb.ToString()); }
/// <summary> /// 回复视频消息XML /// </summary> /// <param name="httpRequest"></param> /// <param name="msg"></param> public static string GetVideoXml(MsgModel model) { StringBuilder sb = new StringBuilder(); sb.Append("<xml>"); sb.Append("<ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName>"); sb.Append("<FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName>"); sb.Append("<CreateTime>" + BasicApi.LocalTimeToEpochTimeSeconds(DateTime.Now) + "</CreateTime>"); sb.Append("<MsgType><![CDATA[" + model.MsgType + "]]></MsgType>"); sb.Append("<Video>"); sb.Append("<MediaId><![CDATA[" + model.VideoModel.MediaId + "]]></MediaId>"); sb.Append("<Title><![CDATA[" + model.VideoModel.Title + "]]></Title>"); sb.Append("<Description><![CDATA[" + model.VideoModel.Description + "]]></Description>"); sb.Append("</Video>"); sb.Append("</xml>"); return(sb.ToString()); }
/// <summary> /// 回复图文消息XML /// </summary> /// <param name="httpRequest"></param> /// <param name="msg"></param> public static string GetArticlesXml(MsgModel model) { StringBuilder sb = new StringBuilder(); sb.Append("<xml>"); sb.Append("<ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName>"); sb.Append("<FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName>"); sb.Append("<CreateTime>" + BasicApi.LocalTimeToEpochTimeSeconds(DateTime.Now) + "</CreateTime>"); sb.Append("<MsgType><![CDATA[" + model.MsgType + "]]></MsgType>"); sb.Append("<ArticleCount><![CDATA[" + model.Articles.Count + "]]></ArticleCount>"); sb.Append("<Articles>"); foreach (var item in model.Articles) { sb.Append("<item>"); sb.Append("<Title><![CDATA[" + item.Title + "]]></Title>"); sb.Append("<Description><![CDATA[" + item.Description + "]]></Description>"); sb.Append("<PicUrl><![CDATA[" + item.PicUrl + "]]></PicUrl>"); sb.Append("<Url><![CDATA[" + item.Url + "]]></Url>"); sb.Append("</item>"); } sb.Append("</Articles>"); sb.Append("</xml>"); return(sb.ToString()); }
/// <summary> /// 扫一扫 /// </summary> public static void ResponseAdvClickEvent(HttpResponseBase Response, MsgModel msg, ResultCryptography ccg) { string remsg = string.Empty; string openid = msg.FromUserName; //LogHelper.WriteLog("lalal" + ConfigurationManager.AppSettings["ScanCodeInfoUrl"] + "?url=" + System.Web.HttpUtility.UrlEncode(msg.EventModel.ClickEventModel.ScanResult) + "&openid=" + openid); //调用积分url string ret = BasicApi.RequestCreate(ConfigurationManager.AppSettings["ScanCodeInfoUrl"] + "?url=" + System.Web.HttpUtility.UrlEncode(msg.EventModel.ClickEventModel.ScanResult) + "&openid=" + openid); //LogHelper.WriteLog(ConfigurationManager.AppSettings["ScanCodeInfoUrl"]); if (ret.Contains("x")) { //BasicApi.RequestCreate("http://jifenweixin.shinho.net.cn/#/component/scansuccess?integral=" + ret); ret = ret.Replace("x", ""); msg.MsgType = "news"; ArticelModel articel = new ArticelModel() { Title = "好手气,拿大奖", Description = "点击上文查看中奖情况", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqudkJX4sk2WDIYvqmibxToUKFtPcmLS2c2tnoXvoWoVgANLiaZPvEEAohSxdnTxPdIRSBDy10SPE1TA/0?wx_fmt=jpeg", Url = ConfigurationManager.AppSettings["WeiXinDomain"] + "component/scansuccess?integral=" + ret }; msg.Articles = new List <ArticelModel>(); msg.Articles.Add(articel); remsg = XmlHelpler.GetArticlesXml(msg); Response.Write(GetMsg(remsg, ccg)); } else { msg.TextModel = new TextModel() { Content = ret }; remsg = XmlHelpler.GetTextXml(msg); Response.Write(GetMsg(remsg, ccg)); } }
/// <summary> /// 创建队员关注二维码 /// </summary> public static string CreateSubscribeQRcode(int salemanId) { string json = "{\"expire_seconds\": 1800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": " + salemanId.ToString() + "}}}"; string ret = PostJson("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + BasicApi.GetAccessToken(), json); var q = JsonHelper.JsonToObject <QRcode>(ret); return(q.ticket); }
/// <summary> /// 1注册成功给1发模板消息 /// </summary> /// <param name="Response"></param> /// <param name="msg"></param> public static void SendMuBanMsg(string json) { PostJson("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + BasicApi.GetAccessToken(), json); }
/// <summary> /// 关注事件 /// </summary> /// <param name="httpRequest"></param> /// <param name="msg"></param> public static void ResponseSubscribeEvent(HttpResponseBase Response, MsgModel msg, ResultCryptography ccg) { string openid = msg.FromUserName; string ret = BasicApi.RequestCreate(ConfigurationManager.AppSettings["AddFollowerOpenId"] + "?id=" + msg.EventModel.EventKeyModel.EventKey + "&openid=" + openid); var remsg = ""; try { string str = msg.EventModel.EventKeyModel.EventKey; if (!string.IsNullOrEmpty(str) && str.Contains("A")) { int Id = Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(str, @"[^0-9]+", "")); if (Id > 1 && Id < 3000) { remsg = ActivityExc(msg, Id); } if (Id < 50000 && Id > 3000) { msg.MsgType = "news"; ArticelModel articel = new ArticelModel() { Title = "点击图片完成注册", Description = "欣和餐饮服务欢迎您的到来", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqsSZZuaafJUZfNibZ109B0CXbWpLSaKEdQdibozC0LOibu9Eshs0R1yfgFNOYvI0icb7ntDKXC2k06tVw/0?wx_fmt=jpeg", Url = ConfigurationManager.AppSettings["WeiXinDomain"] + "component/register" }; msg.Articles = new List <ArticelModel>(); msg.Articles.Add(articel); remsg = XmlHelpler.GetArticlesXml(msg); } else { msg.MsgType = "news"; ArticelModel articel = new ArticelModel() { Title = "味达美厨师会员招募啦!点击图片即可注册!" + str, Description = "积分好礼、国内外学习考察、新品试用等你来!", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqsSZZuaafJUZfNibZ109B0CXbWpLSaKEdQdibozC0LOibu9Eshs0R1yfgFNOYvI0icb7ntDKXC2k06tVw/0?wx_fmt=jpeg", Url = ConfigurationManager.AppSettings["WeiXinDomain"] + "component/register" }; msg.Articles = new List <ArticelModel>(); msg.Articles.Add(articel); remsg = XmlHelpler.GetArticlesXml(msg); } } else { msg.MsgType = "news"; ArticelModel articel = new ArticelModel() { Title = "味达美厨师会员招募啦!点击图片即可注册!", Description = "积分好礼、国内外学习考察、新品试用等你来!", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqsSZZuaafJUZfNibZ109B0CXbWpLSaKEdQdibozC0LOibu9Eshs0R1yfgFNOYvI0icb7ntDKXC2k06tVw/0?wx_fmt=jpeg", Url = ConfigurationManager.AppSettings["WeiXinDomain"] + "component/register" }; ArticelModel articel2 = new ArticelModel() { Title = "会员扫码须知", Description = "会员扫码须知", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqtaGUZZoklAKp1sE9eqTK2Mia7RSpH0AyT3lP5BaxNJkiagobOIz3Gpe2ZQs3HYz8icFKw3wxic35KApQ/0?wx_fmt=jpeg", Url = "http://jifenweixin.shinho.net.cn/#/component/activityrule" }; msg.Articles = new List <ArticelModel>(); msg.Articles.Add(articel); msg.Articles.Add(articel2); remsg = XmlHelpler.GetArticlesXml(msg); } } catch { msg.MsgType = "news"; ArticelModel articel = new ArticelModel() { Title = "味达美厨师会员招募啦!点击图片即可注册!", Description = "积分好礼、国内外学习考察、新品试用等你来!", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqsSZZuaafJUZfNibZ109B0CXbWpLSaKEdQdibozC0LOibu9Eshs0R1yfgFNOYvI0icb7ntDKXC2k06tVw/0?wx_fmt=jpeg", Url = ConfigurationManager.AppSettings["WeiXinDomain"] + "component/register" }; ArticelModel articel2 = new ArticelModel() { Title = "会员扫码须知", Description = "会员扫码须知", PicUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/uuwJXDpEBqtaGUZZoklAKp1sE9eqTK2Mia7RSpH0AyT3lP5BaxNJkiagobOIz3Gpe2ZQs3HYz8icFKw3wxic35KApQ/0?wx_fmt=jpeg", Url = "http://jifenweixin.shinho.net.cn/#/component/activityrule" }; msg.Articles = new List <ArticelModel>(); msg.Articles.Add(articel); msg.Articles.Add(articel2); remsg = XmlHelpler.GetArticlesXml(msg); } Response.Write(GetMsg(remsg, ccg)); }
/// <summary> /// 创建永久字符串形式的二维码参数 /// </summary> public static string CreateLimitSubscribeQRcode(string scene_str) { string json = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"" + scene_str + "\"}}}"; string ret = PostJson("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + BasicApi.GetAccessToken(), json); var q = JsonHelper.JsonToObject <QRcode>(ret); return(q.ticket); }