点击空白处退出提示
作品详情
项目介绍:
1、项目背景
现代农业种植是通过控制全国各地的基地状况,实现全球自动化管理,;农产品的信息管理则是通过采用物联网技术实现现代农业种植和农产品信息管理,并通过全球定位系统统计农作物所在基地概况进行信息通信,用以实现智能识别、监控、跟踪和管理的一套系统。
2、基本业务概述
3、开发模式
本项目采用前后端分离的开发模式,前端用到了基于Vue的Element-Admin UI框架,后端采用了.Net Core后台开发框架和EF Core+异步泛型仓储的开发模式
4、技术选型
前端项目技术: Vue-Element-Admin、Vue-Router、Axios、Echarts
后端项目技术: .Net Core 、EF Core 、Jwt权限验证、仓储模式、Autofac
项目技术亮点分析:
本项目采用前后端分离模式,分为多层降低了耦合度,提高了代码的可维护性,后台基于.Net Core设计Api接口框架,使用用Ef Core中CodeFirst模式实现与数据库的交互,并使用异步泛型仓储提高对数据库访问的维护,在完成接口编写后加入了JWT权限验证,对于JWT来说是一种标准化的数据传输规范,可以实现跨平台,并通过CorsFilter设置全局跨域配置实现浏览器请求访问,更加安全的调用接口,并使用Autofac作为依赖注入容器,降低系统耦合性,也加入了Nlog日志记录用户操作
(三)开发中遇到的技术难点及解决办法
1 、进行依赖注入时,手动注入过于繁琐,加入了Autofac动态注入
2、在进行跨域请求时,配置了全局跨域
3、进行Swagger调试时,请求数据首字母会自动变为小写更改之后加入了全局配置Json序列化处理
4、Vue 封装的Axios请求数据时,Post请求和Put请求参数传值错误利用data传值获取参数
5、后台获取前台数据时,用Request.Query获取参数值,并用FromFrom在Action方法传入参数之后添加frombody属性,参数将以表单形式提交
6、关于‘415‘错误前台请求接口时,请求的ContentType需为:application/json
难点一: 根据调整账户营销费用产生的数据进行treeTable显示
解决办法:调整费用产生Id跟父Id对比进行构造树形结构list,之后递归循环子节点
难点二:文件的上传重名
解决办法:使用uuid的方式解决重名问题:String name = fileItem.getName();//获取上传文件的名称 name=UUID.randomUUID().toString();
难点三:页面刷新后恢复checkbox选中状态
解决办法:用checkbox对应的Id值作为value遍历选中的checkbox,存入value值,最后取出value值反选checkbox
(四)围绕项目亮点“提炼面试问题”(技术点)
问题一:如果在一个B/S结构的系统中需要传递变量值请列举几种实现方式进行实现。
答案:URL提交方式、表单提交方式,以及状态保持方式(Cookie 、Session、Application)
问题二:前端js实现大文件G级的分块上传与分段下载
答案: 分块上传,用up6已经将文件进行了分块,并且对每个分块数据进行了标识,这些标识包括文件块的索引,大小,偏移,文件MD5,文件块MD5(需要开启)等信息,服务端在接收这些信息进行处理,比如将块数据保存到分布式存储系统中
分段下载 利用了多线程,在同一时间段内通过多个线程发起下载请求,将需要下载的数据分割成多个部分,每一个线程只负责下载其中一个部分,然后将下载后的数据组装成完整的数据文件
问题三:怎样能提高EF的效率?
答案:合理使用EF的加载方式,禁用延迟加载,减少数据库的访问次数,使用贪懒加载,显示加载、按需加载,使用批量删除和修改
问题四:Token的作用集原理?
答案: Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。那么,Token有什么作用?又是什么原理呢?Token一般用在两个地方: 1)防止表单重复提交、2)anti csrf攻击(跨站点请求伪造)。两者在原理上都是通过session token来实现的。当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发给客户端(一般通过构造hidden表单)。下次客户端提交请求时,Token会随着表单一起提交到服务器端。
原理:用户在前端请求登录—>在后台验证通过后根基后台用户信息和过期时间生成token-->请求返回时将token带给前端并保存在前端—>以后前端请求时需要带上token-->后台接受token并验证,如果一致返回true否则false。
问题五:什么是WebService?UDDI?
答案:Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵
守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为
Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将
自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
![](https://filescdn.proginn.com/works/671478aec57d7d829407b4194f38ffb129f41a0a.png?x-oss-process=image/resize,w_800)
![](https://filescdn.proginn.com/works/32e91c0ca97533ba8f4cc78a298d27b899f6c4ac.png?x-oss-process=image/resize,w_800)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
评论