fmode-ng 0.0.113 → 0.0.115

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 (275) hide show
  1. package/LICENSE.md +8 -0
  2. package/README.md +37 -37
  3. package/esm2022/fmode-ng.mjs +10 -5
  4. package/esm2022/lib/aigc/agent/fm-agent-task/fm-agent-task.component.mjs +8 -92
  5. package/esm2022/lib/aigc/agent/index.mjs +10 -3
  6. package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
  7. package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
  8. package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
  9. package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
  10. package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
  11. package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -98
  12. package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -107
  13. package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -113
  14. package/esm2022/lib/aigc/avatar/index.mjs +10 -8
  15. package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
  16. package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -164
  17. package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -49
  18. package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
  19. package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -155
  20. package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
  21. package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
  22. package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
  23. package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -140
  24. package/esm2022/lib/aigc/chat/chat-message-card/duration-str.pipe.mjs +10 -29
  25. package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -3
  26. package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -3
  27. package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -193
  28. package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -331
  29. package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +8 -249
  30. package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -83
  31. package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
  32. package/esm2022/lib/aigc/chat/index.mjs +10 -8
  33. package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
  34. package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -367
  35. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
  36. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
  37. package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -115
  38. package/esm2022/lib/aigc/index.mjs +10 -14
  39. package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
  40. package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +10 -2
  41. package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -174
  42. package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
  43. package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
  44. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
  45. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
  46. package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
  47. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs +9 -162
  48. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-work.mjs +10 -68
  49. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -313
  50. package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -4
  51. package/esm2022/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.mjs +10 -62
  52. package/esm2022/lib/aigc/story/fm-story-card/fm-story-card.component.mjs +10 -87
  53. package/esm2022/lib/aigc/story/fm-story-list/fm-story-list.component.mjs +10 -345
  54. package/esm2022/lib/aigc/story/fm-story-list/story-preview.mjs +10 -81
  55. package/esm2022/lib/aigc/story/fm-story-loader/fm-story-loader.component.mjs +10 -152
  56. package/esm2022/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.mjs +10 -42
  57. package/esm2022/lib/aigc/story/index.mjs +10 -6
  58. package/esm2022/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.mjs +10 -47
  59. package/esm2022/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.mjs +10 -95
  60. package/esm2022/lib/aigc/story/modal-chat-story/modal-chat-story.component.mjs +10 -253
  61. package/esm2022/lib/aigc/story/story.service.mjs +10 -35
  62. package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +10 -636
  63. package/esm2022/lib/aigc/voice/index.mjs +10 -7
  64. package/esm2022/lib/aigc/voice/lib/audio/audio.player.mjs +10 -55
  65. package/esm2022/lib/aigc/voice/lib/audio/audio.streamer.mjs +10 -2
  66. package/esm2022/lib/aigc/voice/lib/audio/streamer.microsoft.mjs +10 -96
  67. package/esm2022/lib/aigc/voice/lib/audio/streamer.pcm.mjs +8 -177
  68. package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
  69. package/esm2022/lib/aigc/voice/lib/recorder/extension-waveview.mjs +10 -215
  70. package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
  71. package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +10 -189
  72. package/esm2022/lib/aigc/voice/tts/index.mjs +10 -5
  73. package/esm2022/lib/aigc/voice/tts/int-tts-provider.mjs +10 -2
  74. package/esm2022/lib/aigc/voice/tts/provider-doubao.mjs +8 -346
  75. package/esm2022/lib/code/fm-codemirror/fm-codemirror.component.mjs +8 -342
  76. package/esm2022/lib/code/index.mjs +10 -2
  77. package/esm2022/lib/core/agent/chat/completion/fmode-completion.mjs +8 -430
  78. package/esm2022/lib/core/agent/chat/completion/index.mjs +10 -2
  79. package/esm2022/lib/core/agent/chat/completion/int-gpt-chat-options.mjs +10 -2
  80. package/esm2022/lib/core/agent/chat/fmode-chat.mjs +8 -617
  81. package/esm2022/lib/core/agent/chat/index.mjs +10 -4
  82. package/esm2022/lib/core/agent/chat/interface.mjs +10 -2
  83. package/esm2022/lib/core/agent/index.mjs +10 -6
  84. package/esm2022/lib/core/agent/prompt/agent.prompt.mjs +10 -133
  85. package/esm2022/lib/core/agent/prompt/index.mjs +10 -2
  86. package/esm2022/lib/core/agent/prompt/prompt-util.mjs +10 -16
  87. package/esm2022/lib/core/agent/story/agent.story.mjs +10 -64
  88. package/esm2022/lib/core/agent/story/index.mjs +10 -2
  89. package/esm2022/lib/core/agent/task/agent.task.mjs +10 -90
  90. package/esm2022/lib/core/agent/task/index.mjs +10 -2
  91. package/esm2022/lib/core/agent/waiting/index.mjs +10 -3
  92. package/esm2022/lib/core/agent/waiting/loading/loading.ctrl.mjs +10 -279
  93. package/esm2022/lib/core/agent/waiting/tips/tips.ctrl.mjs +8 -190
  94. package/esm2022/lib/core/index.mjs +10 -4
  95. package/esm2022/lib/core/parse/datatype/acl.mjs +10 -57
  96. package/esm2022/lib/core/parse/datatype/file.mjs +10 -69
  97. package/esm2022/lib/core/parse/datatype/geopoint.mjs +10 -57
  98. package/esm2022/lib/core/parse/datatype/relation.mjs +10 -56
  99. package/esm2022/lib/core/parse/fmode.cloud.mjs +10 -0
  100. package/esm2022/lib/core/parse/fmode.object.mjs +10 -232
  101. package/esm2022/lib/core/parse/fmode.parse.mjs +10 -84
  102. package/esm2022/lib/core/parse/fmode.query.mjs +8 -500
  103. package/esm2022/lib/core/parse/fmode.user.mjs +10 -275
  104. package/esm2022/lib/core/parse/index.mjs +10 -5
  105. package/esm2022/lib/core/parse/types.mjs +10 -2
  106. package/esm2022/lib/core/voice/index.mjs +10 -3
  107. package/esm2022/lib/core/voice/tts/index.mjs +10 -2
  108. package/esm2022/lib/icon/filetype/audio.svg.mjs +10 -3
  109. package/esm2022/lib/icon/filetype/avatar.svg.mjs +10 -14
  110. package/esm2022/lib/icon/filetype/chat.svg.mjs +10 -3
  111. package/esm2022/lib/icon/filetype/docx.svg.mjs +10 -3
  112. package/esm2022/lib/icon/filetype/file.svg.mjs +10 -3
  113. package/esm2022/lib/icon/filetype/filetype.pipe.mjs +10 -57
  114. package/esm2022/lib/icon/filetype/index.mjs +10 -12
  115. package/esm2022/lib/icon/filetype/md.svg.mjs +10 -3
  116. package/esm2022/lib/icon/filetype/pdf.svg.mjs +10 -3
  117. package/esm2022/lib/icon/filetype/pptx.svg.mjs +10 -3
  118. package/esm2022/lib/icon/filetype/svgtoblob.mjs +10 -8
  119. package/esm2022/lib/icon/filetype/video.svg.mjs +10 -3
  120. package/esm2022/lib/icon/filetype/xlsx.svg.mjs +10 -3
  121. package/esm2022/lib/icon/index.mjs +10 -2
  122. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -209
  123. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
  124. package/esm2022/lib/map/index.mjs +10 -4
  125. package/esm2022/lib/map/map.module.mjs +10 -61
  126. package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -132
  127. package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -115
  128. package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -118
  129. package/esm2022/lib/nova-cloud/index.mjs +10 -3
  130. package/esm2022/lib/nova-cloud/ncloud-api-func.mjs +10 -91
  131. package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -53
  132. package/esm2022/lib/payment/index.mjs +10 -2
  133. package/esm2022/lib/payment/payment/payment.component.mjs +10 -543
  134. package/esm2022/lib/payment/payment.service.mjs +10 -202
  135. package/esm2022/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.mjs +10 -48
  136. package/esm2022/lib/person/comp-person-item/comp-person-item.component.mjs +10 -29
  137. package/esm2022/lib/person/comp-person-story/comp-person-story.component.mjs +10 -211
  138. package/esm2022/lib/person/edit-upload/edit-upload.component.mjs +8 -412
  139. package/esm2022/lib/person/edit-upload/edit-upload.module.mjs +10 -50
  140. package/esm2022/lib/person/index.mjs +10 -5
  141. package/esm2022/lib/person/modal-person-select/modal-person-select.component.mjs +10 -144
  142. package/esm2022/lib/person/modal-user-verify/secret-text.pipe.mjs +10 -41
  143. package/esm2022/lib/person/modal-user-verify/user-verify.component.mjs +10 -595
  144. package/esm2022/lib/person/person-detail/person-detail.component.mjs +10 -172
  145. package/esm2022/lib/person/person.service.mjs +8 -193
  146. package/esm2022/lib/platform/cross.service.mjs +10 -62
  147. package/esm2022/lib/platform/index.mjs +10 -2
  148. package/esm2022/lib/social/index.mjs +10 -2
  149. package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -230
  150. package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
  151. package/esm2022/lib/storage/index.mjs +10 -5
  152. package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -131
  153. package/esm2022/lib/storage/service-hwobs/index.mjs +10 -3
  154. package/esm2022/lib/storage/service-hwobs/typings/esdk-obs-browser.mjs +1 -1
  155. package/esm2022/lib/storage/service-upload/index.mjs +10 -2
  156. package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -513
  157. package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
  158. package/esm2022/lib/storage/service-upload/util-file-metadata.mjs +10 -93
  159. package/esm2022/lib/storage/storage.module.mjs +10 -42
  160. package/esm2022/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.mjs +10 -72
  161. package/esm2022/lib/text/fm-article-editor/article.service.mjs +10 -237
  162. package/esm2022/lib/text/fm-article-editor/comp-upload-book-banners/comp-upload-book-banners.component.mjs +8 -72
  163. package/esm2022/lib/text/fm-article-editor/draft.service.mjs +10 -207
  164. package/esm2022/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.mjs +8 -227
  165. package/esm2022/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.mjs +10 -303
  166. package/esm2022/lib/text/fm-article-editor/fm-article-editor.component.mjs +8 -371
  167. package/esm2022/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.mjs +10 -94
  168. package/esm2022/lib/text/fm-article-editor/fm-article-outline-leftitem/fm-article-outline-leftitem.component.mjs +10 -36
  169. package/esm2022/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.mjs +10 -281
  170. package/esm2022/lib/text/fm-article-editor/fm-article-write-options/fm-article-write-options.component.mjs +10 -72
  171. package/esm2022/lib/text/fm-article-editor/outline-count.pipe.mjs +10 -22
  172. package/esm2022/lib/text/fm-article-editor/prompt/prompt-insertion-article.mjs +10 -169
  173. package/esm2022/lib/text/fm-article-editor/task-article-generation.mjs +10 -69
  174. package/esm2022/lib/text/fm-article-editor/tasks/task-article-draft-create.mjs +10 -65
  175. package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline-edit.mjs +10 -55
  176. package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline.mjs +10 -142
  177. package/esm2022/lib/text/fm-article-editor/tasks/task-article-preview.mjs +10 -35
  178. package/esm2022/lib/text/fm-article-editor/tasks/task-article-writing-options.mjs +10 -81
  179. package/esm2022/lib/text/fm-article-editor/tasks/task-document-select.mjs +10 -50
  180. package/esm2022/lib/text/fm-text-quill/fm-text-quill.component.mjs +10 -145
  181. package/esm2022/lib/text/index.mjs +10 -4
  182. package/esm2022/lib/user/account/account.service.mjs +10 -222
  183. package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
  184. package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -66
  185. package/esm2022/lib/user/index.mjs +10 -17
  186. package/esm2022/lib/user/login/auth.guard.mjs +10 -28
  187. package/esm2022/lib/user/login/auth.service.mjs +8 -433
  188. package/esm2022/lib/user/login/login.component.mjs +10 -916
  189. package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -311
  190. package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
  191. package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
  192. package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -164
  193. package/esm2022/lib/user/profile/profile-bind/profile-confirm-modal.component.mjs +10 -79
  194. package/esm2022/lib/user/profile/profile.module.mjs +10 -54
  195. package/esm2022/lib/user/staff/index.mjs +10 -4
  196. package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
  197. package/esm2022/lib/user/staff/staff.module.mjs +10 -18
  198. package/esm2022/lib/user/staff/staff.service.mjs +10 -85
  199. package/esm2022/lib/user/user-name.pipe.mjs +10 -29
  200. package/esm2022/lib/user/user.module.mjs +10 -102
  201. package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
  202. package/esm2022/lib/video/index.mjs +10 -2
  203. package/esm2022/public-api.mjs +10 -21
  204. package/fesm2022/fmode-ng.mjs +7 -19788
  205. package/fesm2022/fmode-ng.mjs.map +1 -1
  206. package/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.d.ts +2 -2
  207. package/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.d.ts +2 -2
  208. package/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.d.ts +2 -2
  209. package/lib/aigc/chat/chat-list/chat-list.component.d.ts +3 -2
  210. package/lib/aigc/chat/chat-message-card/comp-message-card.component.d.ts +3 -3
  211. package/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.d.ts +2 -2
  212. package/lib/aigc/chat/chat-modal-input/modal-input.component.d.ts +3 -3
  213. package/lib/aigc/service-fmai/service-imagine/imagine-func.d.ts +3 -3
  214. package/lib/aigc/service-fmai/service-imagine/imagine-work.d.ts +4 -4
  215. package/lib/aigc/service-fmai/service-imagine/imagine.service.d.ts +6 -6
  216. package/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.d.ts +2 -2
  217. package/lib/aigc/story/fm-story-card/fm-story-card.component.d.ts +2 -1
  218. package/lib/aigc/story/fm-story-list/fm-story-list.component.d.ts +6 -6
  219. package/lib/aigc/story/fm-story-list/story-preview.d.ts +4 -4
  220. package/lib/aigc/story/fm-story-loader/fm-story-loader.component.d.ts +3 -3
  221. package/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.d.ts +2 -2
  222. package/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.d.ts +3 -2
  223. package/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.d.ts +3 -2
  224. package/lib/aigc/story/modal-chat-story/modal-chat-story.component.d.ts +6 -6
  225. package/lib/aigc/story/story.service.d.ts +3 -2
  226. package/lib/aigc/voice/tts/fmode-tts-class.d.ts +2 -2
  227. package/lib/core/agent/chat/fmode-chat.d.ts +11 -11
  228. package/lib/core/agent/story/agent.story.d.ts +8 -8
  229. package/lib/core/parse/datatype/geopoint.d.ts +5 -1
  230. package/lib/core/parse/fmode.cloud.d.ts +32 -0
  231. package/lib/core/parse/fmode.object.d.ts +2 -2
  232. package/lib/core/parse/fmode.parse.d.ts +15 -9
  233. package/lib/core/parse/fmode.query.d.ts +41 -2
  234. package/lib/core/parse/fmode.user.d.ts +1 -0
  235. package/lib/core/parse/index.d.ts +1 -0
  236. package/lib/core/parse/types.d.ts +2 -0
  237. package/lib/map/comp-poi-picker/comp-poi-picker.component.d.ts +5 -5
  238. package/lib/payment/payment/payment.component.d.ts +3 -3
  239. package/lib/payment/payment.service.d.ts +4 -4
  240. package/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.d.ts +2 -1
  241. package/lib/person/comp-person-item/comp-person-item.component.d.ts +2 -1
  242. package/lib/person/comp-person-story/comp-person-story.component.d.ts +13 -13
  243. package/lib/person/edit-upload/edit-upload.component.d.ts +1 -1
  244. package/lib/person/modal-person-select/modal-person-select.component.d.ts +5 -5
  245. package/lib/person/modal-user-verify/user-verify.component.d.ts +5 -5
  246. package/lib/person/person-detail/person-detail.component.d.ts +4 -4
  247. package/lib/person/person.service.d.ts +7 -7
  248. package/lib/storage/service-hwobs/hwobs.service.d.ts +4 -5
  249. package/lib/storage/service-upload/nova-upload.service.d.ts +5 -5
  250. package/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.d.ts +2 -1
  251. package/lib/text/fm-article-editor/article.service.d.ts +12 -12
  252. package/lib/text/fm-article-editor/draft.service.d.ts +5 -5
  253. package/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.d.ts +3 -2
  254. package/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.d.ts +16 -17
  255. package/lib/text/fm-article-editor/fm-article-editor.component.d.ts +3 -3
  256. package/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.d.ts +11 -10
  257. package/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.d.ts +2 -2
  258. package/lib/text/fm-article-editor/prompt/prompt-insertion-article.d.ts +3 -3
  259. package/lib/text/fm-article-editor/task-article-generation.d.ts +5 -4
  260. package/lib/text/fm-article-editor/tasks/task-article-draft-create.d.ts +3 -3
  261. package/lib/text/fm-article-editor/tasks/task-article-outline-edit.d.ts +3 -3
  262. package/lib/text/fm-article-editor/tasks/task-article-outline.d.ts +3 -3
  263. package/lib/text/fm-article-editor/tasks/task-article-preview.d.ts +2 -1
  264. package/lib/text/fm-article-editor/tasks/task-article-writing-options.d.ts +3 -3
  265. package/lib/text/fm-article-editor/tasks/task-document-select.d.ts +3 -3
  266. package/lib/user/account/account.service.d.ts +2 -2
  267. package/lib/user/comp-user-avatar/comp-user-avatar.component.d.ts +2 -2
  268. package/lib/user/login/auth.service.d.ts +5 -5
  269. package/lib/user/login/login.component.d.ts +3 -3
  270. package/lib/user/profile/auth-profile.service.d.ts +8 -8
  271. package/lib/user/profile/profile-bind/profile-bind.component.d.ts +7 -7
  272. package/lib/user/profile/profile-bind/profile-confirm-modal.component.d.ts +2 -2
  273. package/lib/user/staff/staff.service.d.ts +3 -3
  274. package/lib/user/user-name.pipe.d.ts +2 -2
  275. package/package.json +12 -18
@@ -1,135 +1,10 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { FormsModule } from "@angular/forms";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- export class CaptchaComponent {
8
- constructor() {
9
- this.type = 'input'; //default & input 默认input方式
10
- this.canvas_id = 'canvasCode'; //元素id
11
- this.drawCode = []; //验证码数组
12
- this.vCode = ''; //用户输入code
13
- this.changeVal = new EventEmitter(); //改变时触发
14
- this.onEnter = new EventEmitter(); //enter按下触发
15
- this.code = '';
16
- }
17
- ngOnInit() { }
18
- ngAfterViewInit() {
19
- //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
20
- //Add 'implements AfterViewInit' to the class.
21
- this.updateDrawCode();
22
- }
23
- updateDrawCode() {
24
- let canvas_width = 100;
25
- let canvas_height = 38;
26
- let canv = document.getElementById(this.canvas_id);
27
- canv && this.canvasDom.nativeElement.removeChild(canv);
28
- let _a = document.getElementById(this.canvas_id + '_a');
29
- _a && this.canvasDom.nativeElement.removeChild(_a);
30
- this.canvasDom.nativeElement;
31
- let canvas = document.createElement("canvas");
32
- canvas.className = "canvas";
33
- canvas.setAttribute("id", this.canvas_id);
34
- canvas.addEventListener("click", () => {
35
- this.updateDrawCode();
36
- });
37
- let context = canvas.getContext("2d"); //获取到canvas画图的环境,演员表演的舞台
38
- canvas.width = canvas_width;
39
- canvas.height = canvas_height;
40
- let sCode = "A,B,C,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,W,X,Y,Z,1,2,3,4,5,6,7,8,9,0,q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m";
41
- let aCode = sCode.split(",");
42
- let aLength = aCode.length; //获取到数组的长度
43
- for (let i = 0; i <= 3; i++) {
44
- let j = Math.floor(Math.random() * aLength); //获取到随机的索引值
45
- let deg = (Math.random() * 30 * Math.PI) / 180; //产生0~30之间的随机弧度
46
- let txt = aCode[j]; //得到随机的一个内容
47
- this.drawCode[i] = txt;
48
- let x = 10 + i * 20; //文字在canvas上的x坐标
49
- let y = 20 + Math.random() * 8; //文字在canvas上的y坐标
50
- context.font = "bold 23px 微软雅黑";
51
- context.translate(x, y);
52
- context.rotate(deg);
53
- context.fillStyle = this.randomColor();
54
- context.fillText(txt, 0, 0);
55
- context.rotate(-deg);
56
- context.translate(-x, -y);
57
- }
58
- for (let i = 0; i <= 5; i++) {
59
- //验证码上显示线条
60
- context.strokeStyle = this.randomColor();
61
- context.beginPath();
62
- context.moveTo(Math.random() * canvas_width, Math.random() * canvas_height);
63
- context.lineTo(Math.random() * canvas_width, Math.random() * canvas_height);
64
- context.stroke();
65
- }
66
- for (let i = 0; i <= 30; i++) {
67
- //验证码上显示小点
68
- context.strokeStyle = this.randomColor();
69
- context.beginPath();
70
- let x = Math.random() * canvas_width;
71
- let y = Math.random() * canvas_height;
72
- context.moveTo(x, y);
73
- context.lineTo(x + 1, y + 1);
74
- context.stroke();
75
- }
76
- this.code = this.drawCode.join("");
77
- this.changeVal.emit({
78
- code: this.code,
79
- vCode: this.vCode
80
- });
81
- this.canvasDom.nativeElement.appendChild(canvas);
82
- let a = document.createElement("a");
83
- a.setAttribute("id", this.canvas_id + '_a');
84
- a.innerText = "看不清,换一张";
85
- a.addEventListener("click", () => {
86
- this.updateDrawCode();
87
- });
88
- this.canvasDom.nativeElement.appendChild(a);
89
- }
90
- /* 得到随机的颜色值 */
91
- randomColor() {
92
- let r = Math.floor(Math.random() * 256);
93
- let g = Math.floor(Math.random() * 256);
94
- let b = Math.floor(Math.random() * 256);
95
- return "rgb(" + r + "," + g + "," + b + ")";
96
- }
97
- //按下确认键触发
98
- enter(e) {
99
- if (e.keyCode == 13) {
100
- this.changeVal.emit({
101
- code: this.code,
102
- vCode: this.vCode
103
- });
104
- this.onEnter.emit();
105
- }
106
- }
107
- onChange() {
108
- this.changeVal.emit({
109
- code: this.code,
110
- vCode: this.vCode
111
- });
112
- }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaptchaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaptchaComponent, isStandalone: true, selector: "fm-captcha", inputs: { type: "type", canvas_id: "canvas_id", drawCode: "drawCode", vCode: "vCode" }, outputs: { changeVal: "changeVal", onEnter: "onEnter" }, viewQueries: [{ propertyName: "canvasDom", first: true, predicate: ["canvasDom"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"type == 'input'; else elseTemplate\">\r\n <div class=\"captcha\">\r\n <input\r\n nz-input\r\n class=\"code-input\"\r\n type=\"text\"\r\n [(ngModel)]=\"vCode\"\r\n maxlength=\"4\"\r\n placeholder=\"\u9A8C\u8BC1\u7801\"\r\n [nzStatus]=\"vCode.length == 4 ? '' : 'error'\"\r\n (keydown)=\"enter($event)\"\r\n (change)=\"onChange()\"\r\n />\r\n <div class=\"code-card\" #canvasDom></div>\r\n </div>\r\n</ng-container>\r\n<ng-template #elseTemplate>\r\n <div class=\"captcha\">\r\n <div class=\"code-card\" #canvasDom></div>\r\n </div>\r\n</ng-template>\r\n", styles: [".code-card{display:flex;align-items:center}.code-card .canvas{border:1px solid #c2def5;border-radius:5px;width:100px;height:38px}.code-input{width:90px;padding:4px;height:38px;border:1px solid #cdcdcd}.code-input:focus{outline:1px solid #40a9ff}.captcha{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaptchaComponent, decorators: [{
117
- type: Component,
118
- args: [{ imports: [CommonModule, FormsModule], standalone: true, selector: 'fm-captcha', template: "<ng-container *ngIf=\"type == 'input'; else elseTemplate\">\r\n <div class=\"captcha\">\r\n <input\r\n nz-input\r\n class=\"code-input\"\r\n type=\"text\"\r\n [(ngModel)]=\"vCode\"\r\n maxlength=\"4\"\r\n placeholder=\"\u9A8C\u8BC1\u7801\"\r\n [nzStatus]=\"vCode.length == 4 ? '' : 'error'\"\r\n (keydown)=\"enter($event)\"\r\n (change)=\"onChange()\"\r\n />\r\n <div class=\"code-card\" #canvasDom></div>\r\n </div>\r\n</ng-container>\r\n<ng-template #elseTemplate>\r\n <div class=\"captcha\">\r\n <div class=\"code-card\" #canvasDom></div>\r\n </div>\r\n</ng-template>\r\n", styles: [".code-card{display:flex;align-items:center}.code-card .canvas{border:1px solid #c2def5;border-radius:5px;width:100px;height:38px}.code-input{width:90px;padding:4px;height:38px;border:1px solid #cdcdcd}.code-input:focus{outline:1px solid #40a9ff}.captcha{display:flex;align-items:center}\n"] }]
119
- }], ctorParameters: () => [], propDecorators: { canvasDom: [{
120
- type: ViewChild,
121
- args: ["canvasDom"]
122
- }], type: [{
123
- type: Input
124
- }], canvas_id: [{
125
- type: Input
126
- }], drawCode: [{
127
- type: Input
128
- }], vCode: [{
129
- type: Input
130
- }], changeVal: [{
131
- type: Output
132
- }], onEnter: [{
133
- type: Output
134
- }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3VzZXIvY2FwdGNoYS9jYXB0Y2hhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvdXNlci9jYXB0Y2hhL2NhcHRjaGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLGdCQUFnQjtJQVV6QjtRQVBTLFNBQUksR0FBVyxPQUFPLENBQUMsQ0FBRSwyQkFBMkI7UUFDcEQsY0FBUyxHQUFXLFlBQVksQ0FBQyxDQUFDLE1BQU07UUFDeEMsYUFBUSxHQUFrQixFQUFFLENBQUMsQ0FBQyxPQUFPO1FBQ3JDLFVBQUssR0FBVyxFQUFFLENBQUMsQ0FBQyxVQUFVO1FBQzdCLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFDMUQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsV0FBVztRQUN0RSxTQUFJLEdBQVUsRUFBRSxDQUFBO0lBQ0QsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUNiLGVBQWU7UUFDYiw2R0FBNkc7UUFDN0csOENBQThDO1FBQzlDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsY0FBYztRQUNaLElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEQsRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUM3QixJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsd0JBQXdCO1FBQy9ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQzlCLElBQUksS0FBSyxHQUNQLG1IQUFtSCxDQUFDO1FBQ3RILElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVU7UUFDdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVztZQUN4RCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLGVBQWU7WUFDL0QsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVztZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQjtZQUNyQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtZQUNoRCxPQUFPLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1lBRWhDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFcEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTVCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QixVQUFVO1lBQ1YsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQ1osSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFlBQVksRUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FDOUIsQ0FBQztZQUNGLE9BQU8sQ0FBQyxNQUFNLENBQ1osSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFlBQVksRUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FDOUIsQ0FBQztZQUNGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixDQUFDO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdCLFVBQVU7WUFDVixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0IsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSTtZQUNkLEtBQUssRUFBQyxJQUFJLENBQUMsS0FBSztTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsY0FBYztJQUNkLFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN4QyxPQUFPLE1BQU0sR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsU0FBUztJQUNULEtBQUssQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNsQixJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ2QsS0FBSyxFQUFDLElBQUksQ0FBQyxLQUFLO2FBQ2pCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDckIsQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2QsS0FBSyxFQUFDLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBckhRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLCtUQ2xCN0IsNm5CQXFCQSx5VkRUVyxZQUFZLGtJQUFDLFdBQVc7OzRGQU10QixnQkFBZ0I7a0JBUDVCLFNBQVM7OEJBQ0EsQ0FBQyxZQUFZLEVBQUMsV0FBVyxDQUFDLGNBQ3ZCLElBQUksWUFDTCxZQUFZO3dEQUtJLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFFYixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIGltcG9ydHM6W0NvbW1vbk1vZHVsZSxGb3Jtc01vZHVsZV0sXHJcbiAgc3RhbmRhbG9uZTp0cnVlLFxyXG4gIHNlbGVjdG9yOiAnZm0tY2FwdGNoYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcHRjaGEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhcHRjaGEuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FwdGNoYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKFwiY2FudmFzRG9tXCIpIGNhbnZhc0RvbTogRWxlbWVudFJlZjsgLy/mnKzlnLDmoKHpqoznoIHnu5jnlLtcclxuXHJcbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAnaW5wdXQnOyAgLy9kZWZhdWx0ICYgaW5wdXQg6buY6K6kaW5wdXTmlrnlvI9cclxuICAgIEBJbnB1dCgpIGNhbnZhc19pZDogc3RyaW5nID0gJ2NhbnZhc0NvZGUnOyAvL+WFg+e0oGlkXHJcbiAgICBASW5wdXQoKSBkcmF3Q29kZTogQXJyYXk8c3RyaW5nPiA9IFtdOyAvL+mqjOivgeeggeaVsOe7hFxyXG4gICAgQElucHV0KCkgdkNvZGU6IHN0cmluZyA9ICcnOyAvL+eUqOaIt+i+k+WFpWNvZGVcclxuICAgIEBPdXRwdXQoKSBjaGFuZ2VWYWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpOyAvL+aUueWPmOaXtuinpuWPkVxyXG4gICAgQE91dHB1dCgpIG9uRW50ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpOyAvL2VudGVy5oyJ5LiL6Kem5Y+RXHJcbiAgICBjb2RlOnN0cmluZyA9ICcnXHJcbiAgICBjb25zdHJ1Y3RvcigpIHt9XHJcbiAgXHJcbiAgICBuZ09uSW5pdCgpIHt9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgIC8vQ2FsbGVkIGFmdGVyIG5nQWZ0ZXJDb250ZW50SW5pdCB3aGVuIHRoZSBjb21wb25lbnQncyB2aWV3IGhhcyBiZWVuIGluaXRpYWxpemVkLiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cclxuICAgICAgLy9BZGQgJ2ltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCcgdG8gdGhlIGNsYXNzLlxyXG4gICAgICB0aGlzLnVwZGF0ZURyYXdDb2RlKCk7XHJcbiAgICB9XHJcbiAgICB1cGRhdGVEcmF3Q29kZSgpIHtcclxuICAgICAgbGV0IGNhbnZhc193aWR0aCA9IDEwMDtcclxuICAgICAgbGV0IGNhbnZhc19oZWlnaHQgPSAzODtcclxuICAgICAgbGV0IGNhbnYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNhbnZhc19pZCk7XHJcbiAgICAgIGNhbnYgJiYgdGhpcy5jYW52YXNEb20ubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZChjYW52KTtcclxuICAgICAgbGV0IF9hID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jYW52YXNfaWQgKyAnX2EnKTtcclxuICAgICAgX2EgJiYgdGhpcy5jYW52YXNEb20ubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZChfYSk7XHJcbiAgICAgIHRoaXMuY2FudmFzRG9tLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xyXG4gICAgICBjYW52YXMuY2xhc3NOYW1lID0gXCJjYW52YXNcIjtcclxuICAgICAgY2FudmFzLnNldEF0dHJpYnV0ZShcImlkXCIsIHRoaXMuY2FudmFzX2lkKTtcclxuICAgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVEcmF3Q29kZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgbGV0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpOyAvL+iOt+WPluWIsGNhbnZhc+eUu+WbvueahOeOr+Wig++8jOa8lOWRmOihqOa8lOeahOiInuWPsFxyXG4gICAgICBjYW52YXMud2lkdGggPSBjYW52YXNfd2lkdGg7XHJcbiAgICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXNfaGVpZ2h0O1xyXG4gICAgICBsZXQgc0NvZGUgPVxyXG4gICAgICAgIFwiQSxCLEMsRSxGLEcsSCxKLEssTCxNLE4sUCxRLFIsUyxULFcsWCxZLFosMSwyLDMsNCw1LDYsNyw4LDksMCxxLHcsZSxyLHQseSx1LGksbyxwLGEscyxkLGYsZyxoLGosayxsLHoseCxjLHYsYixuLG1cIjtcclxuICAgICAgbGV0IGFDb2RlID0gc0NvZGUuc3BsaXQoXCIsXCIpO1xyXG4gICAgICBsZXQgYUxlbmd0aCA9IGFDb2RlLmxlbmd0aDsgLy/ojrflj5bliLDmlbDnu4TnmoTplb/luqZcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMzsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGogPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBhTGVuZ3RoKTsgLy/ojrflj5bliLDpmo/mnLrnmoTntKLlvJXlgLxcclxuICAgICAgICBsZXQgZGVnID0gKE1hdGgucmFuZG9tKCkgKiAzMCAqIE1hdGguUEkpIC8gMTgwOyAvL+S6p+eUnzB+MzDkuYvpl7TnmoTpmo/mnLrlvKfluqZcclxuICAgICAgICBsZXQgdHh0ID0gYUNvZGVbal07IC8v5b6X5Yiw6ZqP5py655qE5LiA5Liq5YaF5a65XHJcbiAgICAgICAgdGhpcy5kcmF3Q29kZVtpXSA9IHR4dDtcclxuICAgICAgICBsZXQgeCA9IDEwICsgaSAqIDIwOyAvL+aWh+Wtl+WcqGNhbnZhc+S4iueahHjlnZDmoIdcclxuICAgICAgICBsZXQgeSA9IDIwICsgTWF0aC5yYW5kb20oKSAqIDg7IC8v5paH5a2X5ZyoY2FudmFz5LiK55qEeeWdkOagh1xyXG4gICAgICAgIGNvbnRleHQuZm9udCA9IFwiYm9sZCAyM3B4IOW+rui9r+mbhem7kVwiO1xyXG4gIFxyXG4gICAgICAgIGNvbnRleHQudHJhbnNsYXRlKHgsIHkpO1xyXG4gICAgICAgIGNvbnRleHQucm90YXRlKGRlZyk7XHJcbiAgXHJcbiAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSB0aGlzLnJhbmRvbUNvbG9yKCk7XHJcbiAgICAgICAgY29udGV4dC5maWxsVGV4dCh0eHQsIDAsIDApO1xyXG4gIFxyXG4gICAgICAgIGNvbnRleHQucm90YXRlKC1kZWcpO1xyXG4gICAgICAgIGNvbnRleHQudHJhbnNsYXRlKC14LCAteSk7XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gNTsgaSsrKSB7XHJcbiAgICAgICAgLy/pqozor4HnoIHkuIrmmL7npLrnur/mnaFcclxuICAgICAgICBjb250ZXh0LnN0cm9rZVN0eWxlID0gdGhpcy5yYW5kb21Db2xvcigpO1xyXG4gICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5tb3ZlVG8oXHJcbiAgICAgICAgICBNYXRoLnJhbmRvbSgpICogY2FudmFzX3dpZHRoLFxyXG4gICAgICAgICAgTWF0aC5yYW5kb20oKSAqIGNhbnZhc19oZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnRleHQubGluZVRvKFxyXG4gICAgICAgICAgTWF0aC5yYW5kb20oKSAqIGNhbnZhc193aWR0aCxcclxuICAgICAgICAgIE1hdGgucmFuZG9tKCkgKiBjYW52YXNfaGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IDMwOyBpKyspIHtcclxuICAgICAgICAvL+mqjOivgeeggeS4iuaYvuekuuWwj+eCuVxyXG4gICAgICAgIGNvbnRleHQuc3Ryb2tlU3R5bGUgPSB0aGlzLnJhbmRvbUNvbG9yKCk7XHJcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICBsZXQgeCA9IE1hdGgucmFuZG9tKCkgKiBjYW52YXNfd2lkdGg7XHJcbiAgICAgICAgbGV0IHkgPSBNYXRoLnJhbmRvbSgpICogY2FudmFzX2hlaWdodDtcclxuICAgICAgICBjb250ZXh0Lm1vdmVUbyh4LCB5KTtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyh4ICsgMSwgeSArIDEpO1xyXG4gICAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb2RlID0gdGhpcy5kcmF3Q29kZS5qb2luKFwiXCIpXHJcbiAgICAgIHRoaXMuY2hhbmdlVmFsLmVtaXQoe1xyXG4gICAgICAgY29kZTp0aGlzLmNvZGUsXHJcbiAgICAgICB2Q29kZTp0aGlzLnZDb2RlXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmNhbnZhc0RvbS5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGNhbnZhcyk7XHJcbiAgICAgIGxldCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgIGEuc2V0QXR0cmlidXRlKFwiaWRcIiwgdGhpcy5jYW52YXNfaWQgKyAnX2EnKTtcclxuICAgICAgYS5pbm5lclRleHQgPSBcIueci+S4jea4he+8jOaNouS4gOW8oFwiO1xyXG4gICAgICBhLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVEcmF3Q29kZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jYW52YXNEb20ubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChhKTtcclxuICAgIH1cclxuICAgIC8qIOW+l+WIsOmaj+acuueahOminOiJsuWAvCAqL1xyXG4gICAgcmFuZG9tQ29sb3IoKSB7XHJcbiAgICAgIGxldCByID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU2KTtcclxuICAgICAgbGV0IGcgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTYpO1xyXG4gICAgICBsZXQgYiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1Nik7XHJcbiAgICAgIHJldHVybiBcInJnYihcIiArIHIgKyBcIixcIiArIGcgKyBcIixcIiArIGIgKyBcIilcIjtcclxuICAgIH1cclxuICAgIC8v5oyJ5LiL56Gu6K6k6ZSu6Kem5Y+RXHJcbiAgICBlbnRlcihlKSB7XHJcbiAgICAgIGlmIChlLmtleUNvZGUgPT0gMTMpIHtcclxuICAgICAgICB0aGlzLmNoYW5nZVZhbC5lbWl0KHtcclxuICAgICAgICAgIGNvZGU6dGhpcy5jb2RlLFxyXG4gICAgICAgICAgdkNvZGU6dGhpcy52Q29kZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMub25FbnRlci5lbWl0KClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25DaGFuZ2UoKXtcclxuICAgICAgdGhpcy5jaGFuZ2VWYWwuZW1pdCh7XHJcbiAgICAgICAgY29kZTp0aGlzLmNvZGUsXHJcbiAgICAgICAgdkNvZGU6dGhpcy52Q29kZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT0gJ2lucHV0JzsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FwdGNoYVwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG56LWlucHV0XHJcbiAgICAgIGNsYXNzPVwiY29kZS1pbnB1dFwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2Q29kZVwiXHJcbiAgICAgIG1heGxlbmd0aD1cIjRcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cIumqjOivgeeggVwiXHJcbiAgICAgIFtuelN0YXR1c109XCJ2Q29kZS5sZW5ndGggPT0gNCA/ICcnIDogJ2Vycm9yJ1wiXHJcbiAgICAgIChrZXlkb3duKT1cImVudGVyKCRldmVudClcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2RlLWNhcmRcIiAjY2FudmFzRG9tPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImNhcHRjaGFcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2RlLWNhcmRcIiAjY2FudmFzRG9tPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/user/captcha/captcha.component.mjs
7
+ */
8
+ import{Component,Input,Output,EventEmitter,ViewChild,ElementRef}from"@angular/core";import{CommonModule}from"@angular/common";import{FormsModule}from"@angular/forms";import*as i0 from"@angular/core";import*as i1 from"@angular/common";import*as i2 from"@angular/forms";export class CaptchaComponent{constructor(){this.type="input",this.canvas_id="canvasCode",this.drawCode=[],this.vCode="",this.changeVal=new EventEmitter,this.onEnter=new EventEmitter,this.code=""}ngOnInit(){}ngAfterViewInit(){this.updateDrawCode()}updateDrawCode(){let e=100,t=document.getElementById(this.canvas_id);t&&this.canvasDom.nativeElement.removeChild(t);let n=document.getElementById(this.canvas_id+"_a");n&&this.canvasDom.nativeElement.removeChild(n),this.canvasDom.nativeElement;let o=document.createElement("canvas");o.className="canvas",o.setAttribute("id",this.canvas_id),o.addEventListener("click",(()=>{this.updateDrawCode()}));let a=o.getContext("2d");o.width=e,o.height=38;let i="A,B,C,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,W,X,Y,Z,1,2,3,4,5,6,7,8,9,0,q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m".split(","),d=i.length;for(let e=0;e<=3;e++){let t=Math.floor(Math.random()*d),n=30*Math.random()*Math.PI/180,o=i[t];this.drawCode[e]=o;let r=10+20*e,s=20+8*Math.random();a.font="bold 23px 微软雅黑",a.translate(r,s),a.rotate(n),a.fillStyle=this.randomColor(),a.fillText(o,0,0),a.rotate(-n),a.translate(-r,-s)}for(let t=0;t<=5;t++)a.strokeStyle=this.randomColor(),a.beginPath(),a.moveTo(Math.random()*e,38*Math.random()),a.lineTo(Math.random()*e,38*Math.random()),a.stroke();for(let t=0;t<=30;t++){a.strokeStyle=this.randomColor(),a.beginPath();let t=Math.random()*e,n=38*Math.random();a.moveTo(t,n),a.lineTo(t+1,n+1),a.stroke()}this.code=this.drawCode.join(""),this.changeVal.emit({code:this.code,vCode:this.vCode}),this.canvasDom.nativeElement.appendChild(o);let r=document.createElement("a");r.setAttribute("id",this.canvas_id+"_a"),r.innerText="看不清,换一张",r.addEventListener("click",(()=>{this.updateDrawCode()})),this.canvasDom.nativeElement.appendChild(r)}randomColor(){return"rgb("+Math.floor(256*Math.random())+","+Math.floor(256*Math.random())+","+Math.floor(256*Math.random())+")"}enter(e){13==e.keyCode&&(this.changeVal.emit({code:this.code,vCode:this.vCode}),this.onEnter.emit())}onChange(){this.changeVal.emit({code:this.code,vCode:this.vCode})}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:CaptchaComponent,deps:[],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:CaptchaComponent,isStandalone:!0,selector:"fm-captcha",inputs:{type:"type",canvas_id:"canvas_id",drawCode:"drawCode",vCode:"vCode"},outputs:{changeVal:"changeVal",onEnter:"onEnter"},viewQueries:[{propertyName:"canvasDom",first:!0,predicate:["canvasDom"],descendants:!0}],ngImport:i0,template:'<ng-container *ngIf="type == \'input\'; else elseTemplate">\n <div class="captcha">\n <input\n nz-input\n class="code-input"\n type="text"\n [(ngModel)]="vCode"\n maxlength="4"\n placeholder="验证码"\n [nzStatus]="vCode.length == 4 ? \'\' : \'error\'"\n (keydown)="enter($event)"\n (change)="onChange()"\n />\n <div class="code-card" #canvasDom></div>\n </div>\n</ng-container>\n<ng-template #elseTemplate>\n <div class="captcha">\n <div class="code-card" #canvasDom></div>\n </div>\n</ng-template>\n',styles:[".code-card{display:flex;align-items:center}.code-card .canvas{border:1px solid #c2def5;border-radius:5px;width:100px;height:38px}.code-input{width:90px;padding:4px;height:38px;border:1px solid #cdcdcd}.code-input:focus{outline:1px solid #40a9ff}.captcha{display:flex;align-items:center}\n"],dependencies:[{kind:"ngmodule",type:CommonModule},{kind:"directive",type:i1.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"ngmodule",type:FormsModule},{kind:"directive",type:i2.DefaultValueAccessor,selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]"},{kind:"directive",type:i2.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{kind:"directive",type:i2.MaxLengthValidator,selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",inputs:["maxlength"]},{kind:"directive",type:i2.NgModel,selector:"[ngModel]:not([formControlName]):not([formControl])",inputs:["name","disabled","ngModel","ngModelOptions"],outputs:["ngModelChange"],exportAs:["ngModel"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:CaptchaComponent,decorators:[{type:Component,args:[{imports:[CommonModule,FormsModule],standalone:!0,selector:"fm-captcha",template:'<ng-container *ngIf="type == \'input\'; else elseTemplate">\n <div class="captcha">\n <input\n nz-input\n class="code-input"\n type="text"\n [(ngModel)]="vCode"\n maxlength="4"\n placeholder="验证码"\n [nzStatus]="vCode.length == 4 ? \'\' : \'error\'"\n (keydown)="enter($event)"\n (change)="onChange()"\n />\n <div class="code-card" #canvasDom></div>\n </div>\n</ng-container>\n<ng-template #elseTemplate>\n <div class="captcha">\n <div class="code-card" #canvasDom></div>\n </div>\n</ng-template>\n',styles:[".code-card{display:flex;align-items:center}.code-card .canvas{border:1px solid #c2def5;border-radius:5px;width:100px;height:38px}.code-input{width:90px;padding:4px;height:38px;border:1px solid #cdcdcd}.code-input:focus{outline:1px solid #40a9ff}.captcha{display:flex;align-items:center}\n"]}]}],ctorParameters:()=>[],propDecorators:{canvasDom:[{type:ViewChild,args:["canvasDom"]}],type:[{type:Input}],canvas_id:[{type:Input}],drawCode:[{type:Input}],vCode:[{type:Input}],changeVal:[{type:Output}],onEnter:[{type:Output}]}});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi91c2VyL2NhcHRjaGEvY2FwdGNoYS5jb21wb25lbnQubWpz`
10
+
@@ -1,66 +1,10 @@
1
- import { CommonModule } from "@angular/common";
2
- import { Component, Input } from "@angular/core";
3
- import Parse from "parse";
4
- import { AccountService } from "../account/account.service";
5
- import { IonAvatar, IonIcon } from "@ionic/angular/standalone";
6
- import { addIcons } from 'ionicons';
7
- import { person } from 'ionicons/icons';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../account/account.service";
10
- import * as i2 from "@angular/common";
11
- addIcons({ person });
12
- export class CompUserAvatarComponent {
13
- // defaultAvatar = "https://www.yuban.co/assets/img/icon/avatar.svg"
14
- constructor(novaAccount) {
15
- this.novaAccount = novaAccount;
16
- this.type = "icon";
17
- this.text = "U";
18
- }
19
- ngOnInit() {
20
- this.type = this.getType();
21
- // this.refresh()
22
- }
23
- ngOnChanges() {
24
- this.refresh();
25
- }
26
- async refresh() {
27
- await this.novaAccount.getProfile();
28
- let profile = this.novaAccount.profile;
29
- // console.log(profile);
30
- if (profile?.get("type")) {
31
- if (profile?.get("type") == "student") {
32
- this.identity =
33
- "https://file-cloud.fmode.cn/khgbeQmvYZ/20231123/k1k4iq103416124.png";
34
- }
35
- else {
36
- this.identity =
37
- "https://file-cloud.fmode.cn/E4KpGvTEto/20231116/q12c16094638625.png";
38
- }
39
- }
40
- }
41
- getType() {
42
- if (!this.user?.id)
43
- return "icon";
44
- if (this.user?.get("avatar")) {
45
- return "avatar";
46
- }
47
- let name = this.user?.get("nickname") || this.user?.get("realname");
48
- if (name) {
49
- this.text = name?.slice(0, 1);
50
- return "text";
51
- }
52
- return "icon";
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CompUserAvatarComponent, deps: [{ token: i1.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CompUserAvatarComponent, isStandalone: true, selector: "app-comp-user-avatar", inputs: { user: "user" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"user?.id || type == 'icon'\">\r\n <div class=\"avatar-com\">\r\n <!-- Default Icon -->\r\n <ion-avatar *ngIf=\"type == 'icon'\">\r\n <ion-icon name=\"person\" color=\"dark\"></ion-icon>\r\n </ion-avatar>\r\n \r\n <!-- Avatar Image -->\r\n <div class=\"avatar-com\">\r\n <ion-avatar *ngIf=\"type == 'avatar'\">\r\n <img [src]=\"user?.get('avatar')\" />\r\n </ion-avatar>\r\n \r\n <!-- Text Avatar -->\r\n <ion-avatar *ngIf=\"type == 'text'\" class=\"text-avatar\">\r\n {{text}}\r\n </ion-avatar>\r\n \r\n <img\r\n class=\"auth-icon\"\r\n *ngIf=\"identity && type == 'avatar'\"\r\n [src]=\"identity\"\r\n alt=\"\u5DF2\u8BA4\u8BC1\"\r\n />\r\n </div>\r\n </div>\r\n</ng-container>", styles: [".avatar-com{position:relative;width:32px;height:32px}.avatar-com ion-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--ion-color-light)}.avatar-com ion-avatar.text-avatar{background-color:#0199f9;color:#fff;font-weight:700}.avatar-com ion-avatar ion-icon{font-size:20px;color:#222d3a}.avatar-com .auth-icon{width:20px;height:20px;border-radius:50%;position:absolute;right:-6px;bottom:-2px;border:2px solid white}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonAvatar, selector: "ion-avatar" }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CompUserAvatarComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: "app-comp-user-avatar", standalone: true, imports: [
60
- CommonModule,
61
- IonAvatar, IonIcon
62
- ], template: "<ng-container *ngIf=\"user?.id || type == 'icon'\">\r\n <div class=\"avatar-com\">\r\n <!-- Default Icon -->\r\n <ion-avatar *ngIf=\"type == 'icon'\">\r\n <ion-icon name=\"person\" color=\"dark\"></ion-icon>\r\n </ion-avatar>\r\n \r\n <!-- Avatar Image -->\r\n <div class=\"avatar-com\">\r\n <ion-avatar *ngIf=\"type == 'avatar'\">\r\n <img [src]=\"user?.get('avatar')\" />\r\n </ion-avatar>\r\n \r\n <!-- Text Avatar -->\r\n <ion-avatar *ngIf=\"type == 'text'\" class=\"text-avatar\">\r\n {{text}}\r\n </ion-avatar>\r\n \r\n <img\r\n class=\"auth-icon\"\r\n *ngIf=\"identity && type == 'avatar'\"\r\n [src]=\"identity\"\r\n alt=\"\u5DF2\u8BA4\u8BC1\"\r\n />\r\n </div>\r\n </div>\r\n</ng-container>", styles: [".avatar-com{position:relative;width:32px;height:32px}.avatar-com ion-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--ion-color-light)}.avatar-com ion-avatar.text-avatar{background-color:#0199f9;color:#fff;font-weight:700}.avatar-com ion-avatar ion-icon{font-size:20px;color:#222d3a}.avatar-com .auth-icon{width:20px;height:20px;border-radius:50%;position:absolute;right:-6px;bottom:-2px;border:2px solid white}\n"] }]
63
- }], ctorParameters: () => [{ type: i1.AccountService }], propDecorators: { user: [{
64
- type: Input
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcC11c2VyLWF2YXRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3VzZXIvY29tcC11c2VyLWF2YXRhci9jb21wLXVzZXItYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvdXNlci9jb21wLXVzZXItYXZhdGFyL2NvbXAtdXNlci1hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUN4QyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBYXJCLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsb0VBQW9FO0lBRXBFLFlBQW9CLFdBQTJCO1FBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQU4vQyxTQUFJLEdBQVcsTUFBTSxDQUFDO1FBQ3RCLFNBQUksR0FBVyxHQUFHLENBQUM7SUFLK0IsQ0FBQztJQUNuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsaUJBQWlCO0lBQ25CLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hCLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUN2Qyx3QkFBd0I7UUFDeEIsSUFBSSxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsUUFBUTtvQkFDWCxxRUFBcUUsQ0FBQztZQUMxRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVE7b0JBQ1gscUVBQXFFLENBQUM7WUFDMUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ25FLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQXpDVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrSENyQnBDLGd6QkEwQmUsaWhCRFRYLFlBQVksbUlBQ1osU0FBUyx1REFBQyxPQUFPOzs0RkFHUix1QkFBdUI7a0JBVm5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFNBQVMsRUFBQyxPQUFPO3FCQUNsQjttRkFHUSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBQYXJzZSBmcm9tIFwicGFyc2VcIjtcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tIFwiLi4vYWNjb3VudC9hY2NvdW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW9uQXZhdGFyLCBJb25JY29uIH0gZnJvbSBcIkBpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmVcIjtcclxuXHJcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xyXG5pbXBvcnQgeyBwZXJzb24gfSBmcm9tICdpb25pY29ucy9pY29ucyc7XHJcbmFkZEljb25zKHsgcGVyc29uIH0pO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1jb21wLXVzZXItYXZhdGFyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb21wLXVzZXItYXZhdGFyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2NvbXAtdXNlci1hdmF0YXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJb25BdmF0YXIsSW9uSWNvblxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBVc2VyQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB1c2VyOiBQYXJzZS5Vc2VyO1xyXG4gIHR5cGU6IHN0cmluZyA9IFwiaWNvblwiO1xyXG4gIHRleHQ6IHN0cmluZyA9IFwiVVwiO1xyXG5cclxuICBpZGVudGl0eTogc3RyaW5nOyAvL+i6q+S7vVxyXG4gIC8vIGRlZmF1bHRBdmF0YXIgPSBcImh0dHBzOi8vd3d3Lnl1YmFuLmNvL2Fzc2V0cy9pbWcvaWNvbi9hdmF0YXIuc3ZnXCJcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3ZhQWNjb3VudDogQWNjb3VudFNlcnZpY2UpIHt9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnR5cGUgPSB0aGlzLmdldFR5cGUoKTtcclxuICAgIC8vIHRoaXMucmVmcmVzaCgpXHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCl7XHJcbiAgICB0aGlzLnJlZnJlc2goKVxyXG4gIH1cclxuICBhc3luYyByZWZyZXNoKCl7XHJcbiAgICBhd2FpdCB0aGlzLm5vdmFBY2NvdW50LmdldFByb2ZpbGUoKVxyXG4gICAgbGV0IHByb2ZpbGUgPSB0aGlzLm5vdmFBY2NvdW50LnByb2ZpbGU7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhwcm9maWxlKTtcclxuICAgIGlmIChwcm9maWxlPy5nZXQoXCJ0eXBlXCIpKSB7XHJcbiAgICAgIGlmIChwcm9maWxlPy5nZXQoXCJ0eXBlXCIpID09IFwic3R1ZGVudFwiKSB7XHJcbiAgICAgICAgdGhpcy5pZGVudGl0eSA9XHJcbiAgICAgICAgICBcImh0dHBzOi8vZmlsZS1jbG91ZC5mbW9kZS5jbi9raGdiZVFtdllaLzIwMjMxMTIzL2sxazRpcTEwMzQxNjEyNC5wbmdcIjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlkZW50aXR5ID1cclxuICAgICAgICAgIFwiaHR0cHM6Ly9maWxlLWNsb3VkLmZtb2RlLmNuL0U0S3BHdlRFdG8vMjAyMzExMTYvcTEyYzE2MDk0NjM4NjI1LnBuZ1wiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFR5cGUoKSB7XHJcbiAgICBpZiAoIXRoaXMudXNlcj8uaWQpIHJldHVybiBcImljb25cIjtcclxuICAgIGlmICh0aGlzLnVzZXI/LmdldChcImF2YXRhclwiKSkge1xyXG4gICAgICByZXR1cm4gXCJhdmF0YXJcIjtcclxuICAgIH1cclxuICAgIGxldCBuYW1lID0gdGhpcy51c2VyPy5nZXQoXCJuaWNrbmFtZVwiKSB8fCB0aGlzLnVzZXI/LmdldChcInJlYWxuYW1lXCIpXHJcbiAgICBpZiAobmFtZSkge1xyXG4gICAgICB0aGlzLnRleHQgPSBuYW1lPy5zbGljZSgwLCAxKTtcclxuICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiaWNvblwiO1xyXG4gIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyPy5pZCB8fCB0eXBlID09ICdpY29uJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJhdmF0YXItY29tXCI+XHJcbiAgICA8IS0tIERlZmF1bHQgSWNvbiAtLT5cclxuICAgIDxpb24tYXZhdGFyICpuZ0lmPVwidHlwZSA9PSAnaWNvbidcIj5cclxuICAgICAgPGlvbi1pY29uIG5hbWU9XCJwZXJzb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYXZhdGFyPlxyXG4gICAgXHJcbiAgICA8IS0tIEF2YXRhciBJbWFnZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY29tXCI+XHJcbiAgICAgIDxpb24tYXZhdGFyICpuZ0lmPVwidHlwZSA9PSAnYXZhdGFyJ1wiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJ1c2VyPy5nZXQoJ2F2YXRhcicpXCIgLz5cclxuICAgICAgPC9pb24tYXZhdGFyPlxyXG4gICAgICBcclxuICAgICAgPCEtLSBUZXh0IEF2YXRhciAtLT5cclxuICAgICAgPGlvbi1hdmF0YXIgKm5nSWY9XCJ0eXBlID09ICd0ZXh0J1wiIGNsYXNzPVwidGV4dC1hdmF0YXJcIj5cclxuICAgICAgICB7e3RleHR9fVxyXG4gICAgICA8L2lvbi1hdmF0YXI+XHJcbiAgICAgIFxyXG4gICAgICA8aW1nXHJcbiAgICAgICAgY2xhc3M9XCJhdXRoLWljb25cIlxyXG4gICAgICAgICpuZ0lmPVwiaWRlbnRpdHkgJiYgdHlwZSA9PSAnYXZhdGFyJ1wiXHJcbiAgICAgICAgW3NyY109XCJpZGVudGl0eVwiXHJcbiAgICAgICAgYWx0PVwi5bey6K6k6K+BXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs
7
+ */
8
+ import{CommonModule}from"@angular/common";import{Component,Input}from"@angular/core";import{FmodeParse,FmodeUser}from"@fmode/parse";import{AccountService}from"../account/account.service";import{IonAvatar,IonIcon}from"@ionic/angular/standalone";import{addIcons}from"ionicons";import{person}from"ionicons/icons";import*as i0 from"@angular/core";import*as i1 from"../account/account.service";import*as i2 from"@angular/common";const Parse=FmodeParse.with("nova");addIcons({person:person});export class CompUserAvatarComponent{constructor(t){this.novaAccount=t,this.type="icon",this.text="U"}ngOnInit(){this.type=this.getType()}ngOnChanges(){this.refresh()}async refresh(){await this.novaAccount.getProfile();let t=this.novaAccount.profile;t?.get("type")&&("student"==t?.get("type")?this.identity="https://file-cloud.fmode.cn/khgbeQmvYZ/20231123/k1k4iq103416124.png":this.identity="https://file-cloud.fmode.cn/E4KpGvTEto/20231116/q12c16094638625.png")}getType(){if(!this.user?.id)return"icon";if(this.user?.get("avatar"))return"avatar";let t=this.user?.get("nickname")||this.user?.get("realname");return t?(this.text=t?.slice(0,1),"text"):"icon"}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:CompUserAvatarComponent,deps:[{token:i1.AccountService}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:CompUserAvatarComponent,isStandalone:!0,selector:"app-comp-user-avatar",inputs:{user:"user"},usesOnChanges:!0,ngImport:i0,template:'<ng-container *ngIf="user?.id || type == \'icon\'">\n <div class="avatar-com">\n \x3c!-- Default Icon --\x3e\n <ion-avatar *ngIf="type == \'icon\'">\n <ion-icon name="person" color="dark"></ion-icon>\n </ion-avatar>\n \n \x3c!-- Avatar Image --\x3e\n <div class="avatar-com">\n <ion-avatar *ngIf="type == \'avatar\'">\n <img [src]="user?.get(\'avatar\')" />\n </ion-avatar>\n \n \x3c!-- Text Avatar --\x3e\n <ion-avatar *ngIf="type == \'text\'" class="text-avatar">\n {{text}}\n </ion-avatar>\n \n <img\n class="auth-icon"\n *ngIf="identity && type == \'avatar\'"\n [src]="identity"\n alt="已认证"\n />\n </div>\n </div>\n</ng-container>',styles:[".avatar-com{position:relative;width:32px;height:32px}.avatar-com ion-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--ion-color-light)}.avatar-com ion-avatar.text-avatar{background-color:#0199f9;color:#fff;font-weight:700}.avatar-com ion-avatar ion-icon{font-size:20px;color:#222d3a}.avatar-com .auth-icon{width:20px;height:20px;border-radius:50%;position:absolute;right:-6px;bottom:-2px;border:2px solid white}\n"],dependencies:[{kind:"ngmodule",type:CommonModule},{kind:"directive",type:i2.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"component",type:IonAvatar,selector:"ion-avatar"},{kind:"component",type:IonIcon,selector:"ion-icon",inputs:["color","flipRtl","icon","ios","lazy","md","mode","name","sanitize","size","src"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:CompUserAvatarComponent,decorators:[{type:Component,args:[{selector:"app-comp-user-avatar",standalone:!0,imports:[CommonModule,IonAvatar,IonIcon],template:'<ng-container *ngIf="user?.id || type == \'icon\'">\n <div class="avatar-com">\n \x3c!-- Default Icon --\x3e\n <ion-avatar *ngIf="type == \'icon\'">\n <ion-icon name="person" color="dark"></ion-icon>\n </ion-avatar>\n \n \x3c!-- Avatar Image --\x3e\n <div class="avatar-com">\n <ion-avatar *ngIf="type == \'avatar\'">\n <img [src]="user?.get(\'avatar\')" />\n </ion-avatar>\n \n \x3c!-- Text Avatar --\x3e\n <ion-avatar *ngIf="type == \'text\'" class="text-avatar">\n {{text}}\n </ion-avatar>\n \n <img\n class="auth-icon"\n *ngIf="identity && type == \'avatar\'"\n [src]="identity"\n alt="已认证"\n />\n </div>\n </div>\n</ng-container>',styles:[".avatar-com{position:relative;width:32px;height:32px}.avatar-com ion-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--ion-color-light)}.avatar-com ion-avatar.text-avatar{background-color:#0199f9;color:#fff;font-weight:700}.avatar-com ion-avatar ion-icon{font-size:20px;color:#222d3a}.avatar-com .auth-icon{width:20px;height:20px;border-radius:50%;position:absolute;right:-6px;bottom:-2px;border:2px solid white}\n"]}]}],ctorParameters:()=>[{type:i1.AccountService}],propDecorators:{user:[{type:Input}]}});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi91c2VyL2NvbXAtdXNlci1hdmF0YXIvY29tcC11c2VyLWF2YXRhci5jb21wb25lbnQubWpz`
10
+
@@ -1,17 +1,10 @@
1
- export * from "./comp-user-avatar/comp-user-avatar.component";
2
- export * from "./login/auth.service";
3
- export * from "./account/account.service";
4
- export * from "./user.module";
5
- export * from "./user-name.pipe";
6
- export * from "./staff";
7
- export * from "./profile/auth-profile.guard";
8
- export * from "./profile/auth-profile.service";
9
- export * from "./profile/profile-bind/profile-bind.component";
10
- export * from "./profile/profile.module";
11
- export * from "./modal-user-login/modal-user-login.component";
12
- export * from "./login/auth.guard";
13
- export * from "./login/auth.service";
14
- export * from "./login/login.component";
15
- export * from "./account/account.service";
16
- export * from "./captcha/captcha.component";
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3VzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUE7QUFFekMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLFNBQVMsQ0FBQztBQUV4QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY29tcC11c2VyLWF2YXRhci9jb21wLXVzZXItYXZhdGFyLmNvbXBvbmVudFwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2luL2F1dGguc2VydmljZVwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL2FjY291bnQvYWNjb3VudC5zZXJ2aWNlXCJcclxuXHJcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXIubW9kdWxlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItbmFtZS5waXBlXCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9zdGFmZlwiO1xyXG5cclxuZXhwb3J0ICogZnJvbSBcIi4vcHJvZmlsZS9hdXRoLXByb2ZpbGUuZ3VhcmRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vcHJvZmlsZS9hdXRoLXByb2ZpbGUuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9wcm9maWxlL3Byb2ZpbGUtYmluZC9wcm9maWxlLWJpbmQuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2ZpbGUvcHJvZmlsZS5tb2R1bGVcIjtcclxuXHJcbmV4cG9ydCAqIGZyb20gXCIuL21vZGFsLXVzZXItbG9naW4vbW9kYWwtdXNlci1sb2dpbi5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9naW4vYXV0aC5ndWFyZFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9sb2dpbi9hdXRoLnNlcnZpY2VcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9naW4vbG9naW4uY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9hY2NvdW50L2FjY291bnQuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9jYXB0Y2hhL2NhcHRjaGEuY29tcG9uZW50XCI7XHJcbiJdfQ==
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/user/index.mjs
7
+ */
8
+ export*from"./comp-user-avatar/comp-user-avatar.component";export*from"./login/auth.service";export*from"./account/account.service";export*from"./user.module";export*from"./user-name.pipe";export*from"./staff";export*from"./profile/auth-profile.guard";export*from"./profile/auth-profile.service";export*from"./profile/profile-bind/profile-bind.component";export*from"./profile/profile.module";export*from"./modal-user-login/modal-user-login.component";export*from"./login/auth.guard";export*from"./login/auth.service";export*from"./login/login.component";export*from"./account/account.service";export*from"./captcha/captcha.component";
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi91c2VyL2luZGV4Lm1qcw==`
10
+
@@ -1,28 +1,10 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { AuthService } from './auth.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./auth.service";
6
- import * as i2 from "@angular/router";
7
- export class AuthPcuserGuard {
8
- constructor(authService, router) {
9
- this.authService = authService;
10
- this.router = router;
11
- }
12
- canActivate(next, state) {
13
- // 当前路由url
14
- let url = state.url;
15
- // 调用checkLogin检查是否登录
16
- this.authService.redirectUrl = url;
17
- return this.authService.checkLogin(url);
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthPcuserGuard, deps: [{ token: i1.AuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthPcuserGuard, providedIn: 'root' }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthPcuserGuard, decorators: [{
23
- type: Injectable,
24
- args: [{
25
- providedIn: 'root'
26
- }]
27
- }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.Router }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvdXNlci9sb2dpbi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7OztBQUs1QyxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUFtQixXQUF3QixFQUFTLE1BQWM7UUFBL0MsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0RSxXQUFXLENBQ1QsSUFBNEIsRUFDNUIsS0FBMEI7UUFDeEIsVUFBVTtRQUNWLElBQUksR0FBRyxHQUFXLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDNUIscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQTtRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBWlUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoUGN1c2VyR3VhcmQgIHtcclxuICBcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGNhbkFjdGl2YXRlKFxyXG4gICAgbmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcclxuICAgICAgLy8g5b2T5YmN6Lev55SxdXJsXHJcbiAgICAgIGxldCB1cmw6IHN0cmluZyA9IHN0YXRlLnVybDtcclxuICAgICAgLy8g6LCD55SoY2hlY2tMb2dpbuajgOafpeaYr+WQpueZu+W9lVxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlZGlyZWN0VXJsID0gdXJsXHJcbiAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmNoZWNrTG9naW4odXJsKTtcclxuICB9XHJcbiAgXHJcblxyXG59XHJcbiJdfQ==
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/user/login/auth.guard.mjs
7
+ */
8
+ import{Injectable}from"@angular/core";import{Router}from"@angular/router";import{AuthService}from"./auth.service";import*as i0 from"@angular/core";import*as i1 from"./auth.service";import*as i2 from"@angular/router";export class AuthPcuserGuard{constructor(r,e){this.authService=r,this.router=e}canActivate(r,e){let t=e.url;return this.authService.redirectUrl=t,this.authService.checkLogin(t)}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthPcuserGuard,deps:[{token:i1.AuthService},{token:i2.Router}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthPcuserGuard,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthPcuserGuard,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.AuthService},{type:i2.Router}]});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi91c2VyL2xvZ2luL2F1dGguZ3VhcmQubWpz`
10
+