lists.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. {layout name="layout1" /}
  2. <div class="wrapper">
  3. <div class="layui-card layui-form">
  4. <div class="layui-card-body">
  5. <div class="layui-collapse like-layui-collapse" style="border:1px dashed #c4c4c4">
  6. <div class="layui-colla-item">
  7. <h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">温馨提示:</h2>
  8. <div class="layui-colla-content layui-show">
  9. <p>1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。</p>
  10. <p>2.请勿随意切换存储方式,可能导致图片无法查看。</p>
  11. <p>3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。</p>
  12. <p>4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。</p>
  13. </div>
  14. </div>
  15. </div>
  16. </div>
  17. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  18. <h1 class="site-h1">上传设置</h1>
  19. </div>
  20. <div class="layui-card-body" id="card-body">
  21. <table id="storage-lists" lay-filter="storage-lists"></table>
  22. <script type="text/html" id="table-status">
  23. <input type="checkbox" lay-filter="switch-status" data-engine='{{d.engine}}' lay-skin="switch"
  24. lay-text="是|否" {{# if(d.status){ }} checked {{# } }} />
  25. </script>
  26. <script type="text/html" id="operation">
  27. <a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">配置</a>
  28. </script>
  29. </div>
  30. </div>
  31. </div>
  32. <script>
  33. layui.use(['table','form'], function(){
  34. var $ = layui.$
  35. ,form = layui.form
  36. ,table = layui.table;
  37. like.tableLists('#storage-lists', '{:url("setting.StorageConfig/lists")}', [
  38. {field: 'name', width: 150, title: '存储方式'}
  39. ,{field: 'path', width: 320, title: '存储位置'}
  40. ,{field: 'status', title: '状态', width: 100, templet: '#table-status', align: 'center'}
  41. ,{fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#operation'}
  42. ],{}, false);
  43. table.on('tool(storage-lists)', function(obj){
  44. if(obj.event === 'edit'){
  45. layer.open({
  46. type: 2
  47. ,title: '编辑' + obj.data.name
  48. ,content: '{:url("setting.StorageConfig/edit")}?engine=' + obj.data.engine
  49. ,area: ['90%', '90%']
  50. ,btn: ['确定', '取消']
  51. ,yes: function(index, layero){
  52. var iframeWindow = window['layui-layer-iframe'+ index];
  53. var submit = layero.find('iframe').contents().find('#addSubmit');
  54. //监听提交
  55. iframeWindow.layui.form.on('submit(addSubmit)', function(data){
  56. var field = data.field;
  57. if (field['engine'] === 'local') {
  58. layer.close(index);
  59. return true;
  60. }
  61. like.ajax({
  62. url:'{:url("setting.StorageConfig/edit")}',
  63. data:field,
  64. type:"post",
  65. success:function(res) {
  66. if(res.code === 1) {
  67. layui.layer.msg(res.msg, {
  68. offset: '15px'
  69. , icon: 1
  70. , time: 1000
  71. });
  72. layer.close(index);
  73. table.reload('storage-lists');
  74. }
  75. }
  76. });
  77. });
  78. submit.trigger('click');
  79. }
  80. })
  81. }
  82. });
  83. form.on('switch(switch-status)',function (obj) {
  84. var engine = obj.elem.attributes['data-engine'].nodeValue;
  85. if(!this.checked) {
  86. engine = '';
  87. layer.confirm('您确定要停用吗?停用后请尽快开启其他存储方式', {
  88. btn: ['确定','取消']
  89. }, function(){
  90. like.ajax({
  91. url: '{:url("setting.StorageConfig/changeEngine")}',
  92. data: {engine: engine},
  93. type: 'post',
  94. dataType: 'json',
  95. success: function (res) {
  96. if (res.code === 1) {
  97. layui.layer.msg(res.msg, {
  98. offset: '15px'
  99. , icon: 1
  100. , time: 1000
  101. });
  102. table.reload('storage-lists');
  103. }
  104. }
  105. })
  106. }, function(){
  107. table.reload('storage-lists');
  108. });
  109. } else {
  110. like.ajax({
  111. url: '{:url("setting.StorageConfig/changeEngine")}',
  112. data: {engine: engine},
  113. type: 'post',
  114. dataType: 'json',
  115. success: function (res) {
  116. if (res.code === 1) {
  117. layui.layer.msg(res.msg, {
  118. offset: '15px'
  119. , icon: 1
  120. , time: 1000
  121. });
  122. table.reload('storage-lists');
  123. }
  124. }
  125. })
  126. }
  127. })
  128. });
  129. </script>