微信小程序的短视频管理系统
末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端框架:VUE
数据库:MySQL5.7
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是
目录
一、项目简介
基于微信小程序的短视频管理系统利用网络沟通、计算机信息存储管理,有着与传统的方式所无法替代的优点。比如计算检索速度特别快、可靠性特别高、存储容量特别大、保密性特别好、可保存时间特别长、成本特别低等。在工作效率上,能够得到极大地提高,延伸至服务水平也会有好的收获,有了网络,基于微信小程序的短视频管理系统的各方面的管理更加科学和系统,更加规范和简便。
二、系统功能
基于微信小程序的短视频管理系统主要包括三大功能模块,即用户功能模块和管理员功能模块、发布者功能模块。
(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:首页、个人中心、用户管理、发布者管理、视频信息管理、频道分类管理、举报信息管理、系统管理。
(2)发布者:首页、个人中心、视频信息管理。
(3)前台用户:首页、视频信息、我的。
三、系统项目截图
3.1小程序端
用户注册页面,输入用户的个人信息点击注册即可。
注册完成后会返回到登录页面,用户输入自己注册的账号密码即可登录成功
登录成功后我们可以看到有相关的视频还有视频信息,我的信息等。
视频信息推荐是按照点击次数进行推荐的,点击数越大越拍前。
选择自己想要视频点击进入观看
视频信息推荐底下还有公告信息,用户可以查看系统发布的公告信息。
在视频信息中我们可以搜索自己想要的视频信息并且查看观看视频
观看视频后还可以对视频进行评价。
在我的中用户可以查看自己的收藏管理,也可以修改自己的信息等。
3.2发布者
管理员和发布者可以在后台管理中登录后对前台的一些信息进行发布。
发布者进行发布,管理员进行审核是否通过。
发布者登录以后可以修改自己的密码和信息等。
发布者添加完成相关的视频信息内容后,提交后由管理员审核,审核通过显示在页面上。
3.3管理员
管理员登录后可以看到有首页、个人中心、用户管理、发布者管理、视频信息管理、频道分类管理、举报信息管理、系统管理。
在发布者管理中管理员可以查看修改删除发布者信息。
发布者发布视频后后显示在管理员页面审核中,由管理员进行审核,并且显示在页面中。
对于一些举报内容管理可以查看并且进行回复。
四、核心代码
4.1登录相关
-
-
package com.controller;
-
-
-
import java.util.Arrays;
-
import java.util.Calendar;
-
import java.util.Date;
-
import java.util.Map;
-
-
import javax.servlet.http.HttpServletRequest;
-
-
import org.springframework.beans.factory.annotation.Autowired;
-
import org.springframework.stereotype.Controller;
-
import org.springframework.web.bind.annotation.GetMapping;
-
import org.springframework.web.bind.annotation.PathVariable;
-
import org.springframework.web.bind.annotation.PostMapping;
-
import org.springframework.web.bind.annotation.RequestBody;
-
import org.springframework.web.bind.annotation.RequestMapping;
-
import org.springframework.web.bind.annotation.RequestParam;
-
import org.springframework.web.bind.annotation.ResponseBody;
-
import org.springframework.web.bind.annotation.RestController;
-
-
import com.annotation.IgnoreAuth;
-
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-
import com.entity.TokenEntity;
-
import com.entity.UserEntity;
-
import com.service.TokenService;
-
import com.service.UserService;
-
import com.utils.CommonUtil;
-
import com.utils.MD5Util;
-
import com.utils.MPUtil;
-
import com.utils.PageUtils;
-
import com.utils.R;
-
import com.utils.ValidatorUtils;
-
-
/**
-
* 登录相关
-
*/
-
-
-
public class UserController{
-
-
-
private UserService userService;
-
-
-
private TokenService tokenService;
-
-
/**
-
* 登录
-
*/
-
-
-
public R login(String username, String password, String captcha, HttpServletRequest request) {
-
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
-
if(user==null || !user.getPassword().equals(password)) {
-
return R.error("账号或密码不正确");
-
}
-
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
-
return R.ok().put("token", token);
-
}
-
-
/**
-
* 注册
-
*/
-
-
-
public R register({ UserEntity user)
-
// ValidatorUtils.validateEntity(user);
-
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
-
return R.error("用户已存在");
-
}
-
userService.insert(user);
-
return R.ok();
-
}
-
-
/**
-
* 退出
-
*/
-
-
public R logout(HttpServletRequest request) {
-
request.getSession().invalidate();
-
return R.ok("退出成功");
-
}
-
-
/**
-
* 密码重置
-
*/
-
-
-
public R resetPass(String username, HttpServletRequest request){
-
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
-
if(user==null) {
-
return R.error("账号不存在");
-
}
-
user.setPassword("123456");
-
userService.update(user,null);
-
return R.ok("密码已重置为:123456");
-
}
-
-
/**
-
* 列表
-
*/
-
-
public R page({ Map<String, Object> params,UserEntity user)
-
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
-
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
-
return R.ok().put("data", page);
-
}
-
-
/**
-
* 列表
-
*/
-
-
public R list( UserEntity user){
-
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
-
ew.allEq(MPUtil.allEQMapPre( user, "user"));
-
return R.ok().put("data", userService.selectListView(ew));
-
}
-
-
/**
-
* 信息
-
*/
-
-
public R info({ String id)
-
UserEntity user = userService.selectById(id);
-
return R.ok().put("data", user);
-
}
-
-
/**
-
* 获取用户的session用户信息
-
*/
-
-
public R getCurrUser(HttpServletRequest request){
-
Long id = (Long)request.getSession().getAttribute("userId");
-
UserEntity user = userService.selectById(id);
-
return R.ok().put("data", user);
-
}
-
-
/**
-
* 保存
-
*/
-
-
public R save({ UserEntity user)
-
// ValidatorUtils.validateEntity(user);
-
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
-
return R.error("用户已存在");
-
}
-
userService.insert(user);
-
return R.ok();
-
}
-
-
/**
-
* 修改
-
*/
-
-
public R update({ UserEntity user)
-
// ValidatorUtils.validateEntity(user);
-
userService.updateById(user);//全部更新
-
return R.ok();
-
}
-
-
/**
-
* 删除
-
*/
-
-
public R delete({ Long[] ids)
-
userService.deleteBatchIds(Arrays.asList(ids));
-
return R.ok();
-
}
-
}
4.2文件上传
-
package com.controller;
-
-
import java.io.File;
-
import java.io.FileNotFoundException;
-
import java.io.IOException;
-
import java.util.Arrays;
-
import java.util.Date;
-
import java.util.HashMap;
-
import java.util.List;
-
import java.util.Map;
-
import java.util.Random;
-
import java.util.UUID;
-
-
import org.apache.commons.io.FileUtils;
-
import org.apache.commons.lang3.StringUtils;
-
import org.springframework.beans.factory.annotation.Autowired;
-
import org.springframework.http.HttpHeaders;
-
import org.springframework.http.HttpStatus;
-
import org.springframework.http.MediaType;
-
import org.springframework.http.ResponseEntity;
-
import org.springframework.util.ResourceUtils;
-
import org.springframework.web.bind.annotation.PathVariable;
-
import org.springframework.web.bind.annotation.RequestBody;
-
import org.springframework.web.bind.annotation.RequestMapping;
-
import org.springframework.web.bind.annotation.RequestParam;
-
import org.springframework.web.bind.annotation.RestController;
-
import org.springframework.web.multipart.MultipartFile;
-
-
import com.annotation.IgnoreAuth;
-
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-
import com.entity.ConfigEntity;
-
import com.entity.EIException;
-
import com.service.ConfigService;
-
import com.utils.R;
-
-
/**
-
* 上传文件映射表
-
*/
-
-
-
-
public class FileController{
-
-
private ConfigService configService;
-
/**
-
* 上传文件
-
*/
-
-
public R upload( MultipartFile file,String type)throws Exception {
-
if (file.isEmpty()) {
-
throw new EIException("上传文件不能为空");
-
}
-
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") 1);
-
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
-
if(!path.exists()) {
-
path = new File("");
-
}
-
File upload = new File(path.getAbsolutePath(),"/upload/");
-
if(!upload.exists()) {
-
upload.mkdirs();
-
}
-
String fileName = new Date().getTime() "." fileExt;
-
File dest = new File(upload.getAbsolutePath() "/" fileName);
-
file.transferTo(dest);
-
FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload" "/" fileName));
-
if(StringUtils.isNotBlank(type) && type.equals("1")) {
-
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
-
if(configEntity==null) {
-
configEntity = new ConfigEntity();
-
configEntity.setName("faceFile");
-
configEntity.setValue(fileName);
-
} else {
-
configEntity.setValue(fileName);
-
}
-
configService.insertOrUpdate(configEntity);
-
}
-
return R.ok().put("file", fileName);
-
}
-
-
/**
-
* 下载文件
-
*/
-
-
-
public ResponseEntity<byte[]> download( String fileName) {
-
try {
-
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
-
if(!path.exists()) {
-
path = new File("");
-
}
-
File upload = new File(path.getAbsolutePath(),"/upload/");
-
if(!upload.exists()) {
-
upload.mkdirs();
-
}
-
File file = new File(upload.getAbsolutePath() "/" fileName);
-
if(file.exists()){
-
/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
-
getResponse().sendError(403);
-
}*/
-
HttpHeaders headers = new HttpHeaders();
-
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
-
headers.setContentDispositionFormData("attachment", fileName);
-
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
-
}
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
-
}
-
-
}
4.3封装
-
package com.utils;
-
-
import java.util.HashMap;
-
import java.util.Map;
-
-
/**
-
* 返回数据
-
*/
-
public class R extends HashMap<String, Object> {
-
private static final long serialVersionUID = 1L;
-
-
public R() {
-
put("code", 0);
-
}
-
-
public static R error() {
-
return error(500, "未知异常,请联系管理员");
-
}
-
-
public static R error(String msg) {
-
return error(500, msg);
-
}
-
-
public static R error(int code, String msg) {
-
R r = new R();
-
r.put("code", code);
-
r.put("msg", msg);
-
return r;
-
}
-
-
public static R ok(String msg) {
-
R r = new R();
-
r.put("msg", msg);
-
return r;
-
}
-
-
public static R ok(Map<String, Object> map) {
-
R r = new R();
-
r.putAll(map);
-
return r;
-
}
-
-
public static R ok() {
-
return new R();
-
}
-
-
public R put(String key, Object value) {
-
super.put(key, value);
-
return this;
-
}
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgakbjg
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01