项目运行截图
技术框架
后端采用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技术的采用,由于该技术不断成熟,所以使用该技术设计阿博图书馆管理体系是具有可行性的。经济可行性:在开辟过程中,体系完成后的利益是否大过于开辟资源。操纵可行性:阿博图书馆管理体系的开辟设计中,方便用户的可操纵性和实用性。
数据库表设计
列名
| 数据类型
| 长度
| 束缚
| 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。
获取源码查看底部卡片大概顶部名字
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |