@netang/quasar 0.2.2 → 0.2.4

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-tree/index.vue +754 -754
  14. package/components/img/index.vue +239 -239
  15. package/components/input-number/index.vue +547 -547
  16. package/components/mixed-table/index.vue +532 -532
  17. package/components/mixed-table-splitter/index.vue +377 -377
  18. package/components/power-page/index.vue +94 -94
  19. package/components/private/components/move-to-tree/index.vue +154 -154
  20. package/components/private/edit-power-data/index.vue +846 -846
  21. package/components/private/table-visible-columns-button/index.vue +114 -114
  22. package/components/render/index.vue +123 -123
  23. package/components/search/index.vue +231 -231
  24. package/components/search-item/index.vue +210 -210
  25. package/components/select/index.vue +177 -177
  26. package/components/splitter/index.vue +422 -422
  27. package/components/table/index.vue +513 -513
  28. package/components/table-column-fixed/index.vue +110 -110
  29. package/components/table-summary/index.vue +107 -107
  30. package/components/toolbar/index.vue +146 -146
  31. package/components/tree/index.vue +1728 -1728
  32. package/components/uploader/index.vue +190 -190
  33. package/components/uploader-query/index.vue +928 -925
  34. package/docs/404.html +33 -33
  35. package/docs/assets/404.html-60b35caa.js +1 -1
  36. package/docs/assets/404.html-d1e63d77.js +1 -1
  37. package/docs/assets/alert.html-b2a2a72f.js +5 -5
  38. package/docs/assets/alert.html-ba46d137.js +1 -1
  39. package/docs/assets/app-9f30aa4b.js +6 -6
  40. package/docs/assets/area.html-01b9b58d.js +42 -42
  41. package/docs/assets/area.html-9a4fce6a.js +1 -1
  42. package/docs/assets/arr.html-145d27e7.js +1 -1
  43. package/docs/assets/arr.html-674e65ab.js +11 -11
  44. package/docs/assets/auth.html-579fa830.js +1 -1
  45. package/docs/assets/auth.html-8544ed95.js +8 -8
  46. package/docs/assets/bus.html-c71254aa.js +1 -1
  47. package/docs/assets/bus.html-dc7d3d19.js +6 -6
  48. package/docs/assets/column-title.html-c735cb5a.js +3 -3
  49. package/docs/assets/column-title.html-e9316762.js +1 -1
  50. package/docs/assets/confirm.html-ddfdc27f.js +10 -10
  51. package/docs/assets/confirm.html-ef3e2bef.js +1 -1
  52. package/docs/assets/copy.html-d20345b6.js +1 -1
  53. package/docs/assets/copy.html-ef8c8571.js +13 -13
  54. package/docs/assets/data.html-6432175d.js +30 -30
  55. package/docs/assets/data.html-a3b05d5b.js +1 -1
  56. package/docs/assets/dialog.html-1f698e5a.js +1 -1
  57. package/docs/assets/dialog.html-62902b83.js +68 -68
  58. package/docs/assets/dialog.html-baea77c9.js +1 -1
  59. package/docs/assets/dialog.html-bb082fc4.js +1 -1
  60. package/docs/assets/dict.html-1311da3d.js +23 -23
  61. package/docs/assets/dict.html-b96fbf0c.js +1 -1
  62. package/docs/assets/dictOptions.html-7c4f40a5.js +1 -1
  63. package/docs/assets/dictOptions.html-fb99d175.js +5 -5
  64. package/docs/assets/dragger.html-668d3efa.js +1 -1
  65. package/docs/assets/dragger.html-749d585a.js +1 -1
  66. package/docs/assets/editor-code.html-6ab26ea9.js +1 -1
  67. package/docs/assets/editor-code.html-d196205d.js +1 -1
  68. package/docs/assets/empty.html-1c139131.js +1 -1
  69. package/docs/assets/empty.html-1e9c441d.js +1 -1
  70. package/docs/assets/field-date.html-069fdb13.js +1 -1
  71. package/docs/assets/field-date.html-ad204aa9.js +1 -1
  72. package/docs/assets/field-table.html-ce480f03.js +1 -1
  73. package/docs/assets/field-table.html-d9236160.js +1 -1
  74. package/docs/assets/field-text.html-7277c62f.js +1 -1
  75. package/docs/assets/field-text.html-ccb4cecf.js +1 -1
  76. package/docs/assets/field-tree.html-519bfb45.js +1 -1
  77. package/docs/assets/field-tree.html-fdc748d6.js +1 -1
  78. package/docs/assets/form.html-2b562c37.js +2 -2
  79. package/docs/assets/form.html-75104cd5.js +1 -1
  80. package/docs/assets/framework-204010b2.js +5 -5
  81. package/docs/assets/getData.html-990e3787.js +1 -1
  82. package/docs/assets/getData.html-bb72025f.js +34 -34
  83. package/docs/assets/getFile.html-42368004.js +1 -1
  84. package/docs/assets/getFile.html-99abd054.js +3 -3
  85. package/docs/assets/getImage.html-3429c5a1.js +1 -1
  86. package/docs/assets/getImage.html-4d886d83.js +3 -3
  87. package/docs/assets/getTime.html-7435f922.js +1 -1
  88. package/docs/assets/getTime.html-b37f49eb.js +20 -20
  89. package/docs/assets/img.html-7d1da657.js +1 -1
  90. package/docs/assets/img.html-fbea1105.js +1 -1
  91. package/docs/assets/index.html-1695dd7c.js +1 -1
  92. package/docs/assets/index.html-65a4aa67.js +1 -1
  93. package/docs/assets/index.html-7b98d5bd.js +1 -1
  94. package/docs/assets/index.html-c01f2648.js +1 -1
  95. package/docs/assets/input-number.html-0b250d2a.js +1 -1
  96. package/docs/assets/input-number.html-a8eb0378.js +1 -1
  97. package/docs/assets/list-menu-item.html-7f1b4611.js +1 -1
  98. package/docs/assets/list-menu-item.html-84ed5ab8.js +1 -1
  99. package/docs/assets/list-menu.html-28b4163f.js +1 -1
  100. package/docs/assets/list-menu.html-cb6ba95b.js +1 -1
  101. package/docs/assets/loading.html-dae9e39d.js +6 -6
  102. package/docs/assets/loading.html-dc74c9e6.js +1 -1
  103. package/docs/assets/notify.html-e6c4c514.js +1 -1
  104. package/docs/assets/notify.html-f2c4d914.js +8 -8
  105. package/docs/assets/power-page.html-32e02f82.js +1 -1
  106. package/docs/assets/power-page.html-485e77da.js +1 -1
  107. package/docs/assets/power.html-d258cc19.js +93 -93
  108. package/docs/assets/power.html-e490bd32.js +1 -1
  109. package/docs/assets/previewImage.html-6a6b4245.js +1 -1
  110. package/docs/assets/previewImage.html-c5b7e945.js +2 -2
  111. package/docs/assets/price.html-1882c548.js +19 -19
  112. package/docs/assets/price.html-94d3f5be.js +1 -1
  113. package/docs/assets/price.html-d213df0f.js +1 -1
  114. package/docs/assets/price.html-deaf880f.js +1 -1
  115. package/docs/assets/render.html-8efcbdd4.js +1 -1
  116. package/docs/assets/render.html-df228e38.js +1 -1
  117. package/docs/assets/rule.html-2cd57fc2.js +13 -13
  118. package/docs/assets/rule.html-61662001.js +1 -1
  119. package/docs/assets/ruleValid.html-04fe2552.js +1 -1
  120. package/docs/assets/ruleValid.html-e0a776af.js +14 -14
  121. package/docs/assets/search-0782d0d1.svg +1 -1
  122. package/docs/assets/search-item.html-3f75394c.js +1 -1
  123. package/docs/assets/search-item.html-4e942ecd.js +1 -1
  124. package/docs/assets/search.html-2807043e.js +1 -1
  125. package/docs/assets/search.html-c24f8806.js +1 -1
  126. package/docs/assets/select.html-00d0607c.js +1 -1
  127. package/docs/assets/select.html-de7731f5.js +1 -1
  128. package/docs/assets/splitter.html-56f51a70.js +1 -1
  129. package/docs/assets/splitter.html-f5c836d7.js +1 -1
  130. package/docs/assets/style-161e43ab.css +1 -1
  131. package/docs/assets/symbols.html-a6aea4bf.js +1 -1
  132. package/docs/assets/symbols.html-b1f65bad.js +21 -21
  133. package/docs/assets/table-column-fixed.html-3a69e7b2.js +1 -1
  134. package/docs/assets/table-column-fixed.html-e763c38b.js +1 -1
  135. package/docs/assets/table-pagination.html-236934d3.js +1 -1
  136. package/docs/assets/table-pagination.html-c37ee2ac.js +1 -1
  137. package/docs/assets/table-splitter.html-07eab15c.js +1 -1
  138. package/docs/assets/table-splitter.html-7670ee65.js +1 -1
  139. package/docs/assets/table-summary.html-04db434f.js +1 -1
  140. package/docs/assets/table-summary.html-943c65a0.js +1 -1
  141. package/docs/assets/table.html-36253ad7.js +1 -1
  142. package/docs/assets/table.html-7f9c5d1b.js +38 -38
  143. package/docs/assets/table.html-93d53dc8.js +1 -1
  144. package/docs/assets/table.html-ac99b9cb.js +1 -1
  145. package/docs/assets/thumbnail.html-bab1976b.js +1 -1
  146. package/docs/assets/thumbnail.html-eb64e5e8.js +1 -1
  147. package/docs/assets/timestamp.html-4e54f79b.js +13 -13
  148. package/docs/assets/timestamp.html-d0e1b88a.js +1 -1
  149. package/docs/assets/toast.html-58ecbe21.js +1 -1
  150. package/docs/assets/toast.html-c9b9d36b.js +6 -6
  151. package/docs/assets/toolbar.html-83d9f97c.js +1 -1
  152. package/docs/assets/toolbar.html-ff7b8c92.js +1 -1
  153. package/docs/assets/tree.html-d07cbe79.js +23 -23
  154. package/docs/assets/tree.html-ea04193e.js +1 -1
  155. package/docs/assets/uploader-query.html-05590718.js +1 -1
  156. package/docs/assets/uploader-query.html-3175bac5.js +1 -1
  157. package/docs/assets/uploader.html-36da4394.js +2 -2
  158. package/docs/assets/uploader.html-6b5f3079.js +1 -1
  159. package/docs/assets/uploader.html-b9340b57.js +1 -1
  160. package/docs/assets/uploader.html-bc1c22e3.js +1 -1
  161. package/docs/assets/value-format.html-8ae3d47d.js +1 -1
  162. package/docs/assets/value-format.html-afa99b3d.js +1 -1
  163. package/docs/components/column-title.html +35 -35
  164. package/docs/components/data.html +62 -62
  165. package/docs/components/dialog.html +33 -33
  166. package/docs/components/dragger.html +33 -33
  167. package/docs/components/editor-code.html +33 -33
  168. package/docs/components/empty.html +33 -33
  169. package/docs/components/field-date.html +33 -33
  170. package/docs/components/field-table.html +33 -33
  171. package/docs/components/field-text.html +33 -33
  172. package/docs/components/field-tree.html +33 -33
  173. package/docs/components/img.html +33 -33
  174. package/docs/components/input-number.html +33 -33
  175. package/docs/components/list-menu-item.html +33 -33
  176. package/docs/components/list-menu.html +33 -33
  177. package/docs/components/power-page.html +33 -33
  178. package/docs/components/price.html +33 -33
  179. package/docs/components/render.html +33 -33
  180. package/docs/components/search-item.html +33 -33
  181. package/docs/components/search.html +33 -33
  182. package/docs/components/select.html +33 -33
  183. package/docs/components/splitter.html +33 -33
  184. package/docs/components/table-column-fixed.html +33 -33
  185. package/docs/components/table-pagination.html +33 -33
  186. package/docs/components/table-splitter.html +33 -33
  187. package/docs/components/table-summary.html +33 -33
  188. package/docs/components/table.html +33 -33
  189. package/docs/components/thumbnail.html +33 -33
  190. package/docs/components/toolbar.html +33 -33
  191. package/docs/components/uploader-query.html +33 -33
  192. package/docs/components/uploader.html +33 -33
  193. package/docs/components/value-format.html +33 -33
  194. package/docs/index.html +33 -33
  195. package/docs/utils/alert.html +37 -37
  196. package/docs/utils/area.html +74 -74
  197. package/docs/utils/arr.html +43 -43
  198. package/docs/utils/auth.html +40 -40
  199. package/docs/utils/bus.html +38 -38
  200. package/docs/utils/confirm.html +42 -42
  201. package/docs/utils/copy.html +45 -45
  202. package/docs/utils/dialog.html +100 -100
  203. package/docs/utils/dict.html +55 -55
  204. package/docs/utils/dictOptions.html +37 -37
  205. package/docs/utils/form.html +34 -34
  206. package/docs/utils/getData.html +66 -66
  207. package/docs/utils/getFile.html +35 -35
  208. package/docs/utils/getImage.html +35 -35
  209. package/docs/utils/getTime.html +52 -52
  210. package/docs/utils/index.html +33 -33
  211. package/docs/utils/loading.html +38 -38
  212. package/docs/utils/notify.html +40 -40
  213. package/docs/utils/power.html +125 -125
  214. package/docs/utils/previewImage.html +34 -34
  215. package/docs/utils/price.html +51 -51
  216. package/docs/utils/rule.html +45 -45
  217. package/docs/utils/ruleValid.html +46 -46
  218. package/docs/utils/symbols.html +53 -53
  219. package/docs/utils/table.html +70 -70
  220. package/docs/utils/timestamp.html +45 -45
  221. package/docs/utils/toast.html +38 -38
  222. package/docs/utils/tree.html +55 -55
  223. package/docs/utils/uploader.html +34 -34
  224. package/package.json +1 -1
  225. package/sass/common.scss +184 -184
  226. package/sass/index.scss +12 -12
  227. package/sass/quasar/field.scss +250 -250
  228. package/sass/quasar/table.scss +168 -168
  229. package/sass/variables.scss +140 -140
  230. package/utils/$form.js +72 -72
  231. package/utils/$power.js +1460 -1460
  232. package/utils/$render.js +75 -75
  233. package/utils/$search.js +416 -416
  234. package/utils/$table.js +1275 -1275
  235. package/utils/config.js +52 -52
  236. package/utils/dialog.js +36 -36
  237. package/utils/dict.js +21 -21
  238. package/utils/getData.js +88 -88
  239. package/utils/getFile.js +62 -62
  240. package/utils/getImage.js +227 -222
  241. package/utils/getTime.js +113 -113
  242. package/utils/index.js +65 -65
  243. package/utils/previewImage.js +14 -14
  244. package/utils/timestamp.js +18 -18
  245. package/utils/uploader.js +2 -1
  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
+ }