var senparc = {}; var maxSubMenuCount = 5; var menuState; senparc.menu = { token: '', init: function () { menuState = $('#menuState'); $('#buttonDetails').hide(); $('#menuEditor').hide(); $("#buttonDetails_type").change(senparc.menu.typeChanged); $(':input[id^=menu_button]').click(function () { $('#buttonDetails').show(); var idPrefix = $(this).attr('data-root') ? ('menu_button' + $(this).attr('data-root')) : ('menu_button' + $(this).attr('data-j') + '_sub_button' + $(this).attr('data-i')); var keyId = idPrefix + "_key"; var nameId = idPrefix + "_name"; var typeId = idPrefix + "_type"; var urlId = idPrefix + "_url"; var mediaId = idPrefix + "_mediaid"; var articleId = idPrefix + "_articleid"; var appidId = idPrefix + "_appid"; var pagepathId = idPrefix + "_pagepath"; var txtDetailsKey = $('#buttonDetails_key'); var txtDetailsName = $('#buttonDetails_name'); var ddlDetailsType = $('#buttonDetails_type'); var txtDetailsUrl = $('#buttonDetails_url'); var txtMediaId = $('#buttonDetails_mediaId'); var txtArticleId = $('#buttonDetails_articleId'); var txtDetailsAppid = $('#buttonDetails_miniprogram_appid'); var txtDetailsPagepath = $('#buttonDetails_miniprogram_pagepath'); var hiddenButtonKey = $('#' + keyId); var hiddenButtonType = $('#' + typeId); var hiddenButtonUrl = $('#' + urlId); var hiddenButtonMediaId = $('#' + mediaId); var hiddenButtonArticleId = $('#' + articleId); var hiddenButtonAppid = $('#' + appidId); var hiddenButtonPagepath = $('#' + pagepathId); txtDetailsKey.val(hiddenButtonKey.val()); txtDetailsName.val($('#' + nameId).val()); ddlDetailsType.val(hiddenButtonType.val()); txtDetailsUrl.val(hiddenButtonUrl.val()); txtMediaId.val(hiddenButtonMediaId.val()); txtArticleId.val(hiddenButtonArticleId.val()); txtDetailsAppid.val(hiddenButtonAppid.val()); txtDetailsPagepath.val(hiddenButtonPagepath.val()); senparc.menu.typeChanged(); txtDetailsKey.unbind('blur').blur(function () { hiddenButtonKey.val($(this).val()); }); ddlDetailsType.unbind('blur').blur(function () { hiddenButtonType.val($(this).val()); }); txtDetailsUrl.unbind('blur').blur(function () { hiddenButtonUrl.val($(this).val()); }); txtMediaId.unbind('blur').blur(function () { hiddenButtonMediaId.val($(this).val()); }); txtArticleId.unbind('blur').blur(function () { hiddenButtonArticleId.val($(this).val()); }); txtDetailsAppid.unbind('blur').blur(function () { hiddenButtonAppid.val($(this).val()); }); txtDetailsPagepath.unbind('blur').blur(function () { hiddenButtonPagepath.val($(this).val()); }); //修改当前行列样式 var row = parseInt($(this).attr('data-i')); var column = parseInt($(this).attr('data-j')); $('#menuTable input').removeClass('currentMenuInput'); $('#menuTable thead th').removeClass('currentMenuItem'); $('#menuTable tbody td').removeClass('currentMenuItem'); $(this).addClass('currentMenuInput'); $('#menuTable thead th').eq(column + 1).addClass('currentMenuItem'); $('#menuTable tbody tr').eq(row).find('td').eq(0).addClass('currentMenuItem'); //一级菜单提示 if (row === 5) { $('#rootButtonNotice').show(); } else { $('#rootButtonNotice').hide(); } }); $('#menuLogin_Submit').click(function () { $.getJSON('/Menu/GetToken?t=' + Math.random(), { appId: $('#menuLogin_AppId').val(), appSecret: $('#menuLogin_AppSecret').val() }, function (json) { if (json.access_token) { senparc.menu.setToken(json.access_token); } else { alert(json.error || '执行过程有错误,请检查!'); } }); }); $('#menuLogin_SubmitOldToken').click(function () { senparc.menu.setToken($('#menuLogin_OldToken').val()); }); $('#btnGetMenu').click(function () { menuState.html('获取菜单中...'); $.getJSON('/Menu/GetMenu?t=' + Math.random(), { token: senparc.menu.token }, function (json) { if (json.menu) { $(':input[id^=menu_button]:not([id$=_type])').val(''); $('#buttonDetails:input').val(''); var buttons = json.menu.button; //此处i与j和页面中反转 for (var i = 0; i < buttons.length; i++) { var button = buttons[i]; $('#menu_button' + i + '_name').val(button.name); $('#menu_button' + i + '_key').val(button.key); $('#menu_button' + i + '_type').val(button.type || 'click'); $('#menu_button' + i + '_url').val(button.url); $('#menu_button' + i + '_appid').val(button.appid); $('#menu_button' + i + '_pagepath').val(button.pagepath); $('#menu_button' + i + '_mediaid').val(button.media_id); $('#menu_button' + i + '_articleid').val(button.article_id); if (button.sub_button && button.sub_button.length > 0) { //二级菜单 for (var j = 0; j < button.sub_button.length; j++) { var subButton = button.sub_button[j]; var idPrefix = '#menu_button' + i + '_sub_button' + j; $(idPrefix + "_name").val(subButton.name); $(idPrefix + "_type").val(subButton.type || 'click'); $(idPrefix + "_key").val(subButton.key); $(idPrefix + "_url").val(subButton.url); $(idPrefix + "_appid").val(subButton.appid); $(idPrefix + "_pagepath").val(subButton.pagepath); $(idPrefix + "_mediaid").val(subButton.media_id); $(idPrefix + "_articleid").val(subButton.article_id); } } else { //底部菜单 //... } } //显示JSON $('#txtReveiceJSON').text(JSON.stringify(json)); menuState.html('菜单获取已完成'); } else { menuState.html(json.error || '执行过程有错误,请检查!'); } }); }); $('#btnDeleteMenu').click(function () { if (!confirm('确定要删除菜单吗?此操作无法撤销!')) { return; } menuState.html('删除菜单中...'); $.getJSON('/Menu/DeleteMenu?t=' + Math.random(), { token: senparc.menu.token }, function (json) { if (json.Success) { menuState.html('删除成功,如果是误删,并且界面上有最新的菜单状态,可以立即点击【更新到服务器】按钮。'); } else { menuState.html(json.Message); } }); }); $('#submitMenu').click(function () { if (!confirm('确定要提交吗?此操作无法撤销!')) { return; } menuState.html('上传中...'); $('#form_Menu').ajaxSubmit({ dataType: 'json', success: function (json) { if (json.Success) { menuState.html('上传成功。' + json.Message); } else { menuState.html(json.Message); } } }); }); $('#submitJsonMenu').click(function () { if (!confirm('此方法只能更新自定义菜单(不包含个性化菜单),确定要提交吗?此操作无法撤销!')) { return; } menuState.html('上传中...'); var jsonStr = $('#txtReveiceJSON').val(); //console.log(jsonStr); $.post('/Menu/CreateMenuFromJson', { token: $('#tokenStr').val(), fullJson: jsonStr }, function (json) { if (json.Success) { menuState.html('上传成功'); } else { menuState.html(json.Message); } }); }); $('#btnResetAccessToken').click(function () { $('#menuEditor').hide(); $('#menuLogin').show(); }); $('#menuTable .control-input').hover(function () { var row = parseInt($(this).attr('data-i')); var column = parseInt($(this).attr('data-j')); $('#menuTable thead th').removeClass('hoverMenuItem'); $('#menuTable tbody td').removeClass('hoverMenuItem'); $('#menuTable thead th').eq(column + 1).addClass('hoverMenuItem'); $('#menuTable tbody tr').eq(row).find('td').eq(0).addClass('hoverMenuItem'); }, function () { $('#menuTable thead th').removeClass('hoverMenuItem'); $('#menuTable tbody td').removeClass('hoverMenuItem'); }); }, typeChanged: function () { var val = $('#buttonDetails_type').val().toUpperCase(); switch (val) { case 'CLICK': $('#buttonDetails_key_area').slideDown(100); $('#buttonDetails_url_area').slideUp(100); $('#buttonDetails_miniprogram_appid_area').slideUp(100); $('#buttonDetails_miniprogram_pagepath_area').slideUp(100); $('#buttonDetails_mediaId_area').slideUp(100); $('#buttonDetails_articleId_area').slideUp(100); break; case 'VIEW': $('#buttonDetails_key_area').slideUp(100); $('#buttonDetails_url_area').slideDown(100); $('#buttonDetails_miniprogram_appid_area').slideUp(100); $('#buttonDetails_miniprogram_pagepath_area').slideUp(100); $('#buttonDetails_mediaId_area').slideUp(100); $('#buttonDetails_articleId_area').slideUp(100); break; case 'MINIPROGRAM': $('#buttonDetails_key_area').slideUp(100); $('#buttonDetails_url_area').slideDown(100); $('#buttonDetails_miniprogram_appid_area').slideDown(100); $('#buttonDetails_miniprogram_pagepath_area').slideDown(100); $('#buttonDetails_mediaId_area').slideUp(100); $('#buttonDetails_articleId_area').slideUp(100); break; case 'MEDIA_ID': case 'VIEW_LIMITED': $('#buttonDetails_key_area').slideUp(100); $('#buttonDetails_url_area').slideUp(100); $('#buttonDetails_miniprogram_appid_area').slideUp(100); $('#buttonDetails_miniprogram_pagepath_area').slideUp(100); $('#buttonDetails_mediaId_area').slideDown(100); $('#buttonDetails_articleId_area').slideUp(100); break; case 'ARTICLE_ID': case 'ARTICLE_VIEW_LIMITED': $('#buttonDetails_key_area').slideUp(100); $('#buttonDetails_url_area').slideUp(100); $('#buttonDetails_miniprogram_appid_area').slideUp(100); $('#buttonDetails_miniprogram_pagepath_area').slideUp(100); $('#buttonDetails_mediaId_area').slideUp(100); $('#buttonDetails_articleId_area').slideDown(100); break; default: $('#buttonDetails_key_area').slideDown(100); $('#buttonDetails_url_area').slideUp(100); $('#buttonDetails_miniprogram_appid_area').slideUp(100); $('#buttonDetails_miniprogram_pagepath_area').slideUp(100); $('#buttonDetails_mediaId_area').slideUp(100); $('#buttonDetails_articleId_area').slideUp(100); break; } }, setToken: function (token) { senparc.menu.token = token; $('#tokenStr').val(token); $('#menuEditor').show(); $('#menuLogin').hide(); } };