消息
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"adapter-vue-uniapp.js","sources":["TUIKit/tui-customer-service-plugin/adapter-vue-uniapp.ts"],"sourcesContent":["let vueVersion: number;\n// #ifndef VUE3\nexport * from '@vue/composition-api';\nvueVersion = 2;\n// #endif\n\n// #ifdef VUE3\nexport * from 'vue';\nvueVersion = 3;\n// #endif\nexport { vueVersion };\n"],"names":[],"mappings":";;AAAA,IAAI;AAQJ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"adapter-vue-web.js","sources":["TUIKit/tui-customer-service-plugin/adapter-vue-web.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as _Vue from 'vue';\nimport * as VueApi from '@vue/composition-api';\n\nlet VueBasic: any = {\n default: {},\n};\nVueBasic = _Vue ? _Vue : VueBasic;\nlet vueVersion: number;\nlet createVNode = (\n arg1: any,\n arg2: any,\n): { component: any; props: any; data: any } => {\n return {} as { component: any; props: any; data: any };\n};\nlet render = (arg1: any, arg2: any) => {\n return;\n};\n\nlet defineProps = () => {\n return;\n};\n\nlet defineEmits = () => {\n return;\n};\n\nlet withDefaults = (arg: any) => {\n return arg;\n};\n\ntry {\n if (\n (VueBasic as any)?.default?.version\n && (VueBasic as any)?.default?.version?.startsWith('2.7.')\n ) {\n // >= Vue 2.7.0\n vueVersion = 2.7;\n } else if (\n (VueBasic as any)?.default?.version\n && (VueBasic as any)?.default?.version?.startsWith('2.')\n ) {\n // < Vue 2.7.0\n vueVersion = 2;\n } else {\n // >= Vue 3.0.0\n vueVersion = 3;\n createVNode = (VueBasic as any)?.createVNode;\n render = (VueBasic as any)?.render;\n defineProps = (VueBasic as any)?.defineProps;\n defineEmits = (VueBasic as any)?.defineEmits;\n withDefaults = (VueBasic as any)?.withDefaults;\n // exportedAPIOrigin = Vue;\n }\n} catch (error: any) {\n // >= Vue 3.0.0\n vueVersion = 3;\n createVNode = (VueBasic as any)?.createVNode;\n render = (VueBasic as any)?.render;\n defineProps = (VueBasic as any)?.defineProps;\n defineEmits = (VueBasic as any)?.defineEmits;\n withDefaults = (VueBasic as any)?.withDefaults;\n}\nconsole.warn(`[adapter-vue]: vue version is ${vueVersion}`);\n\nlet vue: any = VueBasic;\n\nif (vueVersion === 2) {\n vue = VueApi;\n}\n\nexport { vueVersion, render, createVNode, defineProps, defineEmits, withDefaults };\nexport { vue };\n"],"names":["_Vue","uni","vue","VueApi"],"mappings":";;;AAIA,IAAI,WAAgB;AAAA,EAClB,SAAS,CAAC;AACZ;AACA,WAAWA,qBAAOA,cAAO,OAAA;AACzB,IAAI;AACJ,IAAI,cAAc,CAChB,MACA,SAC8C;AAC9C,SAAO;AACT;AACA,IAAI,SAAS,CAAC,MAAW,SAAc;AACrC;AACF;AAEA,IAAI,cAAc,MAAM;AACtB;AACF;AAEA,IAAI,cAAc,MAAM;AACtB;AACF;AAEA,IAAI,eAAe,CAAC,QAAa;AACxB,SAAA;AACT;AAEA,IAAI;AAEC,QAAA,0CAAkB,YAAlB,mBAA2B,cACxB,gDAAkB,YAAlB,mBAA2B,YAA3B,mBAAoC,WAAW,UACnD;AAEa,iBAAA;AAAA,EAAA,aAEZ,0CAAkB,YAAlB,mBAA2B,cACxB,gDAAkB,YAAlB,mBAA2B,YAA3B,mBAAoC,WAAW,QACnD;AAEa,iBAAA;AAAA,EAAA,OACR;AAEQ,iBAAA;AACb,kBAAe,qCAAkB;AACjC,aAAU,qCAAkB;AAC5B,kBAAe,qCAAkB;AACjC,kBAAe,qCAAkB;AACjC,mBAAgB,qCAAkB;AAAA,EAEpC;AACF,SAAS,OAAY;AAEN,eAAA;AACb,gBAAe,qCAAkB;AACjC,WAAU,qCAAkB;AAC5B,gBAAe,qCAAkB;AACjC,gBAAe,qCAAkB;AACjC,iBAAgB,qCAAkB;AACpC;AACAC,cAAAA,MAAa,MAAA,QAAA,+DAAA,iCAAiC,UAAU,EAAE;AAEtDC,QAAAA,MAAW;AAEf,IAAI,eAAe,GAAG;AACdA,UAAAA,MAAAC,cAAAA;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"adapter-vue.js","sources":["TUIKit/tui-customer-service-plugin/adapter-vue.ts"],"sourcesContent":["import Vue from 'vue';\nimport * as VueUni from './adapter-vue-uniapp';\nimport * as VueWeb from './adapter-vue-web';\n\nlet vue: any = VueUni;\n\nif (window && !(window as any).uni) {\n vue = { ...VueWeb, ...(VueWeb as any).vue };\n}\n\nexport default vue as typeof Vue;\n"],"names":["VueUni","VueWeb","VueWeb.vue"],"mappings":";;;AAIA,IAAI,MAAWA,iDAAAA;AAEf,IAAI,UAAU,CAAE,OAAe,KAAK;AAClC,QAAM,EAAE,GAAGC,sDAAQ,GAAIC,8CAAmB,IAAA;AAC5C;AAEA,MAAA,QAAe;;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 'D:/项目/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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"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>\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 '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
@@ -0,0 +1 @@
|
||||
{"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>\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 '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
@@ -0,0 +1 @@
|
||||
{"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>\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 '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;"}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/constant.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/constant.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"constant.js","sources":["TUIKit/tui-customer-service-plugin/constant.ts"],"sourcesContent":["// https://cloud.tencent.com/document/product/269/96058\nexport const CUSTOM_MESSAGE_SRC = {\n OFFICIAL_ACCOUNT: '1',\n MINI_APP: '2',\n MINI_APP_SERVICE_ACCOUNT: '3',\n BACKEND_INTERNAL: '4',\n WEB: '5',\n SESSION_MESSAGE_SLICE: '6',\n MINI_APP_AUTO: '7',\n INTERNAL: '8',\n MENU: '9',\n MENU_SELECTED: '10',\n CLIENT_STATE: '11',\n TYPING_STATE: '12',\n ROBOT: '13',\n BRANCH: '15',\n BRANCH_NUMBER: 15,\n MEMBER: '17',\n NO_SEAT_ONLINE: '18',\n END: '19',\n TIMEOUT: '20',\n FROM_INPUT: '21',\n PRODUCT_CARD: '22',\n SATISFACTION_CON: '23',\n USER_SATISFACTION: '24',\n ROBOT_MSG: '29',\n RICH_TEXT: '30',\n STREAM_TEXT: '31',\n};\n\n// im message extra type\nexport const IM_MESSAGE_EXTRA_TYPE = {\n INFO: 'INFO',\n ROBERT_REPLAY_PLACEHOLDER: 'ROBOT_REPLAY_PLACEHOLDER',\n};\n\n// rating template type\nexport const RATING_TEMPLATE_TYPE = {\n STAR: 1,\n NUMBER: 2,\n};\n\n// rating state\nexport const RATING_STATE = {\n NONE: 1,\n IN_PROGRESS: 2,\n DONE: 3,\n};\n\n// rating send rule\nexport const RATING_SEND_RULE = {\n ALLOW_AUTO_SEND: 1,\n ALLOW_SERVICE_SEND: 2,\n ALLOW_CLIENT_SEND: 4,\n};\n\n// send rating error code\nexport const SEND_RATING_ERROR_CODE = {\n SESSION_EXPIRED_OR_NOT_START: 10150,\n ACCESS_DATA_ERROR: 10151,\n DUPLICATE_SUBMIT: 10152,\n INTERNAL_ERROR: 10153,\n NO_STAFF: 10154,\n};\n// clent state\nexport const CLIENT_STATE = {\n ONLINE: '1',\n OFFLINE: '2',\n};\n\n// IM message type\nexport const IM_TYPE = {\n WEB: 'web',\n H5: 'h5',\n};\n\n// IM message status\nexport const IM_STATUS = {\n SUCCESS: 'success',\n FAIL: 'fail',\n UN_SEND: 'unSend',\n READ: 'read',\n};\n\n// robot command\nexport const ROBOT_COMMAND = {\n UPDATE_BUBBLE: 'updateBubble',\n UPDATE_SEARCH_TIPS: 'updateSearchTips',\n SHOW_DIALOG: 'showDialog',\n FEEDBACK: 'feedback',\n SELECT_RECOMMEND: 'selectRecommend',\n SELECT_SEARCH_TIP: 'selectSearchTips',\n UPDATE_BOT_STATUS: 'updateBotStatus',\n};\n\n// robot message type\nexport const ROBOT_MESSAGE_TYPE = {\n SIMPLE_TEXT: 'simpleText',\n RICH_TEXT: 'richText',\n MULTI_LINE_TEXT: 'multiLineText',\n CANDIDATE_ANSWER: 'candidateAnswer',\n QUESTION_LIST: 'questionList',\n};\n\n// robot status\nexport const ROBOT_STATUS = {\n IN: 'inBot',\n LEAVE: 'leaveBot',\n};\n\n// message type\nexport const TYPES = {\n MSG_CUSTOM: 'TIMCustomElem',\n};\n"],"names":[],"mappings":";AACO,MAAM,qBAAqB;AAAA,EAChC,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,0BAA0B;AAAA,EAC1B,kBAAkB;AAAA,EAClB,KAAK;AAAA,EACL,uBAAuB;AAAA,EACvB,eAAe;AAAA,EACf,UAAU;AAAA,EACV,MAAM;AAAA,EACN,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AACf;AASO,MAAM,uBAAuB;AAAA,EAClC,MAAM;AAAA,EACN,QAAQ;AACV;AAuEO,MAAM,QAAQ;AAAA,EACnB,YAAY;AACd;;;;"}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUIKit/tui-customer-service-plugin/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvdHVpLWN1c3RvbWVyLXNlcnZpY2UtcGx1Z2luL2luZGV4LnZ1ZQ"],"sourcesContent":["<template>\n <div class=\"message-custom\">\n <MessageRating\n v-if=\"isMessageRating(props.message)\"\n :message=\"props.message\"\n @sendMessage=\"sendCustomMessage\"\n />\n <MessageCustomerService\n v-else-if=\"isCustomerServiceMessage(props.message)\"\n :message=\"props.message\"\n @sendMessage=\"sendTextMessage\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport TUICore, { TUIConstants } from '@tencentcloud/tui-core';\nimport { isCustomerServiceMessage, isMessageRating } from './utils/index';\nimport { CustomMessagePayload, TextMessagePayload, IMessageModel } from './interface';\nimport MessageCustomerService from './components/message-customer-service.vue';\nimport MessageRating from './components/message-rating/index.vue';\n\ninterface Props {\n message: IMessageModel;\n}\nexport default {\n components: {\n MessageCustomerService,\n MessageRating,\n },\n props: {\n message: {\n type: Object as () => IMessageModel,\n default: () => ({}),\n },\n },\n setup(props: Props) {\n const sendTextMessage = (payload: TextMessagePayload) => {\n TUICore.callService({\n serviceName: TUIConstants.TUIChat.SERVICE.NAME,\n method: TUIConstants.TUIChat.SERVICE.METHOD.SEND_TEXT_MESSAGE,\n params: { payload },\n });\n };\n const sendCustomMessage = (payload: CustomMessagePayload) => {\n TUICore.callService({\n serviceName: TUIConstants.TUIChat.SERVICE.NAME,\n method: TUIConstants.TUIChat.SERVICE.METHOD.SEND_CUSTOM_MESSAGE,\n params: { payload },\n });\n };\n return {\n props,\n sendTextMessage,\n sendCustomMessage,\n isCustomerServiceMessage,\n isMessageRating,\n };\n },\n};\n</script>\n","import Component from 'D:/项目/tk-mini-program/TUIKit/tui-customer-service-plugin/index.vue'\nwx.createComponent(Component)"],"names":["TUICore","TUIConstants","isCustomerServiceMessage","isMessageRating"],"mappings":";;;AAkBA,MAAA,yBAAmC,MAAA;AACnC,MAAA,gBAA0B,MAAA;AAK1B,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,MAAM,OAAc;AACZ,UAAA,kBAAkB,CAAC,YAAgC;AACvDA,oBAAAA,EAAQ,YAAY;AAAA,QAClB,aAAaC,cAAa,EAAA,QAAQ,QAAQ;AAAA,QAC1C,QAAQA,cAAAA,EAAa,QAAQ,QAAQ,OAAO;AAAA,QAC5C,QAAQ,EAAE,QAAQ;AAAA,MAAA,CACnB;AAAA,IAAA;AAEG,UAAA,oBAAoB,CAAC,YAAkC;AAC3DD,oBAAAA,EAAQ,YAAY;AAAA,QAClB,aAAaC,cAAa,EAAA,QAAQ,QAAQ;AAAA,QAC1C,QAAQA,cAAAA,EAAa,QAAQ,QAAQ,OAAO;AAAA,QAC5C,QAAQ,EAAE,QAAQ;AAAA,MAAA,CACnB;AAAA,IAAA;AAEI,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MAAA,0BACAC,4CAAA;AAAA,MAAA,iBACAC,4CAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;;;;;;;;;;;;;;;;;;;;ACzDA,GAAG,gBAAgB,SAAS;"}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/server.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/server.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"server.js","sources":["TUIKit/tui-customer-service-plugin/server.ts"],"sourcesContent":["import TUICore, { TUIConstants } from '@tencentcloud/tui-core';\nimport {\n isCustomerServiceMessage,\n isMessageInvisible,\n} from './utils/index';\nimport { IMessageModel } from './interface';\n\nexport default class TUICustomerServer {\n static instance: TUICustomerServer;\n private customerServiceAccounts: any[];\n constructor() {\n console.log('TUICustomerServer.init ok');\n TUICore.registerService(TUIConstants.TUICustomerServicePlugin.SERVICE.NAME, this);\n TUICore.registerExtension(TUIConstants.TUIContact.EXTENSION.CONTACT_LIST.EXT_ID, this);\n this.customerServiceAccounts = ['@customer_service_account'];\n }\n\n static getInstance(): TUICustomerServer {\n if (!TUICustomerServer.instance) {\n TUICustomerServer.instance = new TUICustomerServer();\n }\n return TUICustomerServer.instance;\n }\n\n // Set customer service number\n public setCustomerServiceAccounts(accounts: any[]) {\n this.customerServiceAccounts = accounts;\n }\n\n // Obtain customer service number\n public getCustomerServiceAccounts() {\n return this.customerServiceAccounts;\n }\n\n // Determine if the current session is a customer service session\n private isCustomerConversation(conversationID: string) {\n const userID = (conversationID && conversationID.slice(3)) || '';\n return this.customerServiceAccounts.indexOf(userID) > -1;\n }\n\n // Determine if the current message is a customer service message\n public isCustomerServicePluginMessage(message: IMessageModel) {\n if (!message || !this.isCustomerConversation(message.conversationID)) {\n return false;\n }\n return isCustomerServiceMessage(message) || isMessageInvisible(message);\n }\n\n public onGetExtension(extensionID: string) {\n if (extensionID === TUIConstants.TUIContact.EXTENSION.CONTACT_LIST.EXT_ID) {\n return [\n {\n weight: 0,\n icon: '',\n text: '客服号',\n data: {\n name: 'customer',\n accountList: this.customerServiceAccounts,\n },\n },\n ];\n }\n }\n\n public onCall(method: string, params: any) {\n switch (method) {\n case TUIConstants.TUICustomerServicePlugin.SERVICE.METHOD.ACTIVE_CONVERSATION:\n if (this.isCustomerConversation(params.conversationID)) {\n TUICore.callService({\n serviceName: TUIConstants.TUIChat.SERVICE.NAME,\n method: TUIConstants.TUIChat.SERVICE.METHOD.SET_CHAT_TYPE,\n params: { chatType: 'customerService' },\n });\n TUICore.callService({\n serviceName: TUIConstants.TUIChat.SERVICE.NAME,\n method: TUIConstants.TUIChat.SERVICE.METHOD.SEND_CUSTOM_MESSAGE,\n params: {\n to: params.conversationID.slice(3),\n conversationType: 'C2C',\n payload: {\n data: JSON.stringify({ src: '7', customerServicePlugin: 0 }),\n },\n },\n });\n }\n break;\n }\n }\n}\n"],"names":["uni","TUICore","TUIConstants","isCustomerServiceMessage","isMessageInvisible"],"mappings":";;;;;;;;;AAOA,MAAqB,qBAArB,MAAqB,mBAAkB;AAAA,EAGrC,cAAc;AADN;AAENA,kBAAAA,MAAA,MAAA,OAAA,sDAAY,2BAA2B;AACvCC,kBAAA,EAAQ,gBAAgBC,gBAAa,yBAAyB,QAAQ,MAAM,IAAI;AAChFD,oBAAQ,kBAAkBC,cAAAA,EAAa,WAAW,UAAU,aAAa,QAAQ,IAAI;AAChF,SAAA,0BAA0B,CAAC,2BAA2B;AAAA,EAC7D;AAAA,EAEA,OAAO,cAAiC;AAClC,QAAA,CAAC,mBAAkB,UAAU;AACb,yBAAA,WAAW,IAAI;IACnC;AACA,WAAO,mBAAkB;AAAA,EAC3B;AAAA;AAAA,EAGO,2BAA2B,UAAiB;AACjD,SAAK,0BAA0B;AAAA,EACjC;AAAA;AAAA,EAGO,6BAA6B;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGQ,uBAAuB,gBAAwB;AACrD,UAAM,SAAU,kBAAkB,eAAe,MAAM,CAAC,KAAM;AAC9D,WAAO,KAAK,wBAAwB,QAAQ,MAAM,IAAI;AAAA,EACxD;AAAA;AAAA,EAGO,+BAA+B,SAAwB;AAC5D,QAAI,CAAC,WAAW,CAAC,KAAK,uBAAuB,QAAQ,cAAc,GAAG;AAC7D,aAAA;AAAA,IACT;AACA,WAAOC,4CAAyB,yBAAA,OAAO,KAAKC,4CAAA,mBAAmB,OAAO;AAAA,EACxE;AAAA,EAEO,eAAe,aAAqB;AACzC,QAAI,gBAAgBF,cAAAA,EAAa,WAAW,UAAU,aAAa,QAAQ;AAClE,aAAA;AAAA,QACL;AAAA,UACE,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,MAAM;AAAA,YACN,aAAa,KAAK;AAAA,UACpB;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAAA,EAEO,OAAO,QAAgB,QAAa;AACzC,YAAQ,QAAQ;AAAA,MACd,KAAKA,gBAAa,yBAAyB,QAAQ,OAAO;AACxD,YAAI,KAAK,uBAAuB,OAAO,cAAc,GAAG;AACtDD,wBAAAA,EAAQ,YAAY;AAAA,YAClB,aAAaC,cAAa,EAAA,QAAQ,QAAQ;AAAA,YAC1C,QAAQA,cAAAA,EAAa,QAAQ,QAAQ,OAAO;AAAA,YAC5C,QAAQ,EAAE,UAAU,kBAAkB;AAAA,UAAA,CACvC;AACDD,wBAAAA,EAAQ,YAAY;AAAA,YAClB,aAAaC,cAAa,EAAA,QAAQ,QAAQ;AAAA,YAC1C,QAAQA,cAAAA,EAAa,QAAQ,QAAQ,OAAO;AAAA,YAC5C,QAAQ;AAAA,cACN,IAAI,OAAO,eAAe,MAAM,CAAC;AAAA,cACjC,kBAAkB;AAAA,cAClB,SAAS;AAAA,gBACP,MAAM,KAAK,UAAU,EAAE,KAAK,KAAK,uBAAuB,GAAG;AAAA,cAC7D;AAAA,YACF;AAAA,UAAA,CACD;AAAA,QACH;AACA;AAAA,IACJ;AAAA,EACF;AACF;AAhFE,cADmB,oBACZ;AADT,IAAqB,oBAArB;;"}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/utils/env.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/utils/env.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"env.js","sources":["TUIKit/tui-customer-service-plugin/utils/env.ts"],"sourcesContent":["import { getPlatform } from '@tencentcloud/universal-api';\ndeclare const uni: any;\n\nexport const isPC = getPlatform() === 'pc';\n\nexport const isH5 = getPlatform() === 'h5';\n\nexport const isWeChat = getPlatform() === 'wechat';\n\nexport const isApp = getPlatform() === 'app';\n\nexport const isUniFrameWork = typeof uni !== 'undefined';\n\n// H5、小程序、app 均认为是手机端产品,如果需要统一手机端 UI 样式,可以直接用 isMobile 控制\nexport const isMobile = isH5 || isWeChat || isApp;\n"],"names":["getPlatform"],"mappings":";;AAGoBA,sBAAkB;AAElBA,sBAAkB;AAEdA,sBAAkB;AAE7B,MAAA,QAAQA,sBAAkB;;"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUIKit/tui-customer-service-plugin/utils/index.ts"],"sourcesContent":["import { customerServicePayloadType, IMessageModel } from '../interface';\nimport { CUSTOM_MESSAGE_SRC, TYPES } from '../constant';\n\n// Determine if it is a JSON string\nexport function isJSON(str: string): boolean {\n // eslint-disable-next-line no-useless-escape\n if (typeof str === 'string') {\n try {\n const data = JSON.parse(str);\n if (data) {\n return true;\n }\n return false;\n } catch (error: any) {\n return false;\n }\n }\n return false;\n}\n\n// Determine if it is a JSON string\nexport function JSONToObject(str: string) {\n if (!isJSON(str)) {\n return str;\n }\n return JSON.parse(str);\n}\n\nexport function isCustomerServiceMessage(message: IMessageModel): boolean {\n const customerServicePayload: customerServicePayloadType = JSONToObject(message?.payload?.data);\n return Number(customerServicePayload?.customerServicePlugin) === 0 || Number(customerServicePayload?.chatbotPlugin) === 1;\n}\n\nexport const isMessageRating = (message: IMessageModel): boolean => {\n const customerServicePayload: customerServicePayloadType = JSONToObject(message?.payload?.data);\n return isCustomerServiceMessage(message) && customerServicePayload.src === CUSTOM_MESSAGE_SRC.MENU;\n};\n\nexport const isMessageInvisible = (message: IMessageModel): boolean => {\n const customerServicePayload: customerServicePayloadType = JSONToObject(message?.payload?.data);\n const robotCommandArray = ['feedback', 'updateBotStatus'];\n const whiteList = [\n CUSTOM_MESSAGE_SRC.MENU,\n CUSTOM_MESSAGE_SRC.BRANCH,\n CUSTOM_MESSAGE_SRC.BRANCH_NUMBER,\n CUSTOM_MESSAGE_SRC.FROM_INPUT,\n CUSTOM_MESSAGE_SRC.PRODUCT_CARD,\n CUSTOM_MESSAGE_SRC.ROBOT_MSG,\n CUSTOM_MESSAGE_SRC.RICH_TEXT,\n CUSTOM_MESSAGE_SRC.STREAM_TEXT,\n ];\n const isCustomerMessage = message?.type === TYPES.MSG_CUSTOM;\n const isCustomerInvisible = customerServicePayload?.src && !whiteList.includes(customerServicePayload?.src);\n const isRobot = customerServicePayload?.src === CUSTOM_MESSAGE_SRC.ROBOT && robotCommandArray.indexOf(customerServicePayload?.content?.command) !== -1;\n return isCustomerMessage && (isCustomerInvisible || isRobot);\n};\n"],"names":["CUSTOM_MESSAGE_SRC","TYPES"],"mappings":";;AAIO,SAAS,OAAO,KAAsB;AAEvC,MAAA,OAAO,QAAQ,UAAU;AACvB,QAAA;AACI,YAAA,OAAO,KAAK,MAAM,GAAG;AAC3B,UAAI,MAAM;AACD,eAAA;AAAA,MACT;AACO,aAAA;AAAA,aACA,OAAY;AACZ,aAAA;AAAA,IACT;AAAA,EACF;AACO,SAAA;AACT;AAGO,SAAS,aAAa,KAAa;AACpC,MAAA,CAAC,OAAO,GAAG,GAAG;AACT,WAAA;AAAA,EACT;AACO,SAAA,KAAK,MAAM,GAAG;AACvB;AAEO,SAAS,yBAAyB,SAAiC;;AACxE,QAAM,yBAAqD,cAAa,wCAAS,YAAT,mBAAkB,IAAI;AACvF,SAAA,OAAO,iEAAwB,qBAAqB,MAAM,KAAK,OAAO,iEAAwB,aAAa,MAAM;AAC1H;AAEa,MAAA,kBAAkB,CAAC,YAAoC;;AAClE,QAAM,yBAAqD,cAAa,wCAAS,YAAT,mBAAkB,IAAI;AAC9F,SAAO,yBAAyB,OAAO,KAAK,uBAAuB,QAAQA,yCAAmB,mBAAA;AAChG;AAEa,MAAA,qBAAqB,CAAC,YAAoC;;AACrE,QAAM,yBAAqD,cAAa,wCAAS,YAAT,mBAAkB,IAAI;AACxF,QAAA,oBAAoB,CAAC,YAAY,iBAAiB;AACxD,QAAM,YAAY;AAAA,IAChBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,IACnBA,yCAAAA,mBAAmB;AAAA,EAAA;AAEf,QAAA,qBAAoB,mCAAS,UAASC,yCAAAA,MAAM;AAClD,QAAM,uBAAsB,iEAAwB,QAAO,CAAC,UAAU,SAAS,iEAAwB,GAAG;AACpG,QAAA,WAAU,iEAAwB,SAAQD,yCAAAA,mBAAmB,SAAS,kBAAkB,SAAQ,sEAAwB,YAAxB,mBAAiC,OAAO,MAAM;AACpJ,SAAO,sBAAsB,uBAAuB;AACtD;;;;;"}
|
||||
Reference in New Issue
Block a user