public void CreatMenuTest() { TokenManager manger = new TokenManager(); TokenEntity entiy = manger.GetToken("0"); IWeiXinClient client = new DefaultWeiXinClient(); client.Token = entiy; CreateMenuRequest request = new CreateMenuRequest(); MenuEntity entity = new MenuEntity(); entity.Buttons.Add(new ClickEvent { Name = "测试", Key = "KEY1" }); entity.Buttons.Add(new MenuEventBase { Name = "主页", SubButton = new List <MenuEventBase> { new LocationSelectEvent { Name = "上传坐标", Key = "KEY2" }, new PicSysphotoEvent { Name = "拍照发图", Key = "KEY3" } } }); request.Menu = entity; request.AgentId = entiy.AgentID; CreateMenuResponse response = client.Execute <CreateMenuResponse>(request); Assert.AreEqual(0, response.ErrCode); }
/// <summary> /// 创建菜单(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013) /// </summary> public CreateMenuResponse CreateMenu(string appId, string accessToken) { var response = new CreateMenuResponse() { //return_code = "FAI" }; string requestUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN"; return(response); }
public CreateMenuResponse Create(CreateMenuRequest request) { var response = new CreateMenuResponse(); try { var menu = request.MapTo <Data.Entities.Menu>(); //set IsRoot if no menu as parent menu.IsRoot = request.ParentId <= 0; menu.ParentId = menu.IsRoot ? null : menu.ParentId; //check if has role group if (request.RoleGroupIds.Count > 0) { menu.RoleGroups = new HashSet <Data.Entities.RoleGroup>(); foreach (int roleGroupId in request.RoleGroupIds) { var roleGroup = DataContext.RoleGroups.Where(r => r.Id == roleGroupId).First(); //add selected role group to menu menu.RoleGroups.Add(roleGroup); } } else { menu.RoleGroups = null; } //ensure url end with slash menu.Url = menu.Url != null && menu.Url.Length > 0 ? _CleanUpMenuUrl(menu.Url) : menu.Url; DataContext.Menus.Add(menu); DataContext.SaveChanges(); if (request.AddParent && !menu.IsRoot) { AddParentMenu(menu.ParentId, request.RoleGroupIds); } response.IsSuccess = true; response.Message = "Menu item has been added successfully"; } catch (DbUpdateException dbUpdateException) { response.Message = dbUpdateException.Message; } return(response); }
public CreateMenuResponse Create(CreateMenuRequest request) { var response = new CreateMenuResponse(); try { var menu = request.MapTo<Data.Entities.Menu>(); //set IsRoot if no menu as parent menu.IsRoot = request.ParentId <= 0; menu.ParentId = menu.IsRoot ? null : menu.ParentId; //check if has role group if (request.RoleGroupIds.Count > 0) { menu.RoleGroups = new HashSet<Data.Entities.RoleGroup>(); foreach (int roleGroupId in request.RoleGroupIds) { var roleGroup = DataContext.RoleGroups.Where(r => r.Id == roleGroupId).First(); //add selected role group to menu menu.RoleGroups.Add(roleGroup); } } else { menu.RoleGroups = null; } //ensure url end with slash menu.Url = menu.Url != null && menu.Url.Length > 0 ? _CleanUpMenuUrl(menu.Url) : menu.Url; DataContext.Menus.Add(menu); DataContext.SaveChanges(); if (request.AddParent && !menu.IsRoot) { AddParentMenu(menu.ParentId, request.RoleGroupIds); } response.IsSuccess = true; response.Message = "Menu item has been added successfully"; } catch (DbUpdateException dbUpdateException) { response.Message = dbUpdateException.Message; } return response; }
/// <summary> /// 创建菜单 /// </summary> public static WeiXinResult CreateMenu() { WeiXinResult rv = new WeiXinResult { IsResult = false, ResultMsg = "系统错误!" }; IMpClient mpClient = new MpClient(); AccessTokenGetRequest request = new AccessTokenGetRequest() { AppIdInfo = new AppIdInfo() { AppID = appId, AppSecret = appSecret } }; AccessTokenGetResponse response = mpClient.Execute(request); if (response.IsError) { rv.ResultMsg = "获取令牌环失败"; return(rv); } else { Menu menu = new Menu(); List <Button> button = new List <Weixin.Mp.Sdk.Domain.Button>(); #region 菜单一 产品中心 Button subBtn1 = new Button() { key = "guoneiyou", name = "国内游", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/ProductView.aspx?xianlu=0" }; Button subBtn2 = new Button() { key = "guojiyou", name = "国际游", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/ProductView.aspx?xianlu=1" }; Button subBtn3 = new Button() { key = "chanpintuijian", name = "产品推荐", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/ProductList.aspx?tuijian=1" }; Button subBtn4 = new Button() { key = "chanpinmachaxun", name = "产品码查询", sub_button = null, type = "click", url = "http://www.4008005216.com/AppPage/weixin/Register.aspx" }; Button subBtn5 = new Button() { key = "guoneijipiao", name = "国内机票", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/jp_Search.aspx" }; List <Button> subBtnAll = new List <Button>(); subBtnAll.Add(subBtn1); subBtnAll.Add(subBtn2); subBtnAll.Add(subBtn3); subBtnAll.Add(subBtn4); subBtnAll.Add(subBtn5); Button btn = new Button() { key = "menu1", name = "旅游超市", url = "httpbig", type = "click", sub_button = subBtnAll }; button.Add(btn); #endregion #region 菜单二 会员中心 Button Menu2SubBtn1 = new Button() { key = "dingdanguanli", name = "订单管理", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/OrderList.aspx" }; Button Menu2SubBtn2 = new Button() { key = "zhanghuguanli", name = "账户管理", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/updateUser.aspx" }; Button Menu2SubBtn3 = new Button() { key = "yuyue", name = "预约办理", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/YuYue.aspx" }; string _weidianurl = "https://open.weixin.qq.com/connect/oauth2/authorize?"; _weidianurl += "appid=" + appId; _weidianurl += "&redirect_uri=http://www.4008005216.com/WeiXin/oauth2_authorize.aspx"; _weidianurl += "&response_type=code"; _weidianurl += "&scope=snsapi_base"; _weidianurl += "&state=weidian_snsapi_base"; _weidianurl += "#wechat_redirect"; Button Menu2SubBtn4 = new Button() { key = "wodeweidian", name = "我的微店", sub_button = null, type = "view", url = _weidianurl }; Button Menu2SubBtn5 = new Button() { key = "fenxiang", name = "最新分享", sub_button = null, type = "view", url = "http://www.4008005216.com/HuiYuanWeiXin/TuWenFenXiang.aspx" }; List <Button> subBtnAll2 = new List <Button>(); subBtnAll2.Add(Menu2SubBtn1); subBtnAll2.Add(Menu2SubBtn2); subBtnAll2.Add(Menu2SubBtn3); subBtnAll2.Add(Menu2SubBtn4); subBtnAll2.Add(Menu2SubBtn5); btn = new Button() { key = "huiyuanzhongxin", name = "会员中心", url = "httpbig", type = "click", sub_button = subBtnAll2 }; button.Add(btn); #endregion #region 菜单三 惠旅游 Button Menu3SubBtn1 = new Button() { key = "aboutus", name = "关于我们", sub_button = null, type = "view", url = "http://www.4008005216.com/AppPage/weixin/AboutUs.aspx" }; Button Menu3SubBtn2 = new Button() { key = "appdown", name = "APP下载", sub_button = null, type = "view", url = "http://www.4008005216.com/DownApp.aspx" }; Button Menu3SubBtn3 = new Button() { key = "recommend", name = "客服反馈", sub_button = null, type = "click", url = "http://www.4008005216.com/AppPage/weixin/Recommend.aspx" }; Button Menu3SubBtn4 = new Button() { key = "weimingpian", name = "我的频道", sub_button = null, type = "view", url = "http://www.4008005216.com/huiyuanweixin/mingpian.aspx" }; Button Menu3SubBtn5 = new Button() { key = "lvyouguwen", name = "旅游顾问", sub_button = null, type = "view", url = "http://www.4008005216.com/huiyuanweixin/lvyouguwen.aspx" }; List <Button> subBtnAll3 = new List <Button>(); subBtnAll3.Add(Menu3SubBtn1); subBtnAll3.Add(Menu3SubBtn2); subBtnAll3.Add(Menu3SubBtn3); subBtnAll3.Add(Menu3SubBtn4); subBtnAll3.Add(Menu3SubBtn5); btn = new Button() { key = "menu3", name = "旅游频道", url = "httpbig", type = "click", sub_button = subBtnAll3 }; button.Add(btn); #endregion menu.button = button; MenuGroup mg = new MenuGroup() { menu = menu }; string postData = mg.ToJsonString(); CreateMenuRequest createRequest = new CreateMenuRequest() { AccessToken = response.AccessToken.AccessToken, SendData = postData }; CreateMenuResponse createResponse = mpClient.Execute(createRequest); if (createResponse.IsError) { rv.ResultMsg = "创建菜单失败,错误信息为:" + createResponse.ErrInfo.ErrCode + "-" + createResponse.ErrInfo.ErrMsg; return(rv); } else { rv.IsResult = true; rv.ResultMsg = "创建成功"; return(rv); } } }
/// <summary> /// 创建菜单测试 /// </summary> public static void CreateMenuTest() { IMpClient mpClient = new MpClient(); AccessTokenGetRequest request = new AccessTokenGetRequest() { AppIdInfo = new AppIdInfo() { AppID = appId, AppSecret = appSecret } }; AccessTokenGetResponse response = mpClient.Execute(request); if (response.IsError) { Console.WriteLine("获取令牌环失败.."); return; } Menu menu = new Menu(); List <Button> button = new List <Weixin.Mp.Sdk.Domain.Button>(); Button subBtn1 = new Button() { key = "subkey1", name = "子按钮1", sub_button = null, type = "click", url = "http://" }; Button subBtn2 = new Button() { key = "subkey1", name = "子按钮1", sub_button = null, type = "click", url = "http://" }; Button subBtn3 = new Button() { key = "subkey1", name = "子按钮1", sub_button = null, type = "click", url = "http://" }; List <Button> subBtnAll = new List <Button>(); subBtnAll.Add(subBtn1); subBtnAll.Add(subBtn2); subBtnAll.Add(subBtn3); Button btn = new Button() { key = "key3", name = "联系", url = "httpbig", type = "click", sub_button = subBtnAll }; button.Add(btn); btn = new Button() { key = "key1", name = "帮助", url = "httpbig", type = "click", sub_button = subBtnAll }; button.Add(btn); btn = new Button() { key = "key2", name = "关于", url = "httpbig", type = "click", //sub_button = subBtnAll }; button.Add(btn); menu.button = button; MenuGroup mg = new MenuGroup() { menu = menu }; string postData = mg.ToJsonString(); CreateMenuRequest createRequest = new CreateMenuRequest() { AccessToken = response.AccessToken.AccessToken, SendData = postData }; CreateMenuResponse createResponse = mpClient.Execute(createRequest); if (createResponse.IsError) { Console.WriteLine("创建菜单失败,错误信息为:" + createResponse.ErrInfo.ErrCode + "-" + createResponse.ErrInfo.ErrMsg); } else { Console.WriteLine("创建菜单成功"); } }