159 lines
3.0 KiB
Vue
159 lines
3.0 KiB
Vue
<template>
|
||
<view>
|
||
<u-alert-tips
|
||
:show-icon="true"
|
||
type="info"
|
||
:description="description"
|
||
></u-alert-tips>
|
||
<view style="margin-top: 20rpx; padding: 0 40rpx">
|
||
<u-radio-group
|
||
:width="'50%'"
|
||
size="50"
|
||
v-model="jubaoType"
|
||
>
|
||
<u-radio
|
||
style="margin-top: 20rpx"
|
||
:label-disabled="false"
|
||
v-for="(item, index) in list"
|
||
:key="index"
|
||
:name="item.content"
|
||
>
|
||
{{ item.content }}
|
||
</u-radio>
|
||
</u-radio-group>
|
||
<!-- -->
|
||
<view style="margin-top: 40rpx">
|
||
<view style="margin-bottom: 20rpx">举报描述(选填)</view>
|
||
<u-input
|
||
maxlength="32"
|
||
v-model="des"
|
||
:type="'textarea'"
|
||
:border="true"
|
||
:height="200"
|
||
:auto-height="true"
|
||
/>
|
||
<view style="text-align: right">{{ des.length }}/32</view>
|
||
</view>
|
||
</view>
|
||
<!-- -->
|
||
<u-button
|
||
class="custom-style"
|
||
:ripple="true"
|
||
type="error"
|
||
@click="sub"
|
||
>
|
||
提交
|
||
</u-button>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { reportVideo } from '@/api/vlog';
|
||
import storage from '@/utils/storage.js'; //缓存
|
||
export default {
|
||
data() {
|
||
return {
|
||
vlogId: '',
|
||
channelComment: null,
|
||
description: '您的举报我们将尽快受理,核实后我们将第一时间告知受理结果,请尽量提交完整的举报描述',
|
||
jubaoType: '',
|
||
des: '',
|
||
list: [
|
||
{
|
||
id: 1,
|
||
content: '低俗色情'
|
||
},
|
||
{
|
||
id: 2,
|
||
content: '违法犯罪'
|
||
},
|
||
{
|
||
id: 3,
|
||
content: '涉政信息'
|
||
},
|
||
{
|
||
id: 4,
|
||
content: '虚假宣传'
|
||
},
|
||
{
|
||
id: 5,
|
||
content: '不良向导'
|
||
},
|
||
{
|
||
id: 6,
|
||
content: '侵犯个人隐私'
|
||
}
|
||
],
|
||
flag: true
|
||
};
|
||
},
|
||
destroyed() {
|
||
console.log('举报页面销毁');
|
||
// 销毁时关闭 BroadcastChannel
|
||
if (this.channelComment) {
|
||
this.channelComment.close();
|
||
}
|
||
},
|
||
onLoad(e) {
|
||
this.channelComment = new BroadcastChannel('comment-counts');
|
||
this.vlogId = e.vlogId;
|
||
this.init = e.from;
|
||
},
|
||
methods: {
|
||
async sub() {
|
||
if (!this.flag) return;
|
||
this.flag = false;
|
||
console.log(this.jubaoType);
|
||
if (this.jubaoType) {
|
||
var data = {
|
||
myId: storage.getVlogUserInfo().id,
|
||
vlogId: this.vlogId,
|
||
reason: this.jubaoType,
|
||
description: this.des
|
||
};
|
||
console.log(data);
|
||
var res = await reportVideo(data);
|
||
console.log(res);
|
||
if (res.data.status == 200) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '举报成功'
|
||
});
|
||
// 刷新对应的videoList
|
||
this.channelComment.postMessage({
|
||
type: 'comment-counts',
|
||
data: { lahei: true }
|
||
});
|
||
setTimeout(() => {
|
||
if (this.init == 'detail') {
|
||
uni.switchTab({
|
||
url: '/pages/tabbar/vlog/index'
|
||
});
|
||
} else {
|
||
uni.navigateBack();
|
||
}
|
||
}, 1000);
|
||
}
|
||
} else {
|
||
this.flag = true;
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请选择举报原因'
|
||
});
|
||
}
|
||
}
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style scoped>
|
||
.custom-style {
|
||
width: 680rpx;
|
||
margin: 0 auto;
|
||
position: fixed;
|
||
bottom: 50rpx;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
}
|
||
</style>
|