@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,78 @@
1
+ export const getToken = (accessKey, secretKey, putPolicy) => {
2
+ const putPolicyString = JSON.stringify(putPolicy);
3
+ __ENV__ === 'development' && console && console.log('put_policy = ', putPolicyString);
4
+ const encoded = base64encode(utf16to8(putPolicyString));
5
+ __ENV__ === 'development' && console && console.log('encoded = ', encoded);
6
+ const hash = CryptoJS.HmacSHA1(encoded, secretKey);
7
+ const encodedSigned = hash.toString(CryptoJS.enc.Base64);
8
+ __ENV__ === 'development' && console && console.log('encoded_signed=', encodedSigned);
9
+ const uploadToken = accessKey + ':' + safe64(encodedSigned) + ':' + encoded;
10
+ __ENV__ === 'development' && console && console.log('upload_token=', uploadToken);
11
+ return uploadToken;
12
+ };
13
+ function utf16to8(str) {
14
+ let out = '';
15
+ const len = str.length;
16
+ let c;
17
+ for (let i = 0; i < len; i++) {
18
+ c = str.charCodeAt(i);
19
+ if (c >= 0x0001 && c <= 0x007f) {
20
+ out += str.charAt(i);
21
+ }
22
+ else if (c > 0x07ff) {
23
+ out += String.fromCharCode(0xe0 | ((c >> 12) & 0x0f));
24
+ out += String.fromCharCode(0x80 | ((c >> 6) & 0x3f));
25
+ out += String.fromCharCode(0x80 | (c & 0x3f));
26
+ }
27
+ else {
28
+ out += String.fromCharCode(0xc0 | ((c >> 6) & 0x1f));
29
+ out += String.fromCharCode(0x80 | (c & 0x3f));
30
+ }
31
+ }
32
+ return out;
33
+ }
34
+ const base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
35
+ const base64DecodeChars = [
36
+ -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,
37
+ -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,
38
+ 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,
39
+ 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,
40
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
41
+ ];
42
+ function base64encode(str) {
43
+ let out = '';
44
+ const len = str.length;
45
+ let i = 0;
46
+ let c1;
47
+ let c2;
48
+ let c3;
49
+ while (i < len) {
50
+ c1 = str.charCodeAt(i++) & 0xff;
51
+ if (i == len) {
52
+ out += base64EncodeChars.charAt(c1 >> 2);
53
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4);
54
+ out += '==';
55
+ break;
56
+ }
57
+ c2 = str.charCodeAt(i++);
58
+ if (i == len) {
59
+ out += base64EncodeChars.charAt(c1 >> 2);
60
+ out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
61
+ out += base64EncodeChars.charAt((c2 & 0xf) << 2);
62
+ out += '=';
63
+ break;
64
+ }
65
+ c3 = str.charCodeAt(i++);
66
+ out += base64EncodeChars.charAt(c1 >> 2);
67
+ out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
68
+ out += base64EncodeChars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6));
69
+ out += base64EncodeChars.charAt(c3 & 0x3f);
70
+ }
71
+ return out;
72
+ }
73
+ const safe64 = function (base64) {
74
+ base64 = base64.replace(/\+/g, '-');
75
+ base64 = base64.replace(/\//g, '_');
76
+ return base64;
77
+ };
78
+ 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,8 @@
1
+ import packages from '../../core/packages.mjs';
2
+ export default function (doc, option = {}) {
3
+ if (!window.html2canvas) {
4
+ packages.logs('Screenshot');
5
+ return;
6
+ }
7
+ return window.html2canvas(doc, option);
8
+ }
@@ -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,52 @@
1
+ export default class RecordVideo {
2
+ constructor(videoObj) {
3
+ this.video = videoObj;
4
+ this.mediaRecorder = null;
5
+ this.chunks = [];
6
+ }
7
+ init() {
8
+ return new Promise((resolve, reject) => {
9
+ navigator.mediaDevices
10
+ .getUserMedia({
11
+ audio: true,
12
+ video: true,
13
+ })
14
+ .then((stream) => {
15
+ if ('srcObject' in this.video) {
16
+ this.video.srcObject = stream;
17
+ }
18
+ else {
19
+ this.video.src = window.URL.createObjectURL(stream);
20
+ }
21
+ this.video.addEventListener('loadmetadata', () => {
22
+ this.video.play();
23
+ });
24
+ this.mediaRecorder = new MediaRecorder(stream);
25
+ this.mediaRecorder.addEventListener('dataavailable', (e) => {
26
+ this.chunks.push(e.data);
27
+ });
28
+ resolve();
29
+ })
30
+ .catch((error) => {
31
+ reject(error);
32
+ });
33
+ });
34
+ }
35
+ startRecord() {
36
+ if (this.mediaRecorder && this.mediaRecorder.state === 'inactive') {
37
+ this.mediaRecorder.start();
38
+ }
39
+ }
40
+ stopRecord() {
41
+ if (this.mediaRecorder && this.mediaRecorder.state === 'recording') {
42
+ this.mediaRecorder.stop();
43
+ }
44
+ }
45
+ isSupport() {
46
+ const flag = navigator.mediaDevices && navigator.mediaDevices.getUserMedia;
47
+ if (flag) {
48
+ return true;
49
+ }
50
+ return false;
51
+ }
52
+ }
@@ -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,114 @@
1
+ import WaterMark from './watermark.mjs';
2
+ import { dataURLtoFile } from '../../utils/util.mjs';
3
+ let canvas;
4
+ let ctx;
5
+ const configDefault = {
6
+ width: 200,
7
+ height: 200,
8
+ };
9
+ const config = {
10
+ text: 'avueJS',
11
+ fontFamily: 'microsoft yahei',
12
+ color: '#999',
13
+ fontSize: 16,
14
+ opacity: 100,
15
+ bottom: 10,
16
+ right: 10,
17
+ ratio: 1,
18
+ };
19
+ export default function (opt = {}) {
20
+ return new WaterMark(opt);
21
+ }
22
+ export function detailImg(file, option = {}) {
23
+ return new Promise((resolve) => {
24
+ const { text, fontFamily, color, fontSize, opacity, bottom, right, ratio } = option;
25
+ initParams();
26
+ fileToBase64(file, initImg);
27
+ function initParams() {
28
+ config.text = text || config.text;
29
+ config.fontFamily = fontFamily || config.fontFamily;
30
+ config.color = color || config.color;
31
+ config.fontSize = fontSize || config.fontSize;
32
+ config.opacity = opacity || config.opacity;
33
+ config.bottom = bottom || config.bottom;
34
+ config.right = right || config.right;
35
+ config.ratio = ratio || config.ratio;
36
+ }
37
+ function initImg(data) {
38
+ const img = new Image();
39
+ img.src = data;
40
+ img.onload = function () {
41
+ const width = img.width;
42
+ const height = img.height;
43
+ cretedCanvas(width, height);
44
+ ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(img, 0, 0, width, height);
45
+ setText(width, height);
46
+ const currentCanvas = document.getElementById('canvas');
47
+ resolve(dataURLtoFile(currentCanvas.toDataURL(file.type, config.ratio), file.name));
48
+ };
49
+ }
50
+ function cretedCanvas(width, height) {
51
+ canvas = document.getElementById('canvas');
52
+ if (canvas === null) {
53
+ canvas = document.createElement('canvas');
54
+ canvas.id = 'canvas';
55
+ canvas.className = 'avue-canvas';
56
+ document.body.appendChild(canvas);
57
+ }
58
+ ctx = canvas.getContext('2d');
59
+ canvas.width = width;
60
+ canvas.height = height;
61
+ }
62
+ function setText(width, height) {
63
+ const txt = config.text;
64
+ const param = calcParam(txt, width, height);
65
+ if (!ctx)
66
+ return;
67
+ ctx.font = param.fontSize + 'px ' + config.fontFamily;
68
+ ctx.fillStyle = config.color;
69
+ ctx.globalAlpha = config.opacity / 100;
70
+ ctx.fillText(txt, param.x, param.y);
71
+ }
72
+ function calcParam(txt, width, height) {
73
+ let x;
74
+ let y;
75
+ const calcFontSize = config.fontSize / configDefault.width;
76
+ const fontSize = calcFontSize * width;
77
+ if (config.bottom) {
78
+ y = configDefault.height - config.bottom;
79
+ }
80
+ else {
81
+ y = config.top;
82
+ }
83
+ if (config.right) {
84
+ x = configDefault.width - config.right;
85
+ }
86
+ else {
87
+ x = config.left;
88
+ }
89
+ if (!ctx) {
90
+ return { x: 0, y: 0, fontSize };
91
+ }
92
+ ctx.font = config.fontSize + 'px ' + config.fontFamily;
93
+ const txtWidth = Number(ctx.measureText(txt).width);
94
+ x = x - txtWidth;
95
+ const calcPosX = x / configDefault.width;
96
+ const calcPosY = y / configDefault.height;
97
+ x = calcPosX * width;
98
+ y = calcPosY * height;
99
+ return {
100
+ x,
101
+ y,
102
+ fontSize,
103
+ };
104
+ }
105
+ function fileToBase64(rawFile, callback) {
106
+ const reader = new FileReader();
107
+ reader.readAsDataURL(rawFile);
108
+ reader.onload = function (e) {
109
+ var _a;
110
+ callback((_a = e.target) === null || _a === void 0 ? void 0 : _a.result);
111
+ };
112
+ }
113
+ });
114
+ }
@@ -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,109 @@
1
+ import { randomId } from '../../utils/util.mjs';
2
+ class WaterMark {
3
+ constructor(opt = {}) {
4
+ this.CONTAINERID = randomId();
5
+ this.drawCanvas = this.drawCanvas.bind(this);
6
+ this.parentObserver = this.parentObserver.bind(this);
7
+ this.Repaint = this.Repaint.bind(this);
8
+ this.styleStr = '';
9
+ this.isOberserve = false;
10
+ this.init(opt);
11
+ this.drawCanvas();
12
+ this.parentObserver();
13
+ }
14
+ init(opt) {
15
+ this.option = Object.assign({
16
+ width: 400,
17
+ height: 200,
18
+ text: 'avueJS',
19
+ fontSize: '30px',
20
+ fontStyle: 'microsoft yahei',
21
+ textAlign: 'center',
22
+ color: 'rgba(100,100,100,0.15)',
23
+ degree: -20,
24
+ }, opt);
25
+ }
26
+ drawCanvas() {
27
+ this.isOberserve = true;
28
+ const divContainer = document.createElement('div');
29
+ const canvas = document.createElement('canvas');
30
+ const context = canvas.getContext('2d');
31
+ divContainer.id = this.CONTAINERID;
32
+ canvas.width = this.option.width;
33
+ canvas.height = this.option.height;
34
+ if (!context)
35
+ return;
36
+ context.font = `${this.option.fontSize} ${this.option.fontStyle}`;
37
+ context.textAlign = this.option.textAlign;
38
+ context.fillStyle = this.option.color;
39
+ context.translate(canvas.width / 2, canvas.height / 2);
40
+ context.rotate((this.option.degree * Math.PI) / 180);
41
+ context.fillText(this.option.text, 0, 0);
42
+ const backgroundUrl = canvas.toDataURL('image/png');
43
+ const flag = this.option.id;
44
+ let el = null;
45
+ if (flag)
46
+ el = document.getElementById(flag);
47
+ this.styleStr = `
48
+ position:${flag ? 'absolute' : 'fixed'};
49
+ top:0;
50
+ left:0;
51
+ width:${flag && el ? el.offsetWidth + 'px' : '100%'};
52
+ height:${flag && el ? el.offsetHeight + 'px' : '100%'};
53
+ z-index:9999;
54
+ pointer-events:none;
55
+ background-repeat:repeat;
56
+ background-image:url('${backgroundUrl}')`;
57
+ divContainer.setAttribute('style', this.styleStr);
58
+ if (flag && el) {
59
+ el.appendChild(divContainer);
60
+ }
61
+ else {
62
+ document.body.appendChild(divContainer);
63
+ }
64
+ this.wmObserver(divContainer);
65
+ this.isOberserve = false;
66
+ }
67
+ wmObserver(divContainer) {
68
+ const wmConf = { attributes: true, childList: true, characterData: true };
69
+ const wmObserver = new MutationObserver((mo) => {
70
+ if (!this.isOberserve) {
71
+ const target = mo[0].target;
72
+ target.setAttribute('style', this.styleStr);
73
+ target.setAttribute('id', this.CONTAINERID);
74
+ wmObserver.takeRecords();
75
+ }
76
+ });
77
+ wmObserver.observe(divContainer, wmConf);
78
+ }
79
+ parentObserver() {
80
+ var _a;
81
+ const bodyObserver = new MutationObserver(() => {
82
+ if (!this.isOberserve) {
83
+ const wm = document.querySelector(`#${this.CONTAINERID}`);
84
+ if (!wm) {
85
+ this.drawCanvas();
86
+ }
87
+ else if (wm.getAttribute('style') !== this.styleStr) {
88
+ wm.setAttribute('style', this.styleStr);
89
+ }
90
+ }
91
+ });
92
+ const parentNode = (_a = document.querySelector(`#${this.CONTAINERID}`)) === null || _a === void 0 ? void 0 : _a.parentNode;
93
+ if (parentNode) {
94
+ bodyObserver.observe(parentNode, { childList: true });
95
+ }
96
+ }
97
+ Repaint(opt = {}) {
98
+ this.remove();
99
+ this.init(opt);
100
+ this.drawCanvas();
101
+ }
102
+ remove() {
103
+ var _a;
104
+ this.isOberserve = true;
105
+ const wm = document.querySelector(`#${this.CONTAINERID}`);
106
+ (_a = wm === null || wm === void 0 ? void 0 : wm.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(wm);
107
+ }
108
+ }
109
+ export default WaterMark;