马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
具体视频演示请接洽我获取更具体的演示视频
项目运行截图
技能框架
后端接纳SpringBoot框架
Spring Boot 是一个用于快速开发基于 Spring 框架的应用步伐的开源框架。它接纳约定大于设置的理念,提供了一套默认的设置,让开发者可以更专注于业务逻辑而不是设置文件。Spring Boot 通过自动化设置和约定大于设置的方式,大大简化了应用步伐的设置工作。开发者不再须要手动设置大量的 XML 文件或繁琐的注解,框架提供了默认的设置,根据项目标依赖关系和约定,自动完成设置。Spring Boot 使用Maven或 Gradle 举行构建,自动下载项目依赖,并提供了许多插件简化构建过程。开发者可以使用 Spring Initializr 来天生一个底子的项目布局,然后根据须要选择所需的依赖。
前端框架Vue
Vue.js的计划目标之一是使其尽大概简朴、易于明白和上手。Vue 提供了直观的 API,使开发者可以大概轻松地构建交互式的用户界面。Vue.js 提供了简朴而强大的数据绑定机制,通过使用指令(比方 v-model)可以实现视图和数据的双向绑定。当数据发生厘革时,视图会自动更新,反之亦然,使得开发者不必手动处理处罚 DOM 利用。Vue.js 提供了一组生命周期钩子函数,允许开发者在组件的差别阶段实行自界说逻辑。这包罗创建、挂载、更新和烧毁等阶段,为开发者提供了更多机动性。
可行性分析
可行性分析是每开发一个项目必不可少的一部分,可行性分析可以直接影响一个体系的存活标题,针对开发意义举行分析,尚有就是是否可以通过所开发的体系来补充传统手工统计模式的不敷,是否可以大概更好的办理阿博图书馆管理体系存在的标题等,通过对该阿博图书馆管理体系的开发计划,不光可以大概渐渐淘汰工作职员的工作量,而且还可以举行高效工作和管理。以是该体系的开发实现了最大的意义和代价,在体系完成后,长处是否大过于本钱,是否可以大概到达预期效果,这些方面都要举行可行性分析,再通太过析之后,就可以决定是否开发此体系。该阿博图书馆管理体系的开发计划中,以下几点举行了可行性分析:技能可行性:通过Java技能的接纳,由于该技能不绝成熟,以是使用该技能计划阿博图书馆管理体系是具有可行性的。经济可行性:在开发过程中,体系完成后的长处是否大过于开发本钱。利用可行性:阿博图书馆管理体系的开发计划中,方便用户的可利用性和实用性。
体系测试
从多个角度举行测试找到体系中存在的标题是本体系主要的测试目标,通过功能测摸索求出体系缺陷并改正,确保体系没有缺陷。在测试过程中证实体系满足客户需求,发现标题和不敷实时改正。测试完成之后得出测试结论。
体系测试的目标
体系测试是必不可少且检验耐心的过程。其告急性在于,它是包管体系质量和牢固性的末了一道关,也是整个体系开发过程的末了一次查抄。
体系测试重要是为了制止用户在使用时发生标题,加强用户体验感,为了不影响用户的使用,我们须要从多角度、多思绪去思量体系大概遇到的标题,通过差别的模仿场景来发现缺陷并办理标题。在测试的过程中也可以相识到该体系的质量环境,体系功能是否健全,体系逻辑是否顺畅。一个合格的体系测试过程完成后将大大提升体系质量和使用感。测试的目标是验证体系是否符合需求规格阐明书的界说,并找出与需求规格阐明书不符合或与之辩说的内容。测试过程中肯定站在用户的角度思量标题,制止一些不切实际的场景,浪费测试时间,从而大概会引起标题导致预期效果与实际效果不符。
体系功能测试
对体系功能模块举行测试,通过点击、输入边界值和必填项非必填项的验证等方法举行一系列的黑盒测试。通过编写测试用例,根据测试用例中的内容举行测试,末了得出测试结论。
登录功能测试方案:当须要登入该体系时,通过账户暗码等功能点举行验证,用户在输入时须要输入与数据库内存储的数据匹配的内容,当此中某项输入错误时体系将提示输入错误。此界面对脚色权限也有相应的校验,当用户脚色的帐号选择管理员脚色登录时,也会报错。登录功能测试用比方下表所示。
输入数据
| 预期效果
| 实际效果
| 效果分析
| 用户名:guanliyuan 暗码:123456 验证码:准确输入
| 登入体系
| 乐成登入体系
| 和估算效果一样
| 用户名:guanliyuan 暗码:111111 验证码:准确输入
| 暗码错误
| 暗码错误,请重新输入暗码
| 和估算效果一样
| 用户名:guanliyuan 暗码:123456 验证码:错误输入
| 验证码错误
| 验证码信息错误
| 和估算效果一样
| 用户名:空 暗码:123456 验证码:准确输入
| 用户名必填
| 请输入用户名
| 和估算效果一样
| 用户名:guanliyuan 暗码:空 验证码:准确输入
| 暗码错误
| 暗码错误,请重新输入暗码
| 和估算效果一样
|
用户管理功能测试方案:用户管理重要有添加、编辑、删除、查找用户功能。添加用户时,必填项不填,查验体系是否有非空查验;添加已有的用户信息,查验是否提示用户名已被使用;删除用户信息,体系将查验是否举行此利用;更改用户信息,更改用户信息后页面是否可以展示出来。用户管理测试用比方下表所示。
输入数据
| 预期效果
| 实际效果
| 效果分析
| 填入用户根本信息
| 添加乐成,在用户列表中表现
| 该用户出如今在列表中
| 和估算效果一样
| 修改用户信息
| 编辑乐成,修改信息乐成被修改
| 用户信息被修改
| 和估算效果一样
| 选中删除用户
| 体系扣问是否删除用户,确认后用户被删除
| 体系扣问是否删除用户,确认后查找不到用户信息
| 和估算效果一样
| 添加用户时不填用户名
| 提示用户名不能为空
| 提示用户名不能为空
| 和估算效果一样
| 填入已有效户名
| 添加失败,提示用户名重复
| 添加失败,提示用户名重复
| 和估算效果一样
|
数据库表计划
列名
| 数据范例
| 长度
| 束缚
| id
| int
| 11
| PRIMARY KEY
| addtime
| 行2内容
| 行2内容
| DEFAULT NULL
| jieyuedanhao
| varchar
| 64
| DEFAULT NULL
| tushubianhao
| varchar
| 64
| DEFAULT NULL
| tushumingcheng
| varchar
| 12
| DEFAULT NULL
| fakuanshuoming
| varchar
| 64
| DEFAULT NULL
| fakuanjine
| varchar
| 64
| DEFAULT NULL
| fakuanriqi
| varchar
| 64
| DEFAULT NULL
| yonghuming
| varchar
| 64
| DEFAULT NULL
| shouji
| varchar
| 64
| DEFAULT NULL
|
代码参考
- /**
- * 通用接口
- */
- @RestController
- public class CommonController{
- @Autowired
- private CommonService commonService;
-
- @Autowired
- private ConfigService configService;
-
- private static AipFace client = null;
-
- private static String BAIDU_DITU_AK = null;
-
- @RequestMapping("/location")
- public R location(String lng,String lat) {
- if(BAIDU_DITU_AK==null) {
- BAIDU_DITU_AK = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "baidu_ditu_ak")).getValue();
- if(BAIDU_DITU_AK==null) {
- return R.error("请在配置管理中正确配置baidu_ditu_ak");
- }
- }
- Map<String, String> map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat);
- return R.ok().put("data", map);
- }
-
- /**
- * 人脸比对
- *
- * @param face1 人脸1
- * @param face2 人脸2
- * @return
- */
- @RequestMapping("/matchFace")
- public R matchFace(String face1, String face2) {
- if(client==null) {
- /*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/
- 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()));
- }
复制代码 数据库脚本
- CREATE TABLE `yonghu` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `yonghuming` varchar(200) NOT NULL COMMENT '用户名',
- `mima` varchar(200) NOT NULL COMMENT '密码',
- `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
- `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
- `touxiang` varchar(200) DEFAULT NULL COMMENT '头像',
- `shouji` varchar(200) DEFAULT NULL COMMENT '手机',
- `shenfenzheng` varchar(200) DEFAULT NULL COMMENT '身份证',
- PRIMARY KEY (`id`),
- UNIQUE KEY `yonghuming` (`yonghuming`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1616222324596 DEFAULT CHARSET=utf8mb3 COMMENT='用户';
- CREATE TABLE `messages` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `userid` bigint NOT NULL COMMENT '留言人id',
- `username` varchar(200) DEFAULT NULL COMMENT '用户名',
- `content` longtext NOT NULL COMMENT '留言内容',
- `reply` longtext COMMENT '回复内容',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1616222424131 DEFAULT CHARSET=utf8mb3 COMMENT='留言板';
- CREATE TABLE `token` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `userid` bigint NOT NULL COMMENT '用户id',
- `username` varchar(100) NOT NULL COMMENT '用户名',
- `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
- `role` varchar(100) DEFAULT NULL COMMENT '角色',
- `token` varchar(200) NOT NULL COMMENT '密码',
- `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
- `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COMMENT='token表';
复制代码 获取源码
我们有上万多套源码,欢迎咨询。
可定制、修改、摆设、解说、代写文档、PPT。
获取源码查察底部卡片大概顶部名字
|