fix: bug修复

This commit is contained in:
kaizheng(郑凯) 2025-03-04 12:10:23 +08:00
parent 0bc9e4e89f
commit 74d35a6491
5 changed files with 103 additions and 110 deletions

View File

@ -1,4 +1,4 @@
import request from "../utils/request";
import request from "../utils/request"
// 登录
export function queryLogin(queryParams) {
@ -6,7 +6,7 @@ export function queryLogin(queryParams) {
url: "/app/user/login",
method: "get",
params: queryParams,
});
})
}
export function getUserAuthInfo(data) {
@ -14,7 +14,7 @@ export function getUserAuthInfo(data) {
url: "/app/user/getUserAuthInfo",
method: "post",
data,
});
})
}
/**
@ -27,7 +27,7 @@ export function queryCommentList(queryParams) {
url: "/admin/comment/queryCommentList",
method: "post",
data: queryParams,
});
})
}
// APP首页查询精品专栏只返回id,名称)
@ -36,7 +36,7 @@ export function queryMainColumnList(queryParams) {
url: "/app/video/live/column/list/main",
method: "get",
params: queryParams,
});
})
}
// 查询栏目列表
export function queryColumnList(queryParams) {
@ -44,7 +44,7 @@ export function queryColumnList(queryParams) {
url: "/app/video/live/column/list",
method: "get",
params: queryParams,
});
})
}
// APP查询视频列表
// type 1 直播计划 2 直播列表 3 投顾直播列表 4 我的关注
@ -53,7 +53,7 @@ export function queryLivePlan(queryParams) {
url: "/app/video/live/info/list",
method: "post",
data: queryParams,
});
})
}
// APP查询视频列表
@ -62,7 +62,7 @@ export function queryLivePlanNew(queryParams) {
url: "/app/video/live/info/listNew",
method: "post",
data: queryParams,
});
})
}
//APP查询推荐位列表
@ -71,7 +71,7 @@ export function queryRecommendList(queryParams) {
url: "/app/common/recommend/list",
method: "get",
params: queryParams,
});
})
}
// app查询视频标签列表
@ -79,7 +79,7 @@ export function queryVideoTagList() {
return request({
url: "/app/video-tag/list",
method: "post",
});
})
}
// APP关注投顾
@ -88,7 +88,7 @@ export function attentionTg(queryParams) {
url: "/app/advisor/info/follow",
method: "post",
data: queryParams,
});
})
}
// APP查询用户预约、浏览
@ -97,7 +97,7 @@ export function getSubscribeList(queryParams) {
url: "/app/video/live/getSubscribeList",
method: "get",
params: queryParams,
});
})
}
// 查询关注投顾列表
@ -106,7 +106,7 @@ export function getFollowTgList(queryParams) {
url: "/app/advisor/info/listFollow",
method: "get",
params: queryParams,
});
})
}
// 获取有直播的日期
@ -115,7 +115,7 @@ export function getLiveHistory(queryParams) {
url: "/app/video/live/subscribe/history",
method: "get",
params: queryParams,
});
})
}
// 获取全部订单
@ -124,7 +124,7 @@ export function queryUserOrderList(queryParams) {
url: "/frontend/module/getUserOrderList",
method: "post",
data: queryParams,
});
})
}
// 微信授权登录
@ -133,7 +133,7 @@ export function wxLogin(queryParams) {
url: "/admin/wechat/codeToken",
method: "post",
data: queryParams,
});
})
}
// 获取C端用户信息
@ -142,7 +142,7 @@ export function getUserInfo(queryParams) {
url: "/app/user/getUserInfo",
method: "post",
data: queryParams,
});
})
}
// app获取原始链接
@ -151,5 +151,5 @@ export function getUrlOriginal(queryParams) {
url: "/app/url/original",
method: "post",
data: queryParams,
});
})
}

View File

@ -1,4 +1,4 @@
import request from "../utils/request";
import request from "../utils/request"
// APP查询投顾详情
export function queryTgInfo(queryParams) {
@ -6,7 +6,7 @@ export function queryTgInfo(queryParams) {
url: `/app/advisor/info/get`,
method: "get",
params: queryParams,
});
})
}
// 查询观点包列表
@ -15,7 +15,7 @@ export function queryPackageList(queryParams) {
url: `/app/view/package/list`,
method: "POST",
data: queryParams,
});
})
}
export function queryTgTab(queryParams) {
@ -23,5 +23,5 @@ export function queryTgTab(queryParams) {
url: `/app/mainTab/info/list`,
method: "POST",
data: queryParams,
});
})
}

View File

@ -1,18 +1,18 @@
/* eslint-disable no-param-reassign */
import axios from "axios";
import axios from "axios"
// import { Notification, MessageBox, Message } from "element-ui";
// import router from "@/router/index";
import store from "../store";
import { showToast, showDialog } from "vant";
import { userLogin } from "@/utils/login";
import router from "@/router/index";
import { terminalType } from "@/utils/index";
import store from "../store"
import { showToast, showDialog } from "vant"
import { userLogin } from "@/utils/login"
import router from "@/router/index"
import { terminalType } from "@/utils/index"
// 创建axios实例
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url
timeout: 5000, // 请求超时时间
});
})
// request拦截器
service.interceptors.request.use(
@ -22,17 +22,17 @@ service.interceptors.request.use(
store.state.token &&
!["/previewQuestion"].includes(router.currentRoute.value.path)
) {
config.headers.token = `${store.state.token}`; // 让每个请求携带自定义token 请根据实际情况自行修改
config.headers.token = `${store.state.token}` // 让每个请求携带自定义token 请根据实际情况自行修改
}
return Promise.resolve(config);
return Promise.resolve(config)
},
(error) => {
// Do something with request error
console.log(error); // for debug
console.log(error) // for debug
// Promise.reject(error)
Promise.reject(error);
Promise.reject(error)
}
);
)
// response 拦截器
service.interceptors.response.use(
@ -45,21 +45,21 @@ service.interceptors.response.use(
message: response.data.message,
showConfirmButton: "重新登陆",
}).then(() => {
userLogin();
});
return response.data;
userLogin()
})
return response.data
} else {
userLogin();
return response.data;
userLogin()
return response.data
}
} else if (response.data.code !== 0) {
showToast(response.data.message);
showToast(`${response.data.message}-${response.data.requestId}`)
}
return response.data;
return response.data
},
(error) => {
error && error.message && showToast(`${error.config.url}-${error.message}`);
return Promise.reject(error);
error && error.message && showToast(`${error.config.url}-${error.message}`)
return Promise.reject(error)
}
);
export default service;
)
export default service

View File

@ -6,8 +6,7 @@
v-if="affirmDate.length"
name="cross"
color="#1989fa"
@click.stop="clearAffirmDate"
/>
@click.stop="clearAffirmDate" />
</p>
<van-icon name="arrow" />
</div>
@ -29,15 +28,13 @@
`li${item.id}`,
item.userId === store.state.userInfo.userId ? 'row-reverse' : '',
]"
:key="item.id"
>
:key="item.id">
<div
v-if="
item.status === 2 ||
(item.userType === 2 &&
item.userId === store.state.userInfo.userId)
"
>
">
<div class="chat-time" v-if="item.chatTime">
{{ item.chatTime }}
</div>
@ -47,23 +44,19 @@
item.userId === store.state.userInfo.userId
? 'row-reverse'
: '',
]"
>
]">
<div class="photo">
<img
v-if="item.userType === 1"
:src="
item.advisor ? item.advisor.avatar : defaultAvatar.teacher
"
/>
" />
<img
v-else-if="item.userType === 3"
:src="defaultAvatar.assistant"
/>
:src="defaultAvatar.assistant" />
<img
v-else-if="item.userType === 2"
:src="defaultAvatar.student"
/>
:src="item.userHeadPicUrl || defaultAvatar.student" />
</div>
<div class="news-content-wrap">
<div class="user-info">
@ -103,8 +96,7 @@
<img
class="img"
@click="imagePreview(item.content)"
:src="item.content"
/>
:src="item.content" />
</template>
</div>
<div class="reply" style="color: rgba(154, 164, 182, 1)">
@ -120,13 +112,11 @@
{{ item.replyMessage?.content }}
</template>
<template
v-else-if="item.replyMessage?.contentType === 2"
>
v-else-if="item.replyMessage?.contentType === 2">
<img
class="reply-img"
@click="imagePreview(item.replyMessage.content)"
:src="item.replyMessage.content"
/>
:src="item.replyMessage.content" />
</template>
</div>
</div>
@ -144,8 +134,7 @@
<img
class="img"
@click="imagePreview(item.content)"
:src="item.content"
/>
:src="item.content" />
</div>
</div>
</div>
@ -162,24 +151,22 @@
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirm"
@cancel="onCancel"
/>
@cancel="onCancel" />
</van-popup>
<img
:class="['refresh', !msgList.length && loading ? 'loading' : '']"
@click="refreshMsg"
src="@/assets/images/refresh.png"
/>
src="@/assets/images/refresh.png" />
</template>
<script setup>
import { ref, defineProps, watch, nextTick } from "vue";
import { useRoute } from "vue-router";
import { useStore } from "vuex";
import { showImagePreview } from "vant";
import useChatData from "../hooks/useChatData";
const store = useStore();
const route = useRoute();
import { ref, defineProps, watch, nextTick } from "vue"
import { useRoute } from "vue-router"
import { useStore } from "vuex"
import { showImagePreview } from "vant"
import useChatData from "../hooks/useChatData"
const store = useStore()
const route = useRoute()
const props = defineProps({
type: {
// // 1: 2: 5: 4:
@ -202,47 +189,47 @@ const props = defineProps({
type: Object,
default: null,
},
});
})
const defaultAvatar = {
teacher: require("@/assets/images/defaultAvatar/teacher.png"),
student: require("@/assets/images/defaultAvatar/student.png"),
assistant: require("@/assets/images/defaultAvatar/assistant.png"),
};
}
watch(
() => props.bsRefresh,
(value) => {
if (value && bs) {
nextTick(() => {
bs.value.refresh();
});
bs.value.refresh()
})
}
}
);
)
watch(
() => props.newMsg,
(data) => {
if (msgIdsObj.value[[data.id]]) {
Object.assign(msgIdsObj.value[data.id], data);
Object.assign(msgIdsObj.value[data.id], data)
} else if (
(props.type === 1 && data.interactiveType === 1) ||
(props.type === 5 && data.interactiveType === 2) ||
(props.type === 2 && data.userType !== 2) ||
(props.type === 4 && data.isRecommend === 1)
) {
pushNewMsg(data);
pushNewMsg(data)
}
}
);
)
const imagePreview = (url) => {
showImagePreview({
images: [url],
closeable: true,
});
};
})
}
const {
bs,
@ -258,11 +245,11 @@ const {
id: route.query.id,
type: props.type,
stompClient: props.stompClient,
});
})
const maskUserName = (value) => {
return value.charAt(0) + "**";
};
return value.charAt(0) + "**"
}
watch(
() => msgList.value,
@ -273,39 +260,39 @@ watch(
localStorage.setItem(
`privateMsgUnreadCount-${route.query.id}-${store.state.userInfo.userId}`,
msgList.value[msgList.value.length - 1].id
);
)
},
{ deep: true }
);
)
const affirmDate = ref([]);
const affirmDate = ref([])
const selectDate = ref([
new Date().getFullYear(),
new Date().getMonth() + 1,
new Date().getDate(),
]);
const minDate = ref(new Date("2025-01-01"));
const maxDate = ref(new Date());
const showCalendar = ref(false);
])
const minDate = ref(new Date("2025-01-01"))
const maxDate = ref(new Date())
const showCalendar = ref(false)
const openDatePicker = () => {
showCalendar.value = true;
showCalendar.value = true
if (affirmDate.value.length) {
selectDate.value = affirmDate.value;
selectDate.value = affirmDate.value
}
};
}
const onConfirm = (obj) => {
affirmDate.value = obj.selectedValues;
showCalendar.value = false;
refreshMsg({ date: affirmDate.value.join("-") });
};
affirmDate.value = obj.selectedValues
showCalendar.value = false
refreshMsg({ date: affirmDate.value.join("-") })
}
const clearAffirmDate = () => {
affirmDate.value = [];
refreshMsg({ date: "" });
};
affirmDate.value = []
refreshMsg({ date: "" })
}
const onCancel = () => {
showCalendar.value = false;
};
showCalendar.value = false
}
</script>
<style scoped lang="scss">
.interact-scroll {

View File

@ -48,6 +48,11 @@
:title="item.showName"
>
<LivePlayList v-if="active === 3" :id="route.query.id" />
<CourseList
:list="list"
v-else-if="active === 32"
:id="route.query.id"
/>
<ShotVideoList v-else-if="active === 35" :id="route.query.id" />
<CircleList v-else-if="active === 41" :id="route.query.id" />
<Empty text="暂无内容" v-else />
@ -61,6 +66,7 @@
import { ref } from "vue"
import { useRoute } from "vue-router"
// import Nav from "@/components/NavBar.vue";
import CourseList from "./components/CourseList"
import LivePlayList from "./components/LivePlayList.vue"
// import ServerPackList from "./components/ServerPackList";
import ShotVideoList from "./components/ShotVideoList.vue"