pack.htm 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. {include file="public/layout" /}
  2. <body class="bodystyle">
  3. <div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
  4. <div id="append_parent"></div>
  5. <div id="ajaxwaitid"></div>
  6. <div class="page">
  7. <div class="fixed-bar">
  8. <div class="item-title"><a class="back" href="{:url("Weapp/index")}" title="返回列表"><i class="fa fa-chevron-left"></i></a>
  9. <div class="subject">
  10. <h3>插件应用</h3>
  11. <h5></h5>
  12. </div>
  13. <ul class="tab-base nc-row">
  14. {eq name="$Think.const.CONTROLLER_NAME.'@create'|is_check_access" value="1"}
  15. <li><a href="{:url("Weapp/create")}" class="tab {if condition="in_array($Request.action, array('create'))"}current{/if}"><span>创建插件</span></a></li>
  16. {/eq}
  17. {eq name="$Think.const.CONTROLLER_NAME.'@pack'|is_check_access" value="1"}
  18. <li><a href="{:url("Weapp/pack")}" class="tab {if condition="in_array($Request.action, array('pack'))"}current{/if}"><span>打包插件</span></a></li>
  19. {/eq}
  20. </ul>
  21. </div>
  22. </div>
  23. <form class="form-horizontal" id="post_form" action="{:U('Weapp/pack')}" method="post">
  24. <div class="ncap-form-default">
  25. <dl class="row">
  26. <dt class="tit">
  27. <label for="code"><em>*</em>插件标识</label>
  28. </dt>
  29. <dd class="opt">
  30. <input type="text" name="code" placeholder="比如:Demo" id="code" class="input-txt" onkeyup="this.value=this.value.replace(/[^a-zA-Z0-9]/g,'');" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^a-zA-Z0-9]/g,''));">
  31. <input type="button" class="btn" value="生成文件列表" onclick="createPackfiles();">
  32. <span class="err"></span>
  33. <p class="notic"></p>
  34. </dd>
  35. </dl>
  36. <dl class="row">
  37. <dt class="tit">
  38. <label for="additional_file"><em>*</em>打包文件列表</label>
  39. </dt>
  40. <dd class="opt">
  41. <textarea rows="5" cols="80" id="additional_file" name="additional_file" style="width: 375px;height:250px;" placeholder="列举插件涉及的独立文件,尽量不改动原系统代码:
  42. weapp/Sample
  43. template/plugins/sample
  44. application/plugins/controller/Sample.php
  45. application/plugins/logic/SampleLogic.php
  46. application/plugins/model/Sample.php"></textarea>
  47. <p class="notic">一行代表一个可选值</p>
  48. <p class="">一行代表一个可选值</p>
  49. </dd>
  50. </dl>
  51. <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
  52. </div>
  53. </form>
  54. </div>
  55. <script type="text/javascript">
  56. /*插件标准涉及的文件及目录*/
  57. var packlistArr = new Array();
  58. packlistArr[0] = 'weapp/Sample';
  59. packlistArr[1] = 'template/plugins/sample';
  60. packlistArr[2] = 'application/plugins/controller/Sample.php';
  61. packlistArr[3] = 'application/plugins/logic/SampleLogic.php';
  62. packlistArr[4] = 'application/plugins/model/Sample.php';
  63. /*--end*/
  64. /**
  65. * 插件标识格式判断
  66. * @param str
  67. */
  68. function checkCode(str){
  69. var reg = /^[A-Z]([a-zA-Z0-9]*)$/;
  70. if(reg.test(str)){
  71. return true;
  72. }else{
  73. return false;
  74. }
  75. }
  76. // 判断输入框是否为空
  77. function checkForm(){
  78. var code = $.trim($('input[name=code]').val());
  79. if(!checkCode(code)){
  80. showErrorMsg('插件标识格式不正确!');
  81. $('input[name=code]').focus();
  82. return false;
  83. }
  84. if ('Sample' == code) {
  85. showErrorMsg('样本插件禁止打包!');
  86. $('input[name=code]').focus();
  87. return false;
  88. }
  89. layer_loading('正在处理');
  90. $('#post_form').submit();
  91. }
  92. // 生成打包文件列表
  93. function createPackfiles()
  94. {
  95. var code = $.trim($('input[name=code]').val());
  96. if(!checkCode(code)){
  97. showErrorMsg('插件标识格式不正确!');
  98. $('input[name=code]').focus();
  99. return false;
  100. }
  101. if ('Sample' == code) {
  102. showErrorMsg('样本插件禁止打包!');
  103. $('input[name=code]').focus();
  104. return false;
  105. }
  106. var additional_file = '';
  107. for (var i = 0; i < packlistArr.length; i++) {
  108. filestr = packlistArr[i];
  109. filestr = filestr.replace('Sample', code);
  110. filestr = filestr.replace('sample', code.toLowerCase());
  111. additional_file += filestr;
  112. if (i < packlistArr.length - 1) {
  113. additional_file += "\n";
  114. }
  115. }
  116. $('#additional_file').val(additional_file);
  117. var index = layer.alert("请检查打包文件或目录是否完整!", {icon: 6, title:false}, function(){
  118. layer.close(index);
  119. $('#additional_file').focus();
  120. });
  121. }
  122. </script>
  123. {include file="public/footer" /}