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

厦门网站制作费用跨境电商交3980元培训费可信吗

厦门网站制作费用,跨境电商交3980元培训费可信吗,诗敏家具网站是谁做的,推进门户网站建设 用好用活#x1f34a;作者#xff1a;计算机编程-吉哥 #x1f34a;简介#xff1a;专业从事JavaWeb程序开发#xff0c;微信小程序开发#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事#xff0c;生活就是快乐的。 #x1f34a;心愿#xff1a;点… 作者计算机编程-吉哥 简介专业从事JavaWeb程序开发微信小程序开发定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事生活就是快乐的。 心愿点赞 收藏 ⭐评论 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能 3.1【角色】 3.2【前端功能模块】 3.3【后端功能模块】 4.项目演示截图 4.1 登录 4.2 用户管理 4.3 人员信息管理 4.4 垃圾投放点管理 4.5 垃圾运输车辆管理 4.6 首页 4.7 垃圾资讯 4.8 垃圾投放点 4.9 个人中心 5.核心代码 5.1拦截器 5.2分页工具类 5.3文件上传下载 5.4前端请求 6.LW文档大纲参考 背景意义介绍 乡村生活垃圾管理系统的开发和实施对于改善农村环境卫生状况、提升居民生活质量、促进乡村振兴战略的实施具有重要意义。随着我国经济的快速发展和人民生活水平的不断提高农村地区生活垃圾的产生量逐年增加传统的垃圾处理方式已无法满足当前环境保护的需求。因此构建一个高效、智能的乡村生活垃圾管理系统显得尤为迫切。 该系统通过Java、SpringBoot和Vue.js技术实现能够为管理员和用户提供一个全面、便捷的管理平台。管理员可以通过系统进行用户管理、垃圾投放点管理、垃圾运输车辆管理、系统管理等实现对乡村生活垃圾处理的全流程监管。用户则可以通过前端功能模块进行注册、登录、查看垃圾资讯、参与论坛讨论等提高对垃圾分类和处理的认识和参与度。 系统通过数字化手段优化了垃圾收集、分类、运输和处理的流程提高了垃圾处理效率降低了运营成本。同时通过数据分析和用户反馈管理者可以及时调整管理策略提升服务质量。此外系统还能够促进居民环保意识的提高通过教育和引导使垃圾分类成为乡村居民的自觉行为。 乡村生活垃圾管理系统的建设和应用不仅有助于改善农村人居环境提升居民生活质量还能够推动乡村经济的可持续发展为实现乡村振兴战略目标提供有力支撑。通过这一系统的实施可以有效地推动乡村生活垃圾的减量化、资源化和无害化处理为建设美丽乡村、实现绿色发展贡献力量。 1.技术选型 springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8 2.开发工具 idea、navicat 3.功能 3.1【角色】 管理员、用户 3.2【前端功能模块】 登录注册首页垃圾投放点垃圾资讯个人中心个人信息、修改密码 3.3【后端功能模块】 登录首页用户管理人员信息管理垃圾投放点管理投放点分类、垃圾投放点垃圾运输车辆管理系统管理轮播图、垃圾资讯 4.项目演示截图 4.1 登录 4.2 用户管理 4.3 人员信息管理 4.4 垃圾投放点管理 4.5 垃圾运输车辆管理 4.6 首页 4.7 垃圾资讯 4.8 垃圾投放点 4.9 个人中心 5.核心代码 5.1拦截器 package com.interceptor;import com.alibaba.fastjson.JSONObject; import com.annotation.IgnoreAuth; import com.entity.TokenEntity; import com.service.TokenService; import com.utils.R; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter;/*** 权限(Token)验证*/ Component public class AuthorizationInterceptor implements HandlerInterceptor {public static final String LOGIN_TOKEN_KEY Token;Autowiredprivate TokenService tokenService;Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//支持跨域请求response.setHeader(Access-Control-Allow-Methods, POST, GET, OPTIONS, DELETE);response.setHeader(Access-Control-Max-Age, 3600);response.setHeader(Access-Control-Allow-Credentials, true);response.setHeader(Access-Control-Allow-Headers, x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization);response.setHeader(Access-Control-Allow-Origin, request.getHeader(Origin));// 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态if (request.getMethod().equals(RequestMethod.OPTIONS.name())) {response.setStatus(HttpStatus.OK.value());return false;}IgnoreAuth annotation;if (handler instanceof HandlerMethod) {annotation ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);} else {return true;}//从header中获取tokenString token request.getHeader(LOGIN_TOKEN_KEY);/*** 不需要验证权限的方法直接放过*/if(annotation!null) {return true;}TokenEntity tokenEntity null;if(StringUtils.isNotBlank(token)) {tokenEntity tokenService.getTokenEntity(token);}if(tokenEntity ! null) {request.getSession().setAttribute(userId, tokenEntity.getUserid());request.getSession().setAttribute(role, tokenEntity.getRole());request.getSession().setAttribute(tableName, tokenEntity.getTablename());request.getSession().setAttribute(username, tokenEntity.getUsername());return true;}PrintWriter writer null;response.setCharacterEncoding(UTF-8);response.setContentType(application/json; charsetutf-8);try {writer response.getWriter();writer.print(JSONObject.toJSONString(R.error(401, 请先登录)));} finally {if(writer ! null){writer.close();}}return false;} } 5.2分页工具类 package com.utils;import java.io.Serializable; import java.util.List; import java.util.Map;import com.baomidou.mybatisplus.plugins.Page;/*** 分页工具类*/ public class PageUtils implements Serializable {private static final long serialVersionUID 1L;//总记录数private long total;//每页记录数private int pageSize;//总页数private long totalPage;//当前页数private int currPage;//列表数据private List? list;/*** 分页* param list 列表数据* param totalCount 总记录数* param pageSize 每页记录数* param currPage 当前页数*/public PageUtils(List? list, int totalCount, int pageSize, int currPage) {this.list list;this.total totalCount;this.pageSize pageSize;this.currPage currPage;this.totalPage (int)Math.ceil((double)totalCount/pageSize);}/*** 分页*/public PageUtils(Page? page) {this.list page.getRecords();this.total page.getTotal();this.pageSize page.getSize();this.currPage page.getCurrent();this.totalPage page.getPages();}/** 空数据的分页*/public PageUtils(MapString, Object params) {Page page new Query(params).getPage();new PageUtils(page);}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize pageSize;}public int getCurrPage() {return currPage;}public void setCurrPage(int currPage) {this.currPage currPage;}public List? getList() {return list;}public void setList(List? list) {this.list list;}public long getTotalPage() {return totalPage;}public void setTotalPage(long totalPage) {this.totalPage totalPage;}public long getTotal() {return total;}public void setTotal(long total) {this.total total;}} 5.3文件上传下载 package com.controller;import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID;import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.ConfigEntity; import com.entity.EIException; import com.service.ConfigService; import com.utils.R;/*** 上传文件映射表*/ RestController RequestMapping(file) SuppressWarnings({unchecked,rawtypes}) public class FileController{Autowiredprivate ConfigService configService;/*** 上传文件*/RequestMapping(/upload)IgnoreAuthpublic R upload(RequestParam(file) MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException(上传文件不能为空);}String fileExt file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(.)1);File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);if(!upload.exists()) {upload.mkdirs();}String fileName new Date().getTime().fileExt;File dest new File(upload.getAbsolutePath()/fileName);file.transferTo(dest);if(StringUtils.isNotBlank(type) type.equals(1)) {ConfigEntity configEntity configService.selectOne(new EntityWrapperConfigEntity().eq(name, faceFile));if(configEntitynull) {configEntity new ConfigEntity();configEntity.setName(faceFile);configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put(file, fileName);}/*** 下载文件*/IgnoreAuthRequestMapping(/download)public ResponseEntitybyte[] download(RequestParam String fileName) {try {File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);if(!upload.exists()) {upload.mkdirs();}File file new File(upload.getAbsolutePath()/fileName);if(file.exists()){HttpHeaders headers new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData(attachment, fileName); return new ResponseEntitybyte[](FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntitybyte[](HttpStatus.INTERNAL_SERVER_ERROR);}} 5.4前端请求 import axios from axios import router from /router/router-static import storage from /utils/storageconst http axios.create({timeout: 1000 * 86400,withCredentials: true,baseURL: /furniture,headers: {Content-Type: application/json; charsetutf-8} }) // 请求拦截 http.interceptors.request.use(config {config.headers[Token] storage.get(Token) // 请求头带上tokenreturn config }, error {return Promise.reject(error) }) // 响应拦截 http.interceptors.response.use(response {if (response.data response.data.code 401) { // 401, token失效router.push({ name: login })}return response }, error {return Promise.reject(error) }) export default http 6.LW文档大纲参考 具体LW如何写法可以咨询博主耐心分享 你可能还有感兴趣的项目 更多项目推荐:计算机毕业设计项目 如果大家有任何疑虑请在下方咨询或评论
http://www.hkea.cn/news/14512807/

相关文章:

  • 网站建设中图片联系方式给公司做网站数据分析
  • 上线倒计时单页网站模板做视频直播网站需要多少资金
  • 网站开发需要什么专业知识网站定制解决方案
  • 华夏网站建设建个网站的流程
  • 网站建设优化服务资讯商务网站建设课程设计
  • 宁波外贸网站建设有哪些直播视频下载
  • 做网站赠送企业网站开发培训
  • 分类信息网站推广的意义wordpress建站公司
  • 做亚马逊运营要看哪些网站百度seo招聘
  • 有什么网站帮做邀请函设计的17做网店这个网站做起多少钱
  • 网站代备案wordpress 改中文
  • 网站搜索优化找哪家昌吉建设局网站
  • 东南亚购物网站排名seo优化关键词是什么意思
  • 现在收废品做哪个网站好机械外贸网站建设
  • 连国外网站慢百度有免费推广广告
  • 网站如何搬家wordpress会员卡系统
  • 建设网站后怎么发布上海建筑设计研究院
  • 做电商网站运营做软件赚钱还是做网站赚钱
  • 杭州老牌的网站建设特色网站建设
  • 购物网站开发可行性分析怎么写网站要求
  • 优秀中文企业网站欣赏北京东直门网站建设
  • 移动端网站的优点wordpress 登陆插件
  • 徐州专业做网站怎么建立一个网站的快捷方式
  • 网站总体设计苏州建材装修网站建设
  • 做ppt网站有哪些内容吗关键词优化哪家强
  • 找人开发一个网站多少钱争对银行排队做一网站
  • wordpress去掉仪表盘网站优化页面
  • 网站制作的总结与体会开发商城网站
  • 北京一个公司做网站认证汕头市网站建设
  • 企业网站建设规划网页制作的专业