index.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <style type="text/css">
  2. .layui-layer-pay .layui-layer-content {
  3. padding: 0;
  4. height: 600px !important;
  5. }
  6. .layui-layer-pay {
  7. border: none;
  8. }
  9. .payimg {
  10. position: relative;
  11. width: 800px;
  12. height: 600px;
  13. }
  14. .payimg .alipaycode {
  15. position: absolute;
  16. left: 265px;
  17. top: 442px;
  18. }
  19. .payimg .wechatcode {
  20. position: absolute;
  21. left: 660px;
  22. top: 442px;
  23. }
  24. .thumbnail img {
  25. width: 100%;
  26. }
  27. .fixed-table-toolbar .pull-right.search {
  28. min-width: 300px;
  29. }
  30. a.title {
  31. color: #444;
  32. }
  33. .releasetips {
  34. position: relative;
  35. }
  36. .releasetips i {
  37. display: block;
  38. background: #f00;
  39. border-radius: 50%;
  40. width: 0.3em;
  41. height: 0.3em;
  42. top: 0px;
  43. right: -8px;
  44. position: absolute;
  45. box-shadow: 0px 0px 2px #f11414;
  46. }
  47. </style>
  48. <div class="panel panel-default panel-intro">
  49. <div class="panel-heading">
  50. {:build_heading(null,FALSE)}
  51. <ul class="nav nav-tabs nav-category">
  52. <li class="active"><a href="javascript:;" data-id="">{:__('All')}</a></li>
  53. <li><a href="javascript:;" data-id="0">{:__('Uncategoried')}</a></li>
  54. </ul>
  55. </div>
  56. <div class="panel-body">
  57. <div id="myTabContent" class="tab-content">
  58. <div class="tab-pane fade active in" id="one">
  59. <div class="widget-body no-padding">
  60. <div id="toolbar" class="toolbar">
  61. {:build_toolbar('refresh')}
  62. <button type="button" id="plupload-addon" class="btn btn-danger plupload" data-url="addon/local"
  63. data-mimetype="application/zip" data-multiple="false"><i class="fa fa-upload"></i>
  64. {:__('Offline install')}
  65. </button>
  66. <div class="btn-group">
  67. <a href="#" class="btn btn-info btn-switch active" data-type="all"
  68. data-url="{$config.fastadmin.api_url}/addon/index"><i class="fa fa-list"></i>
  69. {:__('All')}</a>
  70. <a href="#" class="btn btn-info btn-switch" data-type="free"
  71. data-url="{$config.fastadmin.api_url}/addon/index"><i class="fa fa-gift"></i>
  72. {:__('Free')}</a>
  73. <a href="#" class="btn btn-info btn-switch" data-type="price"
  74. data-url="{$config.fastadmin.api_url}/addon/index"><i class="fa fa-rmb"></i>
  75. {:__('Paying')}</a>
  76. <a href="#" class="btn btn-info btn-switch" data-type="local" data-url="addon/downloaded"><i
  77. class="fa fa-laptop"></i> {:__('Local addon')}</a>
  78. </div>
  79. <a class="btn btn-primary btn-userinfo" href="javascript:;"><i class="fa fa-user"></i>
  80. {:__('Userinfo')}</a>
  81. </div>
  82. <table id="table" class="table table-striped table-bordered table-hover" width="100%">
  83. </table>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. <script id="searchformtpl" type="text/html">
  90. <form action="" class="form-commonsearch hide">
  91. <div class="well" style="box-shadow:none;border-radius:2px;margin-bottom:10px;">
  92. <div class="row">
  93. <div class="col-xs-12 col-sm-6 col-md-3">
  94. <div class="form-group">
  95. <label class="control-label">{:__('Title')}</label>
  96. <input class="operate" type="hidden" data-name="title" value="like"/>
  97. <input class="form-control" type="text" name="title" placeholder="" value=""/>
  98. </div>
  99. </div>
  100. <div class="col-xs-12 col-sm-6 col-md-3">
  101. <div class="form-group">
  102. <label class="control-label">{:__('Type')}</label>
  103. <input class="operate" type="hidden" data-name="type" value="="/>
  104. <input class="form-control" type="text" name="type" placeholder="all" value=""/>
  105. </div>
  106. </div>
  107. <div class="col-xs-12 col-sm-6 col-md-3">
  108. <div class="form-group">
  109. <label class="control-label">{:__('Category')}</label>
  110. <input type="hidden" class="operate" data-name="category_id" value="="/>
  111. <input class="form-control" name="category_id" type="text" value="">
  112. </div>
  113. </div>
  114. <div class="col-xs-12 col-sm-6 col-md-3">
  115. <div class="form-group">
  116. <label class="control-label">{:__('Version')}</label>
  117. <input type="hidden" class="operate" data-name="faversion" value="="/>
  118. <input class="form-control" name="faversion" type="text" value="{$config.fastadmin.version}">
  119. </div>
  120. </div>
  121. <div class="col-xs-12 col-sm-6 col-md-3">
  122. <div class="form-group">
  123. <label class="control-label"></label>
  124. <div class="row">
  125. <div class="col-xs-6">
  126. <input type="submit" class="btn btn-success btn-block" value="{:__('Submit')}"/>
  127. </div>
  128. <div class="col-xs-6">
  129. <input type="reset" class="btn btn-primary btn-block" value="{:__('Reset')}"/>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. </form>
  137. </script>
  138. <script id="logintpl" type="text/html">
  139. <div>
  140. <form class="form-horizontal">
  141. <fieldset>
  142. <div class="alert alert-dismissable alert-danger">
  143. <button type="button" class="close" data-dismiss="alert">×</button>
  144. <strong>{:__('Warning')}</strong><br/>{:__('Login tips')}
  145. </div>
  146. <div class="form-group">
  147. <label for="inputAccount" class="col-lg-3 control-label">{:__('Username')}</label>
  148. <div class="col-lg-9">
  149. <input type="text" class="form-control" id="inputAccount" value=""
  150. placeholder="{:__('Your username or email')}">
  151. </div>
  152. </div>
  153. <div class="form-group">
  154. <label for="inputPassword" class="col-lg-3 control-label">{:__('Password')}</label>
  155. <div class="col-lg-9">
  156. <input type="password" class="form-control" id="inputPassword" value=""
  157. placeholder="{:__('Your password')}">
  158. </div>
  159. </div>
  160. </fieldset>
  161. </form>
  162. </div>
  163. </script>
  164. <script id="userinfotpl" type="text/html">
  165. <div>
  166. <form class="form-horizontal">
  167. <fieldset>
  168. <div class="alert alert-dismissable alert-success">
  169. <button type="button" class="close" data-dismiss="alert">×</button>
  170. <strong>{:__('Warning')}</strong><br/>{:__('Logined tips', '<%=username%>')}
  171. </div>
  172. </fieldset>
  173. </form>
  174. </div>
  175. </script>
  176. <script id="paytpl" type="text/html">
  177. <div class="payimg" style="background:url('<%=payimg%>') 0 0 no-repeat;background-size:cover;">
  178. <%if(paycode){%>
  179. <div class="alipaycode">
  180. <%=paycode%>
  181. </div>
  182. <div class="wechatcode">
  183. <%=paycode%>
  184. </div>
  185. <%}%>
  186. </div>
  187. </script>
  188. <script id="conflicttpl" type="text/html">
  189. <div class="alert alert-dismissable alert-danger">
  190. <button type="button" class="close" data-dismiss="alert">×</button>
  191. <strong>{:__('Warning')}</strong> {:__('Conflict tips')}
  192. </div>
  193. <table class="table table-striped">
  194. <thead>
  195. <tr>
  196. <th>#</th>
  197. <th>{:__('File')}</th>
  198. </tr>
  199. </thead>
  200. <tbody>
  201. <%for(var i=0;i < conflictlist.length;i++){%>
  202. <tr>
  203. <th scope="row"><%=i+1%></th>
  204. <td><%=conflictlist[i]%></td>
  205. </tr>
  206. <%}%>
  207. </tbody>
  208. </table>
  209. </script>
  210. <script id="operatetpl" type="text/html">
  211. <% var labelarr = ['primary', 'success', 'info', 'danger', 'warning']; %>
  212. <% var label = labelarr[item.id % 5]; %>
  213. <% var addon = item.addon; %>
  214. <div class="operate" data-id="<%=item.id%>" data-name="<%=item.name%>">
  215. <% if(!addon){ %>
  216. <% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
  217. <span class="btn-group">
  218. <a href="javascript:;" class="btn btn-xs btn-primary btn-success btn-install"
  219. data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>"
  220. data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
  221. <a class="btn btn-xs btn-success dropdown-toggle" data-toggle="dropdown" href="javascript:;">
  222. <span class="fa fa-caret-down"></span>
  223. </a>
  224. <ul class="dropdown-menu">
  225. <% for(var j=0;j< item.releaselist.length;j++){ %>
  226. <li><a href="javascript:;" class="btn-install" data-type="<%=item.price<=0?'free':'price';%>"
  227. data-donateimage="<%=item.donateimage%>"
  228. data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
  229. <% } %>
  230. </ul>
  231. </span>
  232. <% }else{%>
  233. <a href="javascript:;" class="btn btn-xs btn-primary btn-success btn-install"
  234. data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>"
  235. data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
  236. <% } %>
  237. <% if(item.demourl){ %>
  238. <a href="<%=item.demourl%>" class="btn btn-xs btn-primary btn-info btn-demo" target="_blank">
  239. <i class="fa fa-flash"></i> {:__('Demo')}
  240. </a>
  241. <% } %>
  242. <% } else {%>
  243. <% if(addon.version!=item.version){%>
  244. <% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
  245. <span class="btn-group">
  246. <a href="javascript:;" class="btn btn-xs btn-info btn-success btn-upgrade"
  247. data-version="<%=item.version%>"><i class="fa fa-cloud"></i> {:__('Upgrade')}</a>
  248. <a class="btn btn-xs btn-info dropdown-toggle" data-toggle="dropdown"
  249. href="javascript:;">
  250. <span class="fa fa-caret-down"></span>
  251. </a>
  252. <ul class="dropdown-menu">
  253. <% for(var j=0;j< item.releaselist.length;j++){ %>
  254. <li><a href="javascript:;" class="btn-upgrade"
  255. data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
  256. <% } %>
  257. </ul>
  258. </span>
  259. <% }else{%>
  260. <a href="javascript:;" class="btn btn-xs btn-info btn-upgrade" data-version="<%=item.version%>"><i
  261. class="fa fa-cloud"></i> {:__('Upgrade')}</a>
  262. <% }%>
  263. <% }%>
  264. <% if(addon.config){ %>
  265. <a href="javascript:;" class="btn btn-xs btn-primary btn-config"><i class="fa fa-pencil"></i>
  266. {:__('Setting')}</a>
  267. <% } %>
  268. <a href="javascript:;" class="btn btn-xs btn-danger btn-uninstall"><i class="fa fa-times"></i>
  269. {:__('Uninstall')}</a>
  270. <% } %>
  271. </div>
  272. </script>