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

View File

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

View File

@ -1,18 +1,18 @@
/* eslint-disable no-param-reassign */ /* eslint-disable no-param-reassign */
import axios from "axios"; import axios from "axios"
// import { Notification, MessageBox, Message } from "element-ui"; // import { Notification, MessageBox, Message } from "element-ui";
// import router from "@/router/index"; // import router from "@/router/index";
import store from "../store"; import store from "../store"
import { showToast, showDialog } from "vant"; import { showToast, showDialog } from "vant"
import { userLogin } from "@/utils/login"; import { userLogin } from "@/utils/login"
import router from "@/router/index"; import router from "@/router/index"
import { terminalType } from "@/utils/index"; import { terminalType } from "@/utils/index"
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url
timeout: 5000, // 请求超时时间 timeout: 5000, // 请求超时时间
}); })
// request拦截器 // request拦截器
service.interceptors.request.use( service.interceptors.request.use(
@ -22,17 +22,17 @@ service.interceptors.request.use(
store.state.token && store.state.token &&
!["/previewQuestion"].includes(router.currentRoute.value.path) !["/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) => { (error) => {
// Do something with request 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); Promise.reject(error)
} }
); )
// response 拦截器 // response 拦截器
service.interceptors.response.use( service.interceptors.response.use(
@ -45,21 +45,21 @@ service.interceptors.response.use(
message: response.data.message, message: response.data.message,
showConfirmButton: "重新登陆", showConfirmButton: "重新登陆",
}).then(() => { }).then(() => {
userLogin(); userLogin()
}); })
return response.data; return response.data
} else { } else {
userLogin(); userLogin()
return response.data; return response.data
} }
} else if (response.data.code !== 0) { } 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 && error.message && showToast(`${error.config.url}-${error.message}`); error && error.message && showToast(`${error.config.url}-${error.message}`)
return Promise.reject(error); return Promise.reject(error)
} }
); )
export default service; export default service

View File

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

View File

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