自定义消息

This commit is contained in:
pengxiaolong
2025-05-16 21:53:47 +08:00
parent 595c5329a0
commit e05d72fccf
43 changed files with 458 additions and 84 deletions

View File

@@ -15,8 +15,8 @@ vueVersion = 3;
// Deploy production environment please get it from your server.
// View https://cloud.tencent.com/document/product/269/32688
uni.$SDKAppID = 1600086550; // Your SDKAppID
uni.$userID = '123'; // Your userID
uni.$userSig = 'eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwoZGxlDh4pTsxIKCzBQlK0MzAwMDCzNTUwOITGpFQWZRKlDc1NTUCCgFES3JzAWJmZuYGxpbALVATclMB5qaUmwRlpvkHBmcHWps7hScoe3sm6PtmRxZXOWZkZYbWGKYXlVo6ByUUlqRbqtUCwBTujBs'; // Your userSig
uni.$userID = 'oi'; // Your userID
uni.$userSig = 'eJwtzEELwiAYxvHv4jmGWjobdInIwGCHgsFuI529tS1bQ4zou2fbjs-vgf8HnY*nxJseZYgmGC3GDdp0A9Qw8gNmfel75RxolBGOMRacMTw9JjjoTXTGGI3XpAO0f0tX6XJNORdzBWyM2qe9HhTfVabLSQCSt14Wb6NuRVOyC9nL0ssmKLwFsUHfH3s4MI4_'; // Your userSig
export default {
onLaunch: function () {

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -24,6 +24,7 @@ class TUIChatConfig {
InputFile: true,
InputEvaluation: true,
InputQuickReplies: true,
InputCustomMessage:true,
InputMention: true,
MessageSearch: true,
ReadStatus: true,

View File

@@ -0,0 +1,103 @@
<!-- 自定义邀请消息 -->
<template>
<ToolbarItemContainer
ref="container"
:iconFile="evaluateIcon"
title="邀请"
:needBottomPopup="true"
:iconWidth="isUniFrameWork ? '36px' : '30px'"
:iconHeight="isUniFrameWork ? '36px' : '30px'"
@onDialogShow="onDialogShow"
@onDialogClose="onDialogClose"
>
<div>
<div class="container"></div>
<button class="send-btn" @click="submitEvaluate">发送邀请</button>
</div>
</ToolbarItemContainer>
</template>
<script setup>
import TUIChatConfig from "../../config";
import ToolbarItemContainer from "../toolbar-item-container/index.vue";
import InvitationDark from "../../../../assets/icon/InvitationDark.png";
import InvitationLight from "../../../../assets/icon/InvitationLight.png";
import { CHAT_MSG_CUSTOM_TYPE } from "../../../../constant";
import { ref } from "vue";
import TUIChatEngine, {
TUITranslateService,
TUIStore,
StoreName,
IConversationModel,
TUIChatService,
SendMessageParams,
SendMessageOptions,
} from "@tencentcloud/chat-uikit-engine";
import { isEnabledMessageReadReceiptGlobal } from "../../utils/utils";
import OfflinePushInfoManager, {
IOfflinePushInfoCreateParams,
} from "../../offlinePushInfoManager/index";
const evaluateIcon =
TUIChatConfig.getTheme() === "dark" ? InvitationDark : InvitationLight;
const emits = defineEmits(["onDialogPopupShowOrHide"]);
const onDialogShow = () => {
emits("onDialogPopupShowOrHide", true);
};
const onDialogClose = () => {
emits("onDialogPopupShowOrHide", false);
};
///``````````````````````````````````````````````````````````````````````````````````````
const currentConversation = ref();
TUIStore.watch(StoreName.CONV, {
currentConversation: (conversation) => {
currentConversation.value = conversation;
},
});
const container = ref();
///``````````````````````````````````````标记``````````````````````````````````````````````
const submitEvaluate = () => {
const payload = {
data: JSON.stringify({
businessID: "pk",
title: "PK邀请",
buttonText1: "接受邀请",
buttonText2: "拒绝邀请",
}),
description: "",
extension: "",
};
//`````````````````````````````````````````````````````
const options = {
to:
currentConversation?.value?.groupProfile?.groupID ||
currentConversation?.value?.userProfile?.userID,
conversationType: currentConversation?.value?.type,
payload,
needReadReceipt: isEnabledMessageReadReceiptGlobal(),
};
const offlinePushInfoCreateParams = {
conversation: currentConversation.value,
payload: options.payload,
messageType: TUIChatEngine.TYPES.MSG_CUSTOM,
};
const sendMessageOptions = {
offlinePushInfo: OfflinePushInfoManager.create(offlinePushInfoCreateParams),
};
TUIChatService.sendCustomMessage(options, sendMessageOptions);
// close dialog after submit evaluate
container?.value?.toggleDialogDisplay(false);
};
</script>
<style scoped>
.container {
height: 300rpx;
}
.send-btn {
margin-bottom: 100rpx;
}
</style>

View File

@@ -9,6 +9,7 @@
<div v-if="props.displayType === 'emojiPicker'">
<EmojiPickerDialog />
</div>
<div v-else>
<swiper
:class="['message-input-toolbar-swiper']"
@@ -64,6 +65,10 @@
v-else-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
<template v-if="neededCountFirstPage > 1">
<Evaluate
@@ -74,6 +79,10 @@
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
</swiper-item>
<swiper-item
@@ -113,10 +122,15 @@
v-if="featureConfig.InputQuickReplies"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
<CustomMessage
v-if="featureConfig.InputCustomMessage"
@onDialogPopupShowOrHide="handleSwiperDotShow"
/>
</template>
</swiper-item>
</swiper>
</div>
<UserSelector
ref="userSelectorRef"
:type="selectorShowType"
@@ -147,6 +161,7 @@ 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"
interface IProps {
displayType: ToolbarDisplayType;

View File

@@ -1,5 +1,6 @@
<template>
<div class="custom">
<!-- `````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
<template v-if="customData.businessID === CHAT_MSG_CUSTOM_TYPE.SERVICE">
<div>
<h1>
@@ -28,6 +29,7 @@
<article>{{ extension.description }}</article>
</div>
</template>
<!-- ``````````````````````````````````````````````````````````````````````````````````````````````````` -->
<template v-else-if="customData.businessID === CHAT_MSG_CUSTOM_TYPE.EVALUATE">
<div class="evaluate">
<h1>{{ TUITranslateService.t("message.custom.对本次服务评价") }}</h1>
@@ -46,6 +48,7 @@
<article>{{ customData.comment }}</article>
</div>
</template>
<!-- `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
<template v-else-if="customData.businessID === CHAT_MSG_CUSTOM_TYPE.ORDER">
<div
class="order"
@@ -61,6 +64,7 @@
</main>
</div>
</template>
<!-- ````````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
<template v-else-if="customData.businessID === CHAT_MSG_CUSTOM_TYPE.LINK">
<div class="textLink">
<p>{{ customData.text }}</p>
@@ -72,9 +76,21 @@
}}</a>
</div>
</template>
<!-- `························································标记······················································ -->
<template v-else-if="customData.businessID === CHAT_MSG_CUSTOM_TYPE.PK">
<div class="pk">
<h1>{{ customData.title }}</h1>
<div class="button-group">
<button class="buttonAccept">{{ customData.buttonText1 }}</button>
<button class="buttonRefuse">{{ customData.buttonText2 }}</button>
</div>
</div>
</template>
<!-- ``````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
<template v-else>
<span v-html="content.custom" />
</template>
<!-- ``````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
</div>
</template>
@@ -118,6 +134,9 @@ const openLink = (url: any) => {
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped>
@import "../../../../assets/styles/common";
a {
@@ -125,7 +144,7 @@ a {
}
.custom {
font-size: 14px;
font-size: 18px;
h1 {
font-size: 14px;
@@ -183,5 +202,56 @@ a {
height: 67px;
}
}
// `````````````````````````````````````````````````````````````````````
.pk{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
background-color: #f5f5f5;
border-radius: 10px;
padding: 20px;
box-sizing: border-box;
h1{
font-size: 18px;
color: #333;
margin-bottom: 10px;
}
.button-group{
display: flex;
justify-content: center;
.buttonAccept{
width: 40%;
height: 60rpx;
background-color: #84ff0055;
border-radius: 10px;
border: 2px solid #26ff00;
color: #fff;
font-size: 16px;
text-align: center;
line-height: 60rpx;
margin-bottom: 10px;
border: none;
cursor: pointer;
}
.buttonRefuse{
width: 40%;
height: 60rpx;
background-color: #ff000078;
border: 2px solid #ff0000;
border-radius: 10px;
color: #fff;
font-size: 16px;
line-height: 60rpx;
text-align: center;
margin-bottom: 10px;
border: none;
cursor: pointer;
}
}
}
//``````````````````````````````````````````````````````````````````````````````````
}
</style>

View File

@@ -1,4 +1,5 @@
<template>
<div class="Navigation-left"> </div>
<div class="Navigation">
<image
src="../../../static/Navigationimg.png"
@@ -137,6 +138,11 @@ const getPassingRef = (ref) => {
justify-content: center;
align-items: center;
}
.Navigation-left{
width: 100%;
height: 200rpx;
z-index: 998;
}
/* .Return {
width: 50rpx;
height: 50rpx;

View File

@@ -1,3 +1,4 @@
//标记
export const CONV_OPERATION = {
DELETE: "delete",
ISPINNED: "ispinned",
@@ -16,6 +17,7 @@ export const CHAT_MSG_CUSTOM_TYPE = {
SERVICE: "consultion",
EVALUATE: "evaluation",
LINK: "text_link",
PK: "pk",
CALL: 1,
ORDER: "order",
};

View File

@@ -1,22 +1,20 @@
<template>
</template>
<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
uni.reLaunch({ url: "/pages/UserInformation/UserInformation"})
},
methods: {
// 方法定义
}
}
</script>
<style scoped>
/* 样式定义 */
</style>
<div>
<button @click="openConversationList">打开会话列表</button>
<button @click="openContact">打开联系人</button>
</div>
</template>
<script>
export default {
methods: {
// 打开会话列表
openConversationList() {
uni.navigateTo({ url: '/TUIKit/components/TUIConversation/index' });
},
// 打开联系人
openContact() {
uni.navigateTo({ url: '/TUIKit/components/TUIContact/index' });
},
},
};
</script>

View File

@@ -1 +1 @@
{"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 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,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;;"}

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":"constant.js","sources":["TUIKit/constant.ts"],"sourcesContent":["export const CONV_OPERATION = {\n DELETE: \"delete\",\n ISPINNED: \"ispinned\",\n DISPINNED: \"dispinned\",\n MUTE: \"mute\",\n NOTMUTE: \"notmute\",\n};\n\nexport const CONV_CREATE_TYPE = {\n TYPEC2C: \"isC2C\",\n TYPEGROUP: \"isGroup\",\n JOINGROUP: \"joinGroup\",\n};\n\nexport const CHAT_MSG_CUSTOM_TYPE = {\n SERVICE: \"consultion\",\n EVALUATE: \"evaluation\",\n LINK: \"text_link\",\n CALL: 1,\n ORDER: \"order\",\n};\n\nexport const DIALOG_CONTENT = {\n USERLIST: \"userList\",\n GROUPINFORMATION: \"groupInformation\",\n};\n\nexport const EMOJI_TYPE = {\n BASIC: \"basic\",\n BIG: \"big\",\n CUSTOM: \"CUSTOM\",\n};\n\nexport const CONTACT_INFO_LABEL_POSITION = {\n LEFT: \"left\",\n TOP: \"top\",\n};\n\nexport const CONTACT_INFO_MORE_EDIT_TYPE = {\n INPUT: \"input\",\n TEXTAREA: \"textarea\",\n SWITCH: \"switch\",\n};\n\nexport const CONTACT_INFO_BUTTON_TYPE = {\n SUBMIT: \"submit\",\n CANCEL: \"cancel\",\n};\n"],"names":[],"mappings":";AAAO,MAAM,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEO,MAAM,mBAAmB;AAAA,EAC9B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AACb;AAEO,MAAM,uBAAuB;AAAA,EAClC,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT;AAOO,MAAM,aAAa;AAAA,EACxB,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AACV;AAEO,MAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,KAAK;AACP;AAEO,MAAM,8BAA8B;AAAA,EACzC,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,MAAM,2BAA2B;AAAA,EACtC,QAAQ;AAAA,EACR,QAAQ;AACV;;;;;;;;"}
{"version":3,"file":"constant.js","sources":["TUIKit/constant.ts"],"sourcesContent":["//标记\nexport const CONV_OPERATION = {\n DELETE: \"delete\",\n ISPINNED: \"ispinned\",\n DISPINNED: \"dispinned\",\n MUTE: \"mute\",\n NOTMUTE: \"notmute\",\n};\n\nexport const CONV_CREATE_TYPE = {\n TYPEC2C: \"isC2C\",\n TYPEGROUP: \"isGroup\",\n JOINGROUP: \"joinGroup\",\n};\n\nexport const CHAT_MSG_CUSTOM_TYPE = {\n SERVICE: \"consultion\",\n EVALUATE: \"evaluation\",\n LINK: \"text_link\",\n PK: \"pk\",\n CALL: 1,\n ORDER: \"order\",\n};\n\nexport const DIALOG_CONTENT = {\n USERLIST: \"userList\",\n GROUPINFORMATION: \"groupInformation\",\n};\n\nexport const EMOJI_TYPE = {\n BASIC: \"basic\",\n BIG: \"big\",\n CUSTOM: \"CUSTOM\",\n};\n\nexport const CONTACT_INFO_LABEL_POSITION = {\n LEFT: \"left\",\n TOP: \"top\",\n};\n\nexport const CONTACT_INFO_MORE_EDIT_TYPE = {\n INPUT: \"input\",\n TEXTAREA: \"textarea\",\n SWITCH: \"switch\",\n};\n\nexport const CONTACT_INFO_BUTTON_TYPE = {\n SUBMIT: \"submit\",\n CANCEL: \"cancel\",\n};\n"],"names":[],"mappings":";AACO,MAAM,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEO,MAAM,mBAAmB;AAAA,EAC9B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AACb;AAEO,MAAM,uBAAuB;AAAA,EAClC,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO;AACT;AAOO,MAAM,aAAa;AAAA,EACxB,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AACV;AAEO,MAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,KAAK;AACP;AAEO,MAAM,8BAA8B;AAAA,EACzC,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,MAAM,2BAA2B;AAAA,EACtC,QAAQ;AAAA,EACR,QAAQ;AACV;;;;;;;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script lang=\"ts\">\r\nimport { TUILogin } from '@tencentcloud/tui-core';\r\n\r\n\r\n\r\n\r\n\r\nlet vueVersion = 2;\r\n\r\nvueVersion = 3;\r\n\r\n\r\n// Required information\r\n// You can get userSig from TencentCloud chat console for Testing TUIKit.\r\n// Deploy production environment please get it from your server.\r\n// View https://cloud.tencent.com/document/product/269/32688\r\nuni.$SDKAppID = 1600086550; // Your SDKAppID\r\nuni.$userID = '123'; // Your userID\r\nuni.$userSig = 'eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwoZGxlDh4pTsxIKCzBQlK0MzAwMDCzNTUwOITGpFQWZRKlDc1NTUCCgFES3JzAWJmZuYGxpbALVATclMB5qaUmwRlpvkHBmcHWps7hScoe3sm6PtmRxZXOWZkZYbWGKYXlVo6ByUUlqRbqtUCwBTujBs'; // Your userSig\r\n\r\nexport default {\r\n onLaunch: function () {\r\n\t TUILogin.login({\r\n\t SDKAppID: uni.$SDKAppID,\r\n\t userID: uni.$userID, \r\n\t userSig: uni.$userSig, \r\n\t useUploadPlugin: true, // If you need to send rich media messages, please set to true.\r\n\t framework: `vue${vueVersion}` // framework used vue2 / vue3\r\n\t }).catch(() => {});\r\n }\r\n};\r\n</script>\r\n<style>\r\n/* common css for page */\r\nuni-page-body,html,body,page {\r\n width: 100% !important;\r\n height: 100% !important;\r\n overflow: hidden;\r\n}\r\n</style>","import App from './App'\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","TUILogin","createSSRApp","App"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAI,aAAa;AAEjB,aAAa;AAObA,cAAAA,MAAI,YAAY;AAChBA,cAAAA,MAAI,UAAU;AACdA,cAAAA,MAAI,WAAW;AAEf,MAAe,YAAA;AAAA,EACb,UAAU,WAAY;AACtBC,kBAAAA,EAAS,MAAM;AAAA,MACb,UAAUD,cAAI,MAAA;AAAA,MACd,QAAQA,cAAI,MAAA;AAAA,MACZ,SAASA,cAAI,MAAA;AAAA,MACb,iBAAiB;AAAA;AAAA,MACjB,WAAW,MAAM,UAAU;AAAA;AAAA,IAAA,CAC5B,EAAE,MAAM,MAAM;AAAA,IAAA,CAAE;AAAA,EACjB;AACF;ACfO,SAAS,YAAY;AAC1B,QAAM,MAAME,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script lang=\"ts\">\r\nimport { TUILogin } from '@tencentcloud/tui-core';\r\n\r\n\r\n\r\n\r\n\r\nlet vueVersion = 2;\r\n\r\nvueVersion = 3;\r\n\r\n\r\n// Required information\r\n// You can get userSig from TencentCloud chat console for Testing TUIKit.\r\n// Deploy production environment please get it from your server.\r\n// View https://cloud.tencent.com/document/product/269/32688\r\nuni.$SDKAppID = 1600086550; // Your SDKAppID\r\nuni.$userID = 'oi'; // Your userID\r\nuni.$userSig = 'eJwtzEELwiAYxvHv4jmGWjobdInIwGCHgsFuI529tS1bQ4zou2fbjs-vgf8HnY*nxJseZYgmGC3GDdp0A9Qw8gNmfel75RxolBGOMRacMTw9JjjoTXTGGI3XpAO0f0tX6XJNORdzBWyM2qe9HhTfVabLSQCSt14Wb6NuRVOyC9nL0ssmKLwFsUHfH3s4MI4_'; // Your userSig\r\n\r\nexport default {\r\n onLaunch: function () {\r\n\t TUILogin.login({\r\n\t SDKAppID: uni.$SDKAppID,\r\n\t userID: uni.$userID, \r\n\t userSig: uni.$userSig, \r\n\t useUploadPlugin: true, // If you need to send rich media messages, please set to true.\r\n\t framework: `vue${vueVersion}` // framework used vue2 / vue3\r\n\t }).catch(() => {});\r\n }\r\n};\r\n</script>\r\n<style>\r\n/* common css for page */\r\nuni-page-body,html,body,page {\r\n width: 100% !important;\r\n height: 100% !important;\r\n overflow: hidden;\r\n}\r\n</style>","import App from './App'\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","TUILogin","createSSRApp","App"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAI,aAAa;AAEjB,aAAa;AAObA,cAAAA,MAAI,YAAY;AAChBA,cAAAA,MAAI,UAAU;AACdA,cAAAA,MAAI,WAAW;AAEf,MAAe,YAAA;AAAA,EACb,UAAU,WAAY;AACtBC,kBAAAA,EAAS,MAAM;AAAA,MACb,UAAUD,cAAI,MAAA;AAAA,MACd,QAAQA,cAAI,MAAA;AAAA,MACZ,SAASA,cAAI,MAAA;AAAA,MACb,iBAAiB;AAAA;AAAA,MACjB,WAAW,MAAM,UAAU;AAAA;AAAA,IAAA,CAC5B,EAAE,MAAM,MAAM;AAAA,IAAA,CAAE;AAAA,EACjB;AACF;ACfO,SAAS,YAAY;AAC1B,QAAM,MAAME,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"CustomMessage.js","sources":["components/CustomMessage/CustomMessage.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9jb21wb25lbnRzL0N1c3RvbU1lc3NhZ2UvQ3VzdG9tTWVzc2FnZS52dWU"],"sourcesContent":["<template>\r\n <ToolbarItemContainer\r\n ref=\"container\"\r\n :iconFile=\"evaluateIcon\"\r\n title= \"邀请\"\r\n :needBottomPopup=\"true\"\r\n :iconWidth=\"isUniFrameWork ? '26px' : '20px'\"\r\n :iconHeight=\"isUniFrameWork ? '26px' : '20px'\"\r\n @onDialogShow=\"\"\r\n @onDialogClose=\"\"\r\n >\r\n \r\n \r\n \r\n </ToolbarItemContainer>\r\n</template>\r\n\r\n<script setup>\r\n import TUIChatConfig from '../../TUIKit/components/TUIChat/config';\r\n import ToolbarItemContainer from '../../TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.vue'\r\n import InvitationDark from '../../static/InvitationDark.png'\r\n import InvitationLight from '../../static/InvitationLight.png'\r\n const evaluateIcon = TUIChatConfig.getTheme() === 'dark' ? InvitationDark : InvitationLight;\r\n\r\n</script>\r\n\r\n<style scoped>\r\n /* 样式定义 */\r\n</style>","import Component from 'D:/项目/tk-mini-program/components/CustomMessage/CustomMessage.vue'\nwx.createComponent(Component)"],"names":["TUIChatConfig","InvitationDark","InvitationLight"],"mappings":";;;;;;;AAmBI,MAAM,uBAAuB,MAAW;;;;AAGxC,UAAM,eAAeA,iCAAAA,WAAc,SAAU,MAAK,SAASC,cAAc,iBAAGC;;;;;;;;;;;;;;;;;;;;ACrBhF,GAAG,gBAAgB,SAAS;"}

View File

@@ -1 +1 @@
{"version":3,"file":"Mine.js","sources":["pages/Mine/Mine.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9NaW5lLnZ1ZQ"],"sourcesContent":["<template>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttitle: 'Hello'\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad() {\r\n\t\t\tuni.reLaunch({ url: \"/pages/UserInformation/UserInformation\"})\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t// 方法定义\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped>\r\n\t/* 样式定义 */\r\n</style>","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/Mine.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;AAIC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,OAAO;AAAA,IACR;AAAA,EACA;AAAA,EACD,SAAS;AACRA,kBAAAA,MAAI,SAAS,EAAE,KAAK,yCAAwC,CAAC;AAAA,EAC7D;AAAA,EACD,SAAS;AAAA;AAAA,EAET;AACD;;;;;ACfD,GAAG,WAAW,eAAe;"}
{"version":3,"file":"Mine.js","sources":["pages/Mine/Mine.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9NaW5lLnZ1ZQ"],"sourcesContent":["<template>\r\n\t<div>\r\n\t <button @click=\"openConversationList\">打开会话列表</button>\r\n\t <button @click=\"openContact\">打开联系人</button>\r\n\t</div>\r\n </template>\r\n <script>\r\n export default {\r\n\tmethods: {\r\n\t // 打开会话列表\r\n\t openConversationList() {\r\n\t\tuni.navigateTo({ url: '/TUIKit/components/TUIConversation/index' });\r\n\t },\r\n\t // 打开联系人\r\n\t openContact() {\r\n\t\tuni.navigateTo({ url: '/TUIKit/components/TUIContact/index' });\r\n\t },\r\n\t},\r\n };\r\n </script>","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/Mine.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;AAOE,MAAK,YAAU;AAAA,EAChB,SAAS;AAAA;AAAA,IAEP,uBAAuB;AACxBA,oBAAAA,MAAI,WAAW,EAAE,KAAK,2CAA4C,CAAA;AAAA,IAChE;AAAA;AAAA,IAED,cAAc;AACfA,oBAAAA,MAAI,WAAW,EAAE,KAAK,sCAAuC,CAAA;AAAA,IAC3D;AAAA,EACF;;;;;;;;;AChBF,GAAG,WAAW,eAAe;"}

View File

@@ -21,6 +21,7 @@ class TUIChatConfig {
InputFile: true,
InputEvaluation: true,
InputQuickReplies: true,
InputCustomMessage: true,
InputMention: true,
MessageSearch: true,
ReadStatus: true

View File

@@ -20,6 +20,11 @@
justify-content: center;
align-items: center;
}
.Navigation-left{
width: 100%;
height: 200rpx;
z-index: 998;
}
/* .Return {
width: 50rpx;
height: 50rpx;

View File

@@ -0,0 +1,80 @@
"use strict";
const common_vendor = require("../../../../../common/vendor.js");
const TUIKit_components_TUIChat_config = require("../../config.js");
const common_assets = require("../../../../../common/assets.js");
const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../../offlinePushInfoManager/index.js");
if (!Math) {
ToolbarItemContainer();
}
const ToolbarItemContainer = () => "../toolbar-item-container/index.js";
const _sfc_main = {
__name: "CustomMessage",
emits: ["onDialogPopupShowOrHide"],
setup(__props, { emit: __emit }) {
const evaluateIcon = TUIKit_components_TUIChat_config.ChatConfig.getTheme() === "dark" ? common_assets.InvitationDark : common_assets.InvitationLight;
const emits = __emit;
const onDialogShow = () => {
emits("onDialogPopupShowOrHide", true);
};
const onDialogClose = () => {
emits("onDialogPopupShowOrHide", false);
};
const currentConversation = common_vendor.ref();
common_vendor.Jt.watch(common_vendor.o.CONV, {
currentConversation: (conversation) => {
currentConversation.value = conversation;
}
});
const container = common_vendor.ref();
const submitEvaluate = () => {
var _a, _b, _c, _d, _e, _f;
const payload = {
data: JSON.stringify({
businessID: "pk",
title: "PK邀请",
buttonText1: "接受邀请",
buttonText2: "拒绝邀请"
}),
description: "",
extension: ""
};
const options = {
to: ((_b = (_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
payload,
needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
};
const offlinePushInfoCreateParams = {
conversation: currentConversation.value,
payload: options.payload,
messageType: common_vendor.qt.TYPES.MSG_CUSTOM
};
const sendMessageOptions = {
offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams)
};
common_vendor.Qt.sendCustomMessage(options, sendMessageOptions);
(_f = container == null ? void 0 : container.value) == null ? void 0 : _f.toggleDialogDisplay(false);
};
return (_ctx, _cache) => {
return {
a: common_vendor.o$1(submitEvaluate),
b: common_vendor.sr(container, "241228dc-0", {
"k": "container"
}),
c: common_vendor.o$1(onDialogShow),
d: common_vendor.o$1(onDialogClose),
e: common_vendor.p({
iconFile: common_vendor.unref(evaluateIcon),
title: "邀请",
needBottomPopup: true,
iconWidth: _ctx.isUniFrameWork ? "36px" : "30px",
iconHeight: _ctx.isUniFrameWork ? "36px" : "30px"
})
};
};
}
};
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-241228dc"]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/evaluate/CustomMessage.js.map

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"toolbar-item-container": "../toolbar-item-container/index"
}
}

View File

@@ -0,0 +1 @@
<toolbar-item-container wx:if="{{e}}" class="r data-v-241228dc" u-s="{{['d']}}" u-r="container" bindonDialogShow="{{c}}" bindonDialogClose="{{d}}" u-i="241228dc-0" bind:__l="__l" u-p="{{e}}"><view class="data-v-241228dc"><view class="container data-v-241228dc"></view><button class="send-btn data-v-241228dc" bindtap="{{a}}">发送邀请</button></view></toolbar-item-container>

View File

@@ -0,0 +1,7 @@
.container.data-v-241228dc {
height: 300rpx;
}
.send-btn.data-v-241228dc {
margin-bottom: 100rpx;
}

View File

@@ -6,7 +6,7 @@ const TUIKit_utils_enableSampleTaskStatus = require("../../../utils/enableSample
const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../offlinePushInfoManager/index.js");
const TUIKit_components_TUIChat_offlinePushInfoManager_const = require("../offlinePushInfoManager/const.js");
if (!Math) {
(EmojiPickerDialog + ImageUpload + VideoUpload + ToolbarItemContainer + Evaluate + Words + UserSelector)();
(EmojiPickerDialog + ImageUpload + VideoUpload + ToolbarItemContainer + Evaluate + Words + CustomMessage + UserSelector)();
}
const ImageUpload = () => "./image-upload/index.js";
const VideoUpload = () => "./video-upload/index.js";
@@ -15,6 +15,7 @@ const Words = () => "./words/index.js";
const ToolbarItemContainer = () => "./toolbar-item-container/index.js";
const EmojiPickerDialog = () => "./emoji-picker/emoji-picker-dialog.js";
const UserSelector = () => "./user-selector/index.js";
const CustomMessage = () => "./evaluate/CustomMessage.js";
const __default__ = {
options: {
styleIsolation: "shared"
@@ -220,26 +221,33 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
} : common_vendor.unref(featureConfig).InputQuickReplies ? {
p: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
o: common_vendor.unref(featureConfig).InputQuickReplies
}) : {}, {
q: common_vendor.unref(neededCountFirstPage) > 1
}, common_vendor.unref(neededCountFirstPage) > 1 ? common_vendor.e({
r: common_vendor.unref(featureConfig).InputEvaluation
}, common_vendor.unref(featureConfig).InputEvaluation ? {
s: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
t: common_vendor.unref(featureConfig).InputQuickReplies
}, common_vendor.unref(featureConfig).InputQuickReplies ? {
v: common_vendor.o$1(handleSwiperDotShow)
o: common_vendor.unref(featureConfig).InputQuickReplies,
q: common_vendor.unref(featureConfig).InputCustomMessage
}, common_vendor.unref(featureConfig).InputCustomMessage ? {
r: common_vendor.o$1(handleSwiperDotShow)
} : {}) : {}, {
w: common_vendor.unref(neededCountFirstPage) <= 1
s: common_vendor.unref(neededCountFirstPage) > 1
}, common_vendor.unref(neededCountFirstPage) > 1 ? common_vendor.e({
t: common_vendor.unref(featureConfig).InputEvaluation
}, common_vendor.unref(featureConfig).InputEvaluation ? {
v: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
w: common_vendor.unref(featureConfig).InputQuickReplies
}, common_vendor.unref(featureConfig).InputQuickReplies ? {
x: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
y: common_vendor.unref(featureConfig).InputCustomMessage
}, common_vendor.unref(featureConfig).InputCustomMessage ? {
z: common_vendor.o$1(handleSwiperDotShow)
} : {}) : {}, {
A: common_vendor.unref(neededCountFirstPage) <= 1
}, common_vendor.unref(neededCountFirstPage) <= 1 ? common_vendor.e({
x: common_vendor.f(common_vendor.unref(currentExtensionList).slice(common_vendor.unref(slicePos)), (extension, index, i0) => {
B: common_vendor.f(common_vendor.unref(currentExtensionList).slice(common_vendor.unref(slicePos)), (extension, index, i0) => {
return common_vendor.e({
a: extension
}, extension ? {
b: common_vendor.o$1(($event) => onExtensionClick(extension), index),
c: "76f68da4-10-" + i0,
c: "76f68da4-12-" + i0,
d: common_vendor.p({
iconFile: genExtensionIcon(extension),
title: genExtensionText(extension),
@@ -251,28 +259,32 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
e: index
});
}),
y: common_vendor.unref(neededCountFirstPage) === 1
C: common_vendor.unref(neededCountFirstPage) === 1
}, common_vendor.unref(neededCountFirstPage) === 1 ? common_vendor.e({
z: common_vendor.unref(featureConfig).InputQuickReplies
}, common_vendor.unref(featureConfig).InputQuickReplies ? {
A: common_vendor.o$1(handleSwiperDotShow)
} : {}) : common_vendor.e({
B: common_vendor.unref(featureConfig).InputEvaluation
}, common_vendor.unref(featureConfig).InputEvaluation ? {
C: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
D: common_vendor.unref(featureConfig).InputQuickReplies
}, common_vendor.unref(featureConfig).InputQuickReplies ? {
E: common_vendor.o$1(handleSwiperDotShow)
} : {}) : common_vendor.e({
F: common_vendor.unref(featureConfig).InputEvaluation
}, common_vendor.unref(featureConfig).InputEvaluation ? {
G: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
H: common_vendor.unref(featureConfig).InputQuickReplies
}, common_vendor.unref(featureConfig).InputQuickReplies ? {
I: common_vendor.o$1(handleSwiperDotShow)
} : {}, {
J: common_vendor.unref(featureConfig).InputCustomMessage
}, common_vendor.unref(featureConfig).InputCustomMessage ? {
K: common_vendor.o$1(handleSwiperDotShow)
} : {})) : {}, {
F: common_vendor.unref(isSwiperIndicatorDotsEnable)
L: common_vendor.unref(isSwiperIndicatorDotsEnable)
}), {
G: common_vendor.sr(userSelectorRef, "76f68da4-14", {
M: common_vendor.sr(userSelectorRef, "76f68da4-17", {
"k": "userSelectorRef"
}),
H: common_vendor.o$1(onUserSelectorSubmit),
I: common_vendor.o$1(onUserSelectorCancel),
J: common_vendor.p({
N: common_vendor.o$1(onUserSelectorSubmit),
O: common_vendor.o$1(onUserSelectorCancel),
P: common_vendor.p({
type: common_vendor.unref(selectorShowType),
currentConversation: common_vendor.unref(currentConversation),
isGroup: common_vendor.unref(isGroup)

View File

@@ -7,6 +7,7 @@
"words": "./words/index",
"toolbar-item-container": "./toolbar-item-container/index",
"emoji-picker-dialog": "./emoji-picker/emoji-picker-dialog",
"user-selector": "./user-selector/index"
"user-selector": "./user-selector/index",
"custom-message": "./evaluate/CustomMessage"
}
}

View File

@@ -1 +1 @@
<view class="{{['message-input-toolbar', 'message-input-toolbar-h5', 'message-input-toolbar-uni']}}"><view wx:if="{{a}}"><emoji-picker-dialog u-i="76f68da4-0" bind:__l="__l"/></view><view wx:else><swiper class="{{['message-input-toolbar-swiper']}}" indicator-dots="{{F}}" autoplay="{{false}}" circular="{{false}}"><swiper-item class="{{['message-input-toolbar-list', 'message-input-toolbar-h5-list', 'message-input-toolbar-uni-list']}}"><image-upload wx:if="{{b}}" u-i="76f68da4-1" bind:__l="__l" u-p="{{c}}"/><image-upload wx:if="{{d}}" u-i="76f68da4-2" bind:__l="__l" u-p="{{e}}"/><video-upload wx:if="{{f}}" u-i="76f68da4-3" bind:__l="__l" u-p="{{g}}"/><video-upload wx:if="{{h}}" u-i="76f68da4-4" bind:__l="__l" u-p="{{i}}"/><block wx:if="{{j}}"><view wx:for="{{k}}" wx:for-item="extension" wx:key="e"><toolbar-item-container wx:if="{{extension.a}}" bindonIconClick="{{extension.b}}" u-i="{{extension.c}}" bind:__l="__l" u-p="{{extension.d}}"/></view></block><block wx:if="{{l}}"><evaluate wx:if="{{m}}" bindonDialogPopupShowOrHide="{{n}}" u-i="76f68da4-6" bind:__l="__l"/><words wx:elif="{{o}}" bindonDialogPopupShowOrHide="{{p}}" u-i="76f68da4-7" bind:__l="__l"/></block><block wx:if="{{q}}"><evaluate wx:if="{{r}}" bindonDialogPopupShowOrHide="{{s}}" u-i="76f68da4-8" bind:__l="__l"/><words wx:if="{{t}}" bindonDialogPopupShowOrHide="{{v}}" u-i="76f68da4-9" bind:__l="__l"/></block></swiper-item><swiper-item wx:if="{{w}}" class="{{['message-input-toolbar-list', 'message-input-toolbar-h5-list', 'message-input-toolbar-uni-list']}}"><view wx:for="{{x}}" wx:for-item="extension" wx:key="e"><toolbar-item-container wx:if="{{extension.a}}" bindonIconClick="{{extension.b}}" u-i="{{extension.c}}" bind:__l="__l" u-p="{{extension.d}}"/></view><block wx:if="{{y}}"><words wx:if="{{z}}" bindonDialogPopupShowOrHide="{{A}}" u-i="76f68da4-11" bind:__l="__l"/></block><block wx:else><evaluate wx:if="{{B}}" bindonDialogPopupShowOrHide="{{C}}" u-i="76f68da4-12" bind:__l="__l"/><words wx:if="{{D}}" bindonDialogPopupShowOrHide="{{E}}" u-i="76f68da4-13" bind:__l="__l"/></block></swiper-item></swiper></view><user-selector wx:if="{{J}}" class="r" u-r="userSelectorRef" bindsubmit="{{H}}" bindcancel="{{I}}" u-i="76f68da4-14" bind:__l="__l" u-p="{{J}}"/></view>
<view class="{{['message-input-toolbar', 'message-input-toolbar-h5', 'message-input-toolbar-uni']}}"><view wx:if="{{a}}"><emoji-picker-dialog u-i="76f68da4-0" bind:__l="__l"/></view><view wx:else><swiper class="{{['message-input-toolbar-swiper']}}" indicator-dots="{{L}}" autoplay="{{false}}" circular="{{false}}"><swiper-item class="{{['message-input-toolbar-list', 'message-input-toolbar-h5-list', 'message-input-toolbar-uni-list']}}"><image-upload wx:if="{{b}}" u-i="76f68da4-1" bind:__l="__l" u-p="{{c}}"/><image-upload wx:if="{{d}}" u-i="76f68da4-2" bind:__l="__l" u-p="{{e}}"/><video-upload wx:if="{{f}}" u-i="76f68da4-3" bind:__l="__l" u-p="{{g}}"/><video-upload wx:if="{{h}}" u-i="76f68da4-4" bind:__l="__l" u-p="{{i}}"/><block wx:if="{{j}}"><view wx:for="{{k}}" wx:for-item="extension" wx:key="e"><toolbar-item-container wx:if="{{extension.a}}" bindonIconClick="{{extension.b}}" u-i="{{extension.c}}" bind:__l="__l" u-p="{{extension.d}}"/></view></block><block wx:if="{{l}}"><evaluate wx:if="{{m}}" bindonDialogPopupShowOrHide="{{n}}" u-i="76f68da4-6" bind:__l="__l"/><words wx:elif="{{o}}" bindonDialogPopupShowOrHide="{{p}}" u-i="76f68da4-7" bind:__l="__l"/><custom-message wx:if="{{q}}" bindonDialogPopupShowOrHide="{{r}}" u-i="76f68da4-8" bind:__l="__l"/></block><block wx:if="{{s}}"><evaluate wx:if="{{t}}" bindonDialogPopupShowOrHide="{{v}}" u-i="76f68da4-9" bind:__l="__l"/><words wx:if="{{w}}" bindonDialogPopupShowOrHide="{{x}}" u-i="76f68da4-10" bind:__l="__l"/><custom-message wx:if="{{y}}" bindonDialogPopupShowOrHide="{{z}}" u-i="76f68da4-11" bind:__l="__l"/></block></swiper-item><swiper-item wx:if="{{A}}" class="{{['message-input-toolbar-list', 'message-input-toolbar-h5-list', 'message-input-toolbar-uni-list']}}"><view wx:for="{{B}}" wx:for-item="extension" wx:key="e"><toolbar-item-container wx:if="{{extension.a}}" bindonIconClick="{{extension.b}}" u-i="{{extension.c}}" bind:__l="__l" u-p="{{extension.d}}"/></view><block wx:if="{{C}}"><words wx:if="{{D}}" bindonDialogPopupShowOrHide="{{E}}" u-i="76f68da4-13" bind:__l="__l"/></block><block wx:else><evaluate wx:if="{{F}}" bindonDialogPopupShowOrHide="{{G}}" u-i="76f68da4-14" bind:__l="__l"/><words wx:if="{{H}}" bindonDialogPopupShowOrHide="{{I}}" u-i="76f68da4-15" bind:__l="__l"/><custom-message wx:if="{{J}}" bindonDialogPopupShowOrHide="{{K}}" u-i="76f68da4-16" bind:__l="__l"/></block></swiper-item></swiper></view><user-selector wx:if="{{P}}" class="r" u-r="userSelectorRef" bindsubmit="{{N}}" bindcancel="{{O}}" u-i="76f68da4-17" bind:__l="__l" u-p="{{P}}"/></view>

View File

@@ -83,12 +83,17 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
v: common_vendor.t(common_vendor.unref(customData).text),
w: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("message.custom.查看详情>>")),
x: common_vendor.unref(customData).link
} : common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).PK ? {
z: common_vendor.t(common_vendor.unref(customData).title),
A: common_vendor.t(common_vendor.unref(customData).buttonText1),
B: common_vendor.t(common_vendor.unref(customData).buttonText2)
} : {
y: _ctx.content.custom
C: _ctx.content.custom
}, {
i: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).EVALUATE,
n: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).ORDER,
t: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).LINK
t: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).LINK,
y: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).PK
});
};
}

View File

@@ -1 +1 @@
<view class="custom data-v-abd5dfdc"><block wx:if="{{a}}"><view class="data-v-abd5dfdc"><view class="data-v-abd5dfdc"><label class="data-v-abd5dfdc">{{b}}</label><navigator wx:if="{{c}}" class="data-v-abd5dfdc" href="{{e}}" target="view_window">{{d}}</navigator></view><view wx:if="{{f}}" class="data-v-abd5dfdc"><view wx:for="{{g}}" wx:for-item="item" wx:key="e" class="data-v-abd5dfdc"><navigator wx:if="{{item.a}}" class="data-v-abd5dfdc" href="{{item.c}}" target="view_window">{{item.b}}</navigator><view wx:else class="data-v-abd5dfdc">{{item.d}}</view></view></view><view class="data-v-abd5dfdc">{{h}}</view></view></block><block wx:elif="{{i}}"><view class="evaluate data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{j}}</view><view class="evaluate-list data-v-abd5dfdc"><view wx:for="{{k}}" wx:for-item="item" wx:key="b" class="evaluate-list-item data-v-abd5dfdc"><icon wx:if="{{l}}" class="file-icon data-v-abd5dfdc" u-i="{{item.a}}" bind:__l="__l" u-p="{{l}}"/></view></view><view class="data-v-abd5dfdc">{{m}}</view></view></block><block wx:elif="{{n}}"><view class="order data-v-abd5dfdc" bindtap="{{s}}"><image class="data-v-abd5dfdc" src="{{o}}"></image><view class="data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{p}}</view><view class="data-v-abd5dfdc">{{q}}</view><label class="data-v-abd5dfdc">{{r}}</label></view></view></block><block wx:elif="{{t}}"><view class="textLink data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{v}}</view><navigator class="data-v-abd5dfdc" href="{{x}}" target="view_window">{{w}}</navigator></view></block><block wx:else><label class="data-v-abd5dfdc"><rich-text class="data-v-abd5dfdc" nodes="{{y}}"/></label></block></view>
<view class="custom data-v-abd5dfdc"><block wx:if="{{a}}"><view class="data-v-abd5dfdc"><view class="data-v-abd5dfdc"><label class="data-v-abd5dfdc">{{b}}</label><navigator wx:if="{{c}}" class="data-v-abd5dfdc" href="{{e}}" target="view_window">{{d}}</navigator></view><view wx:if="{{f}}" class="data-v-abd5dfdc"><view wx:for="{{g}}" wx:for-item="item" wx:key="e" class="data-v-abd5dfdc"><navigator wx:if="{{item.a}}" class="data-v-abd5dfdc" href="{{item.c}}" target="view_window">{{item.b}}</navigator><view wx:else class="data-v-abd5dfdc">{{item.d}}</view></view></view><view class="data-v-abd5dfdc">{{h}}</view></view></block><block wx:elif="{{i}}"><view class="evaluate data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{j}}</view><view class="evaluate-list data-v-abd5dfdc"><view wx:for="{{k}}" wx:for-item="item" wx:key="b" class="evaluate-list-item data-v-abd5dfdc"><icon wx:if="{{l}}" class="file-icon data-v-abd5dfdc" u-i="{{item.a}}" bind:__l="__l" u-p="{{l}}"/></view></view><view class="data-v-abd5dfdc">{{m}}</view></view></block><block wx:elif="{{n}}"><view class="order data-v-abd5dfdc" bindtap="{{s}}"><image class="data-v-abd5dfdc" src="{{o}}"></image><view class="data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{p}}</view><view class="data-v-abd5dfdc">{{q}}</view><label class="data-v-abd5dfdc">{{r}}</label></view></view></block><block wx:elif="{{t}}"><view class="textLink data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{v}}</view><navigator class="data-v-abd5dfdc" href="{{x}}" target="view_window">{{w}}</navigator></view></block><block wx:elif="{{y}}"><view class="pk data-v-abd5dfdc"><view class="data-v-abd5dfdc">{{z}}</view><view class="button-group data-v-abd5dfdc"><button class="buttonAccept data-v-abd5dfdc">{{A}}</button><button class="buttonRefuse data-v-abd5dfdc">{{B}}</button></view></view></block><block wx:else><label class="data-v-abd5dfdc"><rich-text class="data-v-abd5dfdc" nodes="{{C}}"/></label></block></view>

View File

@@ -77,7 +77,7 @@ a.data-v-abd5dfdc {
color: #679ce1;
}
.custom.data-v-abd5dfdc {
font-size: 14px;
font-size: 18px;
}
.custom h1.data-v-abd5dfdc {
font-size: 14px;
@@ -123,4 +123,52 @@ a.data-v-abd5dfdc {
.custom .order img.data-v-abd5dfdc {
width: 67px;
height: 67px;
}
.custom .pk.data-v-abd5dfdc {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
background-color: #f5f5f5;
border-radius: 10px;
padding: 20px;
box-sizing: border-box;
}
.custom .pk h1.data-v-abd5dfdc {
font-size: 18px;
color: #333;
margin-bottom: 10px;
}
.custom .pk .button-group.data-v-abd5dfdc {
display: flex;
justify-content: center;
}
.custom .pk .button-group .buttonAccept.data-v-abd5dfdc {
width: 40%;
height: 60rpx;
background-color: #84ff0055;
border-radius: 10px;
border: 2px solid #26ff00;
color: #fff;
font-size: 16px;
text-align: center;
line-height: 60rpx;
margin-bottom: 10px;
border: none;
cursor: pointer;
}
.custom .pk .button-group .buttonRefuse.data-v-abd5dfdc {
width: 40%;
height: 60rpx;
background-color: #ff000078;
border: 2px solid #ff0000;
border-radius: 10px;
color: #fff;
font-size: 16px;
line-height: 60rpx;
text-align: center;
margin-bottom: 10px;
border: none;
cursor: pointer;
}

View File

@@ -1 +1 @@
<view class="Navigation data-v-40b33296"><image src="{{a}}" mode="scaleToFill" class="Navigationimg data-v-40b33296"/></view><view class="tui-conversation data-v-40b33296" bindtap="{{h}}" bindtouchstart="{{i}}" bindtouchend="{{j}}"><t-u-i-search wx:if="{{b}}" class="data-v-40b33296" u-i="40b33296-0" bind:__l="__l" u-p="{{b}}"/><conversation-header wx:if="{{c}}" class="r data-v-40b33296" u-r="headerRef" u-i="40b33296-1" bind:__l="__l"/><conversation-network class="data-v-40b33296" u-i="40b33296-2" bind:__l="__l"/><conversation-list u-r="conversationListDomRef" class="tui-conversation-list r data-v-40b33296" bindhandleSwitchConversation="{{f}}" bindgetPassingRef="{{g}}" u-i="40b33296-3" bind:__l="__l"/></view><view class="data-v-40b33296"><tab-bar class="data-v-40b33296" u-i="40b33296-4" bind:__l="__l"></tab-bar></view>
<view class="Navigation-left data-v-40b33296"></view><view class="Navigation data-v-40b33296"><image src="{{a}}" mode="scaleToFill" class="Navigationimg data-v-40b33296"/></view><view class="tui-conversation data-v-40b33296" bindtap="{{h}}" bindtouchstart="{{i}}" bindtouchend="{{j}}"><t-u-i-search wx:if="{{b}}" class="data-v-40b33296" u-i="40b33296-0" bind:__l="__l" u-p="{{b}}"/><conversation-header wx:if="{{c}}" class="r data-v-40b33296" u-r="headerRef" u-i="40b33296-1" bind:__l="__l"/><conversation-network class="data-v-40b33296" u-i="40b33296-2" bind:__l="__l"/><conversation-list u-r="conversationListDomRef" class="tui-conversation-list r data-v-40b33296" bindhandleSwitchConversation="{{f}}" bindgetPassingRef="{{g}}" u-i="40b33296-3" bind:__l="__l"/></view><view class="data-v-40b33296"><tab-bar class="data-v-40b33296" u-i="40b33296-4" bind:__l="__l"></tab-bar></view>

View File

@@ -497,6 +497,11 @@ input.data-v-32d81a7d:focus, input.data-v-32d81a7d:active, textarea.data-v-32d81
justify-content: center;
align-items: center;
}
.Navigation-left{
width: 100%;
height: 200rpx;
z-index: 998;
}
/* .Return {
width: 50rpx;
height: 50rpx;

View File

@@ -15,6 +15,7 @@ const CHAT_MSG_CUSTOM_TYPE = {
SERVICE: "consultion",
EVALUATE: "evaluation",
LINK: "text_link",
PK: "pk",
CALL: 1,
ORDER: "order"
};

View File

@@ -19,8 +19,8 @@ if (!Math) {
let vueVersion = 2;
vueVersion = 3;
common_vendor.index.$SDKAppID = 1600086550;
common_vendor.index.$userID = "123";
common_vendor.index.$userSig = "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwoZGxlDh4pTsxIKCzBQlK0MzAwMDCzNTUwOITGpFQWZRKlDc1NTUCCgFES3JzAWJmZuYGxpbALVATclMB5qaUmwRlpvkHBmcHWps7hScoe3sm6PtmRxZXOWZkZYbWGKYXlVo6ByUUlqRbqtUCwBTujBs";
common_vendor.index.$userID = "oi";
common_vendor.index.$userSig = "eJwtzEELwiAYxvHv4jmGWjobdInIwGCHgsFuI529tS1bQ4zou2fbjs-vgf8HnY*nxJseZYgmGC3GDdp0A9Qw8gNmfel75RxolBGOMRacMTw9JjjoTXTGGI3XpAO0f0tX6XJNORdzBWyM2qe9HhTfVabLSQCSt14Wb6NuRVOyC9nL0ssmKLwFsUHfH3s4MI4_";
const _sfc_main = {
onLaunch: function() {
common_vendor.A.login({

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -55,6 +55,8 @@ const wordsIconLight = "/assets/words-light.c8aec883.svg";
const wordsIconDark = "/assets/words-dark.6a706f9a.svg";
const faceIconLight = "/assets/face-light.b3a6acfa.svg";
const faceIconDark = "/assets/face-dark.1ce4b9fa.svg";
const InvitationDark = "/assets/InvitationDark.c8a31c9e.png";
const InvitationLight = "/assets/InvitationLight.ee30129f.png";
const SearchDefaultIcon = "/assets/search-default.0969a8df.svg";
const delIcon = "/assets/del-icon.e0d1d417.svg";
const plusSVG = "/assets/plus.dfad243b.svg";
@@ -76,6 +78,8 @@ exports.AddIcon = AddIcon;
exports.C2C = C2C;
exports.ForwardEachIcon = ForwardEachIcon;
exports.ForwardMergeIcon = ForwardMergeIcon;
exports.InvitationDark = InvitationDark;
exports.InvitationLight = InvitationLight;
exports.SearchDefaultIcon = SearchDefaultIcon;
exports._imports_0 = _imports_0$2;
exports._imports_0$1 = _imports_0$3;

View File

@@ -7770,7 +7770,7 @@ function isConsoleWritable() {
function initRuntimeSocketService() {
const hosts = "192.168.0.107,127.0.0.1";
const port = "8090";
const id = "mp-weixin_gcKgKG";
const id = "mp-weixin_AbyXCr";
const lazy = typeof swan !== "undefined";
let restoreError = lazy ? () => {
} : initOnError();

View File

@@ -1,21 +1,23 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {
title: "Hello"
};
},
onLoad() {
common_vendor.index.reLaunch({ url: "/pages/UserInformation/UserInformation" });
},
methods: {
// 方法定义
// 打开会话列表
openConversationList() {
common_vendor.index.navigateTo({ url: "/TUIKit/components/TUIConversation/index" });
},
// 打开联系人
openContact() {
common_vendor.index.navigateTo({ url: "/TUIKit/components/TUIContact/index" });
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {};
return {
a: common_vendor.o$1((...args) => $options.openConversationList && $options.openConversationList(...args)),
b: common_vendor.o$1((...args) => $options.openContact && $options.openContact(...args))
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-402ad917"]]);
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Mine/Mine.js.map

View File

@@ -0,0 +1 @@
<view><button bindtap="{{a}}">打开会话列表</button><button bindtap="{{b}}">打开联系人</button></view>

View File

@@ -1,2 +0,0 @@
/* 样式定义 */