pcm-agents 0.6.11 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/error-event-J_ZWIqWF.js +33 -0
- package/dist/cjs/error-event-J_ZWIqWF.js.map +1 -0
- package/dist/cjs/{index-CvEfNyEj.js → index-CRlt8Nv6.js} +53 -3
- package/dist/cjs/index-CRlt8Nv6.js.map +1 -0
- package/dist/cjs/index-WNdOTXnX.js +11068 -0
- package/dist/cjs/index-WNdOTXnX.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +3 -5
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/message.service-DGUsA-FY.js +135 -0
- package/dist/cjs/message.service-DGUsA-FY.js.map +1 -0
- package/dist/cjs/{pcm-1zhanshi-mnms-modal_17.cjs.entry.js → pcm-1zhanshi-mnms-modal_21.cjs.entry.js} +3276 -216
- package/dist/cjs/pcm-1zhanshi-mnms-modal_21.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-agents.cjs.js +4 -6
- package/dist/cjs/pcm-agents.cjs.js.map +1 -1
- package/dist/cjs/pcm-message.cjs.entry.js +3 -3
- package/dist/cjs/pcm-message.cjs.entry.js.map +1 -1
- package/dist/cjs/pcm-message.entry.cjs.js.map +1 -1
- package/dist/cjs/pcm-mnms-video-modal.cjs.entry.js +8 -8
- package/dist/cjs/pcm-mnms-video-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pcm-mnms-video-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pcm-mnms-zp-modal.cjs.entry.js +29 -86
- package/dist/cjs/pcm-mnms-zp-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pcm-mnms-zp-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/{sentry-reporter-BWFtw_aT.js → sentry-reporter-tpI4WdkE.js} +12 -40
- package/dist/cjs/sentry-reporter-tpI4WdkE.js.map +1 -0
- package/dist/collection/collection-manifest.json +5 -1
- package/dist/collection/components/pcm-1zhanshi-mnms-modal/pcm-1zhanshi-mnms-modal.js.map +1 -1
- package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.css +986 -986
- package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js +7 -9
- package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js.map +1 -1
- package/dist/collection/components/pcm-button/pcm-button.css +199 -199
- package/dist/collection/components/pcm-button/pcm-button.js +6 -6
- package/dist/collection/components/pcm-button/pcm-button.js.map +1 -1
- package/dist/collection/components/pcm-card/pcm-card.css +259 -259
- package/dist/collection/components/pcm-card/pcm-card.js +1 -1
- package/dist/collection/components/pcm-card/pcm-card.js.map +1 -1
- package/dist/collection/components/pcm-chat-message/pcm-chat-message.css +554 -554
- package/dist/collection/components/pcm-chat-message/pcm-chat-message.js +3 -3
- package/dist/collection/components/pcm-chat-message/pcm-chat-message.js.map +1 -1
- package/dist/collection/components/pcm-drawer/pcm-drawer.css +102 -102
- package/dist/collection/components/pcm-drawer/pcm-drawer.js +1 -1
- package/dist/collection/components/pcm-drawer/pcm-drawer.js.map +1 -1
- package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.css +854 -854
- package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js +5 -7
- package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js.map +1 -1
- package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.css +95 -95
- package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.js +1 -1
- package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.js.map +1 -1
- package/dist/collection/components/pcm-hyzj-modal/pcm-hyzj-modal.js +2 -2
- package/dist/collection/components/pcm-hyzj-modal/pcm-hyzj-modal.js.map +1 -1
- package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.css +312 -312
- package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.js +1 -1
- package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.js.map +1 -1
- package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js +2 -2
- package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js.map +1 -1
- package/dist/collection/components/pcm-message/pcm-message.css +64 -64
- package/dist/collection/components/pcm-message/pcm-message.js +2 -2
- package/dist/collection/components/pcm-message/pcm-message.js.map +1 -1
- package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.css +1 -1
- package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.js +2 -2
- package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.js.map +1 -1
- package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js +67 -84
- package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js.map +1 -1
- package/dist/collection/components/pcm-mnms-video-modal/pcm-mnms-video-modal.js +2 -2
- package/dist/collection/components/pcm-mnms-video-modal/pcm-mnms-video-modal.js.map +1 -1
- package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js +67 -84
- package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js.map +1 -1
- package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.css +140 -0
- package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.js +307 -0
- package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.js.map +1 -0
- package/dist/collection/components/pcm-mobile-input-btn/uploadNumberSDK.js +25 -0
- package/dist/collection/components/pcm-mobile-input-btn/uploadNumberSDK.js.map +1 -0
- package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.css +127 -0
- package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.js +350 -0
- package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.js.map +1 -0
- package/dist/collection/components/pcm-mobile-upload-btn/uploadNumberSDK.js +25 -0
- package/dist/collection/components/pcm-mobile-upload-btn/uploadNumberSDK.js.map +1 -0
- package/dist/collection/components/pcm-msbg-modal/pcm-msbg-modal.js +2 -2
- package/dist/collection/components/pcm-msbg-modal/pcm-msbg-modal.js.map +1 -1
- package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.css +1 -1
- package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.js +2 -2
- package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.js.map +1 -1
- package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.css +0 -0
- package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.js +106 -0
- package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.js.map +1 -0
- package/dist/collection/components/pcm-upload/pcm-upload.css +0 -0
- package/dist/collection/components/pcm-upload/pcm-upload.js +408 -0
- package/dist/collection/components/pcm-upload/pcm-upload.js.map +1 -0
- package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.css +969 -969
- package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.js +3 -5
- package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.js.map +1 -1
- package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.css +68 -68
- package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js +4 -4
- package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js.map +1 -1
- package/dist/collection/global/global.css +401 -398
- package/dist/collection/global/markdown.css +1233 -1233
- package/dist/collection/global/message.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interfaces/chat.js.map +1 -1
- package/dist/collection/interfaces/events.js.map +1 -1
- package/dist/collection/services/message.service.js.map +1 -1
- package/dist/collection/utils/env.js +3 -0
- package/dist/collection/utils/env.js.map +1 -1
- package/dist/collection/utils/error-event.js.map +1 -1
- package/dist/collection/utils/init.js.map +1 -1
- package/dist/collection/utils/sentry-reporter.js.map +1 -1
- package/dist/collection/utils/utils.js +48 -24
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +3 -5482
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-AYWZDCn8.js → p-B0WOTw9J.js} +51 -4
- package/dist/components/p-B0WOTw9J.js.map +1 -0
- package/dist/components/{p-DUQ46MUh.js → p-BGXbWUJg.js} +3 -3
- package/dist/components/{p-DUQ46MUh.js.map → p-BGXbWUJg.js.map} +1 -1
- package/dist/{esm/sentry-reporter-BFBS363a.js → components/p-BW3r6Lrf.js} +5 -32
- package/dist/components/p-BW3r6Lrf.js.map +1 -0
- package/dist/{esm/app-globals-Chti62re.js → components/p-BdiUKin5.js} +9619 -4296
- package/dist/components/p-BdiUKin5.js.map +1 -0
- package/dist/components/{p-FjtoYPVY.js → p-BywzltXy.js} +10 -9
- package/dist/components/p-BywzltXy.js.map +1 -0
- package/dist/components/p-C2OsjtRx.js +208 -0
- package/dist/components/p-C2OsjtRx.js.map +1 -0
- package/dist/components/{p-D2Z8casl.js → p-CuIvbaWY.js} +5 -5
- package/dist/components/p-CuIvbaWY.js.map +1 -0
- package/dist/components/p-D0ZMoyH8.js +251 -0
- package/dist/components/p-D0ZMoyH8.js.map +1 -0
- package/dist/components/{p-CjbFHLT7.js → p-De3VHEUn.js} +7 -71
- package/dist/components/p-De3VHEUn.js.map +1 -0
- package/dist/components/p-Dv8qvK0w.js +2646 -0
- package/dist/components/p-Dv8qvK0w.js.map +1 -0
- package/dist/components/p-RD3mwuBX.js +226 -0
- package/dist/components/p-RD3mwuBX.js.map +1 -0
- package/dist/components/p-njngFX_n.js +80 -0
- package/dist/components/p-njngFX_n.js.map +1 -0
- package/dist/components/pcm-1zhanshi-mnms-modal.js +7 -7
- package/dist/components/pcm-1zhanshi-mnms-modal.js.map +1 -1
- package/dist/components/pcm-app-chat-modal.js +1 -1
- package/dist/components/pcm-button.js +2 -2
- package/dist/components/pcm-button.js.map +1 -1
- package/dist/components/pcm-card.js +3 -3
- package/dist/components/pcm-card.js.map +1 -1
- package/dist/components/pcm-chat-message.js +1 -1
- package/dist/components/pcm-drawer.js +1 -1
- package/dist/components/pcm-hr-chat-modal.js +5 -4
- package/dist/components/pcm-hr-chat-modal.js.map +1 -1
- package/dist/components/pcm-htws-modal.js +8 -7
- package/dist/components/pcm-htws-modal.js.map +1 -1
- package/dist/components/pcm-hyzj-modal.js +8 -7
- package/dist/components/pcm-hyzj-modal.js.map +1 -1
- package/dist/components/pcm-jd-modal.js +8 -7
- package/dist/components/pcm-jd-modal.js.map +1 -1
- package/dist/components/pcm-jlpp-modal.js +8 -7
- package/dist/components/pcm-jlpp-modal.js.map +1 -1
- package/dist/components/pcm-message.js +3 -3
- package/dist/components/pcm-message.js.map +1 -1
- package/dist/components/pcm-mnct-modal.js +8 -7
- package/dist/components/pcm-mnct-modal.js.map +1 -1
- package/dist/components/pcm-mnms-modal.js +60 -90
- package/dist/components/pcm-mnms-modal.js.map +1 -1
- package/dist/components/pcm-mnms-video-modal.js +8 -7
- package/dist/components/pcm-mnms-video-modal.js.map +1 -1
- package/dist/components/pcm-mnms-zp-modal.js +60 -90
- package/dist/components/pcm-mnms-zp-modal.js.map +1 -1
- package/dist/components/pcm-mobile-input-btn.d.ts +11 -0
- package/dist/components/pcm-mobile-input-btn.js +9 -0
- package/dist/components/pcm-mobile-input-btn.js.map +1 -0
- package/dist/components/pcm-mobile-upload-btn.d.ts +11 -0
- package/dist/components/pcm-mobile-upload-btn.js +9 -0
- package/dist/components/pcm-mobile-upload-btn.js.map +1 -0
- package/dist/components/pcm-msbg-modal.js +8 -7
- package/dist/components/pcm-msbg-modal.js.map +1 -1
- package/dist/components/pcm-qgqjl-modal.js +8 -7
- package/dist/components/pcm-qgqjl-modal.js.map +1 -1
- package/dist/components/pcm-time-count-down.d.ts +11 -0
- package/dist/components/pcm-time-count-down.js +9 -0
- package/dist/components/pcm-time-count-down.js.map +1 -0
- package/dist/components/pcm-upload.d.ts +11 -0
- package/dist/components/pcm-upload.js +9 -0
- package/dist/components/pcm-upload.js.map +1 -0
- package/dist/components/pcm-zsk-chat-modal.js +4 -4
- package/dist/components/pcm-zsk-chat-modal.js.map +1 -1
- package/dist/components/pcm-zygh-modal.js +8 -7
- package/dist/components/pcm-zygh-modal.js.map +1 -1
- package/dist/esm/error-event-C0FYX2-Z.js +31 -0
- package/dist/esm/error-event-C0FYX2-Z.js.map +1 -0
- package/dist/esm/{index-GyOE8SlD.js → index-BnNqOUZf.js} +51 -4
- package/dist/esm/index-BnNqOUZf.js.map +1 -0
- package/dist/esm/index-BuVfV0zo.js +11035 -0
- package/dist/esm/index-BuVfV0zo.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +3 -5
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/message.service-DXVhHj6-.js +133 -0
- package/dist/esm/message.service-DXVhHj6-.js.map +1 -0
- package/dist/esm/{pcm-1zhanshi-mnms-modal_17.entry.js → pcm-1zhanshi-mnms-modal_21.entry.js} +3225 -169
- package/dist/esm/pcm-1zhanshi-mnms-modal_21.entry.js.map +1 -0
- package/dist/esm/pcm-agents.js +4 -6
- package/dist/esm/pcm-agents.js.map +1 -1
- package/dist/esm/pcm-message.entry.js +3 -3
- package/dist/esm/pcm-message.entry.js.map +1 -1
- package/dist/esm/pcm-mnms-video-modal.entry.js +5 -5
- package/dist/esm/pcm-mnms-video-modal.entry.js.map +1 -1
- package/dist/esm/pcm-mnms-zp-modal.entry.js +28 -85
- package/dist/esm/pcm-mnms-zp-modal.entry.js.map +1 -1
- package/dist/esm/sentry-reporter-CYzy4_8O.js +70 -0
- package/dist/esm/sentry-reporter-CYzy4_8O.js.map +1 -0
- package/dist/pcm-agents/index.esm.js +1 -1
- package/dist/pcm-agents/loader.esm.js.map +1 -1
- package/dist/pcm-agents/p-18a06873.entry.js +2 -0
- package/dist/pcm-agents/p-18a06873.entry.js.map +1 -0
- package/dist/pcm-agents/p-47e2e1d0.entry.js +2 -0
- package/dist/pcm-agents/p-47e2e1d0.entry.js.map +1 -0
- package/dist/pcm-agents/{p-3608c0c6.entry.js → p-7a582f00.entry.js} +2 -2
- package/dist/pcm-agents/p-7a582f00.entry.js.map +1 -0
- package/dist/pcm-agents/p-BhFnI70g.js +2 -0
- package/dist/pcm-agents/p-BhFnI70g.js.map +1 -0
- package/dist/pcm-agents/p-BuVfV0zo.js +3 -0
- package/dist/pcm-agents/p-BuVfV0zo.js.map +1 -0
- package/dist/pcm-agents/p-C0FYX2-Z.js +2 -0
- package/dist/pcm-agents/p-C0FYX2-Z.js.map +1 -0
- package/dist/pcm-agents/p-DXVhHj6-.js +2 -0
- package/dist/pcm-agents/p-DXVhHj6-.js.map +1 -0
- package/dist/pcm-agents/p-DkeaAFic.js +2 -0
- package/dist/pcm-agents/p-DkeaAFic.js.map +1 -0
- package/dist/pcm-agents/p-f5f96853.entry.js +245 -0
- package/dist/pcm-agents/p-f5f96853.entry.js.map +1 -0
- package/dist/pcm-agents/pcm-agents.esm.js +1 -1
- package/dist/pcm-agents/pcm-agents.esm.js.map +1 -1
- package/dist/pcm-agents/pcm-message.entry.esm.js.map +1 -1
- package/dist/pcm-agents/pcm-mnms-video-modal.entry.esm.js.map +1 -1
- package/dist/pcm-agents/pcm-mnms-zp-modal.entry.esm.js.map +1 -1
- package/dist/store/auth.store.js.map +1 -1
- package/dist/store/config.store.js.map +1 -1
- package/dist/types/components/pcm-mnms-modal/pcm-mnms-modal.d.ts +9 -4
- package/dist/types/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.d.ts +9 -4
- package/dist/types/components/pcm-mobile-input-btn/pcm-mobile-input-btn.d.ts +36 -0
- package/dist/types/components/pcm-mobile-input-btn/uploadNumberSDK.d.ts +9 -0
- package/dist/types/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.d.ts +44 -0
- package/dist/types/components/pcm-mobile-upload-btn/uploadNumberSDK.d.ts +9 -0
- package/dist/types/components/pcm-time-count-down/pcm-time-count-down.d.ts +15 -0
- package/dist/types/components/pcm-upload/pcm-upload.d.ts +54 -0
- package/dist/types/components/pcm-upload/type.d.ts +4 -0
- package/dist/types/components.d.ts +798 -30
- package/dist/types/stencil-public-runtime.d.ts +1 -1
- package/dist/types/utils/env.d.ts +2 -0
- package/dist/types/utils/utils.d.ts +30 -12
- package/package.json +70 -69
- package/dist/cjs/app-globals-BIO4q6tX.js +0 -5487
- package/dist/cjs/app-globals-BIO4q6tX.js.map +0 -1
- package/dist/cjs/exports-Dc-pQh4A.js +0 -4087
- package/dist/cjs/exports-Dc-pQh4A.js.map +0 -1
- package/dist/cjs/index-C_qhED9Z.js +0 -1538
- package/dist/cjs/index-C_qhED9Z.js.map +0 -1
- package/dist/cjs/index-CvEfNyEj.js.map +0 -1
- package/dist/cjs/pcm-1zhanshi-mnms-modal_17.cjs.entry.js.map +0 -1
- package/dist/cjs/sentry-reporter-BWFtw_aT.js.map +0 -1
- package/dist/components/p-75J0r72D.js +0 -4017
- package/dist/components/p-75J0r72D.js.map +0 -1
- package/dist/components/p-AYWZDCn8.js.map +0 -1
- package/dist/components/p-CR7WLzmM.js +0 -1303
- package/dist/components/p-CR7WLzmM.js.map +0 -1
- package/dist/components/p-CjbFHLT7.js.map +0 -1
- package/dist/components/p-D2Z8casl.js.map +0 -1
- package/dist/components/p-FjtoYPVY.js.map +0 -1
- package/dist/esm/app-globals-Chti62re.js.map +0 -1
- package/dist/esm/exports-Bs-zO1WZ.js +0 -4017
- package/dist/esm/exports-Bs-zO1WZ.js.map +0 -1
- package/dist/esm/index-Bq0K-WqZ.js +0 -1528
- package/dist/esm/index-Bq0K-WqZ.js.map +0 -1
- package/dist/esm/index-GyOE8SlD.js.map +0 -1
- package/dist/esm/pcm-1zhanshi-mnms-modal_17.entry.js.map +0 -1
- package/dist/esm/sentry-reporter-BFBS363a.js.map +0 -1
- package/dist/pcm-agents/p-2Gpw8rvH.js +0 -2
- package/dist/pcm-agents/p-2Gpw8rvH.js.map +0 -1
- package/dist/pcm-agents/p-3608c0c6.entry.js.map +0 -1
- package/dist/pcm-agents/p-60d7a0b0.entry.js +0 -2
- package/dist/pcm-agents/p-60d7a0b0.entry.js.map +0 -1
- package/dist/pcm-agents/p-9e6efc2d.entry.js +0 -2
- package/dist/pcm-agents/p-9e6efc2d.entry.js.map +0 -1
- package/dist/pcm-agents/p-BUV0S8Cc.js +0 -2
- package/dist/pcm-agents/p-BUV0S8Cc.js.map +0 -1
- package/dist/pcm-agents/p-Bq0K-WqZ.js +0 -3
- package/dist/pcm-agents/p-Bq0K-WqZ.js.map +0 -1
- package/dist/pcm-agents/p-Bs-zO1WZ.js +0 -2
- package/dist/pcm-agents/p-Bs-zO1WZ.js.map +0 -1
- package/dist/pcm-agents/p-CeRTfvY9.js +0 -2
- package/dist/pcm-agents/p-CeRTfvY9.js.map +0 -1
- package/dist/pcm-agents/p-e6c87a78.entry.js +0 -2
- package/dist/pcm-agents/p-e6c87a78.entry.js.map +0 -1
- /package/dist/types/{code/agents-sdk → Users/debugksir/Documents/pcm/sdk}/packages/pcm-agents/.stencil/store/auth.store.d.ts +0 -0
- /package/dist/types/{code/agents-sdk → Users/debugksir/Documents/pcm/sdk}/packages/pcm-agents/.stencil/store/config.store.d.ts +0 -0
|
@@ -1,260 +1,260 @@
|
|
|
1
|
-
:host {
|
|
2
|
-
display: block;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
/* 加载和错误状态样式 */
|
|
6
|
-
.loading-container,
|
|
7
|
-
.error-container {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
align-items: center;
|
|
11
|
-
justify-content: center;
|
|
12
|
-
height: 200px;
|
|
13
|
-
width: 100%;
|
|
14
|
-
color: #86909C;
|
|
15
|
-
font-size: 14px;
|
|
16
|
-
text-align: center;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.loading-spinner {
|
|
20
|
-
width: 32px;
|
|
21
|
-
height: 32px;
|
|
22
|
-
border: 3px solid #f3f3f3;
|
|
23
|
-
border-top: 3px solid #1677FF;
|
|
24
|
-
border-radius: 50%;
|
|
25
|
-
margin-bottom: 12px;
|
|
26
|
-
animation: spin 1s linear infinite;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@keyframes spin {
|
|
30
|
-
0% { transform: rotate(0deg); }
|
|
31
|
-
100% { transform: rotate(360deg); }
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.error-icon {
|
|
35
|
-
width: 32px;
|
|
36
|
-
height: 32px;
|
|
37
|
-
background-color: #FFF0F0;
|
|
38
|
-
color: #F53F3F;
|
|
39
|
-
border-radius: 50%;
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
justify-content: center;
|
|
43
|
-
font-size: 20px;
|
|
44
|
-
font-weight: bold;
|
|
45
|
-
margin-bottom: 12px;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.error-message {
|
|
49
|
-
color: #86909C;
|
|
50
|
-
max-width: 80%;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.card-container {
|
|
54
|
-
border-radius: 8px;
|
|
55
|
-
padding: 16px;
|
|
56
|
-
cursor: pointer;
|
|
57
|
-
transition: all 0.2s ease;
|
|
58
|
-
display: flex;
|
|
59
|
-
flex-direction: column;
|
|
60
|
-
background-color: #ffffff;
|
|
61
|
-
border: 1px solid #E5E6EB;
|
|
62
|
-
position: relative;
|
|
63
|
-
height: 100%;
|
|
64
|
-
min-width: 300px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.card-container:hover {
|
|
68
|
-
transform: translateY(-2px);
|
|
69
|
-
box-shadow: 0 4px 16px rgba(0, 21, 41, 0.08);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.card-header {
|
|
73
|
-
display: flex;
|
|
74
|
-
width: 100%;
|
|
75
|
-
padding-bottom: 16px;
|
|
76
|
-
gap: 12px;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.card-icon {
|
|
80
|
-
width: 64px;
|
|
81
|
-
height: 64px;
|
|
82
|
-
margin-right: 12px;
|
|
83
|
-
flex-shrink: 0;
|
|
84
|
-
overflow: hidden;
|
|
85
|
-
border-radius: 2px;
|
|
86
|
-
background-color: #f8f9fa;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.card-icon img {
|
|
90
|
-
width: 100%;
|
|
91
|
-
height: 100%;
|
|
92
|
-
object-fit: contain;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.card-info {
|
|
96
|
-
flex: 1;
|
|
97
|
-
display: flex;
|
|
98
|
-
flex-direction: column;
|
|
99
|
-
overflow: hidden;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.title-row {
|
|
103
|
-
display: flex;
|
|
104
|
-
align-items: center;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.title-wrapper {
|
|
108
|
-
flex: 1;
|
|
109
|
-
margin-right: 8px;
|
|
110
|
-
overflow: hidden;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.card-title {
|
|
114
|
-
font-size: 18px;
|
|
115
|
-
font-weight: 700;
|
|
116
|
-
color: #1D2129;
|
|
117
|
-
line-height: 24px;
|
|
118
|
-
white-space: nowrap;
|
|
119
|
-
overflow: hidden;
|
|
120
|
-
text-overflow: ellipsis;
|
|
121
|
-
display: block;
|
|
122
|
-
width: 100%;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.chat-tag {
|
|
126
|
-
display: flex;
|
|
127
|
-
align-items: center;
|
|
128
|
-
justify-content: center;
|
|
129
|
-
height: 24px;
|
|
130
|
-
padding: 0 8px;
|
|
131
|
-
background-color: #F2F7E8;
|
|
132
|
-
color: #56961F;
|
|
133
|
-
font-size: 12px;
|
|
134
|
-
border-radius: 4px;
|
|
135
|
-
font-weight: 500;
|
|
136
|
-
flex-shrink: 0;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
.author-row {
|
|
140
|
-
display: flex;
|
|
141
|
-
align-items: center;
|
|
142
|
-
margin-top: 8px;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.author-avatar {
|
|
146
|
-
width: 16px;
|
|
147
|
-
height: 16px;
|
|
148
|
-
border-radius: 50%;
|
|
149
|
-
margin-right: 4px;
|
|
150
|
-
background-color: #f8f9fa;
|
|
151
|
-
overflow: hidden;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.author-name {
|
|
155
|
-
font-size: 12px;
|
|
156
|
-
color: #86909C;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.card-description {
|
|
160
|
-
font-size: 12px;
|
|
161
|
-
color: #86909C;
|
|
162
|
-
margin-top: 8px;
|
|
163
|
-
line-height: 18px;
|
|
164
|
-
height: 54px;
|
|
165
|
-
display: -webkit-box;
|
|
166
|
-
-webkit-line-clamp: 3;
|
|
167
|
-
-webkit-box-orient: vertical;
|
|
168
|
-
overflow: hidden;
|
|
169
|
-
text-overflow: ellipsis;
|
|
170
|
-
white-space: pre-line;
|
|
171
|
-
word-break: break-word;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
.card-footer {
|
|
175
|
-
padding-top: 16px;
|
|
176
|
-
display: flex;
|
|
177
|
-
justify-content: space-between;
|
|
178
|
-
align-items: center;
|
|
179
|
-
border-top: 1px solid #E5E6EB;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.stats-container {
|
|
183
|
-
display: flex;
|
|
184
|
-
align-items: center;
|
|
185
|
-
flex: 1;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
.stat-item {
|
|
189
|
-
display: flex;
|
|
190
|
-
align-items: center;
|
|
191
|
-
margin-right: 8px;
|
|
192
|
-
color: #86909C;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
.stat-icon {
|
|
196
|
-
width: 16px;
|
|
197
|
-
height: 16px;
|
|
198
|
-
margin-right: 4px;
|
|
199
|
-
background-repeat: no-repeat;
|
|
200
|
-
background-position: center;
|
|
201
|
-
background-size: contain;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
.user-icon {
|
|
205
|
-
/* 为图标添加SVG背景 */
|
|
206
|
-
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' focusable='false' aria-hidden='true'%3E%3Cpath d='M12 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6Zm0-10C9.8 4 8 5.8 8 8s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4Z' fill='currentColor'%3E%3C/path%3E%3Cpath d='M21.9 20.6c-.1-.2-2.3-5.6-9.9-5.6-7.6 0-9.8 5.4-9.9 5.6-.2.5 0 1.1.6 1.3.5.2 1.1 0 1.3-.5 0-.2 1.8-4.4 8-4.4s8 4.2 8.1 4.4c.2.5.8.8 1.3.5.5-.2.7-.8.5-1.3Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.star-icon {
|
|
210
|
-
/* 为图标添加SVG背景 */
|
|
211
|
-
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' focusable='false' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5.03 9.57 9.1c-.17.3-.46.5-.8.55l-4.3.79 3 3.46c.22.26.32.6.28.93l-.62 4.46 4.41-1.9c.3-.12.63-.12.92 0l4.4 1.9-.6-4.46c-.05-.34.05-.67.27-.93l3-3.46-4.3-.79a1.17 1.17 0 0 1-.8-.55L12 5.03Zm-1-2.46a1.16 1.16 0 0 1 2 0l3.03 5.07 5.51 1c.89.17 1.26 1.24.68 1.92l-3.8 4.4.77 5.71c.13.9-.78 1.6-1.61 1.23L12 19.5l-5.58 2.4a1.17 1.17 0 0 1-1.61-1.23l.78-5.7-3.8-4.4a1.17 1.17 0 0 1 .67-1.92l5.51-1L11 2.56Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
.video-icon {
|
|
215
|
-
/* 为图标添加SVG背景 */
|
|
216
|
-
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' focusable='false' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4Zm0 2h16v16H4V4Zm5.5 3.13A1 1 0 0 0 8 8v8a1 1 0 0 0 1.5.87l7-4a1 1 0 0 0 0-1.74l-7-4ZM13.98 12 10 14.28V9.72L13.98 12Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.stat-value {
|
|
220
|
-
font-size: 12px;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
.use-button {
|
|
224
|
-
font-size: 12px;
|
|
225
|
-
color: #86909C;
|
|
226
|
-
cursor: pointer;
|
|
227
|
-
white-space: nowrap;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
.use-button:hover {
|
|
231
|
-
color: #1677FF;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/* 响应式样式 */
|
|
235
|
-
@media screen and (max-width: 768px) {
|
|
236
|
-
.card-container {
|
|
237
|
-
padding: 12px;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
.card-header {
|
|
241
|
-
gap: 8px;
|
|
242
|
-
padding-bottom: 12px;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
.card-icon {
|
|
246
|
-
width: 48px;
|
|
247
|
-
height: 48px;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
.card-title {
|
|
251
|
-
font-size: 16px;
|
|
252
|
-
line-height: 20px;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
.card-description {
|
|
256
|
-
font-size: 12px;
|
|
257
|
-
line-height: 16px;
|
|
258
|
-
height: 48px;
|
|
259
|
-
}
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
/* 加载和错误状态样式 */
|
|
6
|
+
.loading-container,
|
|
7
|
+
.error-container {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
height: 200px;
|
|
13
|
+
width: 100%;
|
|
14
|
+
color: #86909C;
|
|
15
|
+
font-size: 14px;
|
|
16
|
+
text-align: center;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.loading-spinner {
|
|
20
|
+
width: 32px;
|
|
21
|
+
height: 32px;
|
|
22
|
+
border: 3px solid #f3f3f3;
|
|
23
|
+
border-top: 3px solid #1677FF;
|
|
24
|
+
border-radius: 50%;
|
|
25
|
+
margin-bottom: 12px;
|
|
26
|
+
animation: spin 1s linear infinite;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@keyframes spin {
|
|
30
|
+
0% { transform: rotate(0deg); }
|
|
31
|
+
100% { transform: rotate(360deg); }
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.error-icon {
|
|
35
|
+
width: 32px;
|
|
36
|
+
height: 32px;
|
|
37
|
+
background-color: #FFF0F0;
|
|
38
|
+
color: #F53F3F;
|
|
39
|
+
border-radius: 50%;
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
justify-content: center;
|
|
43
|
+
font-size: 20px;
|
|
44
|
+
font-weight: bold;
|
|
45
|
+
margin-bottom: 12px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.error-message {
|
|
49
|
+
color: #86909C;
|
|
50
|
+
max-width: 80%;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.card-container {
|
|
54
|
+
border-radius: 8px;
|
|
55
|
+
padding: 16px;
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
transition: all 0.2s ease;
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-direction: column;
|
|
60
|
+
background-color: #ffffff;
|
|
61
|
+
border: 1px solid #E5E6EB;
|
|
62
|
+
position: relative;
|
|
63
|
+
height: 100%;
|
|
64
|
+
min-width: 300px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.card-container:hover {
|
|
68
|
+
transform: translateY(-2px);
|
|
69
|
+
box-shadow: 0 4px 16px rgba(0, 21, 41, 0.08);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.card-header {
|
|
73
|
+
display: flex;
|
|
74
|
+
width: 100%;
|
|
75
|
+
padding-bottom: 16px;
|
|
76
|
+
gap: 12px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.card-icon {
|
|
80
|
+
width: 64px;
|
|
81
|
+
height: 64px;
|
|
82
|
+
margin-right: 12px;
|
|
83
|
+
flex-shrink: 0;
|
|
84
|
+
overflow: hidden;
|
|
85
|
+
border-radius: 2px;
|
|
86
|
+
background-color: #f8f9fa;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.card-icon img {
|
|
90
|
+
width: 100%;
|
|
91
|
+
height: 100%;
|
|
92
|
+
object-fit: contain;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.card-info {
|
|
96
|
+
flex: 1;
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-direction: column;
|
|
99
|
+
overflow: hidden;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.title-row {
|
|
103
|
+
display: flex;
|
|
104
|
+
align-items: center;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.title-wrapper {
|
|
108
|
+
flex: 1;
|
|
109
|
+
margin-right: 8px;
|
|
110
|
+
overflow: hidden;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.card-title {
|
|
114
|
+
font-size: 18px;
|
|
115
|
+
font-weight: 700;
|
|
116
|
+
color: #1D2129;
|
|
117
|
+
line-height: 24px;
|
|
118
|
+
white-space: nowrap;
|
|
119
|
+
overflow: hidden;
|
|
120
|
+
text-overflow: ellipsis;
|
|
121
|
+
display: block;
|
|
122
|
+
width: 100%;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.chat-tag {
|
|
126
|
+
display: flex;
|
|
127
|
+
align-items: center;
|
|
128
|
+
justify-content: center;
|
|
129
|
+
height: 24px;
|
|
130
|
+
padding: 0 8px;
|
|
131
|
+
background-color: #F2F7E8;
|
|
132
|
+
color: #56961F;
|
|
133
|
+
font-size: 12px;
|
|
134
|
+
border-radius: 4px;
|
|
135
|
+
font-weight: 500;
|
|
136
|
+
flex-shrink: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.author-row {
|
|
140
|
+
display: flex;
|
|
141
|
+
align-items: center;
|
|
142
|
+
margin-top: 8px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.author-avatar {
|
|
146
|
+
width: 16px;
|
|
147
|
+
height: 16px;
|
|
148
|
+
border-radius: 50%;
|
|
149
|
+
margin-right: 4px;
|
|
150
|
+
background-color: #f8f9fa;
|
|
151
|
+
overflow: hidden;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.author-name {
|
|
155
|
+
font-size: 12px;
|
|
156
|
+
color: #86909C;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.card-description {
|
|
160
|
+
font-size: 12px;
|
|
161
|
+
color: #86909C;
|
|
162
|
+
margin-top: 8px;
|
|
163
|
+
line-height: 18px;
|
|
164
|
+
height: 54px;
|
|
165
|
+
display: -webkit-box;
|
|
166
|
+
-webkit-line-clamp: 3;
|
|
167
|
+
-webkit-box-orient: vertical;
|
|
168
|
+
overflow: hidden;
|
|
169
|
+
text-overflow: ellipsis;
|
|
170
|
+
white-space: pre-line;
|
|
171
|
+
word-break: break-word;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.card-footer {
|
|
175
|
+
padding-top: 16px;
|
|
176
|
+
display: flex;
|
|
177
|
+
justify-content: space-between;
|
|
178
|
+
align-items: center;
|
|
179
|
+
border-top: 1px solid #E5E6EB;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.stats-container {
|
|
183
|
+
display: flex;
|
|
184
|
+
align-items: center;
|
|
185
|
+
flex: 1;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.stat-item {
|
|
189
|
+
display: flex;
|
|
190
|
+
align-items: center;
|
|
191
|
+
margin-right: 8px;
|
|
192
|
+
color: #86909C;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.stat-icon {
|
|
196
|
+
width: 16px;
|
|
197
|
+
height: 16px;
|
|
198
|
+
margin-right: 4px;
|
|
199
|
+
background-repeat: no-repeat;
|
|
200
|
+
background-position: center;
|
|
201
|
+
background-size: contain;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.user-icon {
|
|
205
|
+
/* 为图标添加SVG背景 */
|
|
206
|
+
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' focusable='false' aria-hidden='true'%3E%3Cpath d='M12 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6Zm0-10C9.8 4 8 5.8 8 8s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4Z' fill='currentColor'%3E%3C/path%3E%3Cpath d='M21.9 20.6c-.1-.2-2.3-5.6-9.9-5.6-7.6 0-9.8 5.4-9.9 5.6-.2.5 0 1.1.6 1.3.5.2 1.1 0 1.3-.5 0-.2 1.8-4.4 8-4.4s8 4.2 8.1 4.4c.2.5.8.8 1.3.5.5-.2.7-.8.5-1.3Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.star-icon {
|
|
210
|
+
/* 为图标添加SVG背景 */
|
|
211
|
+
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' focusable='false' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5.03 9.57 9.1c-.17.3-.46.5-.8.55l-4.3.79 3 3.46c.22.26.32.6.28.93l-.62 4.46 4.41-1.9c.3-.12.63-.12.92 0l4.4 1.9-.6-4.46c-.05-.34.05-.67.27-.93l3-3.46-4.3-.79a1.17 1.17 0 0 1-.8-.55L12 5.03Zm-1-2.46a1.16 1.16 0 0 1 2 0l3.03 5.07 5.51 1c.89.17 1.26 1.24.68 1.92l-3.8 4.4.77 5.71c.13.9-.78 1.6-1.61 1.23L12 19.5l-5.58 2.4a1.17 1.17 0 0 1-1.61-1.23l.78-5.7-3.8-4.4a1.17 1.17 0 0 1 .67-1.92l5.51-1L11 2.56Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.video-icon {
|
|
215
|
+
/* 为图标添加SVG背景 */
|
|
216
|
+
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' focusable='false' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4Zm0 2h16v16H4V4Zm5.5 3.13A1 1 0 0 0 8 8v8a1 1 0 0 0 1.5.87l7-4a1 1 0 0 0 0-1.74l-7-4ZM13.98 12 10 14.28V9.72L13.98 12Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.stat-value {
|
|
220
|
+
font-size: 12px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.use-button {
|
|
224
|
+
font-size: 12px;
|
|
225
|
+
color: #86909C;
|
|
226
|
+
cursor: pointer;
|
|
227
|
+
white-space: nowrap;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.use-button:hover {
|
|
231
|
+
color: #1677FF;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/* 响应式样式 */
|
|
235
|
+
@media screen and (max-width: 768px) {
|
|
236
|
+
.card-container {
|
|
237
|
+
padding: 12px;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.card-header {
|
|
241
|
+
gap: 8px;
|
|
242
|
+
padding-bottom: 12px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.card-icon {
|
|
246
|
+
width: 48px;
|
|
247
|
+
height: 48px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.card-title {
|
|
251
|
+
font-size: 16px;
|
|
252
|
+
line-height: 20px;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.card-description {
|
|
256
|
+
font-size: 12px;
|
|
257
|
+
line-height: 16px;
|
|
258
|
+
height: 48px;
|
|
259
|
+
}
|
|
260
260
|
}
|
|
@@ -147,7 +147,7 @@ export class PcmCard {
|
|
|
147
147
|
authorName,
|
|
148
148
|
authorAvatar
|
|
149
149
|
});
|
|
150
|
-
return (h("div", { key: '
|
|
150
|
+
return (h("div", { key: '97827af60487bae41aeb80fcea46d8e2dd4b072a', class: "card-container" }, this.loading ? (h("div", { class: "loading-container" }, h("div", { class: "loading-spinner" }), h("div", null, "\u52A0\u8F7D\u4E2D..."))) : this.error ? (h("div", { class: "error-container" }, h("div", { class: "error-icon" }, "!"), h("div", { class: "error-message" }, this.error))) : (h("div", null, h("div", { class: "card-header" }, icon && (h("div", { class: "card-icon" }, h("img", { src: icon, alt: title }))), h("div", { class: "card-info" }, h("div", { class: "title-row" }, h("div", { class: "title-wrapper" }, h("div", { class: "card-title" }, title)), this.showChatTag && hasChatTag && h("div", { class: "chat-tag" }, hasChatTag)), authorName && (h("div", { class: "author-row" }, authorAvatar && (h("img", { class: "author-avatar", src: authorAvatar, alt: authorName })), h("div", { class: "author-name" }, authorName))), desc && (h("div", { class: "card-description" }, desc)))), h("div", { class: "card-footer" }, h("div", { class: "stats-container" }, h("div", { class: "stat-item" }, h("span", { class: "stat-icon user-icon" }), h("div", { class: "stat-value" }, usersCount)), h("div", { class: "stat-item" }, h("span", { class: "stat-icon star-icon" }), h("div", { class: "stat-value" }, starsCount)), h("div", { class: "stat-item" }, h("span", { class: "stat-icon video-icon" }), h("div", { class: "stat-value" }, usageCount))), h("div", { class: "use-button" }, this.useButtonText || '立即使用'))))));
|
|
151
151
|
}
|
|
152
152
|
static get is() { return "pcm-card"; }
|
|
153
153
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pcm-card.js","sourceRoot":"","sources":["../../../../src/components/pcm-card/pcm-card.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, State, Watch,Event, EventEmitter } from '@stencil/core';\r\nimport { sendHttpRequest } from '../../utils/utils';\r\nimport { authStore } from '../../../store/auth.store';\r\n\r\n/**\r\n * 智能体卡片组件\r\n * 用于展示各业务功能入口,点击后根据回调打开对应的模态框\r\n */\r\n@Component({\r\n tag: 'pcm-card',\r\n styleUrl: 'pcm-card.css',\r\n shadow: true,\r\n})\r\nexport class PcmCard {\r\n /**\r\n * SDK鉴权密钥\r\n */\r\n @Prop({ attribute: 'token' }) token!: string;\r\n /**\r\n * 自定义卡片标题\r\n */\r\n @Prop() cardTitle: string = '';\r\n\r\n /**\r\n * 自定义卡片描述\r\n */\r\n @Prop() description: string = '';\r\n\r\n /**\r\n * 自定义卡片图标URL\r\n */\r\n @Prop() iconUrl: string = '';\r\n\r\n\r\n /**\r\n * 自定义作者名称\r\n */\r\n @Prop() author: string = '';\r\n\r\n /**\r\n * 自定义作者头像URL\r\n */\r\n @Prop() authorAvatarUrl: string = '';\r\n\r\n /**\r\n * 是否显示右侧对话标签\r\n */\r\n @Prop() showChatTag: boolean = false;\r\n\r\n /**\r\n * 自定义右侧标签\r\n */\r\n @Prop() customChatTag: string = '';\r\n\r\n /**\r\n * 自定义立即使用按钮文本\r\n */\r\n @Prop() useButtonText: string = '立即使用';\r\n\r\n /**\r\n * 智能体ID\r\n */\r\n @Prop() botId: string = '';\r\n\r\n /**\r\n * 内部状态:用于存储从接口获取的智能体数据\r\n */\r\n @State() botData: any = null;\r\n\r\n /**\r\n * 内部状态:加载状态\r\n */\r\n @State() loading: boolean = false;\r\n\r\n /**\r\n * 内部状态:错误信息\r\n */\r\n @State() error: string = '';\r\n\r\n /**\r\n * SDK密钥验证失败事件\r\n */\r\n @Event() tokenInvalid: EventEmitter<void>;\r\n\r\n private tokenInvalidListener: () => void;\r\n\r\n /**\r\n * 监听 botId 变化,当 botId 改变时重新获取数据\r\n */\r\n @Watch('botId')\r\n watchBotIdHandler(newValue: string) {\r\n if (newValue) {\r\n this.fetchBotData();\r\n }\r\n }\r\n\r\n @Watch('token')\r\n handleTokenChange(newToken: string) {\r\n // 当传入的 token 变化时,更新 authStore 中的 token\r\n if (newToken && newToken !== authStore.getToken()) {\r\n authStore.setToken(newToken);\r\n }\r\n }\r\n\r\n /**\r\n * 组件将要加载时,如果有 botId 则获取数据\r\n */\r\n componentWillLoad() {\r\n if (this.token) {\r\n authStore.setToken(this.token);\r\n }\r\n if (this.botId) {\r\n this.fetchBotData();\r\n }\r\n // 添加全局token无效事件监听器\r\n this.tokenInvalidListener = () => {\r\n this.tokenInvalid.emit();\r\n };\r\n document.addEventListener('pcm-token-invalid', this.tokenInvalidListener);\r\n }\r\n\r\n disconnectedCallback() {\r\n // 组件销毁时移除事件监听器\r\n document.removeEventListener('pcm-token-invalid', this.tokenInvalidListener);\r\n }\r\n\r\n\r\n /**\r\n * 获取机器人数据\r\n */\r\n private async fetchBotData() {\r\n if (!this.botId) return;\r\n\r\n this.loading = true;\r\n this.error = '';\r\n\r\n try {\r\n const response = await sendHttpRequest({\r\n url: `/sdk/v1/agent/${this.botId}/info`,\r\n method: 'GET',\r\n });\r\n\r\n if (response.success && response.data) {\r\n this.botData = response.data;\r\n } else {\r\n throw new Error(response.message || '获取智能体信息失败');\r\n }\r\n } catch (err) {\r\n this.error = err.message || '获取智能体信息失败';\r\n console.error('获取智能体信息失败:', err);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n render() {\r\n // 从 botData 中获取信息,如果用户传入的属性存在则优先使用用户传入的\r\n const title = this.cardTitle || (this.botData?.title || '');\r\n const desc = this.description || (this.botData?.description || '');\r\n // 处理图标,可能会在不同属性中\r\n const iconFromBot = this.botData?.icon || this.botData?.iconUrl || this.botData?.logo || '';\r\n const icon = this.iconUrl || iconFromBot;\r\n\r\n const authorName = this.author || (this.botData?.author_name || '');\r\n const authorAvatar = this.authorAvatarUrl || (this.botData?.author_avatar || '');\r\n const hasChatTag = this.customChatTag || (this.botData?.flag || '');\r\n const usersCount = this.botData?.use_count || 0;\r\n const starsCount = this.botData?.follow_count || 0;\r\n const usageCount = this.botData?.view_count || 0;\r\n\r\n console.log('渲染数据:', {\r\n title,\r\n icon,\r\n iconFromBot,\r\n userIconUrl: this.iconUrl,\r\n botData: this.botData,\r\n authorName,\r\n authorAvatar\r\n });\r\n\r\n return (\r\n <div\r\n class=\"card-container\"\r\n >\r\n {this.loading ? (\r\n <div class=\"loading-container\">\r\n <div class=\"loading-spinner\"></div>\r\n <div>加载中...</div>\r\n </div>\r\n ) : this.error ? (\r\n <div class=\"error-container\">\r\n <div class=\"error-icon\">!</div>\r\n <div class=\"error-message\">{this.error}</div>\r\n </div>\r\n ) : (\r\n <div>\r\n <div class=\"card-header\">\r\n {icon && (\r\n <div class=\"card-icon\">\r\n <img src={icon} alt={title} />\r\n </div>\r\n )}\r\n <div class=\"card-info\">\r\n <div class=\"title-row\">\r\n <div class=\"title-wrapper\">\r\n <div class=\"card-title\">{title}</div>\r\n </div>\r\n {this.showChatTag && hasChatTag && <div class=\"chat-tag\">{hasChatTag}</div>}\r\n </div>\r\n\r\n {authorName && (\r\n <div class=\"author-row\">\r\n {authorAvatar && (\r\n <img class=\"author-avatar\" src={authorAvatar} alt={authorName} />\r\n )}\r\n <div class=\"author-name\">{authorName}</div>\r\n </div>\r\n )}\r\n\r\n {desc && (\r\n <div class=\"card-description\">{desc}</div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-footer\">\r\n <div class=\"stats-container\">\r\n <div class=\"stat-item\">\r\n <span class=\"stat-icon user-icon\"></span>\r\n <div class=\"stat-value\">{usersCount}</div>\r\n </div>\r\n <div class=\"stat-item\">\r\n <span class=\"stat-icon star-icon\"></span>\r\n <div class=\"stat-value\">{starsCount}</div>\r\n </div>\r\n <div class=\"stat-item\">\r\n <span class=\"stat-icon video-icon\"></span>\r\n <div class=\"stat-value\">{usageCount}</div>\r\n </div>\r\n </div>\r\n <div class=\"use-button\">{this.useButtonText || '立即使用'}</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n} "]}
|
|
1
|
+
{"version":3,"file":"pcm-card.js","sourceRoot":"","sources":["../../../../src/components/pcm-card/pcm-card.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, State, Watch,Event, EventEmitter } from '@stencil/core';\nimport { sendHttpRequest } from '../../utils/utils';\nimport { authStore } from '../../../store/auth.store';\n\n/**\n * 智能体卡片组件\n * 用于展示各业务功能入口,点击后根据回调打开对应的模态框\n */\n@Component({\n tag: 'pcm-card',\n styleUrl: 'pcm-card.css',\n shadow: true,\n})\nexport class PcmCard {\n /**\n * SDK鉴权密钥\n */\n @Prop({ attribute: 'token' }) token!: string;\n /**\n * 自定义卡片标题\n */\n @Prop() cardTitle: string = '';\n\n /**\n * 自定义卡片描述\n */\n @Prop() description: string = '';\n\n /**\n * 自定义卡片图标URL\n */\n @Prop() iconUrl: string = '';\n\n\n /**\n * 自定义作者名称\n */\n @Prop() author: string = '';\n\n /**\n * 自定义作者头像URL\n */\n @Prop() authorAvatarUrl: string = '';\n\n /**\n * 是否显示右侧对话标签\n */\n @Prop() showChatTag: boolean = false;\n\n /**\n * 自定义右侧标签\n */\n @Prop() customChatTag: string = '';\n\n /**\n * 自定义立即使用按钮文本\n */\n @Prop() useButtonText: string = '立即使用';\n\n /**\n * 智能体ID\n */\n @Prop() botId: string = '';\n\n /**\n * 内部状态:用于存储从接口获取的智能体数据\n */\n @State() botData: any = null;\n\n /**\n * 内部状态:加载状态\n */\n @State() loading: boolean = false;\n\n /**\n * 内部状态:错误信息\n */\n @State() error: string = '';\n\n /**\n * SDK密钥验证失败事件\n */\n @Event() tokenInvalid: EventEmitter<void>;\n\n private tokenInvalidListener: () => void;\n\n /**\n * 监听 botId 变化,当 botId 改变时重新获取数据\n */\n @Watch('botId')\n watchBotIdHandler(newValue: string) {\n if (newValue) {\n this.fetchBotData();\n }\n }\n\n @Watch('token')\n handleTokenChange(newToken: string) {\n // 当传入的 token 变化时,更新 authStore 中的 token\n if (newToken && newToken !== authStore.getToken()) {\n authStore.setToken(newToken);\n }\n }\n\n /**\n * 组件将要加载时,如果有 botId 则获取数据\n */\n componentWillLoad() {\n if (this.token) {\n authStore.setToken(this.token);\n }\n if (this.botId) {\n this.fetchBotData();\n }\n // 添加全局token无效事件监听器\n this.tokenInvalidListener = () => {\n this.tokenInvalid.emit();\n };\n document.addEventListener('pcm-token-invalid', this.tokenInvalidListener);\n }\n\n disconnectedCallback() {\n // 组件销毁时移除事件监听器\n document.removeEventListener('pcm-token-invalid', this.tokenInvalidListener);\n }\n\n\n /**\n * 获取机器人数据\n */\n private async fetchBotData() {\n if (!this.botId) return;\n\n this.loading = true;\n this.error = '';\n\n try {\n const response = await sendHttpRequest({\n url: `/sdk/v1/agent/${this.botId}/info`,\n method: 'GET',\n });\n\n if (response.success && response.data) {\n this.botData = response.data;\n } else {\n throw new Error(response.message || '获取智能体信息失败');\n }\n } catch (err) {\n this.error = err.message || '获取智能体信息失败';\n console.error('获取智能体信息失败:', err);\n } finally {\n this.loading = false;\n }\n }\n\n render() {\n // 从 botData 中获取信息,如果用户传入的属性存在则优先使用用户传入的\n const title = this.cardTitle || (this.botData?.title || '');\n const desc = this.description || (this.botData?.description || '');\n // 处理图标,可能会在不同属性中\n const iconFromBot = this.botData?.icon || this.botData?.iconUrl || this.botData?.logo || '';\n const icon = this.iconUrl || iconFromBot;\n\n const authorName = this.author || (this.botData?.author_name || '');\n const authorAvatar = this.authorAvatarUrl || (this.botData?.author_avatar || '');\n const hasChatTag = this.customChatTag || (this.botData?.flag || '');\n const usersCount = this.botData?.use_count || 0;\n const starsCount = this.botData?.follow_count || 0;\n const usageCount = this.botData?.view_count || 0;\n\n console.log('渲染数据:', {\n title,\n icon,\n iconFromBot,\n userIconUrl: this.iconUrl,\n botData: this.botData,\n authorName,\n authorAvatar\n });\n\n return (\n <div\n class=\"card-container\"\n >\n {this.loading ? (\n <div class=\"loading-container\">\n <div class=\"loading-spinner\"></div>\n <div>加载中...</div>\n </div>\n ) : this.error ? (\n <div class=\"error-container\">\n <div class=\"error-icon\">!</div>\n <div class=\"error-message\">{this.error}</div>\n </div>\n ) : (\n <div>\n <div class=\"card-header\">\n {icon && (\n <div class=\"card-icon\">\n <img src={icon} alt={title} />\n </div>\n )}\n <div class=\"card-info\">\n <div class=\"title-row\">\n <div class=\"title-wrapper\">\n <div class=\"card-title\">{title}</div>\n </div>\n {this.showChatTag && hasChatTag && <div class=\"chat-tag\">{hasChatTag}</div>}\n </div>\n\n {authorName && (\n <div class=\"author-row\">\n {authorAvatar && (\n <img class=\"author-avatar\" src={authorAvatar} alt={authorName} />\n )}\n <div class=\"author-name\">{authorName}</div>\n </div>\n )}\n\n {desc && (\n <div class=\"card-description\">{desc}</div>\n )}\n </div>\n </div>\n\n <div class=\"card-footer\">\n <div class=\"stats-container\">\n <div class=\"stat-item\">\n <span class=\"stat-icon user-icon\"></span>\n <div class=\"stat-value\">{usersCount}</div>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-icon star-icon\"></span>\n <div class=\"stat-value\">{starsCount}</div>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-icon video-icon\"></span>\n <div class=\"stat-value\">{usageCount}</div>\n </div>\n </div>\n <div class=\"use-button\">{this.useButtonText || '立即使用'}</div>\n </div>\n </div>\n )}\n </div>\n );\n }\n} "]}
|