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,172 +1,10 @@
1
- import { Component } from '@angular/core';
2
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { NzInputModule } from 'ng-zorro-antd/input';
4
- import { NzRadioModule } from 'ng-zorro-antd/radio';
5
- import { CommonModule } from '@angular/common';
6
- import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
7
- import { EditUploadModule } from '../edit-upload/edit-upload.module';
8
- import { ActivatedRoute } from '@angular/router';
9
- import { NzMessageService } from 'ng-zorro-antd/message';
10
- import { Location } from '@angular/common';
11
- import * as Parse from "parse";
12
- import { IonModal, IonDatetimeButton, ModalController, IonDatetime, IonButton, IonHeader, IonButtons, IonToolbar, IonContent, IonTitle } from '@ionic/angular/standalone';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/router";
15
- import * as i2 from "ng-zorro-antd/message";
16
- import * as i3 from "@angular/common";
17
- import * as i4 from "@ionic/angular/standalone";
18
- import * as i5 from "ng-zorro-antd/input";
19
- import * as i6 from "ng-zorro-antd/radio";
20
- import * as i7 from "@angular/forms";
21
- import * as i8 from "../edit-upload/edit-upload.component";
22
- export class PersonDetailComponent {
23
- cancel() {
24
- this.modalCtrl.dismiss(null);
25
- }
26
- async confirm() {
27
- await this.addPerson();
28
- if (this.person?.id) {
29
- this.modalCtrl.dismiss(this.person, "confirm");
30
- }
31
- }
32
- constructor(route, message, location, modalCtrl) {
33
- this.route = route;
34
- this.message = message;
35
- this.location = location;
36
- this.modalCtrl = modalCtrl;
37
- this.radioValue = '男';
38
- this.company = '';
39
- //上传头像
40
- this.avatar = '';
41
- //上传背景图
42
- this.thumb = '';
43
- this.gender = {
44
- '男': '男',
45
- '女': '女'
46
- };
47
- this.route.queryParamMap.subscribe(params => {
48
- this.personId = params.get('personId');
49
- console.log(this.personId);
50
- });
51
- }
52
- ngOnInit() {
53
- if (!this.person?.id) {
54
- this.getPerson();
55
- }
56
- }
57
- changeAvatar() {
58
- this.avatar = '';
59
- console.log(this.avatar);
60
- }
61
- changeThumb() {
62
- this.thumb = '';
63
- console.log(this.thumb);
64
- }
65
- /**获取时间 */
66
- onDateChange(event) {
67
- const dateString = event.detail.value;
68
- const date = new Date(dateString);
69
- this.date = date;
70
- console.log(this.date);
71
- }
72
- async getPerson() {
73
- if (!this.personId)
74
- return;
75
- let query = new Parse.Query("Person");
76
- query.equalTo("company", "Svehl6FceL");
77
- query.equalTo("objectId", this.personId);
78
- query.notEqualTo("isDeleted", true);
79
- this.person = await query.first();
80
- // console.log(this.person);
81
- if (this.person?.id) {
82
- this.name = this.person.get('name');
83
- this.radioValue = this.person.get('gender');
84
- this.birthday = this.person.get('birthday');
85
- this.post = this.person.get('post');
86
- this.mobile = this.person.get('mobile');
87
- this.hobby = this.person.get('hobby');
88
- this.avatar = this.person.get('avatar');
89
- this.thumb = this.person.get('thumb');
90
- }
91
- }
92
- async addPerson() {
93
- this.currentUser = Parse.User.current();
94
- if (!this.name) {
95
- return this.message.error("姓名未填写");
96
- }
97
- if (!this.radioValue) {
98
- return this.message.error("性别未填写");
99
- }
100
- // if(!this.avatar){
101
- // return this.message.error("头像未上传");
102
- // }
103
- // if(!this.thumb){
104
- // return this.message.error("背景图片未上传");
105
- // }
106
- if (!this.person) {
107
- let Person = Parse.Object.extend("Person");
108
- this.person = new Person();
109
- }
110
- if (this.person) {
111
- this.person.set('name', this.name);
112
- this.person.set('gender', this.gender[this.radioValue]);
113
- this.person.set('birthday', this.date);
114
- this.person.set('post', this.post);
115
- this.person.set('mobile', String(this.mobile));
116
- this.person.set('hobby', this.hobby);
117
- this.person.set('avatar', this.avatar);
118
- this.person.set('thumb', this.thumb);
119
- this.person.set('creator', { __type: 'Pointer', className: '_User', objectId: this.currentUser?.id });
120
- this.person.set('company', { __type: 'Pointer', className: 'Company', objectId: 'Svehl6FceL' });
121
- try {
122
- this.person = await this.person.save();
123
- if (this.person?.id) {
124
- this.message.success("保存成功");
125
- // this.goBack()
126
- }
127
- }
128
- catch (err) {
129
- console.log(err);
130
- this.message.error("保存失败");
131
- }
132
- }
133
- }
134
- //返回上一级页面
135
- goBack() {
136
- this.location.back();
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PersonDetailComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.NzMessageService }, { token: i3.Location }, { token: i4.ModalController }], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PersonDetailComponent, isStandalone: true, selector: "app-person-detail", providers: [], ngImport: i0, template: "<ion-header>\r\n <ion-toolbar>\r\n <ion-buttons slot=\"start\" (click)=\"cancel()\">\r\n <ion-button>\u53D6\u6D88</ion-button>\r\n </ion-buttons>\r\n <ion-title>\u57FA\u7840\u4FE1\u606F</ion-title>\r\n <ion-buttons slot=\"end\" (click)=\"confirm()\">\r\n <ion-button>\u5B8C\u6210</ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n</ion-header>\r\n<ion-content>\r\n\r\n<div class=\"page\">\r\n <!-- <div class=\"top\">\u5B8C\u5584\u4EBA\u7269\u57FA\u7840\u4FE1\u606F</div> -->\r\n <div class=\"box\">\r\n <div class=\"item\">\r\n <div class=\"title\">\u59D3\u540D</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u771F\u5B9E\u59D3\u540D\" [(ngModel)]=\"name\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u6027\u522B</div>\r\n <div class=\"sex\">\r\n <nz-radio-group [(ngModel)]=\"radioValue\">\r\n <label nz-radio nzValue=\"\u7537\" style=\"color: #fff;\">\u7537</label>\r\n <label nz-radio nzValue=\"\u5973\" style=\"color: #fff;\">\u5973</label>\r\n </nz-radio-group>\r\n <div style=\"\r\n height: 1px;\r\n width: 100%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\" style=\"padding: 3%;display: flex;\">\r\n <div style=\"display: flex; flex-direction: row;width: 50%;text-align: center;\">\r\n <div class=\"upload_avatar\">\r\n <fm-edit-upload *ngIf=\"!avatar\" [(file)]=\"avatar\" [multi]=\"true\" [company]=\"company\"></fm-edit-upload>\r\n <img style=\"width: 130px;height:130px; object-fit: cover;\" *ngIf=\"avatar\" [src]=\"avatar\" alt=\"\" >\r\n <div>\u4E0A\u4F20\u5934\u50CF</div>\r\n </div>\r\n <div *ngIf=\"avatar\" (click)=\"changeAvatar()\" style=\"margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;\">x</div>\r\n </div>\r\n <div style=\"display: flex; flex-direction: row;width: 50%;text-align: center;\">\r\n <div class=\"upload_avatar\">\r\n <fm-edit-upload *ngIf=\"!thumb\" [(file)]=\"thumb\" [multi]=\"true\" [company]=\"company\"></fm-edit-upload>\r\n <img style=\"height: 130px; object-fit: cover;\" *ngIf=\"thumb\" [src]=\"thumb\" alt=\"\" >\r\n <div>\u4E0A\u4F20\u5C01\u9762</div>\r\n </div>\r\n <div *ngIf=\"thumb\" (click)=\"changeThumb()\" style=\"margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;\">x</div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u751F\u65E5</div>\r\n <div class=\"birthday\">\r\n <ion-datetime-button datetime=\"datetime\" [(ngModel)]=\"birthday\"></ion-datetime-button>\r\n <ion-modal [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-datetime id=\"datetime\" presentation=\"date\"\r\n (ionChange)=\"onDateChange($event)\"></ion-datetime>\r\n </ng-template>\r\n </ion-modal>\r\n <div style=\"\r\n height: 1px;\r\n width: 100%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u73B0\u4EFB\u804C\u4F4D</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u73B0\u4EFB\u804C\u4F4D\" [(ngModel)]=\"post\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u8054\u7CFB\u65B9\u5F0F</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u8054\u7CFB\u65B9\u5F0F\" [(ngModel)]=\"mobile\" type=\"number\" maxlength=\"11\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u5174\u8DA3\u7231\u597D</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u5174\u8DA3\u7231\u597D\" [(ngModel)]=\"hobby\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n\r\n <ion-button style=\"width: 90%;margin-left: 5%;\" (click)=\"confirm()\">\u5B8C\u6210</ion-button>\r\n </div>\r\n</div>\r\n</ion-content>\r\n", styles: [".page{width:100%;height:100%;padding:2%;background-color:#030810;color:#fff;overflow-y:scroll}.page .top{padding:3%;color:#ba6b16}.page .box{height:95%;padding:5% 0;background-color:#1e1f22;border-radius:20px}.page .box span{margin-left:3%}.page .box .item .title{margin-left:3%;margin-top:12px}.page .box .item .sex,.page .box .item .birthday{padding:3%}.page .box ion-button{--background: #6e23ce}ion-datetime-button{display:block}\n"], dependencies: [{ kind: "component", type: IonDatetimeButton, selector: "ion-datetime-button", inputs: ["color", "datetime", "disabled", "mode"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showAdjacentDays", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "ngmodule", type: NzDatePickerModule }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "ngmodule", type: NzRadioModule }, { kind: "component", type: i6.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i6.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: EditUploadModule }, { kind: "component", type: i8.EditUploadComponent, selector: "fm-edit-upload", inputs: ["files", "dragdrop", "multi", "max_file_size", "type", "avatarType", "company", "file", "fileList", "path"], outputs: ["filesChange", "fileChange", "fileListChange"] }] }); }
140
- }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PersonDetailComponent, decorators: [{
142
- type: Component,
143
- args: [{ selector: 'app-person-detail', standalone: true, imports: [
144
- IonDatetimeButton, IonModal, IonDatetime, IonButton,
145
- IonHeader, IonButtons, IonToolbar, IonContent, IonTitle,
146
- NzDatePickerModule,
147
- NzInputModule, NzRadioModule, ReactiveFormsModule,
148
- FormsModule, CommonModule,
149
- EditUploadModule,
150
- ], providers: [], template: "<ion-header>\r\n <ion-toolbar>\r\n <ion-buttons slot=\"start\" (click)=\"cancel()\">\r\n <ion-button>\u53D6\u6D88</ion-button>\r\n </ion-buttons>\r\n <ion-title>\u57FA\u7840\u4FE1\u606F</ion-title>\r\n <ion-buttons slot=\"end\" (click)=\"confirm()\">\r\n <ion-button>\u5B8C\u6210</ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n</ion-header>\r\n<ion-content>\r\n\r\n<div class=\"page\">\r\n <!-- <div class=\"top\">\u5B8C\u5584\u4EBA\u7269\u57FA\u7840\u4FE1\u606F</div> -->\r\n <div class=\"box\">\r\n <div class=\"item\">\r\n <div class=\"title\">\u59D3\u540D</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u771F\u5B9E\u59D3\u540D\" [(ngModel)]=\"name\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u6027\u522B</div>\r\n <div class=\"sex\">\r\n <nz-radio-group [(ngModel)]=\"radioValue\">\r\n <label nz-radio nzValue=\"\u7537\" style=\"color: #fff;\">\u7537</label>\r\n <label nz-radio nzValue=\"\u5973\" style=\"color: #fff;\">\u5973</label>\r\n </nz-radio-group>\r\n <div style=\"\r\n height: 1px;\r\n width: 100%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\" style=\"padding: 3%;display: flex;\">\r\n <div style=\"display: flex; flex-direction: row;width: 50%;text-align: center;\">\r\n <div class=\"upload_avatar\">\r\n <fm-edit-upload *ngIf=\"!avatar\" [(file)]=\"avatar\" [multi]=\"true\" [company]=\"company\"></fm-edit-upload>\r\n <img style=\"width: 130px;height:130px; object-fit: cover;\" *ngIf=\"avatar\" [src]=\"avatar\" alt=\"\" >\r\n <div>\u4E0A\u4F20\u5934\u50CF</div>\r\n </div>\r\n <div *ngIf=\"avatar\" (click)=\"changeAvatar()\" style=\"margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;\">x</div>\r\n </div>\r\n <div style=\"display: flex; flex-direction: row;width: 50%;text-align: center;\">\r\n <div class=\"upload_avatar\">\r\n <fm-edit-upload *ngIf=\"!thumb\" [(file)]=\"thumb\" [multi]=\"true\" [company]=\"company\"></fm-edit-upload>\r\n <img style=\"height: 130px; object-fit: cover;\" *ngIf=\"thumb\" [src]=\"thumb\" alt=\"\" >\r\n <div>\u4E0A\u4F20\u5C01\u9762</div>\r\n </div>\r\n <div *ngIf=\"thumb\" (click)=\"changeThumb()\" style=\"margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;\">x</div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u751F\u65E5</div>\r\n <div class=\"birthday\">\r\n <ion-datetime-button datetime=\"datetime\" [(ngModel)]=\"birthday\"></ion-datetime-button>\r\n <ion-modal [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-datetime id=\"datetime\" presentation=\"date\"\r\n (ionChange)=\"onDateChange($event)\"></ion-datetime>\r\n </ng-template>\r\n </ion-modal>\r\n <div style=\"\r\n height: 1px;\r\n width: 100%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u73B0\u4EFB\u804C\u4F4D</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u73B0\u4EFB\u804C\u4F4D\" [(ngModel)]=\"post\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u8054\u7CFB\u65B9\u5F0F</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u8054\u7CFB\u65B9\u5F0F\" [(ngModel)]=\"mobile\" type=\"number\" maxlength=\"11\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n <div class=\"item\">\r\n <div class=\"title\">\u5174\u8DA3\u7231\u597D</div>\r\n <div class=\"input\" style=\"padding: 3% 1% 1% 1%;\">\r\n <input nz-input placeholder=\"\u8BF7\u8F93\u5165\u5174\u8DA3\u7231\u597D\" [(ngModel)]=\"hobby\" nzBorderless style=\"width: 100%;background-color: #1e1f22;color: #fff;\" />\r\n <div style=\"\r\n height: 1px;\r\n width: 95%;\r\n background-color: #353a4a;\r\n margin: 2% auto;\"></div>\r\n </div>\r\n </div>\r\n\r\n <ion-button style=\"width: 90%;margin-left: 5%;\" (click)=\"confirm()\">\u5B8C\u6210</ion-button>\r\n </div>\r\n</div>\r\n</ion-content>\r\n", styles: [".page{width:100%;height:100%;padding:2%;background-color:#030810;color:#fff;overflow-y:scroll}.page .top{padding:3%;color:#ba6b16}.page .box{height:95%;padding:5% 0;background-color:#1e1f22;border-radius:20px}.page .box span{margin-left:3%}.page .box .item .title{margin-left:3%;margin-top:12px}.page .box .item .sex,.page .box .item .birthday{padding:3%}.page .box ion-button{--background: #6e23ce}ion-datetime-button{display:block}\n"] }]
151
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.NzMessageService }, { type: i3.Location }, { type: i4.ModalController }] });
152
- export async function openPersonDetailEditModal(modalCtrl, person) {
153
- let modal = await modalCtrl.create({
154
- component: PersonDetailComponent,
155
- componentProps: {
156
- person: person,
157
- },
158
- breakpoints: [0.5, 1.0],
159
- initialBreakpoint: 0.5,
160
- });
161
- modal.present();
162
- let { data, role } = await modal.onWillDismiss();
163
- if (role == "confirm") {
164
- let person = data;
165
- if (data?.className == "PersonAuthor") {
166
- return data?.get("person");
167
- }
168
- return person;
169
- }
170
- return null;
171
- }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3BlcnNvbi9wZXJzb24tZGV0YWlsL3BlcnNvbi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9wZXJzb24vcGVyc29uLWRldGFpbC9wZXJzb24tZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJC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YW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE56SW5wdXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2lucHV0JztcclxuaW1wb3J0IHsgTnpSYWRpb01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmFkaW8nO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOekRhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2RhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgRWRpdFVwbG9hZE1vZHVsZSB9IGZyb20gJy4uL2VkaXQtdXBsb2FkL2VkaXQtdXBsb2FkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0ICogYXMgUGFyc2UgZnJvbSBcInBhcnNlXCI7XHJcbmltcG9ydCB7IElvbk1vZGFsLElvbkRhdGV0aW1lQnV0dG9uLCBNb2RhbENvbnRyb2xsZXIsIElvbkRhdGV0aW1lLCBJb25CdXR0b24sIElvbkhlYWRlciwgSW9uQnV0dG9ucywgSW9uVG9vbGJhciwgSW9uQ29udGVudCwgSW9uVGl0bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXBlcnNvbi1kZXRhaWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW9uRGF0ZXRpbWVCdXR0b24sSW9uTW9kYWwsSW9uRGF0ZXRpbWUsSW9uQnV0dG9uLFxyXG4gICAgSW9uSGVhZGVyLElvbkJ1dHRvbnMsSW9uVG9vbGJhcixJb25Db250ZW50LElvblRpdGxlLFxyXG4gICAgTnpEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgTnpJbnB1dE1vZHVsZSxOelJhZGlvTW9kdWxlLFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxDb21tb25Nb2R1bGUsXHJcbiAgICBFZGl0VXBsb2FkTW9kdWxlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOltcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJzb24tZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZXJzb24tZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJzb25EZXRhaWxDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY2FuY2VsKCl7XHJcbiAgICB0aGlzLm1vZGFsQ3RybC5kaXNtaXNzKG51bGwpXHJcbiAgfVxyXG4gIGFzeW5jIGNvbmZpcm0oKXtcclxuICAgIGF3YWl0IHRoaXMuYWRkUGVyc29uKClcclxuICAgIGlmKHRoaXMucGVyc29uPy5pZCl7XHJcbiAgICAgIHRoaXMubW9kYWxDdHJsLmRpc21pc3ModGhpcy5wZXJzb24sXCJjb25maXJtXCIpXHJcbiAgICB9XHJcbiAgfVxyXG4gIHJhZGlvVmFsdWUgPSAn55S3JztcclxuICBjb21wYW55ID0gJydcclxuICAvL+S4iuS8oOWktOWDj1xyXG4gIGF2YXRhciA9ICcnXHJcbiAgLy/kuIrkvKDog4zmma/lm75cclxuICB0aHVtYiA9ICcnXHJcbiAgbmFtZTpzdHJpbmcgfHVuZGVmaW5lZFxyXG4gIHBvc3Q6c3RyaW5nIHx1bmRlZmluZWRcclxuICBtb2JpbGU6c3RyaW5nIHx1bmRlZmluZWRcclxuICBob2JieTpzdHJpbmcgfHVuZGVmaW5lZFxyXG4gIGJpcnRoZGF5OmFueVxyXG4gIHBlcnNvbjpQYXJzZS5PYmplY3R8dW5kZWZpbmVkXHJcbiAgcGVyc29uSWQ6YW55XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZTogTnpNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBtb2RhbEN0cmw6TW9kYWxDb250cm9sbGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgdGhpcy5wZXJzb25JZCA9IHBhcmFtcy5nZXQoJ3BlcnNvbklkJylcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnBlcnNvbklkKVxyXG4gICAgICBcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmKCF0aGlzLnBlcnNvbj8uaWQpe1xyXG4gICAgICB0aGlzLmdldFBlcnNvbigpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VBdmF0YXIoKXtcclxuICAgIHRoaXMuYXZhdGFyID0gJyc7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmF2YXRhcik7XHJcbiAgfVxyXG4gIGNoYW5nZVRodW1iKCl7XHJcbiAgICB0aGlzLnRodW1iID0gJyc7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRodW1iKTtcclxuICB9XHJcbiAgZGF0ZTpEYXRlIHwgdW5kZWZpbmVkXHJcbiAgLyoq6I635Y+W5pe26Ze0ICovXHJcbiAgb25EYXRlQ2hhbmdlKGV2ZW50OiBhbnkpe1xyXG4gICAgY29uc3QgZGF0ZVN0cmluZyA9IGV2ZW50LmRldGFpbC52YWx1ZTtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRlU3RyaW5nKTtcclxuICAgIHRoaXMuZGF0ZSA9IGRhdGVcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0ZSlcclxuICB9XHJcbiAgXHJcbiAgYXN5bmMgZ2V0UGVyc29uKCl7XHJcbiAgICBpZighdGhpcy5wZXJzb25JZCkgcmV0dXJuO1xyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiUGVyc29uXCIpO1xyXG4gICAgcXVlcnkuZXF1YWxUbyhcImNvbXBhbnlcIiwgXCJTdmVobDZGY2VMXCIpO1xyXG4gICAgcXVlcnkuZXF1YWxUbyhcIm9iamVjdElkXCIsIHRoaXMucGVyc29uSWQpO1xyXG4gICAgcXVlcnkubm90RXF1YWxUbyhcImlzRGVsZXRlZFwiLCB0cnVlKTtcclxuICAgIHRoaXMucGVyc29uID0gYXdhaXQgcXVlcnkuZmlyc3QoKVxyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5wZXJzb24pO1xyXG4gICAgaWYodGhpcy5wZXJzb24/LmlkKXtcclxuICAgICAgdGhpcy5uYW1lID0gdGhpcy5wZXJzb24uZ2V0KCduYW1lJylcclxuICAgICAgdGhpcy5yYWRpb1ZhbHVlID0gdGhpcy5wZXJzb24uZ2V0KCdnZW5kZXInKVxyXG4gICAgICB0aGlzLmJpcnRoZGF5ID0gdGhpcy5wZXJzb24uZ2V0KCdiaXJ0aGRheScpXHJcbiAgICAgIHRoaXMucG9zdCA9IHRoaXMucGVyc29uLmdldCgncG9zdCcpXHJcbiAgICAgIHRoaXMubW9iaWxlID0gdGhpcy5wZXJzb24uZ2V0KCdtb2JpbGUnKVxyXG4gICAgICB0aGlzLmhvYmJ5ID0gdGhpcy5wZXJzb24uZ2V0KCdob2JieScpXHJcbiAgICAgIHRoaXMuYXZhdGFyID0gdGhpcy5wZXJzb24uZ2V0KCdhdmF0YXInKVxyXG4gICAgICB0aGlzLnRodW1iID0gdGhpcy5wZXJzb24uZ2V0KCd0aHVtYicpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGdlbmRlcjphbnkgPSB7XHJcbiAgICAn55S3Jzon55S3JyxcclxuICAgICflpbMnOiflpbMnfVxyXG4gIGN1cnJlbnRVc2VyOlBhcnNlLlVzZXIgfCB1bmRlZmluZWRcclxuICBhc3luYyBhZGRQZXJzb24oKSA6UHJvbWlzZTxhbnkgfCBudWxsPntcclxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBQYXJzZS5Vc2VyLmN1cnJlbnQoKTtcclxuICAgIFxyXG4gICAgaWYoIXRoaXMubmFtZSl7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuZXJyb3IoXCLlp5PlkI3mnKrloavlhplcIik7XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5yYWRpb1ZhbHVlKXtcclxuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZS5lcnJvcihcIuaAp+WIq+acquWhq+WGmVwiKTtcclxuICAgIH1cclxuICAgIC8vIGlmKCF0aGlzLmF2YXRhcil7XHJcbiAgICAvLyAgIHJldHVybiB0aGlzLm1lc3NhZ2UuZXJyb3IoXCLlpLTlg4/mnKrkuIrkvKBcIik7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBpZighdGhpcy50aHVtYil7XHJcbiAgICAvLyAgIHJldHVybiB0aGlzLm1lc3NhZ2UuZXJyb3IoXCLog4zmma/lm77niYfmnKrkuIrkvKBcIik7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgaWYoIXRoaXMucGVyc29uKXtcclxuICAgICAgbGV0IFBlcnNvbiA9IFBhcnNlLk9iamVjdC5leHRlbmQoXCJQZXJzb25cIik7XHJcbiAgICAgIHRoaXMucGVyc29uID0gbmV3IFBlcnNvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucGVyc29uKSB7XHJcbiAgICAgIHRoaXMucGVyc29uLnNldCgnbmFtZScsIHRoaXMubmFtZSk7XHJcbiAgICAgIHRoaXMucGVyc29uLnNldCgnZ2VuZGVyJywgdGhpcy5nZW5kZXJbdGhpcy5yYWRpb1ZhbHVlXSk7XHJcbiAgICAgIHRoaXMucGVyc29uLnNldCgnYmlydGhkYXknLCB0aGlzLmRhdGUpO1xyXG4gICAgICB0aGlzLnBlcnNvbi5zZXQoJ3Bvc3QnLCB0aGlzLnBvc3QpO1xyXG4gICAgICB0aGlzLnBlcnNvbi5zZXQoJ21vYmlsZScsIFN0cmluZyh0aGlzLm1vYmlsZSkpO1xyXG4gICAgICB0aGlzLnBlcnNvbi5zZXQoJ2hvYmJ5JywgdGhpcy5ob2JieSk7XHJcbiAgICAgIHRoaXMucGVyc29uLnNldCgnYXZhdGFyJywgdGhpcy5hdmF0YXIpO1xyXG4gICAgICB0aGlzLnBlcnNvbi5zZXQoJ3RodW1iJywgdGhpcy50aHVtYik7XHJcbiAgICAgIHRoaXMucGVyc29uLnNldCgnY3JlYXRvcicsIHtfX3R5cGU6J1BvaW50ZXInLGNsYXNzTmFtZTonX1VzZXInLG9iamVjdElkOnRoaXMuY3VycmVudFVzZXI/LmlkfSk7XHJcbiAgICAgIHRoaXMucGVyc29uLnNldCgnY29tcGFueScsIHtfX3R5cGU6J1BvaW50ZXInLGNsYXNzTmFtZTonQ29tcGFueScsb2JqZWN0SWQ6J1N2ZWhsNkZjZUwnfSk7XHJcbiAgICAgIHRyeXtcclxuICAgICAgICB0aGlzLnBlcnNvbiA9IGF3YWl0IHRoaXMucGVyc29uLnNhdmUoKTtcclxuICAgICAgICBpZih0aGlzLnBlcnNvbj8uaWQpe1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlLnN1Y2Nlc3MoXCLkv53lrZjmiJDlip9cIik7XHJcbiAgICAgICAgICAvLyB0aGlzLmdvQmFjaygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9Y2F0Y2goZXJyKXtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2UuZXJyb3IoXCLkv53lrZjlpLHotKVcIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8v6L+U5Zue5LiK5LiA57qn6aG16Z2iXHJcbiAgZ29CYWNrKCkge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gb3BlblBlcnNvbkRldGFpbEVkaXRNb2RhbChtb2RhbEN0cmw6TW9kYWxDb250cm9sbGVyLHBlcnNvbj86UGFyc2UuT2JqZWN0KXtcclxuICBsZXQgbW9kYWwgPSBhd2FpdCBtb2RhbEN0cmwuY3JlYXRlKHtcclxuICAgIGNvbXBvbmVudDpQZXJzb25EZXRhaWxDb21wb25lbnQsXHJcbiAgICBjb21wb25lbnRQcm9wczp7XHJcbiAgICAgIHBlcnNvbjpwZXJzb24sXHJcbiAgICB9LFxyXG4gICAgYnJlYWtwb2ludHM6WzAuNSwxLjBdLFxyXG4gICAgaW5pdGlhbEJyZWFrcG9pbnQ6MC41LFxyXG4gIH0pXHJcbiAgbW9kYWwucHJlc2VudCgpXHJcbiAgbGV0IHtkYXRhLHJvbGV9ID0gYXdhaXQgbW9kYWwub25XaWxsRGlzbWlzcygpO1xyXG4gIGlmKHJvbGU9PVwiY29uZmlybVwiKXtcclxuICAgIGxldCBwZXJzb24gPSBkYXRhO1xyXG4gICAgaWYoZGF0YT8uY2xhc3NOYW1lPT1cIlBlcnNvbkF1dGhvclwiKXtcclxuICAgICAgcmV0dXJuIGRhdGE/LmdldChcInBlcnNvblwiKSBcclxuICAgIH1cclxuICAgIHJldHVybiBwZXJzb25cclxuICB9XHJcbiAgcmV0dXJuIG51bGxcclxufSIsIjxpb24taGVhZGVyPlxyXG4gIDxpb24tdG9vbGJhcj5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgPGlvbi1idXR0b24+5Y+W5raIPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDxpb24tdGl0bGU+5Z+656GA5L+h5oGvPC9pb24tdGl0bGU+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiIChjbGljayk9XCJjb25maXJtKClcIj5cclxuICAgICAgPGlvbi1idXR0b24+5a6M5oiQPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuICA8L2lvbi10b29sYmFyPlxyXG48L2lvbi1oZWFkZXI+XHJcbjxpb24tY29udGVudD5cclxuXHJcbjxkaXYgY2xhc3M9XCJwYWdlXCI+XHJcbiAgPCEtLSA8ZGl2IGNsYXNzPVwidG9wXCI+5a6M5ZaE5Lq654mp5Z+656GA5L+h5oGvPC9kaXY+IC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJib3hcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPuWnk+WQjTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXRcIiBzdHlsZT1cInBhZGRpbmc6IDMlIDElIDElIDElO1wiPlxyXG4gICAgICAgIDxpbnB1dCBuei1pbnB1dCBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeecn+WunuWnk+WQjVwiIFsobmdNb2RlbCldPVwibmFtZVwiIG56Qm9yZGVybGVzcyBzdHlsZT1cIndpZHRoOiAxMDAlO2JhY2tncm91bmQtY29sb3I6ICMxZTFmMjI7Y29sb3I6ICNmZmY7XCIgLz5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiXHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzYTRhO1xyXG4gICAgICAgIG1hcmdpbjogMiUgYXV0bztcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPuaAp+WIqzwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2V4XCI+XHJcbiAgICAgICAgPG56LXJhZGlvLWdyb3VwIFsobmdNb2RlbCldPVwicmFkaW9WYWx1ZVwiPlxyXG4gICAgICAgICAgPGxhYmVsIG56LXJhZGlvIG56VmFsdWU9XCLnlLdcIiBzdHlsZT1cImNvbG9yOiAjZmZmO1wiPueUtzwvbGFiZWw+XHJcbiAgICAgICAgICA8bGFiZWwgbnotcmFkaW8gbnpWYWx1ZT1cIuWls1wiIHN0eWxlPVwiY29sb3I6ICNmZmY7XCI+5aWzPC9sYWJlbD5cclxuICAgICAgICA8L256LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzYTRhO1xyXG4gICAgICAgIG1hcmdpbjogMiUgYXV0bztcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgc3R5bGU9XCJwYWRkaW5nOiAzJTtkaXNwbGF5OiBmbGV4O1wiPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzt3aWR0aDogNTAlO3RleHQtYWxpZ246IGNlbnRlcjtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkX2F2YXRhclwiPlxyXG4gICAgICAgICAgPGZtLWVkaXQtdXBsb2FkICpuZ0lmPVwiIWF2YXRhclwiIFsoZmlsZSldPVwiYXZhdGFyXCIgW211bHRpXT1cInRydWVcIiBbY29tcGFueV09XCJjb21wYW55XCI+PC9mbS1lZGl0LXVwbG9hZD5cclxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMTMwcHg7aGVpZ2h0OjEzMHB4OyBvYmplY3QtZml0OiBjb3ZlcjtcIiAqbmdJZj1cImF2YXRhclwiICBbc3JjXT1cImF2YXRhclwiIGFsdD1cIlwiID5cclxuICAgICAgICAgIDxkaXY+5LiK5Lyg5aS05YOPPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImF2YXRhclwiIChjbGljayk9XCJjaGFuZ2VBdmF0YXIoKVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDRweDsgZm9udC1zaXplOiAyMHB4O21hcmdpbi10b3A6IC0yMHB4OyBoZWlnaHQ6IDI1cHg7IGN1cnNvcjogcG9pbnRlcjtcIj54PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzt3aWR0aDogNTAlO3RleHQtYWxpZ246IGNlbnRlcjtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkX2F2YXRhclwiPlxyXG4gICAgICAgICAgPGZtLWVkaXQtdXBsb2FkICpuZ0lmPVwiIXRodW1iXCIgWyhmaWxlKV09XCJ0aHVtYlwiIFttdWx0aV09XCJ0cnVlXCIgW2NvbXBhbnldPVwiY29tcGFueVwiPjwvZm0tZWRpdC11cGxvYWQ+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwiaGVpZ2h0OiAxMzBweDsgb2JqZWN0LWZpdDogY292ZXI7XCIgKm5nSWY9XCJ0aHVtYlwiICBbc3JjXT1cInRodW1iXCIgYWx0PVwiXCIgPlxyXG4gICAgICAgICAgPGRpdj7kuIrkvKDlsIHpnaI8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGh1bWJcIiAoY2xpY2spPVwiY2hhbmdlVGh1bWIoKVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDRweDsgZm9udC1zaXplOiAyMHB4O21hcmdpbi10b3A6IC0yMHB4OyBoZWlnaHQ6IDI1cHg7IGN1cnNvcjogcG9pbnRlcjtcIj54PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj7nlJ/ml6U8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJpcnRoZGF5XCI+XHJcbiAgICAgICAgPGlvbi1kYXRldGltZS1idXR0b24gZGF0ZXRpbWU9XCJkYXRldGltZVwiIFsobmdNb2RlbCldPVwiYmlydGhkYXlcIj48L2lvbi1kYXRldGltZS1idXR0b24+XHJcbiAgICAgICAgPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUgaWQ9XCJkYXRldGltZVwiIHByZXNlbnRhdGlvbj1cImRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIj48L2lvbi1kYXRldGltZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2lvbi1tb2RhbD5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiXHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1M2E0YTtcclxuICAgICAgICBtYXJnaW46IDIlIGF1dG87XCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj7njrDku7vogYzkvY08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCIgc3R5bGU9XCJwYWRkaW5nOiAzJSAxJSAxJSAxJTtcIj5cclxuICAgICAgICA8aW5wdXQgbnotaW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnjrDku7vogYzkvY1cIiBbKG5nTW9kZWwpXT1cInBvc3RcIiBuekJvcmRlcmxlc3Mgc3R5bGU9XCJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZjIyO2NvbG9yOiAjZmZmO1wiIC8+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIlxyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1M2E0YTtcclxuICAgICAgICBtYXJnaW46IDIlIGF1dG87XCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj7ogZTns7vmlrnlvI88L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCIgc3R5bGU9XCJwYWRkaW5nOiAzJSAxJSAxJSAxJTtcIj5cclxuICAgICAgICA8aW5wdXQgbnotaW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXogZTns7vmlrnlvI9cIiBbKG5nTW9kZWwpXT1cIm1vYmlsZVwiIHR5cGU9XCJudW1iZXJcIiBtYXhsZW5ndGg9XCIxMVwiIG56Qm9yZGVybGVzcyBzdHlsZT1cIndpZHRoOiAxMDAlO2JhY2tncm91bmQtY29sb3I6ICMxZTFmMjI7Y29sb3I6ICNmZmY7XCIgLz5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiXHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzYTRhO1xyXG4gICAgICAgIG1hcmdpbjogMiUgYXV0bztcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPuWFtOi2o+eIseWlvTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXRcIiBzdHlsZT1cInBhZGRpbmc6IDMlIDElIDElIDElO1wiPlxyXG4gICAgICAgIDxpbnB1dCBuei1pbnB1dCBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWFtOi2o+eIseWlvVwiIFsobmdNb2RlbCldPVwiaG9iYnlcIiBuekJvcmRlcmxlc3Mgc3R5bGU9XCJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZjIyO2NvbG9yOiAjZmZmO1wiIC8+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIlxyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1M2E0YTtcclxuICAgICAgICBtYXJnaW46IDIlIGF1dG87XCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGlvbi1idXR0b24gc3R5bGU9XCJ3aWR0aDogOTAlO21hcmdpbi1sZWZ0OiA1JTtcIiAoY2xpY2spPVwiY29uZmlybSgpXCI+5a6M5oiQPC9pb24tYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9pb24tY29udGVudD5cclxuIl19
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/person/person-detail/person-detail.component.mjs
7
+ */
8
+ import{Component}from"@angular/core";import{FormsModule,ReactiveFormsModule}from"@angular/forms";import{NzInputModule}from"ng-zorro-antd/input";import{NzRadioModule}from"ng-zorro-antd/radio";import{CommonModule}from"@angular/common";import{NzDatePickerModule}from"ng-zorro-antd/date-picker";import{EditUploadModule}from"../edit-upload/edit-upload.module";import{ActivatedRoute}from"@angular/router";import{NzMessageService}from"ng-zorro-antd/message";import{Location}from"@angular/common";import{FmodeParse}from"@fmode/parse";import{IonModal,IonDatetimeButton,ModalController,IonDatetime,IonButton,IonHeader,IonButtons,IonToolbar,IonContent,IonTitle}from"@ionic/angular/standalone";import*as i0 from"@angular/core";import*as i1 from"@angular/router";import*as i2 from"ng-zorro-antd/message";import*as i3 from"@angular/common";import*as i4 from"@ionic/angular/standalone";import*as i5 from"ng-zorro-antd/input";import*as i6 from"ng-zorro-antd/radio";import*as i7 from"@angular/forms";import*as i8 from"../edit-upload/edit-upload.component";const Parse=FmodeParse.with("nova");export class PersonDetailComponent{cancel(){this.modalCtrl.dismiss(null)}async confirm(){await this.addPerson(),this.person?.id&&this.modalCtrl.dismiss(this.person,"confirm")}constructor(t,e,n,o){this.route=t,this.message=e,this.location=n,this.modalCtrl=o,this.radioValue="男",this.company="",this.avatar="",this.thumb="",this.gender={"男":"男","女":"女"},this.route.queryParamMap.subscribe((t=>{this.personId=t.get("personId"),console.log(this.personId)}))}ngOnInit(){this.person?.id||this.getPerson()}changeAvatar(){this.avatar="",console.log(this.avatar)}changeThumb(){this.thumb="",console.log(this.thumb)}onDateChange(t){const e=t.detail.value,n=new Date(e);this.date=n,console.log(this.date)}async getPerson(){if(!this.personId)return;let t=new Parse.Query("Person");t.equalTo("company","Svehl6FceL"),t.equalTo("objectId",this.personId),t.notEqualTo("isDeleted",!0),this.person=await t.first(),this.person?.id&&(this.name=this.person.get("name"),this.radioValue=this.person.get("gender"),this.birthday=this.person.get("birthday"),this.post=this.person.get("post"),this.mobile=this.person.get("mobile"),this.hobby=this.person.get("hobby"),this.avatar=this.person.get("avatar"),this.thumb=this.person.get("thumb"))}async addPerson(){if(this.currentUser=Parse.User.current(),!this.name)return this.message.error("姓名未填写");if(!this.radioValue)return this.message.error("性别未填写");if(!this.person){let t=Parse.Object.extend("Person");this.person=new t}if(this.person){this.person.set("name",this.name),this.person.set("gender",this.gender[this.radioValue]),this.person.set("birthday",this.date),this.person.set("post",this.post),this.person.set("mobile",String(this.mobile)),this.person.set("hobby",this.hobby),this.person.set("avatar",this.avatar),this.person.set("thumb",this.thumb),this.person.set("creator",{__type:"Pointer",className:"_User",objectId:this.currentUser?.id}),this.person.set("company",{__type:"Pointer",className:"Company",objectId:"Svehl6FceL"});try{this.person=await this.person.save(),this.person?.id&&this.message.success("保存成功")}catch(t){console.log(t),this.message.error("保存失败")}}}goBack(){this.location.back()}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:PersonDetailComponent,deps:[{token:i1.ActivatedRoute},{token:i2.NzMessageService},{token:i3.Location},{token:i4.ModalController}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:PersonDetailComponent,isStandalone:!0,selector:"app-person-detail",providers:[],ngImport:i0,template:'<ion-header>\n <ion-toolbar>\n <ion-buttons slot="start" (click)="cancel()">\n <ion-button>取消</ion-button>\n </ion-buttons>\n <ion-title>基础信息</ion-title>\n <ion-buttons slot="end" (click)="confirm()">\n <ion-button>完成</ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n\n<div class="page">\n \x3c!-- <div class="top">完善人物基础信息</div> --\x3e\n <div class="box">\n <div class="item">\n <div class="title">姓名</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入真实姓名" [(ngModel)]="name" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">性别</div>\n <div class="sex">\n <nz-radio-group [(ngModel)]="radioValue">\n <label nz-radio nzValue="男" style="color: #fff;">男</label>\n <label nz-radio nzValue="女" style="color: #fff;">女</label>\n </nz-radio-group>\n <div style="\n height: 1px;\n width: 100%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item" style="padding: 3%;display: flex;">\n <div style="display: flex; flex-direction: row;width: 50%;text-align: center;">\n <div class="upload_avatar">\n <fm-edit-upload *ngIf="!avatar" [(file)]="avatar" [multi]="true" [company]="company"></fm-edit-upload>\n <img style="width: 130px;height:130px; object-fit: cover;" *ngIf="avatar" [src]="avatar" alt="" >\n <div>上传头像</div>\n </div>\n <div *ngIf="avatar" (click)="changeAvatar()" style="margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;">x</div>\n </div>\n <div style="display: flex; flex-direction: row;width: 50%;text-align: center;">\n <div class="upload_avatar">\n <fm-edit-upload *ngIf="!thumb" [(file)]="thumb" [multi]="true" [company]="company"></fm-edit-upload>\n <img style="height: 130px; object-fit: cover;" *ngIf="thumb" [src]="thumb" alt="" >\n <div>上传封面</div>\n </div>\n <div *ngIf="thumb" (click)="changeThumb()" style="margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;">x</div>\n </div>\n </div>\n <div class="item">\n <div class="title">生日</div>\n <div class="birthday">\n <ion-datetime-button datetime="datetime" [(ngModel)]="birthday"></ion-datetime-button>\n <ion-modal [keepContentsMounted]="true">\n <ng-template>\n <ion-datetime id="datetime" presentation="date"\n (ionChange)="onDateChange($event)"></ion-datetime>\n </ng-template>\n </ion-modal>\n <div style="\n height: 1px;\n width: 100%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">现任职位</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入现任职位" [(ngModel)]="post" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">联系方式</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入联系方式" [(ngModel)]="mobile" type="number" maxlength="11" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">兴趣爱好</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入兴趣爱好" [(ngModel)]="hobby" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n\n <ion-button style="width: 90%;margin-left: 5%;" (click)="confirm()">完成</ion-button>\n </div>\n</div>\n</ion-content>\n',styles:[".page{width:100%;height:100%;padding:2%;background-color:#030810;color:#fff;overflow-y:scroll}.page .top{padding:3%;color:#ba6b16}.page .box{height:95%;padding:5% 0;background-color:#1e1f22;border-radius:20px}.page .box span{margin-left:3%}.page .box .item .title{margin-left:3%;margin-top:12px}.page .box .item .sex,.page .box .item .birthday{padding:3%}.page .box ion-button{--background: #6e23ce}ion-datetime-button{display:block}\n"],dependencies:[{kind:"component",type:IonDatetimeButton,selector:"ion-datetime-button",inputs:["color","datetime","disabled","mode"]},{kind:"component",type:IonModal,selector:"ion-modal"},{kind:"component",type:IonDatetime,selector:"ion-datetime",inputs:["cancelText","clearText","color","dayValues","disabled","doneText","firstDayOfWeek","formatOptions","highlightedDates","hourCycle","hourValues","isDateEnabled","locale","max","min","minuteValues","mode","monthValues","multiple","name","preferWheel","presentation","readonly","showClearButton","showDefaultButtons","showDefaultTimeLabel","showDefaultTitle","size","titleSelectedDatesFormatter","value","yearValues"]},{kind:"component",type:IonButton,selector:"ion-button",inputs:["buttonType","color","disabled","download","expand","fill","form","href","mode","rel","routerAnimation","routerDirection","shape","size","strong","target","type"]},{kind:"component",type:IonHeader,selector:"ion-header",inputs:["collapse","mode","translucent"]},{kind:"component",type:IonButtons,selector:"ion-buttons",inputs:["collapse"]},{kind:"component",type:IonToolbar,selector:"ion-toolbar",inputs:["color","mode"]},{kind:"component",type:IonContent,selector:"ion-content",inputs:["color","fixedSlotPlacement","forceOverscroll","fullscreen","scrollEvents","scrollX","scrollY"]},{kind:"component",type:IonTitle,selector:"ion-title",inputs:["color","size"]},{kind:"ngmodule",type:NzDatePickerModule},{kind:"ngmodule",type:NzInputModule},{kind:"directive",type:i5.NzInputDirective,selector:"input[nz-input],textarea[nz-input]",inputs:["nzBorderless","nzSize","nzStepperless","nzStatus","disabled"],exportAs:["nzInput"]},{kind:"ngmodule",type:NzRadioModule},{kind:"component",type:i6.NzRadioComponent,selector:"[nz-radio],[nz-radio-button]",inputs:["nzValue","nzDisabled","nzAutoFocus","nz-radio-button"],exportAs:["nzRadio"]},{kind:"component",type:i6.NzRadioGroupComponent,selector:"nz-radio-group",inputs:["nzDisabled","nzButtonStyle","nzSize","nzName"],exportAs:["nzRadioGroup"]},{kind:"ngmodule",type:ReactiveFormsModule},{kind:"directive",type:i7.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:i7.NumberValueAccessor,selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]"},{kind:"directive",type:i7.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{kind:"directive",type:i7.MaxLengthValidator,selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",inputs:["maxlength"]},{kind:"ngmodule",type:FormsModule},{kind:"directive",type:i7.NgModel,selector:"[ngModel]:not([formControlName]):not([formControl])",inputs:["name","disabled","ngModel","ngModelOptions"],outputs:["ngModelChange"],exportAs:["ngModel"]},{kind:"ngmodule",type:CommonModule},{kind:"directive",type:i3.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"ngmodule",type:EditUploadModule},{kind:"component",type:i8.EditUploadComponent,selector:"fm-edit-upload",inputs:["files","dragdrop","multi","max_file_size","type","avatarType","company","file","fileList","path"],outputs:["filesChange","fileChange","fileListChange"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:PersonDetailComponent,decorators:[{type:Component,args:[{selector:"app-person-detail",standalone:!0,imports:[IonDatetimeButton,IonModal,IonDatetime,IonButton,IonHeader,IonButtons,IonToolbar,IonContent,IonTitle,NzDatePickerModule,NzInputModule,NzRadioModule,ReactiveFormsModule,FormsModule,CommonModule,EditUploadModule],providers:[],template:'<ion-header>\n <ion-toolbar>\n <ion-buttons slot="start" (click)="cancel()">\n <ion-button>取消</ion-button>\n </ion-buttons>\n <ion-title>基础信息</ion-title>\n <ion-buttons slot="end" (click)="confirm()">\n <ion-button>完成</ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n\n<div class="page">\n \x3c!-- <div class="top">完善人物基础信息</div> --\x3e\n <div class="box">\n <div class="item">\n <div class="title">姓名</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入真实姓名" [(ngModel)]="name" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">性别</div>\n <div class="sex">\n <nz-radio-group [(ngModel)]="radioValue">\n <label nz-radio nzValue="男" style="color: #fff;">男</label>\n <label nz-radio nzValue="女" style="color: #fff;">女</label>\n </nz-radio-group>\n <div style="\n height: 1px;\n width: 100%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item" style="padding: 3%;display: flex;">\n <div style="display: flex; flex-direction: row;width: 50%;text-align: center;">\n <div class="upload_avatar">\n <fm-edit-upload *ngIf="!avatar" [(file)]="avatar" [multi]="true" [company]="company"></fm-edit-upload>\n <img style="width: 130px;height:130px; object-fit: cover;" *ngIf="avatar" [src]="avatar" alt="" >\n <div>上传头像</div>\n </div>\n <div *ngIf="avatar" (click)="changeAvatar()" style="margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;">x</div>\n </div>\n <div style="display: flex; flex-direction: row;width: 50%;text-align: center;">\n <div class="upload_avatar">\n <fm-edit-upload *ngIf="!thumb" [(file)]="thumb" [multi]="true" [company]="company"></fm-edit-upload>\n <img style="height: 130px; object-fit: cover;" *ngIf="thumb" [src]="thumb" alt="" >\n <div>上传封面</div>\n </div>\n <div *ngIf="thumb" (click)="changeThumb()" style="margin-left: 4px; font-size: 20px;margin-top: -20px; height: 25px; cursor: pointer;">x</div>\n </div>\n </div>\n <div class="item">\n <div class="title">生日</div>\n <div class="birthday">\n <ion-datetime-button datetime="datetime" [(ngModel)]="birthday"></ion-datetime-button>\n <ion-modal [keepContentsMounted]="true">\n <ng-template>\n <ion-datetime id="datetime" presentation="date"\n (ionChange)="onDateChange($event)"></ion-datetime>\n </ng-template>\n </ion-modal>\n <div style="\n height: 1px;\n width: 100%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">现任职位</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入现任职位" [(ngModel)]="post" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">联系方式</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入联系方式" [(ngModel)]="mobile" type="number" maxlength="11" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n <div class="item">\n <div class="title">兴趣爱好</div>\n <div class="input" style="padding: 3% 1% 1% 1%;">\n <input nz-input placeholder="请输入兴趣爱好" [(ngModel)]="hobby" nzBorderless style="width: 100%;background-color: #1e1f22;color: #fff;" />\n <div style="\n height: 1px;\n width: 95%;\n background-color: #353a4a;\n margin: 2% auto;"></div>\n </div>\n </div>\n\n <ion-button style="width: 90%;margin-left: 5%;" (click)="confirm()">完成</ion-button>\n </div>\n</div>\n</ion-content>\n',styles:[".page{width:100%;height:100%;padding:2%;background-color:#030810;color:#fff;overflow-y:scroll}.page .top{padding:3%;color:#ba6b16}.page .box{height:95%;padding:5% 0;background-color:#1e1f22;border-radius:20px}.page .box span{margin-left:3%}.page .box .item .title{margin-left:3%;margin-top:12px}.page .box .item .sex,.page .box .item .birthday{padding:3%}.page .box ion-button{--background: #6e23ce}ion-datetime-button{display:block}\n"]}]}],ctorParameters:()=>[{type:i1.ActivatedRoute},{type:i2.NzMessageService},{type:i3.Location},{type:i4.ModalController}]});export async function openPersonDetailEditModal(t,e){let n=await t.create({component:PersonDetailComponent,componentProps:{person:e},breakpoints:[.5,1],initialBreakpoint:.5});n.present();let{data:o,role:i}=await n.onWillDismiss();if("confirm"==i){let t=o;return"PersonAuthor"==o?.className?o?.get("person"):t}return null}
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9wZXJzb24vcGVyc29uLWRldGFpbC9wZXJzb24tZGV0YWlsLmNvbXBvbmVudC5tanM=`
10
+
@@ -1,195 +1,10 @@
1
- import { Injectable } from '@angular/core';
2
- import { MatDialog } from '@angular/material/dialog';
3
- import Parse from "parse";
4
- import { AgentPrompt } from '../core/agent/prompt';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/dialog";
7
- // import { AgentTaskStep } from '../agent/agent.task';
8
- // import { FmAgentTaskComponent } from '../agent/fm-agent-task/fm-agent-task.component';
9
- // import { generateAvatarURL, Img2Circle } from '../app/utils.img2circle';
10
- // import { TaskDocumentSelect } from '../agent/tasks/task-document-select';
11
- // import { TaskGetRelation } from '../agent/tasks/task-relation-get';
12
- // import { TaskRelationPrompt } from '../agent/tasks/task-relation-prompt';
13
- // import { TaskRelationSave } from '../agent/tasks/task-relation-save';
14
- const agentPrompt = new AgentPrompt();
15
- export class PersonService {
16
- constructor(dialog) {
17
- this.dialog = dialog;
18
- this.personMap = {};
19
- this.objectMap = {};
20
- /**
21
- * 角色关系图谱:Agent分析推理
22
- */
23
- this.PromptTplPersonRelationCode = "person-relation-tpl";
24
- }
25
- async loadPersonById(id) {
26
- if (this.personMap[id])
27
- return this.personMap[id];
28
- let query = new Parse.Query("Person");
29
- query.include("userVerify");
30
- let person = await query.get(id);
31
- if (person?.id) {
32
- this.personMap[id] = person;
33
- }
34
- return person;
35
- }
36
- async loadObjectById(className, id, keys) {
37
- if (this.objectMap[id])
38
- return this.objectMap[id];
39
- let query = new Parse.Query(className);
40
- query.include(...keys);
41
- let dataObj = await query.get(id);
42
- if (dataObj?.id) {
43
- this.objectMap[id] = dataObj;
44
- }
45
- return dataObj;
46
- }
47
- test() {
48
- return new Promise(resolve => { });
49
- }
50
- // async taskPersonRelation(person:Parse.Object,afterTask:Function){
51
- // // 定义任务总体阶段
52
- // let shareData:any = {}; // 任务执行过程共享数据
53
- // let task1 = TaskGetRelation(person,shareData);
54
- // let task2 = TaskDocumentSelect({person:person,book:undefined,shareData:shareData,dialog:this.dialog});
55
- // let task3 = TaskRelationPrompt(person,shareData);
56
- // let task4 = TaskRelationSave(person,shareData);
57
- // let stepsList:Array<AgentTaskStep> = [
58
- // task1,
59
- // task2,
60
- // task3,
61
- // task4
62
- // ]
63
- // // 弹出任务提示窗口
64
- // let dialogRef = this.dialog.open(FmAgentTaskComponent, {
65
- // data: {shareData: shareData, stepsList: stepsList},
66
- // disableClose:true, // 禁止用户关闭,必须等待执行过程。
67
- // });
68
- // dialogRef.afterClosed().subscribe(result => {
69
- // console.log('The dialog was closed');
70
- // afterTask&&afterTask();
71
- // });
72
- // }
1
+
73
2
  /**
74
- * 角色关系图谱:渲染效果生成
75
- * @param personList
76
- * @param personRelationList
77
- * @returns
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/person/person.service.mjs
78
7
  */
79
- // async createGraphDataLinks(personList:Array<any>,personRelationList:Array<any>){
80
- // let data:Array<any> = [];
81
- // let links:Array<any> = [];
82
- // let personMap:any = {}
83
- // /* 处理角色列表,生成节点数据
84
- // @desc
85
- // name 专用于objectId建立数据关系
86
- // realname 人物名称
87
- // */
88
- // for (let index = 0; index < personList.length; index++) {
89
- // let person = personList[index];
90
- // personMap[person?.id] = person
91
- // let avatar = person?.avatar?person?.avatar+"?imageView2/1/w/100":null
92
- // let showUri:string = (avatar || generateAvatarURL(person) || `https://api.dicebear.com/8.x/avataaars-neutral/png?seed=${person.name}&backgroundColor=f2d3b1,ffdfbf,ecad80`)
93
- // if(showUri){
94
- // showUri = await Img2Circle(showUri)
95
- // }
96
- // data.push({
97
- // name: person?.id + person?.name,
98
- // gender:person?.gender,
99
- // realname:person?.name,
100
- // symbolSize: 70,
101
- // draggable: true,
102
- // itemStyle: {
103
- // borderColor: '#FFD700',
104
- // borderWidth: 3,
105
- // borderRadius:"50%",
106
- // shadowBlur: 10,
107
- // shadowColor: 'rgba(0, 0, 0, 0.3)'
108
- // },
109
- // symbol: `image://` + showUri
110
- // });
111
- // }
112
- // // 处理角色关系列表,生成边数据
113
- // personRelationList.forEach((relation) => {
114
- // let sourceNode = personMap[relation?.sourceId];
115
- // let targetNode = personMap[relation?.targetId];
116
- // if (sourceNode && targetNode) {
117
- // links.push({
118
- // source: sourceNode.id +
119
- // sourceNode?.name,
120
- // target: targetNode.id +
121
- // targetNode?.name,
122
- // name: relation.relationName,
123
- // label: {
124
- // show: true,
125
- // // formatter: `{a} {b} {@name}`,
126
- // },
127
- // lineStyle: {
128
- // color: relation.relationColor,
129
- // width: 2,
130
- // curveness: 0.2,
131
- // }
132
- // });
133
- // }
134
- // });
135
- // return { data: data, links: links };
136
- // }
137
- async loadSelfPerson() {
138
- let query = new Parse.Query("Person");
139
- query.notEqualTo("isDeleted", true);
140
- query.include('userVerify');
141
- query.equalTo("userVerify", Parse.User.current()?.id);
142
- return await query.first();
143
- }
144
- // 查询函数
145
- async queryOwnPerson(options) {
146
- let creator = Parse.User.current();
147
- if (!creator?.id)
148
- return [];
149
- let query = new Parse.Query("Person");
150
- query.include('userVerify');
151
- // let query = Parse.Query.fromJSON("Person", { where: {… }, order: '-updatedAt' })
152
- query.notEqualTo("isDeleted", true);
153
- query.notEqualTo("userVerify", creator?.id); // 非自身实名身份
154
- query.equalTo("creator", creator?.id);
155
- // query.equalTo("isVerified", true)
156
- query.addDescending("updatedAt");
157
- if (options?.roleTags.length > 0) {
158
- query.containedIn("tags", options?.roleTags);
159
- }
160
- // console.log(query.toJSON())
161
- let list = await query.find();
162
- list.forEach(item => this.personMap[item?.id] = item);
163
- return list;
164
- }
165
- async queryAuthPerson(options) {
166
- let user = Parse.User.current();
167
- if (!user?.id)
168
- return [];
169
- let whereOptions = {};
170
- if (options?.roleTags?.length > 0) {
171
- whereOptions.person = { $inQuery: { "where": { "tags": { $in: options?.roleTags } }, "className": "Person" } };
172
- }
173
- let query = Parse.Query.fromJSON("PersonAuthor", {
174
- where: whereOptions
175
- });
176
- query.include("person", "person.userVerify");
177
- query.notEqualTo("isDeleted", true);
178
- query.equalTo("isVerified", true);
179
- query.equalTo("user", user?.id);
180
- query.addDescending("updatedAt");
181
- // console.log(query.toJSON())
182
- let list = await query.find();
183
- list.forEach(item => this.personMap[item?.id] = item.get("person"));
184
- return list;
185
- }
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PersonService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
187
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PersonService, providedIn: 'root' }); }
188
- }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PersonService, decorators: [{
190
- type: Injectable,
191
- args: [{
192
- providedIn: 'root'
193
- }]
194
- }], ctorParameters: () => [{ type: i1.MatDialog }] });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL3BlcnNvbi9wZXJzb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFDbkQsdURBQXVEO0FBQ3ZELHlGQUF5RjtBQUN6RiwyRUFBMkU7QUFDM0UsNEVBQTRFO0FBQzVFLHNFQUFzRTtBQUN0RSw0RUFBNEU7QUFDNUUsd0VBQXdFO0FBQ3hFLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFNdEMsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDUyxNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBTDFCLGNBQVMsR0FFTCxFQUFFLENBQUE7UUFtQk4sY0FBUyxHQUFPLEVBQUUsQ0FBQTtRQWVsQjs7V0FFRztRQUNILGdDQUEyQixHQUFHLHFCQUFxQixDQUFDO0lBL0JwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFTO1FBQzVCLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDaEQsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDM0IsSUFBSSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FB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UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtRQUNuRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7K0dBOUxVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgUGFyc2UgZnJvbSBcInBhcnNlXCI7XHJcblxyXG5pbXBvcnQgeyBBZ2VudFByb21wdCB9IGZyb20gJy4uL2NvcmUvYWdlbnQvcHJvbXB0JztcclxuLy8gaW1wb3J0IHsgQWdlbnRUYXNrU3RlcCB9IGZyb20gJy4uL2FnZW50L2FnZW50LnRhc2snO1xyXG4vLyBpbXBvcnQgeyBGbUFnZW50VGFza0NvbXBvbmVudCB9IGZyb20gJy4uL2FnZW50L2ZtLWFnZW50LXRhc2svZm0tYWdlbnQtdGFzay5jb21wb25lbnQnO1xyXG4vLyBpbXBvcnQgeyBnZW5lcmF0ZUF2YXRhclVSTCwgSW1nMkNpcmNsZSB9IGZyb20gJy4uL2FwcC91dGlscy5pbWcyY2lyY2xlJztcclxuLy8gaW1wb3J0IHsgVGFza0RvY3VtZW50U2VsZWN0IH0gZnJvbSAnLi4vYWdlbnQvdGFza3MvdGFzay1kb2N1bWVudC1zZWxlY3QnO1xyXG4vLyBpbXBvcnQgeyBUYXNrR2V0UmVsYXRpb24gfSBmcm9tICcuLi9hZ2VudC90YXNrcy90YXNrLXJlbGF0aW9uLWdldCc7XHJcbi8vIGltcG9ydCB7IFRhc2tSZWxhdGlvblByb21wdCB9IGZyb20gJy4uL2FnZW50L3Rhc2tzL3Rhc2stcmVsYXRpb24tcHJvbXB0JztcclxuLy8gaW1wb3J0IHsgVGFza1JlbGF0aW9uU2F2ZSB9IGZyb20gJy4uL2FnZW50L3Rhc2tzL3Rhc2stcmVsYXRpb24tc2F2ZSc7XHJcbmNvbnN0IGFnZW50UHJvbXB0ID0gbmV3IEFnZW50UHJvbXB0KCk7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyc29uU2VydmljZSB7XHJcblxyXG4gIHBlcnNvbk1hcDp7XHJcbiAgICBba2V5OnN0cmluZ106UGFyc2UuT2JqZWN0XHJcbiAgfSA9IHt9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7IFxyXG5cclxuICB9XHJcbiAgXHJcbiAgYXN5bmMgbG9hZFBlcnNvbkJ5SWQoaWQ6c3RyaW5nKTpQcm9taXNlPFBhcnNlLk9iamVjdD57XHJcbiAgICBpZih0aGlzLnBlcnNvbk1hcFtpZF0pIHJldHVybiB0aGlzLnBlcnNvbk1hcFtpZF1cclxuICAgIGxldCBxdWVyeSA9IG5ldyBQYXJzZS5RdWVyeShcIlBlcnNvblwiKTtcclxuICAgIHF1ZXJ5LmluY2x1ZGUoXCJ1c2VyVmVyaWZ5XCIpXHJcbiAgICBsZXQgcGVyc29uID0gYXdhaXQgcXVlcnkuZ2V0KGlkKVxyXG4gICAgaWYocGVyc29uPy5pZCl7XHJcbiAgICAgIHRoaXMucGVyc29uTWFwW2lkXSA9IHBlcnNvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBwZXJzb25cclxuICB9XHJcblxyXG4gIG9iamVjdE1hcDphbnkgPSB7fVxyXG4gIGFzeW5jIGxvYWRPYmplY3RCeUlkKGNsYXNzTmFtZTpzdHJpbmcsaWQ6c3RyaW5nLGtleXM6QXJyYXk8c3RyaW5nPik6UHJvbWlzZTxQYXJzZS5PYmplY3Q+e1xyXG4gICAgaWYodGhpcy5vYmplY3RNYXBbaWRdKSByZXR1cm4gdGhpcy5vYmplY3RNYXBbaWRdXHJcbiAgICBsZXQgcXVlcnkgPSBuZXcgUGFyc2UuUXVlcnkoY2xhc3NOYW1lKTtcclxuICAgIHF1ZXJ5LmluY2x1ZGUoLi4ua2V5cyk7XHJcbiAgICBsZXQgZGF0YU9iaiA9IGF3YWl0IHF1ZXJ5LmdldChpZClcclxuICAgIGlmKGRhdGFPYmo/LmlkKXtcclxuICAgICAgdGhpcy5vYmplY3RNYXBbaWRdID0gZGF0YU9iajtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhT2JqXHJcbiAgfVxyXG5cclxuICB0ZXN0KCl7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZT0+e30pXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOinkuiJsuWFs+ezu+Wbvuiwse+8mkFnZW505YiG5p6Q5o6o55CGXHJcbiAgICovXHJcbiAgUHJvbXB0VHBsUGVyc29uUmVsYXRpb25Db2RlID0gXCJwZXJzb24tcmVsYXRpb24tdHBsXCI7XHJcblxyXG4gXHJcbiAgLy8gYXN5bmMgdGFza1BlcnNvblJlbGF0aW9uKHBlcnNvbjpQYXJzZS5PYmplY3QsYWZ0ZXJUYXNrOkZ1bmN0aW9uKXtcclxuICAvLyAgIC8vIOWumuS5ieS7u+WKoeaAu+S9k+mYtuautVxyXG4gIC8vICAgbGV0IHNoYXJlRGF0YTphbnkgPSB7fTsgLy8g5Lu75Yqh5omn6KGM6L+H56iL5YWx5Lqr5pWw5o2uXHJcblxyXG4gIC8vICAgbGV0IHRhc2sxID0gVGFza0dldFJlbGF0aW9uKHBlcnNvbixzaGFyZURhdGEpO1xyXG4gIC8vICAgbGV0IHRhc2syID0gVGFza0RvY3VtZW50U2VsZWN0KHtwZXJzb246cGVyc29uLGJvb2s6dW5kZWZpbmVkLHNoYXJlRGF0YTpzaGFyZURhdGEsZGlhbG9nOnRoaXMuZGlhbG9nfSk7XHJcbiAgLy8gICBsZXQgdGFzazMgPSBUYXNrUmVsYXRpb25Qcm9tcHQocGVyc29uLHNoYXJlRGF0YSk7XHJcbiAgLy8gICBsZXQgdGFzazQgPSBUYXNrUmVsYXRpb25TYXZlKHBlcnNvbixzaGFyZURhdGEpO1xyXG5cclxuICAvLyAgIGxldCBzdGVwc0xpc3Q6QXJyYXk8QWdlbnRUYXNrU3RlcD4gPSBbXHJcbiAgLy8gICAgIHRhc2sxLFxyXG4gIC8vICAgICB0YXNrMixcclxuICAvLyAgICAgdGFzazMsXHJcbiAgLy8gICAgIHRhc2s0XHJcbiAgLy8gICBdXHJcblxyXG4gIC8vICAgLy8g5by55Ye65Lu75Yqh5o+Q56S656qX5Y+jXHJcbiAgLy8gICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEZtQWdlbnRUYXNrQ29tcG9uZW50LCB7XHJcbiAgLy8gICAgICAgZGF0YToge3NoYXJlRGF0YTogc2hhcmVEYXRhLCBzdGVwc0xpc3Q6IHN0ZXBzTGlzdH0sXHJcbiAgLy8gICAgICAgZGlzYWJsZUNsb3NlOnRydWUsIC8vIOemgeatoueUqOaIt+WFs+mXre+8jOW/hemhu+etieW+heaJp+ihjOi/h+eoi+OAglxyXG4gIC8vICAgICB9KTtcclxuXHJcbiAgLy8gICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gIC8vICAgICAgIGNvbnNvbGUubG9nKCdUaGUgZGlhbG9nIHdhcyBjbG9zZWQnKTtcclxuICAvLyAgICAgICBhZnRlclRhc2smJmFmdGVyVGFzaygpO1xyXG4gIC8vICAgICB9KTtcclxuXHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiDop5LoibLlhbPns7vlm77osLHvvJrmuLLmn5PmlYjmnpznlJ/miJBcclxuICAgKiBAcGFyYW0gcGVyc29uTGlzdCBcclxuICAgKiBAcGFyYW0gcGVyc29uUmVsYXRpb25MaXN0IFxyXG4gICAqIEByZXR1cm5zIFxyXG4gICAqL1xyXG4gIC8vIGFzeW5jIGNyZWF0ZUdyYXBoRGF0YUxpbmtzKHBlcnNvbkxpc3Q6QXJyYXk8YW55PixwZXJzb25SZWxhdGlvbkxpc3Q6QXJyYXk8YW55Pil7XHJcbiAgLy8gICAgIGxldCBkYXRhOkFycmF5PGFueT4gPSBbXTtcclxuICAvLyAgICAgbGV0IGxpbmtzOkFycmF5PGFueT4gPSBbXTtcclxuICAvLyAgICAgbGV0IHBlcnNvbk1hcDphbnkgPSB7fVxyXG4gIFxyXG4gIC8vICAgICAvKiDlpITnkIbop5LoibLliJfooajvvIznlJ/miJDoioLngrnmlbDmja5cclxuICAvLyAgICAgQGRlc2NcclxuICAvLyAgICAgbmFtZSDkuJPnlKjkuo5vYmplY3RJZOW7uueri+aVsOaNruWFs+ezu1xyXG4gIC8vICAgICByZWFsbmFtZSDkurrnianlkI3np7BcclxuICAvLyAgICAgKi9cclxuICAvLyAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcGVyc29uTGlzdC5sZW5ndGg7IGluZGV4KyspIHtcclxuICAvLyAgICAgICBsZXQgcGVyc29uID0gcGVyc29uTGlzdFtpbmRleF07XHJcbiAgLy8gICAgICAgcGVyc29uTWFwW3BlcnNvbj8uaWRdID0gcGVyc29uXHJcbiAgLy8gICAgICAgICAgIGxldCBhdmF0YXIgPSBwZXJzb24/LmF2YXRhcj9wZXJzb24/LmF2YXRhcitcIj9pbWFnZVZpZXcyLzEvdy8xMDBcIjpudWxsXHJcbiAgICAgICAgICAgIFxyXG4gIC8vICAgICAgICAgICBsZXQgc2hvd1VyaTpzdHJpbmcgPSAoYXZhdGFyIHx8IGdlbmVyYXRlQXZhdGFyVVJMKHBlcnNvbikgfHwgYGh0dHBzOi8vYXBpLmRpY2ViZWFyLmNvbS84LngvYXZhdGFhYXJzLW5ldXRyYWwvcG5nP3NlZWQ9JHtwZXJzb24ubmFtZX0mYmFja2dyb3VuZENvbG9yPWYyZDNiMSxmZmRmYmYsZWNhZDgwYClcclxuICAvLyAgICAgICAgICAgaWYoc2hvd1VyaSl7XHJcbiAgLy8gICAgICAgICAgICAgc2hvd1VyaSA9IGF3YWl0IEltZzJDaXJjbGUoc2hvd1VyaSlcclxuICAvLyAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICBkYXRhLnB1c2goe1xyXG4gIC8vICAgICAgICAgICAgICAgbmFtZTogcGVyc29uPy5pZCArIHBlcnNvbj8ubmFtZSxcclxuICAvLyAgICAgICAgICAgICAgIGdlbmRlcjpwZXJzb24/LmdlbmRlcixcclxuICAvLyAgICAgICAgICAgICAgIHJlYWxuYW1lOnBlcnNvbj8ubmFtZSxcclxuICAvLyAgICAgICAgICAgICAgIHN5bWJvbFNpemU6IDcwLFxyXG4gIC8vICAgICAgICAgICAgICAgZHJhZ2dhYmxlOiB0cnVlLFxyXG4gIC8vICAgICAgICAgICAgICAgaXRlbVN0eWxlOiB7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjRkZENzAwJyxcclxuICAvLyAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMyxcclxuICAvLyAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6XCI1MCVcIixcclxuICAvLyAgICAgICAgICAgICAgICAgICBzaGFkb3dCbHVyOiAxMCxcclxuICAvLyAgICAgICAgICAgICAgICAgICBzaGFkb3dDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC4zKSdcclxuICAvLyAgICAgICAgICAgICAgIH0sXHJcbiAgLy8gICAgICAgICAgICAgICBzeW1ib2w6IGBpbWFnZTovL2AgKyBzaG93VXJpXHJcbiAgLy8gICAgICAgICAgIH0pO1xyXG4gIC8vICAgIH1cclxuXHJcbiAgXHJcbiAgLy8gICAgIC8vIOWkhOeQhuinkuiJsuWFs+ezu+WIl+ihqO+8jOeUn+aIkOi+ueaVsOaNrlxyXG4gIC8vICAgICBwZXJzb25SZWxhdGlvbkxpc3QuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcclxuICAvLyAgICAgICAgIGxldCBzb3VyY2VOb2RlID0gcGVyc29uTWFwW3JlbGF0aW9uPy5zb3VyY2VJZF07XHJcbiAgLy8gICAgICAgICBsZXQgdGFyZ2V0Tm9kZSA9IHBlcnNvbk1hcFtyZWxhdGlvbj8udGFyZ2V0SWRdO1xyXG4gIFxyXG4gIC8vICAgICAgICAgaWYgKHNvdXJjZU5vZGUgJiYgdGFyZ2V0Tm9kZSkge1xyXG4gIC8vICAgICAgICAgICAgIGxpbmtzLnB1c2goe1xyXG4gIC8vICAgICAgICAgICAgICAgICBzb3VyY2U6IHNvdXJjZU5vZGUuaWQgKyBcclxuICAvLyAgICAgICAgICAgICAgICAgc291cmNlTm9kZT8ubmFtZSxcclxuICAvLyAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXROb2RlLmlkICsgXHJcbiAgLy8gICAgICAgICAgICAgICAgIHRhcmdldE5vZGU/Lm5hbWUsXHJcbiAgLy8gICAgICAgICAgICAgICAgIG5hbWU6IHJlbGF0aW9uLnJlbGF0aW9uTmFtZSxcclxuICAvLyAgICAgICAgICAgICAgICAgbGFiZWw6IHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIHNob3c6IHRydWUsXHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICAvLyBmb3JtYXR0ZXI6IGB7YX0ge2J9IHtAbmFtZX1gLFxyXG4gIC8vICAgICAgICAgICAgICAgICB9LFxyXG4gIC8vICAgICAgICAgICAgICAgICBsaW5lU3R5bGU6IHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZWxhdGlvbi5yZWxhdGlvbkNvbG9yLFxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIsXHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBjdXJ2ZW5lc3M6IDAuMixcclxuICAvLyAgICAgICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAgIH0pO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICBcclxuICAvLyAgICAgcmV0dXJuIHsgZGF0YTogZGF0YSwgbGlua3M6IGxpbmtzIH07XHJcbiAgLy8gfVxyXG5cclxuICBhc3luYyBsb2FkU2VsZlBlcnNvbigpe1xyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiUGVyc29uXCIpO1xyXG4gICAgcXVlcnkubm90RXF1YWxUbyhcImlzRGVsZXRlZFwiLHRydWUpO1xyXG4gICAgcXVlcnkuaW5jbHVkZSgndXNlclZlcmlmeScpXHJcbiAgICBxdWVyeS5lcXVhbFRvKFwidXNlclZlcmlmeVwiLFBhcnNlLlVzZXIuY3VycmVudCgpPy5pZCk7XHJcbiAgICByZXR1cm4gYXdhaXQgcXVlcnkuZmlyc3QoKTtcclxuICB9XHJcbiAgLy8g5p+l6K+i5Ye95pWwXHJcbiAgYXN5bmMgcXVlcnlPd25QZXJzb24ob3B0aW9ucz86e3JvbGVUYWdzOmFueX0pIHtcclxuICAgIGxldCBjcmVhdG9yID0gUGFyc2UuVXNlci5jdXJyZW50KClcclxuICAgIGlmICghY3JlYXRvcj8uaWQpIHJldHVybiBbXVxyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiUGVyc29uXCIpO1xyXG4gICAgcXVlcnkuaW5jbHVkZSgndXNlclZlcmlmeScpXHJcbiAgICAvLyBsZXQgcXVlcnkgPSBQYXJzZS5RdWVyeS5mcm9tSlNPTihcIlBlcnNvblwiLCB7IHdoZXJlOiB74oCmIH0sIG9yZGVyOiAnLXVwZGF0ZWRBdCcgfSlcclxuICAgIHF1ZXJ5Lm5vdEVxdWFsVG8oXCJpc0RlbGV0ZWRcIiwgdHJ1ZSk7XHJcbiAgICBxdWVyeS5ub3RFcXVhbFRvKFwidXNlclZlcmlmeVwiLCBjcmVhdG9yPy5pZCk7IC8vIOmdnuiHqui6q+WunuWQjei6q+S7vVxyXG4gICAgcXVlcnkuZXF1YWxUbyhcImNyZWF0b3JcIiwgY3JlYXRvcj8uaWQpO1xyXG4gICAgLy8gcXVlcnkuZXF1YWxUbyhcImlzVmVyaWZpZWRcIiwgdHJ1ZSlcclxuICAgIHF1ZXJ5LmFkZERlc2NlbmRpbmcoXCJ1cGRhdGVkQXRcIik7XHJcbiAgICBpZiAob3B0aW9ucz8ucm9sZVRhZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICBxdWVyeS5jb250YWluZWRJbihcInRhZ3NcIiwgb3B0aW9ucz8ucm9sZVRhZ3MpXHJcbiAgICB9XHJcbiAgICAvLyBjb25zb2xlLmxvZyhxdWVyeS50b0pTT04oKSlcclxuICAgIGxldCBsaXN0ID0gYXdhaXQgcXVlcnkuZmluZCgpXHJcbiAgICBsaXN0LmZvckVhY2goaXRlbSA9PiB0aGlzLnBlcnNvbk1hcFtpdGVtPy5pZF0gPSBpdGVtKVxyXG4gICAgcmV0dXJuIGxpc3RcclxuICB9XHJcbiAgYXN5bmMgcXVlcnlBdXRoUGVyc29uKG9wdGlvbnM/Ontyb2xlVGFnczphbnl9KSB7XHJcbiAgICBsZXQgdXNlciA9IFBhcnNlLlVzZXIuY3VycmVudCgpXHJcbiAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm4gW11cclxuICAgIGxldCB3aGVyZU9wdGlvbnM6IGFueSA9IHt9XHJcbiAgICBpZiAob3B0aW9ucz8ucm9sZVRhZ3M/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgd2hlcmVPcHRpb25zLnBlcnNvbiA9IHsgJGluUXVlcnk6IHsgXCJ3aGVyZVwiOiB7IFwidGFnc1wiOiB7ICRpbjogb3B0aW9ucz8ucm9sZVRhZ3MgfSB9LCBcImNsYXNzTmFtZVwiOiBcIlBlcnNvblwiIH0gfVxyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5ID0gUGFyc2UuUXVlcnkuZnJvbUpTT04oXCJQZXJzb25BdXRob3JcIiwge1xyXG4gICAgICB3aGVyZTogd2hlcmVPcHRpb25zXHJcbiAgICB9KTtcclxuICAgIHF1ZXJ5LmluY2x1ZGUoXCJwZXJzb25cIixcInBlcnNvbi51c2VyVmVyaWZ5XCIpXHJcbiAgICBxdWVyeS5ub3RFcXVhbFRvKFwiaXNEZWxldGVkXCIsIHRydWUpO1xyXG4gICAgcXVlcnkuZXF1YWxUbyhcImlzVmVyaWZpZWRcIiwgdHJ1ZSk7XHJcbiAgICBxdWVyeS5lcXVhbFRvKFwidXNlclwiLCB1c2VyPy5pZCk7XHJcbiAgICBxdWVyeS5hZGREZXNjZW5kaW5nKFwidXBkYXRlZEF0XCIpO1xyXG4gICAgLy8gY29uc29sZS5sb2cocXVlcnkudG9KU09OKCkpXHJcbiAgICBsZXQgbGlzdCA9IGF3YWl0IHF1ZXJ5LmZpbmQoKVxyXG4gICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5wZXJzb25NYXBbaXRlbT8uaWRdID0gaXRlbS5nZXQoXCJwZXJzb25cIikpXHJcbiAgICByZXR1cm4gbGlzdFxyXG4gIH1cclxufVxyXG4iXX0=
8
+ import{Injectable}from"@angular/core";import{MatDialog}from"@angular/material/dialog";import{FmodeParse}from"@fmode/parse";import{AgentPrompt}from"../core/agent/prompt";import*as i0 from"@angular/core";import*as i1 from"@angular/material/dialog";const Parse=FmodeParse.with("nova"),agentPrompt=new AgentPrompt;export class PersonService{constructor(e){this.dialog=e,this.personMap={},this.objectMap={},this.PromptTplPersonRelationCode="person-relation-tpl"}async loadPersonById(e){if(this.personMap[e])return this.personMap[e];let r=new Parse.Query("Person");r.include("userVerify");let t=await r.get(e);return t?.id&&(this.personMap[e]=t),t}async loadObjectById(e,r,t){if(this.objectMap[r])return this.objectMap[r];let a=new Parse.Query(e);a.include(...t);let o=await a.get(r);return o?.id&&(this.objectMap[r]=o),o}test(){return new Promise((e=>{}))}async loadSelfPerson(){let e=new Parse.Query("Person");return e.notEqualTo("isDeleted",!0),e.include("userVerify"),e.equalTo("userVerify",Parse.User.current()?.id),await e.first()}async queryOwnPerson(e){let r=Parse.User.current();if(!r?.id)return[];let t=new Parse.Query("Person");t.include("userVerify"),t.notEqualTo("isDeleted",!0),t.notEqualTo("userVerify",r?.id),t.equalTo("creator",r?.id),t.addDescending("updatedAt"),e?.roleTags.length>0&&t.containedIn("tags",e?.roleTags);let a=await t.find();return a.forEach((e=>this.personMap[e?.id]=e)),a}async queryAuthPerson(e){let r=Parse.User.current();if(!r?.id)return[];let t={};e?.roleTags?.length>0&&(t.person={$inQuery:{where:{tags:{$in:e?.roleTags}},className:"Person"}});let a=Parse.Query.fromJSON("PersonAuthor",{where:t});a.include("person","person.userVerify"),a.notEqualTo("isDeleted",!0),a.equalTo("isVerified",!0),a.equalTo("user",r?.id),a.addDescending("updatedAt");let o=await a.find();return o.forEach((e=>this.personMap[e?.id]=e.get("person"))),o}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:PersonService,deps:[{token:i1.MatDialog}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:PersonService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:PersonService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.MatDialog}]});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9wZXJzb24vcGVyc29uLnNlcnZpY2UubWpz`
10
+