fix: 修改弹窗

This commit is contained in:
LiangWei-P
2025-06-20 15:10:27 +08:00
parent fa745b73c2
commit 2afc95d531
324 changed files with 643 additions and 622 deletions

View File

@@ -27,6 +27,60 @@
<button class="send-btn" @click="submitEvaluate">发送邀请</button>
</div>
</ToolbarItemContainer>
<uni-popup class="popupcss" ref="popup" type="center" border-radius="10px 10px 0 0">
<view class="popup-content">
<view class="popup-title">
<view class="popup-text">点击选择您要参与的主播</view>
<view v-if="list.length !== 0">
<scroll-view show-scrollbar="false" scroll-y="true" class="scroll">
<view class="card" v-for="(item, index) in list" :key="index">
<view
class="card-content"
@click="Select(item.id, index)"
:style="{
background: selectedId === item.id ? '#b8ff8c74' : '#ffffff',
}"
>
<view class="Avatarimg">
<image class="avatar" :src="item.anchorIcon" mode="scaleToFill" />
</view>
<view class="NameMoney">
<view class="TimeMoney">
<view class="NameMoney_Name">{{ item.anchorId }}</view>
</view>
<view class="TimeMoney_Time">
<view class="pkTimeimg">
<image
style="width: 31.49rpx; height: 31.49rpx; margin-top: 3rpx"
src="https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/time.png"
mode="scaleToFill"
/>
</view>
<!-- <view>{{ TimeFormatting(item.pkTime) }}</view> -->
<view class="goldimg">
<image
style="width: 31.49rpx; height: 31.49rpx; margin-top: 4rpx"
src="https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/species.png"
mode="scaleToFill"
/>
</view>
<view class="goldnb">{{ item.coin }}K</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
<view class="noData" v-if="list.length === 0"
>您还没有可参与的主播PK快去新建一个吧</view
>
</view>
<view class="popup-btn">
<button class="invite" type="primary" @click="invite()">邀请</button>
<button class="cancel" type="default" @click="close()">取消</button>
</view>
</view>
</uni-popup>
</template>
<script setup>
@@ -149,9 +203,6 @@ const submitEvaluate = () => {
</script>
<style scoped>
.popupcss {
}
.popup{
height: 750rpx;
background-image: url(https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/chard1.png);

View File

@@ -10,126 +10,51 @@
<EmojiPickerDialog />
</div>
<div v-else>
<swiper
:class="['message-input-toolbar-swiper']"
:indicator-dots="isSwiperIndicatorDotsEnable"
:autoplay="false"
:circular="false"
>
<swiper-item
:class="[
'message-input-toolbar-list',
'message-input-toolbar-h5-list',
'message-input-toolbar-uni-list',
]"
<div v-else class="barTool">
<div class="barToolItem">
<ImageUpload v-if="featureConfig.InputImage" imageSourceType="camera" />
</div>
<div class="barToolItem">
<ImageUpload v-if="featureConfig.InputImage" imageSourceType="album" />
</div>
<div class="barToolItem">
<VideoUpload v-if="featureConfig.InputVideo" videoSourceType="album" />
</div>
<div class="barToolItem">
<VideoUpload v-if="featureConfig.InputVideo" videoSourceType="camera" />
</div>
<!-- <template v-if="currentExtensionList.length > 0">
<div
v-for="(extension, index) in currentExtensionList.slice(0, slicePos)"
:key="index"
>
<ImageUpload
v-if="featureConfig.InputImage"
imageSourceType="camera"
<ToolbarItemContainer
v-if="extension"
:iconFile="genExtensionIcon(extension)"
:title="genExtensionText(extension)"
iconWidth="25px"
iconHeight="25px"
:needDialog="false"
@onIconClick="onExtensionClick(extension)"
/>
<ImageUpload
v-if="featureConfig.InputImage"
imageSourceType="album"
/>
<VideoUpload
v-if="featureConfig.InputVideo"
videoSourceType="album"
/>
<VideoUpload
v-if="featureConfig.InputVideo"
videoSourceType="camera"
/>
<!-- <template v-if="currentExtensionList.length > 0">
<div
v-for="(extension, index) in currentExtensionList.slice(0, slicePos)"
:key="index"
>
<ToolbarItemContainer
v-if="extension"
:iconFile="genExtensionIcon(extension)"
:title="genExtensionText(extension)"
iconWidth="25px"
iconHeight="25px"
:needDialog="false"
@onIconClick="onExtensionClick(extension)"
/>
</div>
</template> -->
<template v-if="neededCountFirstPage === 1">
<Words
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<!-- <Evaluate
v-if="featureConfig.InputEvaluation"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/> -->
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
<template v-if="neededCountFirstPage > 1">
<Words
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<!-- <Evaluate
v-if="featureConfig.InputEvaluation"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/> -->
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
</swiper-item>
<swiper-item
v-if="neededCountFirstPage <= 1"
:class="[
'message-input-toolbar-list',
'message-input-toolbar-h5-list',
'message-input-toolbar-uni-list',
]"
>
<div
v-for="(extension, index) in currentExtensionList.slice(slicePos)"
:key="index"
>
<ToolbarItemContainer
v-if="extension"
:iconFile="genExtensionIcon(extension)"
:title="genExtensionText(extension)"
iconWidth="25px"
iconHeight="25px"
:needDialog="false"
@onIconClick="onExtensionClick(extension)"
/>
</div>
<template v-if="neededCountFirstPage === 1">
<Words
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
<template v-else>
<Words
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<!-- <Evaluate
v-if="featureConfig.InputEvaluation"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/> -->
<!-- ···························标记······························· -->
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
</swiper-item>
</swiper>
</div>
</template> -->
<div class="barToolItem">
<Words
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<!-- <Evaluate
v-if="featureConfig.InputEvaluation"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/> -->
</div>
<div class="barToolItem">
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</div>
</div>
<UserSelector
@@ -140,40 +65,44 @@
@submit="onUserSelectorSubmit"
@cancel="onUserSelectorCancel"
/>
<popupinvite ref="popupinviteRef" />
</div>
</template>
<script setup lang="ts">
import { ref, onUnmounted, onMounted } from '../../../adapter-vue';
import { ref, onUnmounted, onMounted } from "../../../adapter-vue";
import TUIChatEngine, {
IConversationModel,
TUIStore,
StoreName,
TUIReportService,
} from '@tencentcloud/chat-uikit-engine';
import TUICore, { ExtensionInfo, TUIConstants } from '@tencentcloud/tui-core';
import ImageUpload from './image-upload/index.vue';
import VideoUpload from './video-upload/index.vue';
import Evaluate from './evaluate/index.vue';
import Words from './words/index.vue';
import ToolbarItemContainer from './toolbar-item-container/index.vue';
import EmojiPickerDialog from './emoji-picker/emoji-picker-dialog.vue';
import UserSelector from './user-selector/index.vue';
import TUIChatConfig from '../config';
import { enableSampleTaskStatus } from '../../../utils/enableSampleTaskStatus';
import { ToolbarDisplayType } from '../../../interface';
import OfflinePushInfoManager, { PUSH_SCENE } from '../offlinePushInfoManager/index';
import CustomMessage from "./evaluate/CustomMessage.vue"
} from "@tencentcloud/chat-uikit-engine";
import TUICore, { ExtensionInfo, TUIConstants } from "@tencentcloud/tui-core";
import ImageUpload from "./image-upload/index.vue";
import VideoUpload from "./video-upload/index.vue";
import Evaluate from "./evaluate/index.vue";
import Words from "./words/index.vue";
import ToolbarItemContainer from "./toolbar-item-container/index.vue";
import EmojiPickerDialog from "./emoji-picker/emoji-picker-dialog.vue";
import UserSelector from "./user-selector/index.vue";
import TUIChatConfig from "../config";
import { enableSampleTaskStatus } from "../../../utils/enableSampleTaskStatus";
import { ToolbarDisplayType } from "../../../interface";
import OfflinePushInfoManager, {
PUSH_SCENE,
} from "../offlinePushInfoManager/index";
import CustomMessage from "./evaluate/CustomMessage.vue";
import popupinvite from "./evaluate/popupinvite.vue";
interface IProps {
displayType: ToolbarDisplayType;
}
const props = withDefaults(defineProps<IProps>(), {
});
const props = withDefaults(defineProps<IProps>(), {});
const currentConversation = ref<IConversationModel>();
const isGroup = ref<boolean>(false);
const selectorShowType = ref<string>('');
const selectorShowType = ref<string>("");
const userSelectorRef = ref();
const currentUserSelectorExtension = ref<ExtensionInfo | null>();
const currentExtensionList = ref<ExtensionInfo[]>([]);
@@ -182,6 +111,8 @@ const featureConfig = TUIChatConfig.getFeatureConfig();
const neededCountFirstPage = ref<number>(8);
const slicePos = ref<number>(0);
const popupinviteRef = ref(null);
const computeToolbarPaging = () => {
if (featureConfig.InputImage && featureConfig.InputVideo) {
neededCountFirstPage.value -= 4;
@@ -193,9 +124,11 @@ const computeToolbarPaging = () => {
neededCountFirstPage.value -= currentExtensionList.value.length;
if (neededCountFirstPage.value === 1) {
isSwiperIndicatorDotsEnable.value = (featureConfig.InputEvaluation && featureConfig.InputQuickReplies);
isSwiperIndicatorDotsEnable.value =
featureConfig.InputEvaluation && featureConfig.InputQuickReplies;
} else if (neededCountFirstPage.value < 1) {
isSwiperIndicatorDotsEnable.value = featureConfig.InputEvaluation || featureConfig.InputQuickReplies;
isSwiperIndicatorDotsEnable.value =
featureConfig.InputEvaluation || featureConfig.InputQuickReplies;
}
};
@@ -218,7 +151,10 @@ const onActiveConversationUpdate = (conversationID: string) => {
if (conversationID !== currentConversation.value?.conversationID) {
getExtensionList();
computeToolbarPaging();
currentConversation.value = TUIStore.getData(StoreName.CONV, 'currentConversation');
currentConversation.value = TUIStore.getData(
StoreName.CONV,
"currentConversation"
);
isGroup.value = conversationID.startsWith(TUIChatEngine.TYPES.CONV_GROUP);
}
};
@@ -230,13 +166,16 @@ const getExtensionList = () => {
if (chatType === TUIConstants.TUIChat.TYPE.CUSTOMER_SERVICE) {
params.filterVoice = true;
params.filterVideo = true;
enableSampleTaskStatus('customerService');
enableSampleTaskStatus("customerService");
}
// uni-app build ios app has null in last index need to filter
currentExtensionList.value = [
...TUICore.getExtensionList(TUIConstants.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, params),
...TUICore.getExtensionList(
TUIConstants.TUIChat.EXTENSION.INPUT_MORE.EXT_ID,
params
),
].filter((extension: ExtensionInfo) => {
if (extension?.data?.name === 'search') {
if (extension?.data?.name === "search") {
return featureConfig.MessageSearch;
}
return true;
@@ -244,14 +183,14 @@ const getExtensionList = () => {
reportExtension(currentExtensionList.value);
};
function reportExtension(extensionList:ExtensionInfo[]){
extensionList.forEach((extension: ExtensionInfo)=>{
function reportExtension(extensionList: ExtensionInfo[]) {
extensionList.forEach((extension: ExtensionInfo) => {
const _name = extension?.data?.name;
if(_name === 'voiceCall'){
TUIReportService.reportFeature(203, 'voice-call');
} else if (_name === 'videoCall') {
TUIReportService.reportFeature(203, 'video-call');
} else if(_name === 'quickRoom'){
if (_name === "voiceCall") {
TUIReportService.reportFeature(203, "voice-call");
} else if (_name === "videoCall") {
TUIReportService.reportFeature(203, "video-call");
} else if (_name === "quickRoom") {
TUIReportService.reportFeature(204);
}
});
@@ -261,16 +200,16 @@ function reportExtension(extensionList:ExtensionInfo[]){
const onExtensionClick = (extension: ExtensionInfo) => {
// uniapp vue2 build wx lose listener proto
const extensionModel = currentExtensionList.value.find(
targetExtension => targetExtension?.data?.name === extension?.data?.name,
(targetExtension) => targetExtension?.data?.name === extension?.data?.name
);
switch (extensionModel?.data?.name) {
case 'voiceCall':
case "voiceCall":
onCallExtensionClicked(extensionModel, 1);
break;
case 'videoCall':
case "videoCall":
onCallExtensionClicked(extensionModel, 2);
break;
case 'search':
case "search":
extensionModel?.listener?.onClicked?.();
break;
default:
@@ -285,12 +224,15 @@ const onCallExtensionClicked = (extension: ExtensionInfo, callType: number) => {
userIDList: [currentConversation?.value?.conversationID?.slice(3)],
type: callType,
callParams: {
offlinePushInfo: OfflinePushInfoManager.getOfflinePushInfo(PUSH_SCENE.CALL),
offlinePushInfo: OfflinePushInfoManager.getOfflinePushInfo(
PUSH_SCENE.CALL
),
},
});
} else if (isGroup.value) {
currentUserSelectorExtension.value = extension;
userSelectorRef?.value?.toggleShow && userSelectorRef.value.toggleShow(true);
userSelectorRef?.value?.toggleShow &&
userSelectorRef.value.toggleShow(true);
}
};
@@ -305,7 +247,9 @@ const onUserSelectorSubmit = (selectedInfo: any) => {
currentUserSelectorExtension.value?.listener?.onClicked?.({
...selectedInfo,
callParams: {
offlinePushInfo: OfflinePushInfoManager.getOfflinePushInfo(PUSH_SCENE.CALL),
offlinePushInfo: OfflinePushInfoManager.getOfflinePushInfo(
PUSH_SCENE.CALL
),
},
});
currentUserSelectorExtension.value = null;
@@ -316,17 +260,21 @@ const onUserSelectorCancel = () => {
};
const handleSwiperDotShow = (showStatus: boolean) => {
isSwiperIndicatorDotsEnable.value = (neededCountFirstPage.value <= 1 && !showStatus);
};
</script>
<script lang="ts">
export default {
options: {
styleIsolation: 'shared',
},
isSwiperIndicatorDotsEnable.value =
neededCountFirstPage.value <= 1 && !showStatus;
};
</script>
<style lang="scss">
@import '../../../assets/styles/common';
@import './style/uni';
@import "../../../assets/styles/common";
@import "./style/uni";
.barTool {
display: flex;
flex-wrap: wrap;
.barToolItem {
margin-bottom: 10rpx;
width: 25%;
}
}
</style>

View File

@@ -122,6 +122,7 @@
{
"path": "components/TUIChat/index",
"style": {
"navigationStyle": "default",
"navigationBarTitleText": "腾讯云 IM",
"app-plus": {
"softinputMode": "adjustResize",

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"adapter-vue.js","sources":["TUIKit/adapter-vue.ts"],"sourcesContent":["let vueVersion: number;\r\nlet framework = 'vue2';\r\n// #ifndef VUE3\r\nexport * from '@vue/composition-api';\r\nvueVersion = 2;\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nexport * from 'vue';\r\nvueVersion = 3;\r\nframework = 'vue3';\r\n// #endif\r\nconsole.warn(`[adapter-vue]: vue version is ${vueVersion}`);\r\nexport { vueVersion, framework };\r\n"],"names":["uni"],"mappings":";;AAAA,IAAI;AASJ,aAAa;AAGbA,cAAAA,MAAa,MAAA,QAAA,+BAAA,iCAAiC,UAAU,EAAE;"}
{"version":3,"file":"adapter-vue.js","sources":["TUIKit/adapter-vue.ts"],"sourcesContent":["let vueVersion: number;\nlet framework = 'vue2';\n// #ifndef VUE3\nexport * from '@vue/composition-api';\nvueVersion = 2;\n// #endif\n\n// #ifdef VUE3\nexport * from 'vue';\nvueVersion = 3;\nframework = 'vue3';\n// #endif\nconsole.warn(`[adapter-vue]: vue version is ${vueVersion}`);\nexport { vueVersion, framework };\n"],"names":["uni"],"mappings":";;AAAA,IAAI;AASJ,aAAa;AAGbA,cAAAA,MAAa,MAAA,QAAA,+BAAA,iCAAiC,UAAU,EAAE;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/chat-header/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L2NoYXQtaGVhZGVyL2luZGV4LnZ1ZQ"],"sourcesContent":["<template>\r\n <div class=\"Navigation\">\r\n <div class=\"Navigationcontent\">\r\n <image\r\n @click=\"Returnfunc\"\r\n style=\"width: 46rpx;height: 46rpx;;\"\r\n src=\"https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Return.png\"\r\n mode=\"scaleToFill\"\r\n class=\"Navigation-return\"\r\n />\r\n <div class=\"Navigation-name\">\r\n {{ Title }}\r\n </div>\r\n <div></div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, onUnmounted, ref } from \"../../../adapter-vue\";\r\nimport {\r\n TUIStore,\r\n StoreName,\r\n IConversationModel,\r\n TUITranslateService,\r\n} from \"@tencentcloud/chat-uikit-engine\";\r\nimport { TUIGlobal } from \"@tencentcloud/universal-api\";\r\nimport { onLoad, onNavigationBarButtonTap } from \"@dcloudio/uni-app\";\r\n\r\nconst emits = defineEmits([\"openGroupManagement\"]);\r\nconst props = defineProps([\"isGroup\"]);\r\n\r\nconst currentConversation = ref<IConversationModel>();\r\nconst typingStatus = ref(false);\r\nconst Title = ref(\"Global\"); // 初始化为默认标题\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction Returnfunc() {\r\n uni.navigateBack({\r\n delta: 1,\r\n });\r\n}\r\n\r\nconst setChatHeaderContent = (content: string | undefined) => {\r\n Title.value = content || \"Global\"; // 确保默认值存在\r\n};\r\n\r\nonMounted(() => {\r\n TUIStore.watch(StoreName.CONV, {\r\n currentConversation: onCurrentConversationUpdated,\r\n });\r\n TUIStore.watch(StoreName.CHAT, {\r\n typingStatus: onTypingStatusUpdated,\r\n });\r\n});\r\n\r\nonUnmounted(() => {\r\n TUIStore.unwatch(StoreName.CONV, {\r\n currentConversation: onCurrentConversationUpdated,\r\n });\r\n TUIStore.unwatch(StoreName.CHAT, {\r\n typingStatus: onTypingStatusUpdated,\r\n });\r\n});\r\n\r\nonLoad(() => {\r\n setChatHeaderContent(currentConversation.value?.getShowName());\r\n});\r\n\r\nfunction onCurrentConversationUpdated(conversation: IConversationModel) {\r\n currentConversation.value = conversation;\r\n if (!typingStatus.value) {\r\n setChatHeaderContent(currentConversation?.value?.getShowName());\r\n }\r\n}\r\n\r\nfunction onTypingStatusUpdated(status: boolean) {\r\n typingStatus.value = status;\r\n if (typingStatus.value) {\r\n setChatHeaderContent(TUITranslateService.t(\"TUIChat.对方正在输入...\"));\r\n } else {\r\n setChatHeaderContent(currentConversation.value?.getShowName());\r\n }\r\n}\r\n</script>\r\n<style>\r\n.Navigation-name {\r\n font-size: 36rpx;\r\n color: #000000;\r\n font-weight: bold;\r\n}\r\n.Navigation {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 999;\r\n width: 100%;\r\n height: 240rpx;\r\n background-image: url(\"https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Navigationimg.png\");\r\n background-position: 100% 100%;\r\n background-repeat: no-repeat;\r\n}\r\n.Navigationcontent{\r\n width: 80%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 60rpx;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/chat-header/index.vue'\nwx.createComponent(Component)"],"names":["ref","uni","onMounted","TUIStore","StoreName","onUnmounted","onLoad","TUITranslateService","Component"],"mappings":";;;;;;;;AAgCA,UAAM,sBAAsBA,cAAAA;AACtB,UAAA,eAAeA,kBAAI,KAAK;AACxB,UAAA,QAAQA,kBAAI,QAAQ;AAyB1B,aAAS,aAAa;AACpBC,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MAAA,CACR;AAAA,IACH;AAEM,UAAA,uBAAuB,CAAC,YAAgC;AAC5D,YAAM,QAAQ,WAAW;AAAA,IAAA;AAG3BC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDE,kBAAAA,OAAO,MAAM;;AACU,4BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,IAAA,CAC9D;AAED,aAAS,6BAA6B,cAAkC;;AACtE,0BAAoB,QAAQ;AACxB,UAAA,CAAC,aAAa,OAAO;AACF,8BAAA,gEAAqB,UAArB,mBAA4B,aAAa;AAAA,MAChE;AAAA,IACF;AAEA,aAAS,sBAAsB,QAAiB;;AAC9C,mBAAa,QAAQ;AACrB,UAAI,aAAa,OAAO;AACD,6BAAAC,cAAA,GAAoB,EAAE,mBAAmB,CAAC;AAAA,MAAA,OAC1D;AACgB,8BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,MAC/D;AAAA,IACF;;;;;;;;;ACxGA,GAAG,gBAAgBC,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/chat-header/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/chat-header/index.vue?type=component"],"sourcesContent":["<template>\n <div class=\"Navigation\">\n <div class=\"Navigationcontent\">\n <image\n @click=\"Returnfunc\"\n style=\"width: 46rpx;height: 46rpx;;\"\n src=\"https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Return.png\"\n mode=\"scaleToFill\"\n class=\"Navigation-return\"\n />\n <div class=\"Navigation-name\">\n {{ Title }}\n </div>\n <div></div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from \"../../../adapter-vue\";\nimport {\n TUIStore,\n StoreName,\n IConversationModel,\n TUITranslateService,\n} from \"@tencentcloud/chat-uikit-engine\";\nimport { TUIGlobal } from \"@tencentcloud/universal-api\";\nimport { onLoad, onNavigationBarButtonTap } from \"@dcloudio/uni-app\";\n\nconst emits = defineEmits([\"openGroupManagement\"]);\nconst props = defineProps([\"isGroup\"]);\n\nconst currentConversation = ref<IConversationModel>();\nconst typingStatus = ref(false);\nconst Title = ref(\"Global\"); // 初始化为默认标题\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction Returnfunc() {\n uni.navigateBack({\n delta: 1,\n });\n}\n\nconst setChatHeaderContent = (content: string | undefined) => {\n Title.value = content || \"Global\"; // 确保默认值存在\n};\n\nonMounted(() => {\n TUIStore.watch(StoreName.CONV, {\n currentConversation: onCurrentConversationUpdated,\n });\n TUIStore.watch(StoreName.CHAT, {\n typingStatus: onTypingStatusUpdated,\n });\n});\n\nonUnmounted(() => {\n TUIStore.unwatch(StoreName.CONV, {\n currentConversation: onCurrentConversationUpdated,\n });\n TUIStore.unwatch(StoreName.CHAT, {\n typingStatus: onTypingStatusUpdated,\n });\n});\n\nonLoad(() => {\n setChatHeaderContent(currentConversation.value?.getShowName());\n});\n\nfunction onCurrentConversationUpdated(conversation: IConversationModel) {\n currentConversation.value = conversation;\n if (!typingStatus.value) {\n setChatHeaderContent(currentConversation?.value?.getShowName());\n }\n}\n\nfunction onTypingStatusUpdated(status: boolean) {\n typingStatus.value = status;\n if (typingStatus.value) {\n setChatHeaderContent(TUITranslateService.t(\"TUIChat.对方正在输入...\"));\n } else {\n setChatHeaderContent(currentConversation.value?.getShowName());\n }\n}\n</script>\n<style>\n.Navigation-name {\n font-size: 36rpx;\n color: #000000;\n font-weight: bold;\n}\n.Navigation {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 999;\n width: 100%;\n height: 240rpx;\n background-image: url(\"https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Navigationimg.png\");\n background-position: 100% 100%;\n background-repeat: no-repeat;\n}\n.Navigationcontent{\n width: 80%;\n height: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 60rpx;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/chat-header/index.vue'\nwx.createComponent(Component)"],"names":["ref","uni","onMounted","TUIStore","StoreName","onUnmounted","onLoad","TUITranslateService","Component"],"mappings":";;;;;;;;AAgCA,UAAM,sBAAsBA,cAAAA;AACtB,UAAA,eAAeA,kBAAI,KAAK;AACxB,UAAA,QAAQA,kBAAI,QAAQ;AAyB1B,aAAS,aAAa;AACpBC,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MAAA,CACR;AAAA,IACH;AAEM,UAAA,uBAAuB,CAAC,YAAgC;AAC5D,YAAM,QAAQ,WAAW;AAAA,IAAA;AAG3BC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDE,kBAAAA,OAAO,MAAM;;AACU,4BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,IAAA,CAC9D;AAED,aAAS,6BAA6B,cAAkC;;AACtE,0BAAoB,QAAQ;AACxB,UAAA,CAAC,aAAa,OAAO;AACF,8BAAA,gEAAqB,UAArB,mBAA4B,aAAa;AAAA,MAChE;AAAA,IACF;AAEA,aAAS,sBAAsB,QAAiB;;AAC9C,mBAAa,QAAQ;AACrB,UAAI,aAAa,OAAO;AACD,6BAAAC,cAAA,GAAoB,EAAE,mBAAmB,CAAC;AAAA,MAAA,OAC1D;AACgB,8BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,MAC/D;AAAA,IACF;;;;;;;;;ACxGA,GAAG,gBAAgBC,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"config.js","sources":["TUIKit/components/TUIChat/config.ts"],"sourcesContent":["class TUIChatConfig {\r\n static instance: TUIChatConfig;\r\n private chatType: string;\r\n private features: Record<string, any>;\r\n private theme: string;\r\n constructor() {\r\n this.chatType = '';\r\n this.features = {\r\n DownloadFile: true,\r\n CopyMessage: true,\r\n DeleteMessage: true,\r\n RevokeMessage: true,\r\n QuoteMessage: true,\r\n ForwardMessage: true,\r\n TranslateMessage: true,\r\n VoiceToText: true,\r\n MultiSelection: true,\r\n EmojiReaction: true,\r\n InputEmoji: true,\r\n InputStickers: true,\r\n InputImage: true,\r\n InputVoice: true,\r\n InputVideo: true,\r\n InputFile: true,\r\n InputEvaluation: true,\r\n InputQuickReplies: true,\r\n InputCustomMessage:true,\r\n InputMention: true,\r\n MessageSearch: true,\r\n ReadStatus: true,\r\n };\r\n this.theme = 'light';\r\n }\r\n\r\n static getInstance(): TUIChatConfig {\r\n if (!TUIChatConfig.instance) {\r\n TUIChatConfig.instance = new TUIChatConfig();\r\n }\r\n return TUIChatConfig.instance;\r\n }\r\n\r\n setChatType(chatType: string) {\r\n this.chatType = chatType;\r\n }\r\n\r\n getChatType() {\r\n return this.chatType;\r\n }\r\n\r\n hideTUIChatFeatures(features: string[]) {\r\n if (!features) {\r\n return;\r\n }\r\n features.forEach((feature: string) => {\r\n if (this.features[feature]) {\r\n this.features[feature] = false;\r\n }\r\n });\r\n }\r\n\r\n getFeatureConfig(key?: string) {\r\n if (key) {\r\n return this.features[key];\r\n }\r\n return this.features;\r\n }\r\n\r\n setTheme(theme: string) {\r\n this.theme = theme;\r\n }\r\n\r\n getTheme() {\r\n return this.theme;\r\n }\r\n}\r\n\r\nconst ChatConfig = TUIChatConfig.getInstance();\r\nconst hideTUIChatFeatures = ChatConfig.hideTUIChatFeatures.bind(ChatConfig);\r\n\r\nexport {\r\n hideTUIChatFeatures,\r\n};\r\n\r\nexport default ChatConfig;\r\n"],"names":[],"mappings":";AAAA,MAAM,cAAc;AAAA,EAKlB,cAAc;AACZ,SAAK,WAAW;AAChB,SAAK,WAAW;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,eAAe;AAAA,MACf,eAAe;AAAA,MACf,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,oBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,IAAA;AAEd,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OAAO,cAA6B;AAC9B,QAAA,CAAC,cAAc,UAAU;AACb,oBAAA,WAAW,IAAI;IAC/B;AACA,WAAO,cAAc;AAAA,EACvB;AAAA,EAEA,YAAY,UAAkB;AAC5B,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,oBAAoB,UAAoB;AACtC,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AACS,aAAA,QAAQ,CAAC,YAAoB;AAChC,UAAA,KAAK,SAAS,OAAO,GAAG;AACrB,aAAA,SAAS,OAAO,IAAI;AAAA,MAC3B;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEA,iBAAiB,KAAc;AAC7B,QAAI,KAAK;AACA,aAAA,KAAK,SAAS,GAAG;AAAA,IAC1B;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,SAAS,OAAe;AACtB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,WAAW;AACT,WAAO,KAAK;AAAA,EACd;AACF;AAEM,MAAA,aAAa,cAAc,YAAY;AACjB,WAAW,oBAAoB,KAAK,UAAU;;"}
{"version":3,"file":"config.js","sources":["TUIKit/components/TUIChat/config.ts"],"sourcesContent":["class TUIChatConfig {\n static instance: TUIChatConfig;\n private chatType: string;\n private features: Record<string, any>;\n private theme: string;\n constructor() {\n this.chatType = '';\n this.features = {\n DownloadFile: true,\n CopyMessage: true,\n DeleteMessage: true,\n RevokeMessage: true,\n QuoteMessage: true,\n ForwardMessage: true,\n TranslateMessage: true,\n VoiceToText: true,\n MultiSelection: true,\n EmojiReaction: true,\n InputEmoji: true,\n InputStickers: true,\n InputImage: true,\n InputVoice: true,\n InputVideo: true,\n InputFile: true,\n InputEvaluation: true,\n InputQuickReplies: true,\n InputCustomMessage:true,\n InputMention: true,\n MessageSearch: true,\n ReadStatus: true,\n };\n this.theme = 'light';\n }\n\n static getInstance(): TUIChatConfig {\n if (!TUIChatConfig.instance) {\n TUIChatConfig.instance = new TUIChatConfig();\n }\n return TUIChatConfig.instance;\n }\n\n setChatType(chatType: string) {\n this.chatType = chatType;\n }\n\n getChatType() {\n return this.chatType;\n }\n\n hideTUIChatFeatures(features: string[]) {\n if (!features) {\n return;\n }\n features.forEach((feature: string) => {\n if (this.features[feature]) {\n this.features[feature] = false;\n }\n });\n }\n\n getFeatureConfig(key?: string) {\n if (key) {\n return this.features[key];\n }\n return this.features;\n }\n\n setTheme(theme: string) {\n this.theme = theme;\n }\n\n getTheme() {\n return this.theme;\n }\n}\n\nconst ChatConfig = TUIChatConfig.getInstance();\nconst hideTUIChatFeatures = ChatConfig.hideTUIChatFeatures.bind(ChatConfig);\n\nexport {\n hideTUIChatFeatures,\n};\n\nexport default ChatConfig;\n"],"names":[],"mappings":";AAAA,MAAM,cAAc;AAAA,EAKlB,cAAc;AACZ,SAAK,WAAW;AAChB,SAAK,WAAW;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,eAAe;AAAA,MACf,eAAe;AAAA,MACf,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,oBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,IAAA;AAEd,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OAAO,cAA6B;AAC9B,QAAA,CAAC,cAAc,UAAU;AACb,oBAAA,WAAW,IAAI;IAC/B;AACA,WAAO,cAAc;AAAA,EACvB;AAAA,EAEA,YAAY,UAAkB;AAC5B,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,oBAAoB,UAAoB;AACtC,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AACS,aAAA,QAAQ,CAAC,YAAoB;AAChC,UAAA,KAAK,SAAS,OAAO,GAAG;AACrB,aAAA,SAAS,OAAO,IAAI;AAAA,MAC3B;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEA,iBAAiB,KAAc;AAC7B,QAAI,KAAK;AACA,aAAA,KAAK,SAAS,GAAG;AAAA,IAC1B;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,SAAS,OAAe;AACtB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,WAAW;AACT,WAAO,KAAK;AAAA,EACd;AACF;AAEM,MAAA,aAAa,cAAc,YAAY;AACjB,WAAW,oBAAoB,KAAK,UAAU;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"custom-emoji.js","sources":["TUIKit/components/TUIChat/emoji-config/custom-emoji.ts"],"sourcesContent":["import { IEmojiGroupList } from '../../../interface';\r\n\r\n/**\r\n* Custom big emoji\r\n*/\r\nexport const CUSTOM_BIG_EMOJI_URL: string = '';\r\n\r\nexport const CUSTOM_BIG_EMOJI_GROUP_LIST: IEmojiGroupList = [];\r\n\r\n/**\r\n* Custom basic emoji\r\n*/\r\nexport const CUSTOM_BASIC_EMOJI_URL: string = '';\r\n\r\nexport const CUSTOM_BASIC_EMOJI_URL_MAPPING: Record<string, string> = {};\r\n"],"names":[],"mappings":";AAKO,MAAM,uBAA+B;AAErC,MAAM,8BAA+C,CAAA;;;"}
{"version":3,"file":"custom-emoji.js","sources":["TUIKit/components/TUIChat/emoji-config/custom-emoji.ts"],"sourcesContent":["import { IEmojiGroupList } from '../../../interface';\n\n/**\n* Custom big emoji\n*/\nexport const CUSTOM_BIG_EMOJI_URL: string = '';\n\nexport const CUSTOM_BIG_EMOJI_GROUP_LIST: IEmojiGroupList = [];\n\n/**\n* Custom basic emoji\n*/\nexport const CUSTOM_BASIC_EMOJI_URL: string = '';\n\nexport const CUSTOM_BASIC_EMOJI_URL_MAPPING: Record<string, string> = {};\n"],"names":[],"mappings":";AAKO,MAAM,uBAA+B;AAErC,MAAM,8BAA+C,CAAA;;;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"en.js","sources":["TUIKit/components/TUIChat/emoji-config/locales/en.ts"],"sourcesContent":["const Emoji = {\r\n '[TUIEmoji_Smile]': '[Smile]',\r\n '[TUIEmoji_Expect]': '[Expect]',\r\n '[TUIEmoji_Blink]': '[Blink]',\r\n '[TUIEmoji_Guffaw]': '[Guffaw]',\r\n '[TUIEmoji_KindSmile]': '[KindSmile]',\r\n '[TUIEmoji_Haha]': '[Haha]',\r\n '[TUIEmoji_Cheerful]': '[Cheerful]',\r\n '[TUIEmoji_Speechless]': '[Speechless]',\r\n '[TUIEmoji_Amazed]': '[Amazed]',\r\n '[TUIEmoji_Sorrow]': '[Sorrow]',\r\n '[TUIEmoji_Complacent]': '[Complacent]',\r\n '[TUIEmoji_Silly]': '[Silly]',\r\n '[TUIEmoji_Lustful]': '[Lustful]',\r\n '[TUIEmoji_Giggle]': '[Giggle]',\r\n '[TUIEmoji_Kiss]': '[Kiss]',\r\n '[TUIEmoji_Wail]': '[Wail]',\r\n '[TUIEmoji_TearsLaugh]': '[TearsLaugh]',\r\n '[TUIEmoji_Trapped]': '[Trapped]',\r\n '[TUIEmoji_Mask]': '[Mask]',\r\n '[TUIEmoji_Fear]': '[Fear]',\r\n '[TUIEmoji_BareTeeth]': '[BareTeeth]',\r\n '[TUIEmoji_FlareUp]': '[FlareUp]',\r\n '[TUIEmoji_Yawn]': '[Yawn]',\r\n '[TUIEmoji_Tact]': '[Tact]',\r\n '[TUIEmoji_Stareyes]': '[StarEyes]',\r\n '[TUIEmoji_ShutUp]': '[ShutUp]',\r\n '[TUIEmoji_Sigh]': '[Sigh]',\r\n '[TUIEmoji_Hehe]': '[Hehe]',\r\n '[TUIEmoji_Silent]': '[Silent]',\r\n '[TUIEmoji_Surprised]': '[Surprised]',\r\n '[TUIEmoji_Askance]': '[Askance]]',\r\n '[TUIEmoji_Ok]': '[OK]',\r\n '[TUIEmoji_Shit]': '[Shit]',\r\n '[TUIEmoji_Monster]': '[Monster]',\r\n '[TUIEmoji_Daemon]': '[Daemon]',\r\n '[TUIEmoji_Rage]': '[Rage]',\r\n '[TUIEmoji_Fool]': '[Fool]',\r\n '[TUIEmoji_Pig]': '[Pig]',\r\n '[TUIEmoji_Cow]': '[Cow]',\r\n '[TUIEmoji_Ai]': '[AI]',\r\n '[TUIEmoji_Skull]': '[Skull]',\r\n '[TUIEmoji_Bombs]': '[Bombs]',\r\n '[TUIEmoji_Coffee]': '[Coffee]',\r\n '[TUIEmoji_Cake]': '[Cake]',\r\n '[TUIEmoji_Beer]': '[Beer]',\r\n '[TUIEmoji_Flower]': '[Flower]',\r\n '[TUIEmoji_Watermelon]': '[Watermelon]',\r\n '[TUIEmoji_Rich]': '[Rich]',\r\n '[TUIEmoji_Heart]': '[Heart]',\r\n '[TUIEmoji_Moon]': '[Moon]',\r\n '[TUIEmoji_Sun]': '[Sun]',\r\n '[TUIEmoji_Star]': '[Star]',\r\n '[TUIEmoji_RedPacket]': '[RedPacket]',\r\n '[TUIEmoji_Celebrate]': '[Celebrate]',\r\n '[TUIEmoji_Bless]': '[Bless]',\r\n '[TUIEmoji_Fortune]': '[Fortune]',\r\n '[TUIEmoji_Convinced]': '[Convinced]',\r\n '[TUIEmoji_Prohibit]': '[Prohibit]',\r\n '[TUIEmoji_666]': '[666]',\r\n '[TUIEmoji_857]': '[857]',\r\n '[TUIEmoji_Knife]': '[Knife]',\r\n '[TUIEmoji_Like]': '[Like]',\r\n};\r\n\r\nexport default Emoji;\r\n"],"names":[],"mappings":";AAAA,MAAM,QAAQ;AAAA,EACZ,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,mBAAmB;AACrB;;"}
{"version":3,"file":"en.js","sources":["TUIKit/components/TUIChat/emoji-config/locales/en.ts"],"sourcesContent":["const Emoji = {\n '[TUIEmoji_Smile]': '[Smile]',\n '[TUIEmoji_Expect]': '[Expect]',\n '[TUIEmoji_Blink]': '[Blink]',\n '[TUIEmoji_Guffaw]': '[Guffaw]',\n '[TUIEmoji_KindSmile]': '[KindSmile]',\n '[TUIEmoji_Haha]': '[Haha]',\n '[TUIEmoji_Cheerful]': '[Cheerful]',\n '[TUIEmoji_Speechless]': '[Speechless]',\n '[TUIEmoji_Amazed]': '[Amazed]',\n '[TUIEmoji_Sorrow]': '[Sorrow]',\n '[TUIEmoji_Complacent]': '[Complacent]',\n '[TUIEmoji_Silly]': '[Silly]',\n '[TUIEmoji_Lustful]': '[Lustful]',\n '[TUIEmoji_Giggle]': '[Giggle]',\n '[TUIEmoji_Kiss]': '[Kiss]',\n '[TUIEmoji_Wail]': '[Wail]',\n '[TUIEmoji_TearsLaugh]': '[TearsLaugh]',\n '[TUIEmoji_Trapped]': '[Trapped]',\n '[TUIEmoji_Mask]': '[Mask]',\n '[TUIEmoji_Fear]': '[Fear]',\n '[TUIEmoji_BareTeeth]': '[BareTeeth]',\n '[TUIEmoji_FlareUp]': '[FlareUp]',\n '[TUIEmoji_Yawn]': '[Yawn]',\n '[TUIEmoji_Tact]': '[Tact]',\n '[TUIEmoji_Stareyes]': '[StarEyes]',\n '[TUIEmoji_ShutUp]': '[ShutUp]',\n '[TUIEmoji_Sigh]': '[Sigh]',\n '[TUIEmoji_Hehe]': '[Hehe]',\n '[TUIEmoji_Silent]': '[Silent]',\n '[TUIEmoji_Surprised]': '[Surprised]',\n '[TUIEmoji_Askance]': '[Askance]]',\n '[TUIEmoji_Ok]': '[OK]',\n '[TUIEmoji_Shit]': '[Shit]',\n '[TUIEmoji_Monster]': '[Monster]',\n '[TUIEmoji_Daemon]': '[Daemon]',\n '[TUIEmoji_Rage]': '[Rage]',\n '[TUIEmoji_Fool]': '[Fool]',\n '[TUIEmoji_Pig]': '[Pig]',\n '[TUIEmoji_Cow]': '[Cow]',\n '[TUIEmoji_Ai]': '[AI]',\n '[TUIEmoji_Skull]': '[Skull]',\n '[TUIEmoji_Bombs]': '[Bombs]',\n '[TUIEmoji_Coffee]': '[Coffee]',\n '[TUIEmoji_Cake]': '[Cake]',\n '[TUIEmoji_Beer]': '[Beer]',\n '[TUIEmoji_Flower]': '[Flower]',\n '[TUIEmoji_Watermelon]': '[Watermelon]',\n '[TUIEmoji_Rich]': '[Rich]',\n '[TUIEmoji_Heart]': '[Heart]',\n '[TUIEmoji_Moon]': '[Moon]',\n '[TUIEmoji_Sun]': '[Sun]',\n '[TUIEmoji_Star]': '[Star]',\n '[TUIEmoji_RedPacket]': '[RedPacket]',\n '[TUIEmoji_Celebrate]': '[Celebrate]',\n '[TUIEmoji_Bless]': '[Bless]',\n '[TUIEmoji_Fortune]': '[Fortune]',\n '[TUIEmoji_Convinced]': '[Convinced]',\n '[TUIEmoji_Prohibit]': '[Prohibit]',\n '[TUIEmoji_666]': '[666]',\n '[TUIEmoji_857]': '[857]',\n '[TUIEmoji_Knife]': '[Knife]',\n '[TUIEmoji_Like]': '[Like]',\n};\n\nexport default Emoji;\n"],"names":[],"mappings":";AAAA,MAAM,QAAQ;AAAA,EACZ,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,mBAAmB;AACrB;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"zh_cn.js","sources":["TUIKit/components/TUIChat/emoji-config/locales/zh_cn.ts"],"sourcesContent":["const Emoji: Record<string, string> = {\r\n '[TUIEmoji_Smile]': '[微笑]',\r\n '[TUIEmoji_Expect]': '[期待]',\r\n '[TUIEmoji_Blink]': '[眨眼]',\r\n '[TUIEmoji_Guffaw]': '[大笑]',\r\n '[TUIEmoji_KindSmile]': '[姨母笑]',\r\n '[TUIEmoji_Haha]': '[哈哈哈]',\r\n '[TUIEmoji_Cheerful]': '[愉快]',\r\n '[TUIEmoji_Speechless]': '[无语]',\r\n '[TUIEmoji_Amazed]': '[惊讶]',\r\n '[TUIEmoji_Sorrow]': '[悲伤]',\r\n '[TUIEmoji_Complacent]': '[得意]',\r\n '[TUIEmoji_Silly]': '[傻了]',\r\n '[TUIEmoji_Lustful]': '[色]',\r\n '[TUIEmoji_Giggle]': '[憨笑]',\r\n '[TUIEmoji_Kiss]': '[亲亲]',\r\n '[TUIEmoji_Wail]': '[大哭]',\r\n '[TUIEmoji_TearsLaugh]': '[哭笑]',\r\n '[TUIEmoji_Trapped]': '[困]',\r\n '[TUIEmoji_Mask]': '[口罩]',\r\n '[TUIEmoji_Fear]': '[恐惧]',\r\n '[TUIEmoji_BareTeeth]': '[龇牙]',\r\n '[TUIEmoji_FlareUp]': '[发怒]',\r\n '[TUIEmoji_Yawn]': '[打哈欠]',\r\n '[TUIEmoji_Tact]': '[机智]',\r\n '[TUIEmoji_Stareyes]': '[星星眼]',\r\n '[TUIEmoji_ShutUp]': '[闭嘴]',\r\n '[TUIEmoji_Sigh]': '[叹气]',\r\n '[TUIEmoji_Hehe]': '[呵呵]',\r\n '[TUIEmoji_Silent]': '[收声]',\r\n '[TUIEmoji_Surprised]': '[惊喜]',\r\n '[TUIEmoji_Askance]': '[白眼]',\r\n '[TUIEmoji_Ok]': '[OK]',\r\n '[TUIEmoji_Shit]': '[便便]',\r\n '[TUIEmoji_Monster]': '[怪兽]',\r\n '[TUIEmoji_Daemon]': '[恶魔]',\r\n '[TUIEmoji_Rage]': '[恶魔怒]',\r\n '[TUIEmoji_Fool]': '[衰]',\r\n '[TUIEmoji_Pig]': '[猪]',\r\n '[TUIEmoji_Cow]': '[牛]',\r\n '[TUIEmoji_Ai]': '[AI]',\r\n '[TUIEmoji_Skull]': '[骷髅]',\r\n '[TUIEmoji_Bombs]': '[炸弹]',\r\n '[TUIEmoji_Coffee]': '[咖啡]',\r\n '[TUIEmoji_Cake]': '[蛋糕]',\r\n '[TUIEmoji_Beer]': '[啤酒]',\r\n '[TUIEmoji_Flower]': '[花]',\r\n '[TUIEmoji_Watermelon]': '[瓜]',\r\n '[TUIEmoji_Rich]': '[壕]',\r\n '[TUIEmoji_Heart]': '[爱心]',\r\n '[TUIEmoji_Moon]': '[月亮]',\r\n '[TUIEmoji_Sun]': '[太阳]',\r\n '[TUIEmoji_Star]': '[星星]',\r\n '[TUIEmoji_RedPacket]': '[红包]',\r\n '[TUIEmoji_Celebrate]': '[庆祝]',\r\n '[TUIEmoji_Bless]': '[福]',\r\n '[TUIEmoji_Fortune]': '[发]',\r\n '[TUIEmoji_Convinced]': '[服]',\r\n '[TUIEmoji_Prohibit]': '[禁]',\r\n '[TUIEmoji_666]': '[666]',\r\n '[TUIEmoji_857]': '[857]',\r\n '[TUIEmoji_Knife]': '[刀]',\r\n '[TUIEmoji_Like]': '[赞]',\r\n};\r\n\r\nexport default Emoji;\r\n"],"names":[],"mappings":";AAAA,MAAM,QAAgC;AAAA,EACpC,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,mBAAmB;AACrB;;"}
{"version":3,"file":"zh_cn.js","sources":["TUIKit/components/TUIChat/emoji-config/locales/zh_cn.ts"],"sourcesContent":["const Emoji: Record<string, string> = {\n '[TUIEmoji_Smile]': '[微笑]',\n '[TUIEmoji_Expect]': '[期待]',\n '[TUIEmoji_Blink]': '[眨眼]',\n '[TUIEmoji_Guffaw]': '[大笑]',\n '[TUIEmoji_KindSmile]': '[姨母笑]',\n '[TUIEmoji_Haha]': '[哈哈哈]',\n '[TUIEmoji_Cheerful]': '[愉快]',\n '[TUIEmoji_Speechless]': '[无语]',\n '[TUIEmoji_Amazed]': '[惊讶]',\n '[TUIEmoji_Sorrow]': '[悲伤]',\n '[TUIEmoji_Complacent]': '[得意]',\n '[TUIEmoji_Silly]': '[傻了]',\n '[TUIEmoji_Lustful]': '[色]',\n '[TUIEmoji_Giggle]': '[憨笑]',\n '[TUIEmoji_Kiss]': '[亲亲]',\n '[TUIEmoji_Wail]': '[大哭]',\n '[TUIEmoji_TearsLaugh]': '[哭笑]',\n '[TUIEmoji_Trapped]': '[困]',\n '[TUIEmoji_Mask]': '[口罩]',\n '[TUIEmoji_Fear]': '[恐惧]',\n '[TUIEmoji_BareTeeth]': '[龇牙]',\n '[TUIEmoji_FlareUp]': '[发怒]',\n '[TUIEmoji_Yawn]': '[打哈欠]',\n '[TUIEmoji_Tact]': '[机智]',\n '[TUIEmoji_Stareyes]': '[星星眼]',\n '[TUIEmoji_ShutUp]': '[闭嘴]',\n '[TUIEmoji_Sigh]': '[叹气]',\n '[TUIEmoji_Hehe]': '[呵呵]',\n '[TUIEmoji_Silent]': '[收声]',\n '[TUIEmoji_Surprised]': '[惊喜]',\n '[TUIEmoji_Askance]': '[白眼]',\n '[TUIEmoji_Ok]': '[OK]',\n '[TUIEmoji_Shit]': '[便便]',\n '[TUIEmoji_Monster]': '[怪兽]',\n '[TUIEmoji_Daemon]': '[恶魔]',\n '[TUIEmoji_Rage]': '[恶魔怒]',\n '[TUIEmoji_Fool]': '[衰]',\n '[TUIEmoji_Pig]': '[猪]',\n '[TUIEmoji_Cow]': '[牛]',\n '[TUIEmoji_Ai]': '[AI]',\n '[TUIEmoji_Skull]': '[骷髅]',\n '[TUIEmoji_Bombs]': '[炸弹]',\n '[TUIEmoji_Coffee]': '[咖啡]',\n '[TUIEmoji_Cake]': '[蛋糕]',\n '[TUIEmoji_Beer]': '[啤酒]',\n '[TUIEmoji_Flower]': '[花]',\n '[TUIEmoji_Watermelon]': '[瓜]',\n '[TUIEmoji_Rich]': '[壕]',\n '[TUIEmoji_Heart]': '[爱心]',\n '[TUIEmoji_Moon]': '[月亮]',\n '[TUIEmoji_Sun]': '[太阳]',\n '[TUIEmoji_Star]': '[星星]',\n '[TUIEmoji_RedPacket]': '[红包]',\n '[TUIEmoji_Celebrate]': '[庆祝]',\n '[TUIEmoji_Bless]': '[福]',\n '[TUIEmoji_Fortune]': '[发]',\n '[TUIEmoji_Convinced]': '[服]',\n '[TUIEmoji_Prohibit]': '[禁]',\n '[TUIEmoji_666]': '[666]',\n '[TUIEmoji_857]': '[857]',\n '[TUIEmoji_Knife]': '[刀]',\n '[TUIEmoji_Like]': '[赞]',\n};\n\nexport default Emoji;\n"],"names":[],"mappings":";AAAA,MAAM,QAAgC;AAAA,EACpC,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,mBAAmB;AACrB;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"entry-chat-only.js","sources":["TUIKit/components/TUIChat/entry-chat-only.ts"],"sourcesContent":["import { TUILogin } from '@tencentcloud/tui-core';\r\nimport { TUIConversationService } from '@tencentcloud/chat-uikit-engine';\r\n// #ifdef MP-WEIXIN\r\nimport { TUIChatKit } from '../../index.ts';\r\n// #endif\r\n\r\nexport const initChat = (options: Record<string, string>) => {\r\n // #ifdef MP-WEIXIN\r\n // uni-app packages the mini program.\r\n // If you call TUIChatKit.init() directly during import, an error will be reported.\r\n // You need to init during the page onLoad.\r\n TUIChatKit.init();\r\n // #endif\r\n\r\n // When opening TUIChat, the options and options.conversationID parameters carried in the url,\r\n // determine whether to enter the Chat from the [Conversation List] or [Online Communication].\r\n const { chat } = TUILogin.getContext();\r\n if (options && options.conversationID && chat?.isReady()) {\r\n const { conversationID } = options;\r\n // verify conversationID\r\n if (!conversationID.startsWith('C2C') && !conversationID.startsWith('GROUP')) {\r\n console.warn('conversationID from options is invalid.');\r\n return;\r\n }\r\n // open chat\r\n TUIConversationService.switchConversation(conversationID);\r\n }\r\n};\r\n\r\nexport const logout = (flag: boolean) => {\r\n if (flag) {\r\n return TUILogin.logout();\r\n }\r\n return Promise.resolve();\r\n};\r\n"],"names":["TUIChatKit","TUILogin","uni","TUIConversationService"],"mappings":";;;AAMa,MAAA,WAAW,CAAC,YAAoC;AAK3DA,eAAA,WAAW,KAAK;AAKhB,QAAM,EAAE,KAAA,IAASC,cAAA,EAAS,WAAW;AACrC,MAAI,WAAW,QAAQ,mBAAkB,6BAAM,YAAW;AAClD,UAAA,EAAE,eAAmB,IAAA;AAEvB,QAAA,CAAC,eAAe,WAAW,KAAK,KAAK,CAAC,eAAe,WAAW,OAAO,GAAG;AAC/DC,oBAAAA,MAAA,MAAA,QAAA,sDAAA,yCAAyC;AACtD;AAAA,IACF;AAEAC,qBAAuB,mBAAmB,cAAc;AAAA,EAC1D;AACF;AAEa,MAAA,SAAS,CAAC,SAAkB;AACvC,MAAI,MAAM;AACR,WAAOF,cAAAA,EAAS;EAClB;AACA,SAAO,QAAQ;AACjB;;;"}
{"version":3,"file":"entry-chat-only.js","sources":["TUIKit/components/TUIChat/entry-chat-only.ts"],"sourcesContent":["import { TUILogin } from '@tencentcloud/tui-core';\nimport { TUIConversationService } from '@tencentcloud/chat-uikit-engine';\n// #ifdef MP-WEIXIN\nimport { TUIChatKit } from '../../index.ts';\n// #endif\n\nexport const initChat = (options: Record<string, string>) => {\n // #ifdef MP-WEIXIN\n // uni-app packages the mini program.\n // If you call TUIChatKit.init() directly during import, an error will be reported.\n // You need to init during the page onLoad.\n TUIChatKit.init();\n // #endif\n\n // When opening TUIChat, the options and options.conversationID parameters carried in the url,\n // determine whether to enter the Chat from the [Conversation List] or [Online Communication].\n const { chat } = TUILogin.getContext();\n if (options && options.conversationID && chat?.isReady()) {\n const { conversationID } = options;\n // verify conversationID\n if (!conversationID.startsWith('C2C') && !conversationID.startsWith('GROUP')) {\n console.warn('conversationID from options is invalid.');\n return;\n }\n // open chat\n TUIConversationService.switchConversation(conversationID);\n }\n};\n\nexport const logout = (flag: boolean) => {\n if (flag) {\n return TUILogin.logout();\n }\n return Promise.resolve();\n};\n"],"names":["TUIChatKit","TUILogin","uni","TUIConversationService"],"mappings":";;;AAMa,MAAA,WAAW,CAAC,YAAoC;AAK3DA,eAAA,WAAW,KAAK;AAKhB,QAAM,EAAE,KAAA,IAASC,cAAA,EAAS,WAAW;AACrC,MAAI,WAAW,QAAQ,mBAAkB,6BAAM,YAAW;AAClD,UAAA,EAAE,eAAmB,IAAA;AAEvB,QAAA,CAAC,eAAe,WAAW,KAAK,KAAK,CAAC,eAAe,WAAW,OAAO,GAAG;AAC/DC,oBAAAA,MAAA,MAAA,QAAA,sDAAA,yCAAyC;AACtD;AAAA,IACF;AAEAC,qBAAuB,mBAAmB,cAAc;AAAA,EAC1D;AACF;AAEa,MAAA,SAAS,CAAC,SAAkB;AACvC,MAAI,MAAM;AACR,WAAOF,cAAAA,EAAS;EAClB;AACA,SAAO,QAAQ;AACjB;;;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJQ2hhdFxpbmRleC52dWU"],"sourcesContent":["import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,iBAAA;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/index.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,iBAAA;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"popupinvite.js","sources":["TUIKit/components/TUIChat/message-input-toolbar/evaluate/popupinvite.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-input-toolbar/evaluate/popupinvite.vue?type=component"],"sourcesContent":["<template>\n <uni-popup class=\"popupcss\" ref=\"popup\" type=\"center\" border-radius=\"10px 10px 0 0\">\n <view class=\"popup-content\">\n <view class=\"popup-title\">\n <view class=\"popup-text\">点击选择您要参与的主播</view>\n <view v-if=\"list.length !== 0\">\n <scroll-view show-scrollbar=\"false\" scroll-y=\"true\" class=\"scroll\">\n <view class=\"card\" v-for=\"(item, index) in list\" :key=\"index\">\n <view\n class=\"card-content\"\n @click=\"Select(item.id, index)\"\n :style=\"{\n background: selectedId === item.id ? '#b8ff8c74' : '#ffffff',\n }\"\n >\n <view class=\"Avatarimg\">\n <image class=\"avatar\" :src=\"item.anchorIcon\" mode=\"scaleToFill\" />\n </view>\n <view class=\"NameMoney\">\n <view class=\"TimeMoney\">\n <view class=\"NameMoney_Name\">{{ item.anchorId }}</view>\n </view>\n <view class=\"TimeMoney_Time\">\n <view class=\"pkTimeimg\">\n <image\n style=\"width: 31.49rpx; height: 31.49rpx; margin-top: 3rpx\"\n src=\"https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/time.png\"\n mode=\"scaleToFill\"\n />\n </view>\n <!-- <view>{{ TimeFormatting(item.pkTime) }}</view> -->\n <view class=\"goldimg\">\n <image\n style=\"width: 31.49rpx; height: 31.49rpx; margin-top: 4rpx\"\n src=\"https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/species.png\"\n mode=\"scaleToFill\"\n />\n </view>\n <view class=\"goldnb\">{{ item.coin }}K</view>\n </view>\n </view>\n </view>\n </view>\n </scroll-view>\n </view>\n <view class=\"noData\" v-if=\"list.length === 0\"\n >您还没有可参与的主播PK快去新建一个吧</view\n >\n </view>\n <view class=\"popup-btn\">\n <button class=\"invite\" type=\"primary\" @click=\"invite()\">邀请</button>\n <button class=\"cancel\" type=\"default\" @click=\"close()\">取消</button>\n </view>\n </view>\n </uni-popup>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n title: \"Hello\",\n };\n },\n onLoad() {\n // 页面加载时执行\n },\n methods: {\n //确定邀请\n invite() {},\n //关闭弹窗\n close() {\n popup.value.close();\n },\n },\n};\n</script>\n\n<style scoped>\n/* 样式定义 */\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-input-toolbar/evaluate/popupinvite.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AA0DA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;EAEV;AAAA,EACD,SAAS;AAAA,EAER;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,SAAS;AAAA,IAAE;AAAA;AAAA,IAEX,QAAQ;AACN,YAAM,MAAM;IACb;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1EA,GAAG,gBAAgB,SAAS;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-input-toolbar/words/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtaW5wdXQtdG9vbGJhci93b3Jkcy9pbmRleC52dWU"],"sourcesContent":["<template>\r\n <ToolbarItemContainer\r\n ref=\"container\"\r\n :iconFile=\"wordsIcon\"\r\n title=\"常用语\"\r\n :needBottomPopup=\"true\"\r\n :iconWidth=\"isUniFrameWork ? '26px' : '20px'\"\r\n :iconHeight=\"isUniFrameWork ? '26px' : '20px'\"\r\n @onDialogShow=\"onDialogShow\"\r\n @onDialogClose=\"onDialogClose\"\r\n >\r\n <div :class=\"['words', !isPC && 'words-h5']\">\r\n <div :class=\"['words-header', !isPC && 'words-h5-header']\">\r\n <span :class=\"['words-header-title', !isPC && 'words-h5-header-title']\">\r\n {{ TUITranslateService.t(\"Words.常用语-快捷回复工具\") }}\r\n </span>\r\n <span\r\n v-if=\"!isPC\"\r\n :class=\"['words-header-close', !isPC && 'words-h5-header-close']\"\r\n @click=\"closeDialog\"\r\n >\r\n 关闭\r\n </span>\r\n </div>\r\n <ul :class=\"['words-list', !isPC && 'words-h5-list']\">\r\n <li\r\n v-for=\"(item, index) in wordsList\"\r\n :key=\"index\"\r\n :class=\"['words-list-item', !isPC && 'words-h5-list-item']\"\r\n @click=\"selectWord(item)\"\r\n >\r\n {{ TUITranslateService.t(`Words.${item.value}`) }}\r\n </li>\r\n </ul>\r\n </div>\r\n </ToolbarItemContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {\r\n TUITranslateService,\r\n TUIStore,\r\n StoreName,\r\n IConversationModel,\r\n SendMessageParams,\r\n TUIChatService,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport { ref } from '../../../../adapter-vue';\r\nimport ToolbarItemContainer from '../toolbar-item-container/index.vue';\r\nimport wordsIconLight from '../../../../assets/icon/words-light.svg';\r\nimport wordsIconDark from '../../../../assets/icon/words-dark.svg';\r\nimport { wordsList } from '../../utils/wordsList';\r\nimport { isEnabledMessageReadReceiptGlobal } from '../../utils/utils';\r\nimport { isPC, isUniFrameWork } from '../../../../utils/env';\r\nimport TUIChatConfig from '../../config';\r\n\r\nconst wordsIcon = TUIChatConfig.getTheme() === 'dark' ? wordsIconDark : wordsIconLight;\r\nconst emits = defineEmits(['onDialogPopupShowOrHide']);\r\nconst currentConversation = ref<IConversationModel>();\r\nconst container = ref();\r\n\r\nTUIStore.watch(StoreName.CONV, {\r\n currentConversation: (conversation: IConversationModel) => {\r\n currentConversation.value = conversation;\r\n },\r\n});\r\n\r\nconst selectWord = (item: any) => {\r\n const options = {\r\n to:\r\n currentConversation?.value?.groupProfile?.groupID\r\n || currentConversation?.value?.userProfile?.userID,\r\n conversationType: currentConversation?.value?.type,\r\n payload: {\r\n text: TUITranslateService.t(`Words.${item.value}`),\r\n },\r\n needReadReceipt: isEnabledMessageReadReceiptGlobal(),\r\n } as SendMessageParams;\r\n TUIChatService.sendTextMessage(options);\r\n // close dialog after submit evaluate\r\n container?.value?.toggleDialogDisplay(false);\r\n};\r\n\r\nconst closeDialog = () => {\r\n container?.value?.toggleDialogDisplay(false);\r\n};\r\n\r\nconst onDialogShow = () => {\r\n emits('onDialogPopupShowOrHide', true);\r\n};\r\n\r\nconst onDialogClose = () => {\r\n emits('onDialogPopupShowOrHide', false);\r\n};\r\n</script>\r\n<style scoped lang=\"scss\" src=\"./style/index.scss\"></style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-input-toolbar/words/index.vue'\nwx.createComponent(Component)"],"names":["TUIChatConfig","wordsIconDark","wordsIconLight","ref","TUIStore","StoreName","TUITranslateService","isEnabledMessageReadReceiptGlobal","TUIChatService"],"mappings":";;;;;;;;;;;AA+CA,MAAA,uBAAiC,MAAA;;;;;AAQjC,UAAM,YAAYA,iCAAAA,WAAc,SAAS,MAAM,SAASC,cAAgB,gBAAAC;AACxE,UAAM,QAAQ;AACd,UAAM,sBAAsBC,cAAAA;AAC5B,UAAM,YAAYA,cAAAA;AAETC,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,qBAAqB,CAAC,iBAAqC;AACzD,4BAAoB,QAAQ;AAAA,MAC9B;AAAA,IAAA,CACD;AAEK,UAAA,aAAa,CAAC,SAAc;;AAChC,YAAM,UAAU;AAAA,QACd,MACE,sEAAqB,UAArB,mBAA4B,iBAA5B,mBAA0C,cACvC,sEAAqB,UAArB,mBAA4B,gBAA5B,mBAAyC;AAAA,QAC9C,mBAAkB,gEAAqB,UAArB,mBAA4B;AAAA,QAC9C,SAAS;AAAA,UACP,MAAMC,cAAoB,GAAA,EAAE,SAAS,KAAK,KAAK,EAAE;AAAA,QACnD;AAAA,QACA,iBAAiBC,sCAAAA,kCAAkC;AAAA,MAAA;AAErDC,uBAAe,gBAAgB,OAAO;AAE3B,mDAAA,UAAA,mBAAO,oBAAoB;AAAA,IAAK;AAG7C,UAAM,cAAc,MAAM;;AACb,mDAAA,UAAA,mBAAO,oBAAoB;AAAA,IAAK;AAG7C,UAAM,eAAe,MAAM;AACzB,YAAM,2BAA2B,IAAI;AAAA,IAAA;AAGvC,UAAM,gBAAgB,MAAM;AAC1B,YAAM,2BAA2B,KAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FxC,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-input-toolbar/words/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-input-toolbar/words/index.vue?type=component"],"sourcesContent":["<template>\n <ToolbarItemContainer\n ref=\"container\"\n :iconFile=\"wordsIcon\"\n title=\"常用语\"\n :needBottomPopup=\"true\"\n :iconWidth=\"isUniFrameWork ? '26px' : '20px'\"\n :iconHeight=\"isUniFrameWork ? '26px' : '20px'\"\n @onDialogShow=\"onDialogShow\"\n @onDialogClose=\"onDialogClose\"\n >\n <div :class=\"['words', !isPC && 'words-h5']\">\n <div :class=\"['words-header', !isPC && 'words-h5-header']\">\n <span :class=\"['words-header-title', !isPC && 'words-h5-header-title']\">\n {{ TUITranslateService.t(\"Words.常用语-快捷回复工具\") }}\n </span>\n <span\n v-if=\"!isPC\"\n :class=\"['words-header-close', !isPC && 'words-h5-header-close']\"\n @click=\"closeDialog\"\n >\n 关闭\n </span>\n </div>\n <ul :class=\"['words-list', !isPC && 'words-h5-list']\">\n <li\n v-for=\"(item, index) in wordsList\"\n :key=\"index\"\n :class=\"['words-list-item', !isPC && 'words-h5-list-item']\"\n @click=\"selectWord(item)\"\n >\n {{ TUITranslateService.t(`Words.${item.value}`) }}\n </li>\n </ul>\n </div>\n </ToolbarItemContainer>\n</template>\n<script setup lang=\"ts\">\nimport {\n TUITranslateService,\n TUIStore,\n StoreName,\n IConversationModel,\n SendMessageParams,\n TUIChatService,\n} from '@tencentcloud/chat-uikit-engine';\nimport { ref } from '../../../../adapter-vue';\nimport ToolbarItemContainer from '../toolbar-item-container/index.vue';\nimport wordsIconLight from '../../../../assets/icon/words-light.svg';\nimport wordsIconDark from '../../../../assets/icon/words-dark.svg';\nimport { wordsList } from '../../utils/wordsList';\nimport { isEnabledMessageReadReceiptGlobal } from '../../utils/utils';\nimport { isPC, isUniFrameWork } from '../../../../utils/env';\nimport TUIChatConfig from '../../config';\n\nconst wordsIcon = TUIChatConfig.getTheme() === 'dark' ? wordsIconDark : wordsIconLight;\nconst emits = defineEmits(['onDialogPopupShowOrHide']);\nconst currentConversation = ref<IConversationModel>();\nconst container = ref();\n\nTUIStore.watch(StoreName.CONV, {\n currentConversation: (conversation: IConversationModel) => {\n currentConversation.value = conversation;\n },\n});\n\nconst selectWord = (item: any) => {\n const options = {\n to:\n currentConversation?.value?.groupProfile?.groupID\n || currentConversation?.value?.userProfile?.userID,\n conversationType: currentConversation?.value?.type,\n payload: {\n text: TUITranslateService.t(`Words.${item.value}`),\n },\n needReadReceipt: isEnabledMessageReadReceiptGlobal(),\n } as SendMessageParams;\n TUIChatService.sendTextMessage(options);\n // close dialog after submit evaluate\n container?.value?.toggleDialogDisplay(false);\n};\n\nconst closeDialog = () => {\n container?.value?.toggleDialogDisplay(false);\n};\n\nconst onDialogShow = () => {\n emits('onDialogPopupShowOrHide', true);\n};\n\nconst onDialogClose = () => {\n emits('onDialogPopupShowOrHide', false);\n};\n</script>\n<style scoped lang=\"scss\" src=\"./style/index.scss\"></style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-input-toolbar/words/index.vue'\nwx.createComponent(Component)"],"names":["TUIChatConfig","wordsIconDark","wordsIconLight","ref","TUIStore","StoreName","TUITranslateService","isEnabledMessageReadReceiptGlobal","TUIChatService"],"mappings":";;;;;;;;;;;AA+CA,MAAA,uBAAiC,MAAA;;;;;AAQjC,UAAM,YAAYA,iCAAAA,WAAc,SAAS,MAAM,SAASC,cAAgB,gBAAAC;AACxE,UAAM,QAAQ;AACd,UAAM,sBAAsBC,cAAAA;AAC5B,UAAM,YAAYA,cAAAA;AAETC,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,qBAAqB,CAAC,iBAAqC;AACzD,4BAAoB,QAAQ;AAAA,MAC9B;AAAA,IAAA,CACD;AAEK,UAAA,aAAa,CAAC,SAAc;;AAChC,YAAM,UAAU;AAAA,QACd,MACE,sEAAqB,UAArB,mBAA4B,iBAA5B,mBAA0C,cACvC,sEAAqB,UAArB,mBAA4B,gBAA5B,mBAAyC;AAAA,QAC9C,mBAAkB,gEAAqB,UAArB,mBAA4B;AAAA,QAC9C,SAAS;AAAA,UACP,MAAMC,cAAoB,GAAA,EAAE,SAAS,KAAK,KAAK,EAAE;AAAA,QACnD;AAAA,QACA,iBAAiBC,sCAAAA,kCAAkC;AAAA,MAAA;AAErDC,uBAAe,gBAAgB,OAAO;AAE3B,mDAAA,UAAA,mBAAO,oBAAoB;AAAA,IAAK;AAG7C,UAAM,cAAc,MAAM;;AACb,mDAAA,UAAA,mBAAO,oBAAoB;AAAA,IAAK;AAG7C,UAAM,eAAe,MAAM;AACzB,YAAM,2BAA2B,IAAI;AAAA,IAAA;AAGvC,UAAM,gBAAgB,MAAM;AAC1B,YAAM,2BAA2B,KAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FxC,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

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-list/link/index.ts"],"sourcesContent":["const Link = {\r\n product: {\r\n label: '产品文档',\r\n url: 'https://cloud.tencent.com/document/product/269/1499#.E7.BE.A4.E7.BB.84.E5.8A.9F.E8.83.BD',\r\n },\r\n customMessage: {\r\n label: '自定义消息',\r\n url: 'https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#createCustomMessage',\r\n },\r\n complaint: {\r\n label: '点此投诉',\r\n url: 'https://cloud.tencent.com/apply/p/xc3oaubi98g',\r\n },\r\n implement: {\r\n label: '集成TUICallKit',\r\n url: 'https://cloud.tencent.com/document/product/269/79861',\r\n },\r\n purchase: {\r\n label: '开通腾讯实时音视频服务',\r\n url: 'https://cloud.tencent.com/document/product/1640/79968',\r\n },\r\n};\r\nexport default Link;\r\n"],"names":[],"mappings":";AAAA,MAAM,OAAO;AAAA,EACX,SAAS;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,eAAe;AAAA,IACb,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AACF;;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-list/link/index.ts"],"sourcesContent":["const Link = {\n product: {\n label: '产品文档',\n url: 'https://cloud.tencent.com/document/product/269/1499#.E7.BE.A4.E7.BB.84.E5.8A.9F.E8.83.BD',\n },\n customMessage: {\n label: '自定义消息',\n url: 'https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#createCustomMessage',\n },\n complaint: {\n label: '点此投诉',\n url: 'https://cloud.tencent.com/apply/p/xc3oaubi98g',\n },\n implement: {\n label: '集成TUICallKit',\n url: 'https://cloud.tencent.com/document/product/269/79861',\n },\n purchase: {\n label: '开通腾讯实时音视频服务',\n url: 'https://cloud.tencent.com/document/product/1640/79968',\n },\n};\nexport default Link;\n"],"names":[],"mappings":";AAAA,MAAM,OAAO;AAAA,EACX,SAAS;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,eAAe;AAAA,IACb,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AACF;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"convert-content.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtY29udmVydC9jb252ZXJ0LWNvbnRlbnQudnVl"],"sourcesContent":["<template>\r\n <div class=\"message-convert-container\">\r\n <div\r\n v-if=\"convertFinished\"\r\n :class=\"{\r\n 'convert-content': true,\r\n 'occur': true,\r\n }\"\r\n >\r\n {{ convertText }}\r\n </div>\r\n <div\r\n :class=\"{\r\n 'loading': true,\r\n 'loading-end': convertFinished\r\n }\"\r\n >\r\n {{ TUITranslateService.t('TUIChat.转换中') }}...\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, watch } from '../../../../../adapter-vue';\r\nimport {\r\n IMessageModel,\r\n TUITranslateService,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport { convertor } from '../../../utils/convertVoiceToText';\r\n\r\ninterface IProps {\r\n message: IMessageModel;\r\n contentVisible: boolean;\r\n}\r\n\r\ninterface IEmits {\r\n (e: 'toggleErrorStatus', status: boolean): void;\r\n}\r\n\r\nconst emits = defineEmits<IEmits>();\r\nconst props = withDefaults(defineProps<IProps>(), {\r\n message: () => ({} as IMessageModel),\r\n isSingleConvert: false,\r\n});\r\n\r\nconst convertFinished = ref<boolean>(false);\r\nconst convertText = ref<string>('');\r\n\r\nwatch(() => props.contentVisible, (newVal: boolean) => {\r\n if (newVal) {\r\n convertor.get(props.message)\r\n .then((text) => {\r\n convertFinished.value = true;\r\n convertText.value = text;\r\n })\r\n .catch((err) => {\r\n convertFinished.value = true;\r\n emits('toggleErrorStatus', true);\r\n convertText.value = err.message;\r\n });\r\n }\r\n}, {\r\n immediate: true,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.message-convert-container {\r\n min-height: 20px;\r\n min-width: 80px;\r\n position: relative;\r\n transition: width 0.15s ease-out, height 0.15s ease-out, ;\r\n font-size: 14px;\r\n\r\n .loading {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n opacity: 1;\r\n transition: opacity 0.3s ease-out;\r\n\r\n &.loading-end {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n .convert-content {\r\n opacity: 0;\r\n\r\n &.occur {\r\n animation: occur 0.3s ease-out 0.45s forwards;\r\n\r\n @keyframes occur {\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.vue'\nwx.createComponent(Component)"],"names":["ref","watch","convertor"],"mappings":";;;;;;;;;;;;AAuCA,UAAM,QAAQ;AACd,UAAM,QAAQ;AAKR,UAAA,kBAAkBA,kBAAa,KAAK;AACpC,UAAA,cAAcA,kBAAY,EAAE;AAElCC,kBAAAA,MAAM,MAAM,MAAM,gBAAgB,CAAC,WAAoB;AACrD,UAAI,QAAQ;AACVC,2DAAA,UAAU,IAAI,MAAM,OAAO,EACxB,KAAK,CAAC,SAAS;AACd,0BAAgB,QAAQ;AACxB,sBAAY,QAAQ;AAAA,QAAA,CACrB,EACA,MAAM,CAAC,QAAQ;AACd,0BAAgB,QAAQ;AACxB,gBAAM,qBAAqB,IAAI;AAC/B,sBAAY,QAAQ,IAAI;AAAA,QAAA,CACzB;AAAA,MACL;AAAA,IAAA,GACC;AAAA,MACD,WAAW;AAAA,IAAA,CACZ;;;;;;;;;;;;;;AC9DD,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"convert-content.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.vue?type=component"],"sourcesContent":["<template>\n <div class=\"message-convert-container\">\n <div\n v-if=\"convertFinished\"\n :class=\"{\n 'convert-content': true,\n 'occur': true,\n }\"\n >\n {{ convertText }}\n </div>\n <div\n :class=\"{\n 'loading': true,\n 'loading-end': convertFinished\n }\"\n >\n {{ TUITranslateService.t('TUIChat.转换中') }}...\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watch } from '../../../../../adapter-vue';\nimport {\n IMessageModel,\n TUITranslateService,\n} from '@tencentcloud/chat-uikit-engine';\nimport { convertor } from '../../../utils/convertVoiceToText';\n\ninterface IProps {\n message: IMessageModel;\n contentVisible: boolean;\n}\n\ninterface IEmits {\n (e: 'toggleErrorStatus', status: boolean): void;\n}\n\nconst emits = defineEmits<IEmits>();\nconst props = withDefaults(defineProps<IProps>(), {\n message: () => ({} as IMessageModel),\n isSingleConvert: false,\n});\n\nconst convertFinished = ref<boolean>(false);\nconst convertText = ref<string>('');\n\nwatch(() => props.contentVisible, (newVal: boolean) => {\n if (newVal) {\n convertor.get(props.message)\n .then((text) => {\n convertFinished.value = true;\n convertText.value = text;\n })\n .catch((err) => {\n convertFinished.value = true;\n emits('toggleErrorStatus', true);\n convertText.value = err.message;\n });\n }\n}, {\n immediate: true,\n});\n</script>\n\n<style lang=\"scss\" scoped>\n.message-convert-container {\n min-height: 20px;\n min-width: 80px;\n position: relative;\n transition: width 0.15s ease-out, height 0.15s ease-out, ;\n font-size: 14px;\n\n .loading {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 1;\n transition: opacity 0.3s ease-out;\n\n &.loading-end {\n opacity: 0;\n }\n }\n\n .convert-content {\n opacity: 0;\n\n &.occur {\n animation: occur 0.3s ease-out 0.45s forwards;\n\n @keyframes occur {\n 100% {\n opacity: 1;\n }\n }\n }\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.vue'\nwx.createComponent(Component)"],"names":["ref","watch","convertor"],"mappings":";;;;;;;;;;;;AAuCA,UAAM,QAAQ;AACd,UAAM,QAAQ;AAKR,UAAA,kBAAkBA,kBAAa,KAAK;AACpC,UAAA,cAAcA,kBAAY,EAAE;AAElCC,kBAAAA,MAAM,MAAM,MAAM,gBAAgB,CAAC,WAAoB;AACrD,UAAI,QAAQ;AACVC,2DAAA,UAAU,IAAI,MAAM,OAAO,EACxB,KAAK,CAAC,SAAS;AACd,0BAAgB,QAAQ;AACxB,sBAAY,QAAQ;AAAA,QAAA,CACrB,EACA,MAAM,CAAC,QAAQ;AACd,0BAAgB,QAAQ;AACxB,gBAAM,qBAAqB,IAAI;AAC/B,sBAAY,QAAQ,IAAI;AAAA,QAAA,CACzB;AAAA,MACL;AAAA,IAAA,GACC;AAAA,MACD,WAAW;AAAA,IAAA,CACZ;;;;;;;;;;;;;;AC9DD,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtY29udmVydC9pbmRleC52dWU"],"sourcesContent":["<template>\r\n <div\r\n v-if=\"convertVisible\"\r\n ref=\"convertWrapperRef\"\r\n :class=\"{\r\n 'message-convert': true,\r\n 'reverse': props.message.flow === 'out',\r\n 'error': hasConvertError,\r\n }\"\r\n >\r\n <ConvertContent\r\n :message=\"props.message\"\r\n :contentVisible=\"convertVisible\"\r\n :isSingleConvert=\"isSingleConvert\"\r\n :convertWrapperRef=\"convertWrapperRef\"\r\n @toggleErrorStatus=\"toggleErrorStatus\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, onMounted, onUnmounted } from '../../../../../adapter-vue';\r\nimport {\r\n TUIStore,\r\n StoreName,\r\n IMessageModel,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport ConvertContent from './convert-content.vue';\r\nimport { IConvertInfo } from '../../../../../interface';\r\n\r\ninterface IProps {\r\n message: IMessageModel;\r\n}\r\n\r\nconst props = withDefaults(defineProps<IProps>(), {\r\n message: () => ({} as IMessageModel),\r\n});\r\n\r\nconst convertVisible = ref<boolean>(false);\r\nconst hasConvertError = ref<boolean>(false);\r\nconst convertWrapperRef = ref<HTMLDivElement>();\r\n\r\nlet isSingleConvert = true;\r\n\r\nonMounted(() => {\r\n TUIStore.watch(StoreName.CHAT, {\r\n voiceToTextInfo: onMessageConvertUpdated,\r\n });\r\n});\r\n\r\nonUnmounted(() => {\r\n TUIStore.unwatch(StoreName.CHAT, {\r\n voiceToTextInfo: onMessageConvertUpdated,\r\n });\r\n});\r\n\r\nfunction toggleErrorStatus(hasError: boolean) {\r\n hasConvertError.value = hasError;\r\n}\r\n\r\nfunction onMessageConvertUpdated(info: Map<string, IConvertInfo[]>) {\r\n if (info === undefined) return;\r\n isSingleConvert = false;\r\n const convertInfoList = info.get(props.message.conversationID) || [];\r\n for (let i = 0; i < convertInfoList.length; ++i) {\r\n const { messageID, visible } = convertInfoList[i];\r\n if (messageID === props.message.ID && visible !== undefined) {\r\n if (convertInfoList.length === 1 && visible) {\r\n isSingleConvert = true;\r\n }\r\n hasConvertError.value = false;\r\n convertVisible.value = visible;\r\n break;\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.message-convert {\r\n margin-top: 4px;\r\n margin-left: 44px;\r\n padding: 10px;\r\n background-color: #f2f7ff;\r\n border-radius: 10px;\r\n display: flex;\r\n flex-direction: column !important;\r\n transition: background-color 0.15s ease-out;\r\n\r\n &.error {\r\n background-color: #ffdfdf;\r\n }\r\n}\r\n\r\n.message-convert.reverse {\r\n margin-right: 44px;\r\n margin-left: auto;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","TUIStore","StoreName","onUnmounted"],"mappings":";;;;;;AA2BA,MAAA,iBAA2B,MAAA;;;;;;;AAO3B,UAAM,QAAQ;AAIR,UAAA,iBAAiBA,kBAAa,KAAK;AACnC,UAAA,kBAAkBA,kBAAa,KAAK;AAC1C,UAAM,oBAAoBA,cAAAA;AAE1B,QAAI,kBAAkB;AAEtBC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,iBAAiB;AAAA,MAAA,CAClB;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,iBAAiB;AAAA,MAAA,CAClB;AAAA,IAAA,CACF;AAED,aAAS,kBAAkB,UAAmB;AAC5C,sBAAgB,QAAQ;AAAA,IAC1B;AAEA,aAAS,wBAAwB,MAAmC;AAClE,UAAI,SAAS;AAAW;AACN,wBAAA;AAClB,YAAM,kBAAkB,KAAK,IAAI,MAAM,QAAQ,cAAc,KAAK;AAClE,eAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,EAAE,GAAG;AAC/C,cAAM,EAAE,WAAW,QAAQ,IAAI,gBAAgB,CAAC;AAChD,YAAI,cAAc,MAAM,QAAQ,MAAM,YAAY,QAAW;AACvD,cAAA,gBAAgB,WAAW,KAAK,SAAS;AACzB,8BAAA;AAAA,UACpB;AACA,0BAAgB,QAAQ;AACxB,yBAAe,QAAQ;AACvB;AAAA,QACF;AAAA,MACF;AAAA,IACF;;;;;;;;;;;;;;;;;;;AC1EA,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.vue?type=component"],"sourcesContent":["<template>\n <div\n v-if=\"convertVisible\"\n ref=\"convertWrapperRef\"\n :class=\"{\n 'message-convert': true,\n 'reverse': props.message.flow === 'out',\n 'error': hasConvertError,\n }\"\n >\n <ConvertContent\n :message=\"props.message\"\n :contentVisible=\"convertVisible\"\n :isSingleConvert=\"isSingleConvert\"\n :convertWrapperRef=\"convertWrapperRef\"\n @toggleErrorStatus=\"toggleErrorStatus\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, onUnmounted } from '../../../../../adapter-vue';\nimport {\n TUIStore,\n StoreName,\n IMessageModel,\n} from '@tencentcloud/chat-uikit-engine';\nimport ConvertContent from './convert-content.vue';\nimport { IConvertInfo } from '../../../../../interface';\n\ninterface IProps {\n message: IMessageModel;\n}\n\nconst props = withDefaults(defineProps<IProps>(), {\n message: () => ({} as IMessageModel),\n});\n\nconst convertVisible = ref<boolean>(false);\nconst hasConvertError = ref<boolean>(false);\nconst convertWrapperRef = ref<HTMLDivElement>();\n\nlet isSingleConvert = true;\n\nonMounted(() => {\n TUIStore.watch(StoreName.CHAT, {\n voiceToTextInfo: onMessageConvertUpdated,\n });\n});\n\nonUnmounted(() => {\n TUIStore.unwatch(StoreName.CHAT, {\n voiceToTextInfo: onMessageConvertUpdated,\n });\n});\n\nfunction toggleErrorStatus(hasError: boolean) {\n hasConvertError.value = hasError;\n}\n\nfunction onMessageConvertUpdated(info: Map<string, IConvertInfo[]>) {\n if (info === undefined) return;\n isSingleConvert = false;\n const convertInfoList = info.get(props.message.conversationID) || [];\n for (let i = 0; i < convertInfoList.length; ++i) {\n const { messageID, visible } = convertInfoList[i];\n if (messageID === props.message.ID && visible !== undefined) {\n if (convertInfoList.length === 1 && visible) {\n isSingleConvert = true;\n }\n hasConvertError.value = false;\n convertVisible.value = visible;\n break;\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.message-convert {\n margin-top: 4px;\n margin-left: 44px;\n padding: 10px;\n background-color: #f2f7ff;\n border-radius: 10px;\n display: flex;\n flex-direction: column !important;\n transition: background-color 0.15s ease-out;\n\n &.error {\n background-color: #ffdfdf;\n }\n}\n\n.message-convert.reverse {\n margin-right: 44px;\n margin-left: auto;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","TUIStore","StoreName","onUnmounted"],"mappings":";;;;;;AA2BA,MAAA,iBAA2B,MAAA;;;;;;;AAO3B,UAAM,QAAQ;AAIR,UAAA,iBAAiBA,kBAAa,KAAK;AACnC,UAAA,kBAAkBA,kBAAa,KAAK;AAC1C,UAAM,oBAAoBA,cAAAA;AAE1B,QAAI,kBAAkB;AAEtBC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,iBAAiB;AAAA,MAAA,CAClB;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,iBAAiB;AAAA,MAAA,CAClB;AAAA,IAAA,CACF;AAED,aAAS,kBAAkB,UAAmB;AAC5C,sBAAgB,QAAQ;AAAA,IAC1B;AAEA,aAAS,wBAAwB,MAAmC;AAClE,UAAI,SAAS;AAAW;AACN,wBAAA;AAClB,YAAM,kBAAkB,KAAK,IAAI,MAAM,QAAQ,cAAc,KAAK;AAClE,eAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,EAAE,GAAG;AAC/C,cAAM,EAAE,WAAW,QAAQ,IAAI,gBAAgB,CAAC;AAChD,YAAI,cAAc,MAAM,QAAQ,MAAM,YAAY,QAAW;AACvD,cAAA,gBAAgB,WAAW,KAAK,SAAS;AACzB,8BAAA;AAAA,UACpB;AACA,0BAAgB,QAAQ;AACxB,yBAAe,QAAQ;AACvB;AAAA,QACF;AAAA,MACF;AAAA,IACF;;;;;;;;;;;;;;;;;;;AC1EA,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-face.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-face.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtZmFjZS52dWU"],"sourcesContent":["<template>\r\n <div\r\n class=\"message-image\"\r\n >\r\n <img\r\n mode=\"aspectFit\"\r\n class=\"message-image\"\r\n :src=\"url\"\r\n >\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, onMounted } from '../../../../adapter-vue';\r\nimport { CUSTOM_BIG_EMOJI_URL } from '../../emoji-config';\r\n\r\nconst props = defineProps({\r\n content: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n});\r\n\r\nconst url = ref(props.content.url);\r\n\r\nonMounted(() => {\r\n if (props.content.type === 'custom') {\r\n if (!CUSTOM_BIG_EMOJI_URL) {\r\n uni.__f__('warn','at TUIKit/components/TUIChat/message-list/message-elements/message-face.vue:29','CUSTOM_BIG_EMOJI_URL is required for custom emoji, please check your CUSTOM_BIG_EMOJI_URL.');\r\n } else {\r\n url.value = CUSTOM_BIG_EMOJI_URL + props.content.name;\r\n }\r\n }\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n@import \"../../../../assets/styles/common\";\r\n\r\n.message-image {\r\n width: 80px;\r\n height: 80px;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-face.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","uni"],"mappings":";;;;;;;;;;;;;AAgBA,UAAM,QAAQ;AAOd,UAAM,MAAMA,cAAA,IAAI,MAAM,QAAQ,GAAG;AAEjCC,kBAAAA,UAAU,MAAM;AACV,UAAA,MAAM,QAAQ,SAAS,UAAU;AACR;AACrBC,wBAAAA,MAAA,MAAM,QAAO,kFAAiF,4FAA4F;AAAA,QAGhM;AAAA,MACF;AAAA,IAAA,CACD;;;;;;;;;AChCD,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-face.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-face.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-face.vue?type=component"],"sourcesContent":["<template>\n <div\n class=\"message-image\"\n >\n <img\n mode=\"aspectFit\"\n class=\"message-image\"\n :src=\"url\"\n >\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted } from '../../../../adapter-vue';\nimport { CUSTOM_BIG_EMOJI_URL } from '../../emoji-config';\n\nconst props = defineProps({\n content: {\n type: Object,\n default: () => ({}),\n },\n});\n\nconst url = ref(props.content.url);\n\nonMounted(() => {\n if (props.content.type === 'custom') {\n if (!CUSTOM_BIG_EMOJI_URL) {\n uni.__f__('warn','at TUIKit/components/TUIChat/message-list/message-elements/message-face.vue:29','CUSTOM_BIG_EMOJI_URL is required for custom emoji, please check your CUSTOM_BIG_EMOJI_URL.');\n } else {\n url.value = CUSTOM_BIG_EMOJI_URL + props.content.name;\n }\n }\n});\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"../../../../assets/styles/common\";\n\n.message-image {\n width: 80px;\n height: 80px;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-face.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","uni"],"mappings":";;;;;;;;;;;;;AAgBA,UAAM,QAAQ;AAOd,UAAM,MAAMA,cAAA,IAAI,MAAM,QAAQ,GAAG;AAEjCC,kBAAAA,UAAU,MAAM;AACV,UAAA,MAAM,QAAQ,SAAS,UAAU;AACR;AACrBC,wBAAAA,MAAA,MAAM,QAAO,kFAAiF,4FAA4F;AAAA,QAGhM;AAAA,MACF;AAAA,IAAA,CACD;;;;;;;;;AChCD,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-file.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-file.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtZmlsZS52dWU"],"sourcesContent":["<template>\r\n <div\r\n class=\"file-message-montainer\"\r\n :title=\"TUITranslateService.t('TUIChat.单击下载')\"\r\n @click=\"download\"\r\n >\r\n <Icon\r\n :file=\"files\"\r\n class=\"file-icon\"\r\n />\r\n <div>\r\n <div>{{ props.content.name }}</div>\r\n <div>{{ props.content.size }}</div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { withDefaults } from '../../../../adapter-vue';\r\nimport { TUITranslateService, IMessageModel } from '@tencentcloud/chat-uikit-engine';\r\nimport Icon from '../../../common/Icon.vue';\r\nimport files from '../../../../assets/icon/file-light.svg';\r\nimport type { IFileMessageContent } from '../../../../interface';\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n content: IFileMessageContent;\r\n messageItem: IMessageModel;\r\n }>(),\r\n {\r\n content: () => ({} as IFileMessageContent),\r\n messageItem: () => ({} as IMessageModel),\r\n },\r\n);\r\n\r\nconst download = () => {\r\n if (props.messageItem.hasRiskContent) {\r\n return;\r\n }\r\n const option = {\r\n mode: 'cors',\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }),\r\n } as RequestInit;\r\n // If the browser supports fetch, use blob to download, so as to avoid the browser clicking the a tag and jumping to the preview of the new page\r\n if ((window as any)?.fetch) {\r\n fetch(props.content.url, option)\r\n .then(res => res.blob())\r\n .then((blob) => {\r\n const a = document.createElement('a');\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = props.content.name;\r\n a.click();\r\n });\r\n } else {\r\n const a = document.createElement('a');\r\n a.href = props.content.url;\r\n a.target = '_blank';\r\n a.download = props.content.name;\r\n a.click();\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import \"../../../../assets/styles/common\";\r\n\r\n.file-message-montainer {\r\n display: flex;\r\n flex-direction: row;\r\n cursor: pointer;\r\n\r\n .file-icon {\r\n margin: auto 8px;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-file.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;;;;;AAoBA,MAAA,OAAiB,MAAA;;;;;;;;AAIjB,UAAM,QAAQ;AAWd,UAAM,WAAW,MAAM;AACjB,UAAA,MAAM,YAAY,gBAAgB;AACpC;AAAA,MACF;AACA,YAAM,SAAS;AAAA,QACb,MAAM;AAAA,QACN,SAAS,IAAI,QAAQ;AAAA,UACnB,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAGH,UAAK,iCAAgB,OAAO;AAC1B,cAAM,MAAM,QAAQ,KAAK,MAAM,EAC5B,KAAK,CAAO,QAAA,IAAI,KAAK,CAAC,EACtB,KAAK,CAAC,SAAS;AACR,gBAAA,IAAI,SAAS,cAAc,GAAG;AACpC,gBAAM,MAAM,OAAO,IAAI,gBAAgB,IAAI;AAC3C,YAAE,OAAO;AACP,YAAA,WAAW,MAAM,QAAQ;AAC3B,YAAE,MAAM;AAAA,QAAA,CACT;AAAA,MAAA,OACE;AACC,cAAA,IAAI,SAAS,cAAc,GAAG;AAClC,UAAA,OAAO,MAAM,QAAQ;AACvB,UAAE,SAAS;AACT,UAAA,WAAW,MAAM,QAAQ;AAC3B,UAAE,MAAM;AAAA,MACV;AAAA,IAAA;;;;;;;;;;;;;;;AC7DF,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-file.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-file.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-file.vue?type=component"],"sourcesContent":["<template>\n <div\n class=\"file-message-montainer\"\n :title=\"TUITranslateService.t('TUIChat.单击下载')\"\n @click=\"download\"\n >\n <Icon\n :file=\"files\"\n class=\"file-icon\"\n />\n <div>\n <div>{{ props.content.name }}</div>\n <div>{{ props.content.size }}</div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { withDefaults } from '../../../../adapter-vue';\nimport { TUITranslateService, IMessageModel } from '@tencentcloud/chat-uikit-engine';\nimport Icon from '../../../common/Icon.vue';\nimport files from '../../../../assets/icon/file-light.svg';\nimport type { IFileMessageContent } from '../../../../interface';\n\nconst props = withDefaults(\n defineProps<{\n content: IFileMessageContent;\n messageItem: IMessageModel;\n }>(),\n {\n content: () => ({} as IFileMessageContent),\n messageItem: () => ({} as IMessageModel),\n },\n);\n\nconst download = () => {\n if (props.messageItem.hasRiskContent) {\n return;\n }\n const option = {\n mode: 'cors',\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded',\n }),\n } as RequestInit;\n // If the browser supports fetch, use blob to download, so as to avoid the browser clicking the a tag and jumping to the preview of the new page\n if ((window as any)?.fetch) {\n fetch(props.content.url, option)\n .then(res => res.blob())\n .then((blob) => {\n const a = document.createElement('a');\n const url = window.URL.createObjectURL(blob);\n a.href = url;\n a.download = props.content.name;\n a.click();\n });\n } else {\n const a = document.createElement('a');\n a.href = props.content.url;\n a.target = '_blank';\n a.download = props.content.name;\n a.click();\n }\n};\n</script>\n<style lang=\"scss\" scoped>\n@import \"../../../../assets/styles/common\";\n\n.file-message-montainer {\n display: flex;\n flex-direction: row;\n cursor: pointer;\n\n .file-icon {\n margin: auto 8px;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-file.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;;;;;AAoBA,MAAA,OAAiB,MAAA;;;;;;;;AAIjB,UAAM,QAAQ;AAWd,UAAM,WAAW,MAAM;AACjB,UAAA,MAAM,YAAY,gBAAgB;AACpC;AAAA,MACF;AACA,YAAM,SAAS;AAAA,QACb,MAAM;AAAA,QACN,SAAS,IAAI,QAAQ;AAAA,UACnB,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAGH,UAAK,iCAAgB,OAAO;AAC1B,cAAM,MAAM,QAAQ,KAAK,MAAM,EAC5B,KAAK,CAAO,QAAA,IAAI,KAAK,CAAC,EACtB,KAAK,CAAC,SAAS;AACR,gBAAA,IAAI,SAAS,cAAc,GAAG;AACpC,gBAAM,MAAM,OAAO,IAAI,gBAAgB,IAAI;AAC3C,YAAE,OAAO;AACP,YAAA,WAAW,MAAM,QAAQ;AAC3B,YAAE,MAAM;AAAA,QAAA,CACT;AAAA,MAAA,OACE;AACC,cAAA,IAAI,SAAS,cAAc,GAAG;AAClC,UAAA,OAAO,MAAM,QAAQ;AACvB,UAAE,SAAS;AACT,UAAA,WAAW,MAAM,QAAQ;AAC3B,UAAE,MAAM;AAAA,MACV;AAAA,IAAA;;;;;;;;;;;;;;;AC7DF,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-image.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-image.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtaW1hZ2UudnVl"],"sourcesContent":["<template>\r\n <div\r\n class=\"image-container\"\r\n @click=\"handleImagePreview\"\r\n >\r\n <image\r\n class=\"message-image\"\r\n mode=\"aspectFit\"\r\n :src=\"props.content.url\"\r\n :style=\"{ width: imageStyles.width, height: imageStyles.height }\"\r\n @load=\"imageLoad\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { watchEffect, ref } from '../../../../adapter-vue';\r\nimport type { IMessageModel } from '@tencentcloud/chat-uikit-engine';\r\nimport type { IImageMessageContent } from '../../../../interface';\r\n\r\ninterface IProps {\r\n content: IImageMessageContent;\r\n messageItem: IMessageModel;\r\n}\r\ninterface IEmit {\r\n (key: 'previewImage'): void;\r\n}\r\n\r\nconst emits = defineEmits<IEmit>();\r\nconst props = withDefaults(\r\n defineProps<IProps>(),\r\n {\r\n content: () => ({}),\r\n messageItem: () => ({} as IMessageModel),\r\n },\r\n);\r\n\r\nconst DEFAULT_MAX_SIZE = 155;\r\nconst imageStyles = ref({ width: 'auto', height: 'auto' });\r\n\r\nconst genImageStyles = (value: { width?: any; height?: any }) => {\r\n const { width, height } = value;\r\n if (width === 0 || height === 0) {\r\n return;\r\n }\r\n\r\n let imageWidth = 0;\r\n let imageHeight = 0;\r\n if (width >= height) {\r\n imageWidth = DEFAULT_MAX_SIZE;\r\n imageHeight = (DEFAULT_MAX_SIZE * height) / width;\r\n } else {\r\n imageWidth = (DEFAULT_MAX_SIZE * width) / height;\r\n imageHeight = DEFAULT_MAX_SIZE;\r\n }\r\n imageStyles.value.width = imageWidth + 'px';\r\n imageStyles.value.height = imageHeight + 'px';\r\n};\r\n\r\nwatchEffect(() => {\r\n genImageStyles(props.content);\r\n});\r\n\r\nconst imageLoad = (event: Event) => {\r\n genImageStyles(event.detail);\r\n};\r\n\r\nconst handleImagePreview = () => {\r\n if (props.messageItem?.status === 'success' || props.messageItem.progress === 1) {\r\n emits('previewImage');\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.image-container {\r\n position: relative;\r\n background-color: #f4f4f4;\r\n font-size: 0;\r\n\r\n .message-image {\r\n max-width: 150px;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-image.vue'\nwx.createComponent(Component)"],"names":["ref","watchEffect"],"mappings":";;;AAqCA,MAAM,mBAAmB;;;;;;;;;AATzB,UAAM,QAAQ;AACd,UAAM,QAAQ;AASd,UAAM,cAAcA,cAAAA,IAAI,EAAE,OAAO,QAAQ,QAAQ,QAAQ;AAEnD,UAAA,iBAAiB,CAAC,UAAyC;AACzD,YAAA,EAAE,OAAO,OAAW,IAAA;AACtB,UAAA,UAAU,KAAK,WAAW,GAAG;AAC/B;AAAA,MACF;AAEA,UAAI,aAAa;AACjB,UAAI,cAAc;AAClB,UAAI,SAAS,QAAQ;AACN,qBAAA;AACb,sBAAe,mBAAmB,SAAU;AAAA,MAAA,OACvC;AACL,qBAAc,mBAAmB,QAAS;AAC5B,sBAAA;AAAA,MAChB;AACY,kBAAA,MAAM,QAAQ,aAAa;AAC3B,kBAAA,MAAM,SAAS,cAAc;AAAA,IAAA;AAG3CC,kBAAAA,YAAY,MAAM;AAChB,qBAAe,MAAM,OAAO;AAAA,IAAA,CAC7B;AAEK,UAAA,YAAY,CAAC,UAAiB;AAClC,qBAAe,MAAM,MAAM;AAAA,IAAA;AAG7B,UAAM,qBAAqB,MAAM;;AAC/B,YAAI,WAAM,gBAAN,mBAAmB,YAAW,aAAa,MAAM,YAAY,aAAa,GAAG;AAC/E,cAAM,cAAc;AAAA,MACtB;AAAA,IAAA;;;;;;;;;;;;;ACrEF,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-image.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-image.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-image.vue?type=component"],"sourcesContent":["<template>\n <div\n class=\"image-container\"\n @click=\"handleImagePreview\"\n >\n <image\n class=\"message-image\"\n mode=\"aspectFit\"\n :src=\"props.content.url\"\n :style=\"{ width: imageStyles.width, height: imageStyles.height }\"\n @load=\"imageLoad\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { watchEffect, ref } from '../../../../adapter-vue';\nimport type { IMessageModel } from '@tencentcloud/chat-uikit-engine';\nimport type { IImageMessageContent } from '../../../../interface';\n\ninterface IProps {\n content: IImageMessageContent;\n messageItem: IMessageModel;\n}\ninterface IEmit {\n (key: 'previewImage'): void;\n}\n\nconst emits = defineEmits<IEmit>();\nconst props = withDefaults(\n defineProps<IProps>(),\n {\n content: () => ({}),\n messageItem: () => ({} as IMessageModel),\n },\n);\n\nconst DEFAULT_MAX_SIZE = 155;\nconst imageStyles = ref({ width: 'auto', height: 'auto' });\n\nconst genImageStyles = (value: { width?: any; height?: any }) => {\n const { width, height } = value;\n if (width === 0 || height === 0) {\n return;\n }\n\n let imageWidth = 0;\n let imageHeight = 0;\n if (width >= height) {\n imageWidth = DEFAULT_MAX_SIZE;\n imageHeight = (DEFAULT_MAX_SIZE * height) / width;\n } else {\n imageWidth = (DEFAULT_MAX_SIZE * width) / height;\n imageHeight = DEFAULT_MAX_SIZE;\n }\n imageStyles.value.width = imageWidth + 'px';\n imageStyles.value.height = imageHeight + 'px';\n};\n\nwatchEffect(() => {\n genImageStyles(props.content);\n});\n\nconst imageLoad = (event: Event) => {\n genImageStyles(event.detail);\n};\n\nconst handleImagePreview = () => {\n if (props.messageItem?.status === 'success' || props.messageItem.progress === 1) {\n emits('previewImage');\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.image-container {\n position: relative;\n background-color: #f4f4f4;\n font-size: 0;\n\n .message-image {\n max-width: 150px;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-image.vue'\nwx.createComponent(Component)"],"names":["ref","watchEffect"],"mappings":";;;AAqCA,MAAM,mBAAmB;;;;;;;;;AATzB,UAAM,QAAQ;AACd,UAAM,QAAQ;AASd,UAAM,cAAcA,cAAAA,IAAI,EAAE,OAAO,QAAQ,QAAQ,QAAQ;AAEnD,UAAA,iBAAiB,CAAC,UAAyC;AACzD,YAAA,EAAE,OAAO,OAAW,IAAA;AACtB,UAAA,UAAU,KAAK,WAAW,GAAG;AAC/B;AAAA,MACF;AAEA,UAAI,aAAa;AACjB,UAAI,cAAc;AAClB,UAAI,SAAS,QAAQ;AACN,qBAAA;AACb,sBAAe,mBAAmB,SAAU;AAAA,MAAA,OACvC;AACL,qBAAc,mBAAmB,QAAS;AAC5B,sBAAA;AAAA,MAChB;AACY,kBAAA,MAAM,QAAQ,aAAa;AAC3B,kBAAA,MAAM,SAAS,cAAc;AAAA,IAAA;AAG3CC,kBAAAA,YAAY,MAAM;AAChB,qBAAe,MAAM,OAAO;AAAA,IAAA,CAC7B;AAEK,UAAA,YAAY,CAAC,UAAiB;AAClC,qBAAe,MAAM,MAAM;AAAA,IAAA;AAG7B,UAAM,qBAAqB,MAAM;;AAC/B,YAAI,WAAM,gBAAN,mBAAmB,YAAW,aAAa,MAAM,YAAY,aAAa,GAAG;AAC/E,cAAM,cAAc;AAAA,MACtB;AAAA,IAAA;;;;;;;;;;;;;ACrEF,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-location.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-location.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtbG9jYXRpb24udnVl"],"sourcesContent":["<template>\r\n <a\r\n class=\"message-location\"\r\n :href=\"data.href\"\r\n target=\"_blank\"\r\n title=\"点击查看详情\"\r\n >\r\n <span class=\"el-icon-location-outline\">{{ data.description }}</span>\r\n <img :src=\"data.url\">\r\n </a>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { watchEffect, ref } from '../../../../adapter-vue';\r\nconst props = defineProps({\r\n content: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n});\r\nconst data = ref();\r\nwatchEffect(() => {\r\n data.value = props.content;\r\n});\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import \"../../../../assets/styles/common\";\r\n\r\n.message-location {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-location.vue'\nwx.createComponent(Component)"],"names":["ref","watchEffect"],"mappings":";;;;;;;;;;;;AAcA,UAAM,QAAQ;AAMd,UAAM,OAAOA,cAAAA;AACbC,kBAAAA,YAAY,MAAM;AAChB,WAAK,QAAQ,MAAM;AAAA,IAAA,CACpB;;;;;;;;;;;ACtBD,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-location.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-location.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-location.vue?type=component"],"sourcesContent":["<template>\n <a\n class=\"message-location\"\n :href=\"data.href\"\n target=\"_blank\"\n title=\"点击查看详情\"\n >\n <span class=\"el-icon-location-outline\">{{ data.description }}</span>\n <img :src=\"data.url\">\n </a>\n</template>\n\n<script lang=\"ts\" setup>\nimport { watchEffect, ref } from '../../../../adapter-vue';\nconst props = defineProps({\n content: {\n type: Object,\n default: () => ({}),\n },\n});\nconst data = ref();\nwatchEffect(() => {\n data.value = props.content;\n});\n</script>\n<style lang=\"scss\" scoped>\n@import \"../../../../assets/styles/common\";\n\n.message-location {\n display: flex;\n flex-direction: column;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-location.vue'\nwx.createComponent(Component)"],"names":["ref","watchEffect"],"mappings":";;;;;;;;;;;;AAcA,UAAM,QAAQ;AAMd,UAAM,OAAOA,cAAAA;AACbC,kBAAAA,YAAY,MAAM;AAChB,WAAK,QAAQ,MAAM;AAAA,IAAA,CACpB;;;;;;;;;;;ACtBD,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"interface.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-quote/interface.ts"],"sourcesContent":["export interface IQuoteContent {\r\n messageAbstract: string;\r\n messageID: string;\r\n messageSender: string;\r\n messageSequence: number;\r\n messageTime: number;\r\n messageType: number;\r\n version: number;\r\n}\r\n\r\nexport interface ICloudCustomData {\r\n messageReply: IQuoteContent;\r\n}\r\n\r\nexport enum MessageQuoteTypeEnum {\r\n /**\r\n * none message\r\n */\r\n TYPE_NONE = 0,\r\n /**\r\n * text message\r\n */\r\n TYPE_TEXT = 1,\r\n /**\r\n * custom message\r\n */\r\n TYPE_CUSTOM = 2,\r\n /**\r\n * image message\r\n */\r\n TYPE_IMAGE = 3,\r\n /**\r\n * voice message\r\n */\r\n TYPE_SOUND = 4,\r\n /**\r\n * video message\r\n */\r\n TYPE_VIDEO = 5,\r\n /**\r\n * file message\r\n */\r\n TYPE_FILE = 6,\r\n /**\r\n * location message\r\n */\r\n TYPE_LOCATION = 7,\r\n /**\r\n * animation face message\r\n */\r\n TYPE_FACE = 8,\r\n /**\r\n * group tips message (save in message list)\r\n */\r\n TYPE_GROUP_TIPS = 9,\r\n /**\r\n * merge forward message\r\n */\r\n TYPE_MERGER = 10,\r\n}\r\n"],"names":["MessageQuoteTypeEnum"],"mappings":";AAcY,IAAA,yCAAAA,0BAAL;AAILA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,iBAAc,CAAd,IAAA;AAIAA,wBAAAA,sBAAA,gBAAa,CAAb,IAAA;AAIAA,wBAAAA,sBAAA,gBAAa,CAAb,IAAA;AAIAA,wBAAAA,sBAAA,gBAAa,CAAb,IAAA;AAIAA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,mBAAgB,CAAhB,IAAA;AAIAA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,qBAAkB,CAAlB,IAAA;AAIAA,wBAAAA,sBAAA,iBAAc,EAAd,IAAA;AA5CUA,SAAAA;AAAA,GAAA,wBAAA,CAAA,CAAA;;"}
{"version":3,"file":"interface.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-quote/interface.ts"],"sourcesContent":["export interface IQuoteContent {\n messageAbstract: string;\n messageID: string;\n messageSender: string;\n messageSequence: number;\n messageTime: number;\n messageType: number;\n version: number;\n}\n\nexport interface ICloudCustomData {\n messageReply: IQuoteContent;\n}\n\nexport enum MessageQuoteTypeEnum {\n /**\n * none message\n */\n TYPE_NONE = 0,\n /**\n * text message\n */\n TYPE_TEXT = 1,\n /**\n * custom message\n */\n TYPE_CUSTOM = 2,\n /**\n * image message\n */\n TYPE_IMAGE = 3,\n /**\n * voice message\n */\n TYPE_SOUND = 4,\n /**\n * video message\n */\n TYPE_VIDEO = 5,\n /**\n * file message\n */\n TYPE_FILE = 6,\n /**\n * location message\n */\n TYPE_LOCATION = 7,\n /**\n * animation face message\n */\n TYPE_FACE = 8,\n /**\n * group tips message (save in message list)\n */\n TYPE_GROUP_TIPS = 9,\n /**\n * merge forward message\n */\n TYPE_MERGER = 10,\n}\n"],"names":["MessageQuoteTypeEnum"],"mappings":";AAcY,IAAA,yCAAAA,0BAAL;AAILA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,iBAAc,CAAd,IAAA;AAIAA,wBAAAA,sBAAA,gBAAa,CAAb,IAAA;AAIAA,wBAAAA,sBAAA,gBAAa,CAAb,IAAA;AAIAA,wBAAAA,sBAAA,gBAAa,CAAb,IAAA;AAIAA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,mBAAgB,CAAhB,IAAA;AAIAA,wBAAAA,sBAAA,eAAY,CAAZ,IAAA;AAIAA,wBAAAA,sBAAA,qBAAkB,CAAlB,IAAA;AAIAA,wBAAAA,sBAAA,iBAAc,EAAd,IAAA;AA5CUA,SAAAA;AAAA,GAAA,wBAAA,CAAA,CAAA;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-timestamp.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtdGltZXN0YW1wLnZ1ZQ"],"sourcesContent":["<template>\r\n <div\r\n v-if=\"timestampShowFlag\"\r\n class=\"message-timestamp\"\r\n >\r\n {{ timestampShowContent }}\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { toRefs, ref, watch } from '../../../../adapter-vue';\r\nimport { calculateTimestamp } from '../../utils/utils';\r\n\r\nconst props = defineProps({\r\n currTime: {\r\n type: Number,\r\n default: 0,\r\n },\r\n prevTime: {\r\n type: Number,\r\n default: 0,\r\n },\r\n});\r\nconst { currTime, prevTime } = toRefs(props);\r\nconst timestampShowFlag = ref(false);\r\nconst timestampShowContent = ref('');\r\n\r\nconst handleItemTime = (currTime: number, prevTime: number) => {\r\n timestampShowFlag.value = false;\r\n if (currTime <= 0) {\r\n return '';\r\n } else if (!prevTime || prevTime <= 0) {\r\n timestampShowFlag.value = true;\r\n return calculateTimestamp(currTime * 1000);\r\n } else {\r\n const minDiffToShow = 10 * 60; // 10min 10*60s\r\n const diff = currTime - prevTime; // s\r\n if (diff >= minDiffToShow) {\r\n timestampShowFlag.value = true;\r\n return calculateTimestamp(currTime * 1000);\r\n }\r\n }\r\n return '';\r\n};\r\n\r\nwatch(\r\n () => [currTime.value, prevTime.value],\r\n (newVal: any, oldVal: any) => {\r\n if (newVal?.toString() === oldVal?.toString()) {\r\n return;\r\n } else {\r\n timestampShowContent.value = handleItemTime(\r\n currTime.value,\r\n prevTime.value,\r\n );\r\n }\r\n },\r\n {\r\n immediate: true,\r\n },\r\n);\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import \"../../../../assets/styles/common\";\r\n\r\n.message-timestamp {\r\n margin: 10px auto;\r\n color: #999;\r\n font-size: 12px;\r\n overflow-wrap: anywhere;\r\n display: flex;\r\n align-items: center;\r\n text-align: center;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.vue'\nwx.createComponent(Component)"],"names":["toRefs","ref","currTime","prevTime","calculateTimestamp","watch"],"mappings":";;;;;;;;;;;;;;;;;AAYA,UAAM,QAAQ;AAUd,UAAM,EAAE,UAAU,SAAS,IAAIA,qBAAO,KAAK;AACrC,UAAA,oBAAoBC,kBAAI,KAAK;AAC7B,UAAA,uBAAuBA,kBAAI,EAAE;AAE7B,UAAA,iBAAiB,CAACC,WAAkBC,cAAqB;AAC7D,wBAAkB,QAAQ;AAC1B,UAAID,aAAY,GAAG;AACV,eAAA;AAAA,MACE,WAAA,CAACC,aAAYA,aAAY,GAAG;AACrC,0BAAkB,QAAQ;AACnB,eAAAC,sCAAA,mBAAmBF,YAAW,GAAI;AAAA,MAAA,OACpC;AACL,cAAM,gBAAgB,KAAK;AAC3B,cAAM,OAAOA,YAAWC;AACxB,YAAI,QAAQ,eAAe;AACzB,4BAAkB,QAAQ;AACnB,iBAAAC,sCAAA,mBAAmBF,YAAW,GAAI;AAAA,QAC3C;AAAA,MACF;AACO,aAAA;AAAA,IAAA;AAGTG,kBAAA;AAAA,MACE,MAAM,CAAC,SAAS,OAAO,SAAS,KAAK;AAAA,MACrC,CAAC,QAAa,WAAgB;AAC5B,aAAI,iCAAQ,iBAAe,iCAAQ,aAAY;AAC7C;AAAA,QAAA,OACK;AACL,+BAAqB,QAAQ;AAAA,YAC3B,SAAS;AAAA,YACT,SAAS;AAAA,UAAA;AAAA,QAEb;AAAA,MACF;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MACb;AAAA,IAAA;;;;;;;;;;;ACzDF,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-timestamp.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.vue?type=component"],"sourcesContent":["<template>\n <div\n v-if=\"timestampShowFlag\"\n class=\"message-timestamp\"\n >\n {{ timestampShowContent }}\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { toRefs, ref, watch } from '../../../../adapter-vue';\nimport { calculateTimestamp } from '../../utils/utils';\n\nconst props = defineProps({\n currTime: {\n type: Number,\n default: 0,\n },\n prevTime: {\n type: Number,\n default: 0,\n },\n});\nconst { currTime, prevTime } = toRefs(props);\nconst timestampShowFlag = ref(false);\nconst timestampShowContent = ref('');\n\nconst handleItemTime = (currTime: number, prevTime: number) => {\n timestampShowFlag.value = false;\n if (currTime <= 0) {\n return '';\n } else if (!prevTime || prevTime <= 0) {\n timestampShowFlag.value = true;\n return calculateTimestamp(currTime * 1000);\n } else {\n const minDiffToShow = 10 * 60; // 10min 10*60s\n const diff = currTime - prevTime; // s\n if (diff >= minDiffToShow) {\n timestampShowFlag.value = true;\n return calculateTimestamp(currTime * 1000);\n }\n }\n return '';\n};\n\nwatch(\n () => [currTime.value, prevTime.value],\n (newVal: any, oldVal: any) => {\n if (newVal?.toString() === oldVal?.toString()) {\n return;\n } else {\n timestampShowContent.value = handleItemTime(\n currTime.value,\n prevTime.value,\n );\n }\n },\n {\n immediate: true,\n },\n);\n</script>\n<style lang=\"scss\" scoped>\n@import \"../../../../assets/styles/common\";\n\n.message-timestamp {\n margin: 10px auto;\n color: #999;\n font-size: 12px;\n overflow-wrap: anywhere;\n display: flex;\n align-items: center;\n text-align: center;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.vue'\nwx.createComponent(Component)"],"names":["toRefs","ref","currTime","prevTime","calculateTimestamp","watch"],"mappings":";;;;;;;;;;;;;;;;;AAYA,UAAM,QAAQ;AAUd,UAAM,EAAE,UAAU,SAAS,IAAIA,qBAAO,KAAK;AACrC,UAAA,oBAAoBC,kBAAI,KAAK;AAC7B,UAAA,uBAAuBA,kBAAI,EAAE;AAE7B,UAAA,iBAAiB,CAACC,WAAkBC,cAAqB;AAC7D,wBAAkB,QAAQ;AAC1B,UAAID,aAAY,GAAG;AACV,eAAA;AAAA,MACE,WAAA,CAACC,aAAYA,aAAY,GAAG;AACrC,0BAAkB,QAAQ;AACnB,eAAAC,sCAAA,mBAAmBF,YAAW,GAAI;AAAA,MAAA,OACpC;AACL,cAAM,gBAAgB,KAAK;AAC3B,cAAM,OAAOA,YAAWC;AACxB,YAAI,QAAQ,eAAe;AACzB,4BAAkB,QAAQ;AACnB,iBAAAC,sCAAA,mBAAmBF,YAAW,GAAI;AAAA,QAC3C;AAAA,MACF;AACO,aAAA;AAAA,IAAA;AAGTG,kBAAA;AAAA,MACE,MAAM,CAAC,SAAS,OAAO,SAAS,KAAK;AAAA,MACrC,CAAC,QAAa,WAAgB;AAC5B,aAAI,iCAAQ,iBAAe,iCAAQ,aAAY;AAC7C;AAAA,QAAA,OACK;AACL,+BAAqB,QAAQ;AAAA,YAC3B,SAAS;AAAA,YACT,SAAS;AAAA,UAAA;AAAA,QAEb;AAAA,MACF;AAAA,MACA;AAAA,QACE,WAAW;AAAA,MACb;AAAA,IAAA;;;;;;;;;;;ACzDF,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-tip.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-tip.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtdGlwLnZ1ZQ"],"sourcesContent":["<template>\r\n <div class=\"message-tip\">\r\n <span>{{ tipContent }}</span>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed } from '../../../../adapter-vue';\r\nconst props = defineProps({\r\n content: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n});\r\nconst tipContent = computed(() => props.content?.text || props.content?.custom || '');\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import \"../../../../assets/styles/common\";\r\n\r\n.message-tip {\r\n margin: 0 auto;\r\n padding: 0 20px;\r\n color: #999;\r\n font-size: 12px;\r\n overflow-wrap: anywhere;\r\n display: flex;\r\n place-content: center center;\r\n align-items: center;\r\n text-align: center;\r\n margin-bottom: 10px;\r\n\r\n &-highlight {\r\n animation: highlight 1000ms infinite;\r\n\r\n @keyframes highlight {\r\n 50% {\r\n color: #ff9c19;\r\n }\r\n }\r\n\r\n @keyframes highlight {\r\n 50% {\r\n color: #ff9c19;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-tip.vue'\nwx.createComponent(Component)"],"names":["computed"],"mappings":";;;;;;;;;;;;AAQA,UAAM,QAAQ;AAMR,UAAA,aAAaA,cAAAA,SAAS,MAAM;;AAAA,0BAAM,YAAN,mBAAe,WAAQ,WAAM,YAAN,mBAAe,WAAU;AAAA,KAAE;;;;;;;;;ACbpF,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-tip.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-tip.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-tip.vue?type=component"],"sourcesContent":["<template>\n <div class=\"message-tip\">\n <span>{{ tipContent }}</span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from '../../../../adapter-vue';\nconst props = defineProps({\n content: {\n type: Object,\n default: () => ({}),\n },\n});\nconst tipContent = computed(() => props.content?.text || props.content?.custom || '');\n</script>\n<style lang=\"scss\" scoped>\n@import \"../../../../assets/styles/common\";\n\n.message-tip {\n margin: 0 auto;\n padding: 0 20px;\n color: #999;\n font-size: 12px;\n overflow-wrap: anywhere;\n display: flex;\n place-content: center center;\n align-items: center;\n text-align: center;\n margin-bottom: 10px;\n\n &-highlight {\n animation: highlight 1000ms infinite;\n\n @keyframes highlight {\n 50% {\n color: #ff9c19;\n }\n }\n\n @keyframes highlight {\n 50% {\n color: #ff9c19;\n }\n }\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-tip.vue'\nwx.createComponent(Component)"],"names":["computed"],"mappings":";;;;;;;;;;;;AAQA,UAAM,QAAQ;AAMR,UAAA,aAAaA,cAAAA,SAAS,MAAM;;AAAA,0BAAM,YAAN,mBAAe,WAAQ,WAAM,YAAN,mBAAe,WAAU;AAAA,KAAE;;;;;;;;;ACbpF,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtdHJhbnNsYXRlL2luZGV4LnZ1ZQ"],"sourcesContent":["<template>\r\n <div\r\n v-if=\"translationVisible\"\r\n ref=\"translationWrapperRef\"\r\n :class=\"{\r\n 'message-translation': true,\r\n 'reverse': props.message.flow === 'out',\r\n 'error': hasTranslationError,\r\n }\"\r\n >\r\n <TranslationContent\r\n :message=\"props.message\"\r\n :translationContentVisible=\"translationVisible\"\r\n :translationWrapperRef=\"translationWrapperRef\"\r\n :isSingleTranslation=\"isSingleTranslation\"\r\n @toggleErrorStatus=\"toggleErrorStatus\"\r\n />\r\n <div class=\"copyright\">\r\n <Icon\r\n :file=\"checkIcon\"\r\n size=\"13px\"\r\n />\r\n <div class=\"copyright-text\">\r\n {{ TUITranslateService.t('TUIChat.由IM提供翻译支持') }}\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, onMounted, onUnmounted } from '../../../../../adapter-vue';\r\nimport {\r\n TUIStore,\r\n StoreName,\r\n IMessageModel,\r\n TUITranslateService,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport Icon from '../../../../common/Icon.vue';\r\nimport TranslationContent from './translation-content.vue';\r\nimport checkIcon from '../../../../../assets/icon/check-sm.svg';\r\nimport { ITranslateInfo } from '../../../../../interface';\r\n\r\ninterface IProps {\r\n message: IMessageModel;\r\n}\r\n\r\nconst props = withDefaults(defineProps<IProps>(), {\r\n message: () => ({} as IMessageModel),\r\n});\r\n\r\nconst translationVisible = ref<boolean>(false);\r\nconst hasTranslationError = ref<boolean>(false);\r\n\r\nconst translationWrapperRef = ref<HTMLDivElement>();\r\n\r\nlet isSingleTranslation = true;\r\n\r\nonMounted(() => {\r\n TUIStore.watch(StoreName.CHAT, {\r\n translateTextInfo: onMessageTranslationUpdated,\r\n });\r\n});\r\n\r\nonUnmounted(() => {\r\n TUIStore.unwatch(StoreName.CHAT, {\r\n translateTextInfo: onMessageTranslationUpdated,\r\n });\r\n});\r\n\r\nfunction toggleErrorStatus(hasError: boolean) {\r\n hasTranslationError.value = hasError;\r\n}\r\n\r\nfunction onMessageTranslationUpdated(info: Map<string, ITranslateInfo[]>) {\r\n if (info === undefined) return;\r\n isSingleTranslation = false;\r\n const translationInfoList = info.get(props.message.conversationID) || [];\r\n for (let i = 0; i < translationInfoList.length; ++i) {\r\n const { messageID, visible } = translationInfoList[i];\r\n if (messageID === props.message.ID && visible !== undefined) {\r\n if (translationInfoList.length === 1 && visible) {\r\n isSingleTranslation = true;\r\n }\r\n hasTranslationError.value = false;\r\n translationVisible.value = visible;\r\n break;\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.message-translation {\r\n margin-top: 4px;\r\n margin-left: 44px;\r\n padding: 10px;\r\n background-color: #f2f7ff;\r\n border-radius: 10px;\r\n display: flex;\r\n flex-direction: column !important;\r\n transition: background-color 0.15s ease-out;\r\n\r\n &.error {\r\n background-color: #ffdfdf;\r\n }\r\n\r\n .copyright {\r\n display: flex;\r\n align-items: center;\r\n margin-top: 10px;\r\n\r\n .copyright-text {\r\n margin-left: 2px;\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n }\r\n}\r\n\r\n.message-translation.reverse {\r\n margin-right: 44px;\r\n margin-left: auto;\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","TUIStore","StoreName","onUnmounted"],"mappings":";;;;;;;AAqCA,MAAA,OAAiB,MAAA;AACjB,MAAA,qBAA+B,MAAA;;;;;;;AAQ/B,UAAM,QAAQ;AAIR,UAAA,qBAAqBA,kBAAa,KAAK;AACvC,UAAA,sBAAsBA,kBAAa,KAAK;AAE9C,UAAM,wBAAwBA,cAAAA;AAE9B,QAAI,sBAAsB;AAE1BC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,mBAAmB;AAAA,MAAA,CACpB;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,mBAAmB;AAAA,MAAA,CACpB;AAAA,IAAA,CACF;AAED,aAAS,kBAAkB,UAAmB;AAC5C,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,aAAS,4BAA4B,MAAqC;AACxE,UAAI,SAAS;AAAW;AACF,4BAAA;AACtB,YAAM,sBAAsB,KAAK,IAAI,MAAM,QAAQ,cAAc,KAAK;AACtE,eAAS,IAAI,GAAG,IAAI,oBAAoB,QAAQ,EAAE,GAAG;AACnD,cAAM,EAAE,WAAW,QAAQ,IAAI,oBAAoB,CAAC;AACpD,YAAI,cAAc,MAAM,QAAQ,MAAM,YAAY,QAAW;AACvD,cAAA,oBAAoB,WAAW,KAAK,SAAS;AACzB,kCAAA;AAAA,UACxB;AACA,8BAAoB,QAAQ;AAC5B,6BAAmB,QAAQ;AAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;ACvFA,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.vue?type=component"],"sourcesContent":["<template>\n <div\n v-if=\"translationVisible\"\n ref=\"translationWrapperRef\"\n :class=\"{\n 'message-translation': true,\n 'reverse': props.message.flow === 'out',\n 'error': hasTranslationError,\n }\"\n >\n <TranslationContent\n :message=\"props.message\"\n :translationContentVisible=\"translationVisible\"\n :translationWrapperRef=\"translationWrapperRef\"\n :isSingleTranslation=\"isSingleTranslation\"\n @toggleErrorStatus=\"toggleErrorStatus\"\n />\n <div class=\"copyright\">\n <Icon\n :file=\"checkIcon\"\n size=\"13px\"\n />\n <div class=\"copyright-text\">\n {{ TUITranslateService.t('TUIChat.由IM提供翻译支持') }}\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, onUnmounted } from '../../../../../adapter-vue';\nimport {\n TUIStore,\n StoreName,\n IMessageModel,\n TUITranslateService,\n} from '@tencentcloud/chat-uikit-engine';\nimport Icon from '../../../../common/Icon.vue';\nimport TranslationContent from './translation-content.vue';\nimport checkIcon from '../../../../../assets/icon/check-sm.svg';\nimport { ITranslateInfo } from '../../../../../interface';\n\ninterface IProps {\n message: IMessageModel;\n}\n\nconst props = withDefaults(defineProps<IProps>(), {\n message: () => ({} as IMessageModel),\n});\n\nconst translationVisible = ref<boolean>(false);\nconst hasTranslationError = ref<boolean>(false);\n\nconst translationWrapperRef = ref<HTMLDivElement>();\n\nlet isSingleTranslation = true;\n\nonMounted(() => {\n TUIStore.watch(StoreName.CHAT, {\n translateTextInfo: onMessageTranslationUpdated,\n });\n});\n\nonUnmounted(() => {\n TUIStore.unwatch(StoreName.CHAT, {\n translateTextInfo: onMessageTranslationUpdated,\n });\n});\n\nfunction toggleErrorStatus(hasError: boolean) {\n hasTranslationError.value = hasError;\n}\n\nfunction onMessageTranslationUpdated(info: Map<string, ITranslateInfo[]>) {\n if (info === undefined) return;\n isSingleTranslation = false;\n const translationInfoList = info.get(props.message.conversationID) || [];\n for (let i = 0; i < translationInfoList.length; ++i) {\n const { messageID, visible } = translationInfoList[i];\n if (messageID === props.message.ID && visible !== undefined) {\n if (translationInfoList.length === 1 && visible) {\n isSingleTranslation = true;\n }\n hasTranslationError.value = false;\n translationVisible.value = visible;\n break;\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.message-translation {\n margin-top: 4px;\n margin-left: 44px;\n padding: 10px;\n background-color: #f2f7ff;\n border-radius: 10px;\n display: flex;\n flex-direction: column !important;\n transition: background-color 0.15s ease-out;\n\n &.error {\n background-color: #ffdfdf;\n }\n\n .copyright {\n display: flex;\n align-items: center;\n margin-top: 10px;\n\n .copyright-text {\n margin-left: 2px;\n font-size: 12px;\n color: #999;\n }\n }\n}\n\n.message-translation.reverse {\n margin-right: 44px;\n margin-left: auto;\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","TUIStore","StoreName","onUnmounted"],"mappings":";;;;;;;AAqCA,MAAA,OAAiB,MAAA;AACjB,MAAA,qBAA+B,MAAA;;;;;;;AAQ/B,UAAM,QAAQ;AAIR,UAAA,qBAAqBA,kBAAa,KAAK;AACvC,UAAA,sBAAsBA,kBAAa,KAAK;AAE9C,UAAM,wBAAwBA,cAAAA;AAE9B,QAAI,sBAAsB;AAE1BC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,mBAAmB;AAAA,MAAA,CACpB;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,mBAAmB;AAAA,MAAA,CACpB;AAAA,IAAA,CACF;AAED,aAAS,kBAAkB,UAAmB;AAC5C,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,aAAS,4BAA4B,MAAqC;AACxE,UAAI,SAAS;AAAW;AACF,4BAAA;AACtB,YAAM,sBAAsB,KAAK,IAAI,MAAM,QAAQ,cAAc,KAAK;AACtE,eAAS,IAAI,GAAG,IAAI,oBAAoB,QAAQ,EAAE,GAAG;AACnD,cAAM,EAAE,WAAW,QAAQ,IAAI,oBAAoB,CAAC;AACpD,YAAI,cAAc,MAAM,QAAQ,MAAM,YAAY,QAAW;AACvD,cAAA,oBAAoB,WAAW,KAAK,SAAS;AACzB,kCAAA;AAAA,UACxB;AACA,8BAAoB,QAAQ;AAC5B,6BAAmB,QAAQ;AAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;ACvFA,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"translation-content.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtdHJhbnNsYXRlL3RyYW5zbGF0aW9uLWNvbnRlbnQudnVl"],"sourcesContent":["<template>\r\n <div class=\"message-translation-container\">\r\n <div\r\n v-if=\"translationFinished\"\r\n :id=\"`translation-content-${props.message.ID}`\"\r\n :class=\"{\r\n 'translation-content': true,\r\n 'occur': true\r\n }\"\r\n >\r\n <template\r\n v-if=\"translationTextList.length > 0\"\r\n >\r\n <span\r\n v-for=\"(text, index) in translationTextList\"\r\n :key=\"index\"\r\n >\r\n <img\r\n v-if=\"text.type === 'face'\"\r\n class=\"text-face\"\r\n :src=\"text.value\"\r\n >\r\n <span\r\n v-else\r\n class=\"text-plain\"\r\n >\r\n {{ text.value }}\r\n </span>\r\n </span>\r\n </template>\r\n <template v-else>\r\n {{ translationErrorText }}\r\n </template>\r\n </div>\r\n <div\r\n :class=\"{\r\n 'loading': true,\r\n 'loading-end': translationFinished\r\n }\"\r\n >\r\n {{ TUITranslateService.t('TUIChat.翻译中') }}...\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, watch } from '../../../../../adapter-vue';\r\nimport {\r\n IMessageModel,\r\n TUITranslateService,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport { TranslationTextType, translator } from '../../../utils/translation';\r\n\r\ninterface IProps {\r\n message: IMessageModel;\r\n translationContentVisible: boolean;\r\n isSingleTranslation: boolean;\r\n translationWrapperRef: HTMLDivElement | undefined;\r\n}\r\n\r\nconst props = withDefaults(defineProps<IProps>(), {\r\n message: () => ({} as IMessageModel),\r\n});\r\n\r\nconst translationFinished = ref<boolean>(false);\r\nconst translationErrorText = ref<string>('');\r\nconst translationTextList = ref<TranslationTextType[]>([]);\r\n\r\nwatch(() => props.translationContentVisible, (newVal: boolean) => {\r\n if (newVal) {\r\n translator.get(props.message)\r\n .then((result) => {\r\n translationFinished.value = true;\r\n translationTextList.value = result;\r\n })\r\n .catch((err) => {\r\n translationFinished.value = true;\r\n emits('toggleErrorStatus', true);\r\n translationErrorText.value = err.message;\r\n });\r\n }\r\n}, { immediate: true });\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.message-translation-container {\r\n min-height: 16px;\r\n min-width: 80px;\r\n position: relative;\r\n transition: width 0.15s ease-out, height 0.15s ease-out, ;\r\n font-size: 14px;\r\n\r\n .loading {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n opacity: 1;\r\n transition: opacity 0.3s ease-out;\r\n\r\n &.loading-end {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n .translation-content {\r\n opacity: 0;\r\n\r\n &.occur {\r\n animation: occur 0.3s ease-out 0.45s forwards;\r\n\r\n @keyframes occur {\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n .text-face {\r\n width: 20px;\r\n height: 20px;\r\n }\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.vue'\nwx.createComponent(Component)"],"names":["ref","watch","translator"],"mappings":";;;;;;;;;;;;;AA4DA,UAAM,QAAQ;AAIR,UAAA,sBAAsBA,kBAAa,KAAK;AACxC,UAAA,uBAAuBA,kBAAY,EAAE;AACrC,UAAA,sBAAsBA,kBAA2B,CAAA,CAAE;AAEzDC,kBAAAA,MAAM,MAAM,MAAM,2BAA2B,CAAC,WAAoB;AAChE,UAAI,QAAQ;AACVC,oDAAA,WAAW,IAAI,MAAM,OAAO,EACzB,KAAK,CAAC,WAAW;AAChB,8BAAoB,QAAQ;AAC5B,8BAAoB,QAAQ;AAAA,QAAA,CAC7B,EACA,MAAM,CAAC,QAAQ;AACd,8BAAoB,QAAQ;AAC5B,gBAAM,qBAAqB,IAAI;AAC/B,+BAAqB,QAAQ,IAAI;AAAA,QAAA,CAClC;AAAA,MACL;AAAA,IAAA,GACC,EAAE,WAAW,KAAA,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFtB,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"translation-content.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.vue?type=component"],"sourcesContent":["<template>\n <div class=\"message-translation-container\">\n <div\n v-if=\"translationFinished\"\n :id=\"`translation-content-${props.message.ID}`\"\n :class=\"{\n 'translation-content': true,\n 'occur': true\n }\"\n >\n <template\n v-if=\"translationTextList.length > 0\"\n >\n <span\n v-for=\"(text, index) in translationTextList\"\n :key=\"index\"\n >\n <img\n v-if=\"text.type === 'face'\"\n class=\"text-face\"\n :src=\"text.value\"\n >\n <span\n v-else\n class=\"text-plain\"\n >\n {{ text.value }}\n </span>\n </span>\n </template>\n <template v-else>\n {{ translationErrorText }}\n </template>\n </div>\n <div\n :class=\"{\n 'loading': true,\n 'loading-end': translationFinished\n }\"\n >\n {{ TUITranslateService.t('TUIChat.翻译中') }}...\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watch } from '../../../../../adapter-vue';\nimport {\n IMessageModel,\n TUITranslateService,\n} from '@tencentcloud/chat-uikit-engine';\nimport { TranslationTextType, translator } from '../../../utils/translation';\n\ninterface IProps {\n message: IMessageModel;\n translationContentVisible: boolean;\n isSingleTranslation: boolean;\n translationWrapperRef: HTMLDivElement | undefined;\n}\n\nconst props = withDefaults(defineProps<IProps>(), {\n message: () => ({} as IMessageModel),\n});\n\nconst translationFinished = ref<boolean>(false);\nconst translationErrorText = ref<string>('');\nconst translationTextList = ref<TranslationTextType[]>([]);\n\nwatch(() => props.translationContentVisible, (newVal: boolean) => {\n if (newVal) {\n translator.get(props.message)\n .then((result) => {\n translationFinished.value = true;\n translationTextList.value = result;\n })\n .catch((err) => {\n translationFinished.value = true;\n emits('toggleErrorStatus', true);\n translationErrorText.value = err.message;\n });\n }\n}, { immediate: true });\n</script>\n\n<style lang=\"scss\" scoped>\n.message-translation-container {\n min-height: 16px;\n min-width: 80px;\n position: relative;\n transition: width 0.15s ease-out, height 0.15s ease-out, ;\n font-size: 14px;\n\n .loading {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 1;\n transition: opacity 0.3s ease-out;\n\n &.loading-end {\n opacity: 0;\n }\n }\n\n .translation-content {\n opacity: 0;\n\n &.occur {\n animation: occur 0.3s ease-out 0.45s forwards;\n\n @keyframes occur {\n 100% {\n opacity: 1;\n }\n }\n }\n\n .text-face {\n width: 20px;\n height: 20px;\n }\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.vue'\nwx.createComponent(Component)"],"names":["ref","watch","translator"],"mappings":";;;;;;;;;;;;;AA4DA,UAAM,QAAQ;AAIR,UAAA,sBAAsBA,kBAAa,KAAK;AACxC,UAAA,uBAAuBA,kBAAY,EAAE;AACrC,UAAA,sBAAsBA,kBAA2B,CAAA,CAAE;AAEzDC,kBAAAA,MAAM,MAAM,MAAM,2BAA2B,CAAC,WAAoB;AAChE,UAAI,QAAQ;AACVC,oDAAA,WAAW,IAAI,MAAM,OAAO,EACzB,KAAK,CAAC,WAAW;AAChB,8BAAoB,QAAQ;AAC5B,8BAAoB,QAAQ;AAAA,QAAA,CAC7B,EACA,MAAM,CAAC,QAAQ;AACd,8BAAoB,QAAQ;AAC5B,gBAAM,qBAAqB,IAAI;AAC/B,+BAAqB,QAAQ,IAAI;AAAA,QAAA,CAClC;AAAA,MACL;AAAA,IAAA,GACC,EAAE,WAAW,KAAA,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFtB,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-video.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-video.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL21lc3NhZ2UtdmlkZW8udnVl"],"sourcesContent":["<template>\r\n <div class=\"message-video\">\r\n <div\r\n class=\"message-video-box\"\r\n @click=\"handlerVideoPlay\"\r\n >\r\n <image\r\n :src=\"props.content.snapshotUrl\"\r\n class=\"message-video-box\"\r\n />\r\n <Icon\r\n v-if=\"props.messageItem.status === 'success' || props.messageItem.progress === 1\"\r\n class=\"video-play\"\r\n :file=\"playIcon\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { withDefaults } from '../../../../adapter-vue';\r\nimport type { IMessageModel } from '@tencentcloud/chat-uikit-engine';\r\nimport Icon from '../../../common/Icon.vue';\r\nimport playIcon from '../../../../assets/icon/video-play.png';\r\nimport type { IVideoMessageContent } from '../../../../interface';\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n content: IVideoMessageContent;\r\n messageItem: IMessageModel;\r\n }>(),\r\n {\r\n content: () => ({} as IVideoMessageContent),\r\n messageItem: () => ({} as IMessageModel),\r\n },\r\n);\r\n\r\nfunction handlerVideoPlay() {\r\n const encodedUrl = encodeURIComponent(props.content.url);\r\n uni.navigateTo({\r\n url: `/TUIKit/components/TUIChat/video-play?videoUrl=${encodedUrl}`,\r\n });\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.message-video {\r\n position: relative;\r\n\r\n &-box {\r\n width: 120px;\r\n max-width: 120px;\r\n background-color: rgba(#000, 0.3);\r\n border-radius: 6px;\r\n height: 200px;\r\n font-size: 0;\r\n }\r\n\r\n .video-play {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-video.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":";;;;;;AAsBA,MAAA,OAAiB,MAAA;;;;;;;;AAIjB,UAAM,QAAQ;AAWd,aAAS,mBAAmB;AAC1B,YAAM,aAAa,mBAAmB,MAAM,QAAQ,GAAG;AACvDA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK,kDAAkD,UAAU;AAAA,MAAA,CAClE;AAAA,IACH;;;;;;;;;;;;;;;;ACzCA,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-video.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/message-video.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-video.vue?type=component"],"sourcesContent":["<template>\n <div class=\"message-video\">\n <div\n class=\"message-video-box\"\n @click=\"handlerVideoPlay\"\n >\n <image\n :src=\"props.content.snapshotUrl\"\n class=\"message-video-box\"\n />\n <Icon\n v-if=\"props.messageItem.status === 'success' || props.messageItem.progress === 1\"\n class=\"video-play\"\n :file=\"playIcon\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { withDefaults } from '../../../../adapter-vue';\nimport type { IMessageModel } from '@tencentcloud/chat-uikit-engine';\nimport Icon from '../../../common/Icon.vue';\nimport playIcon from '../../../../assets/icon/video-play.png';\nimport type { IVideoMessageContent } from '../../../../interface';\n\nconst props = withDefaults(\n defineProps<{\n content: IVideoMessageContent;\n messageItem: IMessageModel;\n }>(),\n {\n content: () => ({} as IVideoMessageContent),\n messageItem: () => ({} as IMessageModel),\n },\n);\n\nfunction handlerVideoPlay() {\n const encodedUrl = encodeURIComponent(props.content.url);\n uni.navigateTo({\n url: `/TUIKit/components/TUIChat/video-play?videoUrl=${encodedUrl}`,\n });\n}\n</script>\n<style lang=\"scss\" scoped>\n.message-video {\n position: relative;\n\n &-box {\n width: 120px;\n max-width: 120px;\n background-color: rgba(#000, 0.3);\n border-radius: 6px;\n height: 200px;\n font-size: 0;\n }\n\n .video-play {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/message-video.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":";;;;;;AAsBA,MAAA,OAAiB,MAAA;;;;;;;;AAIjB,UAAM,QAAQ;AAWd,aAAS,mBAAmB;AAC1B,YAAM,aAAa,mBAAmB,MAAM,QAAQ,GAAG;AACvDA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK,kDAAkD,UAAU;AAAA,MAAA,CAClE;AAAA,IACH;;;;;;;;;;;;;;;;ACzCA,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-container.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLWVsZW1lbnRzL3NpbXBsZS1tZXNzYWdlLWxpc3QvbWVzc2FnZS1jb250YWluZXIudnVl"],"sourcesContent":["<template>\r\n <div class=\"simple-message-container\">\r\n <div class=\"simple-message-avatar\">\r\n <Avatar :url=\"props.avatar\" />\r\n </div>\r\n <div>\r\n <div class=\"simple-message-sender\">\r\n {{ props.sender }}\r\n </div>\r\n <div class=\"simple-message-body\">\r\n <div\r\n :class=\"{\r\n 'simple-message-content': true,\r\n 'no-padding': isNoPadding\r\n }\"\r\n >\r\n <slot />\r\n </div>\r\n <div class=\"timestamp\">\r\n {{ calculateTimestamp(props.time*1000) }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from '../../../../../adapter-vue';\r\nimport TUIChatEngine from '@tencentcloud/chat-uikit-engine';\r\nimport Avatar from '../../../../common/Avatar/index.vue';\r\nimport { calculateTimestamp } from '../../../utils/utils';\r\n\r\ninterface IProps {\r\n sender: string;\r\n avatar: string;\r\n type: string;\r\n time: number;\r\n}\r\n\r\nconst props = withDefaults(defineProps<IProps>(), {\r\n sender: '',\r\n avatar: '',\r\n});\r\n\r\nconst TYPES = TUIChatEngine.TYPES;\r\n\r\nconst isNoPadding = computed(() => {\r\n return [TYPES.MSG_IMAGE, TYPES.MSG_VIDEO, TYPES.MSG_MERGER].includes(props.type);\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:not(not){\r\n display: flex;\r\n flex-direction: column;\r\n min-width: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n.simple-message-container {\r\n flex-direction: row;\r\n\r\n .simple-message-avatar {\r\n flex: 0 0 auto;\r\n margin-right: 8px;\r\n }\r\n\r\n .simple-message-sender {\r\n display: block;\r\n max-width: 200px;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n font-size: 11px;\r\n color: #999;\r\n }\r\n\r\n .simple-message-body {\r\n flex-direction: row;\r\n align-items: flex-end;\r\n }\r\n\r\n .simple-message-content {\r\n margin-top: 8px;\r\n background-color: #dceafd;\r\n border-radius: 0 10px 10px;\r\n padding: 10px 12px;\r\n }\r\n\r\n .timestamp {\r\n flex: 0 0 auto;\r\n font-size: 12px;\r\n color: #aaa;\r\n margin-left: 6px;\r\n }\r\n\r\n .no-padding {\r\n padding: 0;\r\n background-color: transparent;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.vue'\nwx.createComponent(Component)"],"names":["TUIChatEngine","computed"],"mappings":";;;;;;;AA6BA,MAAA,SAAmB,MAAA;;;;;;;;;;AAUnB,UAAM,QAAQ;AAKd,UAAM,QAAQA,cAAc,GAAA;AAEtB,UAAA,cAAcC,cAAAA,SAAS,MAAM;AAC1B,aAAA,CAAC,MAAM,WAAW,MAAM,WAAW,MAAM,UAAU,EAAE,SAAS,MAAM,IAAI;AAAA,IAAA,CAChF;;;;;;;;;;;;;;AC/CD,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-container.js","sources":["TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.vue?type=component"],"sourcesContent":["<template>\n <div class=\"simple-message-container\">\n <div class=\"simple-message-avatar\">\n <Avatar :url=\"props.avatar\" />\n </div>\n <div>\n <div class=\"simple-message-sender\">\n {{ props.sender }}\n </div>\n <div class=\"simple-message-body\">\n <div\n :class=\"{\n 'simple-message-content': true,\n 'no-padding': isNoPadding\n }\"\n >\n <slot />\n </div>\n <div class=\"timestamp\">\n {{ calculateTimestamp(props.time*1000) }}\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from '../../../../../adapter-vue';\nimport TUIChatEngine from '@tencentcloud/chat-uikit-engine';\nimport Avatar from '../../../../common/Avatar/index.vue';\nimport { calculateTimestamp } from '../../../utils/utils';\n\ninterface IProps {\n sender: string;\n avatar: string;\n type: string;\n time: number;\n}\n\nconst props = withDefaults(defineProps<IProps>(), {\n sender: '',\n avatar: '',\n});\n\nconst TYPES = TUIChatEngine.TYPES;\n\nconst isNoPadding = computed(() => {\n return [TYPES.MSG_IMAGE, TYPES.MSG_VIDEO, TYPES.MSG_MERGER].includes(props.type);\n});\n</script>\n\n<style scoped lang=\"scss\">\n:not(not){\n display: flex;\n flex-direction: column;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.simple-message-container {\n flex-direction: row;\n\n .simple-message-avatar {\n flex: 0 0 auto;\n margin-right: 8px;\n }\n\n .simple-message-sender {\n display: block;\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 11px;\n color: #999;\n }\n\n .simple-message-body {\n flex-direction: row;\n align-items: flex-end;\n }\n\n .simple-message-content {\n margin-top: 8px;\n background-color: #dceafd;\n border-radius: 0 10px 10px;\n padding: 10px 12px;\n }\n\n .timestamp {\n flex: 0 0 auto;\n font-size: 12px;\n color: #aaa;\n margin-left: 6px;\n }\n\n .no-padding {\n padding: 0;\n background-color: transparent;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.vue'\nwx.createComponent(Component)"],"names":["TUIChatEngine","computed"],"mappings":";;;;;;;AA6BA,MAAA,SAAmB,MAAA;;;;;;;;;;AAUnB,UAAM,QAAQ;AAKd,UAAM,QAAQA,cAAc,GAAA;AAEtB,UAAA,cAAcC,cAAAA,SAAS,MAAM;AAC1B,aAAA,CAAC,MAAM,WAAW,MAAM,WAAW,MAAM,UAAU,EAAE,SAAS,MAAM,IAAI;AAAA,IAAA,CAChF;;;;;;;;;;;;;;AC/CD,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"message-revoked.js","sources":["TUIKit/components/TUIChat/message-list/message-tool/message-revoked.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L21lc3NhZ2UtbGlzdC9tZXNzYWdlLXRvb2wvbWVzc2FnZS1yZXZva2VkLnZ1ZQ"],"sourcesContent":["<template>\r\n <div class=\"revoke\">\r\n <span v-if=\"message.flow === 'in'\">{{ message.nick || message.from }}</span>\r\n <span v-else-if=\"message.from === message.revoker\">{{ TUITranslateService.t(\"TUIChat.您\") }}</span>\r\n <span v-else>{{ message.revoker }}</span>\r\n <span>{{ TUITranslateService.t(\"TUIChat.撤回了一条消息\") }}</span>\r\n <span\r\n v-if=\"message.flow === 'out' && isEditMsg\"\r\n class=\"edit\"\r\n @click=\"messageEdit\"\r\n >{{ TUITranslateService.t(\"TUIChat.重新编辑\") }}</span>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { watchEffect, ref } from '../../../../adapter-vue';\r\nimport { TUITranslateService, IMessageModel } from '@tencentcloud/chat-uikit-engine';\r\nconst props = defineProps({\r\n isEdit: {\r\n type: Boolean,\r\n default: () => false,\r\n },\r\n messageItem: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n});\r\n\r\nconst message = ref<IMessageModel>();\r\nconst isEditMsg = ref(false);\r\nconst emits = defineEmits(['messageEdit']);\r\n\r\nwatchEffect(() => {\r\n message.value = props.messageItem;\r\n isEditMsg.value = props.isEdit;\r\n});\r\nconst messageEdit = () => {\r\n emits('messageEdit');\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import \"../../../../assets/styles/common\";\r\n\r\n.revoke {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n color: #999;\r\n font-size: 12px;\r\n margin-bottom: 10px;\r\n white-space: pre;\r\n\r\n .edit {\r\n padding: 0 5px;\r\n color: #006eff;\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.vue'\nwx.createComponent(Component)"],"names":["ref","watchEffect"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,UAAM,QAAQ;AAWd,UAAM,UAAUA,cAAAA;AACV,UAAA,YAAYA,kBAAI,KAAK;AAC3B,UAAM,QAAQ;AAEdC,kBAAAA,YAAY,MAAM;AAChB,cAAQ,QAAQ,MAAM;AACtB,gBAAU,QAAQ,MAAM;AAAA,IAAA,CACzB;AACD,UAAM,cAAc,MAAM;AACxB,YAAM,aAAa;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;ACpCrB,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"message-revoked.js","sources":["TUIKit/components/TUIChat/message-list/message-tool/message-revoked.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.vue?type=component"],"sourcesContent":["<template>\n <div class=\"revoke\">\n <span v-if=\"message.flow === 'in'\">{{ message.nick || message.from }}</span>\n <span v-else-if=\"message.from === message.revoker\">{{ TUITranslateService.t(\"TUIChat.您\") }}</span>\n <span v-else>{{ message.revoker }}</span>\n <span>{{ TUITranslateService.t(\"TUIChat.撤回了一条消息\") }}</span>\n <span\n v-if=\"message.flow === 'out' && isEditMsg\"\n class=\"edit\"\n @click=\"messageEdit\"\n >{{ TUITranslateService.t(\"TUIChat.重新编辑\") }}</span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { watchEffect, ref } from '../../../../adapter-vue';\nimport { TUITranslateService, IMessageModel } from '@tencentcloud/chat-uikit-engine';\nconst props = defineProps({\n isEdit: {\n type: Boolean,\n default: () => false,\n },\n messageItem: {\n type: Object,\n default: () => ({}),\n },\n});\n\nconst message = ref<IMessageModel>();\nconst isEditMsg = ref(false);\nconst emits = defineEmits(['messageEdit']);\n\nwatchEffect(() => {\n message.value = props.messageItem;\n isEditMsg.value = props.isEdit;\n});\nconst messageEdit = () => {\n emits('messageEdit');\n};\n</script>\n<style lang=\"scss\" scoped>\n@import \"../../../../assets/styles/common\";\n\n.revoke {\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #999;\n font-size: 12px;\n margin-bottom: 10px;\n white-space: pre;\n\n .edit {\n padding: 0 5px;\n color: #006eff;\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.vue'\nwx.createComponent(Component)"],"names":["ref","watchEffect"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,UAAM,QAAQ;AAWd,UAAM,UAAUA,cAAAA;AACV,UAAA,YAAYA,kBAAI,KAAK;AAC3B,UAAM,QAAQ;AAEdC,kBAAAA,YAAY,MAAM;AAChB,cAAQ,QAAQ,MAAM;AACtB,gBAAU,QAAQ,MAAM;AAAA,IAAA,CACzB;AACD,UAAM,cAAc,MAAM;AACxB,YAAM,aAAa;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;ACpCrB,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/mulitple-select-panel/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L211bGl0cGxlLXNlbGVjdC1wYW5lbC9pbmRleC52dWU"],"sourcesContent":["<template>\r\n <div\r\n :class=\"{\r\n 'mulitple-select-panel': true,\r\n 'mulitple-select-panel-mobile': isMobile,\r\n }\"\r\n >\r\n <div\r\n class=\"forward-button\"\r\n @click=\"oneByOneForwardMessage\"\r\n >\r\n <Icon\r\n :file=\"ForwardEachIcon\"\r\n :size=\"iconSize\"\r\n />\r\n <span\r\n :class=\"{\r\n 'forward-button-text': true,\r\n 'forward-button-text-mobile': isMobile,\r\n }\"\r\n >{{ TUITranslateService.t('TUIChat.逐条转发') }}</span>\r\n </div>\r\n <div\r\n class=\"forward-button\"\r\n @click=\"mergeForwardMessage\"\r\n >\r\n <Icon\r\n :file=\"ForwardMergeIcon\"\r\n :size=\"iconSize\"\r\n />\r\n <span\r\n :class=\"{\r\n 'forward-button-text': true,\r\n 'forward-button-text-mobile': isMobile,\r\n }\"\r\n >{{ TUITranslateService.t('TUIChat.合并转发') }}</span>\r\n </div>\r\n <div\r\n class=\"forward-button\"\r\n @click=\"cancelMultipleSelect\"\r\n >\r\n <Icon\r\n class=\"cancel-button-icon\"\r\n :file=\"AddIcon\"\r\n :size=\"iconSize\"\r\n />\r\n <span\r\n :class=\"{\r\n 'forward-button-text': true,\r\n 'forward-button-text-mobile': isMobile,\r\n }\"\r\n >\r\n {{ TUITranslateService.t('TUIChat.取消') }}\r\n </span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref } from '../../../adapter-vue';\r\nimport {\r\n TUITranslateService,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport Icon from '../../common/Icon.vue';\r\nimport ForwardEachIcon from '../../../assets/icon/forward-each.svg';\r\nimport ForwardMergeIcon from '../../../assets/icon/forward-merge.svg';\r\nimport AddIcon from '../../../assets/icon/add-circle.svg';\r\nimport { isMobile } from '../../../utils/env';\r\n\r\ninterface IEmits {\r\n (key: 'oneByOneForwardMessage'): void;\r\n (key: 'mergeForwardMessage'): void;\r\n (key: 'toggleMultipleSelectMode'): void;\r\n}\r\n\r\nconst emits = defineEmits<IEmits>();\r\n\r\nconst iconSize = ref(isMobile ? '25px' : '30px');\r\n\r\nfunction oneByOneForwardMessage() {\r\n emits('oneByOneForwardMessage');\r\n}\r\n\r\nfunction mergeForwardMessage() {\r\n emits('mergeForwardMessage');\r\n}\r\n\r\nfunction cancelMultipleSelect() {\r\n emits('toggleMultipleSelectMode');\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:not(not) {\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n min-width: 0;\r\n}\r\n\r\n.mulitple-select-panel {\r\n height: 196px;\r\n border-top: 1px solid #ebebeb;\r\n flex-direction: row;\r\n justify-content: space-around;\r\n align-items: center;\r\n background-color: #EBF0F6;\r\n\r\n &-mobile {\r\n height: 64px;\r\n padding-bottom: 15px;\r\n flex-direction: row;\r\n align-items: flex-end;\r\n }\r\n}\r\n\r\n.forward-button {\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &-text {\r\n margin-top: 8px;\r\n font-size: 12px;\r\n\r\n &-mobile {\r\n margin-top: 2px;\r\n }\r\n }\r\n\r\n .cancel-button-icon {\r\n transform: rotate(45deg);\r\n }\r\n}\r\n</style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/mulitple-select-panel/index.vue'\nwx.createComponent(Component)"],"names":["ref","isMobile"],"mappings":";;;;;;;;AA+DA,MAAA,OAAiB,MAAA;;;;;AAYjB,UAAM,QAAQ;AAEd,UAAM,WAAWA,cAAA,IAAIC,iBAAW,WAAA,SAAS,MAAM;AAE/C,aAAS,yBAAyB;AAChC,YAAM,wBAAwB;AAAA,IAChC;AAEA,aAAS,sBAAsB;AAC7B,YAAM,qBAAqB;AAAA,IAC7B;AAEA,aAAS,uBAAuB;AAC9B,YAAM,0BAA0B;AAAA,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFA,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/mulitple-select-panel/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/mulitple-select-panel/index.vue?type=component"],"sourcesContent":["<template>\n <div\n :class=\"{\n 'mulitple-select-panel': true,\n 'mulitple-select-panel-mobile': isMobile,\n }\"\n >\n <div\n class=\"forward-button\"\n @click=\"oneByOneForwardMessage\"\n >\n <Icon\n :file=\"ForwardEachIcon\"\n :size=\"iconSize\"\n />\n <span\n :class=\"{\n 'forward-button-text': true,\n 'forward-button-text-mobile': isMobile,\n }\"\n >{{ TUITranslateService.t('TUIChat.逐条转发') }}</span>\n </div>\n <div\n class=\"forward-button\"\n @click=\"mergeForwardMessage\"\n >\n <Icon\n :file=\"ForwardMergeIcon\"\n :size=\"iconSize\"\n />\n <span\n :class=\"{\n 'forward-button-text': true,\n 'forward-button-text-mobile': isMobile,\n }\"\n >{{ TUITranslateService.t('TUIChat.合并转发') }}</span>\n </div>\n <div\n class=\"forward-button\"\n @click=\"cancelMultipleSelect\"\n >\n <Icon\n class=\"cancel-button-icon\"\n :file=\"AddIcon\"\n :size=\"iconSize\"\n />\n <span\n :class=\"{\n 'forward-button-text': true,\n 'forward-button-text-mobile': isMobile,\n }\"\n >\n {{ TUITranslateService.t('TUIChat.取消') }}\n </span>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from '../../../adapter-vue';\nimport {\n TUITranslateService,\n} from '@tencentcloud/chat-uikit-engine';\nimport Icon from '../../common/Icon.vue';\nimport ForwardEachIcon from '../../../assets/icon/forward-each.svg';\nimport ForwardMergeIcon from '../../../assets/icon/forward-merge.svg';\nimport AddIcon from '../../../assets/icon/add-circle.svg';\nimport { isMobile } from '../../../utils/env';\n\ninterface IEmits {\n (key: 'oneByOneForwardMessage'): void;\n (key: 'mergeForwardMessage'): void;\n (key: 'toggleMultipleSelectMode'): void;\n}\n\nconst emits = defineEmits<IEmits>();\n\nconst iconSize = ref(isMobile ? '25px' : '30px');\n\nfunction oneByOneForwardMessage() {\n emits('oneByOneForwardMessage');\n}\n\nfunction mergeForwardMessage() {\n emits('mergeForwardMessage');\n}\n\nfunction cancelMultipleSelect() {\n emits('toggleMultipleSelectMode');\n}\n</script>\n\n<style lang=\"scss\" scoped>\n:not(not) {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n min-width: 0;\n}\n\n.mulitple-select-panel {\n height: 196px;\n border-top: 1px solid #ebebeb;\n flex-direction: row;\n justify-content: space-around;\n align-items: center;\n background-color: #EBF0F6;\n\n &-mobile {\n height: 64px;\n padding-bottom: 15px;\n flex-direction: row;\n align-items: flex-end;\n }\n}\n\n.forward-button {\n justify-content: center;\n align-items: center;\n\n &-text {\n margin-top: 8px;\n font-size: 12px;\n\n &-mobile {\n margin-top: 2px;\n }\n }\n\n .cancel-button-icon {\n transform: rotate(45deg);\n }\n}\n</style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/mulitple-select-panel/index.vue'\nwx.createComponent(Component)"],"names":["ref","isMobile"],"mappings":";;;;;;;;AA+DA,MAAA,OAAiB,MAAA;;;;;AAYjB,UAAM,QAAQ;AAEd,UAAM,WAAWA,cAAA,IAAIC,iBAAW,WAAA,SAAS,MAAM;AAE/C,aAAS,yBAAyB;AAChC,YAAM,wBAAwB;AAAA,IAChC;AAEA,aAAS,sBAAsB;AAC7B,YAAM,qBAAqB;AAAA,IAC7B;AAEA,aAAS,uBAAuB;AAC9B,YAAM,0BAA0B;AAAA,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFA,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"const.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/const.ts"],"sourcesContent":["import TUIChatEngine from '@tencentcloud/chat-uikit-engine';\r\nexport const DEFAULT_DESC: any = {\r\n [TUIChatEngine.TYPES.MSG_TEXT]: '[文本]',\r\n [TUIChatEngine.TYPES.MSG_FACE]: '[动画表情]',\r\n [TUIChatEngine.TYPES.MSG_IMAGE]: '[图片]',\r\n [TUIChatEngine.TYPES.MSG_FILE]: '[文件]',\r\n [TUIChatEngine.TYPES.MSG_AUDIO]: '[语音]',\r\n [TUIChatEngine.TYPES.MSG_VIDEO]: '[视频]',\r\n [TUIChatEngine.TYPES.MSG_LOCATION]: '[地理位置]',\r\n [TUIChatEngine.TYPES.MSG_MERGER]: '[聊天记录]',\r\n [TUIChatEngine.TYPES.MSG_CUSTOM]: '[自定义消息]',\r\n};\r\n\r\nexport enum PUSH_SCENE {\r\n CHAT = 'chat',\r\n CALL = 'call',\r\n}\r\n"],"names":["TUIChatEngine","PUSH_SCENE"],"mappings":";;AACO,MAAM,eAAoB;AAAA,EAC/B,CAACA,cAAA,GAAc,MAAM,QAAQ,GAAG;AAAA,EAChC,CAACA,cAAA,GAAc,MAAM,QAAQ,GAAG;AAAA,EAChC,CAACA,cAAA,GAAc,MAAM,SAAS,GAAG;AAAA,EACjC,CAACA,cAAA,GAAc,MAAM,QAAQ,GAAG;AAAA,EAChC,CAACA,cAAA,GAAc,MAAM,SAAS,GAAG;AAAA,EACjC,CAACA,cAAA,GAAc,MAAM,SAAS,GAAG;AAAA,EACjC,CAACA,cAAA,GAAc,MAAM,YAAY,GAAG;AAAA,EACpC,CAACA,cAAA,GAAc,MAAM,UAAU,GAAG;AAAA,EAClC,CAACA,cAAA,GAAc,MAAM,UAAU,GAAG;AACpC;AAEY,IAAA,+BAAAC,gBAAL;AACLA,cAAA,MAAO,IAAA;AACPA,cAAA,MAAO,IAAA;AAFGA,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;;;"}
{"version":3,"file":"const.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/const.ts"],"sourcesContent":["import TUIChatEngine from '@tencentcloud/chat-uikit-engine';\nexport const DEFAULT_DESC: any = {\n [TUIChatEngine.TYPES.MSG_TEXT]: '[文本]',\n [TUIChatEngine.TYPES.MSG_FACE]: '[动画表情]',\n [TUIChatEngine.TYPES.MSG_IMAGE]: '[图片]',\n [TUIChatEngine.TYPES.MSG_FILE]: '[文件]',\n [TUIChatEngine.TYPES.MSG_AUDIO]: '[语音]',\n [TUIChatEngine.TYPES.MSG_VIDEO]: '[视频]',\n [TUIChatEngine.TYPES.MSG_LOCATION]: '[地理位置]',\n [TUIChatEngine.TYPES.MSG_MERGER]: '[聊天记录]',\n [TUIChatEngine.TYPES.MSG_CUSTOM]: '[自定义消息]',\n};\n\nexport enum PUSH_SCENE {\n CHAT = 'chat',\n CALL = 'call',\n}\n"],"names":["TUIChatEngine","PUSH_SCENE"],"mappings":";;AACO,MAAM,eAAoB;AAAA,EAC/B,CAACA,cAAA,GAAc,MAAM,QAAQ,GAAG;AAAA,EAChC,CAACA,cAAA,GAAc,MAAM,QAAQ,GAAG;AAAA,EAChC,CAACA,cAAA,GAAc,MAAM,SAAS,GAAG;AAAA,EACjC,CAACA,cAAA,GAAc,MAAM,QAAQ,GAAG;AAAA,EAChC,CAACA,cAAA,GAAc,MAAM,SAAS,GAAG;AAAA,EACjC,CAACA,cAAA,GAAc,MAAM,SAAS,GAAG;AAAA,EACjC,CAACA,cAAA,GAAc,MAAM,YAAY,GAAG;AAAA,EACpC,CAACA,cAAA,GAAc,MAAM,UAAU,GAAG;AAAA,EAClC,CAACA,cAAA,GAAc,MAAM,UAAU,GAAG;AACpC;AAEY,IAAA,+BAAAC,gBAAL;AACLA,cAAA,MAAO,IAAA;AACPA,cAAA,MAAO,IAAA;AAFGA,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/index.ts"],"sourcesContent":["import OfflinePushInfoManager from './offlinePushInfoManager';\r\n\r\nexport * from './const';\r\nexport * from './interface';\r\n\r\nexport default OfflinePushInfoManager.getInstance();\r\n"],"names":["OfflinePushInfoManager"],"mappings":";;;AAKA,MAAeA,yBAAAA,wEAAAA,uBAAuB,YAAY;;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/index.ts"],"sourcesContent":["import OfflinePushInfoManager from './offlinePushInfoManager';\n\nexport * from './const';\nexport * from './interface';\n\nexport default OfflinePushInfoManager.getInstance();\n"],"names":["OfflinePushInfoManager"],"mappings":";;;AAKA,MAAeA,yBAAAA,wEAAAA,uBAAuB,YAAY;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"info.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/info.ts"],"sourcesContent":["import { IChatOfflinePushInfo, ICallOfflinePushInfo } from './interface';\r\n\r\nexport const chatOfflinePushInfo: IChatOfflinePushInfo = {\r\n androidInfo: {},\r\n apnsInfo: {},\r\n};\r\n\r\nexport const callOfflinePushInfo: ICallOfflinePushInfo = {};\r\n"],"names":[],"mappings":";AAEO,MAAM,sBAA4C;AAAA,EACvD,aAAa,CAAC;AAAA,EACd,UAAU,CAAC;AACb;AAEO,MAAM,sBAA4C,CAAA;;;"}
{"version":3,"file":"info.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/info.ts"],"sourcesContent":["import { IChatOfflinePushInfo, ICallOfflinePushInfo } from './interface';\n\nexport const chatOfflinePushInfo: IChatOfflinePushInfo = {\n androidInfo: {},\n apnsInfo: {},\n};\n\nexport const callOfflinePushInfo: ICallOfflinePushInfo = {};\n"],"names":[],"mappings":";AAEO,MAAM,sBAA4C;AAAA,EACvD,aAAa,CAAC;AAAA,EACd,UAAU,CAAC;AACb;AAEO,MAAM,sBAA4C,CAAA;;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"offlinePushInfoManager.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.ts"],"sourcesContent":["import TUIChatEngine, { IConversationModel, StoreName, TUIStore, TUITranslateService } from '@tencentcloud/chat-uikit-engine';\r\nimport { transformTextWithKeysToEmojiNames } from '../emoji-config';\r\nimport {\r\n IChatOfflinePushInfo,\r\n IOfflinePushInfoCreateParams,\r\n} from './interface';\r\nimport { chatOfflinePushInfo, callOfflinePushInfo } from './info';\r\nimport { DEFAULT_DESC, PUSH_SCENE } from './const';\r\n\r\nclass OfflinePushInfoManager {\r\n private name = 'OfflinePushInfoManager';\r\n private static instance: OfflinePushInfoManager | null = null;\r\n\r\n private offlinePushInfo: any = {};\r\n\r\n private constructor() {\r\n this.offlinePushInfo = {\r\n [PUSH_SCENE.CHAT]: chatOfflinePushInfo,\r\n [PUSH_SCENE.CALL]: callOfflinePushInfo,\r\n };\r\n }\r\n\r\n public static getInstance(): OfflinePushInfoManager {\r\n if (!OfflinePushInfoManager.instance) {\r\n OfflinePushInfoManager.instance = new OfflinePushInfoManager();\r\n }\r\n return OfflinePushInfoManager.instance;\r\n }\r\n\r\n public getOfflinePushInfo(scene: PUSH_SCENE) {\r\n if (!Object.values(PUSH_SCENE).includes(scene)) {\r\n console.error(`${this.name} getOfflinePushInfo scene: ${scene} is invalid`);\r\n return null;\r\n }\r\n return this.offlinePushInfo[scene];\r\n }\r\n\r\n private genTitle(conversation: IConversationModel, userInfo: any) {\r\n let title = conversation?.getShowName();\r\n if (conversation.type === TUIChatEngine.TYPES.CONV_C2C) {\r\n title = userInfo?.nick || userInfo?.userID;\r\n }\r\n return title;\r\n }\r\n\r\n private genDesc(messageType: string, payload: any) {\r\n let desc = '';\r\n if (messageType === TUIChatEngine.TYPES.MSG_TEXT) {\r\n desc = transformTextWithKeysToEmojiNames(payload.text);\r\n }\r\n if (messageType === TUIChatEngine.TYPES.MSG_CUSTOM) {\r\n desc = payload.description;\r\n }\r\n return desc || TUITranslateService.t(`TUIChat.${DEFAULT_DESC[messageType]}`);\r\n }\r\n\r\n public create(options: IOfflinePushInfoCreateParams): IChatOfflinePushInfo {\r\n const { conversation, messageType = '', payload = {} } = options || {};\r\n const userInfo = TUIStore.getData(StoreName.USER, 'userProfile');\r\n const entity = {\r\n sender: conversation.type === TUIChatEngine.TYPES.CONV_GROUP ? conversation.groupProfile?.groupID : userInfo?.userID,\r\n nickName: userInfo?.nick,\r\n chatType: conversation.type === TUIChatEngine.TYPES.CONV_GROUP ? 2 : 1,\r\n version: 1,\r\n action: 1,\r\n };\r\n return {\r\n title: this.genTitle(conversation, userInfo),\r\n description: this.genDesc(messageType, payload),\r\n extension: JSON.stringify({ entity }),\r\n ...this.offlinePushInfo[PUSH_SCENE.CHAT],\r\n };\r\n }\r\n}\r\n\r\nexport default OfflinePushInfoManager;\r\n"],"names":["PUSH_SCENE","chatOfflinePushInfo","callOfflinePushInfo","uni","TUIChatEngine","transformTextWithKeysToEmojiNames","TUITranslateService","DEFAULT_DESC","TUIStore","StoreName"],"mappings":";;;;;AASA,MAAM,0BAAN,MAAM,wBAAuB;AAAA,EAMnB,cAAc;AALtB,SAAQ,OAAO;AAGf,SAAQ,kBAAuB;AAG7B,SAAK,kBAAkB;AAAA,MACrB,CAACA,uDAAAA,WAAW,IAAI,GAAGC,sDAAA;AAAA,MACnB,CAACD,uDAAAA,WAAW,IAAI,GAAGE,sDAAA;AAAA,IAAA;AAAA,EAEvB;AAAA,EAEA,OAAc,cAAsC;AAC9C,QAAA,CAAC,wBAAuB,UAAU;AACb,8BAAA,WAAW,IAAI;IACxC;AACA,WAAO,wBAAuB;AAAA,EAChC;AAAA,EAEO,mBAAmB,OAAmB;AAC3C,QAAI,CAAC,OAAO,OAAOF,uDAAU,UAAA,EAAE,SAAS,KAAK,GAAG;AAChCG,oBAAAA,MAAA,MAAA,SAAA,oFAAA,GAAG,KAAK,IAAI,8BAA8B,KAAK,aAAa;AACnE,aAAA;AAAA,IACT;AACO,WAAA,KAAK,gBAAgB,KAAK;AAAA,EACnC;AAAA,EAEQ,SAAS,cAAkC,UAAe;AAC5D,QAAA,QAAQ,6CAAc;AAC1B,QAAI,aAAa,SAASC,iBAAc,MAAM,UAAU;AAC9C,eAAA,qCAAU,UAAQ,qCAAU;AAAA,IACtC;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,QAAQ,aAAqB,SAAc;AACjD,QAAI,OAAO;AACP,QAAA,gBAAgBA,cAAAA,GAAc,MAAM,UAAU;AACzC,aAAAC,4CAAA,kCAAkC,QAAQ,IAAI;AAAA,IACvD;AACI,QAAA,gBAAgBD,cAAAA,GAAc,MAAM,YAAY;AAClD,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,QAAQE,cAAoB,GAAA,EAAE,WAAWC,oEAAa,WAAW,CAAC,EAAE;AAAA,EAC7E;AAAA,EAEO,OAAO,SAA6D;;AACnE,UAAA,EAAE,cAAc,cAAc,IAAI,UAAU,GAAO,IAAA,WAAW;AACpE,UAAM,WAAWC,cAAAA,GAAS,QAAQC,cAAAA,EAAU,MAAM,aAAa;AAC/D,UAAM,SAAS;AAAA,MACb,QAAQ,aAAa,SAASL,cAAAA,GAAc,MAAM,cAAa,kBAAa,iBAAb,mBAA2B,UAAU,qCAAU;AAAA,MAC9G,UAAU,qCAAU;AAAA,MACpB,UAAU,aAAa,SAASA,cAAAA,GAAc,MAAM,aAAa,IAAI;AAAA,MACrE,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA;AAEH,WAAA;AAAA,MACL,OAAO,KAAK,SAAS,cAAc,QAAQ;AAAA,MAC3C,aAAa,KAAK,QAAQ,aAAa,OAAO;AAAA,MAC9C,WAAW,KAAK,UAAU,EAAE,QAAQ;AAAA,MACpC,GAAG,KAAK,gBAAgBJ,uDAAA,WAAW,IAAI;AAAA,IAAA;AAAA,EAE3C;AACF;AA9DE,wBAAe,WAA0C;AAF3D,IAAM,yBAAN;;"}
{"version":3,"file":"offlinePushInfoManager.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.ts"],"sourcesContent":["import TUIChatEngine, { IConversationModel, StoreName, TUIStore, TUITranslateService } from '@tencentcloud/chat-uikit-engine';\nimport { transformTextWithKeysToEmojiNames } from '../emoji-config';\nimport {\n IChatOfflinePushInfo,\n IOfflinePushInfoCreateParams,\n} from './interface';\nimport { chatOfflinePushInfo, callOfflinePushInfo } from './info';\nimport { DEFAULT_DESC, PUSH_SCENE } from './const';\n\nclass OfflinePushInfoManager {\n private name = 'OfflinePushInfoManager';\n private static instance: OfflinePushInfoManager | null = null;\n\n private offlinePushInfo: any = {};\n\n private constructor() {\n this.offlinePushInfo = {\n [PUSH_SCENE.CHAT]: chatOfflinePushInfo,\n [PUSH_SCENE.CALL]: callOfflinePushInfo,\n };\n }\n\n public static getInstance(): OfflinePushInfoManager {\n if (!OfflinePushInfoManager.instance) {\n OfflinePushInfoManager.instance = new OfflinePushInfoManager();\n }\n return OfflinePushInfoManager.instance;\n }\n\n public getOfflinePushInfo(scene: PUSH_SCENE) {\n if (!Object.values(PUSH_SCENE).includes(scene)) {\n console.error(`${this.name} getOfflinePushInfo scene: ${scene} is invalid`);\n return null;\n }\n return this.offlinePushInfo[scene];\n }\n\n private genTitle(conversation: IConversationModel, userInfo: any) {\n let title = conversation?.getShowName();\n if (conversation.type === TUIChatEngine.TYPES.CONV_C2C) {\n title = userInfo?.nick || userInfo?.userID;\n }\n return title;\n }\n\n private genDesc(messageType: string, payload: any) {\n let desc = '';\n if (messageType === TUIChatEngine.TYPES.MSG_TEXT) {\n desc = transformTextWithKeysToEmojiNames(payload.text);\n }\n if (messageType === TUIChatEngine.TYPES.MSG_CUSTOM) {\n desc = payload.description;\n }\n return desc || TUITranslateService.t(`TUIChat.${DEFAULT_DESC[messageType]}`);\n }\n\n public create(options: IOfflinePushInfoCreateParams): IChatOfflinePushInfo {\n const { conversation, messageType = '', payload = {} } = options || {};\n const userInfo = TUIStore.getData(StoreName.USER, 'userProfile');\n const entity = {\n sender: conversation.type === TUIChatEngine.TYPES.CONV_GROUP ? conversation.groupProfile?.groupID : userInfo?.userID,\n nickName: userInfo?.nick,\n chatType: conversation.type === TUIChatEngine.TYPES.CONV_GROUP ? 2 : 1,\n version: 1,\n action: 1,\n };\n return {\n title: this.genTitle(conversation, userInfo),\n description: this.genDesc(messageType, payload),\n extension: JSON.stringify({ entity }),\n ...this.offlinePushInfo[PUSH_SCENE.CHAT],\n };\n }\n}\n\nexport default OfflinePushInfoManager;\n"],"names":["PUSH_SCENE","chatOfflinePushInfo","callOfflinePushInfo","uni","TUIChatEngine","transformTextWithKeysToEmojiNames","TUITranslateService","DEFAULT_DESC","TUIStore","StoreName"],"mappings":";;;;;AASA,MAAM,0BAAN,MAAM,wBAAuB;AAAA,EAMnB,cAAc;AALtB,SAAQ,OAAO;AAGf,SAAQ,kBAAuB;AAG7B,SAAK,kBAAkB;AAAA,MACrB,CAACA,uDAAAA,WAAW,IAAI,GAAGC,sDAAA;AAAA,MACnB,CAACD,uDAAAA,WAAW,IAAI,GAAGE,sDAAA;AAAA,IAAA;AAAA,EAEvB;AAAA,EAEA,OAAc,cAAsC;AAC9C,QAAA,CAAC,wBAAuB,UAAU;AACb,8BAAA,WAAW,IAAI;IACxC;AACA,WAAO,wBAAuB;AAAA,EAChC;AAAA,EAEO,mBAAmB,OAAmB;AAC3C,QAAI,CAAC,OAAO,OAAOF,uDAAU,UAAA,EAAE,SAAS,KAAK,GAAG;AAC9CG,oBAAAA,MAAA,MAAA,SAAA,oFAAc,GAAG,KAAK,IAAI,8BAA8B,KAAK,aAAa;AACnE,aAAA;AAAA,IACT;AACO,WAAA,KAAK,gBAAgB,KAAK;AAAA,EACnC;AAAA,EAEQ,SAAS,cAAkC,UAAe;AAC5D,QAAA,QAAQ,6CAAc;AAC1B,QAAI,aAAa,SAASC,iBAAc,MAAM,UAAU;AAC9C,eAAA,qCAAU,UAAQ,qCAAU;AAAA,IACtC;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,QAAQ,aAAqB,SAAc;AACjD,QAAI,OAAO;AACP,QAAA,gBAAgBA,cAAAA,GAAc,MAAM,UAAU;AACzC,aAAAC,4CAAA,kCAAkC,QAAQ,IAAI;AAAA,IACvD;AACI,QAAA,gBAAgBD,cAAAA,GAAc,MAAM,YAAY;AAClD,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,QAAQE,cAAoB,GAAA,EAAE,WAAWC,oEAAa,WAAW,CAAC,EAAE;AAAA,EAC7E;AAAA,EAEO,OAAO,SAA6D;;AACnE,UAAA,EAAE,cAAc,cAAc,IAAI,UAAU,GAAO,IAAA,WAAW;AACpE,UAAM,WAAWC,cAAAA,GAAS,QAAQC,cAAAA,EAAU,MAAM,aAAa;AAC/D,UAAM,SAAS;AAAA,MACb,QAAQ,aAAa,SAASL,cAAAA,GAAc,MAAM,cAAa,kBAAa,iBAAb,mBAA2B,UAAU,qCAAU;AAAA,MAC9G,UAAU,qCAAU;AAAA,MACpB,UAAU,aAAa,SAASA,cAAAA,GAAc,MAAM,aAAa,IAAI;AAAA,MACrE,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA;AAEH,WAAA;AAAA,MACL,OAAO,KAAK,SAAS,cAAc,QAAQ;AAAA,MAC3C,aAAa,KAAK,QAAQ,aAAa,OAAO;AAAA,MAC9C,WAAW,KAAK,UAAU,EAAE,QAAQ;AAAA,MACpC,GAAG,KAAK,gBAAgBJ,uDAAA,WAAW,IAAI;AAAA,IAAA;AAAA,EAE3C;AACF;AA9DE,wBAAe,WAA0C;AAF3D,IAAM,yBAAN;;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"chatStorage.js","sources":["TUIKit/components/TUIChat/utils/chatStorage.ts"],"sourcesContent":["import { isUniFrameWork } from '../../../utils/env';\r\nimport { TUIGlobal } from '@tencentcloud/universal-api';\r\n\r\ninterface IChatStorage {\r\n getChatStorage(key: string): any;\r\n setChatStorage(key: string, value: any): void;\r\n}\r\n\r\nclass ChatStorage implements IChatStorage {\r\n private static instance: ChatStorage | null = null;\r\n private static CHAT_STORAGE_KEY: string = 'TUI_CHAT_STORAGE';\r\n\r\n private chatStorage: Record<string, any> | null = null;\r\n\r\n private constructor() {}\r\n\r\n public static getInstance(): ChatStorage {\r\n if (!ChatStorage.instance) {\r\n ChatStorage.instance = new ChatStorage();\r\n }\r\n return ChatStorage.instance;\r\n }\r\n\r\n public getChatStorage(key: string): any | undefined {\r\n if (!this.chatStorage) {\r\n this.chatStorage = this.getChatStorageFromLocalStorage();\r\n }\r\n if (key) {\r\n return this.chatStorage[key];\r\n } else {\r\n throw new Error('No key provided');\r\n }\r\n }\r\n\r\n public setChatStorage(key: string, value: any): void {\r\n if (!this.chatStorage) {\r\n this.chatStorage = this.getChatStorageFromLocalStorage();\r\n }\r\n this.chatStorage[key] = value;\r\n try {\r\n if (isUniFrameWork) {\r\n TUIGlobal.setStorageSync(ChatStorage.CHAT_STORAGE_KEY, JSON.stringify(this.chatStorage));\r\n } else {\r\n localStorage.setItem(ChatStorage.CHAT_STORAGE_KEY, JSON.stringify(this.chatStorage));\r\n }\r\n } catch (error) {\r\n throw new Error('Fail to set chat storage');\r\n }\r\n }\r\n\r\n private getChatStorageFromLocalStorage(): Record<string, any> {\r\n let chatStorageString: string = '';\r\n if (isUniFrameWork) {\r\n chatStorageString = TUIGlobal.getStorageSync(ChatStorage.CHAT_STORAGE_KEY) || '';\r\n } else {\r\n chatStorageString = localStorage.getItem(ChatStorage.CHAT_STORAGE_KEY) || '';\r\n }\r\n if (!chatStorageString) {\r\n return {};\r\n }\r\n try {\r\n this.chatStorage = JSON.parse(chatStorageString);\r\n } catch (error) {\r\n this.chatStorage = {};\r\n }\r\n return this.chatStorage as Record<string, any>;\r\n }\r\n}\r\n\r\nexport default ChatStorage.getInstance();\r\n"],"names":["isUniFrameWork","TUIGlobal"],"mappings":";;;AAQA,MAAM,eAAN,MAAM,aAAoC;AAAA,EAMhC,cAAc;AAFtB,SAAQ,cAA0C;AAAA,EAE3B;AAAA,EAEvB,OAAc,cAA2B;AACnC,QAAA,CAAC,aAAY,UAAU;AACb,mBAAA,WAAW,IAAI;IAC7B;AACA,WAAO,aAAY;AAAA,EACrB;AAAA,EAEO,eAAe,KAA8B;AAC9C,QAAA,CAAC,KAAK,aAAa;AAChB,WAAA,cAAc,KAAK;IAC1B;AACA,QAAI,KAAK;AACA,aAAA,KAAK,YAAY,GAAG;AAAA,IAAA,OACtB;AACC,YAAA,IAAI,MAAM,iBAAiB;AAAA,IACnC;AAAA,EACF;AAAA,EAEO,eAAe,KAAa,OAAkB;AAC/C,QAAA,CAAC,KAAK,aAAa;AAChB,WAAA,cAAc,KAAK;IAC1B;AACK,SAAA,YAAY,GAAG,IAAI;AACpB,QAAA;AACF,UAAIA,iCAAgB;AAClBC,wBAAU,eAAe,aAAY,kBAAkB,KAAK,UAAU,KAAK,WAAW,CAAC;AAAA,MAAA,OAClF;AACL,qBAAa,QAAQ,aAAY,kBAAkB,KAAK,UAAU,KAAK,WAAW,CAAC;AAAA,MACrF;AAAA,aACO,OAAO;AACR,YAAA,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,iCAAsD;AAC5D,QAAI,oBAA4B;AAChC,QAAID,iCAAgB;AAClB,0BAAoBC,cAAU,EAAA,eAAe,aAAY,gBAAgB,KAAK;AAAA,IAAA,OACzE;AACL,0BAAoB,aAAa,QAAQ,aAAY,gBAAgB,KAAK;AAAA,IAC5E;AACA,QAAI,CAAC,mBAAmB;AACtB,aAAO;IACT;AACI,QAAA;AACG,WAAA,cAAc,KAAK,MAAM,iBAAiB;AAAA,aACxC,OAAO;AACd,WAAK,cAAc;IACrB;AACA,WAAO,KAAK;AAAA,EACd;AACF;AA1DE,aAAe,WAA+B;AAC9C,aAAe,mBAA2B;AAF5C,IAAM,cAAN;AA6DA,MAAe,cAAA,YAAY,YAAY;;"}
{"version":3,"file":"chatStorage.js","sources":["TUIKit/components/TUIChat/utils/chatStorage.ts"],"sourcesContent":["import { isUniFrameWork } from '../../../utils/env';\nimport { TUIGlobal } from '@tencentcloud/universal-api';\n\ninterface IChatStorage {\n getChatStorage(key: string): any;\n setChatStorage(key: string, value: any): void;\n}\n\nclass ChatStorage implements IChatStorage {\n private static instance: ChatStorage | null = null;\n private static CHAT_STORAGE_KEY: string = 'TUI_CHAT_STORAGE';\n\n private chatStorage: Record<string, any> | null = null;\n\n private constructor() {}\n\n public static getInstance(): ChatStorage {\n if (!ChatStorage.instance) {\n ChatStorage.instance = new ChatStorage();\n }\n return ChatStorage.instance;\n }\n\n public getChatStorage(key: string): any | undefined {\n if (!this.chatStorage) {\n this.chatStorage = this.getChatStorageFromLocalStorage();\n }\n if (key) {\n return this.chatStorage[key];\n } else {\n throw new Error('No key provided');\n }\n }\n\n public setChatStorage(key: string, value: any): void {\n if (!this.chatStorage) {\n this.chatStorage = this.getChatStorageFromLocalStorage();\n }\n this.chatStorage[key] = value;\n try {\n if (isUniFrameWork) {\n TUIGlobal.setStorageSync(ChatStorage.CHAT_STORAGE_KEY, JSON.stringify(this.chatStorage));\n } else {\n localStorage.setItem(ChatStorage.CHAT_STORAGE_KEY, JSON.stringify(this.chatStorage));\n }\n } catch (error) {\n throw new Error('Fail to set chat storage');\n }\n }\n\n private getChatStorageFromLocalStorage(): Record<string, any> {\n let chatStorageString: string = '';\n if (isUniFrameWork) {\n chatStorageString = TUIGlobal.getStorageSync(ChatStorage.CHAT_STORAGE_KEY) || '';\n } else {\n chatStorageString = localStorage.getItem(ChatStorage.CHAT_STORAGE_KEY) || '';\n }\n if (!chatStorageString) {\n return {};\n }\n try {\n this.chatStorage = JSON.parse(chatStorageString);\n } catch (error) {\n this.chatStorage = {};\n }\n return this.chatStorage as Record<string, any>;\n }\n}\n\nexport default ChatStorage.getInstance();\n"],"names":["isUniFrameWork","TUIGlobal"],"mappings":";;;AAQA,MAAM,eAAN,MAAM,aAAoC;AAAA,EAMhC,cAAc;AAFtB,SAAQ,cAA0C;AAAA,EAE3B;AAAA,EAEvB,OAAc,cAA2B;AACnC,QAAA,CAAC,aAAY,UAAU;AACb,mBAAA,WAAW,IAAI;IAC7B;AACA,WAAO,aAAY;AAAA,EACrB;AAAA,EAEO,eAAe,KAA8B;AAC9C,QAAA,CAAC,KAAK,aAAa;AAChB,WAAA,cAAc,KAAK;IAC1B;AACA,QAAI,KAAK;AACA,aAAA,KAAK,YAAY,GAAG;AAAA,IAAA,OACtB;AACC,YAAA,IAAI,MAAM,iBAAiB;AAAA,IACnC;AAAA,EACF;AAAA,EAEO,eAAe,KAAa,OAAkB;AAC/C,QAAA,CAAC,KAAK,aAAa;AAChB,WAAA,cAAc,KAAK;IAC1B;AACK,SAAA,YAAY,GAAG,IAAI;AACpB,QAAA;AACF,UAAIA,iCAAgB;AAClBC,wBAAU,eAAe,aAAY,kBAAkB,KAAK,UAAU,KAAK,WAAW,CAAC;AAAA,MAAA,OAClF;AACL,qBAAa,QAAQ,aAAY,kBAAkB,KAAK,UAAU,KAAK,WAAW,CAAC;AAAA,MACrF;AAAA,aACO,OAAO;AACR,YAAA,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,iCAAsD;AAC5D,QAAI,oBAA4B;AAChC,QAAID,iCAAgB;AAClB,0BAAoBC,cAAU,EAAA,eAAe,aAAY,gBAAgB,KAAK;AAAA,IAAA,OACzE;AACL,0BAAoB,aAAa,QAAQ,aAAY,gBAAgB,KAAK;AAAA,IAC5E;AACA,QAAI,CAAC,mBAAmB;AACtB,aAAO;IACT;AACI,QAAA;AACG,WAAA,cAAc,KAAK,MAAM,iBAAiB;AAAA,aACxC,OAAO;AACd,WAAK,cAAc;IACrB;AACA,WAAO,KAAK;AAAA,EACd;AACF;AA1DE,aAAe,WAA+B;AAC9C,aAAe,mBAA2B;AAF5C,IAAM,cAAN;AA6DA,MAAe,cAAA,YAAY,YAAY;;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"convertVoiceToText.js","sources":["TUIKit/components/TUIChat/utils/convertVoiceToText.ts"],"sourcesContent":["import {\r\n IMessageModel,\r\n TUIChatService,\r\n TUIStore,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport { IChatResponese } from '../../../interface';\r\n\r\nclass Convertor {\r\n public isUseCache = true;\r\n private convertCache = new Map<string, string>();\r\n private static instance: Convertor | undefined = undefined;\r\n\r\n private constructor() {}\r\n\r\n static getInstance() {\r\n if (!Convertor.instance) {\r\n Convertor.instance = new Convertor();\r\n }\r\n return Convertor.instance;\r\n }\r\n\r\n async get(message: IMessageModel): Promise<string> {\r\n // step1: check in cache if convert result exist\r\n if (this.isUseCache) {\r\n const cache = this.convertCache.get(message.ID);\r\n if (cache !== undefined) {\r\n return cache;\r\n }\r\n }\r\n\r\n // step2: get message model with prototype methods\r\n const currentMessage: IMessageModel = TUIStore.getMessageModel(message.ID);\r\n if (!currentMessage) {\r\n return Promise.reject('message not found');\r\n }\r\n // step3: get response from api\r\n const response: IChatResponese<{ result: string }> = await TUIChatService.convertVoiceToText({\r\n message: currentMessage,\r\n });\r\n let { data: { result } = {} } = response;\r\n if (result) {\r\n this.convertCache.set(currentMessage.ID, result);\r\n } else {\r\n result = '';\r\n }\r\n return result;\r\n }\r\n\r\n clear() {\r\n this.convertCache.clear();\r\n }\r\n\r\n disableCache() {\r\n this.isUseCache = false;\r\n }\r\n\r\n enableCache() {\r\n this.isUseCache = true;\r\n }\r\n}\r\n\r\nexport const convertor = Convertor.getInstance();\r\n"],"names":["TUIStore","TUIChatService"],"mappings":";;AAOA,MAAM,aAAN,MAAM,WAAU;AAAA,EAKN,cAAc;AAJtB,SAAO,aAAa;AACZ,SAAA,mCAAmB;EAGJ;AAAA,EAEvB,OAAO,cAAc;AACf,QAAA,CAAC,WAAU,UAAU;AACb,iBAAA,WAAW,IAAI;IAC3B;AACA,WAAO,WAAU;AAAA,EACnB;AAAA,EAEA,MAAM,IAAI,SAAyC;AAEjD,QAAI,KAAK,YAAY;AACnB,YAAM,QAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE;AAC9C,UAAI,UAAU,QAAW;AAChB,eAAA;AAAA,MACT;AAAA,IACF;AAGA,UAAM,iBAAgCA,cAAA,GAAS,gBAAgB,QAAQ,EAAE;AACzE,QAAI,CAAC,gBAAgB;AACZ,aAAA,QAAQ,OAAO,mBAAmB;AAAA,IAC3C;AAEM,UAAA,WAA+C,MAAMC,cAAA,GAAe,mBAAmB;AAAA,MAC3F,SAAS;AAAA,IAAA,CACV;AACD,QAAI,EAAE,MAAM,EAAE,OAAW,IAAA,OAAO;AAChC,QAAI,QAAQ;AACV,WAAK,aAAa,IAAI,eAAe,IAAI,MAAM;AAAA,IAAA,OAC1C;AACI,eAAA;AAAA,IACX;AACO,WAAA;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,SAAK,aAAa;EACpB;AAAA,EAEA,eAAe;AACb,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,cAAc;AACZ,SAAK,aAAa;AAAA,EACpB;AACF;AAjDE,WAAe,WAAkC;AAHnD,IAAM,YAAN;AAsDa,MAAA,YAAY,UAAU,YAAY;;"}
{"version":3,"file":"convertVoiceToText.js","sources":["TUIKit/components/TUIChat/utils/convertVoiceToText.ts"],"sourcesContent":["import {\n IMessageModel,\n TUIChatService,\n TUIStore,\n} from '@tencentcloud/chat-uikit-engine';\nimport { IChatResponese } from '../../../interface';\n\nclass Convertor {\n public isUseCache = true;\n private convertCache = new Map<string, string>();\n private static instance: Convertor | undefined = undefined;\n\n private constructor() {}\n\n static getInstance() {\n if (!Convertor.instance) {\n Convertor.instance = new Convertor();\n }\n return Convertor.instance;\n }\n\n async get(message: IMessageModel): Promise<string> {\n // step1: check in cache if convert result exist\n if (this.isUseCache) {\n const cache = this.convertCache.get(message.ID);\n if (cache !== undefined) {\n return cache;\n }\n }\n\n // step2: get message model with prototype methods\n const currentMessage: IMessageModel = TUIStore.getMessageModel(message.ID);\n if (!currentMessage) {\n return Promise.reject('message not found');\n }\n // step3: get response from api\n const response: IChatResponese<{ result: string }> = await TUIChatService.convertVoiceToText({\n message: currentMessage,\n });\n let { data: { result } = {} } = response;\n if (result) {\n this.convertCache.set(currentMessage.ID, result);\n } else {\n result = '';\n }\n return result;\n }\n\n clear() {\n this.convertCache.clear();\n }\n\n disableCache() {\n this.isUseCache = false;\n }\n\n enableCache() {\n this.isUseCache = true;\n }\n}\n\nexport const convertor = Convertor.getInstance();\n"],"names":["TUIStore","TUIChatService"],"mappings":";;AAOA,MAAM,aAAN,MAAM,WAAU;AAAA,EAKN,cAAc;AAJtB,SAAO,aAAa;AACZ,SAAA,mCAAmB;EAGJ;AAAA,EAEvB,OAAO,cAAc;AACf,QAAA,CAAC,WAAU,UAAU;AACb,iBAAA,WAAW,IAAI;IAC3B;AACA,WAAO,WAAU;AAAA,EACnB;AAAA,EAEA,MAAM,IAAI,SAAyC;AAEjD,QAAI,KAAK,YAAY;AACnB,YAAM,QAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE;AAC9C,UAAI,UAAU,QAAW;AAChB,eAAA;AAAA,MACT;AAAA,IACF;AAGA,UAAM,iBAAgCA,cAAA,GAAS,gBAAgB,QAAQ,EAAE;AACzE,QAAI,CAAC,gBAAgB;AACZ,aAAA,QAAQ,OAAO,mBAAmB;AAAA,IAC3C;AAEM,UAAA,WAA+C,MAAMC,cAAA,GAAe,mBAAmB;AAAA,MAC3F,SAAS;AAAA,IAAA,CACV;AACD,QAAI,EAAE,MAAM,EAAE,OAAW,IAAA,OAAO;AAChC,QAAI,QAAQ;AACV,WAAK,aAAa,IAAI,eAAe,IAAI,MAAM;AAAA,IAAA,OAC1C;AACI,eAAA;AAAA,IACX;AACO,WAAA;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,SAAK,aAAa;EACpB;AAAA,EAEA,eAAe;AACb,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,cAAc;AACZ,SAAK,aAAa;AAAA,EACpB;AACF;AAjDE,WAAe,WAAkC;AAHnD,IAAM,YAAN;AAsDa,MAAA,YAAY,UAAU,YAAY;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"wordsList.js","sources":["TUIKit/components/TUIChat/utils/wordsList.ts"],"sourcesContent":["export const wordsList = [\r\n {\r\n value: '在吗?在吗?在吗?重要的话说三遍。',\r\n },\r\n {\r\n value: '好久没聊天了,快来和我说说话~',\r\n },\r\n {\r\n value: '好的,就这么说定了。',\r\n },\r\n {\r\n value: '感恩的心,感谢有你。',\r\n },\r\n {\r\n value: '糟糕!是心动的感觉!',\r\n },\r\n {\r\n value: '心疼地抱抱自己,我太难了!',\r\n },\r\n {\r\n value: '没关系,别在意,事情过去就过去了。',\r\n },\r\n {\r\n value: '早上好,今天也是让人期待的一天呢!',\r\n },\r\n {\r\n value: '熬夜有什么用,又没人陪你聊天,早点休息吧。',\r\n },\r\n];\r\n"],"names":[],"mappings":";AAAO,MAAM,YAAY;AAAA,EACvB;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AACF;;"}
{"version":3,"file":"wordsList.js","sources":["TUIKit/components/TUIChat/utils/wordsList.ts"],"sourcesContent":["export const wordsList = [\n {\n value: '在吗?在吗?在吗?重要的话说三遍。',\n },\n {\n value: '好久没聊天了,快来和我说说话~',\n },\n {\n value: '好的,就这么说定了。',\n },\n {\n value: '感恩的心,感谢有你。',\n },\n {\n value: '糟糕!是心动的感觉!',\n },\n {\n value: '心疼地抱抱自己,我太难了!',\n },\n {\n value: '没关系,别在意,事情过去就过去了。',\n },\n {\n value: '早上好,今天也是让人期待的一天呢!',\n },\n {\n value: '熬夜有什么用,又没人陪你聊天,早点休息吧。',\n },\n];\n"],"names":[],"mappings":";AAAO,MAAM,YAAY;AAAA,EACvB;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EACT;AACF;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"video-play.js","sources":["TUIKit/components/TUIChat/video-play.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJQ2hhdFx2aWRlby1wbGF5LnZ1ZQ"],"sourcesContent":["<template>\r\n <div class=\"dialog-video\">\r\n <video\r\n v-if=\"isShow\"\r\n id=\"videoEle\"\r\n class=\"video-box\"\r\n :src=\"videoData\"\r\n controls\r\n autoplay\r\n />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref } from '../../adapter-vue';\r\nimport { TUIGlobal } from '@tencentcloud/universal-api';\r\nimport { onLoad, onReady } from '@dcloudio/uni-app';\r\n\r\nconst videoData = ref();\r\nconst isShow = ref(false);\r\nconst videoContext = ref();\r\nonLoad((option: any) => {\r\n const decodedUrl = decodeURIComponent(option?.videoUrl);\r\n videoData.value = decodedUrl;\r\n isShow.value = true;\r\n});\r\n\r\nonReady(() => {\r\n isShow.value = true;\r\n videoContext.value = TUIGlobal.createVideoContext('videoEle');\r\n});\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.dialog-video {\r\n position: fixed;\r\n z-index: 999;\r\n width: 100vw;\r\n height: 100vh;\r\n background: rgba(#000, 0.6);\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n .video-box {\r\n position: absolute;\r\n width: 100vw;\r\n height: 100vh;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n }\r\n}\r\n</style>\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/video-play.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","onReady","TUIGlobal"],"mappings":";;;;;;AAkBA,UAAM,YAAYA,cAAAA;AACZ,UAAA,SAASA,kBAAI,KAAK;AACxB,UAAM,eAAeA,cAAAA;AACrBC,kBAAA,OAAO,CAAC,WAAgB;AAChB,YAAA,aAAa,mBAAmB,iCAAQ,QAAQ;AACtD,gBAAU,QAAQ;AAClB,aAAO,QAAQ;AAAA,IAAA,CAChB;AAEDC,kBAAAA,QAAQ,MAAM;AACZ,aAAO,QAAQ;AACF,mBAAA,QAAQC,cAAAA,EAAU,mBAAmB,UAAU;AAAA,IAAA,CAC7D;;;;;;;;;;;AC7BD,GAAG,WAAW,eAAe;"}
{"version":3,"file":"video-play.js","sources":["TUIKit/components/TUIChat/video-play.vue","TUIKit/components/TUIChat/video-play.vue?type=page"],"sourcesContent":["<template>\n <div class=\"dialog-video\">\n <video\n v-if=\"isShow\"\n id=\"videoEle\"\n class=\"video-box\"\n :src=\"videoData\"\n controls\n autoplay\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from '../../adapter-vue';\nimport { TUIGlobal } from '@tencentcloud/universal-api';\nimport { onLoad, onReady } from '@dcloudio/uni-app';\n\nconst videoData = ref();\nconst isShow = ref(false);\nconst videoContext = ref();\nonLoad((option: any) => {\n const decodedUrl = decodeURIComponent(option?.videoUrl);\n videoData.value = decodedUrl;\n isShow.value = true;\n});\n\nonReady(() => {\n isShow.value = true;\n videoContext.value = TUIGlobal.createVideoContext('videoEle');\n});\n</script>\n<style lang=\"scss\" scoped>\n.dialog-video {\n position: fixed;\n z-index: 999;\n width: 100vw;\n height: 100vh;\n background: rgba(#000, 0.6);\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .video-box {\n position: absolute;\n width: 100vw;\n height: 100vh;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n}\n</style>\n","import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/video-play.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","onReady","TUIGlobal"],"mappings":";;;;;;AAkBA,UAAM,YAAYA,cAAAA;AACZ,UAAA,SAASA,kBAAI,KAAK;AACxB,UAAM,eAAeA,cAAAA;AACrBC,kBAAA,OAAO,CAAC,WAAgB;AAChB,YAAA,aAAa,mBAAmB,iCAAQ,QAAQ;AACtD,gBAAU,QAAQ;AAClB,aAAO,QAAQ;AAAA,IAAA,CAChB;AAEDC,kBAAAA,QAAQ,MAAM;AACZ,aAAO,QAAQ;AACF,mBAAA,QAAQC,cAAAA,EAAU,mBAAmB,UAAU;AAAA,IAAA,CAC7D;;;;;;;;;;;AC7BD,GAAG,WAAW,eAAe;"}

View File

@@ -1 +1 @@
{"version":3,"file":"web-view.js","sources":["TUIKit/components/TUIChat/web-view.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJQ2hhdFx3ZWItdmlldy52dWU"],"sourcesContent":["<template>\r\n <web-view :src=\"url\" />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref } from '../../adapter-vue';\r\nimport { onLoad } from '@dcloudio/uni-app';\r\n\r\nconst url = ref('');\r\nonLoad((option: any) => {\r\n url.value = option && option.url;\r\n});\r\n</script>\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/web-view.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","MiniProgramPage"],"mappings":";;;;;;AAQM,UAAA,MAAMA,kBAAI,EAAE;AAClBC,kBAAA,OAAO,CAAC,WAAgB;AAClB,UAAA,QAAQ,UAAU,OAAO;AAAA,IAAA,CAC9B;;;;;;;;ACVD,GAAG,WAAWC,SAAe;"}
{"version":3,"file":"web-view.js","sources":["TUIKit/components/TUIChat/web-view.vue","TUIKit/components/TUIChat/web-view.vue?type=page"],"sourcesContent":["<template>\n <web-view :src=\"url\" />\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from '../../adapter-vue';\nimport { onLoad } from '@dcloudio/uni-app';\n\nconst url = ref('');\nonLoad((option: any) => {\n url.value = option && option.url;\n});\n</script>\n","import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIChat/web-view.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","MiniProgramPage"],"mappings":";;;;;;AAQM,UAAA,MAAMA,kBAAI,EAAE;AAClBC,kBAAA,OAAO,CAAC,WAAgB;AAClB,UAAA,QAAQ,UAAU,OAAO;AAAA,IAAA,CAC9B;;;;;;;;ACVD,GAAG,WAAWC,SAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJQ29udGFjdFxpbmRleC52dWU"],"sourcesContent":["import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIContact/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,iBAAA;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIContact/index.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIContact/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,iBAAA;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"server.js","sources":["TUIKit/components/TUIContact/server.ts"],"sourcesContent":["import TUICore, { TUIConstants } from '@tencentcloud/tui-core';\r\nimport { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine';\r\nimport { TUIGlobal } from '@tencentcloud/universal-api';\r\nimport { isUniFrameWork } from '../../utils/env';\r\n\r\nexport default class TUIContactServer {\r\n static instance: TUIContactServer;\r\n private onCallParamsMap: Map<string, any>;\r\n private onCallCallbackMap: Map<string, () => void>;\r\n public constants: typeof TUIConstants;\r\n constructor() {\r\n TUICore.registerService(TUIConstants.TUIContact.SERVICE.NAME, this);\r\n this.onCallParamsMap = new Map();\r\n this.onCallCallbackMap = new Map();\r\n this.constants = TUIConstants;\r\n }\r\n\r\n static getInstance(): TUIContactServer {\r\n if (!TUIContactServer.instance) {\r\n TUIContactServer.instance = new TUIContactServer();\r\n }\r\n return TUIContactServer.instance;\r\n }\r\n\r\n public getOnCallParams(method: string): any {\r\n return this.onCallParamsMap.get(method);\r\n }\r\n\r\n public getOnCallCallback(method: string) {\r\n return this.onCallCallbackMap.get(method);\r\n }\r\n\r\n public async onCall(method: string, params: Record<string, any>, callback: () => void): Promise<void> {\r\n this.onCallParamsMap.set(method, params);\r\n this.onCallCallbackMap.set(method, callback);\r\n if (method === TUIConstants.TUIContact.SERVICE.METHOD.SELECT_FRIEND) {\r\n TUIStore.update(StoreName.CUSTOM, 'isShowSelectFriendComponent', true);\r\n isUniFrameWork && TUIGlobal?.reLaunch({\r\n url: '/TUIKit/components/TUIContact/index',\r\n });\r\n }\r\n }\r\n}\r\n"],"names":["TUICore","TUIConstants","TUIStore","StoreName","isUniFrameWork","TUIGlobal"],"mappings":";;;AAKA,MAAqB,iBAAiB;AAAA,EAKpC,cAAc;AACZA,kBAAA,EAAQ,gBAAgBC,gBAAa,WAAW,QAAQ,MAAM,IAAI;AAC7D,SAAA,sCAAsB;AACtB,SAAA,wCAAwB;AAC7B,SAAK,YAAYA;EACnB;AAAA,EAEA,OAAO,cAAgC;AACjC,QAAA,CAAC,iBAAiB,UAAU;AACb,uBAAA,WAAW,IAAI;IAClC;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EAEO,gBAAgB,QAAqB;AACnC,WAAA,KAAK,gBAAgB,IAAI,MAAM;AAAA,EACxC;AAAA,EAEO,kBAAkB,QAAgB;AAChC,WAAA,KAAK,kBAAkB,IAAI,MAAM;AAAA,EAC1C;AAAA,EAEA,MAAa,OAAO,QAAgB,QAA6B,UAAqC;;AAC/F,SAAA,gBAAgB,IAAI,QAAQ,MAAM;AAClC,SAAA,kBAAkB,IAAI,QAAQ,QAAQ;AAC3C,QAAI,WAAWA,cAAAA,EAAa,WAAW,QAAQ,OAAO,eAAe;AACnEC,oBAAA,GAAS,OAAOC,cAAA,EAAU,QAAQ,+BAA+B,IAAI;AACrEC,uBAAA,oBAAkBC,yBAAAA,mBAAW,SAAS;AAAA,QACpC,KAAK;AAAA,MAAA;AAAA,IAET;AAAA,EACF;AACF;;"}
{"version":3,"file":"server.js","sources":["TUIKit/components/TUIContact/server.ts"],"sourcesContent":["import TUICore, { TUIConstants } from '@tencentcloud/tui-core';\nimport { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine';\nimport { TUIGlobal } from '@tencentcloud/universal-api';\nimport { isUniFrameWork } from '../../utils/env';\n\nexport default class TUIContactServer {\n static instance: TUIContactServer;\n private onCallParamsMap: Map<string, any>;\n private onCallCallbackMap: Map<string, () => void>;\n public constants: typeof TUIConstants;\n constructor() {\n TUICore.registerService(TUIConstants.TUIContact.SERVICE.NAME, this);\n this.onCallParamsMap = new Map();\n this.onCallCallbackMap = new Map();\n this.constants = TUIConstants;\n }\n\n static getInstance(): TUIContactServer {\n if (!TUIContactServer.instance) {\n TUIContactServer.instance = new TUIContactServer();\n }\n return TUIContactServer.instance;\n }\n\n public getOnCallParams(method: string): any {\n return this.onCallParamsMap.get(method);\n }\n\n public getOnCallCallback(method: string) {\n return this.onCallCallbackMap.get(method);\n }\n\n public async onCall(method: string, params: Record<string, any>, callback: () => void): Promise<void> {\n this.onCallParamsMap.set(method, params);\n this.onCallCallbackMap.set(method, callback);\n if (method === TUIConstants.TUIContact.SERVICE.METHOD.SELECT_FRIEND) {\n TUIStore.update(StoreName.CUSTOM, 'isShowSelectFriendComponent', true);\n isUniFrameWork && TUIGlobal?.reLaunch({\n url: '/TUIKit/components/TUIContact/index',\n });\n }\n }\n}\n"],"names":["TUICore","TUIConstants","TUIStore","StoreName","isUniFrameWork","TUIGlobal"],"mappings":";;;AAKA,MAAqB,iBAAiB;AAAA,EAKpC,cAAc;AACZA,kBAAA,EAAQ,gBAAgBC,gBAAa,WAAW,QAAQ,MAAM,IAAI;AAC7D,SAAA,sCAAsB;AACtB,SAAA,wCAAwB;AAC7B,SAAK,YAAYA;EACnB;AAAA,EAEA,OAAO,cAAgC;AACjC,QAAA,CAAC,iBAAiB,UAAU;AACb,uBAAA,WAAW,IAAI;IAClC;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EAEO,gBAAgB,QAAqB;AACnC,WAAA,KAAK,gBAAgB,IAAI,MAAM;AAAA,EACxC;AAAA,EAEO,kBAAkB,QAAgB;AAChC,WAAA,KAAK,kBAAkB,IAAI,MAAM;AAAA,EAC1C;AAAA,EAEA,MAAa,OAAO,QAAgB,QAA6B,UAAqC;;AAC/F,SAAA,gBAAgB,IAAI,QAAQ,MAAM;AAClC,SAAA,kBAAkB,IAAI,QAAQ,QAAQ;AAC3C,QAAI,WAAWA,cAAAA,EAAa,WAAW,QAAQ,OAAO,eAAe;AACnEC,oBAAA,GAAS,OAAOC,cAAA,EAAU,QAAQ,+BAA+B,IAAI;AACrEC,uBAAA,oBAAkBC,yBAAAA,mBAAW,SAAS;AAAA,QACpC,KAAK;AAAA,MAAA;AAAA,IAET;AAAA,EACF;AACF;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIConversation/conversation-header/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDb252ZXJzYXRpb24vY29udmVyc2F0aW9uLWhlYWRlci9pbmRleC52dWU"],"sourcesContent":["<template>\r\n <!-- <div\r\n :ref=\"convHeaderRef\"\r\n class=\"tui-conversation-header\"\r\n >\r\n <ul\r\n v-if=\"menuList.length > 0\"\r\n class=\"list\"\r\n >\r\n <li\r\n v-for=\"(item, index) in menuList\"\r\n :key=\"index\"\r\n class=\"list-item\"\r\n >\r\n <main\r\n class=\"tui-conversation-header-item\"\r\n @click.stop=\"handleMenu(item)\"\r\n >\r\n <Icon\r\n v-if=\"item.icon && !item.data.children\"\r\n class=\"tui-conversation-header-item-icon\"\r\n :file=\"item.icon\"\r\n />\r\n <i\r\n v-else\r\n class=\"plus\"\r\n />\r\n <h1 class=\"tui-conversation-header-item-title\">\r\n {{ item.text }}\r\n </h1>\r\n </main>\r\n </li>\r\n </ul>\r\n <ul\r\n v-if=\"showChildren.length > 0\"\r\n class=\"tui-conversation-header-children list\"\r\n >\r\n <li\r\n v-for=\"(childrenItem, childrenIndex) in showChildren\"\r\n :key=\"childrenIndex\"\r\n class=\"list-item\"\r\n >\r\n <main\r\n class=\"tui-conversation-header-item\"\r\n @click=\"handleMenu(childrenItem)\"\r\n >\r\n <Icon\r\n v-if=\"childrenItem.icon\"\r\n class=\"tui-conversation-header-item-icon\"\r\n :file=\"childrenItem.icon\"\r\n />\r\n <h1 class=\"tui-conversation-header-item-title\">\r\n {{ childrenItem.text }}\r\n </h1>\r\n </main>\r\n </li>\r\n </ul>\r\n </div> -->\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, onMounted } from '../../../adapter-vue';\r\nimport Icon from '../../common/Icon.vue';\r\nimport Server, { IMenuItem } from './server';\r\n\r\nconst showChildren = ref<Array<IMenuItem>>([]);\r\nconst convHeaderRef = ref<HTMLElement | undefined>();\r\n\r\nconst menuList = computed(() => {\r\n return Server.getInstance().getMenu();\r\n});\r\n\r\nonMounted(() => {\r\n showChildren.value = [];\r\n});\r\n\r\nconst handleMenu = (item: IMenuItem) => {\r\n const { data: { children }, listener = { onClicked: () => {} } } = item;\r\n if (children) {\r\n showChildren.value = showChildren.value.length > 0 ? [] : children;\r\n } else {\r\n listener.onClicked(item);\r\n closeChildren();\r\n }\r\n};\r\n\r\nconst closeChildren = () => {\r\n showChildren.value = [];\r\n};\r\n\r\ndefineExpose({\r\n closeChildren,\r\n});\r\n\r\n</script>\r\n\r\n<style lang=\"scss\" scoped src=\"../style/index.scss\"></style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIConversation/conversation-header/index.vue'\nwx.createComponent(Component)"],"names":["ref","computed","Server","onMounted"],"mappings":";;;;;;;AAgEM,UAAA,eAAeA,kBAAsB,CAAA,CAAE;AACvBA,sBAA6B;AAElCC,kBAAAA,SAAS,MAAM;AACvB,aAAAC,qFAAO,cAAc;IAAQ,CACrC;AAEDC,kBAAAA,UAAU,MAAM;AACd,mBAAa,QAAQ;IAAC,CACvB;AAYD,UAAM,gBAAgB,MAAM;AAC1B,mBAAa,QAAQ;IAAC;AAGX,aAAA;AAAA,MACX;AAAA,IAAA,CACD;;;;;;;AC1FD,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIConversation/conversation-header/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-header/index.vue?type=component"],"sourcesContent":["<template>\n <!-- <div\n :ref=\"convHeaderRef\"\n class=\"tui-conversation-header\"\n >\n <ul\n v-if=\"menuList.length > 0\"\n class=\"list\"\n >\n <li\n v-for=\"(item, index) in menuList\"\n :key=\"index\"\n class=\"list-item\"\n >\n <main\n class=\"tui-conversation-header-item\"\n @click.stop=\"handleMenu(item)\"\n >\n <Icon\n v-if=\"item.icon && !item.data.children\"\n class=\"tui-conversation-header-item-icon\"\n :file=\"item.icon\"\n />\n <i\n v-else\n class=\"plus\"\n />\n <h1 class=\"tui-conversation-header-item-title\">\n {{ item.text }}\n </h1>\n </main>\n </li>\n </ul>\n <ul\n v-if=\"showChildren.length > 0\"\n class=\"tui-conversation-header-children list\"\n >\n <li\n v-for=\"(childrenItem, childrenIndex) in showChildren\"\n :key=\"childrenIndex\"\n class=\"list-item\"\n >\n <main\n class=\"tui-conversation-header-item\"\n @click=\"handleMenu(childrenItem)\"\n >\n <Icon\n v-if=\"childrenItem.icon\"\n class=\"tui-conversation-header-item-icon\"\n :file=\"childrenItem.icon\"\n />\n <h1 class=\"tui-conversation-header-item-title\">\n {{ childrenItem.text }}\n </h1>\n </main>\n </li>\n </ul>\n </div> -->\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, onMounted } from '../../../adapter-vue';\nimport Icon from '../../common/Icon.vue';\nimport Server, { IMenuItem } from './server';\n\nconst showChildren = ref<Array<IMenuItem>>([]);\nconst convHeaderRef = ref<HTMLElement | undefined>();\n\nconst menuList = computed(() => {\n return Server.getInstance().getMenu();\n});\n\nonMounted(() => {\n showChildren.value = [];\n});\n\nconst handleMenu = (item: IMenuItem) => {\n const { data: { children }, listener = { onClicked: () => {} } } = item;\n if (children) {\n showChildren.value = showChildren.value.length > 0 ? [] : children;\n } else {\n listener.onClicked(item);\n closeChildren();\n }\n};\n\nconst closeChildren = () => {\n showChildren.value = [];\n};\n\ndefineExpose({\n closeChildren,\n});\n\n</script>\n\n<style lang=\"scss\" scoped src=\"../style/index.scss\"></style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-header/index.vue'\nwx.createComponent(Component)"],"names":["ref","computed","Server","onMounted"],"mappings":";;;;;;;AAgEM,UAAA,eAAeA,kBAAsB,CAAA,CAAE;AACvBA,sBAA6B;AAElCC,kBAAAA,SAAS,MAAM;AACvB,aAAAC,qFAAO,cAAc;IAAQ,CACrC;AAEDC,kBAAAA,UAAU,MAAM;AACd,mBAAa,QAAQ;IAAC,CACvB;AAYD,UAAM,gBAAgB,MAAM;AAC1B,mBAAa,QAAQ;IAAC;AAGX,aAAA;AAAA,MACX;AAAA,IAAA,CACD;;;;;;;AC1FD,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"server.js","sources":["TUIKit/components/TUIConversation/conversation-header/server.ts"],"sourcesContent":["import TUICore, { TUIConstants } from '@tencentcloud/tui-core';\r\nimport { TUITranslateService } from '@tencentcloud/chat-uikit-engine';\r\nimport { isPC } from '../../../utils/env';\r\nimport createGroup from '../../../assets/icon/start-group.svg';\r\nimport C2C from '../../../assets/icon/icon-c2c.svg';\r\nimport { CONV_CREATE_TYPE } from '../../../constant';\r\n\r\nexport interface IMenuItem {\r\n icon?: string;\r\n text: string;\r\n data: {\r\n name: string;\r\n children?: any[];\r\n };\r\n listener?: {\r\n onClicked: (...args: any[]) => void;\r\n };\r\n}\r\n\r\nexport default class ConversationHeaderServer {\r\n static instance: ConversationHeaderServer;\r\n\r\n static getInstance(): ConversationHeaderServer {\r\n if (!ConversationHeaderServer.instance) {\r\n ConversationHeaderServer.instance = new ConversationHeaderServer();\r\n }\r\n return ConversationHeaderServer.instance;\r\n }\r\n\r\n public getMenu(): any[] {\r\n const list = this.generateMenuList();\r\n if (!isPC && list.length > 0) {\r\n return [{\r\n text: TUITranslateService.t('TUIConversation.发起会话'),\r\n data: {\r\n name: 'all',\r\n children: list,\r\n },\r\n }];\r\n }\r\n return list;\r\n }\r\n\r\n private generateMenuList(): any[] {\r\n const list = [\r\n {\r\n icon: C2C,\r\n text: TUITranslateService.t('TUIConversation.发起单聊'),\r\n data: {\r\n name: CONV_CREATE_TYPE.TYPEC2C,\r\n },\r\n listener: {\r\n onClicked: this.createConversation.bind(this),\r\n },\r\n },\r\n {\r\n icon: createGroup,\r\n text: TUITranslateService.t('TUIConversation.发起群聊'),\r\n data: {\r\n name: CONV_CREATE_TYPE.TYPEGROUP,\r\n },\r\n listener: {\r\n onClicked: this.createConversation.bind(this),\r\n },\r\n },\r\n ];\r\n return list;\r\n }\r\n\r\n private createConversation(item: IMenuItem) {\r\n // Create a conversation and notify conversationServer via TUICore.callService\r\n TUICore.callService({\r\n serviceName: TUIConstants.TUIConversation.SERVICE.NAME,\r\n method: TUIConstants.TUIConversation.SERVICE.METHOD.CREATE_CONVERSATION,\r\n params: item,\r\n });\r\n }\r\n}\r\n"],"names":["isPC","TUITranslateService","C2C","CONV_CREATE_TYPE","createGroup","TUICore","TUIConstants"],"mappings":";;;;;AAmBA,MAAqB,yBAAyB;AAAA,EAG5C,OAAO,cAAwC;AACzC,QAAA,CAAC,yBAAyB,UAAU;AACb,+BAAA,WAAW,IAAI;IAC1C;AACA,WAAO,yBAAyB;AAAA,EAClC;AAAA,EAEO,UAAiB;AAChB,UAAA,OAAO,KAAK;AAClB,QAAI,CAACA,iBAAA,QAAQ,KAAK,SAAS,GAAG;AAC5B,aAAO,CAAC;AAAA,QACN,MAAMC,cAAAA,GAAoB,EAAE,sBAAsB;AAAA,QAClD,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MAAA,CACD;AAAA,IACH;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,mBAA0B;AAChC,UAAM,OAAO;AAAA,MACX;AAAA,QACE,MAAMC,cAAA;AAAA,QACN,MAAMD,cAAAA,GAAoB,EAAE,sBAAsB;AAAA,QAClD,MAAM;AAAA,UACJ,MAAME,gBAAiB,iBAAA;AAAA,QACzB;AAAA,QACA,UAAU;AAAA,UACR,WAAW,KAAK,mBAAmB,KAAK,IAAI;AAAA,QAC9C;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAMC,cAAA;AAAA,QACN,MAAMH,cAAAA,GAAoB,EAAE,sBAAsB;AAAA,QAClD,MAAM;AAAA,UACJ,MAAME,gBAAiB,iBAAA;AAAA,QACzB;AAAA,QACA,UAAU;AAAA,UACR,WAAW,KAAK,mBAAmB,KAAK,IAAI;AAAA,QAC9C;AAAA,MACF;AAAA,IAAA;AAEK,WAAA;AAAA,EACT;AAAA,EAEQ,mBAAmB,MAAiB;AAE1CE,kBAAAA,EAAQ,YAAY;AAAA,MAClB,aAAaC,cAAa,EAAA,gBAAgB,QAAQ;AAAA,MAClD,QAAQA,cAAAA,EAAa,gBAAgB,QAAQ,OAAO;AAAA,MACpD,QAAQ;AAAA,IAAA,CACT;AAAA,EACH;AACF;;"}
{"version":3,"file":"server.js","sources":["TUIKit/components/TUIConversation/conversation-header/server.ts"],"sourcesContent":["import TUICore, { TUIConstants } from '@tencentcloud/tui-core';\nimport { TUITranslateService } from '@tencentcloud/chat-uikit-engine';\nimport { isPC } from '../../../utils/env';\nimport createGroup from '../../../assets/icon/start-group.svg';\nimport C2C from '../../../assets/icon/icon-c2c.svg';\nimport { CONV_CREATE_TYPE } from '../../../constant';\n\nexport interface IMenuItem {\n icon?: string;\n text: string;\n data: {\n name: string;\n children?: any[];\n };\n listener?: {\n onClicked: (...args: any[]) => void;\n };\n}\n\nexport default class ConversationHeaderServer {\n static instance: ConversationHeaderServer;\n\n static getInstance(): ConversationHeaderServer {\n if (!ConversationHeaderServer.instance) {\n ConversationHeaderServer.instance = new ConversationHeaderServer();\n }\n return ConversationHeaderServer.instance;\n }\n\n public getMenu(): any[] {\n const list = this.generateMenuList();\n if (!isPC && list.length > 0) {\n return [{\n text: TUITranslateService.t('TUIConversation.发起会话'),\n data: {\n name: 'all',\n children: list,\n },\n }];\n }\n return list;\n }\n\n private generateMenuList(): any[] {\n const list = [\n {\n icon: C2C,\n text: TUITranslateService.t('TUIConversation.发起单聊'),\n data: {\n name: CONV_CREATE_TYPE.TYPEC2C,\n },\n listener: {\n onClicked: this.createConversation.bind(this),\n },\n },\n {\n icon: createGroup,\n text: TUITranslateService.t('TUIConversation.发起群聊'),\n data: {\n name: CONV_CREATE_TYPE.TYPEGROUP,\n },\n listener: {\n onClicked: this.createConversation.bind(this),\n },\n },\n ];\n return list;\n }\n\n private createConversation(item: IMenuItem) {\n // Create a conversation and notify conversationServer via TUICore.callService\n TUICore.callService({\n serviceName: TUIConstants.TUIConversation.SERVICE.NAME,\n method: TUIConstants.TUIConversation.SERVICE.METHOD.CREATE_CONVERSATION,\n params: item,\n });\n }\n}\n"],"names":["isPC","TUITranslateService","C2C","CONV_CREATE_TYPE","createGroup","TUICore","TUIConstants"],"mappings":";;;;;AAmBA,MAAqB,yBAAyB;AAAA,EAG5C,OAAO,cAAwC;AACzC,QAAA,CAAC,yBAAyB,UAAU;AACb,+BAAA,WAAW,IAAI;IAC1C;AACA,WAAO,yBAAyB;AAAA,EAClC;AAAA,EAEO,UAAiB;AAChB,UAAA,OAAO,KAAK;AAClB,QAAI,CAACA,iBAAA,QAAQ,KAAK,SAAS,GAAG;AAC5B,aAAO,CAAC;AAAA,QACN,MAAMC,cAAAA,GAAoB,EAAE,sBAAsB;AAAA,QAClD,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MAAA,CACD;AAAA,IACH;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,mBAA0B;AAChC,UAAM,OAAO;AAAA,MACX;AAAA,QACE,MAAMC,cAAA;AAAA,QACN,MAAMD,cAAAA,GAAoB,EAAE,sBAAsB;AAAA,QAClD,MAAM;AAAA,UACJ,MAAME,gBAAiB,iBAAA;AAAA,QACzB;AAAA,QACA,UAAU;AAAA,UACR,WAAW,KAAK,mBAAmB,KAAK,IAAI;AAAA,QAC9C;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAMC,cAAA;AAAA,QACN,MAAMH,cAAAA,GAAoB,EAAE,sBAAsB;AAAA,QAClD,MAAM;AAAA,UACJ,MAAME,gBAAiB,iBAAA;AAAA,QACzB;AAAA,QACA,UAAU;AAAA,UACR,WAAW,KAAK,mBAAmB,KAAK,IAAI;AAAA,QAC9C;AAAA,MACF;AAAA,IAAA;AAEK,WAAA;AAAA,EACT;AAAA,EAEQ,mBAAmB,MAAiB;AAE1CE,kBAAAA,EAAQ,YAAY;AAAA,MAClB,aAAaC,cAAa,EAAA,gBAAgB,QAAQ;AAAA,MAClD,QAAQA,cAAAA,EAAa,gBAAgB,QAAQ,OAAO;AAAA,MACpD,QAAQ;AAAA,IAAA,CACT;AAAA,EACH;AACF;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDb252ZXJzYXRpb24vY29udmVyc2F0aW9uLWxpc3QvaW5kZXgudnVl"],"sourcesContent":["import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIConversation/conversation-list/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,MAAe,eAAA;"}
{"version":3,"file":"index.js","sources":["/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-list/index.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-list/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,MAAe,eAAA;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index2.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJQ29udmVyc2F0aW9uXGNvbnZlcnNhdGlvbi1saXN0XGluZGV4LnZ1ZQ"],"sourcesContent":["import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIConversation/conversation-list/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,MAAe,eAAA;"}
{"version":3,"file":"index2.js","sources":["TUIKit/components/TUIConversation/conversation-list/index.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-list/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,MAAe,eAAA;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIConversation/conversation-network/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDb252ZXJzYXRpb24vY29udmVyc2F0aW9uLW5ldHdvcmsvaW5kZXgudnVl"],"sourcesContent":["<template>\r\n <div\r\n v-if=\"isNotNetwork\"\r\n class=\"network\"\r\n >\r\n <i class=\"icon icon-error\">!</i>\r\n <p class=\"network-content\">\r\n {{\r\n TUITranslateService.t(\"TUIConversation.网络异常,请您检查网络设置\")\r\n }}\r\n </p>\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport TUIChatEngine, {\r\n TUIStore,\r\n StoreName,\r\n TUITranslateService,\r\n} from '@tencentcloud/chat-uikit-engine';\r\nimport {\r\n ref,\r\n} from '../../../adapter-vue';\r\n\r\nconst isNotNetwork = ref(false);\r\n\r\nTUIStore.watch(StoreName.USER, {\r\n netStateChange: (value: string) => {\r\n isNotNetwork.value = (value === TUIChatEngine.TYPES.NET_STATE_DISCONNECTED);\r\n },\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped src=\"../style/index.scss\"></style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIConversation/conversation-network/index.vue'\nwx.createComponent(Component)"],"names":["ref","TUIStore","StoreName","TUIChatEngine"],"mappings":";;;;;;AAuBM,UAAA,eAAeA,kBAAI,KAAK;AAErBC,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,gBAAgB,CAAC,UAAkB;AACpB,qBAAA,QAAS,UAAUC,cAAAA,GAAc,MAAM;AAAA,MACtD;AAAA,IAAA,CACD;;;;;;;;;;;AC5BD,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIConversation/conversation-network/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-network/index.vue?type=component"],"sourcesContent":["<template>\n <div\n v-if=\"isNotNetwork\"\n class=\"network\"\n >\n <i class=\"icon icon-error\">!</i>\n <p class=\"network-content\">\n {{\n TUITranslateService.t(\"TUIConversation.网络异常,请您检查网络设置\")\n }}\n </p>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport TUIChatEngine, {\n TUIStore,\n StoreName,\n TUITranslateService,\n} from '@tencentcloud/chat-uikit-engine';\nimport {\n ref,\n} from '../../../adapter-vue';\n\nconst isNotNetwork = ref(false);\n\nTUIStore.watch(StoreName.USER, {\n netStateChange: (value: string) => {\n isNotNetwork.value = (value === TUIChatEngine.TYPES.NET_STATE_DISCONNECTED);\n },\n});\n</script>\n\n<style lang=\"scss\" scoped src=\"../style/index.scss\"></style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/conversation-network/index.vue'\nwx.createComponent(Component)"],"names":["ref","TUIStore","StoreName","TUIChatEngine"],"mappings":";;;;;;AAuBM,UAAA,eAAeA,kBAAI,KAAK;AAErBC,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,gBAAgB,CAAC,UAAkB;AACpB,qBAAA,QAAS,UAAUC,cAAAA,GAAc,MAAM;AAAA,MACtD;AAAA,IAAA,CACD;;;;;;;;;;;AC5BD,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"entry.js","sources":["TUIKit/components/TUIConversation/entry.ts"],"sourcesContent":["import { TUIChatKit } from '../../index.ts';\r\nTUIChatKit?.init(); // Add optional chaining operator to fix sample main package integration errors\r\n"],"names":["TUIChatKit"],"mappings":";;;CACAA,kBAAA,eAAAA,mBAAY;"}
{"version":3,"file":"entry.js","sources":["TUIKit/components/TUIConversation/entry.ts"],"sourcesContent":["import { TUIChatKit } from '../../index.ts';\nTUIChatKit?.init(); // Add optional chaining operator to fix sample main package integration errors\n"],"names":["TUIChatKit"],"mappings":";;;CACAA,kBAAA,eAAAA,mBAAY;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJQ29udmVyc2F0aW9uXGluZGV4LnZ1ZQ"],"sourcesContent":["import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIConversation/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,eAAA;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIConversation/index.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIConversation/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,eAAA;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"config.js","sources":["TUIKit/components/TUIGroup/create-group/group-introduction/config.ts"],"sourcesContent":["import TUIChatEngine from '@tencentcloud/chat-uikit-engine';\r\n\r\nconst groupIntroConfig = [\r\n {\r\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Public.svg',\r\n label: '陌生人社交群Public',\r\n type: TUIChatEngine.TYPES.GRP_PUBLIC,\r\n detail: '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见',\r\n src: '产品文档',\r\n },\r\n {\r\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Meeting.svg',\r\n label: '临时会议群Meeting',\r\n type: TUIChatEngine.TYPES.GRP_MEETING,\r\n detail: '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见',\r\n src: '产品文档',\r\n },\r\n {\r\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Work.svg',\r\n label: '好友工作群Work',\r\n type: TUIChatEngine.TYPES.GRP_WORK,\r\n detail: '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见',\r\n src: '产品文档',\r\n },\r\n {\r\n icon: 'https://web.sdk.qcloud.com/im/assets/images/AVChatroom.svg',\r\n label: '直播群AVChatroom',\r\n type: TUIChatEngine.TYPES.GRP_AVCHATROOM,\r\n detail: '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见',\r\n src: '产品文档',\r\n },\r\n {\r\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Community.png',\r\n label: '社群Community',\r\n type: TUIChatEngine.TYPES.GRP_COMMUNITY,\r\n detail: '创建后可以随意进出最多支持100000人支持历史消息存储用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见',\r\n src: '产品文档',\r\n },\r\n];\r\n\r\nconst findGroupIntroConfig = (type: string) => {\r\n return groupIntroConfig.filter((item: any) => {\r\n return item.type === type;\r\n })[0];\r\n};\r\n\r\nexport {\r\n groupIntroConfig,\r\n findGroupIntroConfig,\r\n};\r\n"],"names":["TUIChatEngine"],"mappings":";;AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AACF;AAEM,MAAA,uBAAuB,CAAC,SAAiB;AACtC,SAAA,iBAAiB,OAAO,CAAC,SAAc;AAC5C,WAAO,KAAK,SAAS;AAAA,EAAA,CACtB,EAAE,CAAC;AACN;;;"}
{"version":3,"file":"config.js","sources":["TUIKit/components/TUIGroup/create-group/group-introduction/config.ts"],"sourcesContent":["import TUIChatEngine from '@tencentcloud/chat-uikit-engine';\n\nconst groupIntroConfig = [\n {\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Public.svg',\n label: '陌生人社交群Public',\n type: TUIChatEngine.TYPES.GRP_PUBLIC,\n detail: '类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见',\n src: '产品文档',\n },\n {\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Meeting.svg',\n label: '临时会议群Meeting',\n type: TUIChatEngine.TYPES.GRP_MEETING,\n detail: '创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见',\n src: '产品文档',\n },\n {\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Work.svg',\n label: '好友工作群Work',\n type: TUIChatEngine.TYPES.GRP_WORK,\n detail: '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见',\n src: '产品文档',\n },\n {\n icon: 'https://web.sdk.qcloud.com/im/assets/images/AVChatroom.svg',\n label: '直播群AVChatroom',\n type: TUIChatEngine.TYPES.GRP_AVCHATROOM,\n detail: '创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见',\n src: '产品文档',\n },\n {\n icon: 'https://web.sdk.qcloud.com/im/assets/images/Community.png',\n label: '社群Community',\n type: TUIChatEngine.TYPES.GRP_COMMUNITY,\n detail: '创建后可以随意进出最多支持100000人支持历史消息存储用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见',\n src: '产品文档',\n },\n];\n\nconst findGroupIntroConfig = (type: string) => {\n return groupIntroConfig.filter((item: any) => {\n return item.type === type;\n })[0];\n};\n\nexport {\n groupIntroConfig,\n findGroupIntroConfig,\n};\n"],"names":["TUIChatEngine"],"mappings":";;AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAMA,cAAAA,GAAc,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AACF;AAEM,MAAA,uBAAuB,CAAC,SAAiB;AACtC,SAAA,iBAAiB,OAAO,CAAC,SAAc;AAC5C,WAAO,KAAK,SAAS;AAAA,EAAA,CACtB,EAAE,CAAC;AACN;;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIGroup/create-group/group-introduction/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlHcm91cC9jcmVhdGUtZ3JvdXAvZ3JvdXAtaW50cm9kdWN0aW9uL2luZGV4LnZ1ZQ"],"sourcesContent":["<template>\r\n <ul class=\"group-introduction-list select\">\r\n <li\r\n v-for=\"(item, index) in type\"\r\n :key=\"index\"\r\n class=\"select-item\"\r\n :class=\"[selectType === item.type && 'selected']\"\r\n @click=\"selected(item)\"\r\n >\r\n <main class=\"select-item-type\">\r\n <div class=\"select-item-header\">\r\n <aside class=\"left\">\r\n <Icon\r\n class=\"icon\"\r\n :file=\"item.icon\"\r\n />\r\n <span class=\"select-item-label\">{{ TUITranslateService.t(`TUIGroup.${item.label}`) }}</span>\r\n </aside>\r\n <Icon\r\n v-if=\"selectType === item.type\"\r\n :file=\"selectedIcon\"\r\n />\r\n </div>\r\n <span class=\"select-item-detail\">{{ TUITranslateService.t(`TUIGroup.${item.detail}`) }}</span>\r\n <a\r\n class=\"link\"\r\n :href=\"documentLink.product.url\"\r\n target=\"_blank\"\r\n @click=\"openUrl(documentLink.product.url)\"\r\n >{{\r\n TUITranslateService.t(`TUIGroup.${item.src}`) }}</a>\r\n </main>\r\n </li>\r\n </ul>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, watchEffect } from '../../../../adapter-vue';\r\nimport { TUITranslateService } from '@tencentcloud/chat-uikit-engine';\r\nimport { TUIGlobal } from '@tencentcloud/universal-api';\r\nimport documentLink from '../../../../utils/documentLink';\r\nimport Icon from '../../../common/Icon.vue';\r\nimport selectedIcon from '../../../../assets/icon/selected.svg';\r\nimport { groupIntroConfig } from './config';\r\nimport { isUniFrameWork } from '../../../../utils/env';\r\n\r\nconst props = defineProps({\r\n groupType: {\r\n type: String,\r\n default: '',\r\n },\r\n});\r\n\r\nconst type = groupIntroConfig;\r\n\r\nconst selectType = ref();\r\n\r\nconst emit = defineEmits(['selectType']);\r\n\r\nwatchEffect(() => {\r\n selectType.value = props.groupType;\r\n});\r\n\r\nconst selected = (item: any) => {\r\n selectType.value = item.type;\r\n emit('selectType', item.type);\r\n};\r\n\r\nconst openUrl = (link: string) => {\r\n if (!isUniFrameWork) {\r\n TUIGlobal?.open(link);\r\n }\r\n};\r\n\r\n</script>\r\n<style lang=\"scss\" scoped src=\"../style/index.scss\"></style>\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIGroup/create-group/group-introduction/index.vue'\nwx.createComponent(Component)"],"names":["groupIntroConfig","ref","watchEffect","isUniFrameWork","TUIGlobal"],"mappings":";;;;;;;;;;AAwCA,MAAA,OAAiB,MAAA;;;;;;;;;;;AAKjB,UAAM,QAAQ;AAOd,UAAM,OAAOA,gEAAAA;AAEb,UAAM,aAAaC,cAAAA;AAEnB,UAAM,OAAO;AAEbC,kBAAAA,YAAY,MAAM;AAChB,iBAAW,QAAQ,MAAM;AAAA,IAAA,CAC1B;AAEK,UAAA,WAAW,CAAC,SAAc;AAC9B,iBAAW,QAAQ,KAAK;AACnB,WAAA,cAAc,KAAK,IAAI;AAAA,IAAA;AAGxB,UAAA,UAAU,CAAC,SAAiB;;AAChC,UAAI,CAACC,iBAAAA,gBAAgB;AACnBC,kCAAAA,mBAAW,KAAK;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrEF,GAAG,gBAAgB,SAAS;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIGroup/create-group/group-introduction/index.vue","/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIGroup/create-group/group-introduction/index.vue?type=component"],"sourcesContent":["<template>\n <ul class=\"group-introduction-list select\">\n <li\n v-for=\"(item, index) in type\"\n :key=\"index\"\n class=\"select-item\"\n :class=\"[selectType === item.type && 'selected']\"\n @click=\"selected(item)\"\n >\n <main class=\"select-item-type\">\n <div class=\"select-item-header\">\n <aside class=\"left\">\n <Icon\n class=\"icon\"\n :file=\"item.icon\"\n />\n <span class=\"select-item-label\">{{ TUITranslateService.t(`TUIGroup.${item.label}`) }}</span>\n </aside>\n <Icon\n v-if=\"selectType === item.type\"\n :file=\"selectedIcon\"\n />\n </div>\n <span class=\"select-item-detail\">{{ TUITranslateService.t(`TUIGroup.${item.detail}`) }}</span>\n <a\n class=\"link\"\n :href=\"documentLink.product.url\"\n target=\"_blank\"\n @click=\"openUrl(documentLink.product.url)\"\n >{{\n TUITranslateService.t(`TUIGroup.${item.src}`) }}</a>\n </main>\n </li>\n </ul>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watchEffect } from '../../../../adapter-vue';\nimport { TUITranslateService } from '@tencentcloud/chat-uikit-engine';\nimport { TUIGlobal } from '@tencentcloud/universal-api';\nimport documentLink from '../../../../utils/documentLink';\nimport Icon from '../../../common/Icon.vue';\nimport selectedIcon from '../../../../assets/icon/selected.svg';\nimport { groupIntroConfig } from './config';\nimport { isUniFrameWork } from '../../../../utils/env';\n\nconst props = defineProps({\n groupType: {\n type: String,\n default: '',\n },\n});\n\nconst type = groupIntroConfig;\n\nconst selectType = ref();\n\nconst emit = defineEmits(['selectType']);\n\nwatchEffect(() => {\n selectType.value = props.groupType;\n});\n\nconst selected = (item: any) => {\n selectType.value = item.type;\n emit('selectType', item.type);\n};\n\nconst openUrl = (link: string) => {\n if (!isUniFrameWork) {\n TUIGlobal?.open(link);\n }\n};\n\n</script>\n<style lang=\"scss\" scoped src=\"../style/index.scss\"></style>\n","import Component from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIGroup/create-group/group-introduction/index.vue'\nwx.createComponent(Component)"],"names":["groupIntroConfig","ref","watchEffect","isUniFrameWork","TUIGlobal"],"mappings":";;;;;;;;;;AAwCA,MAAA,OAAiB,MAAA;;;;;;;;;;;AAKjB,UAAM,QAAQ;AAOd,UAAM,OAAOA,gEAAAA;AAEb,UAAM,aAAaC,cAAAA;AAEnB,UAAM,OAAO;AAEbC,kBAAAA,YAAY,MAAM;AAChB,iBAAW,QAAQ,MAAM;AAAA,IAAA,CAC1B;AAEK,UAAA,WAAW,CAAC,SAAc;AAC9B,iBAAW,QAAQ,KAAK;AACnB,WAAA,cAAc,KAAK,IAAI;AAAA,IAAA;AAGxB,UAAA,UAAU,CAAC,SAAiB;;AAChC,UAAI,CAACC,iBAAAA,gBAAgB;AACnBC,kCAAAA,mBAAW,KAAK;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrEF,GAAG,gBAAgB,SAAS;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/VFVJS2l0XGNvbXBvbmVudHNcVFVJR3JvdXBcaW5kZXgudnVl"],"sourcesContent":["import MiniProgramPage from 'D:/项目/tk-mini-program/TUIKit/components/TUIGroup/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,iBAAA;"}
{"version":3,"file":"index.js","sources":["TUIKit/components/TUIGroup/index.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/plw/Documents/outsource/tk-mini-program/TUIKit/components/TUIGroup/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,wBAAe,iBAAA;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More