一、后台接口
//userController.java
前端接收一个
usersReport
d对象,包含数据如下
@PostMapping("/reportUser")
public IMoocJSONResult reportUser(@RequestBody UsersReport usersReport) throws Exception {
// 保存举报信息
userService.reportUser(usersReport);
return IMoocJSONResult.errorMsg("举报成功...有你平台变得更美好...");
}
二、前端
1.report.wxml
举报页面包含一个
form
表单,其中有一个picker
组件用于选择举报的原因,一个textarea
组件用于输入用户举报描述,一个submitReport
方法提交表单信息
//report.js
reasonIndex
用于获取picker
组件根据选择reasonIndex
值加载举报的原因,reasonContent
用于获取textarea
组件输入的用户举报描述,然后向后端发送request请求,后台进行数据库操作成功后回调举报成功信息:“举报成功…有你平台变得更美好…”。
submitReport:function(e) {
var me = this;
var reasonIndex = e.detail.value.reasonIndex;
var reasonContent = e.detail.value.reasonContent;
var user = app.getGlobalUserInfo();
var currentUserId = user.id;
//表示举报原因为必选项
if (reasonIndex == null || reasonIndex == '' || reasonIndex == undefined) {
wx.showToast({
title: '选择举报理由',
icon: "none"
})
return;
}
var serverUrl = app.serverUrl;
wx.request({
url: serverUrl + '/user/reportUser',
method: 'POST',
data: {
dealUserId: me.data.publishUserId,
dealVideoId: me.data.videoId,
title: app.reportReasonArray[reasonIndex],
content:reasonContent,
userid: currentUserId
},
header: {
'content-type': 'application/json', // 默认值
'headerUserId': user.id,
'headerUserToken': user.userToken
},
success:function(res) {
wx.showToast({
title: res.data.msg,
duration: 2000,
icon: 'none',
success: function() {
wx.navigateBack();
}
})
}
})
}