public void CreateMenuTest() { //return;//已经通过测试 var accessToken = AccessTokenContainer.GetAccessToken(_appId); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "单击测试", key = "OneClick", type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "返回音乐" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://weixin.senparc.com", name = "Url跳转" }); subButton.sub_button.Add(new SingleLocationSelectButton() { key = "SingleLocationSelectButton", name = "位置", }); bg.button.Add(subButton); var result = CommonApi.CreateMenu(accessToken, bg); Assert.IsNotNull(result); Assert.AreEqual("ok", result.errmsg); }
public void CreateMenuTest() { var accessToken = AccessTokenContainer.GetToken(_corpId, _corpSecret); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "单击测试", key = "OneClick", type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "返回音乐" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://weixin.senparc.com", name = "Url跳转" }); subButton.sub_button.Add(new SinglePicPhotoOrAlbumButton() { key = "SubClickRoot_Pic_Photo_Or_Album", name = "微信拍照" }); bg.button.Add(subButton); var result = CommonApi.CreateMenu(accessToken, _agentId, bg); Assert.IsNotNull(result); Assert.AreEqual("ok", result.errmsg); }
public static string CreateMenu() { var accessToken = AccessTokenContainer.TryGetAccessToken(appid, secret); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleViewButton() { url = "http://www.mingshukeji.com.cn/SharePing", name = "小米小店" }); //二级菜单 var subButton = new SubButton() { name = "抢券中心" }; subButton.sub_button.Add(new SingleViewButton() { url = "http://www.mingshukeji.com.cn/SharePing", name = "推荐福利" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://www.mingshukeji.com.cn/SharePing/FindCoupon", name = "搜索福利" }); bg.button.Add(subButton); //二级菜单 var subButton2 = new SubButton() { name = "服务中心" }; subButton2.sub_button.Add(new SingleViewButton() { url = "https://www.mingshukeji.com.cn/Home/AboutCompany", name = "关于我们" }); subButton2.sub_button.Add(new SingleViewButton() { url = "https://shop.mi.com", name = "管理小店" }); bg.button.Add(subButton2); var result = CommonApi.CreateMenu(accessToken, bg); return("菜单创建成功"); }
public ActionResult MenuManager() { AccessTokenContainer.Register("wx4df7108464fb86f1", "46515264f29685ba478ea93d44919ed5"); var accessToken = AccessTokenContainer.GetAccessToken(AppId); var aa = UserTagApi.Get(accessToken); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "单击测试", key = "OneClick", type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "返回音乐" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://weixin.senparc.com", name = "Url跳转" }); bg.button.Add(subButton); var result = CommonApi.CreateMenu(accessToken, bg); return(View()); }
public ActionResult CreateMenu(string token, GetMenuResultFull resultFull, MenuMatchRule menuMatchRule) { var useAddCondidionalApi = menuMatchRule != null && !menuMatchRule.CheckAllNull(); var apiName = string.Format("使用接口:{0}。", (useAddCondidionalApi ? "个性化菜单接口" : "普通自定义菜单接口")); try { if (token.IsNullOrEmpty()) { throw new WeixinException("Token不能为空!"); } //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; if (useAddCondidionalApi) { //个性化接口 buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ConditionalButtonGroup()).menu; var addConditionalButtonGroup = buttonGroup as ConditionalButtonGroup; addConditionalButtonGroup.matchrule = menuMatchRule; result = CommonApi.CreateMenuConditional(token, addConditionalButtonGroup); apiName += string.Format("menuid:{0}。", (result as CreateMenuConditionalResult).menuid); } else { //普通接口 buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = CommonApi.CreateMenu(token, buttonGroup); } var json = new { Success = result.errmsg == "ok", Message = "菜单更新成功。" + apiName }; return(Json(json, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })); } catch (Exception ex) { var json = new { Success = false, Message = string.Format("更新失败:{0}。{1}", ex.Message, apiName) }; return(Json(json, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })); } }
// 创建菜单 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 void dd() { //125.105.97.120 AccessTokenContainer.Register(AppId, AppSecret); // var accesstoken = Senparc.Weixin.MP.CommonAPIs.CommonApi.GetToken(AppId, AppSecret); var accesstoken = AccessTokenContainer.TryGetAccessToken(AppId, AppSecret); //21_aBoVaAUgaWbzmZkclQJSRVN2HkBLJCny12kOxwumMMavDaKUWMecnYNz6Vwmol1pgvYkaOzF7zmpFh3puXhhIx3JpjrMQUWw24O-1lFul60G2wjCUmP1e4QcfKAVJYdAHAZNC // var accesstoken1 = Senparc.Weixin.MP.CommonAPIs.CommonApi.GetToken(AppId, AppSecret); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "单击测试", key = "OneClick" //type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "返回音乐" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://weixin.senparc.com", name = "Url跳转" }); bg.button.Add(subButton); var result = CommonApi.CreateMenu(accesstoken, bg); var results = CommonApi.GetMenu(accesstoken); }
public ActionResult SaveMenu(FormCollection fc) { Guid id = Guid.Parse(fc["accountid"].ToString()); string menustr = fc["menustr"].ToString(); JavaScriptSerializer js = new JavaScriptSerializer(); var jsonResult = js.Deserialize <GetMenuResultFull>(menustr); ButtonGroup bg = new ButtonGroup(); GetMenuResult aasaas = CommonApi.GetMenuFromJsonResult(jsonResult, bg); OfficialAccount_BLL bll = new OfficialAccount_BLL(); OfficialAccount oa = bll.Get(a => a.AccountID == id); string accessToken = AccessTokenContainer.TryGetAccessToken(oa.AppID, oa.AppSecret); Senparc.Weixin.Entities.WxJsonResult rrr = CommonApi.CreateMenu(accessToken, aasaas.menu); return(Json(rrr.errcode.ToString(), JsonRequestBehavior.AllowGet)); }
/// <summary> /// 初始化用户的默认菜单 /// </summary> private static void InitMenus() { var buttonGroup = new ButtonGroup(); #region 第一个菜单 var timeGalleryBtn = new SubButton("时光轴"); var pepeWebBtn = new SingleViewButton { name = "裴裴时光轴", url = "http://fengrui358.vicp.cc/TimeGallery" }; timeGalleryBtn.sub_button.Add(pepeWebBtn); buttonGroup.button.Add(timeGalleryBtn); #endregion #region 第二个菜单 var aboutBtn = new SubButton("关于"); var uploadBtn = new SingleViewButton { name = "上传", url = "http://fengrui358.vicp.cc/TimeGallery/Gallery/OAuth2ForBaseUpload" }; var uploadUserBtn = new SingleViewButton { name = "用户信息上传", url = "http://fengrui358.vicp.cc/TimeGallery/Gallery/OAuth2ForUserInfoUpload" }; aboutBtn.sub_button.Add(uploadBtn); aboutBtn.sub_button.Add(uploadUserBtn); buttonGroup.button.Add(aboutBtn); #endregion var result = CommonApi.CreateMenu(AppId, buttonGroup); if (result == null || result.errcode != 0) { throw new Exception("初始化微信默认菜单出错!"); } }
public ActionResult CreateMenu(GetMenuResultFull resultFull) { WxJsonResult result = null; try { var accessToken = AccessTokenContainer.TryGetToken(AppId, AppSecret); var bg = CommonApi.GetMenuFromJsonResult(resultFull).menu; result = CommonApi.CreateMenu(accessToken, bg); } catch (Exception) { //TODO } return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult InitMenu() { var token = AccessTokenContainer.TryGetAccessToken(AppId, AppSecret); var buttonGroups = new MenuFull_ButtonGroup(); // 定义按钮 buttonGroups.button = new List <MenuFull_RootButton> { new MenuFull_RootButton { name = "科技资讯", type = "view", url = "https://guandian.tech", }, new MenuFull_RootButton { name = "技术分享", type = "view", url = "https://guandian.tech/blogs", }, new MenuFull_RootButton { name = "关于我们", sub_button = new List <MenuFull_RootButton> { new MenuFull_RootButton { name = "我们是谁", type = "view", url = "https://guandian.tech/home/about" }, new MenuFull_RootButton { name = "联系方式", type = "view", url = "https://guandian.tech/home/contact" } } } }; var result = CommonApi.CreateMenu(token, buttonGroups); return(Json(result.errmsg)); }
public dynamic CreateMenuList() { ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "智能检索", key = "OneClick", }); //二级菜单 var subButton = new SubButton() { name = "我的" }; subButton.sub_button.Add(new SingleViewButton() { name = "身份绑定", url = "http://aehyok.com" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "我的任务" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "我的会议" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://weixin.senparc.com", name = "个人信息" }); bg.button.Add(subButton); var accessToken = AccessTokenContainer.TryGetAccessToken(appId, appSecret); var result = CommonApi.CreateMenu(accessToken, bg); return(Ok(result)); }
public static readonly string AppId = "wx4df7108464fb86f1"; //与微信公众账号后台的AppId设置保持一致,区分大小写。 //[HttpGet] //public ActionResult Menu () //{ // return View("Menu"); //} //[HttpPost] public void Menu() { var accessToken = AccessTokenContainer.GetAccessToken(AppId); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "单击测试", key = "OneClick", type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "返回音乐" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://weixin.senparc.com", name = "Url跳转" }); bg.button.Add(subButton); var result = CommonApi.CreateMenu(accessToken, bg); //return result; }
public async Task PushMenuAsync(string accessTokenOrAppId, int siteId) { var resultFull = new GetMenuResultFull { menu = new MenuFull_ButtonGroup { button = new List <MenuFull_RootButton>() } }; var openMenus = await _wxMenuRepository.GetMenusAsync(siteId); foreach (var firstMenu in openMenus.Where(x => x.ParentId == 0)) { var root = new MenuFull_RootButton { name = firstMenu.Text, type = firstMenu.MenuType.GetValue(), url = firstMenu.Url, key = firstMenu.Key, sub_button = new List <MenuFull_RootButton>() }; foreach (var child in openMenus.Where(x => x.ParentId == firstMenu.Id)) { root.sub_button.Add(new MenuFull_RootButton { name = child.Text, type = child.MenuType.GetValue(), url = child.Url, key = child.Key }); } resultFull.menu.button.Add(root); } var buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; var result = CommonApi.CreateMenu(accessTokenOrAppId, buttonGroup); if (result.errmsg != "ok") { throw new Exception(result.errmsg); } }
public void CreateMenuTest() { return;//已经通过测试 LoadToken(); ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleButton() { name = "单击测试", key = "OneClick", type = ButtonType.click.ToString(), //默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleButton() { key = "SubClickRoot_Music", name = "返回音乐" }); bg.button.Add(subButton); var result = CommonApi.CreateMenu(tokenResult.access_token, bg); Assert.IsNotNull(result); Assert.AreEqual("ok", result.errmsg); }
private void CreateMenus() { ButtonGroup bg = new ButtonGroup(); //单击 bg.button.Add(new SingleClickButton() { name = "单击测试", key = "OneClick", type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示 }); //二级菜单 var subButton = new SubButton() { name = "二级菜单" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text", name = "返回文本" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_News", name = "返回图文" }); subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Music", name = "返回音乐" }); subButton.sub_button.Add(new SingleViewButton() { url = string.Format("{0}Home/OperateMsg", KeyStore.DemoUrl), name = "使用说明" }); bg.button.Add(subButton); var accessToken = AccessTokenContainer.GetAccessToken(KeyStore.AppId); var result = CommonApi.CreateMenu(accessToken, bg); }
/// <summary> /// 使用Json数据更新菜单 /// </summary> /// <param name="fullJson">json数据</param> /// <returns></returns> public ActionResult CreateMenuFromJson(string fullJson) { try { GetMenuResultFull resultFull = Newtonsoft.Json.JsonConvert.DeserializeObject <GetMenuResultFull>(fullJson); //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = CommonApi.CreateMenu(AccessTokenContainer.TryGetAccessToken(AppId, Secret), buttonGroup); return(Json(Model.SysEnum.成功, "菜单更新成功")); } catch (Exception ex) { return(Json(Model.SysEnum.失败, string.Format("更新失败:{0}", ex.Message))); } }
public ActionResult CreateMenu(string data) { string accessToken = AccessTokenContainer.TryGetToken(ConfigSettings.TestWeixinAppID, ConfigSettings.TestWeixinAppSecret); JsonMenu jsonMenu = JsonConvert.DeserializeObject <JsonMenu>(data); MenuJsonResult jsonResult = new MenuJsonResult { menu = jsonMenu }; jsonResult = CommonApi.GetMenuFromJsonResult(jsonResult); WxJsonResult result = CommonApi.CreateMenu(accessToken, jsonResult.Buttons); if (result.errcode == WeixinReturnCode.Success) { return(Content("ok")); } else { return(Content("error")); } }
public ActionResult CreateMenu(string token, GetMenuResultFull resultFull) { try { //重新整理按钮信息 var bg = CommonApi.GetMenuFromJsonResult(resultFull).menu; var result = CommonApi.CreateMenu(token, bg); var json = new { Success = result.errmsg == "ok", Message = result.errmsg }; return(Json(json)); } catch (Exception ex) { var json = new { Success = false, Message = ex.Message }; return(Json(json)); } }
public ActionResult CreateMenu(GetMenuResultFull resultFull, MenuMatchRule menuMatchRule) { if (string.IsNullOrEmpty(_wxAccount.AppId) || string.IsNullOrEmpty(_wxAccount.Secret)) { return(Json(new { error = "AppId或AppSecret为空" }, JsonRequestBehavior.AllowGet)); } var token = AccessTokenContainer.TryGetAccessToken(_wxAccount.AppId, _wxAccount.Secret); var useAddCondidionalApi = menuMatchRule != null && !menuMatchRule.CheckAllNull(); var apiName = string.Format("使用接口:{0}。", (useAddCondidionalApi ? "个性化菜单接口" : "普通自定义菜单接口")); try { //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; if (useAddCondidionalApi) { //个性化接口 buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ConditionalButtonGroup()).menu; var addConditionalButtonGroup = buttonGroup as ConditionalButtonGroup; addConditionalButtonGroup.matchrule = menuMatchRule; result = CommonApi.CreateMenuConditional(token, addConditionalButtonGroup); apiName += string.Format("menuid:{0}。", (result as CreateMenuConditionalResult).menuid); } else { //普通接口 buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = CommonApi.CreateMenu(token, buttonGroup); } return(Json(new { success = result.errmsg == "ok", message = "菜单更新成功。" + apiName })); } catch (Exception ex) { return(Json(new { success = false, message = string.Format("更新失败:{0}。{1}", ex.Message, apiName) })); } }
public static string CreateMenuDefault() { string errormsg = string.Empty; try { ButtonGroup btnGroup = GetSunnysoftBtnGroup(); WxJsonResult result = CommonApi.CreateMenu(MPBasicSetting.AppID, btnGroup); if (result.errcode != ReturnCode.请求成功) { errormsg = "错误码:" + result.errcode + ". " + result.errmsg; FileHelper.WriteLog("创建菜单错误", errormsg); } return(errormsg); } catch (System.Exception ex) { FileHelper.WriteLog("创建菜单错误", ex.ToString()); return(ex.Message); } }
/// <summary> /// 修改自定义菜单 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult UpdateMenu(string id) { try { var model = id.JsonToObj <MenuModel>(); if (model != null) { var bg = GetSendMenuJson(model.list); var result = CommonApi.CreateMenu(AccessTokenContainer.TryGetAccessToken("wxd4d7bd7f8fdc8156", "0482ace1cf1b9dcf702ba4366be65db8"), bg); if (result != null) { return(Content(result.errcode.ToStringEx())); } } return(Content("1")); } catch (Exception err) { return(Content(err.Message)); } }
private string CreateMenuWithButtonGroup() { try { var accessToken = AccessTokenContainer.TryGetAccessToken(AppId, AppSecret); ButtonGroup bg = new ButtonGroup(); // 添加 Order 菜单 bg.button.Add(new SingleClickButton() { name = "Order", key = "OrderClick", type = MenuButtonType.view.ToString(), //默认已经设为此类型,这里只作为演示 }); var result = CommonApi.CreateMenu(accessToken, bg); return(result.ToString()); } catch (Exception e) { return(e.StackTrace.ToString()); } }
/// <summary> /// 更新自定义菜单(默认菜单) /// </summary> /// <param name="appId">微信appId</param> /// <param name="menuFull_Button">自定义菜单组</param> /// <returns></returns> private async Task UpdateDefaultMenu(string appId, MenuFull_ButtonGroup menuFull_Button) { await _wechatAppConfigManager.RegisterWechatApp(appId); try { var resultFull = new GetMenuResultFull() { menu = menuFull_Button }; // 数据校验 var buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; // 立即创建 var result = CommonApi.CreateMenu(appId, buttonGroup); } catch (UserFriendlyException e) { throw e; } }
/// <summary> /// 修改自定义菜单 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult UpdateMenu(string id) { try { var model = id.JsonToObj <MenuModel>(); if (model != null) { var bg = GetSendMenuJson(model.list); var result = CommonApi.CreateMenu(GetAccessToken(), bg); if (result != null) { return(Content(result.errcode.ToStringEx())); } } return(Content("1")); } catch (Exception err) { return(Content(err.Message)); } }
/// <summary> /// 初始化创建菜单 /// </summary> /// <param name="appId"></param> public void CreateMenu() { ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.button.Add(new SingleViewButton() { name = "APP下载", url = "http://download.wftx666.com" }); buttonGroup.button.Add(new SingleViewButton() { name = "进入商城", url = "http://m.wftx666.com" }); //二级菜单 var subButton = new SubButton() { name = "服务中心" }; subButton.sub_button.Add(new SingleClickButton() { key = "SubClickRoot_Text_Complaint", name = "投诉建议" }); subButton.sub_button.Add(new SingleViewButton() { url = "https://mp.weixin.qq.com/mp/homepage?__biz=MzUzOTE3OTMyNw==&hid=1&sn=398ed1e7070362f143920d8fcdbec971#wechat_redirect", name = "帮助中心" }); subButton.sub_button.Add(new SingleViewButton() { url = "http://wx.wftx666.com/account", name = "你的信息" }); buttonGroup.button.Add(subButton); var result = CommonApi.CreateMenu(AccessToken(), buttonGroup); }
private bool SyncMenu(GetMenuResultFull resultFull, AccountInfo accountInfo, out string errorMessage) { var isSync = false; errorMessage = string.Empty; var bg = CommonApi.GetMenuFromJsonResult(resultFull).menu; var accessToken = MPUtils.GetAccessToken(accountInfo); var result = CommonApi.CreateMenu(accessToken, bg); if (result.errmsg == "ok") { isSync = true; } else { isSync = false; errorMessage = result.errmsg; } return(isSync); }
public bool CreateWechatMenu(out string msg) { var accessToken = _wechatAuthentManager.GetAccessToken(); if (!string.IsNullOrEmpty(accessToken)) { var wechatMenu = _wechatMenuProvider.GetWechatMenu(); try { var result = CommonApi.CreateMenu(accessToken, wechatMenu); msg = result.errmsg; return(result.errcode == ReturnCode.请求成功); } catch (Exception e) { LogHelper.Logger.Error(e.Message, e); msg = e.Message; } return(false); } msg = "获取AcessToken失败"; return(false); }
public ActionResult CreateMenuFromJson(string token, string fullJson) { //TODO:根据"conditionalmenu"判断自定义菜单 var apiName = "使用JSON更新"; try { GetMenuResultFull resultFull = Newtonsoft.Json.JsonConvert.DeserializeObject <GetMenuResultFull>(fullJson); //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; buttonGroup = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = CommonApi.CreateMenu(token, buttonGroup); var json = new { Success = result.errmsg == "ok", Message = "菜单更新成功。" + apiName }; return(Json(json, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })); } catch (Exception ex) { var json = new { Success = false, Message = string.Format("更新失败:{0}。{1}", ex.Message, apiName) }; return(Json(json, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })); } }
public ActionResult CreateMenu(string token, GetMenuResultFull resultFull, MenuMatchRule menuMatchRule) { bool flag = (menuMatchRule != null) && !menuMatchRule.CheckAllNull(); string str = "使用接口:" + (flag ? "个性化菜单接口" : "普通自定义菜单接口") + "。"; try { WxJsonResult result = null; IButtonGroupBase buttonData = null; if (flag) { ConditionalButtonGroup menu = CommonApi.GetMenuFromJsonResult(resultFull, new ConditionalButtonGroup()).menu as ConditionalButtonGroup; menu.matchrule = menuMatchRule; result = CommonApi.CreateMenuConditional(token, menu, 0x2710); str = str + "menuid:" + (result as CreateMenuConditionalResult).menuid + "。"; } else { buttonData = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = CommonApi.CreateMenu(token, buttonData, 0x2710); } var data = new { Success = result.errmsg == "ok", Message = "菜单更新成功。" + str }; return(base.Json(data)); } catch (Exception exception) { var type2 = new { Success = false, Message = "更新失败:" + exception.Message + "。" + str }; return(base.Json(type2)); } }