oss.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../sys/oss/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'id', name: 'id', key: true, hidden: true},
  7. {label: 'URL地址', name: 'url', width: 660},
  8. {
  9. label: '创建时间', name: 'createDate', width: 160,align: 'center', formatter: function (value) {
  10. return transDate(value);
  11. }
  12. }
  13. ],
  14. viewrecords: true,
  15. height: 550,
  16. rowNum: 10,
  17. rowList: [10, 30, 50],
  18. rownumbers: true,
  19. rownumWidth: 25,
  20. autowidth: true,
  21. shrinkToFit: false,
  22. autoScroll: true, //开启水平滚动条
  23. width: 1500,
  24. multiselect: true,
  25. pager: "#jqGridPager",
  26. jsonReader: {
  27. root: "page.list",
  28. page: "page.currPage",
  29. total: "page.totalPage",
  30. records: "page.totalCount"
  31. },
  32. prmNames: {
  33. page: "page",
  34. rows: "limit",
  35. order: "order"
  36. },
  37. gridComplete: function () {
  38. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  39. }
  40. });
  41. new AjaxUpload('#upload', {
  42. action: '../sys/oss/upload',
  43. name: 'file',
  44. autoSubmit: true,
  45. responseType: "json",
  46. onSubmit: function (file, extension) {
  47. if (vm.config.type == null) {
  48. alert("云存储配置未配置");
  49. return false;
  50. }
  51. if (!(extension && /^(jpg|jpeg|png|gif)$/.test(extension.toLowerCase()))) {
  52. alert('只支持jpg、png、gif格式的图片!');
  53. return false;
  54. }
  55. },
  56. onComplete: function (file, r) {
  57. if (r.code == 0) {
  58. alert(r.url);
  59. vm.reload();
  60. } else {
  61. alert(r.msg);
  62. }
  63. }
  64. });
  65. });
  66. var vm = new Vue({
  67. el: '#rrapp',
  68. data: {
  69. showList: true,
  70. title: null,
  71. config: {},
  72. aliRuleValidate: {
  73. aliyunDomain: [
  74. {required: true, message: '阿里云绑定的域名不能为空', trigger: 'blur'}
  75. ],
  76. aliyunAccessKeyId: [
  77. {required: true, message: '阿里云AccessKeyId不能为空', trigger: 'blur'}
  78. ],
  79. aliyunAccessKeySecret: [
  80. {required: true, message: '阿里云AccessKeySecret不能为空', trigger: 'blur'}
  81. ],
  82. aliyunBucketName: [
  83. {required: true, message: '阿里云BucketName不能为空', trigger: 'blur'}
  84. ]
  85. },
  86. qcloudRuleValidate: {
  87. qcloudDomain: [
  88. {required: true, message: '腾讯云绑定的域名不能为空', trigger: 'blur'}
  89. ],
  90. qcloudAppId: [
  91. {required: true, message: '腾讯云AppId不能为空', trigger: 'blur'}
  92. ],
  93. qcloudSecretId: [
  94. {required: true, message: '腾讯云SecretId不能为空', trigger: 'blur'}
  95. ],
  96. qcloudSecretKey: [
  97. {required: true, message: '腾讯云SecretKey不能为空', trigger: 'blur'}
  98. ],
  99. qcloudBucketName: [
  100. {required: true, message: '腾讯云BucketName不能为空', trigger: 'blur'}
  101. ],
  102. qcloudRegion: [
  103. {required: true, message: 'Bucket所属地区不能为空', trigger: 'blur'}
  104. ]
  105. }
  106. },
  107. created: function () {
  108. this.getConfig();
  109. },
  110. methods: {
  111. query: function () {
  112. vm.reload();
  113. },
  114. getConfig: function () {
  115. $.getJSON("../sys/oss/config", function (r) {
  116. vm.config = r.config;
  117. });
  118. },
  119. addConfig: function () {
  120. vm.showList = false;
  121. vm.title = "云存储配置";
  122. },
  123. saveOrUpdate: function () {
  124. var url = "../sys/oss/saveConfig";
  125. $.ajax({
  126. type: "POST",
  127. url: url,
  128. contentType: "application/json",
  129. data: JSON.stringify(vm.config),
  130. success: function (r) {
  131. if (r.code === 0) {
  132. alert('操作成功', function () {
  133. vm.reload();
  134. });
  135. } else {
  136. alert(r.msg);
  137. }
  138. }
  139. });
  140. },
  141. del: function () {
  142. var ossIds = getSelectedRows();
  143. if (ossIds == null) {
  144. return;
  145. }
  146. confirm('确定要删除选中的记录?', function () {
  147. $.ajax({
  148. type: "POST",
  149. url: "../sys/oss/delete",
  150. contentType: "application/json",
  151. data: JSON.stringify(ossIds),
  152. success: function (r) {
  153. if (r.code === 0) {
  154. alert('操作成功', function () {
  155. vm.reload();
  156. });
  157. } else {
  158. alert(r.msg);
  159. }
  160. }
  161. });
  162. });
  163. },
  164. lookImg: function () {
  165. var grid = $("#jqGrid");
  166. var id = grid.jqGrid('getGridParam', 'selrow');//根据点击行获得点击行的id(id为jsonReader: {id: "id" },)
  167. if (!id) {
  168. alert("请选择一条记录");
  169. return;
  170. }
  171. var ids = grid.jqGrid('getGridParam', 'selarrrow');
  172. var data = [];
  173. for (var i = 0; i < ids.length; i++) {
  174. id = ids[i];
  175. var rowData = grid.jqGrid("getRowData", id);
  176. var url = rowData.url;
  177. data.push({"src": url});
  178. }
  179. eyeImages(data);
  180. },
  181. reload: function () {
  182. vm.showList = true;
  183. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  184. $("#jqGrid").jqGrid('setGridParam', {
  185. page: page
  186. }).trigger("reloadGrid");
  187. },
  188. handleSubmit: function (name) {
  189. handleSubmitValidate(this, name, function () {
  190. vm.saveOrUpdate()
  191. });
  192. },
  193. handleReset: function (name) {
  194. handleResetForm(this, name);
  195. }
  196. }
  197. });