@smallwei/avue 3.8.2 → 3.8.3

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 (374) hide show
  1. package/README.md +206 -86
  2. package/dist/avue.js +37301 -0
  3. package/dist/avue.js.map +1 -0
  4. package/dist/avue.min.js +6 -0
  5. package/dist/avue.min.mjs +2 -0
  6. package/dist/avue.mjs +2 -0
  7. package/dist/index.css +1 -0
  8. package/es/avue.min.mjs +2 -0
  9. package/es/avue.min.ts +2 -0
  10. package/es/avue.mjs +2 -0
  11. package/es/avue.ts +2 -0
  12. package/es/core/create.mjs +8 -0
  13. package/es/core/create.ts +16 -0
  14. package/es/core/dataformat.mjs +184 -0
  15. package/es/core/dataformat.ts +190 -0
  16. package/es/core/detail.mjs +74 -0
  17. package/es/core/detail.ts +81 -0
  18. package/es/core/dic.mjs +213 -0
  19. package/es/core/dic.ts +235 -0
  20. package/es/core/locale.mjs +8 -0
  21. package/es/core/locale.ts +9 -0
  22. package/es/core/packages.mjs +61 -0
  23. package/es/core/packages.ts +62 -0
  24. package/es/core/slot.mjs +32 -0
  25. package/es/core/slot.ts +30 -0
  26. package/es/global/variable.mjs +80 -0
  27. package/es/global/variable.ts +84 -0
  28. package/es/icon.mjs +9 -0
  29. package/es/icon.ts +11 -0
  30. package/es/index.mjs +127 -0
  31. package/es/index.ts +177 -0
  32. package/es/locale/browser/en.mjs +288 -0
  33. package/es/locale/browser/zh-cn.mjs +288 -0
  34. package/es/locale/browser/zh.mjs +288 -0
  35. package/es/locale/index.mjs +141 -0
  36. package/es/locale/index.ts +196 -0
  37. package/es/locale/lang/en.mjs +282 -0
  38. package/es/locale/lang/en.ts +282 -0
  39. package/es/locale/lang/zh-cn.mjs +282 -0
  40. package/es/locale/lang/zh-cn.ts +282 -0
  41. package/es/locale/lang/zh.mjs +282 -0
  42. package/es/locale/lang/zh.ts +282 -0
  43. package/es/packages/core/common/event.mjs +58 -0
  44. package/es/packages/core/common/event.ts +56 -0
  45. package/es/packages/core/common/init.mjs +134 -0
  46. package/es/packages/core/common/init.ts +133 -0
  47. package/es/packages/core/common/props.mjs +239 -0
  48. package/es/packages/core/common/props.ts +240 -0
  49. package/es/packages/core/components/dialog-form/index.mjs +29 -0
  50. package/es/packages/core/components/dialog-form/index.ts +29 -0
  51. package/es/packages/core/components/dialog-form/index.vue +108 -0
  52. package/es/packages/core/components/form/custom.mjs +41 -0
  53. package/es/packages/core/components/form/custom.ts +41 -0
  54. package/es/packages/core/components/form/index.vue +176 -0
  55. package/es/packages/core/components/icon/index.vue +37 -0
  56. package/es/packages/core/components/image-preview/index.mjs +34 -0
  57. package/es/packages/core/components/image-preview/index.ts +37 -0
  58. package/es/packages/core/components/image-preview/index.vue +215 -0
  59. package/es/packages/core/directive/contextmenu.mjs +92 -0
  60. package/es/packages/core/directive/contextmenu.ts +103 -0
  61. package/es/packages/core/directive/permission.mjs +19 -0
  62. package/es/packages/core/directive/permission.ts +18 -0
  63. package/es/packages/data/box/index.vue +66 -0
  64. package/es/packages/data/card/index.vue +62 -0
  65. package/es/packages/data/cardText/index.vue +56 -0
  66. package/es/packages/data/countdown/index.vue +81 -0
  67. package/es/packages/data/dashboard/index.vue +72 -0
  68. package/es/packages/data/display/index.vue +63 -0
  69. package/es/packages/data/icons/index.vue +68 -0
  70. package/es/packages/data/imgText/index.vue +72 -0
  71. package/es/packages/data/list/index.vue +69 -0
  72. package/es/packages/data/notice/index.vue +63 -0
  73. package/es/packages/data/operaText/index.vue +62 -0
  74. package/es/packages/data/panel/index.vue +62 -0
  75. package/es/packages/data/pay/index.vue +92 -0
  76. package/es/packages/data/price/index.vue +55 -0
  77. package/es/packages/data/product/index.vue +106 -0
  78. package/es/packages/data/profile/index.vue +91 -0
  79. package/es/packages/data/progress/index.vue +64 -0
  80. package/es/packages/data/rank/index.vue +92 -0
  81. package/es/packages/data/rotate/index.vue +69 -0
  82. package/es/packages/data/statistic/index.vue +71 -0
  83. package/es/packages/data/tabs/index.vue +64 -0
  84. package/es/packages/data/task/index.vue +82 -0
  85. package/es/packages/data/weather/index.vue +103 -0
  86. package/es/packages/element-plus/array/index.vue +115 -0
  87. package/es/packages/element-plus/article/index.vue +73 -0
  88. package/es/packages/element-plus/card/index.vue +103 -0
  89. package/es/packages/element-plus/cascader/index.vue +132 -0
  90. package/es/packages/element-plus/chat/index.vue +513 -0
  91. package/es/packages/element-plus/checkbox/index.vue +84 -0
  92. package/es/packages/element-plus/comment/index.vue +76 -0
  93. package/es/packages/element-plus/count-up/index.vue +107 -0
  94. package/es/packages/element-plus/crud/column/column-default.vue +128 -0
  95. package/es/packages/element-plus/crud/column/column-dynamic.vue +86 -0
  96. package/es/packages/element-plus/crud/column/column-menu.vue +267 -0
  97. package/es/packages/element-plus/crud/column/column-slot.vue +348 -0
  98. package/es/packages/element-plus/crud/column/column.vue +119 -0
  99. package/es/packages/element-plus/crud/column/menu.vue +78 -0
  100. package/es/packages/element-plus/crud/config.mjs +74 -0
  101. package/es/packages/element-plus/crud/config.ts +74 -0
  102. package/es/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
  103. package/es/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
  104. package/es/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
  105. package/es/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
  106. package/es/packages/element-plus/crud/grid/index.vue +271 -0
  107. package/es/packages/element-plus/crud/grid/item.vue +39 -0
  108. package/es/packages/element-plus/crud/index.vue +1018 -0
  109. package/es/packages/element-plus/crud/menu/header-menu.vue +175 -0
  110. package/es/packages/element-plus/crud/menu/header-search.vue +228 -0
  111. package/es/packages/element-plus/crud/menu/table-page.vue +108 -0
  112. package/es/packages/element-plus/date/index.vue +81 -0
  113. package/es/packages/element-plus/draggable/index.vue +444 -0
  114. package/es/packages/element-plus/dynamic/index.vue +353 -0
  115. package/es/packages/element-plus/flow/index.vue +339 -0
  116. package/es/packages/element-plus/flow/node.vue +84 -0
  117. package/es/packages/element-plus/form/config.mjs +6 -0
  118. package/es/packages/element-plus/form/config.ts +6 -0
  119. package/es/packages/element-plus/form/index.vue +954 -0
  120. package/es/packages/element-plus/form/menu.vue +63 -0
  121. package/es/packages/element-plus/group/index.vue +90 -0
  122. package/es/packages/element-plus/input/index.vue +1264 -0
  123. package/es/packages/element-plus/input-color/index.vue +70 -0
  124. package/es/packages/element-plus/input-cron/index.vue +363 -0
  125. package/es/packages/element-plus/input-icon/index.vue +143 -0
  126. package/es/packages/element-plus/input-map/index.vue +311 -0
  127. package/es/packages/element-plus/input-number/index.vue +91 -0
  128. package/es/packages/element-plus/input-table/index.vue +279 -0
  129. package/es/packages/element-plus/input-tag/index.vue +79 -0
  130. package/es/packages/element-plus/input-tree/index.vue +194 -0
  131. package/es/packages/element-plus/license/index.vue +155 -0
  132. package/es/packages/element-plus/login/index.vue +203 -0
  133. package/es/packages/element-plus/mention/index.vue +117 -0
  134. package/es/packages/element-plus/radio/index.vue +38 -0
  135. package/es/packages/element-plus/rate/index.vue +51 -0
  136. package/es/packages/element-plus/search/index.vue +129 -0
  137. package/es/packages/element-plus/select/index.vue +292 -0
  138. package/es/packages/element-plus/sign/index.vue +230 -0
  139. package/es/packages/element-plus/slider/index.vue +66 -0
  140. package/es/packages/element-plus/switch/index.vue +72 -0
  141. package/es/packages/element-plus/tabs/index.vue +62 -0
  142. package/es/packages/element-plus/text-ellipsis/index.vue +104 -0
  143. package/es/packages/element-plus/time/index.vue +81 -0
  144. package/es/packages/element-plus/title/index.vue +30 -0
  145. package/es/packages/element-plus/tree/index.vue +460 -0
  146. package/es/packages/element-plus/upload/index.vue +728 -0
  147. package/es/packages/element-plus/verify/index.vue +62 -0
  148. package/es/packages/element-plus/video/index.vue +90 -0
  149. package/es/plugin/ali/index.mjs +4 -0
  150. package/es/plugin/ali/index.ts +6 -0
  151. package/es/plugin/clipboard/index.mjs +61 -0
  152. package/es/plugin/clipboard/index.ts +67 -0
  153. package/es/plugin/export/_blob.mjs +151 -0
  154. package/es/plugin/export/_blob.ts +176 -0
  155. package/es/plugin/export/_export2Excel.mjs +141 -0
  156. package/es/plugin/export/_export2Excel.ts +166 -0
  157. package/es/plugin/export/index.mjs +263 -0
  158. package/es/plugin/export/index.ts +274 -0
  159. package/es/plugin/logs/index.mjs +46 -0
  160. package/es/plugin/logs/index.ts +66 -0
  161. package/es/plugin/print/index.mjs +145 -0
  162. package/es/plugin/print/index.ts +155 -0
  163. package/es/plugin/qiniu/index.mjs +78 -0
  164. package/es/plugin/qiniu/index.ts +88 -0
  165. package/es/plugin/screenshot/index.mjs +8 -0
  166. package/es/plugin/screenshot/index.ts +9 -0
  167. package/es/plugin/video/index.mjs +52 -0
  168. package/es/plugin/video/index.ts +60 -0
  169. package/es/plugin/watermark/index.mjs +114 -0
  170. package/es/plugin/watermark/index.ts +127 -0
  171. package/es/plugin/watermark/watermark.mjs +109 -0
  172. package/es/plugin/watermark/watermark.ts +121 -0
  173. package/es/ui/data/index.mjs +49 -0
  174. package/es/ui/data/index.ts +51 -0
  175. package/es/ui/element-plus/index.mjs +87 -0
  176. package/es/ui/element-plus/index.ts +89 -0
  177. package/es/ui/index.mjs +4 -0
  178. package/es/ui/index.ts +6 -0
  179. package/es/utils/bem.mjs +29 -0
  180. package/es/utils/bem.ts +36 -0
  181. package/es/utils/mock.mjs +137 -0
  182. package/es/utils/mock.ts +151 -0
  183. package/es/utils/util.mjs +370 -0
  184. package/es/utils/util.ts +392 -0
  185. package/es/utils/validate.mjs +18 -0
  186. package/es/utils/validate.ts +23 -0
  187. package/es/version.mjs +1 -0
  188. package/es/version.ts +1 -0
  189. package/lib/avue.js +11 -35880
  190. package/lib/avue.min.js +11 -6
  191. package/lib/avue.min.ts +2 -0
  192. package/lib/avue.ts +2 -0
  193. package/lib/core/create.js +14 -0
  194. package/lib/core/create.ts +16 -0
  195. package/lib/core/dataformat.js +194 -0
  196. package/lib/core/dataformat.ts +190 -0
  197. package/lib/core/detail.js +81 -0
  198. package/lib/core/detail.ts +81 -0
  199. package/lib/core/dic.js +220 -0
  200. package/lib/core/dic.ts +235 -0
  201. package/lib/core/locale.js +10 -0
  202. package/lib/core/locale.ts +9 -0
  203. package/lib/core/packages.js +66 -0
  204. package/lib/core/packages.ts +62 -0
  205. package/lib/core/slot.js +34 -0
  206. package/lib/core/slot.ts +30 -0
  207. package/lib/global/variable.js +83 -0
  208. package/lib/global/variable.ts +84 -0
  209. package/lib/icon.js +44 -0
  210. package/lib/icon.ts +11 -0
  211. package/lib/index.js +134 -0
  212. package/lib/index.ts +177 -0
  213. package/lib/locale/browser/en.js +288 -0
  214. package/lib/locale/browser/zh-cn.js +288 -0
  215. package/lib/locale/browser/zh.js +288 -0
  216. package/lib/locale/index.js +153 -47
  217. package/lib/locale/index.ts +196 -0
  218. package/lib/locale/lang/en.js +284 -100
  219. package/lib/locale/lang/en.ts +282 -0
  220. package/lib/locale/lang/zh-cn.js +284 -0
  221. package/lib/locale/lang/zh-cn.ts +282 -0
  222. package/lib/locale/lang/zh.js +284 -100
  223. package/lib/locale/lang/zh.ts +282 -0
  224. package/lib/packages/core/common/event.js +61 -0
  225. package/lib/packages/core/common/event.ts +56 -0
  226. package/lib/packages/core/common/init.js +140 -0
  227. package/lib/packages/core/common/init.ts +133 -0
  228. package/lib/packages/core/common/props.js +245 -0
  229. package/lib/packages/core/common/props.ts +240 -0
  230. package/lib/packages/core/components/dialog-form/index.js +35 -0
  231. package/lib/packages/core/components/dialog-form/index.ts +29 -0
  232. package/lib/packages/core/components/dialog-form/index.vue +108 -0
  233. package/lib/packages/core/components/form/custom.js +43 -0
  234. package/lib/packages/core/components/form/custom.ts +41 -0
  235. package/lib/packages/core/components/form/index.vue +176 -0
  236. package/lib/packages/core/components/icon/index.vue +37 -0
  237. package/lib/packages/core/components/image-preview/index.js +40 -0
  238. package/lib/packages/core/components/image-preview/index.ts +37 -0
  239. package/lib/packages/core/components/image-preview/index.vue +215 -0
  240. package/lib/packages/core/directive/contextmenu.js +94 -0
  241. package/lib/packages/core/directive/contextmenu.ts +103 -0
  242. package/lib/packages/core/directive/permission.js +21 -0
  243. package/lib/packages/core/directive/permission.ts +18 -0
  244. package/lib/packages/data/box/index.vue +66 -0
  245. package/lib/packages/data/card/index.vue +62 -0
  246. package/lib/packages/data/cardText/index.vue +56 -0
  247. package/lib/packages/data/countdown/index.vue +81 -0
  248. package/lib/packages/data/dashboard/index.vue +72 -0
  249. package/lib/packages/data/display/index.vue +63 -0
  250. package/lib/packages/data/icons/index.vue +68 -0
  251. package/lib/packages/data/imgText/index.vue +72 -0
  252. package/lib/packages/data/list/index.vue +69 -0
  253. package/lib/packages/data/notice/index.vue +63 -0
  254. package/lib/packages/data/operaText/index.vue +62 -0
  255. package/lib/packages/data/panel/index.vue +62 -0
  256. package/lib/packages/data/pay/index.vue +92 -0
  257. package/lib/packages/data/price/index.vue +55 -0
  258. package/lib/packages/data/product/index.vue +106 -0
  259. package/lib/packages/data/profile/index.vue +91 -0
  260. package/lib/packages/data/progress/index.vue +64 -0
  261. package/lib/packages/data/rank/index.vue +92 -0
  262. package/lib/packages/data/rotate/index.vue +69 -0
  263. package/lib/packages/data/statistic/index.vue +71 -0
  264. package/lib/packages/data/tabs/index.vue +64 -0
  265. package/lib/packages/data/task/index.vue +82 -0
  266. package/lib/packages/data/weather/index.vue +103 -0
  267. package/lib/packages/element-plus/array/index.vue +115 -0
  268. package/lib/packages/element-plus/article/index.vue +73 -0
  269. package/lib/packages/element-plus/card/index.vue +103 -0
  270. package/lib/packages/element-plus/cascader/index.vue +132 -0
  271. package/lib/packages/element-plus/chat/index.vue +513 -0
  272. package/lib/packages/element-plus/checkbox/index.vue +84 -0
  273. package/lib/packages/element-plus/comment/index.vue +76 -0
  274. package/lib/packages/element-plus/count-up/index.vue +107 -0
  275. package/lib/packages/element-plus/crud/column/column-default.vue +128 -0
  276. package/lib/packages/element-plus/crud/column/column-dynamic.vue +86 -0
  277. package/lib/packages/element-plus/crud/column/column-menu.vue +267 -0
  278. package/lib/packages/element-plus/crud/column/column-slot.vue +348 -0
  279. package/lib/packages/element-plus/crud/column/column.vue +119 -0
  280. package/lib/packages/element-plus/crud/column/menu.vue +78 -0
  281. package/lib/packages/element-plus/crud/config.js +76 -0
  282. package/lib/packages/element-plus/crud/config.ts +74 -0
  283. package/lib/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
  284. package/lib/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
  285. package/lib/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
  286. package/lib/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
  287. package/lib/packages/element-plus/crud/grid/index.vue +271 -0
  288. package/lib/packages/element-plus/crud/grid/item.vue +39 -0
  289. package/lib/packages/element-plus/crud/index.vue +1018 -0
  290. package/lib/packages/element-plus/crud/menu/header-menu.vue +175 -0
  291. package/lib/packages/element-plus/crud/menu/header-search.vue +228 -0
  292. package/lib/packages/element-plus/crud/menu/table-page.vue +108 -0
  293. package/lib/packages/element-plus/date/index.vue +81 -0
  294. package/lib/packages/element-plus/draggable/index.vue +444 -0
  295. package/lib/packages/element-plus/dynamic/index.vue +353 -0
  296. package/lib/packages/element-plus/flow/index.vue +339 -0
  297. package/lib/packages/element-plus/flow/node.vue +84 -0
  298. package/lib/packages/element-plus/form/config.js +8 -0
  299. package/lib/packages/element-plus/form/config.ts +6 -0
  300. package/lib/packages/element-plus/form/index.vue +954 -0
  301. package/lib/packages/element-plus/form/menu.vue +63 -0
  302. package/lib/packages/element-plus/group/index.vue +90 -0
  303. package/lib/packages/element-plus/input/index.vue +1264 -0
  304. package/lib/packages/element-plus/input-color/index.vue +70 -0
  305. package/lib/packages/element-plus/input-cron/index.vue +363 -0
  306. package/lib/packages/element-plus/input-icon/index.vue +143 -0
  307. package/lib/packages/element-plus/input-map/index.vue +311 -0
  308. package/lib/packages/element-plus/input-number/index.vue +91 -0
  309. package/lib/packages/element-plus/input-table/index.vue +279 -0
  310. package/lib/packages/element-plus/input-tag/index.vue +79 -0
  311. package/lib/packages/element-plus/input-tree/index.vue +194 -0
  312. package/lib/packages/element-plus/license/index.vue +155 -0
  313. package/lib/packages/element-plus/login/index.vue +203 -0
  314. package/lib/packages/element-plus/mention/index.vue +117 -0
  315. package/lib/packages/element-plus/radio/index.vue +38 -0
  316. package/lib/packages/element-plus/rate/index.vue +51 -0
  317. package/lib/packages/element-plus/search/index.vue +129 -0
  318. package/lib/packages/element-plus/select/index.vue +292 -0
  319. package/lib/packages/element-plus/sign/index.vue +230 -0
  320. package/lib/packages/element-plus/slider/index.vue +66 -0
  321. package/lib/packages/element-plus/switch/index.vue +72 -0
  322. package/lib/packages/element-plus/tabs/index.vue +62 -0
  323. package/lib/packages/element-plus/text-ellipsis/index.vue +104 -0
  324. package/lib/packages/element-plus/time/index.vue +81 -0
  325. package/lib/packages/element-plus/title/index.vue +30 -0
  326. package/lib/packages/element-plus/tree/index.vue +460 -0
  327. package/lib/packages/element-plus/upload/index.vue +728 -0
  328. package/lib/packages/element-plus/verify/index.vue +62 -0
  329. package/lib/packages/element-plus/video/index.vue +90 -0
  330. package/lib/plugin/ali/index.js +8 -0
  331. package/lib/plugin/ali/index.ts +6 -0
  332. package/lib/plugin/clipboard/index.js +64 -0
  333. package/lib/plugin/clipboard/index.ts +67 -0
  334. package/lib/plugin/export/_blob.js +151 -0
  335. package/lib/plugin/export/_blob.ts +176 -0
  336. package/lib/plugin/export/_export2Excel.js +145 -0
  337. package/lib/plugin/export/_export2Excel.ts +166 -0
  338. package/lib/plugin/export/index.js +268 -0
  339. package/lib/plugin/export/index.ts +274 -0
  340. package/lib/plugin/logs/index.js +48 -0
  341. package/lib/plugin/logs/index.ts +66 -0
  342. package/lib/plugin/print/index.js +147 -0
  343. package/lib/plugin/print/index.ts +155 -0
  344. package/lib/plugin/qiniu/index.js +82 -0
  345. package/lib/plugin/qiniu/index.ts +88 -0
  346. package/lib/plugin/screenshot/index.js +14 -0
  347. package/lib/plugin/screenshot/index.ts +9 -0
  348. package/lib/plugin/video/index.js +55 -0
  349. package/lib/plugin/video/index.ts +60 -0
  350. package/lib/plugin/watermark/index.js +121 -0
  351. package/lib/plugin/watermark/index.ts +127 -0
  352. package/lib/plugin/watermark/watermark.js +111 -0
  353. package/lib/plugin/watermark/watermark.ts +121 -0
  354. package/lib/ui/data/index.js +54 -0
  355. package/lib/ui/data/index.ts +51 -0
  356. package/lib/ui/element-plus/index.js +92 -0
  357. package/lib/ui/element-plus/index.ts +89 -0
  358. package/lib/ui/index.js +9 -0
  359. package/lib/ui/index.ts +6 -0
  360. package/lib/utils/bem.js +31 -0
  361. package/lib/utils/bem.ts +36 -0
  362. package/lib/utils/mock.js +142 -0
  363. package/lib/utils/mock.ts +151 -0
  364. package/lib/utils/util.js +403 -0
  365. package/lib/utils/util.ts +392 -0
  366. package/lib/utils/validate.js +21 -0
  367. package/lib/utils/validate.ts +23 -0
  368. package/lib/version.js +4 -0
  369. package/lib/version.ts +1 -0
  370. package/package.json +20 -10
  371. package/types/index.d.ts +139 -47
  372. package/types/shims-aliases.d.ts +4 -0
  373. package/lib/avue.js.map +0 -1
  374. package/lib/locale/format.js +0 -44
@@ -0,0 +1,121 @@
1
+ import { randomId } from '../../utils/util';
2
+
3
+ class WaterMark {
4
+ CONTAINERID: string;
5
+ option: Record<string, any>;
6
+ styleStr: string;
7
+ isOberserve: boolean;
8
+
9
+ constructor(opt: Record<string, any> = {}) {
10
+ this.CONTAINERID = randomId();
11
+ this.drawCanvas = this.drawCanvas.bind(this);
12
+ this.parentObserver = this.parentObserver.bind(this);
13
+ this.Repaint = this.Repaint.bind(this);
14
+ this.styleStr = '';
15
+ this.isOberserve = false;
16
+ this.init(opt);
17
+ this.drawCanvas();
18
+ this.parentObserver();
19
+ }
20
+
21
+ init(opt: Record<string, any>) {
22
+ this.option = Object.assign(
23
+ {
24
+ width: 400,
25
+ height: 200,
26
+ text: 'avueJS',
27
+ fontSize: '30px',
28
+ fontStyle: 'microsoft yahei',
29
+ textAlign: 'center',
30
+ color: 'rgba(100,100,100,0.15)',
31
+ degree: -20,
32
+ },
33
+ opt
34
+ );
35
+ }
36
+
37
+ drawCanvas() {
38
+ this.isOberserve = true;
39
+ const divContainer = document.createElement('div');
40
+ const canvas = document.createElement('canvas');
41
+ const context = canvas.getContext('2d');
42
+ divContainer.id = this.CONTAINERID;
43
+
44
+ canvas.width = this.option.width;
45
+ canvas.height = this.option.height;
46
+ if (!context) return;
47
+ context.font = `${this.option.fontSize} ${this.option.fontStyle}`;
48
+ context.textAlign = this.option.textAlign;
49
+ context.fillStyle = this.option.color;
50
+ context.translate(canvas.width / 2, canvas.height / 2);
51
+ context.rotate((this.option.degree * Math.PI) / 180);
52
+ context.fillText(this.option.text, 0, 0);
53
+
54
+ const backgroundUrl = canvas.toDataURL('image/png');
55
+ const flag = this.option.id;
56
+ let el: HTMLElement | null = null;
57
+ if (flag) el = document.getElementById(flag);
58
+ this.styleStr = `
59
+ position:${flag ? 'absolute' : 'fixed'};
60
+ top:0;
61
+ left:0;
62
+ width:${flag && el ? el.offsetWidth + 'px' : '100%'};
63
+ height:${flag && el ? el.offsetHeight + 'px' : '100%'};
64
+ z-index:9999;
65
+ pointer-events:none;
66
+ background-repeat:repeat;
67
+ background-image:url('${backgroundUrl}')`;
68
+ divContainer.setAttribute('style', this.styleStr);
69
+ if (flag && el) {
70
+ el.appendChild(divContainer);
71
+ } else {
72
+ document.body.appendChild(divContainer);
73
+ }
74
+ this.wmObserver(divContainer);
75
+ this.isOberserve = false;
76
+ }
77
+
78
+ wmObserver(divContainer: HTMLElement) {
79
+ const wmConf = { attributes: true, childList: true, characterData: true };
80
+ const wmObserver = new MutationObserver((mo) => {
81
+ if (!this.isOberserve) {
82
+ const target = mo[0].target as HTMLElement;
83
+ target.setAttribute('style', this.styleStr);
84
+ target.setAttribute('id', this.CONTAINERID);
85
+ wmObserver.takeRecords();
86
+ }
87
+ });
88
+ wmObserver.observe(divContainer, wmConf);
89
+ }
90
+
91
+ parentObserver() {
92
+ const bodyObserver = new MutationObserver(() => {
93
+ if (!this.isOberserve) {
94
+ const wm = document.querySelector<HTMLElement>(`#${this.CONTAINERID}`);
95
+ if (!wm) {
96
+ this.drawCanvas();
97
+ } else if (wm.getAttribute('style') !== this.styleStr) {
98
+ wm.setAttribute('style', this.styleStr);
99
+ }
100
+ }
101
+ });
102
+ const parentNode = document.querySelector<HTMLElement>(`#${this.CONTAINERID}`)?.parentNode;
103
+ if (parentNode) {
104
+ bodyObserver.observe(parentNode, { childList: true });
105
+ }
106
+ }
107
+
108
+ Repaint(opt: Record<string, any> = {}) {
109
+ this.remove();
110
+ this.init(opt);
111
+ this.drawCanvas();
112
+ }
113
+
114
+ remove() {
115
+ this.isOberserve = true;
116
+ const wm = document.querySelector<HTMLElement>(`#${this.CONTAINERID}`);
117
+ wm?.parentNode?.removeChild(wm);
118
+ }
119
+ }
120
+
121
+ export default WaterMark;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const index_vue_1 = __importDefault(require("../../packages/data/tabs/index.vue"));
7
+ const index_vue_2 = __importDefault(require("../../packages/data/cardText/index.vue"));
8
+ const index_vue_3 = __importDefault(require("../../packages/data/box/index.vue"));
9
+ const index_vue_4 = __importDefault(require("../../packages/data/progress/index.vue"));
10
+ const index_vue_5 = __importDefault(require("../../packages/data/icons/index.vue"));
11
+ const index_vue_6 = __importDefault(require("../../packages/data/card/index.vue"));
12
+ const index_vue_7 = __importDefault(require("../../packages/data/display/index.vue"));
13
+ const index_vue_8 = __importDefault(require("../../packages/data/imgText/index.vue"));
14
+ const index_vue_9 = __importDefault(require("../../packages/data/operaText/index.vue"));
15
+ const index_vue_10 = __importDefault(require("../../packages/data/rotate/index.vue"));
16
+ const index_vue_11 = __importDefault(require("../../packages/data/pay/index.vue"));
17
+ const index_vue_12 = __importDefault(require("../../packages/data/price/index.vue"));
18
+ const index_vue_13 = __importDefault(require("../../packages/data/panel/index.vue"));
19
+ const index_vue_14 = __importDefault(require("../../packages/data/statistic/index.vue"));
20
+ const index_vue_15 = __importDefault(require("../../packages/data/weather/index.vue"));
21
+ const index_vue_16 = __importDefault(require("../../packages/data/rank/index.vue"));
22
+ const index_vue_17 = __importDefault(require("../../packages/data/profile/index.vue"));
23
+ const index_vue_18 = __importDefault(require("../../packages/data/product/index.vue"));
24
+ const index_vue_19 = __importDefault(require("../../packages/data/countdown/index.vue"));
25
+ const index_vue_20 = __importDefault(require("../../packages/data/notice/index.vue"));
26
+ const index_vue_21 = __importDefault(require("../../packages/data/task/index.vue"));
27
+ const index_vue_22 = __importDefault(require("../../packages/data/list/index.vue"));
28
+ const index_vue_23 = __importDefault(require("../../packages/data/dashboard/index.vue"));
29
+ const dataComponents = {
30
+ DataTabs: index_vue_1.default,
31
+ DataCardText: index_vue_2.default,
32
+ DataBox: index_vue_3.default,
33
+ DataProgress: index_vue_4.default,
34
+ DataIcons: index_vue_5.default,
35
+ DataCard: index_vue_6.default,
36
+ DataDisplay: index_vue_7.default,
37
+ DataImgText: index_vue_8.default,
38
+ DataOperaText: index_vue_9.default,
39
+ DataRotate: index_vue_10.default,
40
+ DataPay: index_vue_11.default,
41
+ DataPrice: index_vue_12.default,
42
+ DataPanel: index_vue_13.default,
43
+ DataStatistic: index_vue_14.default,
44
+ DataWeather: index_vue_15.default,
45
+ DataRank: index_vue_16.default,
46
+ DataProfile: index_vue_17.default,
47
+ DataProduct: index_vue_18.default,
48
+ DataCountdown: index_vue_19.default,
49
+ DataNotice: index_vue_20.default,
50
+ DataTask: index_vue_21.default,
51
+ DataList: index_vue_22.default,
52
+ DataDashboard: index_vue_23.default,
53
+ };
54
+ exports.default = dataComponents;
@@ -0,0 +1,51 @@
1
+ import DataTabs from '../../packages/data/tabs/index.vue';
2
+ import DataCardText from '../../packages/data/cardText/index.vue';
3
+ import DataBox from '../../packages/data/box/index.vue';
4
+ import DataProgress from '../../packages/data/progress/index.vue';
5
+ import DataIcons from '../../packages/data/icons/index.vue';
6
+ import DataCard from '../../packages/data/card/index.vue';
7
+ import DataDisplay from '../../packages/data/display/index.vue';
8
+ import DataImgText from '../../packages/data/imgText/index.vue';
9
+ import DataOperaText from '../../packages/data/operaText/index.vue';
10
+ import DataRotate from '../../packages/data/rotate/index.vue';
11
+ import DataPay from '../../packages/data/pay/index.vue';
12
+ import DataPrice from '../../packages/data/price/index.vue';
13
+ import DataPanel from '../../packages/data/panel/index.vue';
14
+ import DataStatistic from '../../packages/data/statistic/index.vue';
15
+ import DataWeather from '../../packages/data/weather/index.vue';
16
+ import DataRank from '../../packages/data/rank/index.vue';
17
+ import DataProfile from '../../packages/data/profile/index.vue';
18
+ import DataProduct from '../../packages/data/product/index.vue';
19
+ import DataCountdown from '../../packages/data/countdown/index.vue';
20
+ import DataNotice from '../../packages/data/notice/index.vue';
21
+ import DataTask from '../../packages/data/task/index.vue';
22
+ import DataList from '../../packages/data/list/index.vue';
23
+ import DataDashboard from '../../packages/data/dashboard/index.vue';
24
+
25
+ const dataComponents = {
26
+ DataTabs,
27
+ DataCardText,
28
+ DataBox,
29
+ DataProgress,
30
+ DataIcons,
31
+ DataCard,
32
+ DataDisplay,
33
+ DataImgText,
34
+ DataOperaText,
35
+ DataRotate,
36
+ DataPay,
37
+ DataPrice,
38
+ DataPanel,
39
+ DataStatistic,
40
+ DataWeather,
41
+ DataRank,
42
+ DataProfile,
43
+ DataProduct,
44
+ DataCountdown,
45
+ DataNotice,
46
+ DataTask,
47
+ DataList,
48
+ DataDashboard,
49
+ };
50
+
51
+ export default dataComponents;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const index_vue_1 = __importDefault(require("../../packages/element-plus/count-up/index.vue"));
7
+ const index_vue_2 = __importDefault(require("../../packages/element-plus/article/index.vue"));
8
+ const index_vue_3 = __importDefault(require("../../packages/element-plus/crud/index.vue"));
9
+ const index_vue_4 = __importDefault(require("../../packages/element-plus/card/index.vue"));
10
+ const index_vue_5 = __importDefault(require("../../packages/element-plus/chat/index.vue"));
11
+ const index_vue_6 = __importDefault(require("../../packages/element-plus/comment/index.vue"));
12
+ const index_vue_7 = __importDefault(require("../../packages/element-plus/form/index.vue"));
13
+ const index_vue_8 = __importDefault(require("../../packages/element-plus/checkbox/index.vue"));
14
+ const index_vue_9 = __importDefault(require("../../packages/element-plus/date/index.vue"));
15
+ const index_vue_10 = __importDefault(require("../../packages/element-plus/draggable/index.vue"));
16
+ const index_vue_11 = __importDefault(require("../../packages/element-plus/flow/index.vue"));
17
+ const index_vue_12 = __importDefault(require("../../packages/element-plus/group/index.vue"));
18
+ const index_vue_13 = __importDefault(require("../../packages/element-plus/license/index.vue"));
19
+ const index_vue_14 = __importDefault(require("../../packages/element-plus/time/index.vue"));
20
+ const index_vue_15 = __importDefault(require("../../packages/element-plus/input/index.vue"));
21
+ const index_vue_16 = __importDefault(require("../../packages/element-plus/radio/index.vue"));
22
+ const index_vue_17 = __importDefault(require("../../packages/element-plus/select/index.vue"));
23
+ const index_vue_18 = __importDefault(require("../../packages/element-plus/cascader/index.vue"));
24
+ const index_vue_19 = __importDefault(require("../../packages/element-plus/input-color/index.vue"));
25
+ const index_vue_20 = __importDefault(require("../../packages/element-plus/input-number/index.vue"));
26
+ const index_vue_21 = __importDefault(require("../../packages/element-plus/input-tree/index.vue"));
27
+ const index_vue_22 = __importDefault(require("../../packages/element-plus/input-map/index.vue"));
28
+ const index_vue_23 = __importDefault(require("../../packages/element-plus/input-icon/index.vue"));
29
+ const index_vue_24 = __importDefault(require("../../packages/element-plus/input-tag/index.vue"));
30
+ const index_vue_25 = __importDefault(require("../../packages/element-plus/input-table/index.vue"));
31
+ const index_vue_26 = __importDefault(require("../../packages/element-plus/input-cron/index.vue"));
32
+ const index_vue_27 = __importDefault(require("../../packages/element-plus/mention/index.vue"));
33
+ const index_vue_28 = __importDefault(require("../../packages/element-plus/verify/index.vue"));
34
+ const index_vue_29 = __importDefault(require("../../packages/element-plus/switch/index.vue"));
35
+ const index_vue_30 = __importDefault(require("../../packages/element-plus/rate/index.vue"));
36
+ const index_vue_31 = __importDefault(require("../../packages/element-plus/upload/index.vue"));
37
+ const index_vue_32 = __importDefault(require("../../packages/element-plus/sign/index.vue"));
38
+ const index_vue_33 = __importDefault(require("../../packages/element-plus/slider/index.vue"));
39
+ const index_vue_34 = __importDefault(require("../../packages/element-plus/tree/index.vue"));
40
+ const index_vue_35 = __importDefault(require("../../packages/element-plus/title/index.vue"));
41
+ const index_vue_36 = __importDefault(require("../../packages/element-plus/search/index.vue"));
42
+ const index_vue_37 = __importDefault(require("../../packages/element-plus/tabs/index.vue"));
43
+ const index_vue_38 = __importDefault(require("../../packages/element-plus/dynamic/index.vue"));
44
+ const index_vue_39 = __importDefault(require("../../packages/element-plus/video/index.vue"));
45
+ const index_vue_40 = __importDefault(require("../../packages/element-plus/login/index.vue"));
46
+ const index_vue_41 = __importDefault(require("../../packages/element-plus/array/index.vue"));
47
+ const index_vue_42 = __importDefault(require("../../packages/element-plus/text-ellipsis/index.vue"));
48
+ const elementComponents = {
49
+ Arrays: index_vue_41.default,
50
+ Article: index_vue_2.default,
51
+ Crud: index_vue_3.default,
52
+ Card: index_vue_4.default,
53
+ Chat: index_vue_5.default,
54
+ Comment: index_vue_6.default,
55
+ Form: index_vue_7.default,
56
+ Checkbox: index_vue_8.default,
57
+ Date: index_vue_9.default,
58
+ CountUp: index_vue_1.default,
59
+ Draggable: index_vue_10.default,
60
+ Flow: index_vue_11.default,
61
+ Group: index_vue_12.default,
62
+ License: index_vue_13.default,
63
+ Time: index_vue_14.default,
64
+ Input: index_vue_15.default,
65
+ Radio: index_vue_16.default,
66
+ Select: index_vue_17.default,
67
+ Cascader: index_vue_18.default,
68
+ InputColor: index_vue_19.default,
69
+ InputNumber: index_vue_20.default,
70
+ InputTree: index_vue_21.default,
71
+ InputIcon: index_vue_23.default,
72
+ InputMap: index_vue_22.default,
73
+ InputTag: index_vue_24.default,
74
+ InputTable: index_vue_25.default,
75
+ InputCron: index_vue_26.default,
76
+ Mention: index_vue_27.default,
77
+ Switchs: index_vue_29.default,
78
+ Rate: index_vue_30.default,
79
+ Upload: index_vue_31.default,
80
+ Slider: index_vue_33.default,
81
+ Tree: index_vue_34.default,
82
+ Title: index_vue_35.default,
83
+ Search: index_vue_36.default,
84
+ Tabs: index_vue_37.default,
85
+ Dynamic: index_vue_38.default,
86
+ Video: index_vue_39.default,
87
+ Verifys: index_vue_28.default,
88
+ textEllipsis: index_vue_42.default,
89
+ Sign: index_vue_32.default,
90
+ Login: index_vue_40.default,
91
+ };
92
+ exports.default = elementComponents;
@@ -0,0 +1,89 @@
1
+ import CountUp from '../../packages/element-plus/count-up/index.vue';
2
+ import Article from '../../packages/element-plus/article/index.vue';
3
+ import Crud from '../../packages/element-plus/crud/index.vue';
4
+ import Card from '../../packages/element-plus/card/index.vue';
5
+ import Chat from '../../packages/element-plus/chat/index.vue';
6
+ import Comment from '../../packages/element-plus/comment/index.vue';
7
+ import Form from '../../packages/element-plus/form/index.vue';
8
+ import Checkbox from '../../packages/element-plus/checkbox/index.vue';
9
+ import Date from '../../packages/element-plus/date/index.vue';
10
+ import Draggable from '../../packages/element-plus/draggable/index.vue';
11
+ import Flow from '../../packages/element-plus/flow/index.vue';
12
+ import Group from '../../packages/element-plus/group/index.vue';
13
+ import License from '../../packages/element-plus/license/index.vue';
14
+ import Time from '../../packages/element-plus/time/index.vue';
15
+ import Input from '../../packages/element-plus/input/index.vue';
16
+ import Radio from '../../packages/element-plus/radio/index.vue';
17
+ import Select from '../../packages/element-plus/select/index.vue';
18
+ import Cascader from '../../packages/element-plus/cascader/index.vue';
19
+ import InputColor from '../../packages/element-plus/input-color/index.vue';
20
+ import InputNumber from '../../packages/element-plus/input-number/index.vue';
21
+ import InputTree from '../../packages/element-plus/input-tree/index.vue';
22
+ import InputMap from '../../packages/element-plus/input-map/index.vue';
23
+ import InputIcon from '../../packages/element-plus/input-icon/index.vue';
24
+ import InputTag from '../../packages/element-plus/input-tag/index.vue';
25
+ import InputTable from '../../packages/element-plus/input-table/index.vue';
26
+ import InputCron from '../../packages/element-plus/input-cron/index.vue';
27
+ import Mention from '../../packages/element-plus/mention/index.vue';
28
+ import Verifys from '../../packages/element-plus/verify/index.vue';
29
+ import Switchs from '../../packages/element-plus/switch/index.vue';
30
+ import Rate from '../../packages/element-plus/rate/index.vue';
31
+ import Upload from '../../packages/element-plus/upload/index.vue';
32
+ import Sign from '../../packages/element-plus/sign/index.vue';
33
+ import Slider from '../../packages/element-plus/slider/index.vue';
34
+ import Tree from '../../packages/element-plus/tree/index.vue';
35
+ import Title from '../../packages/element-plus/title/index.vue';
36
+ import Search from '../../packages/element-plus/search/index.vue';
37
+ import Tabs from '../../packages/element-plus/tabs/index.vue';
38
+ import Dynamic from '../../packages/element-plus/dynamic/index.vue';
39
+ import Video from '../../packages/element-plus/video/index.vue';
40
+ import Login from '../../packages/element-plus/login/index.vue';
41
+ import Arrays from '../../packages/element-plus/array/index.vue';
42
+ import textEllipsis from '../../packages/element-plus/text-ellipsis/index.vue';
43
+
44
+ const elementComponents = {
45
+ Arrays,
46
+ Article,
47
+ Crud,
48
+ Card,
49
+ Chat,
50
+ Comment,
51
+ Form,
52
+ Checkbox,
53
+ Date,
54
+ CountUp,
55
+ Draggable,
56
+ Flow,
57
+ Group,
58
+ License,
59
+ Time,
60
+ Input,
61
+ Radio,
62
+ Select,
63
+ Cascader,
64
+ InputColor,
65
+ InputNumber,
66
+ InputTree,
67
+ InputIcon,
68
+ InputMap,
69
+ InputTag,
70
+ InputTable,
71
+ InputCron,
72
+ Mention,
73
+ Switchs,
74
+ Rate,
75
+ Upload,
76
+ Slider,
77
+ Tree,
78
+ Title,
79
+ Search,
80
+ Tabs,
81
+ Dynamic,
82
+ Video,
83
+ Verifys,
84
+ textEllipsis,
85
+ Sign,
86
+ Login,
87
+ };
88
+
89
+ export default elementComponents;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const index_js_1 = __importDefault(require("./element-plus/index.js"));
7
+ const index_js_2 = __importDefault(require("./data/index.js"));
8
+ const components = { ...index_js_1.default, ...index_js_2.default };
9
+ exports.default = components;
@@ -0,0 +1,6 @@
1
+ import Element from './element-plus/index';
2
+ import Data from './data/index';
3
+
4
+ const components = { ...Element, ...Data };
5
+
6
+ export default components;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ELEMENT = '__';
4
+ const MODS = '--';
5
+ const join = (name, el, symbol) => (el ? name + symbol + el : name);
6
+ const prefix = (name, mods) => {
7
+ if (typeof mods === 'string') {
8
+ return join(name, mods, MODS);
9
+ }
10
+ if (Array.isArray(mods)) {
11
+ return mods.map((item) => prefix(name, item));
12
+ }
13
+ const ret = {};
14
+ Object.keys(mods || {}).forEach((key) => {
15
+ ret[name + MODS + key] = mods[key];
16
+ });
17
+ return ret;
18
+ };
19
+ exports.default = {
20
+ methods: {
21
+ b(el, mods) {
22
+ const { name } = this.$options;
23
+ if (el && typeof el !== 'string') {
24
+ mods = el;
25
+ el = '';
26
+ }
27
+ el = join(name, el, ELEMENT);
28
+ return mods ? [el, prefix(el, mods)] : el;
29
+ },
30
+ },
31
+ };
@@ -0,0 +1,36 @@
1
+ const ELEMENT = '__';
2
+ const MODS = '--';
3
+
4
+ const join = (name: string, el: string, symbol: string) => (el ? name + symbol + el : name);
5
+
6
+ const prefix = (name: string, mods: any): any => {
7
+ if (typeof mods === 'string') {
8
+ return join(name, mods, MODS);
9
+ }
10
+
11
+ if (Array.isArray(mods)) {
12
+ return mods.map((item) => prefix(name, item));
13
+ }
14
+
15
+ const ret: Record<string, any> = {};
16
+ Object.keys(mods || {}).forEach((key) => {
17
+ ret[name + MODS + key] = mods[key];
18
+ });
19
+ return ret;
20
+ };
21
+
22
+ export default {
23
+ methods: {
24
+ b(this: any, el: any, mods: any) {
25
+ const { name } = this.$options;
26
+
27
+ if (el && typeof el !== 'string') {
28
+ mods = el;
29
+ el = '';
30
+ }
31
+ el = join(name, el, ELEMENT);
32
+
33
+ return mods ? [el, prefix(el, mods)] : el;
34
+ },
35
+ },
36
+ };
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const packages_js_1 = __importDefault(require("../core/packages.js"));
7
+ exports.default = (column, dicData, defaultForm, run) => {
8
+ if (!run)
9
+ return;
10
+ const win = window;
11
+ if (!win.Mock) {
12
+ packages_js_1.default.logs('mock');
13
+ return;
14
+ }
15
+ const mockjs = win.Mock;
16
+ const Random = (mockjs || {}).Random;
17
+ const form = {};
18
+ function createName({ en }) {
19
+ if (en) {
20
+ return Random.name(true);
21
+ }
22
+ return Random.cname();
23
+ }
24
+ function createImage({ size, text, base64 }) {
25
+ const imageSize = size || Random.natural(200, 400);
26
+ const textColor = text ? '#000000' : Random.color();
27
+ const bgColor = text ? '#ffffff' : Random.color();
28
+ if (base64) {
29
+ return Random.dataImage(imageSize, text);
30
+ }
31
+ return Random.image(imageSize, bgColor, textColor, 'png', text || Random.name());
32
+ }
33
+ function createId({ uuid }) {
34
+ if (uuid) {
35
+ return mockjs.mock('@guid');
36
+ }
37
+ return mockjs.mock('@id');
38
+ }
39
+ function createTel() {
40
+ return mockjs.mock(/^1[3-9]\d{9}$/);
41
+ }
42
+ function createNumber({ max, min, precision }) {
43
+ if (precision) {
44
+ const number = Random.float(min, max, precision) + '';
45
+ const index = number.indexOf('.') + 1;
46
+ return Number(number.substring(0, index + precision));
47
+ }
48
+ return Random.integer(min, max);
49
+ }
50
+ function createUrl({ header }) {
51
+ let url = Random.url();
52
+ const index = url.indexOf('://');
53
+ if (header === false) {
54
+ url = url.substring(index + 3);
55
+ }
56
+ else {
57
+ url = 'http://' + url.substring(index + 3);
58
+ }
59
+ return url;
60
+ }
61
+ function createDatetime({ format, now }) {
62
+ if (now) {
63
+ return Random.now(format);
64
+ }
65
+ return Random.datetime(format);
66
+ }
67
+ function createText({ min, max }) {
68
+ return Random.csentence(min, max);
69
+ }
70
+ function createCounty() {
71
+ return Random.county(true);
72
+ }
73
+ function createDic({ dic, props, columnType, multiple }) {
74
+ const value = props.value || 'value';
75
+ const len = dic.length;
76
+ if (len === 0)
77
+ return;
78
+ if (['checkbox'].includes(columnType) || multiple) {
79
+ const number = createNumber({
80
+ min: 1,
81
+ max: len,
82
+ });
83
+ const result = [];
84
+ for (let i = 0; i < number; i++) {
85
+ let flag = true;
86
+ while (flag) {
87
+ const numbers = createNumber({
88
+ min: 0,
89
+ max: len - 1,
90
+ });
91
+ const values = dic[numbers][value];
92
+ if (!result.includes(values)) {
93
+ result.push(values);
94
+ flag = false;
95
+ }
96
+ }
97
+ }
98
+ return result;
99
+ }
100
+ const number = createNumber({
101
+ min: 0,
102
+ max: len - 1,
103
+ });
104
+ return dic[number][value];
105
+ }
106
+ function create() {
107
+ Object.keys(column).forEach((index) => {
108
+ const ele = column[index];
109
+ const isObject = typeof ele.mock === 'object';
110
+ const params = isObject ? ele.mock || {} : {};
111
+ params.dic = dicData[ele.prop] || [];
112
+ params.props = ele.props || {};
113
+ params.columnType = ele.type;
114
+ params.multiple = ele.multiple;
115
+ const dataGenerator = {
116
+ name: createName,
117
+ number: createNumber,
118
+ datetime: createDatetime,
119
+ word: createText,
120
+ tel: createTel,
121
+ id: createId,
122
+ image: createImage,
123
+ url: createUrl,
124
+ county: createCounty,
125
+ dic: createDic,
126
+ };
127
+ if (isObject && dataGenerator[params.type]) {
128
+ if (params.array) {
129
+ form[ele.prop] = Array.from({ length: params.array }, () => dataGenerator[params.type](params));
130
+ }
131
+ else {
132
+ form[ele.prop] = dataGenerator[params.type](params);
133
+ }
134
+ }
135
+ else if (ele.mock instanceof Function) {
136
+ form[ele.prop] = ele.mock(defaultForm, mockjs);
137
+ }
138
+ });
139
+ }
140
+ create();
141
+ return form;
142
+ };