diff --git a/.env b/.env
index d13f88a..1f625b3 100644
--- a/.env
+++ b/.env
@@ -5,4 +5,10 @@ VITE_GLOB_APP_TITLE = 青鸟语言大模型-同聪
VITE_GLOB_APP_SHORT_NAME = 同聪
# token key
-VITE_GLOB_APP_TOKEN_KEY = "hulk-Auth"
\ No newline at end of file
+VITE_GLOB_APP_TOKEN_KEY = "hulk-Auth"
+
+# authenticationScheme
+VITE_GLOB_APP_AUTHENTICATION_SCHEME = 'Basic'
+
+# tokenScheme
+VITE_GLOB_APP_TOKEN_SCHEME = 'crypto'
\ No newline at end of file
diff --git a/src/api/base/message.ts b/src/api/base/message.ts
index f15a8ed..8f13928 100644
--- a/src/api/base/message.ts
+++ b/src/api/base/message.ts
@@ -1,9 +1,11 @@
import { defHttp } from '@/utils/axios/index'
+import type { MenuTypeEnum } from '@/enums/menuEnum'
/**
* @description 新建会话
*/
export async function addMessage(data: {
+ type: MenuTypeEnum
title: string
}) {
return defHttp.post({
@@ -34,9 +36,9 @@ export async function removeMessage(ids: string) {
/**
* @description 对话列表
*/
-export async function conversationList() {
+export async function conversationList(type: number) {
return defHttp.get({
- url: `/open-chat/chat/conversation/list`,
+ url: `/open-chat/chat/conversation/list?type=${type}`,
})
}
@@ -55,10 +57,9 @@ export async function historyMessage(params: {
}
/**
- * @description 发送消息
+ * @description 发送消息(文生文)
*/
-export async function sendMessage(data: {
- roleId: number
+export async function sendTextToText(data: {
conversationId: string
question: string
}) {
@@ -69,6 +70,20 @@ export async function sendMessage(data: {
})
}
+/**
+ * @description 发送消息(文生图)
+ */
+export async function sendTextToImage(data: {
+ conversationId: string
+ question: string
+}) {
+ return defHttp.post({
+ url: `/open-gpts/gpts/getDallEImages`,
+ data,
+ timeout: 30 * 1000,
+ })
+}
+
/**
* @description 获取chat信息
*/
diff --git a/src/components/AppMessage/index.vue b/src/components/AppMessage/index.vue
index 66a77e0..c955279 100644
--- a/src/components/AppMessage/index.vue
+++ b/src/components/AppMessage/index.vue
@@ -1,11 +1,14 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/enums/menuEnum.ts b/src/enums/menuEnum.ts
index 0daccda..d1275fe 100644
--- a/src/enums/menuEnum.ts
+++ b/src/enums/menuEnum.ts
@@ -1,22 +1,28 @@
export enum MenuTypeEnum {
- // 会话
- CONVERSATION = 'conversation',
+ // 文生文
+ TEXT_TO_TEXT = 1,
- // 文生图
- TEXT_TO_PICTURE = 'textToPicture',
+ // 文生图
+ TEXT_TO_IMAGE,
- // 角色
- ROLE = 'role',
+ // 角色
+ ROLE,
- // 任务
+ // 视觉分析
+ VISUAL_ANALYSIS,
+
+ // 知识库
+ REPOSITORY,
+
+ // 任务
TASK = 'task',
- // 渠道
+ // 渠道
CHANNEL = 'channel',
- // 小程序
+ // 小程序
APPLET = 'applet',
- // 我的
+ // 我的
USER = 'user',
}
diff --git a/src/hooks/useMqtt.ts b/src/hooks/useMqtt.ts
index 576acf1..bcc7e4f 100644
--- a/src/hooks/useMqtt.ts
+++ b/src/hooks/useMqtt.ts
@@ -1,14 +1,17 @@
+import { ref } from 'vue'
import type { Options } from '@/utils/mqtt'
import { MqttService } from '@/utils/mqtt'
import { useUserStore } from '@/store/moules/userStore/index'
import { useMessageStore } from '@/store/moules/messageStore/index'
import { MessageStatusEnum, MessageTypeEnum } from '@/enums/messageEnum'
-import { sendMessage as sendMessageApi } from '@/api/base/message'
+import { MenuTypeEnum } from '@/enums/menuEnum'
export function useMqtt() {
const userStore = useUserStore()
const messageStore = useMessageStore()
+ const messageData = ref('')
+
const options: Options = {
host: import.meta.env.VITE_GLOB_MQTT_HOST,
port: import.meta.env.VITE_GLOB_MQTT_PORT,
@@ -30,22 +33,22 @@ export function useMqtt() {
mqttService
.subscribe(topicKey)
.then(() => {
- mqttService.onMessage(topicKey, (messageData: any) => {
- if (messageData.message_type === MessageStatusEnum.ACTICON) {
+ mqttService.onMessage(topicKey, (message: any) => {
+ if (message.message_type === MessageStatusEnum.ACTICON) {
messageStore.setMessageStatus(MessageStatusEnum.ACTICON)
messageStore.setMessageLastItem({
messageType: MessageTypeEnum.AI,
- content: messageData.message_content,
+ content: message.message_content,
time: String(new Date().getTime()),
avatar: '',
messageStatus: MessageStatusEnum.ACTICON,
})
}
- if (messageData.message_type === MessageStatusEnum.END) {
+ if (message.message_type === MessageStatusEnum.END) {
messageStore.setMessageStatus(MessageStatusEnum.END)
messageStore.setMessageLastItem({
messageType: MessageTypeEnum.AI,
- content: messageData.message_content,
+ content: message.message_content,
time: String(new Date().getTime()),
avatar: '',
messageStatus: MessageStatusEnum.END,
@@ -91,45 +94,11 @@ export function useMqtt() {
mqttService.end()
}
- /**
- * @description: 发送消息hook
- */
- const sendMessage = async (roleId: number, conversationId: string, question: string): Promise => {
- messageStore.setMessageStatus(MessageStatusEnum.LOADING)
- messageStore.setMessagePushItem({
- messageType: MessageTypeEnum.USER,
- content: question,
- time: String(new Date().getTime()),
- avatar: '',
- })
- messageStore.setMessagePushItem({
- messageType: MessageTypeEnum.AI,
- content: '正在思考中...',
- time: String(new Date().getTime()),
- avatar: '',
- messageStatus: MessageStatusEnum.LOADING,
- })
- if (!messageStore.getConversationData) {
- return
- }
-
- try {
- await sendMessageApi({
- roleId,
- conversationId,
- question,
- })
- }
- catch (error: any) {
- messageStore.setMessageStatus(MessageStatusEnum.END)
- }
- }
-
return {
+ messageData,
connect,
subscribe,
unsubscribe,
end,
- sendMessage,
}
}
diff --git a/src/layout/AppMenu/index.vue b/src/layout/AppMenu/index.vue
index 979343d..59b8c34 100644
--- a/src/layout/AppMenu/index.vue
+++ b/src/layout/AppMenu/index.vue
@@ -6,19 +6,19 @@ import { SvgIcon } from '@/components/SvgIcon'
import { MenuTypeEnum } from '@/enums/menuEnum'
const router = useRouter()
-const menuActive = ref(MenuTypeEnum.CONVERSATION)
+const menuActive = ref(MenuTypeEnum.TEXT_TO_TEXT)
const menu = ref