——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明









基于javaweb的SpringBoot在线动漫信息平台系统(java+springboot+maven+vue+elementui+layui+mysql)
角色:管理员、用户
管理员;管理员登录后可进行首页、个人中心、动漫分类管理、热门动漫管理、文章专栏管理、会员管理、会员分享管理、论坛管理、系统管理
用户:首页、热门动漫、文章专栏、会员分享、论坛信息、个人中心、后台管理
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:layui+Vue+ELementUI
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,控制台提示运行成功后再去运行前端项目; 5. 管理员用户名密码:admin/admin 普通用户名密码:user/123456
文档介绍(背景以及意义、国内外研究概况、研究的内容、关键技术的研究、B/S架构、java技术介绍、mysql数据库介绍、Springboot框架、系统分析、系统设计目标、系统可行性分析、系统功能分析和描述、系统UML用例分析、管理员用例、前台首页、系统流程分析、台南佳信息流程、操作流程、删除信息流程、系统设计、系统体系结构)
在线动漫信息平台(首页、热门动漫、文章专栏、会员分享、论坛信息、动漫资讯、个人中心、后台管理):
热门动漫列表:
动漫详情介绍:
文章专栏:
动漫资讯:
后台登录页面:
后台登录详情介绍(个人中心、动漫分类管理、热门动漫管理、文章专栏管理、会员管理、会员分享管理、论坛管理、系统管理):
热门动漫列表详情介绍:
——————————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 47 48
| String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getValue(); String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue(); String token = BaiduUtil.getAuth(APIKey, SecretKey); if(token==null) { return R.error("请在配置管理中正确配置APIKey和SecretKey"); } client = new AipFace(null, APIKey, SecretKey); client.setConnectionTimeoutInMillis(2000); client.setSocketTimeoutInMillis(60000); } JSONObject res = null; try { File file1 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face1); File file2 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face2); String img1 = Base64Util.encode(FileUtil.FileToByte(file1)); String img2 = Base64Util.encode(FileUtil.FileToByte(file2)); MatchRequest req1 = new MatchRequest(img1, "BASE64"); MatchRequest req2 = new MatchRequest(img2, "BASE64"); ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>(); requests.add(req1); requests.add(req2); res = client.match(requests); System.out.println(res.get("result")); } catch (FileNotFoundException e) { e.printStackTrace(); return R.error("文件不存在"); } catch (IOException e) { e.printStackTrace(); } return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString())); }
@IgnoreAuth @RequestMapping("/option/{tableName}/{columnName}") public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table", tableName); params.put("column", columnName); if(StringUtils.isNotBlank(level)) { params.put("level", level); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| int count = huiyuanfenxiangService.selectCount(wrapper); return R.ok().put("count", count); }
}
|
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("/wenzhangzhuanlan") public class WenzhangzhuanlanController { @Autowired private WenzhangzhuanlanService wenzhangzhuanlanService;
@RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,WenzhangzhuanlanEntity wenzhangzhuanlan, HttpServletRequest request){ EntityWrapper<WenzhangzhuanlanEntity> ew = new EntityWrapper<WenzhangzhuanlanEntity>(); PageUtils page = wenzhangzhuanlanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenzhangzhuanlan), params), params));
return R.ok().put("data", page); }
@IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,WenzhangzhuanlanEntity wenzhangzhuanlan, HttpServletRequest request){ EntityWrapper<WenzhangzhuanlanEntity> ew = new EntityWrapper<WenzhangzhuanlanEntity>(); PageUtils page = wenzhangzhuanlanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wenzhangzhuanlan), params), params)); return R.ok().put("data", page); }
@RequestMapping("/lists")
|
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
|
@RequestMapping("/add") public R add(@RequestBody DiscussremendongmanEntity discussremendongman, HttpServletRequest request){ discussremendongman.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); discussremendongmanService.insert(discussremendongman); return R.ok(); }
@RequestMapping("/update") public R update(@RequestBody DiscussremendongmanEntity discussremendongman, HttpServletRequest request){ discussremendongmanService.updateById(discussremendongman); return R.ok(); }
@RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ discussremendongmanService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); }
@RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) {
|
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
| if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<WenzhangzhuanlanEntity> wrapper = new EntityWrapper<WenzhangzhuanlanEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); }
int count = wenzhangzhuanlanService.selectCount(wrapper); return R.ok().put("count", count); }
}
|
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
|
@RequestMapping("config") @RestController public class ConfigController{ @Autowired private ConfigService configService;
@RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,ConfigEntity config){ EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>(); PageUtils page = configService.queryPage(params); return R.ok().put("data", page); }
@IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,ConfigEntity config){ EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>(); PageUtils page = configService.queryPage(params); return R.ok().put("data", page); }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=531524170701201hd
https://javayms.pages.dev?id=531524170701201hd