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 = CommonAPIs.CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = CommonAPIs.CommonApi.CreateMenu(token, buttonGroup); var json = new { Success = result.errmsg == "ok", Message = "菜单更新成功。" + apiName }; return(Json(json)); } catch (Exception ex) { var json = new { Success = false, Message = string.Format("更新失败:{0}。{1}", ex.Message, apiName) }; return(Json(json)); } }
public async Task <APIResultDto> CreateMenu(GetMenuResultFull fullJson) { try { //GetMenuResultFull resultFull = Newtonsoft.Json.JsonConvert.DeserializeObject<GetMenuResultFull>(fullJson); //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; buttonGroup = CommonApi.GetMenuFromJsonResult(fullJson, new ButtonGroup()).menu; var accessToken = await AccessTokenContainer.TryGetAccessTokenAsync(AppId, AppSecret); result = CommonApi.CreateMenu(accessToken, buttonGroup); return(new APIResultDto() { Code = 0, Msg = "上传菜单成功", Data = result }); } catch (Exception ex) { return(new APIResultDto() { Code = 901, Msg = "更新菜单失败", Data = ex.Message }); } }
public async Task CreateMenuAsync(MenuCreateInput input) { var useAddCondidionalApi = input.MenuMatchRule != null && !input.MenuMatchRule.CheckAllNull(); string accessToken = await GetAccessToken(); //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; if (useAddCondidionalApi) { //个性化接口 buttonGroup = CommonApi.GetMenuFromJsonResult(input.ResultFull, new ConditionalButtonGroup()).menu; var addConditionalButtonGroup = buttonGroup as ConditionalButtonGroup; addConditionalButtonGroup.matchrule = input.MenuMatchRule; result = CommonApi.CreateMenuConditional(accessToken, addConditionalButtonGroup); } else { //普通接口 buttonGroup = CommonApi.GetMenuFromJsonResult(input.ResultFull, new ButtonGroup()).menu; result = CommonApi.CreateMenu(accessToken, buttonGroup); } }
public ActionResult CreateMenu(string token, GetMenuResultFull resultFull, MenuMatchRule menuMatchRule) { if (String.IsNullOrWhiteSpace(token)) { token = GetToken(); } 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() })); } }
public ActionResult CreateMenu(MPMenuViewModel request) { string token = GetToken(); // request.token; GetMenuResultFull resultFull = request.ResultFull; MenuMatchRule menuMatchRule = request.MenuMatchRule; var useAddCondidionalApi = menuMatchRule != null && !menuMatchRule.CheckAllNull(); var apiName = string.Format("使用接口:{0}。", (useAddCondidionalApi ? "个性化菜单接口" : "普通自定义菜单接口")); try { //重新整理按钮信息 WxJsonResult result = null; IButtonGroupBase buttonGroup = null; if (useAddCondidionalApi) { //个性化接口 buttonGroup = Senparc.Weixin.MP.CommonAPIs.CommonApi.GetMenuFromJsonResult(resultFull, new ConditionalButtonGroup()).menu; var addConditionalButtonGroup = buttonGroup as ConditionalButtonGroup; addConditionalButtonGroup.matchrule = menuMatchRule; result = Senparc.Weixin.MP.CommonAPIs.CommonApi.CreateMenuConditional(token, addConditionalButtonGroup); apiName += string.Format("menuid:{0}。", (result as CreateMenuConditionalResult).menuid); } else { //普通接口 buttonGroup = Senparc.Weixin.MP.CommonAPIs.CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu; result = Senparc.Weixin.MP.CommonAPIs.CommonApi.CreateMenu(token, buttonGroup); } var json = new { Success = result.errmsg == "ok", Message = "菜单更新成功。" + apiName }; return(Json(json)); } catch (Exception ex) { var json = new { Success = false, Message = string.Format("更新失败:{0}。{1}", ex.Message, apiName) }; return(Json(json)); } }
/// <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(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 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)); } }