Commit ff8a903a authored by 乐宝呗666's avatar 乐宝呗666

修改接口返回数据的问题

parent 8f4de510
...@@ -33,22 +33,10 @@ axios.interceptors.response.use(response => { ...@@ -33,22 +33,10 @@ axios.interceptors.response.use(response => {
function errorState(status, data) { function errorState(status, data) {
Toast.clear() // 关闭 loading Toast.clear() // 关闭 loading
if (status === 500 && data.message.indexOf("token invalid") !== -1) { if (!data) {
Toast({ Toast.fail("网络出小差咯~")
message: '您的登录过期,将重新登录!', }
onClose: () => { if (status === 401) {
//清除用户信息
localStorage.removeItem('backToken')
localStorage.removeItem('userId')
router.push({
path: '/',
query: {
redirect: router.history.current.fullPath
}
})
}
});
} else if (status === 401) {
Toast({ Toast({
message: '您的用户权限已被禁用,请联系管理员!', message: '您的用户权限已被禁用,请联系管理员!',
onClose: () => { onClose: () => {
...@@ -63,10 +51,29 @@ function errorState(status, data) { ...@@ -63,10 +51,29 @@ function errorState(status, data) {
}) })
} }
}); });
} else if (status === 500 && data.message.indexOf("not have permission") !== -1) { }
Toast.fail("抱歉,你无权访问该页面!") if (status === 500 && data.message) {
} else if (!data) { if(data.message.indexOf("token invalid") !== -1){
Toast.fail("网络出小差咯~") Toast({
message: '您的登录过期,将重新登录!',
onClose: () => {
//清除用户信息
localStorage.removeItem('backToken')
localStorage.removeItem('userId')
router.push({
path: '/',
query: {
redirect: router.history.current.fullPath
}
})
}
});
}
if(data.message.indexOf("not have permission") !== -1){
Toast.fail("抱歉,你无权访问该页面!")
}
} else {
Toast.fail(data)
} }
} }
...@@ -118,14 +125,16 @@ const httpServer = (opts, data, file, timeout) => { ...@@ -118,14 +125,16 @@ const httpServer = (opts, data, file, timeout) => {
axios(httpDefaultOpts).then((res) => { axios(httpDefaultOpts).then((res) => {
Toast.clear() Toast.clear()
clearTimeout(markIndex) clearTimeout(markIndex)
successState(res) if (res.status === 200) {
if (res) { successState(res)
resolve(res) resolve(res)
}else{
errorState(res.status, res.data) errorState(res.status, res.data)
} }
}).catch((response) => { }).catch((response) => {
Toast.clear() Toast.clear()
clearTimeout(markIndex) clearTimeout(markIndex)
debugger
if (response && response.response && response.response.status && response.response.data) { if (response && response.response && response.response.status && response.response.data) {
errorState(response.response.status, response.response.data) errorState(response.response.status, response.response.data)
} }
......
...@@ -100,7 +100,6 @@ export default { ...@@ -100,7 +100,6 @@ export default {
}, },
// 提交数据 // 提交数据
onSubmit() { onSubmit() {
console.log(this.form)
let vm = this let vm = this
let param = {} let param = {}
for (let key in this.form) { for (let key in this.form) {
...@@ -118,7 +117,6 @@ export default { ...@@ -118,7 +117,6 @@ export default {
) )
.then((res) => { .then((res) => {
if (res.data.resultCode === "200") { if (res.data.resultCode === "200") {
this.form = res.data.data;
this.$router.replace({ this.$router.replace({
path: "/success", path: "/success",
query: { txt: "信息修改成功", url: "/admin" }, query: { txt: "信息修改成功", url: "/admin" },
......
<template> <template>
<div class="commit-page-content"> <div class="commit-page-content">
<div class="field-title"> <van-form @submit="onSubmit">
<span>基本信息</span> <div class="field-title">
</div> <span>基本信息</span>
<div class="input-box"> </div>
<van-field <div class="input-box">
class="field-form-item" <van-field
readonly class="field-form-item"
clickable readonly
name="boardName" clickable
input-align="right" name="boardName"
:value="form.boardName" input-align="right"
label="展板名称" :value="form.boardName"
placeholder="请选择" label="展板名称"
:right-icon="showBoard ? 'arrow-up' : 'arrow-down'" placeholder="请选择展板"
@click="showBoard = true" :right-icon="showBoard ? 'arrow-up' : 'arrow-down'"
:rules="[{ required: true }]" @click="showBoard = true"
/> :rules="[{ required: true }]"
<van-popup v-model="showBoard" position="bottom">
<van-picker
show-toolbar
:columns="boardNameList"
@confirm="onConfirmBoard"
@cancel="showBoard = false"
/> />
</van-popup> <van-popup v-model="showBoard" position="bottom">
<van-field <van-picker
label="账户名" show-toolbar
v-model="form.username" :columns="boardNameList"
placeholder="请输入账户名称" @confirm="onConfirmBoard"
readonly @cancel="showBoard = false"
input-align="right" />
/> </van-popup>
<van-cell <van-field
class="calendar-icon" label="账户名"
title="学习时间" v-model="form.username"
:value="form.studyTime || ''" placeholder="请输入账户名称"
@click="onDisplay" readonly
:icon="form.studyTime || cellIcon" input-align="right"
/>
<van-popup v-model="show" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="datetime"
title="选择学习时间"
:formatter="formatter"
@confirm="onConfirm"
@cancel="onClose"
/> />
</van-popup> <van-cell
<van-field class="calendar-icon"
label="观影人数" title="学习时间"
v-model="form.num" :value="form.studyTime || ''"
placeholder="请输入观影人数" @click="onDisplay"
input-align="right" :icon="form.studyTime || cellIcon"
/> />
<van-field <van-popup v-model="show" position="bottom">
label="管理员账号" <van-datetime-picker
v-model="form.name" v-model="currentDate"
placeholder="请输入管理员账号" type="datetime"
input-align="right" title="选择学习时间"
/> :formatter="formatter"
<van-field @confirm="onConfirm"
type="password" @cancel="onClose"
label="管理员密码" />
v-model="form.password" </van-popup>
placeholder="请输入管理员密码" <van-field
input-align="right" label="观影人数"
/> v-model="form.num"
</div> placeholder="请输入观影人数"
<div class="field-title"> input-align="right"
<span>上传视频</span> :rules="[{ pattern: /\d/, message: '请输入正确内容' }]"
</div> />
<div class="field-content"> <van-field
<div class="upload-content"> label="管理员账号"
<div class="uplaod-video" style="min-height: 60px"> v-model="form.name"
<van-uploader placeholder="请输入管理员账号"
:max-count="3" input-align="right"
:max-size="500 * 1024" :rules="[{ required: true }]"
@oversize="onOversize" />
v-model="fileList" <van-field
accept="video/*" type="password"
:after-read="uploadVideo" label="管理员密码"
multiple v-model="form.password"
> placeholder="请输入管理员密码"
<div class="avatar-plus"> input-align="right"
<span>+</span> :rules="[{ required: true }]"
</div> />
</van-uploader> </div>
</div> <div class="field-title">
<div class="tips"> <span>上传视频</span>
<img src="/images/applets/tip.png" alt />
<span>
最多支持上传
<b>3</b> 段视频,每段时长 <b>20s</b>
</span>
</div>
</div> </div>
</div> <div class="field-content">
<div class="field-title"> <div class="upload-content">
<span>上传照片</span> <div class="uplaod-video" style="min-height: 60px">
</div> <van-uploader
<div class="field-content"> :max-count="3"
<div class="upload-content"> :max-size="500 * 1024"
<div class="uplaod-video" style="min-height: 60px"> @oversize="onOversize"
<van-uploader v-model="fileList"
:max-count="6" accept="video/*"
accept="image/png, image/jpeg" :after-read="uploadVideo"
v-model="imgFileList" :before-delete="deleteVideo"
multiple multiple
:after-read="uploadImg" >
:before-delete="deleteImg" <div class="avatar-plus">
> <span>+</span>
<div class="avatar-plus"> </div>
<span>+</span> </van-uploader>
</div> </div>
</van-uploader> <div class="tips">
<img src="/images/applets/tip.png" alt />
<span>
最多支持上传
<b>3</b> 段视频,每段时长 <b>20s</b>
</span>
</div>
</div> </div>
<div class="tips"> </div>
<img src="/images/applets/tip.png" alt /> <div class="field-title">
<span> <span>上传照片</span>
最多支持上传 </div>
<b>6</b> 张照片 <div class="field-content">
</span> <div class="upload-content">
<div class="uplaod-video" style="min-height: 60px">
<van-uploader
:max-count="6"
accept="image/png, image/jpeg"
v-model="imgFileList"
multiple
:after-read="uploadImg"
:before-delete="deleteImg"
>
<div class="avatar-plus">
<span>+</span>
</div>
</van-uploader>
</div>
<div class="tips">
<img src="/images/applets/tip.png" alt />
<span>
最多支持上传
<b>6</b> 张照片
</span>
</div>
</div> </div>
</div> </div>
</div> <div class="field-title">
<div class="field-title"> <span>有话对党说</span>
<span>有话对党说</span> </div>
</div> <div class="field-content">
<div class="field-content"> <van-field
<van-field class="field-textarea"
class="field-textarea" type="textarea"
type="textarea" v-model="form.content"
v-model="form.content" maxlength="500"
maxlength="500" show-word-limit
show-word-limit />
/> </div>
</div> <div class="commit-page-button">
<div class="commit-page-button"> <van-button type="default" native-type="submit">提交</van-button>
<van-button type="default" @click="onSubmit">提交</van-button> </div>
</div> </van-form>
</div> </div>
</template> </template>
...@@ -258,13 +264,25 @@ export default { ...@@ -258,13 +264,25 @@ export default {
} }
return `${value}分`; return `${value}分`;
}, },
// 上传图片 // 删除图片
deleteImg(file,detail){
this.form.images.splice(detail.index,1)
return true
},
// 上传图片判断
uploadImg(file) { uploadImg(file) {
if(Array.isArray(file)){
file.forEach(item=>{
this.uploadImgInterface(item.file)
})
}else{
this.uploadImgInterface(file.file)
}
},
uploadImgInterface(file){
let vm = this; let vm = this;
// if(Array.isArray(file)){} let param = new FormData();
const param = new FormData(); param.append("file", file);
param.append("file", file.file);
console.log(file)
vm.$https( vm.$https(
{ {
url: "file/image/upload", url: "file/image/upload",
...@@ -284,11 +302,26 @@ export default { ...@@ -284,11 +302,26 @@ export default {
console.log(err); console.log(err);
}); });
}, },
// 删除视频
deleteVideo(file,detail){
this.form.videos.splice(detail.index,1)
console.log(this.form.videos)
return true
},
// 上传视频 // 上传视频
uploadVideo(file) { uploadVideo(file) {
if(Array.isArray(file)){
file.forEach(item=>{
this.uploadVideoInterface(item.file)
})
}else{
this.uploadVideoInterface(file.file)
}
},
uploadVideoInterface(file){
let vm = this; let vm = this;
const param = new FormData(); const param = new FormData();
param.append("file", file.file); param.append("file", file);
vm.$https( vm.$https(
{ {
url: "file/video/upload", url: "file/video/upload",
...@@ -299,7 +332,7 @@ export default { ...@@ -299,7 +332,7 @@ export default {
) )
.then((res) => { .then((res) => {
if(res.data.resultCode==='200'){ if(res.data.resultCode==='200'){
this.form.videos.push(...res.data.data.urlList); this.form.videos.push(res.data.data.fileList[0].fileUrl);
}else{ }else{
this.$toast(res.data.message) this.$toast(res.data.message)
} }
...@@ -309,10 +342,7 @@ export default { ...@@ -309,10 +342,7 @@ export default {
console.log(err); console.log(err);
}); });
}, },
deleteImg(file,detail){
this.form.images.splice(detail.index,1)
return true
},
// 提交数据 // 提交数据
onSubmit() { onSubmit() {
let vm = this; let vm = this;
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<div class="content"> <div class="content">
<div class="learnvideo"> <div class="learnvideo">
<div class="learn-title">学习视频</div> <div class="learn-title">学习视频</div>
<div class="learn-body"> <div class="learn-body" v-if="item.videos.length">
<span v-for="(s,i) in item.videos" :key="i"> <span v-for="(s,i) in item.videos" :key="i">
<video controls width='100%' height='100%' poster="images/applets/video.png"> <video controls width='100%' height='100%' poster="images/applets/video.png">
<source :src="s" /> <source :src="s" />
...@@ -36,16 +36,21 @@ ...@@ -36,16 +36,21 @@
x5-video-ignore-metadata='true' --> x5-video-ignore-metadata='true' -->
</span> </span>
</div> </div>
<div class="learn-body" v-if="!item.videos.length">暂无数据</div>
</div> </div>
<div class="learnphoto"> <div class="learnphoto">
<div class="learn-title">学习照片</div> <div class="learn-title">学习照片</div>
<div class="learn-body"> <div class="learn-body" v-if="item.images.length">
<img :src="s" v-for="(s,i) in item.images" :key="i" alt="" @click="sceneImg(item.images,i)"> <span v-for="(s,i) in item.images" :key="i">
<img :src="s" alt="" @click="sceneImg(item.images,i)" v-if="s">
<span v-else>暂无数据</span>
</span>
</div> </div>
<div class="learn-body" v-if="!item.images.length">暂无数据</div>
</div> </div>
<div class="learntextarea"> <div class="learntextarea">
<div class="learn-title">有话对党说</div> <div class="learn-title">有话对党说</div>
<div class="learn-body">{{item.content}}</div> <div class="learn-body">{{item.content|| '暂无数据'}}</div>
</div> </div>
</div> </div>
</van-collapse-item> </van-collapse-item>
...@@ -161,9 +166,6 @@ export default { ...@@ -161,9 +166,6 @@ export default {
padding: 24px 0px; padding: 24px 0px;
height: calc(100% - 200px); height: calc(100% - 200px);
overflow-y: auto; overflow-y: auto;
.van-pull-refresh {
overflow-y:auto;
}
.van-cell { .van-cell {
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<div class="content"> <div class="content">
<div class="row-body"> <div class="row-body">
<div class="title-label">展板版权方</div> <div class="title-label">展板版权方</div>
<div class="title-body">{{ item.assetCopyrightOwnerName }}</div> <div class="title-body">{{ item.boardCopyrightOwnerName }}</div>
</div> </div>
<div class="row-body"> <div class="row-body">
<div class="title-label">展板宣传图</div> <div class="title-label">展板宣传图</div>
...@@ -35,14 +35,14 @@ ...@@ -35,14 +35,14 @@
<div class="detail-body"> <div class="detail-body">
<div class="learn-title">展板简介</div> <div class="learn-title">展板简介</div>
<div class="learn-body textarea"> <div class="learn-body textarea">
{{ item.remarks }} {{ item.remarks || '暂无数据'}}
</div> </div>
</div> </div>
<div class="detail-body"> <div class="detail-body">
<div class="learn-title">展板视频</div> <div class="learn-title">展板视频</div>
<div class="learn-body"> <div class="learn-body" v-if="item.videoList.length">
<span class="file-box" v-for="(s, i) in item.videoUrl" :key="i"> <span class="file-box" v-for="(s, i) in item.videoList" :key="i">
<video <video
controls controls
width="100%" width="100%"
...@@ -54,13 +54,14 @@ ...@@ -54,13 +54,14 @@
<span>{{ s.fileName }}</span> <span>{{ s.fileName }}</span>
</span> </span>
</div> </div>
<div class="learn-body" v-if="!item.videoList.length">暂无数据</div>
</div> </div>
<div class="detail-body"> <div class="detail-body">
<div class="learn-title">展板音频</div> <div class="learn-title">展板音频</div>
<div class="learn-body"> <div class="learn-body">
<span <span
class="file-box" class="file-box"
v-for="(s, i) in item.guideAudioUrl" v-for="(s, i) in item.audioList"
:key="i" :key="i"
> >
<audio <audio
...@@ -74,6 +75,7 @@ ...@@ -74,6 +75,7 @@
<span>{{ s.fileName }}</span> <span>{{ s.fileName }}</span>
</span> </span>
</div> </div>
<div class="learn-body" v-if="!item.audioList.length">暂无数据</div>
</div> </div>
</div> </div>
</van-collapse-item> </van-collapse-item>
...@@ -115,10 +117,6 @@ export default { ...@@ -115,10 +117,6 @@ export default {
if (res.data.resultCode === "200") { if (res.data.resultCode === "200") {
this.list = res.data.data; this.list = res.data.data;
this.activeNames = this.list.exhibitionBoardList[0].id; this.activeNames = this.list.exhibitionBoardList[0].id;
this.list.exhibitionBoardList.forEach((item) => {
item.videoUrl = JSON.parse(item.videoUrl);
item.guideAudioUrl = JSON.parse(item.guideAudioUrl);
});
} else { } else {
this.$toast(res.data.message); this.$toast(res.data.message);
} }
......
...@@ -21,6 +21,7 @@ module.exports = { ...@@ -21,6 +21,7 @@ module.exports = {
proxy: { proxy: {
'/mall': { '/mall': {
target: "http://192.168.110.67/mall", target: "http://192.168.110.67/mall",
// target: "http://192.168.204.66:8088/mall", // 子鹏
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/mall': '/' // 重写接口 '^/mall': '/' // 重写接口
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment