优化页面
This commit is contained in:
@@ -1 +1 @@
|
||||
{"version":3,"file":"customer-icon.js","sources":["TUIKit/tui-customer-service-plugin/components/customer-icon.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/customer-icon.vue?type=component"],"sourcesContent":["<template>\n <!--本地 icon 资源, uniapp 打包到 app 仅支持标签 image, 打包小程序和 H5 均可支持标签 img -->\n <div class=\"common-icon-container\">\n <image\n v-if=\"isApp\"\n class=\"common-icon\"\n :src=\"props.src\"\n :style=\"{ width: props.width, height: props.height }\"\n />\n <img\n v-else\n class=\"common-icon\"\n :src=\"props.src\"\n :style=\"{ width: props.width, height: props.height }\"\n >\n </div>\n</template>\n<script lang=\"ts\">\nimport { isApp } from '../utils/env';\n\ninterface Props {\n src: string;\n width?: string;\n height?: string;\n}\n\nexport default {\n props: {\n src: {\n type: String,\n default: '',\n },\n width: {\n type: String,\n default: '16px',\n },\n height: {\n type: String,\n default: '16px',\n },\n },\n setup(props: Props) {\n return {\n props,\n isApp,\n };\n },\n};\n</script>\n<style lang=\"scss\" scoped>\n.common-icon-container {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/customer-icon.vue'\nwx.createComponent(Component)"],"names":["isApp"],"mappings":";;;AA0BA,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,MAAM,OAAc;AACX,WAAA;AAAA,MACL;AAAA,MAAA,OACAA,0CAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;AC9CA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"customer-icon.js","sources":["TUIKit/tui-customer-service-plugin/components/customer-icon.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvY3VzdG9tZXItaWNvbi52dWU"],"sourcesContent":["<template>\r\n <!--本地 icon 资源, uniapp 打包到 app 仅支持标签 image, 打包小程序和 H5 均可支持标签 img -->\r\n <div class=\"common-icon-container\">\r\n <image\r\n v-if=\"isApp\"\r\n class=\"common-icon\"\r\n :src=\"props.src\"\r\n :style=\"{ width: props.width, height: props.height }\"\r\n />\r\n <img\r\n v-else\r\n class=\"common-icon\"\r\n :src=\"props.src\"\r\n :style=\"{ width: props.width, height: props.height }\"\r\n >\r\n </div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { isApp } from '../utils/env';\r\n\r\ninterface Props {\r\n src: string;\r\n width?: string;\r\n height?: string;\r\n}\r\n\r\nexport default {\r\n props: {\r\n src: {\r\n type: String,\r\n default: '',\r\n },\r\n width: {\r\n type: String,\r\n default: '16px',\r\n },\r\n height: {\r\n type: String,\r\n default: '16px',\r\n },\r\n },\r\n setup(props: Props) {\r\n return {\r\n props,\r\n isApp,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.common-icon-container {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/customer-icon.vue'\nwx.createComponent(Component)"],"names":["isApp"],"mappings":";;;AA0BA,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,MAAM,OAAc;AACX,WAAA;AAAA,MACL;AAAA,MAAA,OACAA,0CAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;AC9CA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"message-branch.js","sources":["TUIKit/tui-customer-service-plugin/components/message-branch.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-branch.vue?type=component"],"sourcesContent":["<template>\n <div class=\"branch-card\">\n <p\n v-if=\"content.header || content.title\"\n class=\"branch-title\"\n >\n {{ content.header || content.title }}\n </p>\n <div\n v-for=\"(item, index) in content.items\"\n :key=\"index\"\n class=\"branch-item\"\n :style=\"{ borderWidth: content.header ? '1px 0 0px 0' : '0px 0 1px 0' }\"\n @click=\"handleContentListItemClick(item)\"\n >\n {{ item.content }}\n <Icon :src=\"iconRight\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport vue from '../adapter-vue';\nimport { customerServicePayloadType } from '../interface';\nimport iconRight from '../assets/iconRight.svg';\nimport Icon from './customer-icon.vue';\n\nconst { computed } = vue;\n\ninterface Props {\n payload: customerServicePayloadType;\n}\n\ninterface branchItem {\n content: string;\n desc: string;\n}\n\nexport default {\n components: {\n Icon,\n },\n props: {\n payload: {\n type: Object as () => customerServicePayloadType,\n default: () => ({}),\n },\n },\n emits: ['sendMessage'],\n setup(props: Props, { emit }) {\n const content = computed(() => {\n return (\n props?.payload?.content || {\n header: undefined,\n items: [],\n }\n );\n });\n\n const handleContentListItemClick = (branch: branchItem) => {\n emit('sendMessage', { text: branch.content });\n };\n\n return {\n content,\n handleContentListItemClick,\n iconRight,\n };\n },\n};\n</script>\n\n<style lang=\"scss\">\n.branch-card {\n min-width: 250px;\n max-width: 350px;\n\n .branch-title {\n margin-bottom: 8px;\n border-radius: 0 10px 10px;\n }\n\n .branch-item {\n display: flex;\n justify-content: space-between;\n border-style: dotted;\n border-color: #d8d8d8;\n font-weight: 400;\n color: rgba(54, 141, 255, 1);\n padding-top: 5px;\n cursor: pointer;\n padding-bottom: 5px;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-branch.vue'\nwx.createComponent(Component)"],"names":["vue","iconRight"],"mappings":";;;;AAyBA,MAAA,OAAiB,MAAA;AAEjB,MAAM,EAAE,SAAa,IAAAA;AAWrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,UAAU,SAAS,MAAM;;AAE3B,eAAA,oCAAO,YAAP,mBAAgB,YAAW;AAAA,QACzB,QAAQ;AAAA,QACR,OAAO,CAAC;AAAA,MAAA;AAAA,IACV,CAEH;AAEK,UAAA,6BAA6B,CAAC,WAAuB;AACzD,WAAK,eAAe,EAAE,MAAM,OAAO,QAAS,CAAA;AAAA,IAAA;AAGvC,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MAAA,WACAC,cAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"message-branch.js","sources":["TUIKit/tui-customer-service-plugin/components/message-branch.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1icmFuY2gudnVl"],"sourcesContent":["<template>\r\n <div class=\"branch-card\">\r\n <p\r\n v-if=\"content.header || content.title\"\r\n class=\"branch-title\"\r\n >\r\n {{ content.header || content.title }}\r\n </p>\r\n <div\r\n v-for=\"(item, index) in content.items\"\r\n :key=\"index\"\r\n class=\"branch-item\"\r\n :style=\"{ borderWidth: content.header ? '1px 0 0px 0' : '0px 0 1px 0' }\"\r\n @click=\"handleContentListItemClick(item)\"\r\n >\r\n {{ item.content }}\r\n <Icon :src=\"iconRight\" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from '../adapter-vue';\r\nimport { customerServicePayloadType } from '../interface';\r\nimport iconRight from '../assets/iconRight.svg';\r\nimport Icon from './customer-icon.vue';\r\n\r\nconst { computed } = vue;\r\n\r\ninterface Props {\r\n payload: customerServicePayloadType;\r\n}\r\n\r\ninterface branchItem {\r\n content: string;\r\n desc: string;\r\n}\r\n\r\nexport default {\r\n components: {\r\n Icon,\r\n },\r\n props: {\r\n payload: {\r\n type: Object as () => customerServicePayloadType,\r\n default: () => ({}),\r\n },\r\n },\r\n emits: ['sendMessage'],\r\n setup(props: Props, { emit }) {\r\n const content = computed(() => {\r\n return (\r\n props?.payload?.content || {\r\n header: undefined,\r\n items: [],\r\n }\r\n );\r\n });\r\n\r\n const handleContentListItemClick = (branch: branchItem) => {\r\n emit('sendMessage', { text: branch.content });\r\n };\r\n\r\n return {\r\n content,\r\n handleContentListItemClick,\r\n iconRight,\r\n };\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.branch-card {\r\n min-width: 250px;\r\n max-width: 350px;\r\n\r\n .branch-title {\r\n margin-bottom: 8px;\r\n border-radius: 0 10px 10px;\r\n }\r\n\r\n .branch-item {\r\n display: flex;\r\n justify-content: space-between;\r\n border-style: dotted;\r\n border-color: #d8d8d8;\r\n font-weight: 400;\r\n color: rgba(54, 141, 255, 1);\r\n padding-top: 5px;\r\n cursor: pointer;\r\n padding-bottom: 5px;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-branch.vue'\nwx.createComponent(Component)"],"names":["vue","iconRight"],"mappings":";;;;AAyBA,MAAA,OAAiB,MAAA;AAEjB,MAAM,EAAE,SAAa,IAAAA;AAWrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,UAAU,SAAS,MAAM;;AAE3B,eAAA,oCAAO,YAAP,mBAAgB,YAAW;AAAA,QACzB,QAAQ;AAAA,QACR,OAAO,CAAC;AAAA,MAAA;AAAA,IACV,CAEH;AAEK,UAAA,6BAA6B,CAAC,WAAuB;AACzD,WAAK,eAAe,EAAE,MAAM,OAAO,QAAS,CAAA;AAAA,IAAA;AAGvC,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MAAA,WACAC,cAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"message-customer-service.js","sources":["TUIKit/tui-customer-service-plugin/components/message-customer-service.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-customer-service.vue?type=component"],"sourcesContent":["<template>\n <div class=\"custom\">\n <div\n v-if=\"\n payload.src === CUSTOM_MESSAGE_SRC.BRANCH ||\n payload.src === CUSTOM_MESSAGE_SRC.BRANCH_NUMBER ||\n (payload.src === CUSTOM_MESSAGE_SRC.ROBOT_MSG &&\n payload.subtype !== 'welcome_msg')\n \"\n >\n <MessageBranch\n :payload=\"payload\"\n @sendMessage=\"sendTextMessage\"\n />\n </div>\n <div\n v-if=\"\n payload.src === CUSTOM_MESSAGE_SRC.ROBOT_MSG &&\n payload.subtype === 'welcome_msg'\n \"\n >\n <MessageIMRobotWelcome\n :payload=\"payload\"\n @sendMessage=\"sendTextMessage\"\n />\n </div>\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.FROM_INPUT\">\n <MessageForm\n :payload=\"payload\"\n @sendMessage=\"sendTextMessage\"\n />\n </div>\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.PRODUCT_CARD\">\n <MessageProductCard :payload=\"payload\" />\n </div>\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.RICH_TEXT\">\n <MessageRichText :payload=\"payload\" />\n </div>\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.STREAM_TEXT\">\n <MessageStream :payload=\"payload\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport vue from '../adapter-vue';\nimport { JSONToObject } from '../utils/index';\nimport { CUSTOM_MESSAGE_SRC } from '../constant';\nimport { customerServicePayloadType, IMessageModel } from '../interface';\nimport MessageBranch from './message-branch.vue';\nimport MessageForm from './message-form/index.vue';\nimport MessageIMRobotWelcome from './message-robot-welcome.vue';\nimport MessageProductCard from './message-product-card.vue';\nimport MessageRichText from './message-rich-text.vue';\nimport MessageStream from './message-stream.vue';\n\nconst { computed } = vue;\n\ninterface Props {\n message: IMessageModel;\n}\n\nexport default {\n components: {\n MessageBranch,\n MessageForm,\n MessageProductCard,\n MessageRichText,\n MessageIMRobotWelcome,\n MessageStream,\n },\n props: {\n message: {\n type: Object as () => IMessageModel,\n default: () => ({}),\n },\n },\n emits: ['sendMessage'],\n setup(props: Props, { emit }) {\n const payload = computed<customerServicePayloadType>(() => {\n return props.message && JSONToObject(props.message?.payload?.data);\n });\n\n const sendTextMessage = (text: string) => {\n emit('sendMessage', text);\n };\n return {\n payload,\n sendTextMessage,\n CUSTOM_MESSAGE_SRC,\n };\n },\n};\n</script>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-customer-service.vue'\nwx.createComponent(Component)"],"names":["vue","JSONToObject","CUSTOM_MESSAGE_SRC"],"mappings":";;;;;AAmDA,MAAA,gBAA0B,MAAA;AAC1B,MAAA,cAAwB,MAAA;AACxB,MAAA,wBAAkC,MAAA;AAClC,MAAA,qBAA+B,MAAA;AAC/B,MAAA,kBAA4B,MAAA;AAC5B,MAAA,gBAA0B,MAAA;AAE1B,MAAM,EAAE,SAAa,IAAAA;AAMrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,UAAU,SAAqC,MAAM;;AACzD,aAAO,MAAM,WAAWC,4CAAA,cAAa,iBAAM,YAAN,mBAAe,YAAf,mBAAwB,IAAI;AAAA,IAAA,CAClE;AAEK,UAAA,kBAAkB,CAAC,SAAiB;AACxC,WAAK,eAAe,IAAI;AAAA,IAAA;AAEnB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MAAA,oBACAC,yCAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7FA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"message-customer-service.js","sources":["TUIKit/tui-customer-service-plugin/components/message-customer-service.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1jdXN0b21lci1zZXJ2aWNlLnZ1ZQ"],"sourcesContent":["<template>\r\n <div class=\"custom\">\r\n <div\r\n v-if=\"\r\n payload.src === CUSTOM_MESSAGE_SRC.BRANCH ||\r\n payload.src === CUSTOM_MESSAGE_SRC.BRANCH_NUMBER ||\r\n (payload.src === CUSTOM_MESSAGE_SRC.ROBOT_MSG &&\r\n payload.subtype !== 'welcome_msg')\r\n \"\r\n >\r\n <MessageBranch\r\n :payload=\"payload\"\r\n @sendMessage=\"sendTextMessage\"\r\n />\r\n </div>\r\n <div\r\n v-if=\"\r\n payload.src === CUSTOM_MESSAGE_SRC.ROBOT_MSG &&\r\n payload.subtype === 'welcome_msg'\r\n \"\r\n >\r\n <MessageIMRobotWelcome\r\n :payload=\"payload\"\r\n @sendMessage=\"sendTextMessage\"\r\n />\r\n </div>\r\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.FROM_INPUT\">\r\n <MessageForm\r\n :payload=\"payload\"\r\n @sendMessage=\"sendTextMessage\"\r\n />\r\n </div>\r\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.PRODUCT_CARD\">\r\n <MessageProductCard :payload=\"payload\" />\r\n </div>\r\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.RICH_TEXT\">\r\n <MessageRichText :payload=\"payload\" />\r\n </div>\r\n <div v-if=\"payload.src === CUSTOM_MESSAGE_SRC.STREAM_TEXT\">\r\n <MessageStream :payload=\"payload\" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from '../adapter-vue';\r\nimport { JSONToObject } from '../utils/index';\r\nimport { CUSTOM_MESSAGE_SRC } from '../constant';\r\nimport { customerServicePayloadType, IMessageModel } from '../interface';\r\nimport MessageBranch from './message-branch.vue';\r\nimport MessageForm from './message-form/index.vue';\r\nimport MessageIMRobotWelcome from './message-robot-welcome.vue';\r\nimport MessageProductCard from './message-product-card.vue';\r\nimport MessageRichText from './message-rich-text.vue';\r\nimport MessageStream from './message-stream.vue';\r\n\r\nconst { computed } = vue;\r\n\r\ninterface Props {\r\n message: IMessageModel;\r\n}\r\n\r\nexport default {\r\n components: {\r\n MessageBranch,\r\n MessageForm,\r\n MessageProductCard,\r\n MessageRichText,\r\n MessageIMRobotWelcome,\r\n MessageStream,\r\n },\r\n props: {\r\n message: {\r\n type: Object as () => IMessageModel,\r\n default: () => ({}),\r\n },\r\n },\r\n emits: ['sendMessage'],\r\n setup(props: Props, { emit }) {\r\n const payload = computed<customerServicePayloadType>(() => {\r\n return props.message && JSONToObject(props.message?.payload?.data);\r\n });\r\n\r\n const sendTextMessage = (text: string) => {\r\n emit('sendMessage', text);\r\n };\r\n return {\r\n payload,\r\n sendTextMessage,\r\n CUSTOM_MESSAGE_SRC,\r\n };\r\n },\r\n};\r\n</script>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-customer-service.vue'\nwx.createComponent(Component)"],"names":["vue","JSONToObject","CUSTOM_MESSAGE_SRC"],"mappings":";;;;;AAiDA,MAAA,gBAA0B,MAAA;AAC1B,MAAA,cAAwB,MAAA;AACxB,MAAA,wBAAkC,MAAA;AAClC,MAAA,qBAA+B,MAAA;AAC/B,MAAA,kBAA4B,MAAA;AAC5B,MAAA,gBAA0B,MAAA;AAE1B,MAAM,EAAE,SAAa,IAAAA;AAMrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,UAAU,SAAqC,MAAM;;AACzD,aAAO,MAAM,WAAWC,4CAAA,cAAa,iBAAM,YAAN,mBAAe,YAAf,mBAAwB,IAAI;AAAA,IAAA,CAClE;AAEK,UAAA,kBAAkB,CAAC,SAAiB;AACxC,WAAK,eAAe,IAAI;AAAA,IAAA;AAEnB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MAAA,oBACAC,yCAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3FA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"form-branch.js","sources":["TUIKit/tui-customer-service-plugin/components/message-form/form-branch.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.vue?type=component"],"sourcesContent":["<template>\n <div class=\"form-branch-container\">\n <p\n v-if=\"props.title\"\n class=\"card-title\"\n >\n {{ props.title }}\n </p>\n <div\n v-for=\"(item, index) in props.list\"\n :key=\"index\"\n class=\"form-branch-item\"\n @click=\"listItemClick(item)\"\n >\n {{ item.content }}\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\ninterface branchItem {\n content: string;\n desc: string;\n}\n\ninterface Props {\n title: string;\n list: branchItem[];\n}\n\nexport default {\n props: {\n title: {\n type: String,\n default: '',\n },\n list: {\n type: Array,\n default: () => [],\n },\n },\n emits: ['input-click'],\n setup(props: Props, { emit }) {\n const listItemClick = (branch: branchItem): void => {\n emit('input-click', branch);\n };\n return {\n props,\n listItemClick,\n };\n },\n};\n</script>\n<style lang=\"scss\">\n.form-branch-container {\n .card-title {\n margin-bottom: 8px;\n }\n\n .form-branch-item {\n font-weight: 400;\n color: rgba(54, 141, 255, 1);\n padding-top: 5px;\n cursor: pointer;\n padding-bottom: 5px;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AA8BA,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,gBAAgB,CAAC,WAA6B;AAClD,WAAK,eAAe,MAAM;AAAA,IAAA;AAErB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;AClDA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"form-branch.js","sources":["TUIKit/tui-customer-service-plugin/components/message-form/form-branch.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1mb3JtL2Zvcm0tYnJhbmNoLnZ1ZQ"],"sourcesContent":["<template>\r\n <div class=\"form-branch-container\">\r\n <p\r\n v-if=\"props.title\"\r\n class=\"card-title\"\r\n >\r\n {{ props.title }}\r\n </p>\r\n <div\r\n v-for=\"(item, index) in props.list\"\r\n :key=\"index\"\r\n class=\"form-branch-item\"\r\n @click=\"listItemClick(item)\"\r\n >\r\n {{ item.content }}\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\ninterface branchItem {\r\n content: string;\r\n desc: string;\r\n}\r\n\r\ninterface Props {\r\n title: string;\r\n list: branchItem[];\r\n}\r\n\r\nexport default {\r\n props: {\r\n title: {\r\n type: String,\r\n default: '',\r\n },\r\n list: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n },\r\n emits: ['input-click'],\r\n setup(props: Props, { emit }) {\r\n const listItemClick = (branch: branchItem): void => {\r\n emit('input-click', branch);\r\n };\r\n return {\r\n props,\r\n listItemClick,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.form-branch-container {\r\n .card-title {\r\n margin-bottom: 8px;\r\n }\r\n\r\n .form-branch-item {\r\n font-weight: 400;\r\n color: rgba(54, 141, 255, 1);\r\n padding-top: 5px;\r\n cursor: pointer;\r\n padding-bottom: 5px;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AA8BA,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,gBAAgB,CAAC,WAA6B;AAClD,WAAK,eAAe,MAAM;AAAA,IAAA;AAErB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;AClDA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"form-input.js","sources":["TUIKit/tui-customer-service-plugin/components/message-form/form-input.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/form-input.vue?type=component"],"sourcesContent":["<template>\n <div class=\"form-input-container\">\n <div class=\"card-title\">\n {{ props.title }}\n </div>\n <div class=\"form-input-box\">\n <input\n v-model=\"text\"\n class=\"form-input\"\n >\n <button\n class=\"form-button\"\n :disabled=\"disabled\"\n @click=\"listItemClick\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport vue from '../../adapter-vue';\n\nconst { ref } = vue;\n\ninterface Props {\n title: string;\n}\nexport default {\n props: {\n title: {\n type: String,\n default: '',\n },\n },\n emits: ['input-submit'],\n setup(props: Props, { emit }) {\n const disabled = ref<boolean>(false);\n const text = ref<string>('');\n\n const listItemClick = (): void => {\n disabled.value = true;\n emit('input-submit', text.value);\n };\n return {\n disabled,\n text,\n listItemClick,\n props,\n };\n },\n};\n</script>\n<style lang=\"scss\">\n.form-input-container {\n .card-title {\n margin-bottom: 8px;\n }\n\n .form-input-box {\n display: flex;\n\n button:disabled {\n background: #d8d8d8;\n }\n }\n\n .form-input {\n width: 100%;\n height: 36px;\n border-radius: 8px 0 0 8px;\n border: 1px rgba(221, 221, 221, 1) solid;\n }\n\n .form-button {\n position: relative;\n height: 40px;\n width: 42px;\n font-size: 16px;\n border-radius: 0 8px 8px 0;\n border: 0 rgba(221, 221, 221, 1) solid;\n background: #006eff;\n color: white;\n cursor: pointer;\n }\n\n .form-button::before {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n top: 50%;\n right: 40%;\n border-left: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: translate(0, -50%) rotate(-135deg);\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/form-input.vue'\nwx.createComponent(Component)"],"names":["vue"],"mappings":";;;AAsBA,MAAM,EAAE,IAAQ,IAAAA;AAKhB,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,OAAO,CAAC,cAAc;AAAA,EACtB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,WAAW,IAAa,KAAK;AAC7B,UAAA,OAAO,IAAY,EAAE;AAE3B,UAAM,gBAAgB,MAAY;AAChC,eAAS,QAAQ;AACZ,WAAA,gBAAgB,KAAK,KAAK;AAAA,IAAA;AAE1B,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;ACjDA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"form-input.js","sources":["TUIKit/tui-customer-service-plugin/components/message-form/form-input.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1mb3JtL2Zvcm0taW5wdXQudnVl"],"sourcesContent":["<template>\r\n <div class=\"form-input-container\">\r\n <div class=\"card-title\">\r\n {{ props.title }}\r\n </div>\r\n <div class=\"form-input-box\">\r\n <input\r\n v-model=\"text\"\r\n class=\"form-input\"\r\n >\r\n <button\r\n class=\"form-button\"\r\n :disabled=\"disabled\"\r\n @click=\"listItemClick\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from '../../adapter-vue';\r\n\r\nconst { ref } = vue;\r\n\r\ninterface Props {\r\n title: string;\r\n}\r\nexport default {\r\n props: {\r\n title: {\r\n type: String,\r\n default: '',\r\n },\r\n },\r\n emits: ['input-submit'],\r\n setup(props: Props, { emit }) {\r\n const disabled = ref<boolean>(false);\r\n const text = ref<string>('');\r\n\r\n const listItemClick = (): void => {\r\n disabled.value = true;\r\n emit('input-submit', text.value);\r\n };\r\n return {\r\n disabled,\r\n text,\r\n listItemClick,\r\n props,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.form-input-container {\r\n .card-title {\r\n margin-bottom: 8px;\r\n }\r\n\r\n .form-input-box {\r\n display: flex;\r\n\r\n button:disabled {\r\n background: #d8d8d8;\r\n }\r\n }\r\n\r\n .form-input {\r\n width: 100%;\r\n height: 36px;\r\n border-radius: 8px 0 0 8px;\r\n border: 1px rgba(221, 221, 221, 1) solid;\r\n }\r\n\r\n .form-button {\r\n position: relative;\r\n height: 40px;\r\n width: 42px;\r\n font-size: 16px;\r\n border-radius: 0 8px 8px 0;\r\n border: 0 rgba(221, 221, 221, 1) solid;\r\n background: #006eff;\r\n color: white;\r\n cursor: pointer;\r\n }\r\n\r\n .form-button::before {\r\n content: \"\";\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n top: 50%;\r\n right: 40%;\r\n border-left: 2px solid #fff;\r\n border-bottom: 2px solid #fff;\r\n transform: translate(0, -50%) rotate(-135deg);\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/form-input.vue'\nwx.createComponent(Component)"],"names":["vue"],"mappings":";;;AAsBA,MAAM,EAAE,IAAQ,IAAAA;AAKhB,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,OAAO,CAAC,cAAc;AAAA,EACtB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,WAAW,IAAa,KAAK;AAC7B,UAAA,OAAO,IAAY,EAAE;AAE3B,UAAM,gBAAgB,MAAY;AAChC,eAAS,QAAQ;AACZ,WAAA,gBAAgB,KAAK,KAAK;AAAA,IAAA;AAE1B,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;ACjDA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUIKit/tui-customer-service-plugin/components/message-form/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/index.vue?type=component"],"sourcesContent":["<template>\n <div\n v-if=\"content.type === 1\"\n class=\"message-form\"\n >\n <FormBranch\n :title=\"content.header\"\n :list=\"content.items\"\n @input-click=\"handleContentListItemClick\"\n />\n </div>\n <div\n v-else\n class=\"message-form\"\n >\n <FormInput\n :title=\"content.header\"\n @input-submit=\"handleFormSaveInputSubmit\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport vue from '../../adapter-vue';\nimport FormBranch from './form-branch.vue';\nimport FormInput from './form-input.vue';\n\nconst { computed } = vue;\n\ninterface branchItem {\n content: string;\n desc: string;\n}\n\ninterface Props {\n payload: any;\n}\n\nexport default {\n components: {\n FormBranch,\n FormInput,\n },\n props: {\n payload: {\n type: Object,\n default: () => ({}),\n },\n },\n emits: ['sendMessage'],\n setup(props: Props, { emit }) {\n const content = computed(() => {\n return props.payload?.content || {\n type: 0,\n header: '',\n items: [],\n };\n });\n\n const handleContentListItemClick = (branch: branchItem) => {\n emit('sendMessage', { text: branch.content });\n };\n\n const handleFormSaveInputSubmit = (text: string) => {\n emit('sendMessage', { text });\n };\n return {\n content,\n handleContentListItemClick,\n handleFormSaveInputSubmit,\n };\n },\n};\n</script>\n<style lang=\"scss\">\n.message-form {\n max-width: 300px;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/index.vue'\nwx.createComponent(Component)"],"names":["vue"],"mappings":";;;AAwBA,MAAA,aAAuB,MAAA;AACvB,MAAA,YAAsB,MAAA;AAEtB,MAAM,EAAE,SAAa,IAAAA;AAWrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,UAAU,SAAS,MAAM;;AACtB,eAAA,WAAM,YAAN,mBAAe,YAAW;AAAA,QAC/B,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAO,CAAC;AAAA,MAAA;AAAA,IACV,CACD;AAEK,UAAA,6BAA6B,CAAC,WAAuB;AACzD,WAAK,eAAe,EAAE,MAAM,OAAO,QAAS,CAAA;AAAA,IAAA;AAGxC,UAAA,4BAA4B,CAAC,SAAiB;AAC7C,WAAA,eAAe,EAAE,KAAA,CAAM;AAAA,IAAA;AAEvB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;ACvEA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"index.js","sources":["TUIKit/tui-customer-service-plugin/components/message-form/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1mb3JtL2luZGV4LnZ1ZQ"],"sourcesContent":["<template>\r\n <div\r\n v-if=\"content.type === 1\"\r\n class=\"message-form\"\r\n >\r\n <FormBranch\r\n :title=\"content.header\"\r\n :list=\"content.items\"\r\n @input-click=\"handleContentListItemClick\"\r\n />\r\n </div>\r\n <div\r\n v-else\r\n class=\"message-form\"\r\n >\r\n <FormInput\r\n :title=\"content.header\"\r\n @input-submit=\"handleFormSaveInputSubmit\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from '../../adapter-vue';\r\nimport FormBranch from './form-branch.vue';\r\nimport FormInput from './form-input.vue';\r\n\r\nconst { computed } = vue;\r\n\r\ninterface branchItem {\r\n content: string;\r\n desc: string;\r\n}\r\n\r\ninterface Props {\r\n payload: any;\r\n}\r\n\r\nexport default {\r\n components: {\r\n FormBranch,\r\n FormInput,\r\n },\r\n props: {\r\n payload: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n },\r\n emits: ['sendMessage'],\r\n setup(props: Props, { emit }) {\r\n const content = computed(() => {\r\n return props.payload?.content || {\r\n type: 0,\r\n header: '',\r\n items: [],\r\n };\r\n });\r\n\r\n const handleContentListItemClick = (branch: branchItem) => {\r\n emit('sendMessage', { text: branch.content });\r\n };\r\n\r\n const handleFormSaveInputSubmit = (text: string) => {\r\n emit('sendMessage', { text });\r\n };\r\n return {\r\n content,\r\n handleContentListItemClick,\r\n handleFormSaveInputSubmit,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.message-form {\r\n max-width: 300px;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-form/index.vue'\nwx.createComponent(Component)"],"names":["vue"],"mappings":";;;AAwBA,MAAA,aAAuB,MAAA;AACvB,MAAA,YAAsB,MAAA;AAEtB,MAAM,EAAE,SAAa,IAAAA;AAWrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,UAAU,SAAS,MAAM;;AACtB,eAAA,WAAM,YAAN,mBAAe,YAAW;AAAA,QAC/B,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAO,CAAC;AAAA,MAAA;AAAA,IACV,CACD;AAEK,UAAA,6BAA6B,CAAC,WAAuB;AACzD,WAAK,eAAe,EAAE,MAAM,OAAO,QAAS,CAAA;AAAA,IAAA;AAGxC,UAAA,4BAA4B,CAAC,SAAiB;AAC7C,WAAA,eAAe,EAAE,KAAA,CAAM;AAAA,IAAA;AAEvB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;ACvEA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"message-product-card.js","sources":["TUIKit/tui-customer-service-plugin/components/message-product-card.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-product-card.vue?type=component"],"sourcesContent":["<template>\n <div\n class=\"message-product-card\"\n @click=\"jumpProductCard\"\n >\n <image\n v-if=\"isApp\"\n class=\"product-img\"\n :src=\"props.payload.content.pic\"\n />\n <img\n v-else\n class=\"product-img\"\n :src=\"props.payload.content.pic\"\n >\n <div class=\"product-card-information\">\n <div class=\"product-card-title\">\n {{ props.payload.content.header }}\n </div>\n <div class=\"product-card-description\">\n {{ props.payload.content.desc }}\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { customerServicePayloadType } from '../interface';\nimport { isApp } from '../utils/env';\n\n// eslint-disable-next-line\ndeclare var uni: any;\n\ninterface Props {\n payload: customerServicePayloadType;\n}\n\nexport default {\n props: {\n payload: {\n type: Object as () => customerServicePayloadType,\n default: () => ({}),\n },\n },\n emits: ['sendMessage'],\n setup(props: Props) {\n const jumpProductCard = () => {\n if (window) {\n window.open(props.payload.content.url, '_blank');\n } else {\n uni && uni.navigateTo({ url: `/TUIKit/components/TUIChat/web-view?url=${props.payload.content.url}` });\n }\n };\n return {\n props,\n isApp,\n jumpProductCard,\n };\n },\n};\n</script>\n<style lang=\"scss\" scoped>\n.message-product-card {\n min-width: 224px;\n max-width: 288px;\n background: #fff;\n border: 1px solid #ddd;\n display: flex;\n padding: 12px;\n border-radius: 5px;\n\n .product-img {\n width: 86px;\n height: 86px;\n }\n\n .product-card-information {\n margin-left: 12px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n .product-card-title {\n font-size: 12px;\n max-width: 165px;\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n word-break: break-all;\n }\n\n .product-card-description {\n font-size: 16px;\n max-width: 165px;\n color: #ff6c2e;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-product-card.vue'\nwx.createComponent(Component)"],"names":["uni","isApp"],"mappings":";;;AAqCA,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc;AAClB,UAAM,kBAAkB,MAAM;AAC5B,UAAI,QAAQ;AACV,eAAO,KAAK,MAAM,QAAQ,QAAQ,KAAK,QAAQ;AAAA,MAAA,OAC1C;AACEA,sBAAAA,SAAAA,cAAA,MAAI,WAAW,EAAE,KAAK,2CAA2C,MAAM,QAAQ,QAAQ,GAAG,GAAI,CAAA;AAAA,MACvG;AAAA,IAAA;AAEK,WAAA;AAAA,MACL;AAAA,MAAA,OACAC,0CAAA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;AC1DA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"message-product-card.js","sources":["TUIKit/tui-customer-service-plugin/components/message-product-card.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1wcm9kdWN0LWNhcmQudnVl"],"sourcesContent":["<template>\r\n <div\r\n class=\"message-product-card\"\r\n @click=\"jumpProductCard\"\r\n >\r\n <image\r\n v-if=\"isApp\"\r\n class=\"product-img\"\r\n :src=\"props.payload.content.pic\"\r\n />\r\n <img\r\n v-else\r\n class=\"product-img\"\r\n :src=\"props.payload.content.pic\"\r\n >\r\n <div class=\"product-card-information\">\r\n <div class=\"product-card-title\">\r\n {{ props.payload.content.header }}\r\n </div>\r\n <div class=\"product-card-description\">\r\n {{ props.payload.content.desc }}\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { customerServicePayloadType } from '../interface';\r\nimport { isApp } from '../utils/env';\r\n\r\n// eslint-disable-next-line\r\ndeclare var uni: any;\r\n\r\ninterface Props {\r\n payload: customerServicePayloadType;\r\n}\r\n\r\nexport default {\r\n props: {\r\n payload: {\r\n type: Object as () => customerServicePayloadType,\r\n default: () => ({}),\r\n },\r\n },\r\n emits: ['sendMessage'],\r\n setup(props: Props) {\r\n const jumpProductCard = () => {\r\n if (window) {\r\n window.open(props.payload.content.url, '_blank');\r\n } else {\r\n uni && uni.navigateTo({ url: `/TUIKit/components/TUIChat/web-view?url=${props.payload.content.url}` });\r\n }\r\n };\r\n return {\r\n props,\r\n isApp,\r\n jumpProductCard,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.message-product-card {\r\n min-width: 224px;\r\n max-width: 288px;\r\n background: #fff;\r\n border: 1px solid #ddd;\r\n display: flex;\r\n padding: 12px;\r\n border-radius: 5px;\r\n\r\n .product-img {\r\n width: 86px;\r\n height: 86px;\r\n }\r\n\r\n .product-card-information {\r\n margin-left: 12px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n\r\n .product-card-title {\r\n font-size: 12px;\r\n max-width: 165px;\r\n display: -webkit-box;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n -webkit-line-clamp: 3;\r\n -webkit-box-orient: vertical;\r\n word-break: break-all;\r\n }\r\n\r\n .product-card-description {\r\n font-size: 16px;\r\n max-width: 165px;\r\n color: #ff6c2e;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-product-card.vue'\nwx.createComponent(Component)"],"names":["uni","isApp"],"mappings":";;;AAqCA,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc;AAClB,UAAM,kBAAkB,MAAM;AAC5B,UAAI,QAAQ;AACV,eAAO,KAAK,MAAM,QAAQ,QAAQ,KAAK,QAAQ;AAAA,MAAA,OAC1C;AACEA,sBAAAA,SAAAA,cAAA,MAAI,WAAW,EAAE,KAAK,2CAA2C,MAAM,QAAQ,QAAQ,GAAG,GAAI,CAAA;AAAA,MACvG;AAAA,IAAA;AAEK,WAAA;AAAA,MACL;AAAA,MAAA,OACAC,0CAAA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;AC1DA,GAAG,gBAAgB,SAAS;"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUIKit/tui-customer-service-plugin/components/message-rating/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-rating/index.vue?type=component"],"sourcesContent":["<template>\n <RatingStar\n v-if=\"ratingTemplate.type === RATING_TEMPLATE_TYPE.STAR\"\n :ratingTemplate=\"ratingTemplate\"\n @sendMessage=\"sendCustomMessage\"\n />\n <RatingNumber\n v-else\n :ratingTemplate=\"ratingTemplate\"\n @sendMessage=\"sendCustomMessage\"\n />\n</template>\n\n<script lang=\"ts\">\nimport vue from '../../adapter-vue';\nimport { JSONToObject } from '../../utils/index';\nimport { RATING_TEMPLATE_TYPE } from '../../constant';\nimport RatingStar from './message-rating-star.vue';\nimport RatingNumber from './message-rating-number.vue';\nimport { IMessageModel } from '../../interface';\n\nconst { computed } = vue;\n\ninterface Props {\n message: IMessageModel;\n}\n\nexport default {\n components: {\n RatingStar,\n RatingNumber,\n },\n props: {\n message: {\n type: Object as () => IMessageModel,\n default: () => ({}),\n },\n },\n emits: ['sendMessage'],\n setup(props: Props, { emit }) {\n const ratingTemplate = computed(() => {\n const data = props.message && JSONToObject(props.message.payload.data);\n return data?.menuContent;\n });\n\n const sendCustomMessage = (data: any) => {\n emit('sendMessage', data);\n };\n\n return {\n sendCustomMessage,\n ratingTemplate,\n RATING_TEMPLATE_TYPE,\n };\n },\n};\n</script>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-rating/index.vue'\nwx.createComponent(Component)"],"names":["vue","JSONToObject","RATING_TEMPLATE_TYPE"],"mappings":";;;;;AAiBA,MAAA,aAAuB,MAAA;AACvB,MAAA,eAAyB,MAAA;AAGzB,MAAM,EAAE,SAAa,IAAAA;AAMrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,iBAAiB,SAAS,MAAM;AACpC,YAAM,OAAO,MAAM,WAAWC,4CAAAA,aAAa,MAAM,QAAQ,QAAQ,IAAI;AACrE,aAAO,6BAAM;AAAA,IAAA,CACd;AAEK,UAAA,oBAAoB,CAAC,SAAc;AACvC,WAAK,eAAe,IAAI;AAAA,IAAA;AAGnB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MAAA,sBACAC,yCAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;ACtDA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"index.js","sources":["TUIKit/tui-customer-service-plugin/components/message-rating/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1yYXRpbmcvaW5kZXgudnVl"],"sourcesContent":["<template>\r\n <RatingStar\r\n v-if=\"ratingTemplate.type === RATING_TEMPLATE_TYPE.STAR\"\r\n :ratingTemplate=\"ratingTemplate\"\r\n @sendMessage=\"sendCustomMessage\"\r\n />\r\n <RatingNumber\r\n v-else\r\n :ratingTemplate=\"ratingTemplate\"\r\n @sendMessage=\"sendCustomMessage\"\r\n />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from '../../adapter-vue';\r\nimport { JSONToObject } from '../../utils/index';\r\nimport { RATING_TEMPLATE_TYPE } from '../../constant';\r\nimport RatingStar from './message-rating-star.vue';\r\nimport RatingNumber from './message-rating-number.vue';\r\nimport { IMessageModel } from '../../interface';\r\n\r\nconst { computed } = vue;\r\n\r\ninterface Props {\r\n message: IMessageModel;\r\n}\r\n\r\nexport default {\r\n components: {\r\n RatingStar,\r\n RatingNumber,\r\n },\r\n props: {\r\n message: {\r\n type: Object as () => IMessageModel,\r\n default: () => ({}),\r\n },\r\n },\r\n emits: ['sendMessage'],\r\n setup(props: Props, { emit }) {\r\n const ratingTemplate = computed(() => {\r\n const data = props.message && JSONToObject(props.message.payload.data);\r\n return data?.menuContent;\r\n });\r\n\r\n const sendCustomMessage = (data: any) => {\r\n emit('sendMessage', data);\r\n };\r\n\r\n return {\r\n sendCustomMessage,\r\n ratingTemplate,\r\n RATING_TEMPLATE_TYPE,\r\n };\r\n },\r\n};\r\n</script>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-rating/index.vue'\nwx.createComponent(Component)"],"names":["vue","JSONToObject","RATING_TEMPLATE_TYPE"],"mappings":";;;;;AAiBA,MAAA,aAAuB,MAAA;AACvB,MAAA,eAAyB,MAAA;AAGzB,MAAM,EAAE,SAAa,IAAAA;AAMrB,MAAe,YAAA;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAc,EAAE,QAAQ;AACtB,UAAA,iBAAiB,SAAS,MAAM;AACpC,YAAM,OAAO,MAAM,WAAWC,4CAAAA,aAAa,MAAM,QAAQ,QAAQ,IAAI;AACrE,aAAO,6BAAM;AAAA,IAAA,CACd;AAEK,UAAA,oBAAoB,CAAC,SAAc;AACvC,WAAK,eAAe,IAAI;AAAA,IAAA;AAGnB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MAAA,sBACAC,yCAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;ACtDA,GAAG,gBAAgB,SAAS;"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"message-rich-text.js","sources":["TUIKit/tui-customer-service-plugin/components/message-rich-text.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-rich-text.vue?type=component"],"sourcesContent":["<template>\n <div\n class=\"rich-text\"\n v-html=\"formatedContent\"\n />\n</template>\n\n<script lang=\"ts\">\nimport vue from '../adapter-vue';\nimport { marked } from 'marked';\nimport { customerServicePayloadType } from '../interface';\nconst { computed } = vue;\n\ninterface Props {\n payload: customerServicePayloadType;\n}\n\nexport default {\n props: {\n payload: {\n type: Object as () => customerServicePayloadType,\n default: () => ({}),\n },\n },\n setup(props: Props) {\n const formatedContent = computed(() => {\n let richtext = marked.parse(props.payload.content);\n const regex = new RegExp('<img', 'gi');\n richtext = richtext.replace(regex, `<img style=\"max-width: 100%;\"`);\n return richtext;\n });\n return {\n props,\n formatedContent,\n };\n },\n};\n</script>\n<style lang=\"scss\">\n.rich-text {\n div,\n ul,\n ol,\n dt,\n dd,\n li,\n dl,\n h1,\n h2,\n h3,\n h4,\n p,\n img,\n a {\n max-width: 100%;\n }\n\n a {\n color: blue;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-rich-text.vue'\nwx.createComponent(Component)"],"names":["vue","marked"],"mappings":";;;AAWA,MAAM,EAAE,SAAa,IAAAA;AAMrB,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,MAAM,OAAc;AACZ,UAAA,kBAAkB,SAAS,MAAM;AACrC,UAAI,WAAWC,cAAAA,OAAO,MAAM,MAAM,QAAQ,OAAO;AACjD,YAAM,QAAQ,IAAI,OAAO,QAAQ,IAAI;AAC1B,iBAAA,SAAS,QAAQ,OAAO,+BAA+B;AAC3D,aAAA;AAAA,IAAA,CACR;AACM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;ACnCA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"message-rich-text.js","sources":["TUIKit/tui-customer-service-plugin/components/message-rich-text.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1yaWNoLXRleHQudnVl"],"sourcesContent":["<template>\r\n <div\r\n class=\"rich-text\"\r\n v-html=\"formatedContent\"\r\n />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from '../adapter-vue';\r\nimport { marked } from 'marked';\r\nimport { customerServicePayloadType } from '../interface';\r\nconst { computed } = vue;\r\n\r\ninterface Props {\r\n payload: customerServicePayloadType;\r\n}\r\n\r\nexport default {\r\n props: {\r\n payload: {\r\n type: Object as () => customerServicePayloadType,\r\n default: () => ({}),\r\n },\r\n },\r\n setup(props: Props) {\r\n const formatedContent = computed(() => {\r\n let richtext = marked.parse(props.payload.content);\r\n const regex = new RegExp('<img', 'gi');\r\n richtext = richtext.replace(regex, `<img style=\"max-width: 100%;\"`);\r\n return richtext;\r\n });\r\n return {\r\n props,\r\n formatedContent,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.rich-text {\r\n div,\r\n ul,\r\n ol,\r\n dt,\r\n dd,\r\n li,\r\n dl,\r\n h1,\r\n h2,\r\n h3,\r\n h4,\r\n p,\r\n img,\r\n a {\r\n max-width: 100%;\r\n }\r\n\r\n a {\r\n color: blue;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-rich-text.vue'\nwx.createComponent(Component)"],"names":["vue","marked"],"mappings":";;;AAWA,MAAM,EAAE,SAAa,IAAAA;AAMrB,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,MAAM,OAAc;AACZ,UAAA,kBAAkB,SAAS,MAAM;AACrC,UAAI,WAAWC,cAAAA,OAAO,MAAM,MAAM,QAAQ,OAAO;AACjD,YAAM,QAAQ,IAAI,OAAO,QAAQ,IAAI;AAC1B,iBAAA,SAAS,QAAQ,OAAO,+BAA+B;AAC3D,aAAA;AAAA,IAAA,CACR;AACM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;ACnCA,GAAG,gBAAgB,SAAS;"}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"message-stream.js","sources":["TUIKit/tui-customer-service-plugin/components/message-stream.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-stream.vue?type=component"],"sourcesContent":["<template>\n <div class=\"message-stream\">\n {{ displayedContent }}<span v-if=\"!isFinished\" class=\"blinking-cursor\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport vue from \"../adapter-vue\";\nimport { customerServicePayloadType } from \"../interface\";\n\nconst { ref, watchEffect, onBeforeUnmount, onMounted } = vue;\n\ninterface Props {\n payload: customerServicePayloadType;\n}\n\nexport default {\n props: {\n payload: {\n type: Object as () => customerServicePayloadType,\n default: () => ({}),\n },\n },\n setup(props: Props) {\n const content = ref<string>(\"\");\n const displayedContent = ref<string>(\"\");\n const isFinished = ref<boolean>(false);\n let intervalId: number | null = null;\n let currentIndex = 0;\n\n const updateDisplayedContent = () => {\n if (intervalId) {\n window.clearInterval(intervalId);\n }\n intervalId = window.setInterval(() => {\n if (currentIndex < content.value.length) {\n displayedContent.value += content.value[currentIndex];\n currentIndex++;\n } else {\n window.clearInterval(intervalId!);\n intervalId = null;\n }\n }, 50);\n };\n\n onMounted(() => {\n content.value = props?.payload?.chunks?.join(\"\") ?? \"\";\n displayedContent.value = content.value;\n currentIndex = content.value.length;\n });\n\n watchEffect(() => {\n const newContent = props?.payload?.chunks?.join(\"\") ?? \"\";\n if (newContent.length > currentIndex) {\n content.value = newContent;\n updateDisplayedContent();\n }\n });\n\n watchEffect(() => {\n isFinished.value = props?.payload?.isFinished === 1;\n });\n\n onBeforeUnmount(() => {\n if (intervalId) {\n window.clearInterval(intervalId);\n }\n });\n\n return {\n content,\n props,\n isFinished,\n displayedContent,\n };\n },\n};\n</script>\n<style lang=\"scss\" scoped>\n.message-stream {\n word-break: break-all;\n font-size: 14px;\n\n .blinking-cursor {\n display: inline-block;\n width: 1px;\n height: 16px;\n background-color: black;\n animation: blink 1s step-end infinite;\n vertical-align: sub;\n }\n\n @keyframes blink {\n 0%,\n 100% {\n background-color: transparent;\n }\n\n 50% {\n background-color: black;\n }\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-stream.vue'\nwx.createComponent(Component)"],"names":["vue"],"mappings":";;;AAUA,MAAM,EAAE,KAAK,aAAa,iBAAiB,cAAcA,2CAAAA;AAMzD,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,MAAM,OAAc;AACZ,UAAA,UAAU,IAAY,EAAE;AACxB,UAAA,mBAAmB,IAAY,EAAE;AACjC,UAAA,aAAa,IAAa,KAAK;AACrC,QAAI,aAA4B;AAChC,QAAI,eAAe;AAEnB,UAAM,yBAAyB,MAAM;AACnC,UAAI,YAAY;AACd,eAAO,cAAc,UAAU;AAAA,MACjC;AACa,mBAAA,OAAO,YAAY,MAAM;AAChC,YAAA,eAAe,QAAQ,MAAM,QAAQ;AACtB,2BAAA,SAAS,QAAQ,MAAM,YAAY;AACpD;AAAA,QAAA,OACK;AACL,iBAAO,cAAc,UAAW;AACnB,uBAAA;AAAA,QACf;AAAA,SACC,EAAE;AAAA,IAAA;AAGP,cAAU,MAAM;;AACd,cAAQ,UAAQ,0CAAO,YAAP,mBAAgB,WAAhB,mBAAwB,KAAK,QAAO;AACpD,uBAAiB,QAAQ,QAAQ;AACjC,qBAAe,QAAQ,MAAM;AAAA,IAAA,CAC9B;AAED,gBAAY,MAAM;;AAChB,YAAM,eAAa,0CAAO,YAAP,mBAAgB,WAAhB,mBAAwB,KAAK,QAAO;AACnD,UAAA,WAAW,SAAS,cAAc;AACpC,gBAAQ,QAAQ;AACO;MACzB;AAAA,IAAA,CACD;AAED,gBAAY,MAAM;;AACL,iBAAA,UAAQ,oCAAO,YAAP,mBAAgB,gBAAe;AAAA,IAAA,CACnD;AAED,oBAAgB,MAAM;AACpB,UAAI,YAAY;AACd,eAAO,cAAc,UAAU;AAAA,MACjC;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;AC3EA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"message-stream.js","sources":["TUIKit/tui-customer-service-plugin/components/message-stream.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2NvbXBvbmVudHMvbWVzc2FnZS1zdHJlYW0udnVl"],"sourcesContent":["<template>\r\n <div class=\"message-stream\">\r\n {{ displayedContent }}<span v-if=\"!isFinished\" class=\"blinking-cursor\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport vue from \"../adapter-vue\";\r\nimport { customerServicePayloadType } from \"../interface\";\r\n\r\nconst { ref, watchEffect, onBeforeUnmount, onMounted } = vue;\r\n\r\ninterface Props {\r\n payload: customerServicePayloadType;\r\n}\r\n\r\nexport default {\r\n props: {\r\n payload: {\r\n type: Object as () => customerServicePayloadType,\r\n default: () => ({}),\r\n },\r\n },\r\n setup(props: Props) {\r\n const content = ref<string>(\"\");\r\n const displayedContent = ref<string>(\"\");\r\n const isFinished = ref<boolean>(false);\r\n let intervalId: number | null = null;\r\n let currentIndex = 0;\r\n\r\n const updateDisplayedContent = () => {\r\n if (intervalId) {\r\n window.clearInterval(intervalId);\r\n }\r\n intervalId = window.setInterval(() => {\r\n if (currentIndex < content.value.length) {\r\n displayedContent.value += content.value[currentIndex];\r\n currentIndex++;\r\n } else {\r\n window.clearInterval(intervalId!);\r\n intervalId = null;\r\n }\r\n }, 50);\r\n };\r\n\r\n onMounted(() => {\r\n content.value = props?.payload?.chunks?.join(\"\") ?? \"\";\r\n displayedContent.value = content.value;\r\n currentIndex = content.value.length;\r\n });\r\n\r\n watchEffect(() => {\r\n const newContent = props?.payload?.chunks?.join(\"\") ?? \"\";\r\n if (newContent.length > currentIndex) {\r\n content.value = newContent;\r\n updateDisplayedContent();\r\n }\r\n });\r\n\r\n watchEffect(() => {\r\n isFinished.value = props?.payload?.isFinished === 1;\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n if (intervalId) {\r\n window.clearInterval(intervalId);\r\n }\r\n });\r\n\r\n return {\r\n content,\r\n props,\r\n isFinished,\r\n displayedContent,\r\n };\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.message-stream {\r\n word-break: break-all;\r\n font-size: 14px;\r\n\r\n .blinking-cursor {\r\n display: inline-block;\r\n width: 1px;\r\n height: 16px;\r\n background-color: black;\r\n animation: blink 1s step-end infinite;\r\n vertical-align: sub;\r\n }\r\n\r\n @keyframes blink {\r\n 0%,\r\n 100% {\r\n background-color: transparent;\r\n }\r\n\r\n 50% {\r\n background-color: black;\r\n }\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/components/message-stream.vue'\nwx.createComponent(Component)"],"names":["vue"],"mappings":";;;AAUA,MAAM,EAAE,KAAK,aAAa,iBAAiB,cAAcA,2CAAAA;AAMzD,MAAe,YAAA;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,MAAM,OAAc;AACZ,UAAA,UAAU,IAAY,EAAE;AACxB,UAAA,mBAAmB,IAAY,EAAE;AACjC,UAAA,aAAa,IAAa,KAAK;AACrC,QAAI,aAA4B;AAChC,QAAI,eAAe;AAEnB,UAAM,yBAAyB,MAAM;AACnC,UAAI,YAAY;AACd,eAAO,cAAc,UAAU;AAAA,MACjC;AACa,mBAAA,OAAO,YAAY,MAAM;AAChC,YAAA,eAAe,QAAQ,MAAM,QAAQ;AACtB,2BAAA,SAAS,QAAQ,MAAM,YAAY;AACpD;AAAA,QAAA,OACK;AACL,iBAAO,cAAc,UAAW;AACnB,uBAAA;AAAA,QACf;AAAA,SACC,EAAE;AAAA,IAAA;AAGP,cAAU,MAAM;;AACd,cAAQ,UAAQ,0CAAO,YAAP,mBAAgB,WAAhB,mBAAwB,KAAK,QAAO;AACpD,uBAAiB,QAAQ,QAAQ;AACjC,qBAAe,QAAQ,MAAM;AAAA,IAAA,CAC9B;AAED,gBAAY,MAAM;;AAChB,YAAM,eAAa,0CAAO,YAAP,mBAAgB,WAAhB,mBAAwB,KAAK,QAAO;AACnD,UAAA,WAAW,SAAS,cAAc;AACpC,gBAAQ,QAAQ;AACO;MACzB;AAAA,IAAA,CACD;AAED,gBAAY,MAAM;;AACL,iBAAA,UAAQ,oCAAO,YAAP,mBAAgB,gBAAe;AAAA,IAAA,CACnD;AAED,oBAAgB,MAAM;AACpB,UAAI,YAAY;AACd,eAAO,cAAc,UAAU;AAAA,MACjC;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;AC3EA,GAAG,gBAAgB,SAAS;"}
|
||||
Reference in New Issue
Block a user