——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Node.js≥14
开发工具 后端:eclipse/idea/myeclipse/sts等均可配置运行 前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot推荐算法短视频平台(java+springboot+maven+vue+element-ui+mysql)
项目介绍 基于Springboot的推荐算法短视频平台系统设计与实现.系统分为管理员与普通用户两种角色。
1)登录模块 在进入系统首页后,首先看到的是登录界面,该界面会提供注册用户的功能,公告、平台咨询、视频中心、登录、注册、关键字搜索、忘记密码。 2)客户端模块 本模块分为密钥管理,角色管理,权限管理,个人信息,视频中心推荐、视频标题、视频类型、发布日期、时长、视频、发布数量、发布用户、等组成。 3)后台管理模块 本模块包括用户管理,模块管理、视频中心、在线留言、留言回复、普通用户统计、轮播图、公告管理、资源管理、系统用户、模块管理、视频中心、视频类型、在线留言等等。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
5.数据库:MySql 5.7版本;
技术栈 1. 后端:Springboot+SSM(Spring SpringMVC MyBatis)
首页展示:
平台咨询和公告:
用户登录页展示:
视频中心推荐:
视频详情展示:
后台首页展示:
后台统计展示:
轮播图页面展示:
后台用户统计展示:
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 */ @Autowired private AccessTokenService tokenService;@Autowired private UserGroupService userGroupService;@PostMapping("register") public Map<String, Object> signUp (@RequestBody User user) { Map<String, String> query = new HashMap<>(); query.put("username" ,user.getUsername()); List list = service.select(query, new HashMap<>()).getResultList(); if (list.size()>0 ){ return error(30000 , "用户已存在" ); } user.setUserId(null ); user.setPassword(service.encryption(user.getPassword())); service.save(user); return success(1 ); } @PostMapping("forget_password") public Map<String, Object> forgetPassword (@RequestBody User form,HttpServletRequest request) { JSONObject ret = new JSONObject(); String username = form.getUsername(); String code = form.getCode(); String password = form.getPassword(); if (code == null || code.length() == 0 ){ return error(30000 , "验证码不能为空" ); } if (username == null || username.length() == 0 ){ return error(30000 , "用户名不能为空" ); } if (password == null || password.length() == 0 ){
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 * @param request * @return */ @PostMapping("change_password") public Map<String, Object> change_password (@RequestBody Map<String, String> data, HttpServletRequest request) { String token = request.getHeader("x-auth-token" ); Integer userId = tokenGetUserId(token); Map<String, String> query = new HashMap<>(); String o_password = data.get("o_password" ); query.put("user_id" ,String.valueOf(userId)); query.put("password" ,service.encryption(o_password)); Query ret = service.count(query, service.readConfig(request)); List list = ret.getResultList(); Object s = list.get(0 ); int count = Integer.parseInt(list.get(0 ).toString()); if (count > 0 ){ Map<String,Object> form = new HashMap<>(); form.put("password" ,service.encryption(data.get("password" ))); service.update(query,service.readConfig(request),form); return success(1 ); } return error(10000 ,"密码修改失败!" ); } @GetMapping("state") public Map<String, Object> state (HttpServletRequest request) { JSONObject ret = new JSONObject(); String token = request.getHeader("x-auth-token" ); Integer userId = tokenGetUserId(token); log.info("[返回userId] {}" ,userId); if (userId == null || userId == 0 ){ return error(10000 ,"用户未登录!" ); } Map<String,String> query = new HashMap<>(); query.put("user_id" ,String.valueOf(userId));
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 */ @RestController @RequestMapping("article") public class ArticleController extends BaseController <Article , ArticleService > { @Autowired public ArticleController (ArticleService service) { setService(service); } } @RestController @RequestMapping("nav_admin") public class NavAdminController extends BaseController <NavAdmin , NavAdminService > { @Autowired public NavAdminController (NavAdminService service) { setService(service); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 return workbook; } @Transactional public void save (E e) { String s = JSONObject.toJSONString(e); Map map = JSONObject.parseObject(s, Map.class); insert(map); } public E findOne (Map<String, String> map) { try { Query select = select(map, new HashMap<>()); return (E) select.getSingleResult(); } catch (Exception e) { return null ; } } public String encryption (String plainText) { return plainText;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 this .addMap(paramMap); return success(1 ); } } @RestController @RequestMapping("/ordinary_users") public class OrdinaryUsersController extends BaseController <OrdinaryUsers , OrdinaryUsersService > { @Autowired public OrdinaryUsersController (OrdinaryUsersService service) { setService(service); } @PostMapping("/add") @Transactional public Map<String, Object> add (HttpServletRequest request) throws IOException { Map<String,Object> paramMap = service.readBody(request.getReader()); Map<String, String> mapordinary_users = new HashMap<>(); mapordinary_users.put("ordinary_users" ,String.valueOf(paramMap.get("ordinary_users" ))); List listordinary_users = service.select(mapordinary_users, new HashMap<>()).getResultList(); if (listordinary_users.size()>0 ){
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 else if (phone != null && "" .equals(phone) == false ){ map.put("phone" , phone); resultList = service.select(map, new HashMap<>()).getResultList(); }else { return error(30000 , "账号或密码不能为空" ); } if (resultList == null || password == null ) { return error(30000 , "账号或密码不能为空" ); } if (resultList.size()<=0 ){ return error(30000 ,"用户不存在" ); } User byUsername = (User) resultList.get(0 ); Map<String, String> groupMap = new HashMap<>(); groupMap.put("name" ,byUsername.getUserGroup()); List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList(); if (groupList.size()<1 ){ return error(30000 ,"用户组不存在" ); } UserGroup userGroup = (UserGroup) groupList.get(0 ); if (!StringUtils.isEmpty(userGroup.getSourceTable())){ String sql = "select examine_state from " + userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId(); String res = String.valueOf(service.runCountSql(sql).getSingleResult()); if (res==null ){ return error(30000 ,"用户不存在" ); } if (!res.equals("已通过" )){ return error(30000 ,"该用户审核未通过" ); } } if (byUsername.getState()!=1 ){ return error(30000 ,"用户非可用状态,不能登录" ); } String md5password = service.encryption(password); if (byUsername.getPassword().equals(md5password)) {
——————————PayStart——————————
项目链接: https://javayms.github.io?id=351524180701201ip https://javayms.pages.dev?id=351524180701201ip