当前位置: 首页 > news >正文

基于ssm+vue的邮票收藏鉴赏系统 elementui

随着邮票行业的发展,邮票市场已经有了越来越多的爱好者加入。收藏邮票,也就成了邮票收藏爱好者一个有爱又恨的话题。没错,大量的邮票收藏确实是对知识面的增广和一种成就感的满足。但是面对越来越多的邮票。五花八门各种各样的邮票。我们又该如何管理如何收藏呢﹖仅仅单靠人工分门别类?那么又该如何面对与朋友交流收藏乐趣时产生的搜索以及磨损问题﹖又该如何足不出户,知晓天下邮票大势呢?邮票收藏管理系统的开发。就是为了满足广大邮票收藏爱好者的需要。通过更加方便快捷的操作实现管理收藏优化。

请添加图片描述
近几年,有关邮票收藏管理系统设计的文献都陆续发布在各种期刊上,为邮票收藏管理系统化建设起了很大的促进作用,但基本上是基于理论上的研究,或者说只是系统架构上的探讨,模块结构的设计等等。另外,对于邮票收藏管理系统开发更是提出了新的课题,比如市场各成员资料的保密性、系统的实用性等问题,这为邮票收藏管理系统开发提供了很好的参考意义。

系统权限按管理员和用户这两类涉及用户划分。
1;管理员功能需求
管理员登陆后,主要模块包括首页,个人中心,用户管理,邮票信息管理,邮票分类管理,文章信息管理,个人分享管理,系统管理等功能
2;用户功能需求
用户登陆后,主要模块包括首页,邮票信息,文章信息,个人分享,个人中心,后台管理等功能。
请添加图片描述
环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis+Springboot
  2. 前端:vue+CSS+JavaScript+jQuery+elementui
    请添加图片描述
    邮票鉴赏的需求和管理上的不断提升,邮票鉴赏管理的潜力将无限扩大,邮票鉴赏系统在业界被广泛关注,本系统对此进行总体分析,将邮票鉴赏信息管理的发展提供参考。邮票鉴赏系统对邮票发展有着明显的带动效应,尤其对管理员的帮助更大。
    本系统主要包括管理员和用户两个用户角色:主要包括首页,个人中心,用户管理,邮票信息管理,邮票分类管理,文章信息管理,个人分享管理,系统管理等功能。
    请添加图片描述
    src/main/java:程序开发以及主程序入口;
    src/main/resources:配置文件;
    src/test/java:测试程序。
    ssm项目默认支持两种格式的配置文件
    1,application.properties
    2,application.yaml
    前端技术:nodejs+vue+elementui。

请添加图片描述


/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	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);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody 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();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    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");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam 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);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    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));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody 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();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

请添加图片描述
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

相关文章:

  • 去中心化标志符在DID中的核心地位
  • C++设计模式之适配器模式(结构型模式)
  • 3-面试官:说说线程池的 7 大参数
  • 猿创征文|HCIE-Security Day50:网络攻击介绍
  • 一个基于NetCore开发的前后端分离CMS系统
  • centos7安装docker和docker-compose
  • 子查询与内联结分别应该怎么写?
  • Shell编程之第一讲——基础知识认识
  • Java-基于SSM的校园点餐管理系统
  • WLAN与WiFi各是什么意思有什么区别
  • Linux基础-常见问题 xrandr屏幕操作命令详解
  • Jenkins部署springboot项目至远程服务器
  • 商业化广告--体系学习-- 2 -- 行业蓝图篇 -- 广告产品与商业模式
  • 教程,如何给公众号文章或菜单添加附件?
  • 计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台系统
  • 【刷算法】从上往下打印二叉树
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Flannel解读
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JavaScript学习总结——原型
  • js作用域和this的理解
  • leetcode讲解--894. All Possible Full Binary Trees
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Python中eval与exec的使用及区别
  • Redis在Web项目中的应用与实践
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 删除表内多余的重复数据
  • 思否第一天
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • FaaS 的简单实践
  • Spring第一个helloWorld
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 国内开源镜像站点
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (第二周)效能测试
  • (二)linux使用docker容器运行mysql
  • (分类)KNN算法- 参数调优
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (六)vue-router+UI组件库
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • . NET自动找可写目录
  • .net core Swagger 过滤部分Api
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core开源商城系统源码,支持可视化布局小程序
  • .Net FrameWork总结
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .pop ----remove 删除
  • [] 与 [[]], -gt 与 > 的比较