Browse Source

修改获取次数接口;夺宝奇兵大模型加入全局音频控制;

hongxilin/hotfix-20250625101643-手机输入法弹出输入框上浮
宋杰 1 week ago
parent
commit
990a4fc96f
  1. 11
      src/api/AIxiaocaishen.js
  2. 5
      src/store/chat.js
  3. 75
      src/views/AIchat.vue
  4. 2
      src/views/AiEmotion.vue

11
src/api/AIxiaocaishen.js

@ -99,12 +99,13 @@ export const getAnnouncementAPI = function () {
// 获取用户次数接口
export const getUserCountAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/userUsageInfo`,
// 'http://39.101.133.168:8828/link/api/aiEmotion/client/getRemainNum',
url: `${APIurl}/api/aiEmotion/client/getRemainNum`,
method: "POST",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
data: params,
// headers: {
// "Content-Type": "application/x-www-form-urlencoded",
// },
});
};
// 推荐问题/每日复盘/小财神简介点击事件接口

5
src/store/chat.js

@ -11,9 +11,10 @@ export const useChatStore = defineStore('chat', {
actions: {
async getUserCount() {
const result = await getUserCountAPI({
token: localStorage.getItem('localToken')
token: localStorage.getItem('localToken'),
source: '1'
})
this.UserCount = result.data.hasCount
this.UserCount = result.data
},
setLoading(status) {
this.isLoading = status

75
src/views/AIchat.vue

@ -144,6 +144,69 @@ const pauseAudio = () => {
}
};
//
const playAudioSequence = (audioUrls) => {
if (!audioUrls || audioUrls.length === 0) {
console.warn("音频URL列表为空,跳过播放");
return;
}
let currentIndex = 0;
const playNext = () => {
if (currentIndex >= audioUrls.length) {
console.log("所有音频播放完成");
return;
}
const currentUrl = audioUrls[currentIndex];
console.log(`正在播放第${currentIndex + 1}个音频:`, currentUrl);
//
if (audioStore.nowSound) {
audioStore.nowSound.stop();
}
const sound = new Howl({
src: [currentUrl],
html5: true,
format: ["mp3", "acc"],
rate: 1.2,
onplay: () => {
audioStore.isPlaying = true;
console.log(`开始播放音频 ${currentIndex + 1}`);
},
onend: () => {
audioStore.isPlaying = false;
console.log(`音频 ${currentIndex + 1} 播放完成`);
currentIndex++;
//
setTimeout(() => {
playNext();
}, 500); // 500ms
},
onstop: () => {
audioStore.isPlaying = false;
},
onloaderror: (id, err) => {
console.error(`音频 ${currentIndex + 1} 加载失败:`, err);
currentIndex++;
//
setTimeout(() => {
playNext();
}, 100);
}
});
audioStore.nowSound = sound;
audioStore.setAudioInstance(sound);
sound.play();
};
//
playNext();
};
//
const chatMsg = computed(() => chatStore.messages);
const props = defineProps({
@ -492,6 +555,18 @@ watch(
const result23 = await dbqbSecondThreeAPI(params2);
const result24 = await dbqbSecondFourAPI(params2);
// URL
const audioUrls = [];
if (result21.data.url) audioUrls.push(result21.data.url.trim());
if (result22.data.url) audioUrls.push(result22.data.url.trim());
if (result23.data.url) audioUrls.push(result23.data.url.trim());
if (result24.data.url) audioUrls.push(result24.data.url.trim());
//
if (audioUrls.length > 0 && audioStore.isVoiceEnabled) {
playAudioSequence(audioUrls);
}
const katexRegex = /\$\$(.*?)\$\$/g;
//
chatStore.messages.pop();

2
src/views/AiEmotion.vue

@ -801,7 +801,7 @@ async function handleSendMessage(input) {
aibullPrivilegeState: "1",
aigoldBullPrivilegeS: "1",
airadarPrivilegeStat: "1",
marketList: "hk,cn,usa,my,sg,vi,in,gb",
marketList: "hk,cn,can,usa,my,sg,vi,in,gb",
},
};

Loading…
Cancel
Save