menu.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. {include file="common/header"/}
  2. <link rel="stylesheet" href="/static/plugins/bootstrap-3.3.7/css/bootstrap.css">
  3. <link rel="stylesheet" type="text/css" href="/static/admin/css/menu/wx-audiocopy.css">
  4. <link rel="stylesheet" type="text/css" href="/static/admin/css/menu/selfmenu.css?v={:time()}">
  5. <link rel="stylesheet" type="text/css" href="/static/admin/css/menu/bottom.css">
  6. <link rel="stylesheet" type="text/css" href="/static/admin/css/menu/scroll.css">
  7. <link rel="stylesheet" type="text/css" href="/static/admin/css/menu/weui.min.css">
  8. <!-- 自定义样式 -->
  9. <link rel="stylesheet" href="/static/admin/css/menu/wx-custom.css?v={:time()}">
  10. <div class="LM-container">
  11. <div class="LM-main">
  12. <div class="custom-menu-edit-con">
  13. <div class="form-group placeholders" style="width: 40%; float:left ">
  14. 自定义菜单:
  15. </div>
  16. <div class="form-group placeholders" style="width: 40%; float:right ">
  17. <label class="control-label col-xs-3 col-sm-3 col-md-3 no-padding-right phonelabel" for="appIdcode">服务号:</label>
  18. <div class="col-xs-8 col-sm-8 col-md-8 placeholder input-group input-group-sm">
  19. <select id='appIdcode' class='form-control' name="appIdcode"></select>
  20. </div>
  21. </div>
  22. <div class="hbox">
  23. <div class="inner-left">
  24. <div class="custom-menu-view-con">
  25. <div class="custom-menu-view">
  26. <div class="custom-menu-view__title">公众号名称</div>
  27. <div class="custom-menu-view__body">
  28. <div class="weixin-msg-list"><ul class="msg-con"></ul></div>
  29. </div>
  30. <div id="menuMain" class="custom-menu-view__footer">
  31. <div class="custom-menu-view__footer__left"></div>
  32. <div class="custom-menu-view__footer__right" ></div>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="inner-right">
  38. <div class="cm-edit-after">
  39. <div class="cm-edit-right-header b-b"><span id="cm-tit"></span> <a id="delMenu" class="pull-right" href="javascript:;">删除菜单</a></div>
  40. <form class="form-horizontal wrapper-md" name="custom_form">
  41. <div class="form-group">
  42. <label class="col-sm-2 control-label">菜单名称:</label><div class="col-sm-5">
  43. <input name="custom_input_title" type="text" class="form-control" ng-model="menuname" value="" placeholder="" ng-maxlength="5"></div><div class="col-sm-5 help-block">
  44. <div ng-show="custom_form.custom_input_title.$dirty&&custom_form.custom_input_title.$invalid-maxlength">字数不超过5个汉字或16个字符</div>
  45. <div class="font_sml" style="display: block;">若无二级菜单,可输入20个汉字或60个字符</div>
  46. </div>
  47. </div>
  48. <div class="form-group" id="radioGroup">
  49. <label class="col-sm-2 control-label">菜单内容:</label>
  50. <div class="col-sm-10 LebelRadio">
  51. <label class="checkbox-inline"><input type="radio" name="radioBtn" value="sendmsg" checked> 发送消息</label>
  52. <label class="checkbox-inline"><input type="radio" name="radioBtn" value="link"> 跳转网页</label>
  53. </div>
  54. </div>
  55. </form>
  56. <div class="cm-edit-content-con" id="editMsg">
  57. <div class="editTab">
  58. <div class="editTab-heading">
  59. <ul id="clickUl" class="msg-panel__tab">
  60. <li id="imgtextLi" class="msg-tab_item on" onclick="imageText()">
  61. <span class="msg-icon msg-icon-tuwen"></span>
  62. 图文消息
  63. </li>
  64. <li id="imgLi" class="msg-tab_item" onclick="picture()">
  65. <span class="msg-icon msg-icon-pic"></span>
  66. 图片
  67. </li>
  68. <li id="voice" class="msg-tab_item" onclick="voice()">
  69. <span class="msg-icon msg-icon-audio"></span>
  70. 语音
  71. </li>
  72. <li id="video" class="msg-tab_item" onclick="video1()">
  73. <span class="msg-icon msg-icon-video"></span>
  74. 视频
  75. </li>
  76. </ul>
  77. </div>
  78. <div class="editTab-body">
  79. <div class="msg-panel__context">
  80. <div class="msg-context__item">
  81. <div class="msg-panel__center msg-panel_select" data-toggle="modal" data-target="#selectModal"><span class="message-plus">+</span><br>从素材库中选择</div>
  82. </div>
  83. <div class="msg-context__item">
  84. <a href="javascript:;" class="msg-panel-add msg-panel__center msg-panel_select" ><span class="message-plus">+</span><br>新建素材</a>
  85. </div>
  86. <div class="msg-template"></div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. <div class="cm-edit-content-con" id="editPage">
  92. <div class="cm-edit-page">
  93. <div class="row">
  94. <label class="col-sm-6 control-label" style="text-align: left;">粉丝点击该菜单会跳转到以下链接:
  95. </label>
  96. </div>
  97. <div class="row">
  98. <label class="col-sm-2 control-label" style="text-align: left;">页面地址:
  99. </label>
  100. <div class="col-sm-5">
  101. <input type="text" name="url" class="form-control" placeholder="认证号才可手动输入地址">
  102. <span class="help-block">必填,必须是正确的URL格式</span>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="cm-edit-before"><h5>点击左侧菜单进行操作</h5></div>
  109. </div>
  110. </div>
  111. </div>
  112. <div class="edit-footer">
  113. <button id="saveBtns" type="button" class="layui-btn layui-btn-sm">保存</button>
  114. <button id="synchroBtns" type="button" class="layui-btn layui-btn-sm">同步</button>
  115. <button id="showPhone" type="button" class="layui-btn layui-btn-sm">预览</button>
  116. <button id="deleteMenu" type="button" class="layui-btn layui-btn-sm" onclick="deleteMenu()">清空菜单</button>
  117. </div>
  118. <div id="selectModal" class="modal fade" tabindex="-1" role="dialog">
  119. <div class="modal-dialog modal-lg">
  120. <div class="modal-content">
  121. <div class="modal-header">
  122. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span>×</span></button>
  123. <h4 class="modal-title modal-title1">
  124. 选择
  125. </h4>
  126. </div>
  127. <div class="modal-body">
  128. <div id='imgTextAdd' class="row">
  129. </div>
  130. </div>
  131. <div class="modal-footer">
  132. <button type="button" class="layui-btn layui-btn-sm ensure">确定</button>
  133. <button type="button" class="layui-btn layui-btn-sm" data-dismiss="modal">取消</button>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <div id="abnormalModal" class="modal fade" tabindex="-1" role="dialog">
  139. <div class="modal-dialog">
  140. <div class="modal-content">
  141. <div class="modal-header">
  142. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span>×</span></button>
  143. <h4 class="modal-title">
  144. 温馨提示
  145. </h4>
  146. </div>
  147. <div class="modal-body">
  148. <h5>数据异常</h5>
  149. </div>
  150. <div class="modal-footer">
  151. <!-- <button type="button" class="btn btn-info reminder">确定</button> -->
  152. <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. <div class="mobile_preview" id="mobileDiv" style="display: none;">
  158. <div class="mobile_preview_hd">
  159. <strong class="nickname"></strong>
  160. </div>
  161. <div class="mobile_preview_bd">
  162. <ul id="viewShow" class="show_list"></ul>
  163. </div>
  164. <div class="mobile_preview_ft">
  165. <ul class="pre_menu_list grid_line" id="viewList">
  166. </ul>
  167. </div>
  168. <div class="moblie_preview_weapp js_preview_weapp_wrapper" style="display: none">
  169. <div class="weapp_hd">
  170. <i class="icon_back_weapp js_preview_weapp_close">返回</i>
  171. <p class="weapp_title js_preview_weapp_title"></p>
  172. </div>
  173. <div class="preview_extra">电脑端暂不支持预览小程序</div>
  174. </div>
  175. <a href="javascript:void(0);" class="mobile_preview_closed btn btn_default" id="viewClose">退出预览</a>
  176. </div>
  177. <!--背景半透明-->
  178. <div class="mask" style="display:none;">
  179. <div style="position: relative; left: 957px; top: 468px;">
  180. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -1s infinite normal none running opacity-100-25;">
  181. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(0deg) translate(10px, 0px); border-radius: 100em;"></div>
  182. </div>
  183. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.916667s infinite normal none running opacity-100-25;">
  184. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(30deg) translate(10px, 0px); border-radius: 100em;"></div>
  185. </div>
  186. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.833333s infinite normal none running opacity-100-25;">
  187. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(60deg) translate(10px, 0px); border-radius: 100em;"></div>
  188. </div>
  189. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.75s infinite normal none running opacity-100-25;">
  190. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(90deg) translate(10px, 0px); border-radius: 100em;"></div>
  191. </div>
  192. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.666667s infinite normal none running opacity-100-25;">
  193. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(120deg) translate(10px, 0px); border-radius: 100em;"></div>
  194. </div>
  195. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.583333s infinite normal none running opacity-100-25;">
  196. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(150deg) translate(10px, 0px); border-radius: 100em;"></div>
  197. </div>
  198. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.5s infinite normal none running opacity-100-25;">
  199. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(180deg) translate(10px, 0px); border-radius: 100em;"></div>
  200. </div>
  201. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.416667s infinite normal none running opacity-100-25;">
  202. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(210deg) translate(10px, 0px); border-radius: 100em;"></div>
  203. </div>
  204. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.333333s infinite normal none running opacity-100-25;">
  205. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(240deg) translate(10px, 0px); border-radius: 100em;"></div>
  206. </div>
  207. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.25s infinite normal none running opacity-100-25;">
  208. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(270deg) translate(10px, 0px); border-radius: 100em;"></div>
  209. </div>
  210. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.166667s infinite normal none running opacity-100-25;">
  211. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(300deg) translate(10px, 0px); border-radius: 100em;"></div>
  212. </div>
  213. <div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); animation: 1s linear -0.0833333s infinite normal none running opacity-100-25;">
  214. <div style="position: absolute; width: 12px; height: 5px; background: rgb(53, 53, 53); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1px; transform-origin: left center; transform: rotate(330deg) translate(10px, 0px); border-radius: 100em;"></div>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. </div>
  220. {include file="common/footer"/}
  221. <script src="/static/plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
  222. <script src="/static/plugins/bootstrap-3.3.7/js/bootstrap.js"></script>
  223. <script>
  224. var layer='' ;
  225. var $;
  226. layui.use('layer',function () {
  227. layer= layui.layer;
  228. $ = layui.jquery;
  229. });
  230. var baseURL = '{$baseURL}';
  231. var api_account = '';//账号
  232. var api_imageText = '';//图文
  233. var api_image = '';//图片
  234. var api_video = '';//视频
  235. var api_voice = '';//音频
  236. </script>
  237. {include file="wechat/menu_api"/}