@smallwei/avue 3.8.1 → 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 (376) 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 -31398
  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.css +1 -1
  212. package/lib/index.js +134 -0
  213. package/lib/index.ts +177 -0
  214. package/lib/locale/browser/en.js +288 -0
  215. package/lib/locale/browser/zh-cn.js +288 -0
  216. package/lib/locale/browser/zh.js +288 -0
  217. package/lib/locale/index.js +153 -47
  218. package/lib/locale/index.ts +196 -0
  219. package/lib/locale/lang/en.js +284 -100
  220. package/lib/locale/lang/en.ts +282 -0
  221. package/lib/locale/lang/zh-cn.js +284 -0
  222. package/lib/locale/lang/zh-cn.ts +282 -0
  223. package/lib/locale/lang/zh.js +284 -100
  224. package/lib/locale/lang/zh.ts +282 -0
  225. package/lib/packages/core/common/event.js +61 -0
  226. package/lib/packages/core/common/event.ts +56 -0
  227. package/lib/packages/core/common/init.js +140 -0
  228. package/lib/packages/core/common/init.ts +133 -0
  229. package/lib/packages/core/common/props.js +245 -0
  230. package/lib/packages/core/common/props.ts +240 -0
  231. package/lib/packages/core/components/dialog-form/index.js +35 -0
  232. package/lib/packages/core/components/dialog-form/index.ts +29 -0
  233. package/lib/packages/core/components/dialog-form/index.vue +108 -0
  234. package/lib/packages/core/components/form/custom.js +43 -0
  235. package/lib/packages/core/components/form/custom.ts +41 -0
  236. package/lib/packages/core/components/form/index.vue +176 -0
  237. package/lib/packages/core/components/icon/index.vue +37 -0
  238. package/lib/packages/core/components/image-preview/index.js +40 -0
  239. package/lib/packages/core/components/image-preview/index.ts +37 -0
  240. package/lib/packages/core/components/image-preview/index.vue +215 -0
  241. package/lib/packages/core/directive/contextmenu.js +94 -0
  242. package/lib/packages/core/directive/contextmenu.ts +103 -0
  243. package/lib/packages/core/directive/permission.js +21 -0
  244. package/lib/packages/core/directive/permission.ts +18 -0
  245. package/lib/packages/data/box/index.vue +66 -0
  246. package/lib/packages/data/card/index.vue +62 -0
  247. package/lib/packages/data/cardText/index.vue +56 -0
  248. package/lib/packages/data/countdown/index.vue +81 -0
  249. package/lib/packages/data/dashboard/index.vue +72 -0
  250. package/lib/packages/data/display/index.vue +63 -0
  251. package/lib/packages/data/icons/index.vue +68 -0
  252. package/lib/packages/data/imgText/index.vue +72 -0
  253. package/lib/packages/data/list/index.vue +69 -0
  254. package/lib/packages/data/notice/index.vue +63 -0
  255. package/lib/packages/data/operaText/index.vue +62 -0
  256. package/lib/packages/data/panel/index.vue +62 -0
  257. package/lib/packages/data/pay/index.vue +92 -0
  258. package/lib/packages/data/price/index.vue +55 -0
  259. package/lib/packages/data/product/index.vue +106 -0
  260. package/lib/packages/data/profile/index.vue +91 -0
  261. package/lib/packages/data/progress/index.vue +64 -0
  262. package/lib/packages/data/rank/index.vue +92 -0
  263. package/lib/packages/data/rotate/index.vue +69 -0
  264. package/lib/packages/data/statistic/index.vue +71 -0
  265. package/lib/packages/data/tabs/index.vue +64 -0
  266. package/lib/packages/data/task/index.vue +82 -0
  267. package/lib/packages/data/weather/index.vue +103 -0
  268. package/lib/packages/element-plus/array/index.vue +115 -0
  269. package/lib/packages/element-plus/article/index.vue +73 -0
  270. package/lib/packages/element-plus/card/index.vue +103 -0
  271. package/lib/packages/element-plus/cascader/index.vue +132 -0
  272. package/lib/packages/element-plus/chat/index.vue +513 -0
  273. package/lib/packages/element-plus/checkbox/index.vue +84 -0
  274. package/lib/packages/element-plus/comment/index.vue +76 -0
  275. package/lib/packages/element-plus/count-up/index.vue +107 -0
  276. package/lib/packages/element-plus/crud/column/column-default.vue +128 -0
  277. package/lib/packages/element-plus/crud/column/column-dynamic.vue +86 -0
  278. package/lib/packages/element-plus/crud/column/column-menu.vue +267 -0
  279. package/lib/packages/element-plus/crud/column/column-slot.vue +348 -0
  280. package/lib/packages/element-plus/crud/column/column.vue +119 -0
  281. package/lib/packages/element-plus/crud/column/menu.vue +78 -0
  282. package/lib/packages/element-plus/crud/config.js +76 -0
  283. package/lib/packages/element-plus/crud/config.ts +74 -0
  284. package/lib/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
  285. package/lib/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
  286. package/lib/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
  287. package/lib/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
  288. package/lib/packages/element-plus/crud/grid/index.vue +271 -0
  289. package/lib/packages/element-plus/crud/grid/item.vue +39 -0
  290. package/lib/packages/element-plus/crud/index.vue +1018 -0
  291. package/lib/packages/element-plus/crud/menu/header-menu.vue +175 -0
  292. package/lib/packages/element-plus/crud/menu/header-search.vue +228 -0
  293. package/lib/packages/element-plus/crud/menu/table-page.vue +108 -0
  294. package/lib/packages/element-plus/date/index.vue +81 -0
  295. package/lib/packages/element-plus/draggable/index.vue +444 -0
  296. package/lib/packages/element-plus/dynamic/index.vue +353 -0
  297. package/lib/packages/element-plus/flow/index.vue +339 -0
  298. package/lib/packages/element-plus/flow/node.vue +84 -0
  299. package/lib/packages/element-plus/form/config.js +8 -0
  300. package/lib/packages/element-plus/form/config.ts +6 -0
  301. package/lib/packages/element-plus/form/index.vue +954 -0
  302. package/lib/packages/element-plus/form/menu.vue +63 -0
  303. package/lib/packages/element-plus/group/index.vue +90 -0
  304. package/lib/packages/element-plus/input/index.vue +1264 -0
  305. package/lib/packages/element-plus/input-color/index.vue +70 -0
  306. package/lib/packages/element-plus/input-cron/index.vue +363 -0
  307. package/lib/packages/element-plus/input-icon/index.vue +143 -0
  308. package/lib/packages/element-plus/input-map/index.vue +311 -0
  309. package/lib/packages/element-plus/input-number/index.vue +91 -0
  310. package/lib/packages/element-plus/input-table/index.vue +279 -0
  311. package/lib/packages/element-plus/input-tag/index.vue +79 -0
  312. package/lib/packages/element-plus/input-tree/index.vue +194 -0
  313. package/lib/packages/element-plus/license/index.vue +155 -0
  314. package/lib/packages/element-plus/login/index.vue +203 -0
  315. package/lib/packages/element-plus/mention/index.vue +117 -0
  316. package/lib/packages/element-plus/radio/index.vue +38 -0
  317. package/lib/packages/element-plus/rate/index.vue +51 -0
  318. package/lib/packages/element-plus/search/index.vue +129 -0
  319. package/lib/packages/element-plus/select/index.vue +292 -0
  320. package/lib/packages/element-plus/sign/index.vue +230 -0
  321. package/lib/packages/element-plus/slider/index.vue +66 -0
  322. package/lib/packages/element-plus/switch/index.vue +72 -0
  323. package/lib/packages/element-plus/tabs/index.vue +62 -0
  324. package/lib/packages/element-plus/text-ellipsis/index.vue +104 -0
  325. package/lib/packages/element-plus/time/index.vue +81 -0
  326. package/lib/packages/element-plus/title/index.vue +30 -0
  327. package/lib/packages/element-plus/tree/index.vue +460 -0
  328. package/lib/packages/element-plus/upload/index.vue +728 -0
  329. package/lib/packages/element-plus/verify/index.vue +62 -0
  330. package/lib/packages/element-plus/video/index.vue +90 -0
  331. package/lib/plugin/ali/index.js +8 -0
  332. package/lib/plugin/ali/index.ts +6 -0
  333. package/lib/plugin/clipboard/index.js +64 -0
  334. package/lib/plugin/clipboard/index.ts +67 -0
  335. package/lib/plugin/export/_blob.js +151 -0
  336. package/lib/plugin/export/_blob.ts +176 -0
  337. package/lib/plugin/export/_export2Excel.js +145 -0
  338. package/lib/plugin/export/_export2Excel.ts +166 -0
  339. package/lib/plugin/export/index.js +268 -0
  340. package/lib/plugin/export/index.ts +274 -0
  341. package/lib/plugin/logs/index.js +48 -0
  342. package/lib/plugin/logs/index.ts +66 -0
  343. package/lib/plugin/print/index.js +147 -0
  344. package/lib/plugin/print/index.ts +155 -0
  345. package/lib/plugin/qiniu/index.js +82 -0
  346. package/lib/plugin/qiniu/index.ts +88 -0
  347. package/lib/plugin/screenshot/index.js +14 -0
  348. package/lib/plugin/screenshot/index.ts +9 -0
  349. package/lib/plugin/video/index.js +55 -0
  350. package/lib/plugin/video/index.ts +60 -0
  351. package/lib/plugin/watermark/index.js +121 -0
  352. package/lib/plugin/watermark/index.ts +127 -0
  353. package/lib/plugin/watermark/watermark.js +111 -0
  354. package/lib/plugin/watermark/watermark.ts +121 -0
  355. package/lib/ui/data/index.js +54 -0
  356. package/lib/ui/data/index.ts +51 -0
  357. package/lib/ui/element-plus/index.js +92 -0
  358. package/lib/ui/element-plus/index.ts +89 -0
  359. package/lib/ui/index.js +9 -0
  360. package/lib/ui/index.ts +6 -0
  361. package/lib/utils/bem.js +31 -0
  362. package/lib/utils/bem.ts +36 -0
  363. package/lib/utils/mock.js +142 -0
  364. package/lib/utils/mock.ts +151 -0
  365. package/lib/utils/util.js +403 -0
  366. package/lib/utils/util.ts +392 -0
  367. package/lib/utils/validate.js +21 -0
  368. package/lib/utils/validate.ts +23 -0
  369. package/lib/version.js +4 -0
  370. package/lib/version.ts +1 -0
  371. package/package.json +24 -11
  372. package/types/index.d.ts +141 -0
  373. package/types/shims-aliases.d.ts +4 -0
  374. package/types/shims-vue.d.ts +6 -0
  375. package/lib/avue.js.map +0 -1
  376. package/lib/locale/format.js +0 -44
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getToken = void 0;
4
+ const getToken = (accessKey, secretKey, putPolicy) => {
5
+ const putPolicyString = JSON.stringify(putPolicy);
6
+ __ENV__ === 'development' && console && console.log('put_policy = ', putPolicyString);
7
+ const encoded = base64encode(utf16to8(putPolicyString));
8
+ __ENV__ === 'development' && console && console.log('encoded = ', encoded);
9
+ const hash = CryptoJS.HmacSHA1(encoded, secretKey);
10
+ const encodedSigned = hash.toString(CryptoJS.enc.Base64);
11
+ __ENV__ === 'development' && console && console.log('encoded_signed=', encodedSigned);
12
+ const uploadToken = accessKey + ':' + safe64(encodedSigned) + ':' + encoded;
13
+ __ENV__ === 'development' && console && console.log('upload_token=', uploadToken);
14
+ return uploadToken;
15
+ };
16
+ exports.getToken = getToken;
17
+ function utf16to8(str) {
18
+ let out = '';
19
+ const len = str.length;
20
+ let c;
21
+ for (let i = 0; i < len; i++) {
22
+ c = str.charCodeAt(i);
23
+ if (c >= 0x0001 && c <= 0x007f) {
24
+ out += str.charAt(i);
25
+ }
26
+ else if (c > 0x07ff) {
27
+ out += String.fromCharCode(0xe0 | ((c >> 12) & 0x0f));
28
+ out += String.fromCharCode(0x80 | ((c >> 6) & 0x3f));
29
+ out += String.fromCharCode(0x80 | (c & 0x3f));
30
+ }
31
+ else {
32
+ out += String.fromCharCode(0xc0 | ((c >> 6) & 0x1f));
33
+ out += String.fromCharCode(0x80 | (c & 0x3f));
34
+ }
35
+ }
36
+ return out;
37
+ }
38
+ const base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
39
+ const base64DecodeChars = [
40
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57,
42
+ 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
43
+ 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
44
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
45
+ ];
46
+ function base64encode(str) {
47
+ let out = '';
48
+ const len = str.length;
49
+ let i = 0;
50
+ let c1;
51
+ let c2;
52
+ let c3;
53
+ while (i < len) {
54
+ c1 = str.charCodeAt(i++) & 0xff;
55
+ if (i == len) {
56
+ out += base64EncodeChars.charAt(c1 >> 2);
57
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4);
58
+ out += '==';
59
+ break;
60
+ }
61
+ c2 = str.charCodeAt(i++);
62
+ if (i == len) {
63
+ out += base64EncodeChars.charAt(c1 >> 2);
64
+ out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
65
+ out += base64EncodeChars.charAt((c2 & 0xf) << 2);
66
+ out += '=';
67
+ break;
68
+ }
69
+ c3 = str.charCodeAt(i++);
70
+ out += base64EncodeChars.charAt(c1 >> 2);
71
+ out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
72
+ out += base64EncodeChars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6));
73
+ out += base64EncodeChars.charAt(c3 & 0x3f);
74
+ }
75
+ return out;
76
+ }
77
+ const safe64 = function (base64) {
78
+ base64 = base64.replace(/\+/g, '-');
79
+ base64 = base64.replace(/\//g, '_');
80
+ return base64;
81
+ };
82
+ void base64DecodeChars;
@@ -0,0 +1,88 @@
1
+ declare const __ENV__: string;
2
+ declare const CryptoJS: any;
3
+
4
+ export const getToken = (accessKey: string, secretKey: string, putPolicy: Record<string, any>) => {
5
+ const putPolicyString = JSON.stringify(putPolicy);
6
+ __ENV__ === 'development' && console && console.log('put_policy = ', putPolicyString);
7
+
8
+ const encoded = base64encode(utf16to8(putPolicyString));
9
+ __ENV__ === 'development' && console && console.log('encoded = ', encoded);
10
+
11
+ const hash = CryptoJS.HmacSHA1(encoded, secretKey);
12
+ const encodedSigned = hash.toString(CryptoJS.enc.Base64);
13
+ __ENV__ === 'development' && console && console.log('encoded_signed=', encodedSigned);
14
+
15
+ const uploadToken = accessKey + ':' + safe64(encodedSigned) + ':' + encoded;
16
+ __ENV__ === 'development' && console && console.log('upload_token=', uploadToken);
17
+
18
+ return uploadToken;
19
+ };
20
+
21
+ function utf16to8(str: string) {
22
+ let out = '';
23
+ const len = str.length;
24
+ let c;
25
+ for (let i = 0; i < len; i++) {
26
+ c = str.charCodeAt(i);
27
+ if (c >= 0x0001 && c <= 0x007f) {
28
+ out += str.charAt(i);
29
+ } else if (c > 0x07ff) {
30
+ out += String.fromCharCode(0xe0 | ((c >> 12) & 0x0f));
31
+ out += String.fromCharCode(0x80 | ((c >> 6) & 0x3f));
32
+ out += String.fromCharCode(0x80 | (c & 0x3f));
33
+ } else {
34
+ out += String.fromCharCode(0xc0 | ((c >> 6) & 0x1f));
35
+ out += String.fromCharCode(0x80 | (c & 0x3f));
36
+ }
37
+ }
38
+ return out;
39
+ }
40
+
41
+ const base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
42
+ const base64DecodeChars = [
43
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
44
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57,
45
+ 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
46
+ 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
47
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
48
+ ];
49
+
50
+ function base64encode(str: string) {
51
+ let out = '';
52
+ const len = str.length;
53
+ let i = 0;
54
+ let c1;
55
+ let c2;
56
+ let c3;
57
+ while (i < len) {
58
+ c1 = str.charCodeAt(i++) & 0xff;
59
+ if (i == len) {
60
+ out += base64EncodeChars.charAt(c1 >> 2);
61
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4);
62
+ out += '==';
63
+ break;
64
+ }
65
+ c2 = str.charCodeAt(i++);
66
+ if (i == len) {
67
+ out += base64EncodeChars.charAt(c1 >> 2);
68
+ out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
69
+ out += base64EncodeChars.charAt((c2 & 0xf) << 2);
70
+ out += '=';
71
+ break;
72
+ }
73
+ c3 = str.charCodeAt(i++);
74
+ out += base64EncodeChars.charAt(c1 >> 2);
75
+ out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
76
+ out += base64EncodeChars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6));
77
+ out += base64EncodeChars.charAt(c3 & 0x3f);
78
+ }
79
+ return out;
80
+ }
81
+
82
+ const safe64 = function (base64: string) {
83
+ base64 = base64.replace(/\+/g, '-');
84
+ base64 = base64.replace(/\//g, '_');
85
+ return base64;
86
+ };
87
+
88
+ void base64DecodeChars;
@@ -0,0 +1,14 @@
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
+ exports.default = default_1;
7
+ const packages_js_1 = __importDefault(require("../../core/packages.js"));
8
+ function default_1(doc, option = {}) {
9
+ if (!window.html2canvas) {
10
+ packages_js_1.default.logs('Screenshot');
11
+ return;
12
+ }
13
+ return window.html2canvas(doc, option);
14
+ }
@@ -0,0 +1,9 @@
1
+ import packages from '../../core/packages';
2
+
3
+ export default function (doc: HTMLElement, option: Record<string, any> = {}) {
4
+ if (!(window as any).html2canvas) {
5
+ packages.logs('Screenshot');
6
+ return;
7
+ }
8
+ return (window as any).html2canvas(doc, option);
9
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class RecordVideo {
4
+ constructor(videoObj) {
5
+ this.video = videoObj;
6
+ this.mediaRecorder = null;
7
+ this.chunks = [];
8
+ }
9
+ init() {
10
+ return new Promise((resolve, reject) => {
11
+ navigator.mediaDevices
12
+ .getUserMedia({
13
+ audio: true,
14
+ video: true,
15
+ })
16
+ .then((stream) => {
17
+ if ('srcObject' in this.video) {
18
+ this.video.srcObject = stream;
19
+ }
20
+ else {
21
+ this.video.src = window.URL.createObjectURL(stream);
22
+ }
23
+ this.video.addEventListener('loadmetadata', () => {
24
+ this.video.play();
25
+ });
26
+ this.mediaRecorder = new MediaRecorder(stream);
27
+ this.mediaRecorder.addEventListener('dataavailable', (e) => {
28
+ this.chunks.push(e.data);
29
+ });
30
+ resolve();
31
+ })
32
+ .catch((error) => {
33
+ reject(error);
34
+ });
35
+ });
36
+ }
37
+ startRecord() {
38
+ if (this.mediaRecorder && this.mediaRecorder.state === 'inactive') {
39
+ this.mediaRecorder.start();
40
+ }
41
+ }
42
+ stopRecord() {
43
+ if (this.mediaRecorder && this.mediaRecorder.state === 'recording') {
44
+ this.mediaRecorder.stop();
45
+ }
46
+ }
47
+ isSupport() {
48
+ const flag = navigator.mediaDevices && navigator.mediaDevices.getUserMedia;
49
+ if (flag) {
50
+ return true;
51
+ }
52
+ return false;
53
+ }
54
+ }
55
+ exports.default = RecordVideo;
@@ -0,0 +1,60 @@
1
+ export default class RecordVideo {
2
+ video: HTMLMediaElement & { srcObject?: MediaStream | null };
3
+ mediaRecorder: MediaRecorder | null;
4
+ chunks: Blob[];
5
+
6
+ constructor(videoObj: HTMLMediaElement & { srcObject?: MediaStream | null }) {
7
+ this.video = videoObj;
8
+ this.mediaRecorder = null;
9
+ this.chunks = [];
10
+ }
11
+
12
+ init() {
13
+ return new Promise<void>((resolve, reject) => {
14
+ navigator.mediaDevices
15
+ .getUserMedia({
16
+ audio: true,
17
+ video: true,
18
+ })
19
+ .then((stream) => {
20
+ if ('srcObject' in this.video) {
21
+ this.video.srcObject = stream;
22
+ } else {
23
+ (this.video as any).src = window.URL.createObjectURL(stream as any);
24
+ }
25
+
26
+ this.video.addEventListener('loadmetadata', () => {
27
+ this.video.play();
28
+ });
29
+ this.mediaRecorder = new MediaRecorder(stream);
30
+ this.mediaRecorder.addEventListener('dataavailable', (e) => {
31
+ this.chunks.push(e.data);
32
+ });
33
+ resolve();
34
+ })
35
+ .catch((error) => {
36
+ reject(error);
37
+ });
38
+ });
39
+ }
40
+
41
+ startRecord() {
42
+ if (this.mediaRecorder && this.mediaRecorder.state === 'inactive') {
43
+ this.mediaRecorder.start();
44
+ }
45
+ }
46
+
47
+ stopRecord() {
48
+ if (this.mediaRecorder && this.mediaRecorder.state === 'recording') {
49
+ this.mediaRecorder.stop();
50
+ }
51
+ }
52
+
53
+ isSupport() {
54
+ const flag = navigator.mediaDevices && navigator.mediaDevices.getUserMedia;
55
+ if (flag) {
56
+ return true;
57
+ }
58
+ return false;
59
+ }
60
+ }
@@ -0,0 +1,121 @@
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
+ exports.default = default_1;
7
+ exports.detailImg = detailImg;
8
+ const watermark_js_1 = __importDefault(require("./watermark.js"));
9
+ const util_js_1 = require("../../utils/util.js");
10
+ let canvas;
11
+ let ctx;
12
+ const configDefault = {
13
+ width: 200,
14
+ height: 200,
15
+ };
16
+ const config = {
17
+ text: 'avueJS',
18
+ fontFamily: 'microsoft yahei',
19
+ color: '#999',
20
+ fontSize: 16,
21
+ opacity: 100,
22
+ bottom: 10,
23
+ right: 10,
24
+ ratio: 1,
25
+ };
26
+ function default_1(opt = {}) {
27
+ return new watermark_js_1.default(opt);
28
+ }
29
+ function detailImg(file, option = {}) {
30
+ return new Promise((resolve) => {
31
+ const { text, fontFamily, color, fontSize, opacity, bottom, right, ratio } = option;
32
+ initParams();
33
+ fileToBase64(file, initImg);
34
+ function initParams() {
35
+ config.text = text || config.text;
36
+ config.fontFamily = fontFamily || config.fontFamily;
37
+ config.color = color || config.color;
38
+ config.fontSize = fontSize || config.fontSize;
39
+ config.opacity = opacity || config.opacity;
40
+ config.bottom = bottom || config.bottom;
41
+ config.right = right || config.right;
42
+ config.ratio = ratio || config.ratio;
43
+ }
44
+ function initImg(data) {
45
+ const img = new Image();
46
+ img.src = data;
47
+ img.onload = function () {
48
+ const width = img.width;
49
+ const height = img.height;
50
+ cretedCanvas(width, height);
51
+ ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(img, 0, 0, width, height);
52
+ setText(width, height);
53
+ const currentCanvas = document.getElementById('canvas');
54
+ resolve((0, util_js_1.dataURLtoFile)(currentCanvas.toDataURL(file.type, config.ratio), file.name));
55
+ };
56
+ }
57
+ function cretedCanvas(width, height) {
58
+ canvas = document.getElementById('canvas');
59
+ if (canvas === null) {
60
+ canvas = document.createElement('canvas');
61
+ canvas.id = 'canvas';
62
+ canvas.className = 'avue-canvas';
63
+ document.body.appendChild(canvas);
64
+ }
65
+ ctx = canvas.getContext('2d');
66
+ canvas.width = width;
67
+ canvas.height = height;
68
+ }
69
+ function setText(width, height) {
70
+ const txt = config.text;
71
+ const param = calcParam(txt, width, height);
72
+ if (!ctx)
73
+ return;
74
+ ctx.font = param.fontSize + 'px ' + config.fontFamily;
75
+ ctx.fillStyle = config.color;
76
+ ctx.globalAlpha = config.opacity / 100;
77
+ ctx.fillText(txt, param.x, param.y);
78
+ }
79
+ function calcParam(txt, width, height) {
80
+ let x;
81
+ let y;
82
+ const calcFontSize = config.fontSize / configDefault.width;
83
+ const fontSize = calcFontSize * width;
84
+ if (config.bottom) {
85
+ y = configDefault.height - config.bottom;
86
+ }
87
+ else {
88
+ y = config.top;
89
+ }
90
+ if (config.right) {
91
+ x = configDefault.width - config.right;
92
+ }
93
+ else {
94
+ x = config.left;
95
+ }
96
+ if (!ctx) {
97
+ return { x: 0, y: 0, fontSize };
98
+ }
99
+ ctx.font = config.fontSize + 'px ' + config.fontFamily;
100
+ const txtWidth = Number(ctx.measureText(txt).width);
101
+ x = x - txtWidth;
102
+ const calcPosX = x / configDefault.width;
103
+ const calcPosY = y / configDefault.height;
104
+ x = calcPosX * width;
105
+ y = calcPosY * height;
106
+ return {
107
+ x,
108
+ y,
109
+ fontSize,
110
+ };
111
+ }
112
+ function fileToBase64(rawFile, callback) {
113
+ const reader = new FileReader();
114
+ reader.readAsDataURL(rawFile);
115
+ reader.onload = function (e) {
116
+ var _a;
117
+ callback((_a = e.target) === null || _a === void 0 ? void 0 : _a.result);
118
+ };
119
+ }
120
+ });
121
+ }
@@ -0,0 +1,127 @@
1
+ import WaterMark from './watermark';
2
+ import { dataURLtoFile } from '../../utils/util';
3
+
4
+ let canvas: HTMLCanvasElement | null;
5
+ let ctx: CanvasRenderingContext2D | null;
6
+
7
+ const configDefault = {
8
+ width: 200,
9
+ height: 200,
10
+ };
11
+
12
+ const config: Record<string, any> = {
13
+ text: 'avueJS',
14
+ fontFamily: 'microsoft yahei',
15
+ color: '#999',
16
+ fontSize: 16,
17
+ opacity: 100,
18
+ bottom: 10,
19
+ right: 10,
20
+ ratio: 1,
21
+ };
22
+
23
+ export default function (opt: Record<string, any> = {}) {
24
+ return new WaterMark(opt);
25
+ }
26
+
27
+ export function detailImg(file: File, option: Record<string, any> = {}) {
28
+ return new Promise<File>((resolve) => {
29
+ const { text, fontFamily, color, fontSize, opacity, bottom, right, ratio } = option;
30
+ initParams();
31
+ fileToBase64(file, initImg);
32
+
33
+ function initParams() {
34
+ config.text = text || config.text;
35
+ config.fontFamily = fontFamily || config.fontFamily;
36
+ config.color = color || config.color;
37
+ config.fontSize = fontSize || config.fontSize;
38
+ config.opacity = opacity || config.opacity;
39
+ config.bottom = bottom || config.bottom;
40
+ config.right = right || config.right;
41
+ config.ratio = ratio || config.ratio;
42
+ }
43
+
44
+ function initImg(data: string) {
45
+ const img = new Image();
46
+ img.src = data;
47
+ img.onload = function () {
48
+ const width = img.width;
49
+ const height = img.height;
50
+ cretedCanvas(width, height);
51
+ ctx?.drawImage(img, 0, 0, width, height);
52
+ setText(width, height);
53
+ const currentCanvas = document.getElementById('canvas') as HTMLCanvasElement | null;
54
+ resolve(dataURLtoFile(currentCanvas!.toDataURL(file.type, config.ratio), file.name));
55
+ };
56
+ }
57
+
58
+ function cretedCanvas(width: number, height: number) {
59
+ canvas = document.getElementById('canvas') as HTMLCanvasElement | null;
60
+ if (canvas === null) {
61
+ canvas = document.createElement('canvas');
62
+ canvas.id = 'canvas';
63
+ canvas.className = 'avue-canvas';
64
+ document.body.appendChild(canvas);
65
+ }
66
+ ctx = canvas.getContext('2d');
67
+ canvas.width = width;
68
+ canvas.height = height;
69
+ }
70
+
71
+ function setText(width: number, height: number) {
72
+ const txt = config.text;
73
+ const param = calcParam(txt, width, height);
74
+ if (!ctx) return;
75
+ ctx.font = param.fontSize + 'px ' + config.fontFamily;
76
+ ctx.fillStyle = config.color;
77
+ ctx.globalAlpha = config.opacity / 100;
78
+ ctx.fillText(txt, param.x, param.y);
79
+ }
80
+
81
+ function calcParam(txt: string, width: number, height: number) {
82
+ let x;
83
+ let y;
84
+
85
+ const calcFontSize = config.fontSize / configDefault.width;
86
+ const fontSize = calcFontSize * width;
87
+
88
+ if (config.bottom) {
89
+ y = configDefault.height - config.bottom;
90
+ } else {
91
+ y = config.top;
92
+ }
93
+
94
+ if (config.right) {
95
+ x = configDefault.width - config.right;
96
+ } else {
97
+ x = config.left;
98
+ }
99
+ if (!ctx) {
100
+ return { x: 0, y: 0, fontSize };
101
+ }
102
+ ctx.font = config.fontSize + 'px ' + config.fontFamily;
103
+ const txtWidth = Number(ctx.measureText(txt).width);
104
+
105
+ x = x - txtWidth;
106
+
107
+ const calcPosX = x / configDefault.width;
108
+ const calcPosY = y / configDefault.height;
109
+
110
+ x = calcPosX * width;
111
+ y = calcPosY * height;
112
+ return {
113
+ x,
114
+ y,
115
+ fontSize,
116
+ };
117
+ }
118
+
119
+ function fileToBase64(rawFile: File, callback: (data: string) => void) {
120
+ const reader = new FileReader();
121
+ reader.readAsDataURL(rawFile);
122
+ reader.onload = function (e) {
123
+ callback(e.target?.result as string);
124
+ };
125
+ }
126
+ });
127
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const util_js_1 = require("../../utils/util.js");
4
+ class WaterMark {
5
+ constructor(opt = {}) {
6
+ this.CONTAINERID = (0, util_js_1.randomId)();
7
+ this.drawCanvas = this.drawCanvas.bind(this);
8
+ this.parentObserver = this.parentObserver.bind(this);
9
+ this.Repaint = this.Repaint.bind(this);
10
+ this.styleStr = '';
11
+ this.isOberserve = false;
12
+ this.init(opt);
13
+ this.drawCanvas();
14
+ this.parentObserver();
15
+ }
16
+ init(opt) {
17
+ this.option = Object.assign({
18
+ width: 400,
19
+ height: 200,
20
+ text: 'avueJS',
21
+ fontSize: '30px',
22
+ fontStyle: 'microsoft yahei',
23
+ textAlign: 'center',
24
+ color: 'rgba(100,100,100,0.15)',
25
+ degree: -20,
26
+ }, opt);
27
+ }
28
+ drawCanvas() {
29
+ this.isOberserve = true;
30
+ const divContainer = document.createElement('div');
31
+ const canvas = document.createElement('canvas');
32
+ const context = canvas.getContext('2d');
33
+ divContainer.id = this.CONTAINERID;
34
+ canvas.width = this.option.width;
35
+ canvas.height = this.option.height;
36
+ if (!context)
37
+ return;
38
+ context.font = `${this.option.fontSize} ${this.option.fontStyle}`;
39
+ context.textAlign = this.option.textAlign;
40
+ context.fillStyle = this.option.color;
41
+ context.translate(canvas.width / 2, canvas.height / 2);
42
+ context.rotate((this.option.degree * Math.PI) / 180);
43
+ context.fillText(this.option.text, 0, 0);
44
+ const backgroundUrl = canvas.toDataURL('image/png');
45
+ const flag = this.option.id;
46
+ let el = null;
47
+ if (flag)
48
+ el = document.getElementById(flag);
49
+ this.styleStr = `
50
+ position:${flag ? 'absolute' : 'fixed'};
51
+ top:0;
52
+ left:0;
53
+ width:${flag && el ? el.offsetWidth + 'px' : '100%'};
54
+ height:${flag && el ? el.offsetHeight + 'px' : '100%'};
55
+ z-index:9999;
56
+ pointer-events:none;
57
+ background-repeat:repeat;
58
+ background-image:url('${backgroundUrl}')`;
59
+ divContainer.setAttribute('style', this.styleStr);
60
+ if (flag && el) {
61
+ el.appendChild(divContainer);
62
+ }
63
+ else {
64
+ document.body.appendChild(divContainer);
65
+ }
66
+ this.wmObserver(divContainer);
67
+ this.isOberserve = false;
68
+ }
69
+ wmObserver(divContainer) {
70
+ const wmConf = { attributes: true, childList: true, characterData: true };
71
+ const wmObserver = new MutationObserver((mo) => {
72
+ if (!this.isOberserve) {
73
+ const target = mo[0].target;
74
+ target.setAttribute('style', this.styleStr);
75
+ target.setAttribute('id', this.CONTAINERID);
76
+ wmObserver.takeRecords();
77
+ }
78
+ });
79
+ wmObserver.observe(divContainer, wmConf);
80
+ }
81
+ parentObserver() {
82
+ var _a;
83
+ const bodyObserver = new MutationObserver(() => {
84
+ if (!this.isOberserve) {
85
+ const wm = document.querySelector(`#${this.CONTAINERID}`);
86
+ if (!wm) {
87
+ this.drawCanvas();
88
+ }
89
+ else if (wm.getAttribute('style') !== this.styleStr) {
90
+ wm.setAttribute('style', this.styleStr);
91
+ }
92
+ }
93
+ });
94
+ const parentNode = (_a = document.querySelector(`#${this.CONTAINERID}`)) === null || _a === void 0 ? void 0 : _a.parentNode;
95
+ if (parentNode) {
96
+ bodyObserver.observe(parentNode, { childList: true });
97
+ }
98
+ }
99
+ Repaint(opt = {}) {
100
+ this.remove();
101
+ this.init(opt);
102
+ this.drawCanvas();
103
+ }
104
+ remove() {
105
+ var _a;
106
+ this.isOberserve = true;
107
+ const wm = document.querySelector(`#${this.CONTAINERID}`);
108
+ (_a = wm === null || wm === void 0 ? void 0 : wm.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(wm);
109
+ }
110
+ }
111
+ exports.default = WaterMark;