public static string PostApplyMenu() { var result = AccessTokenContainer.GetTokenResult(Variables.AppId); // GetMenuResult menuResult = CommonApi.GetMenu(result.access_token); CommonApi.DeleteMenu(result.access_token); var buttons = Variables.MenuButtons; Regex regex = new Regex("\\{(local|auth)\\}([^\"]*)"); buttons = regex.Replace(buttons, a => { if (a.Groups[1].Value == "local") { return(WeixinHelper.GetLocalPath() + a.Groups[2].Value); } else { return(WeixinHelper.GetAuthUrl(a.Groups[2].Value)); } }); var resultHtml = HttpClient.Post("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + result.access_token, buttons, null); return(Regex.Match(resultHtml, "\"errmsg\":\"([^\"]+)\"").Groups[1].Value); }
public void Delete_OnClick(object sender, EventArgs e) { if (Page.IsPostBack && Page.IsValid) { try { var accountInfo = WeiXinManager.GetAccountInfo(PublishmentSystemID); var accessToken = MPUtils.GetAccessToken(accountInfo); var result = CommonApi.DeleteMenu(accessToken); if (result.errmsg == "ok") { SuccessMessage("菜单禁用成功,取消关注公众账号后再次关注,可以立即看到禁用后的效果"); } else { FailMessage($"菜单禁用失败:{result.errmsg}"); } } catch (Exception ex) { FailMessage($"菜单禁用失败:{ex.Message}"); } } }
public ActionResult DeleteCustomMenu(string menuId) { try { if (string.IsNullOrEmpty(_wxAccount.AppId) || string.IsNullOrEmpty(_wxAccount.Secret)) { return(Json(new { error = true, message = "AppId或AppSecret为空" }, JsonRequestBehavior.AllowGet)); } var token = AccessTokenContainer.TryGetAccessToken(_wxAccount.AppId, _wxAccount.Secret); var result = string.IsNullOrEmpty(menuId) ? CommonApi.DeleteMenu(token) : CommonApi.DeleteMenuConditional(token, menuId); var json = new { error = result.errmsg != "ok", message = result.errmsg }; return(Json(json, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var json = new { error = true, message = ex.Message }; return(Json(json, JsonRequestBehavior.AllowGet)); } }
public void DeleteMenuTest() { var accessToken = AccessTokenContainer.GetToken(_corpId, _corpSecret); var result = CommonApi.DeleteMenu(accessToken, _agentId); Assert.IsNotNull(result); Assert.AreEqual("ok", result.errmsg); }
public WorkJsonResult WX_DelMenu(int agentId) { WorkJsonResult Ret = new WorkJsonResult(); if (Qyinfo.IsUseWX == "Y") { Ret = CommonApi.DeleteMenu(GetToken(agentId.ToString()), agentId); } return(Ret); }
public void DeleteMenuTest() { return;//删除之后,GetMenu将返回null LoadToken(); var result = CommonApi.DeleteMenu(tokenResult.access_token); Assert.IsNotNull(result); Assert.AreEqual("ok", result.errmsg); }
public void DeleteMenuTest() { return;//已经通过测试,删除之后,GetMenu将返回null var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CommonApi.DeleteMenu(accessToken); Assert.IsNotNull(result); Assert.AreEqual("ok", result.errmsg); }
// 创建菜单 private void BuildMenu() { var x5Meuns = new ButtonGroup(); var indexPage = new SingleViewButton { name = "起步科技", type = ButtonType.view.ToString(), url = "http://www.justep.com" }; x5Meuns.button.Add(indexPage); var demoPage = new SingleViewButton { name = "外卖", type = ButtonType.view.ToString(), url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + ConfigHelper.AppConfig["appId"] + "&redirect_uri=http%3A%2F%2Fwx.justep.com%2Ftakeout%2Findex.html&" + "response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect" }; x5Meuns.button.Add(demoPage); var takeout = new SingleViewButton { name = "外卖案例", type = ButtonType.view.ToString(), url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + ConfigHelper.AppConfig["appId"] + "&redirect_uri=http%3A%2F%2Fwx.justep.com%2Fx5%2FUI2%2Ftakeout%2Findex.w&" + "response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect" }; Console.WriteLine(takeout.url); x5Meuns.button.Add(takeout); try { CommonApi.DeleteMenu(AccessToken); CommonApi.CreateMenu(AccessToken, x5Meuns); } catch (Exception e) { Console.WriteLine(e.Message); throw; } }
public ActionResult DeleteMenu(string token) { try { var result = CommonApi.DeleteMenu(token); var json = new { Success = result.errmsg == "ok", Message = result.errmsg }; return(Json(json, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var json = new { Success = false, Message = ex.Message }; return(Json(json, JsonRequestBehavior.AllowGet)); } }
public ActionResult DeleteMenu(string token) { try { WxJsonResult result = CommonApi.DeleteMenu(token); var data = new { Success = result.errmsg == "ok", Message = result.errmsg }; return(base.Json(data, JsonRequestBehavior.AllowGet)); } catch (Exception exception) { var type2 = new { Success = false, Message = exception.Message }; return(base.Json(type2, JsonRequestBehavior.AllowGet)); } }
public ActionResult DeleteMenu(string token) { try { var result = CommonApi.DeleteMenu(token); var json = new { Success = result.errmsg == "ok", Message = result.errmsg }; return(Json(json, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })); } catch (Exception ex) { var json = new { Success = false, Message = ex.Message }; return(Json(json, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })); } }
public async Task DeleteMenu() { string accessToken = await GetAccessToken(); var result = CommonApi.DeleteMenu(accessToken); }
public static void DeleteMenuDefault() { var result = CommonApi.DeleteMenu(MPBasicSetting.AppID); }
private string DeleteWXMenu(Menu model) { try { var token = AccessTokenContainer.TryGetAccessToken(AppConfig.Instance.AppId, AppConfig.Instance.AppSecret); if (!string.IsNullOrEmpty(token)) { var bg = new ButtonGroup(); var menus = _menuDal.GetAll <Menu>().ToList(); var _menu = menus.FirstOrDefault(p => p.Id == model.Id); if (_menu != null) { menus.Remove(_menu); } if (menus.Count() == 0) { var r = CommonApi.DeleteMenu(token); return(r.errcode == Senparc.Weixin.ReturnCode.请求成功 ? "" : r.errmsg); } foreach (var m in menus.Where(p => p.MenuLevel == 1)) { if (menus.FirstOrDefault(p => p.MenuParentId == m.Id) != null) { var subBtn = new SubButton { name = m.MenuName }; menus.Where(p => p.MenuParentId == m.Id).ToList().ForEach(p => { subBtn.sub_button.Add(new SingleViewButton { name = p.MenuName, url = p.Url }); }); bg.button.Add(subBtn); } else { bg.button.Add(new SingleViewButton { name = m.MenuName, url = m.Url }); } } var result = CommonApi.CreateMenu(token, bg); return(result.errcode == Senparc.Weixin.ReturnCode.请求成功 ? "" : result.errmsg); } else { return("获取微信token失败"); } } catch (Exception ex) { return(ex.Message); } }
public ActionResult AddMenu() { //获取accessToken var accessToken = AccessTokenContainer.TryGetAccessToken(AppId, AppSecret); //删除原有菜单 var result1 = CommonApi.DeleteMenu(accessToken); //创建新菜单 ButtonGroup bg = new ButtonGroup(); //第1个一级菜单 var firstButton = new SubButton() { name = "Ai我家" }; firstButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinHome/Index", name = "首页" }); firstButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinPropertyNotice/PropertyNoticeList/", name = "物业公告" }); firstButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinQuestion/QuestionList/", name = "上报问题" }); firstButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinExpenseNotice/ExpenseNoticeList/", name = "缴费通知" }); firstButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinTopic/Index/", name = "社区话题" }); bg.button.Add(firstButton); //第2个一级菜单 var secondButton = new SingleViewButton() { url = "http://weidian.com/s/382033745?wfr=c/", name = "绿色直供" }; bg.button.Add(secondButton); //第3个一级菜单 var threeButton = new SubButton() { name = "更多" }; threeButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinProduct/Index/", name = "产品介绍" }); threeButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinProduct/QrCodeShare/", name = "分享友邻" }); threeButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinSocialCircle/Index/", name = "业主圈子" }); threeButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinPersonalCenter/Index/", name = "个人中心" }); threeButton.sub_button.Add(new SingleViewButton() { url = "http://v.homekeeper.com.cn/WeixinIdentityBind/Index/", name = "绑定小区" }); bg.button.Add(threeButton); var result2 = CommonApi.CreateMenu(accessToken, bg); return(Content("创建菜单成功,请查看。" + result1.errmsg + "+44" + result2.errmsg)); }
public QyJsonResult Push(int appId) { var categories = CommonService.lstCategory.Where(x => x.AppId == appId && (x.CategoryCode == null || !x.CategoryCode.EndsWith(_endFix, true, CultureInfo.CurrentCulture)) && (x.IsDeleted == null || x.IsDeleted == false)).OrderBy(x => x.CategoryOrder).Select(x => { var function = x.Function.IsNullOrEmpty() ? null : JsonHelper.FromJson <ButtonReturnType>(x.Function); return(new CategroyChild { Id = x.Id, key = x.CategoryCode, name = function == null ? x.CategoryName : function.Button.name, sub_button = new List <MenuFull_RootButton>(), //跳转到新闻列表本身也是view, 因此在同步时将其type改为view. type = function == null ? null : "view-news-list".Equals(function.Button.type) ? "view" : function.Button.type, ParentId = x.ParentCode.GetValueOrDefault(), order = x.CategoryOrder.GetValueOrDefault(), url = function == null ? null : function.Button.url, }); }).ToList(); foreach (var category in categories) { if ("click".Equals(category.type)) { var key = category.key.Split(':')[0]; int keyId = default(int); if (int.TryParse(key, out keyId)) { var autoReply = _autoReplyService.GetDetail(keyId); if (autoReply == null) { throw new System.Exception(string.Format("{0} 的口令不存在, 请重新选择.", category.name)); } if ((int)AutoReplyKeywordEnum.MENU == autoReply.KeywordType && null != autoReply.Keywords && autoReply.Keywords.Count > 0) { if ((int)AutoReplyMenuEnum.SCAN_PUSH_EVENT == autoReply.Keywords[0].SecondaryType) { category.type = "scancode_push"; } else if ((int)AutoReplyMenuEnum.SCAN_WITH_PROMPT == autoReply.Keywords[0].SecondaryType) { category.type = "scancode_waitmsg"; } } } else { throw new System.Exception(string.Format("请重新选择 {0} 的口令.", category.key)); } } } var buttons = new List <MenuFull_RootButton>(); categories.Where(x => x.ParentId == 0).ToList().ForEach(x => GenerateMenuHierarchy(categories, x, buttons)); var config = WeChatCommonService.GetWeChatConfigByID(appId); //修改 if (categories != null && categories.Count > 0) { var menu = new GetMenuResultFull { menu = new MenuFull_ButtonGroup { button = buttons } }; var btnMenus = CommonApi.GetMenuFromJsonResult(menu).menu; if (config.IsCorp.HasValue && !config.IsCorp.Value) { var result = Innocellence.Weixin.MP.CommonAPIs.CommonApi.CreateMenu(config.WeixinCorpId, config.WeixinCorpSecret, btnMenus); return(new QyJsonResult() { errcode = (ReturnCode_QY)result.errcode, errmsg = result.errmsg }); } else { var result = CommonApi.CreateMenu(WeChatCommonService.GetWeiXinToken(appId), int.Parse(config.WeixinAppId), btnMenus); return(result); } } //删除 else { if (config.IsCorp.HasValue && !config.IsCorp.Value) { var result = Innocellence.Weixin.MP.CommonAPIs.CommonApi.DeleteMenu(config.WeixinCorpId, config.WeixinCorpSecret); return(new QyJsonResult() { errcode = (ReturnCode_QY)result.errcode, errmsg = result.errmsg }); } else { var result = CommonApi.DeleteMenu(WeChatCommonService.GetWeiXinToken(appId), int.Parse(config.WeixinAppId)); return(result); } } }
public WxJsonResult DeleteMenu(Wx_App app) { return(CommonApi.DeleteMenu(app.AppId)); }