index.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. {extend name="public/layout"/} {block name="title"}app设置{/block} {block name="body"}
  2. <link rel="stylesheet" href="__STATIC__/css/csspc.css">
  3. <link rel="stylesheet" href="__STATIC__/css/font.css">
  4. <style>
  5. * {
  6. box-sizing: initial;
  7. }
  8. .font16 {
  9. font-size: 16px !important;
  10. }
  11. html {
  12. min-width: 1100px;
  13. margin: 0 auto;
  14. width: 100%;
  15. height: 98%;
  16. }
  17. body {
  18. background: #EEEEEE;
  19. height: 98%;
  20. width: 100%;
  21. color: #333;
  22. font-size: 14px !important;
  23. overflow: hidden;
  24. }
  25. .layui-fluid {
  26. display: block;
  27. box-shadow: 0 0 4px 0 #B6CADE;
  28. border-radius: 5px;
  29. margin: 15px;
  30. background-color: #ffffff;
  31. }
  32. .layui-card {
  33. background: #fff;
  34. }
  35. .rst_box_top {
  36. background: #fff;
  37. padding: 0px 0px 1px;
  38. border-radius: 8px;
  39. }
  40. .mdt20 {
  41. margin-top: 20px;
  42. }
  43. .layui-tab-brief>.layui-tab-more li.layui-this:after,
  44. .layui-tab-brief>.layui-tab-title .layui-this:after {
  45. border-bottom: 4px solid #28A1FF !important;
  46. }
  47. .layadmin-iframe {
  48. position: initial;
  49. }
  50. /* .layui-border-box{margin-top:20px !important;} */
  51. .layui-btn-xs,
  52. .layui-btn-xs:hover {
  53. border: 1px solid #249EFB;
  54. background-color: #fff;
  55. color: #249EFB;
  56. padding: 0px 10px;
  57. }
  58. input {
  59. font-size: 14px !important;
  60. }
  61. .layui-btn-danger {
  62. color: #ff5722 !important;
  63. border: 1px solid #ff5722 !important;
  64. }
  65. .layui-tab-item .layui-form-label {
  66. float: none;
  67. width: auto;
  68. padding: 0;
  69. text-align: left;
  70. padding-left: 10px;
  71. border-left: 6px solid #333;
  72. border-radius: 2px;
  73. }
  74. .layui-tab-item .layui-input-block {
  75. margin: 10px 0 0 15px;
  76. }
  77. .layui-btn-primary {
  78. color: #249efb;
  79. border: 1px solid #249efb;
  80. }
  81. .layui-btn-primary:hover {
  82. background-color: #E3F7FF;
  83. color: #249EFB;
  84. }
  85. .xxx {
  86. font-size: 16px;
  87. cursor: pointer;
  88. width: 16px;
  89. vertical-align: -8%;
  90. margin-left: 5px
  91. }
  92. #courtom .layui-btn {
  93. margin: 10px 10px 0 0 !important;
  94. }
  95. .custom {
  96. border: 1px solid #999;
  97. background: #f7f7f7;
  98. color: #999;
  99. }
  100. #addpackage {
  101. margin: 20px 20px 0px 0px;
  102. display: none;
  103. }
  104. .layui-card {
  105. box-shadow: none !important;
  106. }
  107. .layui-tab-content {
  108. overflow-y: auto;
  109. }
  110. /*里面的代码可以根据自己需求去进行更改*/
  111. /* 设置滚动条的样式 */
  112. ::-webkit-scrollbar {
  113. width: 12px;
  114. }
  115. /* 滚动槽 */
  116. ::-webkit-scrollbar-track {
  117. -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.3);
  118. border-radius: 10px;
  119. }
  120. /* 滚动条滑块 */
  121. ::-webkit-scrollbar-thumb {
  122. border-radius: 10px;
  123. background: rgba(0, 0, 0, 0.1);
  124. -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
  125. }
  126. ::-webkit-scrollbar-thumb:window-inactive {
  127. background: rgba(255, 0, 0, 0.4);
  128. }
  129. .overflowHidden {
  130. overflow: hidden;
  131. }
  132. .flex {
  133. display: flex;
  134. align-items: center;
  135. }
  136. .layui-form-switch {
  137. margin-top: 0px;
  138. }
  139. .layui-card .layui-tab-brief .layui-tab-content{padding:0 !important;}
  140. </style>
  141. <body>
  142. <div class="layui-fluid">
  143. <div class="layui-card">
  144. <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
  145. <ul class="layui-tab-title rst_box_top ">
  146. <li data-type="1" class="layui-this font14">系统设置</li>
  147. <li data-type="2" class="font14 layui-tjbtn">苹果设置</li>
  148. <li data-type="3" class="font14 layui-tjbtn">安卓设置</li>
  149. </ul>
  150. <div class="layui-tab-content overflowHidden">
  151. <div class="layui-tab-item layui-show" style="height:85vh;">
  152. <div class="layui-form-item">
  153. <label class="layui-form-label">vr图片大小(字节)</label>
  154. <div class="layui-input-block">
  155. <input type="text" value='{$data.size}' name="size" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  156. </div>
  157. </div>
  158. <div class="layui-form-item">
  159. <label class="layui-form-label">vr图片尺寸 (K)</label>
  160. <div class="layui-input-block">
  161. <input type="text" value='{$data.measurement}' name="measurement" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  162. </div>
  163. </div>
  164. <div class="layui-form-item">
  165. <label class="layui-form-label">OSSAccessKey</label>
  166. <div class="layui-input-block">
  167. <input type="text" value='{$data.accesskey}' name="accesskey" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  168. </div>
  169. </div>
  170. <div class="layui-form-item">
  171. <label class="layui-form-label">OSSSecretKey</label>
  172. <div class="layui-input-block">
  173. <input type="text" value='{$data.secretkey}' name="secretkey" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  174. </div>
  175. </div>
  176. <div class="layui-form-item">
  177. <label class="layui-form-label">OSSEndPoint</label>
  178. <div class="layui-input-block">
  179. <input type="text" value='{$data.endpoint}' name="endpoint" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  180. </div>
  181. </div>
  182. <div class="layui-form-item">
  183. <label class="layui-form-label">OSSBucket</label>
  184. <div class="layui-input-block">
  185. <input type="text" value='{$data.bucket}' name="bucket" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  186. </div>
  187. </div>
  188. <div class="layui-form-item">
  189. <label class="layui-form-label">OSSDomain</label>
  190. <div class="layui-input-block">
  191. <input type="text" value='{$data.url}' name="url" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  192. </div>
  193. </div>
  194. <div class="layui-form-item">
  195. <div class="layui-input-block">
  196. <button class="layui-btn save1" lay-submit lay-filter="formDemo">立即提交</button>
  197. </div>
  198. </div>
  199. </div>
  200. <div class="layui-tab-item layui-form" style="height:85vh;">
  201. <div class="layui-form-item">
  202. <label class="layui-form-label">版本号</label>
  203. <div class="layui-input-block">
  204. <input type="text" value='{$data.version}' name="version" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  205. </div>
  206. </div>
  207. <div class="layui-form-item">
  208. <label class="layui-form-label">下载地址</label>
  209. <div class="layui-input-block">
  210. <input type="text" value='{$data.appUrl}' name="appUrl" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  211. </div>
  212. </div>
  213. <div class="layui-form-item">
  214. <label class="layui-form-label">更新内容</label>
  215. <div class="layui-input-block">
  216. <input type="text" value='{$data.content}' name="content" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  217. </div>
  218. </div>
  219. <div class="layui-form-item">
  220. <label class="layui-form-label">是强制更新</label>
  221. <div class="layui-input-block">
  222. <input type="text" value='{$data.updateType}' name="updateType" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  223. </div>
  224. </div>
  225. <div class="layui-form-item">
  226. <div class="layui-input-block">
  227. <button class="layui-btn save2" lay-submit lay-filter="formDemo">立即提交</button>
  228. </div>
  229. </div>
  230. </div>
  231. <div class="layui-tab-item layui-form" style="height:85vh;">
  232. <div class="layui-form-item">
  233. <label class="layui-form-label">版本号</label>
  234. <div class="layui-input-block">
  235. <input type="text" value='{$data.android_version}' name="android_version" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  236. </div>
  237. </div>
  238. <div class="layui-form-item">
  239. <label class="layui-form-label">下载地址</label>
  240. <div class="layui-input-block">
  241. <input type="text" value='{$data.android_appUrl}' name="android_appUrl" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  242. </div>
  243. </div>
  244. <div class="layui-form-item">
  245. <label class="layui-form-label">更新内容</label>
  246. <div class="layui-input-block">
  247. <input type="text" value='{$data.android_content}' name="android_content" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  248. </div>
  249. </div>
  250. <div class="layui-form-item">
  251. <label class="layui-form-label">是强制更新</label>
  252. <div class="layui-input-block">
  253. <input type="text" value='{$data.android_updateType}' name="android_updateType" required lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
  254. </div>
  255. </div>
  256. <div class="layui-form-item">
  257. <div class="layui-input-block">
  258. <button class="layui-btn save3" lay-submit lay-filter="formDemo">立即提交</button>
  259. </div>
  260. </div>
  261. </div>
  262. </div>
  263. </div>
  264. </div>
  265. </div>
  266. </body>
  267. {/block} {block name="js"}
  268. <script type="text/javascript">
  269. //转化正整数
  270. function zhzs(value) {
  271. value = value.replace(/[^\d]/g, '');
  272. if ('' != value) {
  273. value = parseInt(value);
  274. }
  275. return value;
  276. }
  277. function RegularInt(obj) {
  278. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字以外的字符
  279. obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
  280. if (obj.value == 0) {
  281. obj.value = 1;
  282. }
  283. }
  284. </script>
  285. <script>
  286. layui.config({
  287. base: '__LAYUI__/',
  288. urlbase: '/sys'
  289. }).extend({
  290. index: 'lib/index' //主入口模块
  291. }).use(['index', 'form', 'layedit', 'element', 'upload', 'table'], function () {
  292. var form = layui.form,
  293. upload = layui.upload,
  294. element = layui.element,
  295. layedit = layui.layedit;
  296. table = layui.table;
  297. $ = layui.jquery;
  298. //选项卡
  299. element.on('tab(docDemoTabBrief)', function (data) {
  300. if (data.index == 1) {
  301. } else if (data.index == 2) {
  302. } else if (data.index == 3) {
  303. }
  304. });
  305. $('.save1').click(function(){
  306. var size = $("input[name='size']").val();
  307. if (size=='') {
  308. layer.msg('请填写', {
  309. anim: 6
  310. , time: 2000
  311. });
  312. return false;
  313. }
  314. var measurement = $("input[name='measurement']").val();
  315. if (measurement=='') {
  316. layer.msg('请填写', {
  317. anim: 6
  318. , time: 2000
  319. });
  320. return false;
  321. }
  322. var accesskey = $("input[name='accesskey']").val();
  323. if (accesskey=='') {
  324. layer.msg('请填写', {
  325. anim: 6
  326. , time: 2000
  327. });
  328. return false;
  329. }
  330. var secretkey = $("input[name='secretkey']").val();
  331. if (secretkey=='') {
  332. layer.msg('请填写', {
  333. anim: 6
  334. , time: 2000
  335. });
  336. return false;
  337. }
  338. var endpoint = $("input[name='endpoint']").val();
  339. if (endpoint=='') {
  340. layer.msg('请填写', {
  341. anim: 6
  342. , time: 2000
  343. });
  344. return false;
  345. }
  346. var bucket = $("input[name='bucket']").val();
  347. if (bucket=='') {
  348. layer.msg('请填写', {
  349. anim: 6
  350. , time: 2000
  351. });
  352. return false;
  353. }
  354. var url = $("input[name='url']").val();
  355. if (url=='') {
  356. layer.msg('请填写', {
  357. anim: 6
  358. , time: 2000
  359. });
  360. return false;
  361. }
  362. $.ajax({
  363. url: '{:url("appSetting/updateSystemSetting")}',
  364. type: 'post',
  365. data: {size:size,measurement:measurement,accesskey:accesskey,secretkey:secretkey,endpoint:endpoint,bucket:bucket,url:url},
  366. dataType: 'json',
  367. // processData: false,
  368. // contentType: false,
  369. success: function (res) {
  370. if (res.code === 0) {
  371. layer.msg(res.data, {
  372. anim: 0
  373. , time: 2000
  374. });
  375. } else {
  376. layer.msg(res.msg, {
  377. anim: 6
  378. , time: 2000
  379. });
  380. }
  381. }
  382. });
  383. });
  384. $('.save2').click(function(){
  385. var version = $("input[name='version']").val();
  386. if (version=='') {
  387. layer.msg('请填写', {
  388. anim: 6
  389. , time: 2000
  390. });
  391. return false;
  392. }
  393. var appUrl = $("input[name='appUrl']").val();
  394. if (appUrl=='') {
  395. layer.msg('请填写', {
  396. anim: 6
  397. , time: 2000
  398. });
  399. return false;
  400. }
  401. var content = $("input[name='content']").val();
  402. if (content=='') {
  403. layer.msg('请填写', {
  404. anim: 6
  405. , time: 2000
  406. });
  407. return false;
  408. }
  409. var updateType = $("input[name='updateType']").val();
  410. if (updateType=='') {
  411. layer.msg('请填写', {
  412. anim: 6
  413. , time: 2000
  414. });
  415. return false;
  416. }
  417. $.ajax({
  418. url: '{:url("appSetting/updateAppleSetting")}',
  419. type: 'post',
  420. data: {version:version,appUrl:appUrl,content:content,updateType:updateType},
  421. dataType: 'json',
  422. // processData: false,
  423. // contentType: false,
  424. success: function (res) {
  425. if (res.code === 0) {
  426. layer.msg(res.data, {
  427. anim: 0
  428. , time: 2000
  429. });
  430. } else {
  431. layer.msg(res.msg, {
  432. anim: 6
  433. , time: 2000
  434. });
  435. }
  436. }
  437. });
  438. });
  439. $('.save3').click(function(){
  440. var version = $("input[name='android_version']").val();
  441. if (version=='') {
  442. layer.msg('请填写', {
  443. anim: 6
  444. , time: 2000
  445. });
  446. return false;
  447. }
  448. var appUrl = $("input[name='android_appUrl']").val();
  449. if (appUrl=='') {
  450. layer.msg('请填写', {
  451. anim: 6
  452. , time: 2000
  453. });
  454. return false;
  455. }
  456. var content = $("input[name='android_content']").val();
  457. if (content=='') {
  458. layer.msg('请填写', {
  459. anim: 6
  460. , time: 2000
  461. });
  462. return false;
  463. }
  464. var updateType = $("input[name='android_updateType']").val();
  465. if (updateType=='') {
  466. layer.msg('请填写', {
  467. anim: 6
  468. , time: 2000
  469. });
  470. return false;
  471. }
  472. $.ajax({
  473. url: '{:url("appSetting/updateAndroidSetting")}',
  474. type: 'post',
  475. data: {android_version:version,android_appUrl:appUrl,android_content:content,android_updateType:updateType},
  476. dataType: 'json',
  477. // processData: false,
  478. // contentType: false,
  479. success: function (res) {
  480. if (res.code === 0) {
  481. layer.msg(res.data, {
  482. anim: 0
  483. , time: 2000
  484. });
  485. } else {
  486. layer.msg(res.msg, {
  487. anim: 6
  488. , time: 2000
  489. });
  490. }
  491. }
  492. });
  493. });
  494. })
  495. </script>
  496. {/block}