diff --git a/api/checkInfo.js b/api/checkInfo.js index 7a67999e..11058e0c 100644 --- a/api/checkInfo.js +++ b/api/checkInfo.js @@ -16,7 +16,7 @@ export function checkText({ Content, }) { return http.request({ - url: 'https://console.tim.qq.com/v4/im_msg_audit/content_moderation' + url: 'https://console.tim.qq.com/v4/im_msg_audit/content_moderation', method: Method.POST, params: { sdkappid: '1600080789', @@ -26,7 +26,7 @@ export function checkText({ contenttype: 'json' }, data: { - AuditName: '1600080789_1745821176_amtwGf' + AuditName: '1600080789_1745821176_amtwGf', ContentType: 'Text', Content, ExtSender diff --git a/api/login.js b/api/login.js index 64df2b78..56235df4 100644 --- a/api/login.js +++ b/api/login.js @@ -1,4 +1,6 @@ -import { http } from "@/utils/request.js"; +import { + http +} from "@/utils/request.js"; import api from "@/config/api.js"; @@ -7,22 +9,22 @@ import api from "@/config/api.js"; * @param mobile */ export function resetByMobile(params) { - return http.request({ - url: `/passport/member/resetByMobile`, - method: "POST", - params, - }); + return http.request({ + url: `/passport/member/resetByMobile`, + method: "POST", + params, + }); } /** * 发送验证码 * @param mobile */ -export function sendMobile(mobile,type='LOGIN') { - return http.request({ - url: `${api.common}/common/sms/${type}/${mobile}`, - method: "GET", - }); +export function sendMobile(mobile, type = 'LOGIN') { + return http.request({ + url: `${api.common}/common/sms/${type}/${mobile}`, + method: "GET", + }); } /** @@ -31,15 +33,15 @@ export function sendMobile(mobile,type='LOGIN') { * @param smsCode */ export function smsLogin(params, clientType) { - return http.request({ - url: `/passport/member/smsLogin`, - method: "POST", - data: params, - header: { - "content-type": "application/x-www-form-urlencoded", - clientType: clientType, - }, - }); + return http.request({ + url: `/passport/member/smsLogin`, + method: "POST", + data: params, + header: { + "content-type": "application/x-www-form-urlencoded", + clientType: clientType, + }, + }); } /** @@ -49,28 +51,37 @@ export function smsLogin(params, clientType) { */ export function modifyPass(params) { - return http.request({ - url: `/passport/member/modifyPass`, - method: "PUT", - params, - }); + return http.request({ + url: `/passport/member/modifyPass`, + method: "PUT", + params, + }); } /** * 刷新token */ export function refreshTokenFn(refresh_token) { - return http.request({ - url: `/passport/member/refresh/${refresh_token}`, - method: "GET", - }); + return http.request({ + url: `/passport/member/refresh/${refresh_token}`, + method: "GET", + }); } // 获取密码状态 -export function logout () { - return http.request({ - url: '/passport/member/logout', - method: "POST", - needToken: true, - }) +export function logout() { + return http.request({ + url: '/passport/member/logout', + method: "POST", + needToken: true, + }) } + +// 注销用户 +export function logoffConfirm() { + return http.request({ + url: '/passport/member/cancellation', + method: "PUT", + needToken: true, + }) +} \ No newline at end of file diff --git a/api/vlog.js b/api/vlog.js index a3ab00e3..ed221f93 100644 --- a/api/vlog.js +++ b/api/vlog.js @@ -255,7 +255,7 @@ export function vlogMyLikedList(page, pageSize, userId) { /** * 查询我喜欢的视频 */ -export function vlogMeTag(path, page, pageSize, userId) { +export function vlogMeTag(path, page, pageSize, userId, myId = '') { return http.request({ url: api.vlog + "/vlog/" + path, method: Method.GET, @@ -263,7 +263,8 @@ export function vlogMeTag(path, page, pageSize, userId) { params: { page, pageSize, - userId + userId, + myId }, }); } @@ -492,4 +493,76 @@ export function vlogQueryDoIFollowVloger({ vlogerId } }); +} + +/** + * 举报 + */ +export function reportVideo({ + myId, + vlogId, + reason, + description +}) { + return http.request({ + url: api.vlog + "/fans/blockVideo", + method: Method.POST, + params: { + myId, + vlogId, + reason, + description + } + }); +} + +/** + * 拉黑 + */ +export function blockUser({ + myId, + vlogerId +}) { + return http.request({ + url: api.vlog + "/fans/block", + method: Method.POST, + params: { + myId, + vlogerId + } + }); +} + +/** + * 查询用户是否拉黑博主 + */ +export function queryBlockVloger({ + myId, + vlogerId +}) { + return http.request({ + url: api.vlog + "/fans/queryBlockVloger", + method: Method.GET, + params: { + myId, + vlogerId + } + }); +} + +/** + * 取消拉黑 + */ +export function cancelBlock({ + myId, + vlogerId +}) { + return http.request({ + url: api.vlog + "/fans/cancelBlock", + method: Method.POST, + params: { + myId, + vlogerId + } + }); } \ No newline at end of file diff --git a/components/vlog/guanzhu.nvue b/components/vlog/guanzhu.nvue index 6a35d2c8..98217932 100644 --- a/components/vlog/guanzhu.nvue +++ b/components/vlog/guanzhu.nvue @@ -201,7 +201,19 @@ > 分享 - + + + + 举报 + + 分享 - + + + + 举报 + + + \ No newline at end of file diff --git a/components/vlog/tuijian.nvue b/components/vlog/tuijian.nvue index f8124f2e..a1fc00b4 100644 --- a/components/vlog/tuijian.nvue +++ b/components/vlog/tuijian.nvue @@ -194,7 +194,19 @@ > 分享 - + + + + 举报 + + ", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "abiFilters" : [ "arm64-v8a" ], - "schemes" : "wuzhongjie", - "minSdkVersion" : 30, - "targetSdkVersion" : 34 - }, - "ios" : { - "idfa" : false, - "privacyDescription" : { - "NSPhotoLibraryUsageDescription" : "需要用与评论上传,头像上传功能", - "NSPhotoLibraryAddUsageDescription" : "保存商品图片到本地", - "NSCameraUsageDescription" : "需要用与扫描二维码和商品评论图片拍摄", - "NSLocationAlwaysAndWhenInUseUsageDescription" : "可根据位置向您介绍附近的视频信息,提升浏览体验,或帮助你在发布的信息中展示位置,不授权不影响app正常使用", - "NSMicrophoneUsageDescription" : "用户上传视频时需使用音频信息" - }, - "capabilities" : { - "entitlements" : { - "com.apple.developer.associated-domains" : [ "applinks:wuzhongjie.com.cn" ] - } - }, - "urltypes" : "wuzhongjie", - "dSYMs" : false - }, - /* ios打包配置 */ - "sdkConfigs" : { - "payment" : { - "weixin" : { - "__platform__" : [ "ios", "android" ], - "appid" : "wxebcdaea31881caab", - "UniversalLinks" : "https://wuzhongjie.com.cn/ulink/" - }, - "alipay" : { - "__platform__" : [ "ios", "android" ] - } - }, - "ad" : {}, - "share" : { - "weixin" : { - "appid" : "wxebcdaea31881caab", - "UniversalLinks" : "https://wuzhongjie.com.cn/ulink/" - } - }, - "oauth" : { - "weixin" : { - "appid" : "wxebcdaea31881caab", - "UniversalLinks" : "https://wuzhongjie.com.cn/ulink/" - } - }, - "geolocation" : { - "amap" : { - "__platform__" : [ "ios", "android" ], - "appkey_ios" : "f463d3350efe63f8be5d9a62f24d0aab", - "appkey_android" : "fb3f1ccb34616c70f068aa950f3e27df" - }, - "system" : { - "__platform__" : [ "ios", "android" ] - } - }, - "maps" : { - "amap" : { - "appkey_ios" : "f463d3350efe63f8be5d9a62f24d0aab", - "appkey_android" : "fb3f1ccb34616c70f068aa950f3e27df" - } - }, - "push" : {} - }, - "icons" : { - "android" : { - "hdpi" : "unpackage/res/icons/72x72.png", - "xhdpi" : "unpackage/res/icons/96x96.png", - "xxhdpi" : "unpackage/res/icons/144x144.png", - "xxxhdpi" : "unpackage/res/icons/192x192.png" - }, - "ios" : { - "appstore" : "unpackage/res/icons/1024x1024.png", - "ipad" : { - "app" : "unpackage/res/icons/76x76.png", - "app@2x" : "unpackage/res/icons/152x152.png", - "notification" : "unpackage/res/icons/20x20.png", - "notification@2x" : "unpackage/res/icons/40x40.png", - "proapp@2x" : "unpackage/res/icons/167x167.png", - "settings" : "unpackage/res/icons/29x29.png", - "settings@2x" : "unpackage/res/icons/58x58.png", - "spotlight" : "unpackage/res/icons/40x40.png", - "spotlight@2x" : "unpackage/res/icons/80x80.png" - }, - "iphone" : { - "app@2x" : "unpackage/res/icons/120x120.png", - "app@3x" : "unpackage/res/icons/180x180.png", - "notification@2x" : "unpackage/res/icons/40x40.png", - "notification@3x" : "unpackage/res/icons/60x60.png", - "settings@2x" : "unpackage/res/icons/58x58.png", - "settings@3x" : "unpackage/res/icons/87x87.png", - "spotlight@2x" : "unpackage/res/icons/80x80.png", - "spotlight@3x" : "unpackage/res/icons/120x120.png" - } - } - }, - "splashscreen" : { - "iosStyle" : "common", - "ios" : { - "storyboard" : "CustomStoryboard.zip" - }, - "androidStyle" : "default", - "android" : { - "hdpi" : "CustomStartPage/start-page.9.png", - "xhdpi" : "CustomStartPage/start-page.9.png", - "xxhdpi" : "CustomStartPage/start-page.9.png" - }, - "useOriginalMsgbox" : true - } - }, - "nativePlugins" : {} - }, - "permission" : { - "scope.userLocation" : { - "desc" : "你的位置信息将用于高德地图的效果展示" - } - }, - /* SDK配置 */ - "quickapp" : {}, - /* 快应用特有相关 */ - "mp-weixin" : { - /* 小程序特有相关 */ - "usingComponents" : true, - "appid" : "wx6f10f29075dc1b0b", - "optimization" : { - "subPackages" : true - }, - "setting" : { - "urlCheck" : false, - "minified" : true, - "postcss" : false, - "es6" : true - }, - "permission" : { - "scope.userLocation" : { - "desc" : "位置信息将用于高德地图的效果展示" - } - }, - "plugins" : { - "myPlugin" : { - "version" : "1.1.0", - "provider" : "wx738958e0f4c894f9" - }, - "live-player-plugin" : { - "version" : "1.3.0", - "provider" : "wx2b03c6e691cd7370" - } - } - }, - "h5" : { - "devServer" : { - "disableHostCheck" : true - }, - "router" : { - "mode" : "history", - "base" : "" - }, - "sdkConfigs" : { - "maps" : {} - }, - "optimization" : { - "treeShaking" : { - "enable" : true - } - }, - "title" : "lilishop", - "template" : "" - } -} +{ + "name": "无终街", + "appid": "__UNI__6DB512D", + "description": "admin", + "versionName": "4.0.0", + "versionCode": 403, + "transformPx": false, + "app-plus": { + "android": { + "versionCode": 4000049, // Android 版本号 + "versionName": "4.0.0" // 用户看到的版本号 + }, + "compatible": { + "ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 + }, + "nvueStyleCompiler": "uni-app", + "compilerVersion": 3, + /* 5+App特有相关 */ + "usingComponents": true, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 + }, + "screenOrientation": ["portrait-primary"], + "modules": { + "Payment": {}, + "Share": {}, + "Geolocation": {}, + "Maps": {}, + "Camera": {}, + "Barcode": {}, + "VideoPlayer": {}, + "Push": {}, + "OAuth": {} + }, + "error": { + /* 404错误页面*/ + "url": "hybrid/html/error.html" + }, + /* 模块配置 */ + "distribute": { + /* 应用发布信息 */ + "android": { + /* android打包配置 */ + "permissions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "abiFilters": ["arm64-v8a"], + "schemes": "wuzhongjie", + "minSdkVersion": 30, + "targetSdkVersion": 34 + }, + "ios": { + "idfa": false, + "privacyDescription": { + "NSPhotoLibraryUsageDescription": "需要用与评论上传,头像上传功能", + "NSPhotoLibraryAddUsageDescription": "保存商品图片到本地", + "NSCameraUsageDescription": "需要用与扫描二维码和商品评论图片拍摄", + "NSLocationAlwaysAndWhenInUseUsageDescription": "可根据位置向您介绍附近的视频信息,提升浏览体验,或帮助你在发布的信息中展示位置,不授权不影响app正常使用", + "NSMicrophoneUsageDescription": "用户上传视频时需使用音频信息" + }, + "capabilities": { + "entitlements": { + "com.apple.developer.associated-domains": ["applinks:wuzhongjie.com.cn"] + } + }, + "urltypes": "wuzhongjie", + "dSYMs": false + }, + /* ios打包配置 */ + "sdkConfigs": { + "payment": { + "weixin": { + "__platform__": ["ios", "android"], + "appid": "wxebcdaea31881caab", + "UniversalLinks": "https://wuzhongjie.com.cn/ulink/" + }, + "alipay": { + "__platform__": ["ios", "android"] + } + }, + "ad": {}, + "share": { + "weixin": { + "appid": "wxebcdaea31881caab", + "UniversalLinks": "https://wuzhongjie.com.cn/ulink/" + } + }, + "oauth": { + "weixin": { + "appid": "wxebcdaea31881caab", + "UniversalLinks": "https://wuzhongjie.com.cn/ulink/" + } + }, + "geolocation": { + "amap": { + "__platform__": ["ios", "android"], + "appkey_ios": "f463d3350efe63f8be5d9a62f24d0aab", + "appkey_android": "fb3f1ccb34616c70f068aa950f3e27df" + }, + "system": { + "__platform__": ["ios", "android"] + } + }, + "maps": { + "amap": { + "appkey_ios": "f463d3350efe63f8be5d9a62f24d0aab", + "appkey_android": "fb3f1ccb34616c70f068aa950f3e27df" + } + }, + "push": {} + }, + "icons": { + "android": { + "hdpi": "unpackage/res/icons/72x72.png", + "xhdpi": "unpackage/res/icons/96x96.png", + "xxhdpi": "unpackage/res/icons/144x144.png", + "xxxhdpi": "unpackage/res/icons/192x192.png" + }, + "ios": { + "appstore": "unpackage/res/icons/1024x1024.png", + "ipad": { + "app": "unpackage/res/icons/76x76.png", + "app@2x": "unpackage/res/icons/152x152.png", + "notification": "unpackage/res/icons/20x20.png", + "notification@2x": "unpackage/res/icons/40x40.png", + "proapp@2x": "unpackage/res/icons/167x167.png", + "settings": "unpackage/res/icons/29x29.png", + "settings@2x": "unpackage/res/icons/58x58.png", + "spotlight": "unpackage/res/icons/40x40.png", + "spotlight@2x": "unpackage/res/icons/80x80.png" + }, + "iphone": { + "app@2x": "unpackage/res/icons/120x120.png", + "app@3x": "unpackage/res/icons/180x180.png", + "notification@2x": "unpackage/res/icons/40x40.png", + "notification@3x": "unpackage/res/icons/60x60.png", + "settings@2x": "unpackage/res/icons/58x58.png", + "settings@3x": "unpackage/res/icons/87x87.png", + "spotlight@2x": "unpackage/res/icons/80x80.png", + "spotlight@3x": "unpackage/res/icons/120x120.png" + } + } + }, + "splashscreen": { + "iosStyle": "common", + "ios": { + "storyboard": "CustomStoryboard.zip" + }, + "androidStyle": "default", + "android": { + "hdpi": "CustomStartPage/start-page.9.png", + "xhdpi": "CustomStartPage/start-page.9.png", + "xxhdpi": "CustomStartPage/start-page.9.png" + }, + "useOriginalMsgbox": true + } + }, + "nativePlugins": {} + }, + "permission": { + "scope.userLocation": { + "desc": "你的位置信息将用于高德地图的效果展示" + } + }, + /* SDK配置 */ + "quickapp": {}, + /* 快应用特有相关 */ + "mp-weixin": { + /* 小程序特有相关 */ + "usingComponents": true, + "appid": "wx6f10f29075dc1b0b", + "optimization": { + "subPackages": true + }, + "setting": { + "urlCheck": false, + "minified": true, + "postcss": false, + "es6": true + }, + "permission": { + "scope.userLocation": { + "desc": "位置信息将用于高德地图的效果展示" + } + }, + "plugins": { + "myPlugin": { + "version": "1.1.0", + "provider": "wx738958e0f4c894f9" + }, + "live-player-plugin": { + "version": "1.3.0", + "provider": "wx2b03c6e691cd7370" + } + } + }, + "h5": { + "devServer": { + "disableHostCheck": true + }, + "router": { + "mode": "history", + "base": "" + }, + "sdkConfigs": { + "maps": {} + }, + "optimization": { + "treeShaking": { + "enable": true + } + }, + "title": "lilishop", + "template": "" + } +} \ No newline at end of file diff --git a/pages.json b/pages.json index 493d0c19..64b13af2 100644 --- a/pages.json +++ b/pages.json @@ -487,6 +487,14 @@ "titleNView": false //禁用原生导航栏 } } + }, + { + "path": "pages/report/index", + "style": { + "navigationBarTitleText": "举报", + "navigationBarTextStyle": "white", + "navigationBarBackgroundColor": "#181b27" + } } ], "subPackages": [ diff --git a/pages/me/vlog.nvue b/pages/me/vlog.nvue index 5df6df9a..03d583a4 100644 --- a/pages/me/vlog.nvue +++ b/pages/me/vlog.nvue @@ -204,7 +204,19 @@ > 分享 - + + + + 举报 + + + + - + - + ~ 空空如也 ~ ~ 没有更多了 ~ @@ -214,7 +234,19 @@ let system = uni.getSystemInfoSync(); import { clickFeedBack } from '@/utils/tools.js'; import api from '@/config/api.js'; import storage from '@/utils/storage.js'; //缓存 -import { vlogUserInfo, vlogQueryDoIFollowVloger, vlogMyPublicList, vlogMyPrivateList, vlogMyLikedList, vlogMeTag, vlogFansCancel, vlogFansFollow } from '@/api/vlog'; +import { + queryBlockVloger, + cancelBlock, + blockUser, + vlogUserInfo, + vlogQueryDoIFollowVloger, + vlogMyPublicList, + vlogMyPrivateList, + vlogMyLikedList, + vlogMeTag, + vlogFansCancel, + vlogFansFollow +} from '@/api/vlog'; import { getAstro, getAnimal, dateFormat, graceNumber, isStrEmpty } from '@/utils/tools.js'; export default { @@ -253,7 +285,8 @@ export default { page: 0, totalpage: 0, vlogList: [], - channelComment: null + channelComment: null, + block: false //true=拉黑,false=没拉黑 }; }, destroyed() { @@ -333,9 +366,64 @@ export default { duration: 3000 }); } + // 查询我是否拉黑博主 + var isblock = await queryBlockVloger({ myId: myUserId, vlogerId: userPageId }); + if (isblock.data.status == 200) { + this.block = isblock.data.data; + } } }, methods: { + async quxiaolahei() { + var myUserInfo = storage.getVlogUserInfo(); + if (myUserInfo == null) { + uni.navigateTo({ + url: '/pages/passport/login', + animationType: 'slide-in-bottom' + }); + return; + } + var res = await cancelBlock({ + myId: myUserInfo.id, //我的id + vlogerId: this.userPageId // 博主id + }); + if (res.data.status == 200) { + uni.showToast({ + icon: 'none', + title: '已解除拉黑' + }); + this.channelComment.postMessage({ + type: 'comment-counts', + data: { lahei: true } + }); + this.block = false; + } + }, + async lahei() { + var myUserInfo = storage.getVlogUserInfo(); + if (myUserInfo == null) { + uni.navigateTo({ + url: '/pages/passport/login', + animationType: 'slide-in-bottom' + }); + return; + } + var res = await blockUser({ + myId: myUserInfo.id, //我的id + vlogerId: this.userPageId // 博主id + }); + if (res.data.status == 200) { + uni.showToast({ + icon: 'none', + title: '已拉黑' + }); + this.block = true; + this.channelComment.postMessage({ + type: 'comment-counts', + data: { lahei: true } + }); + } + }, setBasicUserInfo(myUserInfo) { // 根据生日判断星座 let birthday = myUserInfo.birthday; @@ -376,7 +464,12 @@ export default { page = page + 1; me.page = page; let userId = me.userPageId; - var result = await vlogMeTag(requrl, page, 10, userId); + var myUserInfo = storage.getVlogUserInfo(); + var myId = ''; + if (myUserInfo != null) { + myId = myUserInfo.id; + } + var result = await vlogMeTag(requrl, page, 10, userId, myId); if (result.data.status == 200) { let vlogList = result.data.data.rows; console.log(vlogList); diff --git a/pages/mine/set/setUp.vue b/pages/mine/set/setUp.vue index b54d3e91..6aa117eb 100644 --- a/pages/mine/set/setUp.vue +++ b/pages/mine/set/setUp.vue @@ -44,6 +44,11 @@ :title="`关于我们`" @click="navigateTo('/pages/mine/set/editionIntro')" > + 发布视频 + + 欢迎使用本应用。为保障所有用户良好的使用体验,您必须同意以下内容: + 1. 禁止上传或传播任何违法、淫秽、暴力、骚扰、恐吓、辱骂、仇恨等内容; + 2. 禁止骚扰、恶意攻击或冒充他人; + 3. 对于举报内容,我们将在24小时内进行审核处理; + 4. 严重违规者,我们将删除其内容并永久封禁账号; + 5.用户可通过设置页面提交账号注销申请,我们将在合理时间内完成数据清除。 + 继续使用本应用即表示您已阅读并同意本协议。 + @@ -92,6 +101,7 @@ import storage from '@/utils/storage.js'; //缓存 // graceNumber // } from '@/utils/tools.js' import api from '@/config/api.js'; +import { checkText } from '@/api/checkInfo.js'; export default { data() { return { @@ -162,7 +172,7 @@ export default { let event = e; this.title = e.detail.value; }, - doPublich() { + async doPublich() { if (!this.upFlage) { return; } @@ -189,7 +199,20 @@ export default { height: me.height, cityCode: storage.getCityCode() }; - + // 校验文本内容 + var checkData = { + ExtSender: userId, + Content: this.title + }; + var checkRes = await checkText(checkData); + console.log(checkRes); + if (checkRes.data.Result == 'Block') { + uni.showToast({ + icon: 'none', + title: '标题内容违规' + }); + return; + } // 发布视频 let serverUrl = api.vlog; uni.request({ @@ -304,6 +327,12 @@ export default { diff --git a/pages/tabbar/vlog/index.nvue b/pages/tabbar/vlog/index.nvue index 497c1eac..7bd628ea 100644 --- a/pages/tabbar/vlog/index.nvue +++ b/pages/tabbar/vlog/index.nvue @@ -236,6 +236,7 @@ export default { } }, onShow() { + console.log('首页'); var prop = this.pageList[this.curIndex]; if (storage.getRefreshVlogIndex() == '1') { // 登录后需要刷新数据 @@ -247,8 +248,15 @@ export default { } else { try { console.log('index刷新子组件'); - this.$refs[prop].showVd(); - } catch {} + var lst = this.$refs[prop].dataList; + if (lst.length) { + this.$refs[prop].showVd(); + } else { + this.$refs[prop].get(); + } + } catch (e) { + console.log('首页刷新异常'); + } } }, onHide() { diff --git a/static/img/jubao.png b/static/img/jubao.png new file mode 100644 index 00000000..5b04f5d0 Binary files /dev/null and b/static/img/jubao.png differ diff --git a/uni_modules/uni-popup/components/uni-popup-comments/uni-popup-comments.vue b/uni_modules/uni-popup/components/uni-popup-comments/uni-popup-comments.vue index 65375b37..cd870652 100755 --- a/uni_modules/uni-popup/components/uni-popup-comments/uni-popup-comments.vue +++ b/uni_modules/uni-popup/components/uni-popup-comments/uni-popup-comments.vue @@ -364,6 +364,7 @@