post.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. {template 'common/header'}
  2. <link rel="stylesheet" href="./resource/css/wxapp-icon.css">
  3. <div class="account-list-add-step">
  4. <div id="js-wxapp-create" ng-controller="MainCtrl" ng-cloak>
  5. <div class="container">
  6. <div class="caret-wxapp">
  7. <form method="post" ng-submit="package()">
  8. <input name="token" type="hidden" value="{$_W['token']}" />
  9. <div class="panel panel-app">
  10. <div class="panel-heading">
  11. <ol class="breadcrumb we7-breadcrumb">
  12. <a href="{url 'wxapp/display'}"><i class="wi wi-back-circle"></i> </a>
  13. <li><a href="{url 'wxapp/display'}">小程序列表</a></li>
  14. <li>新建小程序</li>
  15. </ol>
  16. </div>
  17. <div class="we7-step">
  18. <ul>
  19. <li ng-class="createStep == 1 ? 'active': ''">1 设置小程序信息</li>
  20. <li ng-class="createStep == 3 ? 'active': ''" ng-show="create_type == 2">{{create_type == 2 ? 2 : ''}} 设计首页</li>
  21. <li ng-class="createStep == 4 ? 'active': ''">{{create_type == 2 ? 3 : 2}} 生成版本</li>
  22. </ul>
  23. </div>
  24. <div class="panel-body">
  25. <div class="wxapp-content tab-content">
  26. <div id="select" ng-show="createStep == 1">
  27. <div class="form-defalut we7-form">
  28. {if empty($uniacid)}
  29. <div class="form-group">
  30. <label for="" class="control-label col-sm-2">小程序名称</label>
  31. <div class="form-controls col-sm-10">
  32. <input type="text" name="name" ng-model="wxappinfo.name" class="form-control wxapp-name" placeholder="小程序名称">
  33. </div>
  34. </div>
  35. <div class="form-group">
  36. <label for="" class="control-label col-sm-2">小程序描述</label>
  37. <div class="form-controls col-sm-10">
  38. <input type="text" name="description" ng-model="wxappinfo.description" class="form-control wxapp-name" placeholder="版本描述">
  39. </div>
  40. </div>
  41. <div class="form-group">
  42. <label for="" class="control-label col-sm-2">原始ID</label>
  43. <div class="form-controls col-sm-10">
  44. <input type="text" name="original" ng-model="wxappinfo.original" value="" class="form-control wxapp-name" placeholder="原始ID">
  45. </div>
  46. </div>
  47. <div class="form-group">
  48. <label for="" class="control-label col-sm-2">AppId</label>
  49. <div class="form-controls col-sm-10">
  50. <input type="text" name="key" value="" ng-model="wxappinfo.appid" class="form-control wxapp-name" placeholder="AppId">
  51. </div>
  52. </div>
  53. <div class="form-group">
  54. <label for="" class="control-label col-sm-2">AppSecret</label>
  55. <div class="form-controls col-sm-10">
  56. <input type="text" name="secret" value="" ng-model="wxappinfo.appsecret" class="form-control wxapp-name" placeholder="AppSecret">
  57. </div>
  58. </div>
  59. {else}
  60. <div class="form-group">
  61. <label for="" class="control-label col-sm-2">版本描述</label>
  62. <div class="form-controls col-sm-10">
  63. <input type="text" name="description" ng-model="wxappinfo.description" class="form-control wxapp-name" placeholder="版本描述">
  64. </div>
  65. </div>
  66. {/if}
  67. <div class="form-group">
  68. <label for="" class="control-label col-sm-2">版本号</label>
  69. <div class="form-controls col-sm-10">
  70. <input type="text" name="version" ng-model="wxappinfo.version" class="form-control wxapp-name" placeholder="版本号,只能是数字、点,数字最多两位,例如 1.01 / 1.0.1">
  71. </div>
  72. </div>
  73. {if $create_type == WXAPP_CREATE_MODULE || $create_type == WXAPP_CREATE_MUTI_MODULE}
  74. <div class="form-group">
  75. <input type="hidden" name="modules" value="">
  76. <label class="control-label col-sm-2">添加应用</label>
  77. <div class="form-controls col-sm-10">
  78. <ul class="app-list" id="resource_module">
  79. <div class="app-info" ng-repeat="module in wxappinfo.choose.modules">
  80. <img ng-src="{{module.icon}}" />
  81. <p>{{module.title}}</p>
  82. </div>
  83. <li class="select select-more"></li>
  84. </ul>
  85. </div>
  86. </div>
  87. {else}
  88. <div class="form-group">
  89. <input type="hidden" name="modules" value="">
  90. <label class="control-label col-sm-2">添加应用</label>
  91. <div class="form-controls col-sm-10">
  92. <div we7-choose-more we7-modules="wxappinfo.choose.modules" we7-choose-single="{php echo $design_method == WXAPP_MODULE}"></div>
  93. </div>
  94. </div>
  95. {/if}
  96. </div>
  97. </div>
  98. <div id="home" ng-show="createStep == 2">
  99. <!-- 选择模板 -->
  100. <div ng-if="designMethod == 2">
  101. <div class="wxapp-tem-preview">
  102. <div class="wxapp-phone">
  103. <img src="./resource/images/iphone6.png" alt="" class="wxapp-phone-bg" />
  104. <div class="wxapp-home-preview">
  105. <img src="./resource/images/wxapp-default-tpl1.jpg" />
  106. </div>
  107. </div>
  108. <div class="panel panel-app tem-detail">
  109. <div class="panel-heading">
  110. 模板功能
  111. </div>
  112. <div class="panel-body">
  113. <div class="tem-detail-heading">
  114. 本模板包含以下功能
  115. </div>
  116. <div class="tem-detail-content">
  117. <ul>
  118. <li>更换幻灯片</li>
  119. <li>更换顶部小图标</li>
  120. <li>上传推荐图文</li>
  121. </ul>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <div class="creat-select-tem">
  127. <div class="select-tem-heading">
  128. 选择模板
  129. </div>
  130. <div class="select-tem-filter">
  131. <div class="form-group" style="display:none;">
  132. <select name="" class="select-we7">
  133. <option value="">全部分类</option>
  134. <option value="">分类1</option>
  135. <option value="">分类2</option>
  136. </select>
  137. </div>
  138. <div class="input-group" style="display:none;">
  139. <input type="text" name="" class="form-control" placeholder="输入模板名">
  140. <span class="input-group-addon"><i class="fa fa-search"></i></span>
  141. </div>
  142. </div>
  143. <div class="select-tem-list">
  144. <input type="hidden" name="template" ng-model="wxappinfo.choose.template" />
  145. <ul>
  146. <li class="select-tem-item" ng-class="{'active' : wxappinfo.choose.template == '1'}" ng-click="selectTpl(1)">
  147. <img src="./resource/images/wxapp-default-tpl0.jpg"/>
  148. <a href="javascript:;" class="cover-dark">
  149. <i class="fa fa-check cover-selected"></i>
  150. </a>
  151. </li>
  152. </ul>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. <div id="bottom" ng-show="createStep == 3">
  158. <div class="wxapp-tem-preview wxapp-buttom-preview">
  159. <div class="wxapp-phone">
  160. <img src="./resource/images/iphone6.png" alt="" class="wxapp-phone-bg" />
  161. <div class="wxapp-home-preview">
  162. <div class="box clearfix">
  163. <div class="item pic" ng-repeat="module in wxappinfo.choose.modules">
  164. <a href="javascript:void(0)">
  165. <i style="background-image:url({{module.icon}});"></i>
  166. <div class="name">{{module.title}}</div>
  167. </a>
  168. </div>
  169. </div>
  170. <div class="buttom-list-preview" ng-style="{'background-color': wxappinfo.quickmenu.bottom.bgcolor}">
  171. <ul ng-style="{'border-top': '1px solid'+wxappinfo.quickmenu.bottom.boundary}">
  172. <li ng-repeat="menu in wxappinfo.quickmenu.menus">
  173. <img ng-src="{{menu.defaultImage}}" class="buttom-preview-img"/>
  174. <p class="buttom-preview-title" ng-bind="menu.name" ng-style="{'font-size':'12px', 'color': wxappinfo.quickmenu.bottom.color}"></p>
  175. </li>
  176. </ul>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. <div class="creat-buttom">
  182. <div class="buttom-heading">
  183. 配置
  184. </div>
  185. <div class="creat-buttom-select form-defalut">
  186. <div class="form-group">
  187. <label for="" class="control-label col-sm-3">是否显示</label>
  188. <div class="form-controls col-sm-9">
  189. <label><input name="" id="" class="form-control" type="checkbox" style="display: none;">
  190. <div class="switch" ng-class="{'switchOn': wxappinfo.quickmenu.show}" ng-click="showMenu()"></div>
  191. </label>
  192. </div>
  193. </div>
  194. <div class="form-group buttom-bg-color">
  195. <label for="" class="control-label col-sm-3">背景颜色</label>
  196. <div class="form-controls col-sm-4" >
  197. <div we7-colorpicker we7-form-name="wxappinfo.quickmenu.bottom.bgcolor" we7-my-color="wxappinfo.quickmenu.bottom.bgcolor" we7-my-default-color="bottom.bgcolor"></div>
  198. </div>
  199. </div>
  200. <div class="form-group buttom-boundary-color">
  201. <label for="" class="control-label col-sm-3">交界线颜色</label>
  202. <div class="form-controls col-sm-4" >
  203. <div we7-colorpicker we7-my-color="wxappinfo.quickmenu.bottom.boundary" we7-my-default-color="wxappinfo.quickmenu.bottom.boundary"></div>
  204. </div>
  205. </div>
  206. <div class="form-group buttom-bg-color">
  207. <label for="" class="control-label col-sm-3">文字默认颜色</label>
  208. <div class="form-controls col-sm-4" >
  209. <div we7-colorpicker we7-my-color="wxappinfo.quickmenu.bottom.color" we7-my-default-color="wxappinfo.quickmenu.bottom.color"></div>
  210. </div>
  211. </div>
  212. <div class="form-group buttom-bg-color">
  213. <label for="" class="control-label col-sm-3">文字选中颜色</label>
  214. <div class="form-controls col-sm-4" >
  215. <div we7-colorpicker we7-my-color="wxappinfo.quickmenu.bottom.selectedColor" we7-my-default-color="wxappinfo.quickmenu.bottom.selectedColor"></div>
  216. </div>
  217. </div>
  218. </div>
  219. <div class="buttom-list">
  220. <table class="table we7-table buttom-list-table vertical-middle">
  221. <col width="70" />
  222. <col width="70" />
  223. <col width="100" />
  224. <col width="120" />
  225. <col width="70" />
  226. <tr>
  227. <th>默认</th>
  228. <th>选中</th>
  229. <th>菜单名称</th>
  230. <th>跳转到</th>
  231. <th>操作</th>
  232. </tr>
  233. <tr ng-repeat="menu in wxappinfo.quickmenu.menus" class="we7-form">
  234. <td>
  235. <div class="nav-img-box">
  236. <img ng-src="{{menu.defaultImage}}" >
  237. <div ng-click="addDefaultImg($index)" class="select">选择</div>
  238. </div>
  239. </td>
  240. <td>
  241. <div class="nav-img-box">
  242. <img ng-src="{{menu.selectedImage}}">
  243. <div ng-click="addSelectedImg($index)" class="select">选择</div>
  244. </div>
  245. </td>
  246. <td>
  247. <input type="text" name="menuname" ng-model="menu.name" class="form-control" />
  248. </td>
  249. <td>
  250. <select class="form-control" id="lineheight" ng-model="menu.defaultentry" ng-options="binding.title group by binding.modulename for binding in module_bindings">
  251. </select>
  252. </td>
  253. <td>
  254. <a href="javascript:;" class="buttom-del" ng-click="delMenu($index)"><i class="fa fa-times-circle"></i></a>
  255. </td>
  256. </tr>
  257. <tr class="buttom-more">
  258. <td colspan="5"><a href="javascript:;" class="buttom-add" ng-click="addMenu()">+</a></td>
  259. </tr>
  260. </table>
  261. </div>
  262. <div class="buttom-list">
  263. <table class="table we7-table buttom-list-table vertical-middle">
  264. <col width="70" />
  265. <col width="70" />
  266. <col width="120" />
  267. <tr>
  268. <th>默认</th>
  269. <th>模块名</th>
  270. <th>跳转到</th>
  271. </tr>
  272. <tr ng-repeat="module in wxappinfo.choose.modules" class="we7-form">
  273. <td>
  274. <div class="nav-img-box">
  275. <img ng-src="{{module.newicon ? module.newicon : module.icon}}" >
  276. <div ng-click="addModuleImage(module)" class="select">选择</div>
  277. </div>
  278. </td>
  279. <td>
  280. <input type="text" name="modulename" ng-model="module.title" class="form-control" readonly />
  281. </td>
  282. <td>
  283. <select class="form-control" id="lineheight1"
  284. ng-model="module.defaultentry"
  285. ng-options="binding.eid as binding.title for binding in module.bindings">
  286. </select>
  287. </td>
  288. </tr>
  289. </table>
  290. </div>
  291. </div>
  292. </div>
  293. <div id="finish" ng-show="createStep == 4">
  294. <div class="form we7-form wxapp-finish">
  295. <div class="form-group">
  296. <label for="" class="control-label col-sm-2">小程序名称</label>
  297. <div class="form-controls col-sm-10">
  298. <p class="form-control-static" ng-bind="wxappinfo.name"></p>
  299. </div>
  300. </div>
  301. <div class="form-group">
  302. <label for="" class="control-label col-sm-2">描述</label>
  303. <div class="form-controls col-sm-10">
  304. <p class="form-control-static" ng-bind="wxappinfo.description"></p>
  305. </div>
  306. </div>
  307. <div class="form-group">
  308. <label class="control-label col-sm-2">版本号</label>
  309. <div class="form-controls col-sm-10">
  310. <p class="form-control-static">{{wxappinfo.version}}</p>
  311. </div>
  312. </div>
  313. <div class="form-group">
  314. <label class="control-label col-sm-2">打包应用</label>
  315. <div class="form-controls col-sm-10">
  316. <ul class="app-list">
  317. <li class="select" ng-repeat="module in wxappinfo.choose.modules">
  318. <div class="app-info">
  319. <img ng-src="{{module.icon}}" />
  320. <p>{{module.title}}</p>
  321. </div>
  322. </li>
  323. </ul>
  324. </div>
  325. </div>
  326. <div class="form-group" ng-if="designMethod == 2">
  327. <label class="control-label col-sm-2">首页模板</label>
  328. <div class="form-controls col-sm-10">
  329. <p class="form-control-static" ng-bind="wxappinfo.choose.template"></p>
  330. </div>
  331. </div>
  332. <div class="form-group" ng-if="designMethod == 2">
  333. <label class="control-label col-sm-2">底部菜单</label>
  334. <div class="form-controls col-sm-10">
  335. <table class="table-finish-buttom">
  336. <col width="75px"/>
  337. <col width="105"/>
  338. <col />
  339. <tr>
  340. <td>菜单图标</td>
  341. <td>菜单名字</td>
  342. <td>菜单链接模块</td>
  343. </tr>
  344. <tr ng-repeat="menu in wxappinfo.quickmenu.menus">
  345. <td ng-style="{'background-color' : wxappinfo.quickmenu.bottom.bgcolor}">
  346. <img ng-src="{{menu.defaultImage}}" alt="" width="48px" height="48px"/>
  347. </td>
  348. <td ng-bind="menu.name"></td>
  349. <td ng-bind="menu.module.title"></td>
  350. </tr>
  351. </table>
  352. </div>
  353. </div>
  354. </div>
  355. </div>
  356. </div>
  357. </div>
  358. </div>
  359. <nav class="navbar navbar-wxapp-bottom navbar-fixed-bottom" role="navigation">
  360. <div class="container">
  361. <div class="pager">
  362. <a type="button" class="btn btn-primary" ng-show="createStep != 1" ng-click="prevStep()">上一步</a>
  363. <a type="button" class="btn btn-primary" ng-show="createStep != 4" ng-click="nextStep()">下一步</a>
  364. <button type="submit" name="submit" value="yes" class="btn btn-danger" ng-show="createStep == 4">生成版本</button>
  365. <!-- <a type="button" class="btn btn-default" ng-show="createStep == 4">首页预览</a> -->
  366. </div>
  367. </div>
  368. </nav>
  369. </form>
  370. </div>
  371. </div>
  372. </div>
  373. </div>
  374. <script>
  375. require(['fileUploader','underscore'], function(uploader){
  376. var isedit = {$isedit};
  377. var wxappinfo = {'name' : '{$wxapp_info['name']}'};
  378. if (isedit) {
  379. wxappinfo.modules = {php echo json_encode($wxapp_version['modules'])};
  380. wxappinfo.quickmenu = {php echo json_encode($wxapp_version['quickmenu'])};
  381. wxappinfo.version = '{$wxapp_version['version']}';
  382. wxappinfo.description = '{$wxapp_version['description']}';
  383. }
  384. angular.module('wxApp').value('config', {
  385. 'wxappinfo' : wxappinfo,
  386. 'uniacid' : "{$uniacid}",
  387. 'version_id' : "{$version_id}",
  388. 'create_type' : "{$create_type}",
  389. 'isedit' : isedit,
  390. 'designMethod' : "{$design_method}",
  391. 'bindingsUrl' : "{php echo url('wxapp/post/module_binding')}",
  392. 'wxappPostUrl' : "{php echo url('wxapp/post', array('design_method' => $design_method, 'create_type'=>$create_type, 'version_id' => $version_id))}",
  393. 'token' : "{$_W['token']}",
  394. });
  395. angular.bootstrap($('#js-wxapp-create'), ['wxApp']);
  396. });
  397. </script>
  398. </html>