From 185e11aaef26fe6691e9b3cfa4d300093332e96c Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期四, 18 七月 2024 11:46:09 +0800
Subject: [PATCH] 无权限获取首页两个东西

---
 src/views/project/ch/home/component/waterRight/top.vue |  111 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 72 insertions(+), 39 deletions(-)

diff --git a/src/views/project/ch/home/component/waterRight/top.vue b/src/views/project/ch/home/component/waterRight/top.vue
index 0e707fc..9f4e757 100644
--- a/src/views/project/ch/home/component/waterRight/top.vue
+++ b/src/views/project/ch/home/component/waterRight/top.vue
@@ -4,69 +4,102 @@
 		<p class="set-waterTitle"><strong>WI 姘村姟鏅鸿兘涓撳</strong>鏅烘収姘村姟鍔╂墜</p>
 	</div>
 	<div class="flex items-center pc-roleList">
-		<div v-for="(item, index) in state.roleList" :key="index" class="flex items-center pl-6" @click="handleClick(item)">
-			<el-tooltip :content="item.Content" placement="top" effect="light" popper-class="my-pop">
-				<div class="modelItem cursor-pointer flex items-center" :class="{ modelItemActive: item.ID === state.activeRole }">
-					<img :src="item.Icon" alt="icon" class="set-icon box-border" />
-					<span>{{ item.Title }}</span>
-				</div>
-			</el-tooltip>
+		<!-- <div v-for="(item, index) in llmList" :key="item.logicId" class="flex items-center pl-6" @click="handleClick(item)">
+			<div class="modelItem cursor-pointer flex items-center" :class="{ modelItemActive: item.logicId === activeLLMId }">
+				<img :src="item.icon" alt="icon" class="set-icon box-border" />
+				<span>{{ item.logicTitle }}</span>
+			</div>
 		</div>
 		<div class="flex items-center cursor-pointer pl-5">
 			<div class="modelItem cursor-pointer flex items-center">
 				<img src="/static/images/wave/More.png" alt="icon" class="set-icon-more box-border" />
 				<span>鏇村</span>
 			</div>
-		</div>
+		</div> -->
 	</div>
 	<PlayBar v-model="inputValue" @send-click="sendClick" />
 </template>
 
 <script setup lang="ts">
-import { reactive, ref } from 'vue';
+import { ElMessage } from 'element-plus';
+import { onMounted, ref } from 'vue';
+import { GetLLMList, setHistoryGroupTitle } from '/@/api/ai/chat';
 import PlayBar from '/@/components/chat/components/playBar/PlayBar.vue';
 import router from '/@/router';
+import { activeChatRoom, activeLLMId, activeSectionAId } from '/@/stores/chatRoom';
+import emitter from '/@/utils/mitt';
+import { handleNormalAuth } from '/@/utils/request';
 const emits = defineEmits(['sendClick']);
-const inputValue = ref('');
+const inputValue = ref('浣犳槸璋侊紵');
 
-const sendClick = () => {
-	if(!inputValue.value) return;
+const sendClick = async () => {
+	if (!inputValue.value) return;
+	if (!activeSectionAId.value) {
+		ElMessage.warning('璇烽�夋嫨搴旂敤鍦烘櫙');
+		return;
+	}
+	if (!handleNormalAuth()) {
+		return;
+	}
+
+	const res = await setHistoryGroupTitle({
+		history_group_id: activeChatRoom.value.id,
+		title: inputValue.value,
+	});
+	if (!res.json_ok) {
+		return ElMessage.error('淇敼鑱婂ぉ瀹ゅ悕绉板け璐�');
+	}
+
+	activeChatRoom.value.title = inputValue.value;
+	activeChatRoom.value.isInitial = false;
 	router.push({
 		name: 'AskAnswer',
-		state: {
-			inputValue: inputValue.value,
+		query: {
+			id: activeChatRoom.value.id,
 		},
 	});
 };
-let state = reactive({
-	roleList: [
-		{
-			ID: 1,
-			Icon: '/static/images/wave/Glm.jpg',
-			Title: '姘村姟GLM',
-			Content: '浣跨敤鏈�涓哄箍娉涚殑鐭ュ悕AI妯″瀷锛屽搷搴旈�熷害蹇紝鏅鸿兘鍖栫▼搴﹂珮锛屾搮闀垮棰嗗煙闂瑙e喅锛屽寘鎷垱浣溿�佺炕璇戙�佸璇鐧剧鐭ヨ瘑銆佹暟瀛﹂棶棰樼瓑銆�',
+
+const llmList = ref([]);
+const iconList = ['/static/images/wave/Glm.jpg', '/static/images/wave/Glm.jpg', '/static/images/wave/Glm.jpg'];
+const getLLMList = async () => {
+	const res = await GetLLMList();
+
+	const resData = (res?.llm_list || []) as any[];
+	llmList.value = resData.map((item, index) => ({
+		get logicId() {
+			return this.logicModel.id;
 		},
-		{
-			ID: 2,
-			Icon: '/static/images/wave/Glm.jpg',
-			Title: '姘村姟-3.5',
-			Content:
-				'鐩墠涓氱晫鏈�寮哄ぇ鐨勬ā鍨嬶紝鍦ㄩ渶瑕侀珮绾ф帹鐞嗐�佹繁搴︽寚浠ょ悊瑙e拰鏇村叿鍒涢�犲姏鐨勪换鍔′腑锛岃〃鐜版瘮鍏朵粬妯″瀷鏇村己锛屼緥濡傚鏉傜殑鏂囨湰鍜岄�昏緫鍒嗘瀽銆佸鏉傜殑鏁板闂绛夈��',
+		get logicTitle() {
+			return this.logicModel.title;
 		},
-		{
-			ID: 3,
-			Icon: '/static/images/wave/Glm.jpg',
-			Title: '姘村姟-4.0',
-			Content:
-				'鐩墠涓氱晫鏈�寮哄ぇ鐨勬ā鍨嬶紝鍦ㄩ渶瑕侀珮绾ф帹鐞嗐�佹繁搴︽寚浠ょ悊瑙e拰鏇村叿鍒涢�犲姏鐨勪换鍔′腑锛岃〃鐜版瘮鍏朵粬妯″瀷鏇村己锛屼緥濡傚鏉傜殑鏂囨湰鍜岄�昏緫鍒嗘瀽銆佸鏉傜殑鏁板闂绛夈��',
+		icon: iconList[index],
+		logicModel: {
+			...item,
 		},
-	],
-	activeRole: 0,
-	inputAnswer: '',
-});
-const handleClick = (item) => {
-	state.activeRole = item.id;
+	}));
+	const first = llmList.value?.[0];
+	first && setLLm(first.logicId);
 };
+
+const setLLm = async (llmId: string) => {
+	// const res = await SetLLM({
+	// 	llm: llmId,
+	// });
+	activeLLMId.value = llmId;
+
+	return true;
+};
+const handleClick = (item) => {
+	setLLm(item.logicId);
+};
+
+onMounted(() => {
+	// getLLMList();
+	emitter.on('updateChatInput', (value) => {
+		inputValue.value = value;
+	});
+});
 </script>
 <style scoped lang="scss">
 .set-waterTitle {

--
Gitblit v1.9.3