Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

109 lignes
4.9 KiB

  1. <title>版本更新</title>
  2. <div class="layui-card layadmin-header">
  3. <div class="layui-breadcrumb" lay-filter="breadcrumb">
  4. <a lay-href="">主页</a>
  5. <a><cite>版本更新</cite></a>
  6. </div>
  7. </div>
  8. <div class="layui-fluid">
  9. <div class="layui-row layui-col-space15">
  10. <div class="layui-col-md12">
  11. <div class="layui-card">
  12. <div class="layui-card-header">版本更新</div>
  13. <div class="layui-card-body" pad15>
  14. <form class="layui-form" wid100 lay-filter="LAY-info-form">
  15. <div class="layui-fields">
  16. </div>
  17. <div class="layui-submit">
  18. <div class="layui-form-item">
  19. <div class="layui-input-block">
  20. <button class="layui-btn" lay-submit lay-filter="submit" data-type="save">保存
  21. </button>
  22. <button class="layui-btn" lay-submit lay-filter="submit" data-type="update">确认更新
  23. </button>
  24. </div>
  25. </div>
  26. </div>
  27. </form>
  28. </div>
  29. </div>
  30. <blockquote class="layui-elem-quote layui-bg-red" style="border-left-color:red">
  31. 后台升级功能仅可用于小版本内的升级,大版本升级需要手动升级!!!<br>
  32. 如支持4.0.*到4.0.45的升级,但是不支持4.0.45到4.1.0的升级!!!<br>
  33. 大版本升级请参考帮助文档自助升级或者提交工单。
  34. </blockquote>
  35. </div>
  36. </div>
  37. </div>
  38. <script>
  39. var config;
  40. config = {
  41. api: {
  42. submit: '/manage/system/tool/update.json'
  43. },
  44. done: function () {
  45. config.loadEditData();
  46. },
  47. submit: function (obj) {
  48. layui.admin.req({
  49. url: config.api.submit,
  50. data: Object.assign({action: layui.$(obj.elem).data('type')}, obj.field),
  51. method: 'POST',
  52. success: function (res) {
  53. if (layui.$(obj.elem).data('type') === 'update') {
  54. layui.layer.open({
  55. type: 1,
  56. // title: '执行脚本',
  57. shadeClose: false,
  58. shade: false,
  59. maxmin: true,
  60. area: ['893px', '600px'],
  61. content: '',
  62. success: function (layero, index) {
  63. interval = setInterval(function () {
  64. layui.admin.req({
  65. url: config.api.submit,
  66. method: 'POST',
  67. data: {
  68. action: 'log',
  69. name: res.data.log
  70. },
  71. success: function (res) {
  72. if (res.data.content.search('<!-- end -->') >= 0) {
  73. clearInterval(interval);
  74. interval = null;
  75. }
  76. layero.find('.layui-layer-content').html(res.data.content)[0].scroll(0, 999999);
  77. }
  78. });
  79. }, 1000);
  80. if (parseInt(obj.field.interval) > 0) {
  81. setTimeout(function () {
  82. clearInterval(interval);
  83. interval = null;
  84. }, parseInt(obj.field.interval) * 1000)
  85. }
  86. },
  87. end: function () {
  88. if (interval !== null) clearInterval(interval);
  89. }
  90. });
  91. } else {
  92. layui.admin.tip('操作成功');
  93. }
  94. return false;
  95. }
  96. });
  97. return false;
  98. },
  99. fields: [
  100. {name: '用户名', key: 'username', type: 'text', intro: '请输入您在官网的用户名'},
  101. {name: 'APP Secret', key: 'app_secret', type: 'text', intro: "请注意保密"},
  102. {name: '数据库迁移', key: 'migrate', type: 'switch', extra: '执行|不执行', value: 1, intro: ''},
  103. ],
  104. };
  105. layui.use('curd/addOrEdit', layui.factory('curd/addOrEdit'));
  106. </script>