|
@@ -1,818 +0,0 @@
|
|
|
-<template>
|
|
|
- <div class="menu_setting_box js_menuBox dn"
|
|
|
- style="display: block;">
|
|
|
- <textarea id="result"
|
|
|
- style="border: none;position: absolute;width: 317px;height: 462px;left: 31px;top: 79px;z-index: 2;word-break: break-all;"></textarea>
|
|
|
- <div class="highlight_box border icon_wrap menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_1"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon icon_msg_small success"></i>
|
|
|
- <p class="title">菜单使用中</p>
|
|
|
- <p class="desc">可在手机查看菜单内容。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box border icon_wrap menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_2"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon_msg_small info"></i>
|
|
|
- <p class="title">菜单编辑中</p>
|
|
|
- <p class="desc">菜单未发布,请确认菜单编辑完成后点击“保存并发布”同步到手机。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_3"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon_msg_small waiting"></i>
|
|
|
- <p class="title">菜单已发布</p>
|
|
|
- <p class="desc"><span class="js_waitHour"></span>小时后可在手机查看菜单内容。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border icon_small menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_4"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon lock"></i>
|
|
|
- <p class="title">未开启自定义菜单</p>
|
|
|
- <p class="desc">通过编辑和发布自定义菜单来进行便携管理。若开启菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border icon_small menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_5"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon lock"></i>
|
|
|
- <p class="title">未开启自定义菜单</p>
|
|
|
- <p class="desc">由于开发者通过接口修改了菜单配置,当前菜单配置已失效并停用。你可以前往<a href="/advanced/advanced?action=dev&t=advanced/dev&token=1849635325&lang=zh_CN">开发者中心</a>进行停用。
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_6"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon icon_msg_small success"></i>
|
|
|
- <p class="title">API版本菜单使用中</p>
|
|
|
- <p class="desc">该页面显示的菜单版本已失效。当前生效版本请调用API查看。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_7"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon icon_msg_small success"></i>
|
|
|
- <p class="title">API版本/个性化菜单使用中</p>
|
|
|
- <p class="desc">该页面显示的菜单版本已失效。当前生效版本请调用API查看。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_8"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon_msg_small waiting"></i>
|
|
|
- <p class="title">菜单已发布/个性化菜单使用中</p>
|
|
|
- <p class="desc"><span class="js_waitHour"></span>小时后可在手机查看菜单内容。当前生效的个性化菜单内容请调用API查看。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_9"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon_msg_small info"></i>
|
|
|
- <p class="title">菜单编辑中/个性化菜单使用中</p>
|
|
|
- <p class="desc">菜单未发布,请确认菜单编辑完成后点击“保存并发布”同步到手机。当前生效的个性化菜单内容请调用API查看。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="highlight_box icon_wrap border menu_setting_msg js_menustatus dn"
|
|
|
- id="menustatus_10"
|
|
|
- style="display: none;">
|
|
|
- <i class="icon icon icon_msg_small success"></i>
|
|
|
- <p class="title">菜单使用中/个性化菜单使用中</p>
|
|
|
- <p class="desc">可在手机查看菜单内容,当前生效的个性化菜单内容请调用API查看。若停用菜单,请<a href="/cgi-bin/plugindetails?t=service/profile&pluginid=10007&action=intro&token=1849635325&lang=zh_CN"
|
|
|
- class="js_closeMenu">点击这里</a></p>
|
|
|
- </div>
|
|
|
- <div class="page_msg mini plugin_update_tips js_authorized"
|
|
|
- style="display:none;margin:-20px 30px 0 30px">
|
|
|
- <div class="inner group">
|
|
|
- <span class="msg_icon_wrp"><i class="icon_msg_mini info"></i></span>
|
|
|
- <div class="msg_content">
|
|
|
- <p>你已授权给<span class="js_auth_name"></span>帮助你运营公众号,点击管理<a href="/cgi-bin/component_unauthorize?action=list&t=service/auth_plugins&token=1849635325&lang=zh_CN">已授权的第三方平台</a>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="menu_setting_area js_editBox">
|
|
|
- <div class="menu_preview_area">
|
|
|
- <div class="mobile_menu_preview">
|
|
|
- <div class="mobile_hd tc">
|
|
|
- {{ gzh_name }}
|
|
|
- </div>
|
|
|
- <div class="mobile_bd">
|
|
|
- <ul class="pre_menu_list grid_line ui-sortable ui-sortable-disabled no_menu"
|
|
|
- style="z-index:3;"
|
|
|
- id="menuList">
|
|
|
- <li v-for="(btn,index) in menu.button"
|
|
|
- :key="btn.id"
|
|
|
- class="jsMenu pre_menu_item grid_item jslevel1 size1of3 ui-sortable ui-sortable-disabled">
|
|
|
- <a href="javascript:void(0);"
|
|
|
- @click="menu_selected(btn.name,index)"
|
|
|
- :class="[{pre_menu_link: index===activeMenuIndex && activeMenuType()==1}]"
|
|
|
- draggable="false">
|
|
|
- <i class="icon_menu_dot js_icon_menu_dot dn"></i>
|
|
|
- <i class="icon20_common sort_gray"></i>
|
|
|
- <span class='js_l1Title'>{{ btn.name }}</span>
|
|
|
- </a>
|
|
|
- <div class="sub_pre_menu_box js_l2TitleBox"
|
|
|
- v-if="index===activeMenuIndex">
|
|
|
- <ul class="sub_pre_menu_list">
|
|
|
- <li v-for="(sub,index) in btn.sub_button"
|
|
|
- :key="sub.id"
|
|
|
- class='jslevel2'><a href="javascript:void(0);"
|
|
|
- @click="menu_item_selected(sub.name,index)"
|
|
|
- :class="[{pre_menu_link: index===activeMenuItemIndex && activeMenuType()==2}]"
|
|
|
- class="jsSubView"
|
|
|
- draggable="false"><span class="sub_pre_menu_inner js_sub_pre_menu_inner"><i class="icon20_common sort_gray"></i><span class='js_l2Title'>{{ sub.name }}</span></span></a></li>
|
|
|
- <li class='js_addMenuBox'
|
|
|
- v-if="isSet(menu.button[activeMenuIndex].sub_button)&&btn.sub_button.length>=0&&btn.sub_button.length<5">
|
|
|
- <a href="javascript:void(0);"
|
|
|
- class="jsSubView js_addL2Btn"
|
|
|
- title="最多添加5个子菜单"
|
|
|
- @click="menu_item_add()"
|
|
|
- draggable="false"><span class="sub_pre_menu_inner js_sub_pre_menu_inner"><i class="icon14_menu_add"></i></span></a></li>
|
|
|
- </ul>
|
|
|
- <i class="arrow arrow_out"></i>
|
|
|
- <i class="arrow arrow_in"></i>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- <li class="js_addMenuBox pre_menu_item grid_item no_extra size1of1"> <a href="javascript:void(0);"
|
|
|
- v-if="isSet(menu.button)?(menu.button.length>=0&&menu.button.length<3):false"
|
|
|
- @click="menu_add()"
|
|
|
- :class="[{pre_menu_link: activeMenuIndex===''}]"
|
|
|
- class="js_addL1Btn"
|
|
|
- title="最多添加3个一级菜单"
|
|
|
- draggable="false"> <i class="icon14_menu_add"></i> <span class="js_addMenuTips">添加菜单</span></a> </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="menu_form_area">
|
|
|
- <div id="js_none"
|
|
|
- class="menu_initial_tips tips_global"
|
|
|
- style="display: none;"></div>
|
|
|
- <div id="js_rightBox"
|
|
|
- class="portable_editor to_left"
|
|
|
- style="display: none;"
|
|
|
- v-show="activeMenuIndex > 0 || activeMenuIndex === 0 || activeMenuItemIndex > 0 || activeMenuIndex === 0 ">
|
|
|
- <div class="editor_inner">
|
|
|
- <div class="global_mod float_layout menu_form_hd js_second_title_bar">
|
|
|
- <h4 class="global_info"> 菜单名称 </h4>
|
|
|
- <div class="global_extra">
|
|
|
- <a href="javascript:void(0);"
|
|
|
- id="jsDelBt"
|
|
|
- @click="menu_del()"
|
|
|
- v-if="showDelBtnType===1">删除菜单</a>
|
|
|
- <a href="javascript:void(0);"
|
|
|
- id="jsDelBt"
|
|
|
- @click="menu_item_del()"
|
|
|
- v-if="showDelBtnType===2">删除子菜单</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="menu_form_bd"
|
|
|
- id="view">
|
|
|
- <div id="js_innerNone"
|
|
|
- style="display:none;"
|
|
|
- class="msg_sender_tips tips_global"></div>
|
|
|
- <div class="frm_control_group js_setNameBox">
|
|
|
- <label for=""
|
|
|
- class="frm_label"> <strong class="title js_menuTitle">菜单名称</strong>
|
|
|
- </label>
|
|
|
- <div class="frm_controls">
|
|
|
- <span class="frm_input_box with_counter counter_in append"
|
|
|
- v-if="activeMenuType() == 1 && isSet(menu.button[activeMenuIndex])"> <input type="text"
|
|
|
- class="frm_input js_menu_name"
|
|
|
- v-model="menu.button[activeMenuIndex].name" /> </span>
|
|
|
- <span class="frm_input_box with_counter counter_in append"
|
|
|
- v-if="activeMenuType() == 2 && isSet(menu.button[activeMenuIndex].sub_button[activeMenuItemIndex])">
|
|
|
- <input type="text"
|
|
|
- class="frm_input js_menu_name"
|
|
|
- v-model="menu.button[activeMenuIndex].sub_button[activeMenuItemIndex].name" />
|
|
|
- </span>
|
|
|
- <p class="frm_msg fail js_titleEorTips dn">字数超过上限</p>
|
|
|
- <p class="frm_msg fail js_titlenoTips dn"
|
|
|
- style="display: none;">请输入菜单名称</p>
|
|
|
- <p class="frm_tips js_titleNolTips">字数不超过4个汉字或8个字母</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="frm_control_group"
|
|
|
- v-show="((activeMenuIndex > 0 || activeMenuIndex === 0) && (menu.button[activeMenuIndex].sub_button.length == 0)) || (activeMenuItemIndex > 0 || activeMenuItemIndex === 0) "
|
|
|
- style="display: none;">
|
|
|
- <label for=""
|
|
|
- class="frm_label"> <strong class="title js_menuContent">菜单内容</strong>
|
|
|
- </label>
|
|
|
- <div class="frm_controls frm_vertical_pt">
|
|
|
- <label class="frm_radio_label js_radio_sendMsg"
|
|
|
- @click="radio_label_selected(1)"
|
|
|
- :class="[{selected:showMenuContentType===1}]"
|
|
|
- data-editing="0"> <i class="icon_radio"></i> <span class="lbl_content">发送消息</span> <input type="radio"
|
|
|
- name="hello"
|
|
|
- class="frm_radio" /> </label>
|
|
|
- <label class="frm_radio_label js_radio_url"
|
|
|
- @click="radio_label_selected(2)"
|
|
|
- :class="[{selected:showMenuContentType===2}]"
|
|
|
- data-editing="0"> <i class="icon_radio"></i> <span class="lbl_content">跳转网页</span> <input type="radio"
|
|
|
- name="hello"
|
|
|
- class="frm_radio" /> </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="menu_content_container">
|
|
|
- <div class="menu_content send jsMain"
|
|
|
- id="edit"
|
|
|
- v-show="showMenuContentType===1"
|
|
|
- style="display: none;">
|
|
|
- <div class="msg_sender"
|
|
|
- id="editDiv">
|
|
|
- <div class="msg_tab">
|
|
|
- <div class="tab_navs_panel">
|
|
|
- <span class="tab_navs_switch_wrp switch_prev js_switch_prev"> <span class="tab_navs_switch"></span> </span>
|
|
|
- <span class="tab_navs_switch_wrp switch_next js_switch_next"
|
|
|
- style="display: none;"> <span class="tab_navs_switch"></span>
|
|
|
- </span>
|
|
|
- <div class="tab_navs_wrp"
|
|
|
- style="width: 650px">
|
|
|
- <ul class="tab_navs js_tab_navs"
|
|
|
- style="margin-left:0;">
|
|
|
- <li class="tab_nav tab_appmsg width4"
|
|
|
- :class="[{selected:showMenuContentMsgType===1}]"
|
|
|
- data-type="10"
|
|
|
- data-tab=".js_appmsgArea"
|
|
|
- data-tooltip="图文消息"> <a href="javascript:void(0);"
|
|
|
- @click="content_msg_tab_nav(1)"> <i class="icon_msg_sender"></i><span class="msg_tab_title">图文消息</span></a> </li>
|
|
|
- <li class="tab_nav tab_img width4"
|
|
|
- :class="[{selected:showMenuContentMsgType===2}]"
|
|
|
- data-type="2"
|
|
|
- data-tab=".js_imgArea"
|
|
|
- data-tooltip="图片"> <a href="javascript:void(0);"
|
|
|
- @click="content_msg_tab_nav(2)"> <i class="icon_msg_sender"></i><span class="msg_tab_title">图片</span></a> </li>
|
|
|
- <li class="tab_nav tab_audio width4"
|
|
|
- :class="[{selected:showMenuContentMsgType===3}]"
|
|
|
- data-type="3"
|
|
|
- data-tab=".js_audioArea"
|
|
|
- data-tooltip="语音"> <a href="javascript:void(0);"
|
|
|
- @click="content_msg_tab_nav(3)"> <i class="icon_msg_sender"></i><span class="msg_tab_title">语音</span></a> </li>
|
|
|
- <li class="tab_nav tab_video width4 no_extra"
|
|
|
- :class="[{selected:showMenuContentMsgType===4}]"
|
|
|
- data-type="15"
|
|
|
- data-tab=".js_videoArea"
|
|
|
- data-tooltip="视频">
|
|
|
- <a href="javascript:void(0);"
|
|
|
- @click="content_msg_tab_nav(4)"> <i class="icon_msg_sender"></i><span class="msg_tab_title">视频</span></a> </li>
|
|
|
- <li class="tab_nav">
|
|
|
- <label>KEY:</label>
|
|
|
- <input style="width: 190px"
|
|
|
- type="text"
|
|
|
- v-if="activeMenuType() == 1 && isSet(menu.button[activeMenuIndex])"
|
|
|
- v-model="menu.button[activeMenuIndex].key"
|
|
|
- value="">
|
|
|
- <input style="width: 190px"
|
|
|
- type="text"
|
|
|
- v-if="activeMenuType() == 2 && isSet(menu.button[activeMenuIndex].sub_button[activeMenuItemIndex])"
|
|
|
- v-model="menu.button[activeMenuIndex].sub_button[activeMenuItemIndex].key"
|
|
|
- value="">
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="tab_panel">
|
|
|
- <div class="tab_content"
|
|
|
- v-show="showMenuContentMsgType===1"
|
|
|
- style="display: none;">
|
|
|
- <div class="js_appmsgArea inner ">
|
|
|
- <!--type 10图文 2图片 3语音 15视频 11商品消息-->
|
|
|
- <div class="tab_cont_cover jsMsgSendTab"
|
|
|
- data-index="0">
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a class="add_gray_wrp jsMsgSenderPopBt"
|
|
|
- href="javascript:void(0);"
|
|
|
- data-type="10"
|
|
|
- data-index="0"> <i class="icon36_common add_gray"></i>
|
|
|
- <strong>从素材库中选择</strong> </a> </span>
|
|
|
- </div>
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a target="_blank"
|
|
|
- class="add_gray_wrp"
|
|
|
- href="javascript:void(0);">
|
|
|
- <i class="icon36_common add_gray"></i>
|
|
|
- <strong>新建图文消息</strong> </a>
|
|
|
- <!--
|
|
|
- <a target="_blank" href="javascript:void(0);"><i class="icon_shopmsg_create"></i><strong>单图文消息</strong></a>
|
|
|
- <a target="_blank" href="javascript:void(0);"><i class="icon_shopmsg_create multi"></i><strong>多图文消息</strong></a>
|
|
|
- -->
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="tab_content"
|
|
|
- v-show="showMenuContentMsgType===2"
|
|
|
- style="display: none;">
|
|
|
- <div class="js_imgArea inner ">
|
|
|
- <!--type 10图文 2图片 3语音 15视频 11商品消息-->
|
|
|
- <div class="tab_cont_cover jsMsgSendTab"
|
|
|
- data-index="1"
|
|
|
- data-type="2">
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a class="add_gray_wrp jsMsgSenderPopBt"
|
|
|
- href="javascript:void(0);"
|
|
|
- data-type="2"
|
|
|
- data-index="1"> <i class="icon36_common add_gray"></i>
|
|
|
- <strong>从素材库中选择</strong> </a> </span>
|
|
|
- </div>
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a class="add_gray_wrp"
|
|
|
- id="msgSendImgUploadBt"
|
|
|
- data-type="2"
|
|
|
- href="javascript:void(0);"> <i class="icon36_common add_gray"></i>
|
|
|
- <strong>上传图片</strong> </a> </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="tab_content"
|
|
|
- v-show="showMenuContentMsgType===3"
|
|
|
- style="display: none;">
|
|
|
- <div class="js_audioArea inner ">
|
|
|
- <!--type 10图文 2图片 3语音 15视频 11商品消息-->
|
|
|
- <div class="tab_cont_cover jsMsgSendTab"
|
|
|
- data-index="2"
|
|
|
- data-type="3">
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a class="add_gray_wrp jsMsgSenderPopBt"
|
|
|
- href="javascript:void(0);"
|
|
|
- data-type="3"
|
|
|
- data-index="2"> <i class="icon36_common add_gray"></i>
|
|
|
- <strong>从素材库中选择</strong> </a> </span>
|
|
|
- </div>
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a class="add_gray_wrp "
|
|
|
- id="msgSendAudioUploadBt"
|
|
|
- href="javascript:void(0);"> <i class="icon36_common add_gray"></i>
|
|
|
- <strong>新建语音</strong> </a> </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="tab_content"
|
|
|
- v-show="showMenuContentMsgType===4"
|
|
|
- style="display: none;">
|
|
|
- <div class="js_videoArea inner ">
|
|
|
- <!--type 10图文 2图片 3语音 15视频 11商品消息-->
|
|
|
- <div class="tab_cont_cover jsMsgSendTab"
|
|
|
- data-index="3">
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a class="add_gray_wrp jsMsgSenderPopBt"
|
|
|
- href="javascript:void(0);"
|
|
|
- data-type="15"
|
|
|
- data-index="3"> <i class="icon36_common add_gray"></i>
|
|
|
- <strong>从素材库中选择</strong> </a> </span>
|
|
|
- </div>
|
|
|
- <div class="media_cover">
|
|
|
- <span class="create_access"> <a target="_blank"
|
|
|
- class="add_gray_wrp"
|
|
|
- href="javascript:void(0);">
|
|
|
- <i class="icon36_common add_gray"></i>
|
|
|
- <strong>新建视频</strong> </a> </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <p class="profile_link_msg_global menu_send mini_tips warn dn js_warn">
|
|
|
- 请勿添加其他公众号的主页链接 </p>
|
|
|
- </div>
|
|
|
- <div class="menu_content url jsMain"
|
|
|
- id="url"
|
|
|
- v-show="showMenuContentType===2"
|
|
|
- style="display: none;">
|
|
|
- <form action=""
|
|
|
- id="urlForm"
|
|
|
- onsubmit="return false;">
|
|
|
- <p class="menu_content_tips tips_global">订阅者点击该子菜单会跳到以下链接</p>
|
|
|
- <div class="frm_control_group">
|
|
|
- <label for=""
|
|
|
- class="frm_label">页面地址</label>
|
|
|
- <div class="frm_controls">
|
|
|
- <span class="frm_input_box"
|
|
|
- v-if="activeMenuType() == 1"> <input type="text"
|
|
|
- class="frm_input"
|
|
|
- id="urlText"
|
|
|
- name="urlText"
|
|
|
- v-model="menu.button[activeMenuIndex].url" /> </span>
|
|
|
- <span class="frm_input_box"
|
|
|
- v-if="activeMenuType() == 2"> <input type="text"
|
|
|
- class="frm_input"
|
|
|
- id="urlText"
|
|
|
- name="urlText"
|
|
|
- v-model="menu.button[activeMenuIndex].sub_button[activeMenuItemIndex].url" />
|
|
|
- </span>
|
|
|
- <p class="profile_link_msg_global menu_url mini_tips warn dn js_warn">
|
|
|
- 请勿添加其他公众号的主页链接 </p>
|
|
|
- <p class="frm_tips"
|
|
|
- id="js_urlTitle"
|
|
|
- style="display: none;"> 来自<span class="js_name"></span><span style="display:none;"> -《<span class="js_title"></span>》</span> </p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="frm_control_group btn_appmsg_wrap">
|
|
|
- <div class="frm_controls">
|
|
|
- <p class="frm_msg fail dn"
|
|
|
- id="urlUnSelect"
|
|
|
- style="display: none;">
|
|
|
- <span for="urlText"
|
|
|
- class="frm_msg_content"
|
|
|
- style="display: inline;">请选择一篇文章</span> </p>
|
|
|
- <a href="javascript:void(0);"
|
|
|
- id="js_appmsgPop">从公众号图文消息中选择</a>
|
|
|
- <a href="javascript:void(0);"
|
|
|
- class="dn btn btn_default"
|
|
|
- id="js_reChangeAppmsg">重新选择</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="menu_content sended"
|
|
|
- style="display:none;">
|
|
|
- <p class="menu_content_tips tips_global">订阅者点击该子菜单会跳到以下链接</p>
|
|
|
- <div class="msg_wrp"
|
|
|
- id="viewDiv"></div>
|
|
|
- <p class="frm_tips">来自<span class="js_name">素材库</span><span style="display:none;">
|
|
|
- -《<span class="js_title"></span>》</span></p>
|
|
|
- </div>
|
|
|
- <div id="js_errTips"
|
|
|
- style="display:none;"
|
|
|
- class="msg_sender_msg mini_tips warn"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <span class="editor_arrow_wrp"> <i class="editor_arrow editor_arrow_out"></i> <i class="editor_arrow editor_arrow_in"></i> </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="tool_bar tc js_editBox">
|
|
|
- <span id="pubBt"
|
|
|
- class="btn btn_input btn_primary"
|
|
|
- style="display: block;"
|
|
|
- @click="saveData()"><button>保存并发布</button></span>
|
|
|
- <!--<a href="javascript:void(0);" class="btn btn_default" id="viewBt" style="display: block;">预览</a>-->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-export default {
|
|
|
- name: "wechat",
|
|
|
- props: {
|
|
|
- data: {
|
|
|
- type: Object,
|
|
|
- default: () => {
|
|
|
- return {};
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
- data: {
|
|
|
- handler(val) {
|
|
|
- this.menu = val;
|
|
|
- },
|
|
|
- immediate: true
|
|
|
- }
|
|
|
- },
|
|
|
- data: function() {
|
|
|
- return {
|
|
|
- gzh_name: "实时预览",
|
|
|
- menu: {},
|
|
|
- new_menu: { button: [] },
|
|
|
- activeMenuName: "",
|
|
|
- activeMenuIndex: "",
|
|
|
- activeMenuItemName: "",
|
|
|
- activeMenuItemIndex: "",
|
|
|
- showDelBtnType: "", //1:delMenu 2:delMenuItem
|
|
|
- showMenuContentType: "", //1:发送消息 2:跳转链接
|
|
|
- showMenuContentMsgType: "" //1:图文信息 2:图片 3:语音 4:视频
|
|
|
- };
|
|
|
- },
|
|
|
- methods: {
|
|
|
- menu_data_completing: function() {
|
|
|
- for (var i = 0; i < this.menu.button.length; i++) {
|
|
|
- if (!("type" in this.menu.button[i])) {
|
|
|
- this.menu.button[i].type = "click";
|
|
|
- }
|
|
|
- if (!("name" in this.menu.button[i])) {
|
|
|
- this.menu.button[i].name = "";
|
|
|
- }
|
|
|
- if (!("key" in this.menu.button[i])) {
|
|
|
- this.menu.button[i].key = "";
|
|
|
- }
|
|
|
- if (!("url" in this.menu.button[i])) {
|
|
|
- this.menu.button[i].url = "";
|
|
|
- }
|
|
|
- if (!("sub_button" in this.menu.button[i])) {
|
|
|
- this.menu.button[i].sub_button = [];
|
|
|
- }
|
|
|
- if (this.menu.button[i].sub_button.length > 0) {
|
|
|
- for (var j = 0; j < this.menu.button[i].sub_button.length; j++) {
|
|
|
- if (!("type" in this.menu.button[i].sub_button[j])) {
|
|
|
- this.menu.button[i].sub_button[j].type = "click";
|
|
|
- }
|
|
|
- if (!("name" in this.menu.button[i].sub_button[j])) {
|
|
|
- this.menu.button[i].sub_button[j].name = "";
|
|
|
- }
|
|
|
- if (!("key" in this.menu.button[i].sub_button[j])) {
|
|
|
- this.menu.button[i].sub_button[j].key = "";
|
|
|
- }
|
|
|
- if (!("url" in this.menu.button[i].sub_button[j])) {
|
|
|
- this.menu.button[i].sub_button[j].url = "";
|
|
|
- }
|
|
|
- if (!("sub_button" in this.menu.button[i].sub_button[j])) {
|
|
|
- this.menu.button[i].sub_button[j].sub_button = [];
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- saveData: function() {
|
|
|
- //补全数据,无数据也要为空
|
|
|
- this.menu_data_completing();
|
|
|
- console.log(this.menu);
|
|
|
- for (var i = 0; i < this.menu.button.length; i++) {
|
|
|
- if (this.menu.button[i].sub_button.length > 0) {
|
|
|
- var _sub_button = [];
|
|
|
- for (var j = 0; j < this.menu.button[i].sub_button.length; j++) {
|
|
|
- if (this.menu.button[i].sub_button[j].type == "click") {
|
|
|
- _sub_button[j] = {
|
|
|
- type: this.menu.button[i].sub_button[j].type,
|
|
|
- name: this.menu.button[i].sub_button[j].name,
|
|
|
- key: this.menu.button[i].sub_button[j].key
|
|
|
- };
|
|
|
- } else if (this.menu.button[i].sub_button[j].type == "view") {
|
|
|
- _sub_button[j] = {
|
|
|
- type: this.menu.button[i].sub_button[j].type,
|
|
|
- name: this.menu.button[i].sub_button[j].name,
|
|
|
- url: this.menu.button[i].sub_button[j].url
|
|
|
- };
|
|
|
- }
|
|
|
- }
|
|
|
- if (this.menu.button[i].type == "click") {
|
|
|
- this.new_menu.button[i] = {
|
|
|
- name: this.menu.button[i].name,
|
|
|
- sub_button: _sub_button
|
|
|
- };
|
|
|
- } else if (this.menu.button[i].type == "view") {
|
|
|
- this.new_menu.button[i] = {
|
|
|
- name: this.menu.button[i].name,
|
|
|
- sub_button: _sub_button
|
|
|
- };
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (this.menu.button[i].type == "click") {
|
|
|
- this.new_menu.button[i] = {
|
|
|
- type: this.menu.button[i].type,
|
|
|
- name: this.menu.button[i].name,
|
|
|
- key: this.menu.button[i].key
|
|
|
- };
|
|
|
- } else if (this.menu.button[i].type == "view") {
|
|
|
- this.new_menu.button[i] = {
|
|
|
- type: this.menu.button[i].type,
|
|
|
- name: this.menu.button[i].name,
|
|
|
- url: this.menu.button[i].url
|
|
|
- };
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- this.$emit("submit", this.new_menu);
|
|
|
- },
|
|
|
- menu_selected: function(name, index) {
|
|
|
- //console.log(name);
|
|
|
- //console.log(index);
|
|
|
- this.showDelBtnType = 1;
|
|
|
- this.activeMenuName = name;
|
|
|
- this.activeMenuIndex = index;
|
|
|
- this.activeMenuItemName = "";
|
|
|
- this.activeMenuItemIndex = "";
|
|
|
-
|
|
|
- //补全数据,无数据也要为空
|
|
|
- this.menu_data_completing();
|
|
|
-
|
|
|
- if (this.menu.button[this.activeMenuIndex].sub_button.length > 0) {
|
|
|
- this.showMenuContentType = "";
|
|
|
- } else {
|
|
|
- this.showMenuContentType = this.activeMenuBtnType();
|
|
|
- }
|
|
|
- },
|
|
|
- menu_item_selected: function(name, index) {
|
|
|
- this.showDelBtnType = 2;
|
|
|
- this.activeMenuItemName = name;
|
|
|
- this.activeMenuItemIndex = index;
|
|
|
-
|
|
|
- //补全数据,无数据也要为空
|
|
|
- this.menu_data_completing();
|
|
|
-
|
|
|
- if (this.activeMenuIndex > 0 || this.activeMenuIndex === 0) {
|
|
|
- if (this.menu.button[this.activeMenuIndex].sub_button.length > 0) {
|
|
|
- this.showMenuContentType = this.activeMenuBtnType();
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- menu_add: function() {
|
|
|
- if (this.menu.button.length < 3) {
|
|
|
- this.activeMenuItemIndex = "";
|
|
|
- this.activeMenuItemName = "";
|
|
|
- this.menu.button.push({
|
|
|
- type: "click",
|
|
|
- name: "菜单名称",
|
|
|
- key: "",
|
|
|
- url: "",
|
|
|
- sub_button: []
|
|
|
- });
|
|
|
- this.activeMenuIndex = this.menu.button.length - 1;
|
|
|
- this.activeMenuName = "菜单名称";
|
|
|
- this.showDelBtnType = 1;
|
|
|
- //补全数据,无数据也要为空
|
|
|
- this.menu_data_completing();
|
|
|
- } else {
|
|
|
- alert("最多3个一级菜单");
|
|
|
- }
|
|
|
- },
|
|
|
- menu_item_add: function() {
|
|
|
- if (this.menu.button[this.activeMenuIndex].sub_button.length < 5) {
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.push({
|
|
|
- type: "click",
|
|
|
- name: "子菜单名称",
|
|
|
- key: "",
|
|
|
- url: "",
|
|
|
- sub_button: []
|
|
|
- });
|
|
|
- this.activeMenuItemIndex =
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.length - 1;
|
|
|
- this.activeMenuItemName = "子菜单名称";
|
|
|
- this.showDelBtnType = 2;
|
|
|
- //补全数据,无数据也要为空
|
|
|
- this.menu_data_completing();
|
|
|
- } else {
|
|
|
- alert("最多5个二级菜单");
|
|
|
- }
|
|
|
- },
|
|
|
- menu_del: function() {
|
|
|
- if (this.menu.button.length <= 3 && this.menu.button.length > 0) {
|
|
|
- if (
|
|
|
- this.activeMenuIndex !== 0 &&
|
|
|
- this.activeMenuIndex == this.menu.button.length - 1
|
|
|
- ) {
|
|
|
- this.menu.button.splice(this.activeMenuIndex, 1);
|
|
|
- this.activeMenuIndex -= 1;
|
|
|
- } else if (this.activeMenuIndex == 0) {
|
|
|
- this.menu.button.splice(this.activeMenuIndex, 1);
|
|
|
- this.activeMenuIndex = 0;
|
|
|
- } else {
|
|
|
- this.menu.button.splice(this.activeMenuIndex, 1);
|
|
|
- }
|
|
|
-
|
|
|
- if (this.menu.button.length == 0) {
|
|
|
- this.activeMenuIndex = "";
|
|
|
- this.activeMenuName = "";
|
|
|
- this.activeMenuItemIndex = "";
|
|
|
- this.activeMenuItemName = "";
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- menu_item_del: function() {
|
|
|
- if (
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.length <= 5 &&
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.length > 0
|
|
|
- ) {
|
|
|
- if (
|
|
|
- this.activeMenuItemIndex ==
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.length - 1
|
|
|
- ) {
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.splice(
|
|
|
- this.activeMenuItemIndex,
|
|
|
- 1
|
|
|
- );
|
|
|
- this.activeMenuItemIndex -= 1;
|
|
|
- } else if (this.activeMenuItemIndex == 0) {
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.splice(
|
|
|
- this.activeMenuItemIndex,
|
|
|
- 1
|
|
|
- );
|
|
|
- this.activeMenuItemIndex = 0;
|
|
|
- } else {
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button.splice(
|
|
|
- this.activeMenuItemIndex,
|
|
|
- 1
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- if (this.menu.button[this.activeMenuIndex].sub_button.length == 0) {
|
|
|
- this.activeMenuIndex = "";
|
|
|
- this.activeMenuName = "";
|
|
|
- this.activeMenuItemIndex = "";
|
|
|
- this.activeMenuItemName = "";
|
|
|
- }
|
|
|
- this.showMenuContentType = this.activeMenuBtnType();
|
|
|
- }
|
|
|
- },
|
|
|
- radio_label_selected: function(val) {
|
|
|
- this.showMenuContentType = val;
|
|
|
- if (val == 1) {
|
|
|
- this.setType("click");
|
|
|
- } else if (val == 2) {
|
|
|
- this.setType("view");
|
|
|
- }
|
|
|
- },
|
|
|
- content_msg_tab_nav: function(val) {
|
|
|
- this.showMenuContentMsgType = val;
|
|
|
- },
|
|
|
- activeMenuType: function() {
|
|
|
- if (this.activeMenuIndex !== "" && this.activeMenuItemIndex !== "") {
|
|
|
- //子菜单、二级菜单
|
|
|
- return 2;
|
|
|
- } else if (
|
|
|
- this.activeMenuIndex !== "" &&
|
|
|
- this.activeMenuItemIndex === ""
|
|
|
- ) {
|
|
|
- //一级菜单
|
|
|
- return 1;
|
|
|
- } else {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- },
|
|
|
- activeMenuBtnType: function() {
|
|
|
- if (this.activeMenuType() === 1) {
|
|
|
- //一级菜单
|
|
|
- switch (this.menu.button[this.activeMenuIndex].type) {
|
|
|
- case "click":
|
|
|
- return 1;
|
|
|
- case "view":
|
|
|
- return 2;
|
|
|
- default:
|
|
|
- return 0;
|
|
|
- }
|
|
|
- } else if (this.activeMenuType() === 2) {
|
|
|
- //子菜单、二级菜单
|
|
|
- switch (
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button[
|
|
|
- this.activeMenuItemIndex
|
|
|
- ].type
|
|
|
- ) {
|
|
|
- case "click":
|
|
|
- return 1;
|
|
|
- case "view":
|
|
|
- return 2;
|
|
|
- default:
|
|
|
- return 0;
|
|
|
- }
|
|
|
- } else {
|
|
|
- return "";
|
|
|
- }
|
|
|
- },
|
|
|
- isSet: function(variable) {
|
|
|
- if (typeof variable != "undefined") {
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
- },
|
|
|
- setType: function(type) {
|
|
|
- console.log(this.activeMenuIndex);
|
|
|
- if (this.activeMenuType() == 1) {
|
|
|
- this.menu.button[this.activeMenuIndex].type = type;
|
|
|
- } else if (this.activeMenuType() == 2) {
|
|
|
- this.menu.button[this.activeMenuIndex].sub_button[
|
|
|
- this.activeMenuItemIndex
|
|
|
- ].type = type;
|
|
|
- }
|
|
|
- },
|
|
|
- setNemMenuObj: function() {
|
|
|
- for (var i = 0; i < this.menu.button.length; i++) {
|
|
|
- if (this.menu.button[i].sub_button.length > 0) {
|
|
|
- this.new_menu.push({
|
|
|
- name: this.menu.button[i].name,
|
|
|
- sub_button: this.menu.button[i].sub_button
|
|
|
- });
|
|
|
- } else {
|
|
|
- if (this.menu.button[i].type == "click") {
|
|
|
- this.new_menu.push({
|
|
|
- name: this.menu.button[i].name,
|
|
|
- type: this.menu.button[i].type,
|
|
|
- key: this.menu.button[i].key,
|
|
|
- sub_button: []
|
|
|
- });
|
|
|
- } else if (this.menu.button[i].type == "view") {
|
|
|
- this.new_menu.push({
|
|
|
- name: this.menu.button[i].name,
|
|
|
- type: this.menu.button[i].type,
|
|
|
- url: this.menu.button[i].url,
|
|
|
- sub_button: []
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-};
|
|
|
-</script>
|
|
|
-
|
|
|
-<style>
|
|
|
-</style>
|