@netang/quasar 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/.editorconfig +12 -12
  2. package/_docs/docs/components/field-table.md +58 -58
  3. package/_docs/docs/components/field-tree.md +21 -21
  4. package/_docs/docs/components/table.md +24 -24
  5. package/_docs/docs/utils/table.md +196 -196
  6. package/components/column-title/index.vue +38 -38
  7. package/components/dialog/img-viewer/index.vue +657 -657
  8. package/components/dialog/index.vue +373 -373
  9. package/components/drawer/index.vue +303 -303
  10. package/components/editor-code/index.vue +325 -325
  11. package/components/empty/index.vue +80 -80
  12. package/components/field-date/index.vue +850 -850
  13. package/components/field-table/index.vue +33 -11
  14. package/components/field-tree/index.vue +754 -754
  15. package/components/img/index.vue +239 -239
  16. package/components/input-number/index.vue +547 -547
  17. package/components/mixed-table/index.vue +532 -532
  18. package/components/mixed-table-splitter/index.vue +377 -377
  19. package/components/power-page/index.vue +94 -94
  20. package/components/private/components/move-to-tree/index.vue +154 -154
  21. package/components/private/edit-power-data/index.vue +846 -846
  22. package/components/private/table-visible-columns-button/index.vue +114 -114
  23. package/components/render/index.vue +123 -123
  24. package/components/search/index.vue +231 -231
  25. package/components/search-item/index.vue +210 -210
  26. package/components/select/index.vue +177 -177
  27. package/components/splitter/index.vue +422 -422
  28. package/components/table/index.vue +513 -513
  29. package/components/table-column-fixed/index.vue +110 -110
  30. package/components/table-summary/index.vue +107 -107
  31. package/components/toolbar/index.vue +146 -146
  32. package/components/tree/index.vue +1728 -1728
  33. package/components/uploader/index.vue +190 -190
  34. package/components/uploader-query/index.vue +928 -928
  35. package/docs/404.html +33 -33
  36. package/docs/assets/404.html-60b35caa.js +1 -1
  37. package/docs/assets/404.html-d1e63d77.js +1 -1
  38. package/docs/assets/alert.html-b2a2a72f.js +5 -5
  39. package/docs/assets/alert.html-ba46d137.js +1 -1
  40. package/docs/assets/app-9f30aa4b.js +6 -6
  41. package/docs/assets/area.html-01b9b58d.js +42 -42
  42. package/docs/assets/area.html-9a4fce6a.js +1 -1
  43. package/docs/assets/arr.html-145d27e7.js +1 -1
  44. package/docs/assets/arr.html-674e65ab.js +11 -11
  45. package/docs/assets/auth.html-579fa830.js +1 -1
  46. package/docs/assets/auth.html-8544ed95.js +8 -8
  47. package/docs/assets/bus.html-c71254aa.js +1 -1
  48. package/docs/assets/bus.html-dc7d3d19.js +6 -6
  49. package/docs/assets/column-title.html-c735cb5a.js +3 -3
  50. package/docs/assets/column-title.html-e9316762.js +1 -1
  51. package/docs/assets/confirm.html-ddfdc27f.js +10 -10
  52. package/docs/assets/confirm.html-ef3e2bef.js +1 -1
  53. package/docs/assets/copy.html-d20345b6.js +1 -1
  54. package/docs/assets/copy.html-ef8c8571.js +13 -13
  55. package/docs/assets/data.html-6432175d.js +30 -30
  56. package/docs/assets/data.html-a3b05d5b.js +1 -1
  57. package/docs/assets/dialog.html-1f698e5a.js +1 -1
  58. package/docs/assets/dialog.html-62902b83.js +68 -68
  59. package/docs/assets/dialog.html-baea77c9.js +1 -1
  60. package/docs/assets/dialog.html-bb082fc4.js +1 -1
  61. package/docs/assets/dict.html-1311da3d.js +23 -23
  62. package/docs/assets/dict.html-b96fbf0c.js +1 -1
  63. package/docs/assets/dictOptions.html-7c4f40a5.js +1 -1
  64. package/docs/assets/dictOptions.html-fb99d175.js +5 -5
  65. package/docs/assets/dragger.html-668d3efa.js +1 -1
  66. package/docs/assets/dragger.html-749d585a.js +1 -1
  67. package/docs/assets/editor-code.html-6ab26ea9.js +1 -1
  68. package/docs/assets/editor-code.html-d196205d.js +1 -1
  69. package/docs/assets/empty.html-1c139131.js +1 -1
  70. package/docs/assets/empty.html-1e9c441d.js +1 -1
  71. package/docs/assets/field-date.html-069fdb13.js +1 -1
  72. package/docs/assets/field-date.html-ad204aa9.js +1 -1
  73. package/docs/assets/field-table.html-ce480f03.js +1 -1
  74. package/docs/assets/field-table.html-d9236160.js +1 -1
  75. package/docs/assets/field-text.html-7277c62f.js +1 -1
  76. package/docs/assets/field-text.html-ccb4cecf.js +1 -1
  77. package/docs/assets/field-tree.html-519bfb45.js +1 -1
  78. package/docs/assets/field-tree.html-fdc748d6.js +1 -1
  79. package/docs/assets/form.html-2b562c37.js +2 -2
  80. package/docs/assets/form.html-75104cd5.js +1 -1
  81. package/docs/assets/framework-204010b2.js +5 -5
  82. package/docs/assets/getData.html-990e3787.js +1 -1
  83. package/docs/assets/getData.html-bb72025f.js +34 -34
  84. package/docs/assets/getFile.html-42368004.js +1 -1
  85. package/docs/assets/getFile.html-99abd054.js +3 -3
  86. package/docs/assets/getImage.html-3429c5a1.js +1 -1
  87. package/docs/assets/getImage.html-4d886d83.js +3 -3
  88. package/docs/assets/getTime.html-7435f922.js +1 -1
  89. package/docs/assets/getTime.html-b37f49eb.js +20 -20
  90. package/docs/assets/img.html-7d1da657.js +1 -1
  91. package/docs/assets/img.html-fbea1105.js +1 -1
  92. package/docs/assets/index.html-1695dd7c.js +1 -1
  93. package/docs/assets/index.html-65a4aa67.js +1 -1
  94. package/docs/assets/index.html-7b98d5bd.js +1 -1
  95. package/docs/assets/index.html-c01f2648.js +1 -1
  96. package/docs/assets/input-number.html-0b250d2a.js +1 -1
  97. package/docs/assets/input-number.html-a8eb0378.js +1 -1
  98. package/docs/assets/list-menu-item.html-7f1b4611.js +1 -1
  99. package/docs/assets/list-menu-item.html-84ed5ab8.js +1 -1
  100. package/docs/assets/list-menu.html-28b4163f.js +1 -1
  101. package/docs/assets/list-menu.html-cb6ba95b.js +1 -1
  102. package/docs/assets/loading.html-dae9e39d.js +6 -6
  103. package/docs/assets/loading.html-dc74c9e6.js +1 -1
  104. package/docs/assets/notify.html-e6c4c514.js +1 -1
  105. package/docs/assets/notify.html-f2c4d914.js +8 -8
  106. package/docs/assets/power-page.html-32e02f82.js +1 -1
  107. package/docs/assets/power-page.html-485e77da.js +1 -1
  108. package/docs/assets/power.html-d258cc19.js +93 -93
  109. package/docs/assets/power.html-e490bd32.js +1 -1
  110. package/docs/assets/previewImage.html-6a6b4245.js +1 -1
  111. package/docs/assets/previewImage.html-c5b7e945.js +2 -2
  112. package/docs/assets/price.html-1882c548.js +19 -19
  113. package/docs/assets/price.html-94d3f5be.js +1 -1
  114. package/docs/assets/price.html-d213df0f.js +1 -1
  115. package/docs/assets/price.html-deaf880f.js +1 -1
  116. package/docs/assets/render.html-8efcbdd4.js +1 -1
  117. package/docs/assets/render.html-df228e38.js +1 -1
  118. package/docs/assets/rule.html-2cd57fc2.js +13 -13
  119. package/docs/assets/rule.html-61662001.js +1 -1
  120. package/docs/assets/ruleValid.html-04fe2552.js +1 -1
  121. package/docs/assets/ruleValid.html-e0a776af.js +14 -14
  122. package/docs/assets/search-0782d0d1.svg +1 -1
  123. package/docs/assets/search-item.html-3f75394c.js +1 -1
  124. package/docs/assets/search-item.html-4e942ecd.js +1 -1
  125. package/docs/assets/search.html-2807043e.js +1 -1
  126. package/docs/assets/search.html-c24f8806.js +1 -1
  127. package/docs/assets/select.html-00d0607c.js +1 -1
  128. package/docs/assets/select.html-de7731f5.js +1 -1
  129. package/docs/assets/splitter.html-56f51a70.js +1 -1
  130. package/docs/assets/splitter.html-f5c836d7.js +1 -1
  131. package/docs/assets/style-161e43ab.css +1 -1
  132. package/docs/assets/symbols.html-a6aea4bf.js +1 -1
  133. package/docs/assets/symbols.html-b1f65bad.js +21 -21
  134. package/docs/assets/table-column-fixed.html-3a69e7b2.js +1 -1
  135. package/docs/assets/table-column-fixed.html-e763c38b.js +1 -1
  136. package/docs/assets/table-pagination.html-236934d3.js +1 -1
  137. package/docs/assets/table-pagination.html-c37ee2ac.js +1 -1
  138. package/docs/assets/table-splitter.html-07eab15c.js +1 -1
  139. package/docs/assets/table-splitter.html-7670ee65.js +1 -1
  140. package/docs/assets/table-summary.html-04db434f.js +1 -1
  141. package/docs/assets/table-summary.html-943c65a0.js +1 -1
  142. package/docs/assets/table.html-36253ad7.js +1 -1
  143. package/docs/assets/table.html-7f9c5d1b.js +38 -38
  144. package/docs/assets/table.html-93d53dc8.js +1 -1
  145. package/docs/assets/table.html-ac99b9cb.js +1 -1
  146. package/docs/assets/thumbnail.html-bab1976b.js +1 -1
  147. package/docs/assets/thumbnail.html-eb64e5e8.js +1 -1
  148. package/docs/assets/timestamp.html-4e54f79b.js +13 -13
  149. package/docs/assets/timestamp.html-d0e1b88a.js +1 -1
  150. package/docs/assets/toast.html-58ecbe21.js +1 -1
  151. package/docs/assets/toast.html-c9b9d36b.js +6 -6
  152. package/docs/assets/toolbar.html-83d9f97c.js +1 -1
  153. package/docs/assets/toolbar.html-ff7b8c92.js +1 -1
  154. package/docs/assets/tree.html-d07cbe79.js +23 -23
  155. package/docs/assets/tree.html-ea04193e.js +1 -1
  156. package/docs/assets/uploader-query.html-05590718.js +1 -1
  157. package/docs/assets/uploader-query.html-3175bac5.js +1 -1
  158. package/docs/assets/uploader.html-36da4394.js +2 -2
  159. package/docs/assets/uploader.html-6b5f3079.js +1 -1
  160. package/docs/assets/uploader.html-b9340b57.js +1 -1
  161. package/docs/assets/uploader.html-bc1c22e3.js +1 -1
  162. package/docs/assets/value-format.html-8ae3d47d.js +1 -1
  163. package/docs/assets/value-format.html-afa99b3d.js +1 -1
  164. package/docs/components/column-title.html +35 -35
  165. package/docs/components/data.html +62 -62
  166. package/docs/components/dialog.html +33 -33
  167. package/docs/components/dragger.html +33 -33
  168. package/docs/components/editor-code.html +33 -33
  169. package/docs/components/empty.html +33 -33
  170. package/docs/components/field-date.html +33 -33
  171. package/docs/components/field-table.html +33 -33
  172. package/docs/components/field-text.html +33 -33
  173. package/docs/components/field-tree.html +33 -33
  174. package/docs/components/img.html +33 -33
  175. package/docs/components/input-number.html +33 -33
  176. package/docs/components/list-menu-item.html +33 -33
  177. package/docs/components/list-menu.html +33 -33
  178. package/docs/components/power-page.html +33 -33
  179. package/docs/components/price.html +33 -33
  180. package/docs/components/render.html +33 -33
  181. package/docs/components/search-item.html +33 -33
  182. package/docs/components/search.html +33 -33
  183. package/docs/components/select.html +33 -33
  184. package/docs/components/splitter.html +33 -33
  185. package/docs/components/table-column-fixed.html +33 -33
  186. package/docs/components/table-pagination.html +33 -33
  187. package/docs/components/table-splitter.html +33 -33
  188. package/docs/components/table-summary.html +33 -33
  189. package/docs/components/table.html +33 -33
  190. package/docs/components/thumbnail.html +33 -33
  191. package/docs/components/toolbar.html +33 -33
  192. package/docs/components/uploader-query.html +33 -33
  193. package/docs/components/uploader.html +33 -33
  194. package/docs/components/value-format.html +33 -33
  195. package/docs/index.html +33 -33
  196. package/docs/utils/alert.html +37 -37
  197. package/docs/utils/area.html +74 -74
  198. package/docs/utils/arr.html +43 -43
  199. package/docs/utils/auth.html +40 -40
  200. package/docs/utils/bus.html +38 -38
  201. package/docs/utils/confirm.html +42 -42
  202. package/docs/utils/copy.html +45 -45
  203. package/docs/utils/dialog.html +100 -100
  204. package/docs/utils/dict.html +55 -55
  205. package/docs/utils/dictOptions.html +37 -37
  206. package/docs/utils/form.html +34 -34
  207. package/docs/utils/getData.html +66 -66
  208. package/docs/utils/getFile.html +35 -35
  209. package/docs/utils/getImage.html +35 -35
  210. package/docs/utils/getTime.html +52 -52
  211. package/docs/utils/index.html +33 -33
  212. package/docs/utils/loading.html +38 -38
  213. package/docs/utils/notify.html +40 -40
  214. package/docs/utils/power.html +125 -125
  215. package/docs/utils/previewImage.html +34 -34
  216. package/docs/utils/price.html +51 -51
  217. package/docs/utils/rule.html +45 -45
  218. package/docs/utils/ruleValid.html +46 -46
  219. package/docs/utils/symbols.html +53 -53
  220. package/docs/utils/table.html +70 -70
  221. package/docs/utils/timestamp.html +45 -45
  222. package/docs/utils/toast.html +38 -38
  223. package/docs/utils/tree.html +55 -55
  224. package/docs/utils/uploader.html +34 -34
  225. package/package.json +2 -1
  226. package/sass/common.scss +184 -184
  227. package/sass/index.scss +12 -12
  228. package/sass/quasar/field.scss +250 -250
  229. package/sass/quasar/table.scss +168 -168
  230. package/sass/variables.scss +140 -140
  231. package/utils/$form.js +72 -72
  232. package/utils/$power.js +1460 -1460
  233. package/utils/$render.js +75 -75
  234. package/utils/$search.js +416 -416
  235. package/utils/$table.js +1275 -1275
  236. package/utils/config.js +52 -52
  237. package/utils/dialog.js +36 -36
  238. package/utils/dict.js +21 -21
  239. package/utils/getData.js +88 -88
  240. package/utils/getFile.js +62 -62
  241. package/utils/getImage.js +227 -227
  242. package/utils/getTime.js +113 -113
  243. package/utils/index.js +65 -65
  244. package/utils/previewImage.js +14 -14
  245. package/utils/timestamp.js +18 -18
  246. package/utils/useFileUrl.js +26 -26
  247. package/utils/useSearch.js +499 -499
  248. package/utils/useUploader.js +303 -303
package/utils/config.js CHANGED
@@ -1,52 +1,52 @@
1
- import $n_get from 'lodash/get'
2
-
3
- // 用户配置 参数
4
- // userConfig: {
5
- // // api 请求公共数据地址
6
- // apiDataUrl: '',
7
- // // api 文件请求地址
8
- // apiFileUrl: '',
9
- // // api 请求权限标识
10
- // apiDataPowerName: '',
11
- // // 是否开启人民币分转元
12
- // priceCentToYuan: false,
13
- // // 上传器
14
- // uploader: {},
15
- // },
16
-
17
- // 配置
18
- export const configs = {
19
- // 用户配置
20
- userConfig: {},
21
- // 用户字典
22
- userDict: {},
23
- // 字典变量
24
- dicts: {},
25
- // 自定义路由
26
- routers: {},
27
- // 表格配置
28
- tablesConfig: {},
29
- // 对话框组件
30
- dialogComponents: {},
31
- // 格式化上传文件 hash
32
- formatUploadFileHash: null,
33
- // 格式化上传网络链接
34
- formatUploadNet: null,
35
- // 获取文件地址
36
- getFileUrl: null,
37
- }
38
-
39
- /**
40
- * 配置设置
41
- * @param options
42
- */
43
- export function settings(options) {
44
- Object.assign(configs, options)
45
- }
46
-
47
- /**
48
- * 获取配置
49
- */
50
- export default function config(key = '', defaultValue = '') {
51
- return key ? $n_get(configs.userConfig, key, defaultValue) : configs.userConfig
52
- }
1
+ import $n_get from 'lodash/get'
2
+
3
+ // 用户配置 参数
4
+ // userConfig: {
5
+ // // api 请求公共数据地址
6
+ // apiDataUrl: '',
7
+ // // api 文件请求地址
8
+ // apiFileUrl: '',
9
+ // // api 请求权限标识
10
+ // apiDataPowerName: '',
11
+ // // 是否开启人民币分转元
12
+ // priceCentToYuan: false,
13
+ // // 上传器
14
+ // uploader: {},
15
+ // },
16
+
17
+ // 配置
18
+ export const configs = {
19
+ // 用户配置
20
+ userConfig: {},
21
+ // 用户字典
22
+ userDict: {},
23
+ // 字典变量
24
+ dicts: {},
25
+ // 自定义路由
26
+ routers: {},
27
+ // 表格配置
28
+ tablesConfig: {},
29
+ // 对话框组件
30
+ dialogComponents: {},
31
+ // 格式化上传文件 hash
32
+ formatUploadFileHash: null,
33
+ // 格式化上传网络链接
34
+ formatUploadNet: null,
35
+ // 获取文件地址
36
+ getFileUrl: null,
37
+ }
38
+
39
+ /**
40
+ * 配置设置
41
+ * @param options
42
+ */
43
+ export function settings(options) {
44
+ Object.assign(configs, options)
45
+ }
46
+
47
+ /**
48
+ * 获取配置
49
+ */
50
+ export default function config(key = '', defaultValue = '') {
51
+ return key ? $n_get(configs.userConfig, key, defaultValue) : configs.userConfig
52
+ }
package/utils/dialog.js CHANGED
@@ -1,36 +1,36 @@
1
- import $n_has from 'lodash/has'
2
-
3
- import { Dialog } from 'quasar'
4
-
5
- import DialogComponent from '../components/dialog'
6
-
7
- /**
8
- * 创建对话框
9
- */
10
- function create(options) {
11
- if (
12
- // 如果是路由组件
13
- $n_has(options, 'path')
14
- // 或自定义组件
15
- || $n_has(options, 'name')
16
- ) {
17
- return Dialog.create({
18
- // 组件
19
- component: DialogComponent,
20
- // 组件声明
21
- componentProps: options,
22
- })
23
- }
24
-
25
- return Dialog.create(options)
26
- }
27
-
28
- /**
29
- * 对话框
30
- */
31
- const dialog = {
32
- // 创建对话框
33
- create,
34
- }
35
-
36
- export default dialog
1
+ import $n_has from 'lodash/has'
2
+
3
+ import { Dialog } from 'quasar'
4
+
5
+ import DialogComponent from '../components/dialog'
6
+
7
+ /**
8
+ * 创建对话框
9
+ */
10
+ function create(options) {
11
+ if (
12
+ // 如果是路由组件
13
+ $n_has(options, 'path')
14
+ // 或自定义组件
15
+ || $n_has(options, 'name')
16
+ ) {
17
+ return Dialog.create({
18
+ // 组件
19
+ component: DialogComponent,
20
+ // 组件声明
21
+ componentProps: options,
22
+ })
23
+ }
24
+
25
+ return Dialog.create(options)
26
+ }
27
+
28
+ /**
29
+ * 对话框
30
+ */
31
+ const dialog = {
32
+ // 创建对话框
33
+ create,
34
+ }
35
+
36
+ export default dialog
package/utils/dict.js CHANGED
@@ -1,21 +1,21 @@
1
- import $n_has from 'lodash/has'
2
-
3
- import { configs } from './config'
4
-
5
- /**
6
- * 获取字典值对应的文字
7
- */
8
- export default function dict(key, value, defaultValue = '') {
9
- if (
10
- key
11
- && $n_has(configs.userDict, key)
12
- ) {
13
- for (const item of configs.userDict[key]) {
14
- if (item[1] === value) {
15
- return item[0]
16
- }
17
- }
18
- }
19
-
20
- return defaultValue
21
- }
1
+ import $n_has from 'lodash/has'
2
+
3
+ import { configs } from './config'
4
+
5
+ /**
6
+ * 获取字典值对应的文字
7
+ */
8
+ export default function dict(key, value, defaultValue = '') {
9
+ if (
10
+ key
11
+ && $n_has(configs.userDict, key)
12
+ ) {
13
+ for (const item of configs.userDict[key]) {
14
+ if (item[1] === value) {
15
+ return item[0]
16
+ }
17
+ }
18
+ }
19
+
20
+ return defaultValue
21
+ }
package/utils/getData.js CHANGED
@@ -1,88 +1,88 @@
1
- import { isRef } from 'vue'
2
-
3
- import $n_has from 'lodash/has'
4
- import $n_isNil from 'lodash/isNil'
5
- import $n_map from 'lodash/map'
6
-
7
- import $n_http from '@netang/utils/http'
8
- import $n_isValidObject from '@netang/utils/isValidObject'
9
-
10
- import $n_config from './config'
11
-
12
- /**
13
- * 获取公共数据
14
- * @param {String|Array|Object} url 请求地址
15
- * @param pageStatus 页面状态
16
- * @param emptyDescription 空状态描述
17
- * @param refValue 请求成功后设置值
18
- * @returns
19
- */
20
- export default async function getData(url, pageStatus = null, emptyDescription = null, refValue = null) {
21
-
22
- const warn = $n_isNil(pageStatus) || ! isRef(pageStatus)
23
-
24
- // 获取单个请求配置
25
- function getSingleHttpOptions(opt) {
26
-
27
- // 如果是对象
28
- if ($n_isValidObject(opt)) {
29
- opt.url = $n_config('apiDataUrl') + opt.url
30
- if (! $n_has(opt, 'warn')) {
31
- opt.warn = warn
32
- }
33
- return opt
34
- }
35
-
36
- // 否则为字符串
37
- return {
38
- url: $n_config('apiDataUrl') + opt,
39
- warn,
40
- }
41
- }
42
-
43
- // 如果是数组, 说明需要同时请求多个地址
44
- // --------------------------------------------------
45
- if (Array.isArray(url)) {
46
-
47
- const result = await $n_http($n_map(url, function (item) {
48
- return getSingleHttpOptions(item)
49
- }))
50
-
51
- const res = []
52
-
53
- for (const { status, data } of result) {
54
- if (! status) {
55
- if (! warn) {
56
- pageStatus.value = false
57
- }
58
- if (! $n_isNil(emptyDescription) && isRef(emptyDescription)) {
59
- emptyDescription.value = data.msg
60
- }
61
- return false
62
- }
63
- res.push(data)
64
- }
65
-
66
- return res
67
- }
68
-
69
- // 单个请求
70
- // --------------------------------------------------
71
- const { status, data } = await $n_http(getSingleHttpOptions(url))
72
- if (! status) {
73
- if (! warn) {
74
- pageStatus.value = false
75
- }
76
- if (! $n_isNil(emptyDescription) && isRef(emptyDescription)) {
77
- emptyDescription.value = data.msg
78
- }
79
- return false
80
- }
81
-
82
- // 直接设置 value
83
- if (! $n_isNil(refValue) && isRef(refValue)) {
84
- refValue.value = data
85
- }
86
-
87
- return data
88
- }
1
+ import { isRef } from 'vue'
2
+
3
+ import $n_has from 'lodash/has'
4
+ import $n_isNil from 'lodash/isNil'
5
+ import $n_map from 'lodash/map'
6
+
7
+ import $n_http from '@netang/utils/http'
8
+ import $n_isValidObject from '@netang/utils/isValidObject'
9
+
10
+ import $n_config from './config'
11
+
12
+ /**
13
+ * 获取公共数据
14
+ * @param {String|Array|Object} url 请求地址
15
+ * @param pageStatus 页面状态
16
+ * @param emptyDescription 空状态描述
17
+ * @param refValue 请求成功后设置值
18
+ * @returns
19
+ */
20
+ export default async function getData(url, pageStatus = null, emptyDescription = null, refValue = null) {
21
+
22
+ const warn = $n_isNil(pageStatus) || ! isRef(pageStatus)
23
+
24
+ // 获取单个请求配置
25
+ function getSingleHttpOptions(opt) {
26
+
27
+ // 如果是对象
28
+ if ($n_isValidObject(opt)) {
29
+ opt.url = $n_config('apiDataUrl') + opt.url
30
+ if (! $n_has(opt, 'warn')) {
31
+ opt.warn = warn
32
+ }
33
+ return opt
34
+ }
35
+
36
+ // 否则为字符串
37
+ return {
38
+ url: $n_config('apiDataUrl') + opt,
39
+ warn,
40
+ }
41
+ }
42
+
43
+ // 如果是数组, 说明需要同时请求多个地址
44
+ // --------------------------------------------------
45
+ if (Array.isArray(url)) {
46
+
47
+ const result = await $n_http($n_map(url, function (item) {
48
+ return getSingleHttpOptions(item)
49
+ }))
50
+
51
+ const res = []
52
+
53
+ for (const { status, data } of result) {
54
+ if (! status) {
55
+ if (! warn) {
56
+ pageStatus.value = false
57
+ }
58
+ if (! $n_isNil(emptyDescription) && isRef(emptyDescription)) {
59
+ emptyDescription.value = data.msg
60
+ }
61
+ return false
62
+ }
63
+ res.push(data)
64
+ }
65
+
66
+ return res
67
+ }
68
+
69
+ // 单个请求
70
+ // --------------------------------------------------
71
+ const { status, data } = await $n_http(getSingleHttpOptions(url))
72
+ if (! status) {
73
+ if (! warn) {
74
+ pageStatus.value = false
75
+ }
76
+ if (! $n_isNil(emptyDescription) && isRef(emptyDescription)) {
77
+ emptyDescription.value = data.msg
78
+ }
79
+ return false
80
+ }
81
+
82
+ // 直接设置 value
83
+ if (! $n_isNil(refValue) && isRef(refValue)) {
84
+ refValue.value = data
85
+ }
86
+
87
+ return data
88
+ }
package/utils/getFile.js CHANGED
@@ -1,62 +1,62 @@
1
- import $n_has from 'lodash/has'
2
-
3
- import $n_isValidArray from '@netang/utils/isValidArray'
4
- import $n_isValidObject from '@netang/utils/isValidObject'
5
- import $n_isValidString from '@netang/utils/isValidString'
6
- import $n_split from '@netang/utils/split'
7
-
8
- import $n_uploader from './uploader'
9
-
10
- import useFileUrl from './useFileUrl'
11
-
12
- /**
13
- * 获取文件
14
- */
15
- export default function getFile(src) {
16
-
17
- if (src) {
18
-
19
- // 如果是字符串
20
- if ($n_isValidString(src)) {
21
-
22
- // 则按照逗号隔开转为数租
23
- src = $n_split(src, ',')
24
- }
25
-
26
- // 如果为数组, 则获取第一个
27
- if ($n_isValidArray(src)) {
28
- src = src[0]
29
- }
30
-
31
- // 如果为对象
32
- if ($n_isValidObject(src)) {
33
-
34
- if ($n_has(src, 'img')) {
35
- src = src.img
36
-
37
- } else if ($n_has(src, 'file')) {
38
- src = src.file
39
-
40
- } else if ($n_has(src, 'video')) {
41
- src = src.video
42
- }
43
- }
44
-
45
- if ($n_isValidString(src)) {
46
-
47
- // http(s):// 或 data: 或 blob: 开头的地址
48
- if (/^(http(s)?:\/\/|data:|blob:)/i.test(src)) {
49
- return src
50
- }
51
-
52
- const {
53
- // type,
54
- domain,
55
- } = $n_uploader.getUpload()
56
-
57
- return useFileUrl(domain, src)
58
- }
59
- }
60
-
61
- return ''
62
- }
1
+ import $n_has from 'lodash/has'
2
+
3
+ import $n_isValidArray from '@netang/utils/isValidArray'
4
+ import $n_isValidObject from '@netang/utils/isValidObject'
5
+ import $n_isValidString from '@netang/utils/isValidString'
6
+ import $n_split from '@netang/utils/split'
7
+
8
+ import $n_uploader from './uploader'
9
+
10
+ import useFileUrl from './useFileUrl'
11
+
12
+ /**
13
+ * 获取文件
14
+ */
15
+ export default function getFile(src) {
16
+
17
+ if (src) {
18
+
19
+ // 如果是字符串
20
+ if ($n_isValidString(src)) {
21
+
22
+ // 则按照逗号隔开转为数租
23
+ src = $n_split(src, ',')
24
+ }
25
+
26
+ // 如果为数组, 则获取第一个
27
+ if ($n_isValidArray(src)) {
28
+ src = src[0]
29
+ }
30
+
31
+ // 如果为对象
32
+ if ($n_isValidObject(src)) {
33
+
34
+ if ($n_has(src, 'img')) {
35
+ src = src.img
36
+
37
+ } else if ($n_has(src, 'file')) {
38
+ src = src.file
39
+
40
+ } else if ($n_has(src, 'video')) {
41
+ src = src.video
42
+ }
43
+ }
44
+
45
+ if ($n_isValidString(src)) {
46
+
47
+ // http(s):// 或 data: 或 blob: 开头的地址
48
+ if (/^(http(s)?:\/\/|data:|blob:)/i.test(src)) {
49
+ return src
50
+ }
51
+
52
+ const {
53
+ // type,
54
+ domain,
55
+ } = $n_uploader.getUpload()
56
+
57
+ return useFileUrl(domain, src)
58
+ }
59
+ }
60
+
61
+ return ''
62
+ }