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.
- package/LICENSE.md +8 -0
- package/README.md +37 -37
- package/esm2022/fmode-ng.mjs +10 -5
- package/esm2022/lib/aigc/agent/fm-agent-task/fm-agent-task.component.mjs +8 -92
- package/esm2022/lib/aigc/agent/index.mjs +10 -3
- package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
- package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -98
- package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -107
- package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -113
- package/esm2022/lib/aigc/avatar/index.mjs +10 -8
- package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
- package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -164
- package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -49
- package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -155
- package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
- package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -140
- package/esm2022/lib/aigc/chat/chat-message-card/duration-str.pipe.mjs +10 -29
- package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -3
- package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -3
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -193
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -331
- package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +8 -249
- package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -83
- package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/index.mjs +10 -8
- package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -367
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
- package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -115
- package/esm2022/lib/aigc/index.mjs +10 -14
- package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
- package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +10 -2
- package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -174
- package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
- package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
- package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
- package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
- package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs +9 -162
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-work.mjs +10 -68
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -313
- package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -4
- package/esm2022/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.mjs +10 -62
- package/esm2022/lib/aigc/story/fm-story-card/fm-story-card.component.mjs +10 -87
- package/esm2022/lib/aigc/story/fm-story-list/fm-story-list.component.mjs +10 -345
- package/esm2022/lib/aigc/story/fm-story-list/story-preview.mjs +10 -81
- package/esm2022/lib/aigc/story/fm-story-loader/fm-story-loader.component.mjs +10 -152
- package/esm2022/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.mjs +10 -42
- package/esm2022/lib/aigc/story/index.mjs +10 -6
- package/esm2022/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.mjs +10 -47
- package/esm2022/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.mjs +10 -95
- package/esm2022/lib/aigc/story/modal-chat-story/modal-chat-story.component.mjs +10 -253
- package/esm2022/lib/aigc/story/story.service.mjs +10 -35
- package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +10 -636
- package/esm2022/lib/aigc/voice/index.mjs +10 -7
- package/esm2022/lib/aigc/voice/lib/audio/audio.player.mjs +10 -55
- package/esm2022/lib/aigc/voice/lib/audio/audio.streamer.mjs +10 -2
- package/esm2022/lib/aigc/voice/lib/audio/streamer.microsoft.mjs +10 -96
- package/esm2022/lib/aigc/voice/lib/audio/streamer.pcm.mjs +8 -177
- package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
- package/esm2022/lib/aigc/voice/lib/recorder/extension-waveview.mjs +10 -215
- package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
- package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +10 -189
- package/esm2022/lib/aigc/voice/tts/index.mjs +10 -5
- package/esm2022/lib/aigc/voice/tts/int-tts-provider.mjs +10 -2
- package/esm2022/lib/aigc/voice/tts/provider-doubao.mjs +8 -346
- package/esm2022/lib/code/fm-codemirror/fm-codemirror.component.mjs +8 -342
- package/esm2022/lib/code/index.mjs +10 -2
- package/esm2022/lib/core/agent/chat/completion/fmode-completion.mjs +8 -430
- package/esm2022/lib/core/agent/chat/completion/index.mjs +10 -2
- package/esm2022/lib/core/agent/chat/completion/int-gpt-chat-options.mjs +10 -2
- package/esm2022/lib/core/agent/chat/fmode-chat.mjs +8 -617
- package/esm2022/lib/core/agent/chat/index.mjs +10 -4
- package/esm2022/lib/core/agent/chat/interface.mjs +10 -2
- package/esm2022/lib/core/agent/index.mjs +10 -6
- package/esm2022/lib/core/agent/prompt/agent.prompt.mjs +10 -133
- package/esm2022/lib/core/agent/prompt/index.mjs +10 -2
- package/esm2022/lib/core/agent/prompt/prompt-util.mjs +10 -16
- package/esm2022/lib/core/agent/story/agent.story.mjs +10 -64
- package/esm2022/lib/core/agent/story/index.mjs +10 -2
- package/esm2022/lib/core/agent/task/agent.task.mjs +10 -90
- package/esm2022/lib/core/agent/task/index.mjs +10 -2
- package/esm2022/lib/core/agent/waiting/index.mjs +10 -3
- package/esm2022/lib/core/agent/waiting/loading/loading.ctrl.mjs +10 -279
- package/esm2022/lib/core/agent/waiting/tips/tips.ctrl.mjs +8 -190
- package/esm2022/lib/core/index.mjs +10 -4
- package/esm2022/lib/core/parse/datatype/acl.mjs +10 -57
- package/esm2022/lib/core/parse/datatype/file.mjs +10 -69
- package/esm2022/lib/core/parse/datatype/geopoint.mjs +10 -57
- package/esm2022/lib/core/parse/datatype/relation.mjs +10 -56
- package/esm2022/lib/core/parse/fmode.cloud.mjs +10 -0
- package/esm2022/lib/core/parse/fmode.object.mjs +10 -232
- package/esm2022/lib/core/parse/fmode.parse.mjs +10 -84
- package/esm2022/lib/core/parse/fmode.query.mjs +8 -500
- package/esm2022/lib/core/parse/fmode.user.mjs +10 -275
- package/esm2022/lib/core/parse/index.mjs +10 -5
- package/esm2022/lib/core/parse/types.mjs +10 -2
- package/esm2022/lib/core/voice/index.mjs +10 -3
- package/esm2022/lib/core/voice/tts/index.mjs +10 -2
- package/esm2022/lib/icon/filetype/audio.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/avatar.svg.mjs +10 -14
- package/esm2022/lib/icon/filetype/chat.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/docx.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/file.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/filetype.pipe.mjs +10 -57
- package/esm2022/lib/icon/filetype/index.mjs +10 -12
- package/esm2022/lib/icon/filetype/md.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/pdf.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/pptx.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/svgtoblob.mjs +10 -8
- package/esm2022/lib/icon/filetype/video.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/xlsx.svg.mjs +10 -3
- package/esm2022/lib/icon/index.mjs +10 -2
- package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -209
- package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
- package/esm2022/lib/map/index.mjs +10 -4
- package/esm2022/lib/map/map.module.mjs +10 -61
- package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -132
- package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -115
- package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -118
- package/esm2022/lib/nova-cloud/index.mjs +10 -3
- package/esm2022/lib/nova-cloud/ncloud-api-func.mjs +10 -91
- package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -53
- package/esm2022/lib/payment/index.mjs +10 -2
- package/esm2022/lib/payment/payment/payment.component.mjs +10 -543
- package/esm2022/lib/payment/payment.service.mjs +10 -202
- package/esm2022/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.mjs +10 -48
- package/esm2022/lib/person/comp-person-item/comp-person-item.component.mjs +10 -29
- package/esm2022/lib/person/comp-person-story/comp-person-story.component.mjs +10 -211
- package/esm2022/lib/person/edit-upload/edit-upload.component.mjs +8 -412
- package/esm2022/lib/person/edit-upload/edit-upload.module.mjs +10 -50
- package/esm2022/lib/person/index.mjs +10 -5
- package/esm2022/lib/person/modal-person-select/modal-person-select.component.mjs +10 -144
- package/esm2022/lib/person/modal-user-verify/secret-text.pipe.mjs +10 -41
- package/esm2022/lib/person/modal-user-verify/user-verify.component.mjs +10 -595
- package/esm2022/lib/person/person-detail/person-detail.component.mjs +10 -172
- package/esm2022/lib/person/person.service.mjs +8 -193
- package/esm2022/lib/platform/cross.service.mjs +10 -62
- package/esm2022/lib/platform/index.mjs +10 -2
- package/esm2022/lib/social/index.mjs +10 -2
- package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -230
- package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
- package/esm2022/lib/storage/index.mjs +10 -5
- package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -131
- package/esm2022/lib/storage/service-hwobs/index.mjs +10 -3
- package/esm2022/lib/storage/service-hwobs/typings/esdk-obs-browser.mjs +1 -1
- package/esm2022/lib/storage/service-upload/index.mjs +10 -2
- package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -513
- package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
- package/esm2022/lib/storage/service-upload/util-file-metadata.mjs +10 -93
- package/esm2022/lib/storage/storage.module.mjs +10 -42
- package/esm2022/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.mjs +10 -72
- package/esm2022/lib/text/fm-article-editor/article.service.mjs +10 -237
- package/esm2022/lib/text/fm-article-editor/comp-upload-book-banners/comp-upload-book-banners.component.mjs +8 -72
- package/esm2022/lib/text/fm-article-editor/draft.service.mjs +10 -207
- package/esm2022/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.mjs +8 -227
- package/esm2022/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.mjs +10 -303
- package/esm2022/lib/text/fm-article-editor/fm-article-editor.component.mjs +8 -371
- package/esm2022/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.mjs +10 -94
- package/esm2022/lib/text/fm-article-editor/fm-article-outline-leftitem/fm-article-outline-leftitem.component.mjs +10 -36
- package/esm2022/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.mjs +10 -281
- package/esm2022/lib/text/fm-article-editor/fm-article-write-options/fm-article-write-options.component.mjs +10 -72
- package/esm2022/lib/text/fm-article-editor/outline-count.pipe.mjs +10 -22
- package/esm2022/lib/text/fm-article-editor/prompt/prompt-insertion-article.mjs +10 -169
- package/esm2022/lib/text/fm-article-editor/task-article-generation.mjs +10 -69
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-draft-create.mjs +10 -65
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline-edit.mjs +10 -55
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline.mjs +10 -142
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-preview.mjs +10 -35
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-writing-options.mjs +10 -81
- package/esm2022/lib/text/fm-article-editor/tasks/task-document-select.mjs +10 -50
- package/esm2022/lib/text/fm-text-quill/fm-text-quill.component.mjs +10 -145
- package/esm2022/lib/text/index.mjs +10 -4
- package/esm2022/lib/user/account/account.service.mjs +10 -222
- package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
- package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -66
- package/esm2022/lib/user/index.mjs +10 -17
- package/esm2022/lib/user/login/auth.guard.mjs +10 -28
- package/esm2022/lib/user/login/auth.service.mjs +8 -433
- package/esm2022/lib/user/login/login.component.mjs +10 -916
- package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -311
- package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
- package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
- package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -164
- package/esm2022/lib/user/profile/profile-bind/profile-confirm-modal.component.mjs +10 -79
- package/esm2022/lib/user/profile/profile.module.mjs +10 -54
- package/esm2022/lib/user/staff/index.mjs +10 -4
- package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
- package/esm2022/lib/user/staff/staff.module.mjs +10 -18
- package/esm2022/lib/user/staff/staff.service.mjs +10 -85
- package/esm2022/lib/user/user-name.pipe.mjs +10 -29
- package/esm2022/lib/user/user.module.mjs +10 -102
- package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
- package/esm2022/lib/video/index.mjs +10 -2
- package/esm2022/public-api.mjs +10 -21
- package/fesm2022/fmode-ng.mjs +7 -19788
- package/fesm2022/fmode-ng.mjs.map +1 -1
- package/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.d.ts +2 -2
- package/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.d.ts +2 -2
- package/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.d.ts +2 -2
- package/lib/aigc/chat/chat-list/chat-list.component.d.ts +3 -2
- package/lib/aigc/chat/chat-message-card/comp-message-card.component.d.ts +3 -3
- package/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.d.ts +2 -2
- package/lib/aigc/chat/chat-modal-input/modal-input.component.d.ts +3 -3
- package/lib/aigc/service-fmai/service-imagine/imagine-func.d.ts +3 -3
- package/lib/aigc/service-fmai/service-imagine/imagine-work.d.ts +4 -4
- package/lib/aigc/service-fmai/service-imagine/imagine.service.d.ts +6 -6
- package/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.d.ts +2 -2
- package/lib/aigc/story/fm-story-card/fm-story-card.component.d.ts +2 -1
- package/lib/aigc/story/fm-story-list/fm-story-list.component.d.ts +6 -6
- package/lib/aigc/story/fm-story-list/story-preview.d.ts +4 -4
- package/lib/aigc/story/fm-story-loader/fm-story-loader.component.d.ts +3 -3
- package/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.d.ts +2 -2
- package/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.d.ts +3 -2
- package/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.d.ts +3 -2
- package/lib/aigc/story/modal-chat-story/modal-chat-story.component.d.ts +6 -6
- package/lib/aigc/story/story.service.d.ts +3 -2
- package/lib/aigc/voice/tts/fmode-tts-class.d.ts +2 -2
- package/lib/core/agent/chat/fmode-chat.d.ts +11 -11
- package/lib/core/agent/story/agent.story.d.ts +8 -8
- package/lib/core/parse/datatype/geopoint.d.ts +5 -1
- package/lib/core/parse/fmode.cloud.d.ts +32 -0
- package/lib/core/parse/fmode.object.d.ts +2 -2
- package/lib/core/parse/fmode.parse.d.ts +15 -9
- package/lib/core/parse/fmode.query.d.ts +41 -2
- package/lib/core/parse/fmode.user.d.ts +1 -0
- package/lib/core/parse/index.d.ts +1 -0
- package/lib/core/parse/types.d.ts +2 -0
- package/lib/map/comp-poi-picker/comp-poi-picker.component.d.ts +5 -5
- package/lib/payment/payment/payment.component.d.ts +3 -3
- package/lib/payment/payment.service.d.ts +4 -4
- package/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.d.ts +2 -1
- package/lib/person/comp-person-item/comp-person-item.component.d.ts +2 -1
- package/lib/person/comp-person-story/comp-person-story.component.d.ts +13 -13
- package/lib/person/edit-upload/edit-upload.component.d.ts +1 -1
- package/lib/person/modal-person-select/modal-person-select.component.d.ts +5 -5
- package/lib/person/modal-user-verify/user-verify.component.d.ts +5 -5
- package/lib/person/person-detail/person-detail.component.d.ts +4 -4
- package/lib/person/person.service.d.ts +7 -7
- package/lib/storage/service-hwobs/hwobs.service.d.ts +4 -5
- package/lib/storage/service-upload/nova-upload.service.d.ts +5 -5
- package/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.d.ts +2 -1
- package/lib/text/fm-article-editor/article.service.d.ts +12 -12
- package/lib/text/fm-article-editor/draft.service.d.ts +5 -5
- package/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.d.ts +3 -2
- package/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.d.ts +16 -17
- package/lib/text/fm-article-editor/fm-article-editor.component.d.ts +3 -3
- package/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.d.ts +11 -10
- package/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.d.ts +2 -2
- package/lib/text/fm-article-editor/prompt/prompt-insertion-article.d.ts +3 -3
- package/lib/text/fm-article-editor/task-article-generation.d.ts +5 -4
- package/lib/text/fm-article-editor/tasks/task-article-draft-create.d.ts +3 -3
- package/lib/text/fm-article-editor/tasks/task-article-outline-edit.d.ts +3 -3
- package/lib/text/fm-article-editor/tasks/task-article-outline.d.ts +3 -3
- package/lib/text/fm-article-editor/tasks/task-article-preview.d.ts +2 -1
- package/lib/text/fm-article-editor/tasks/task-article-writing-options.d.ts +3 -3
- package/lib/text/fm-article-editor/tasks/task-document-select.d.ts +3 -3
- package/lib/user/account/account.service.d.ts +2 -2
- package/lib/user/comp-user-avatar/comp-user-avatar.component.d.ts +2 -2
- package/lib/user/login/auth.service.d.ts +5 -5
- package/lib/user/login/login.component.d.ts +3 -3
- package/lib/user/profile/auth-profile.service.d.ts +8 -8
- package/lib/user/profile/profile-bind/profile-bind.component.d.ts +7 -7
- package/lib/user/profile/profile-bind/profile-confirm-modal.component.d.ts +2 -2
- package/lib/user/staff/staff.service.d.ts +3 -3
- package/lib/user/user-name.pipe.d.ts +2 -2
- package/package.json +12 -18
|
@@ -1,135 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
|
|
10
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3VzZXIvY2FwdGNoYS9jYXB0Y2hhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvdXNlci9jYXB0Y2hhL2NhcHRjaGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLGdCQUFnQjtJQVV6QjtRQVBTLFNBQUksR0FBVyxPQUFPLENBQUMsQ0FBRSwyQkFBMkI7UUFDcEQsY0FBUyxHQUFXLFlBQVksQ0FBQyxDQUFDLE1BQU07UUFDeEMsYUFBUSxHQUFrQixFQUFFLENBQUMsQ0FBQyxPQUFPO1FBQ3JDLFVBQUssR0FBVyxFQUFFLENBQUMsQ0FBQyxVQUFVO1FBQzdCLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFDMUQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsV0FBVztRQUN0RSxTQUFJLEdBQVUsRUFBRSxDQUFBO0lBQ0QsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUNiLGVBQWU7UUFDYiw2R0FBNkc7UUFDN0csOENBQThDO1FBQzlDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsY0FBYztRQUNaLElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLGFBQWEsR0FBRyxF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QUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNsQixJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ2QsS0FBSyxFQUFDLElBQUksQ0FBQyxLQUFLO2FBQ2pCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDckIsQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2QsS0FBSyxFQUFDLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBckhRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLCtUQ2xCN0IsNm5CQXFCQSx5VkRUVyxZQUFZLGtJQUFDLFdBQVc7OzRGQU10QixnQkFBZ0I7a0JBUDVCLFNBQVM7OEJBQ0EsQ0FBQyxZQUFZLEVBQUMsV0FBVyxDQUFDLGNBQ3ZCLElBQUksWUFDTCxZQUFZO3dEQUtJLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFFYixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIGltcG9ydHM6W0NvbW1vbk1vZHVsZSxGb3Jtc01vZHVsZV0sXHJcbiAgc3RhbmRhbG9uZTp0cnVlLFxyXG4gIHNlbGVjdG9yOiAnZm0tY2FwdGNoYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcHRjaGEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhcHRjaGEuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FwdGNoYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKFwiY2FudmFzRG9tXCIpIGNhbnZhc0RvbTogRWxlbWVudFJlZjsgLy/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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(authService,
|
|
9
|
-
|
|
10
|
-
|
|
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
|
+
|