Feat(云灵AI):对话接口对接完成

This commit is contained in:
lifizer
2025-04-06 12:57:39 +08:00
parent 16742b3c23
commit de473eba57
4 changed files with 86 additions and 8 deletions
+59 -4
View File
@@ -12,6 +12,37 @@
}"
class="history-container"
>
<view class="history-type">
<view class="title">
<view class="txt">今日</view>
<image
v-if="todayList.length > 0"
:src="webUrl + '/aiChat/delete.png'"
class="icon"
mode="widthFix"
@click="deleteRecords(2)"
/>
</view>
<view v-if="todayList.length > 0" class="list-cont">
<view
v-for="(item, index) in todayList"
:key="index"
class="item"
@click="historyItemClick(item)"
>
<view class="item-txt one-t">
{{ item.title }}
</view>
</view>
</view>
<view v-else class="no-data">
<image
:src="webUrl + '/orderIcon/nodata1.png'"
class="img"
mode="widthFix"
/>
</view>
</view>
<view class="history-type">
<view class="title">
<view class="txt">30天内</view>
@@ -23,7 +54,7 @@
@click="deleteRecords(2)"
/>
</view>
<view class="list-cont">
<view v-if="list.length > 0" class="list-cont">
<view
v-for="(item, index) in list"
:key="index"
@@ -35,6 +66,13 @@
</view>
</view>
</view>
<view v-else class="no-data">
<image
:src="webUrl + '/orderIcon/nodata1.png'"
class="img"
mode="widthFix"
/>
</view>
</view>
<view class="history-type">
<view class="title">
@@ -47,7 +85,7 @@
@click="deleteRecords(3)"
/>
</view>
<view class="list-cont">
<view v-if="moreList.length > 0" class="list-cont">
<view
v-for="(item, index) in moreList"
:key="index"
@@ -59,6 +97,13 @@
</view>
</view>
</view>
<view v-else class="no-data">
<image
:src="webUrl + '/orderIcon/nodata1.png'"
class="img"
mode="widthFix"
/>
</view>
</view>
</view>
</view>
@@ -86,6 +131,7 @@ export default {
return {
webUrl: this.$VUE_APP_RESOURCES_URL,
showLayer: false,
todayList: [],
list: [],
moreList: []
}
@@ -99,8 +145,9 @@ export default {
getChatList().then(res => {
const { success, data } = res
if (success) {
this.list = data['30天内']
this.moreList = data['超过30天']
this.todayList = data['今天'] || []
this.list = data['30天'] || []
this.moreList = data['超过30天'] || []
}
})
},
@@ -203,6 +250,14 @@ export default {
}
}
}
.no-data {
.img {
display: block;
width: 300rpx;
height: 300rpx;
margin: 40rpx auto 0 auto;
}
}
}
}
&.show {
+1 -1
View File
@@ -107,7 +107,7 @@
space="nbsp"
/>
<view v-if="!(item.nodes && item.nodes.length) && loading" class="loader-wrap">
<div class="loader" />
<div class="loading2" />
</view>
</view>
<view
+20 -1
View File
@@ -681,7 +681,7 @@ page {
}
.loader::before,
.loader::after {
content: "";
content: " ";
grid-area: 1/1;
margin: 2px;
border: inherit;
@@ -700,6 +700,25 @@ page {
100%{transform: rotate(1turn)}
}
.loading2 {
width: 24px;
height: 24px;
border: 2px solid #3D4CF1;
border-top-color: transparent;
border-radius: 100%;
animation: circle infinite 0.75s linear;
}
// 转转转动画
@keyframes circle {
0% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
.music-wrap {
display: flex;
align-items: center;
+6 -2
View File
@@ -85,12 +85,16 @@ function baseRequest(options) {
// 发起请求
return http[options.method](url, _params).then(res => {
const resData = res.data || {};
// AI对话某个请求返回为空需要处理这种情况
if (['get', 'GET'].includes(options.method) && _params.params.isNoNeedPublicErrorNotification === 1) {
console.log('----')
return Promise.resolve({})
if (resData.status === 500) {
return Promise.reject({msg: resData.msg, res, data});
} else {
return Promise.resolve({})
}
}
const resData = res.data || {};
if (res.statusCode !== 200) {
return Promise.reject({msg: "请求失败", res, resData});
}