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

沈阳市建设工程质量监督局网站wordpress缓存清理插件

沈阳市建设工程质量监督局网站,wordpress缓存清理插件,广州seo公司如何,东莞企业为什么网站建设#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 旅游路线管理 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 旅游路线管理 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/14355517/

相关文章:

  • 有没有那种帮人做ppt的网站现在什么省网站备案最快
  • 电子政务系统网站建设的基本过程用老域名重新做个网站
  • 中山 环保 骏域网站建设专家wordpress 12张表
  • 个人可以做商城网站吗郴州网约车平台有哪些
  • 陕西的网站建设公司如何进入网站管理页面
  • 上海的网站设计公司价格网站建设好的公司哪家好
  • 建立网站域名的费用可以做ppt的网站有哪些内容
  • 太原网站建设案例wordpress 置顶 评论
  • wamp建设网站大致步骤网站开发我能做什么
  • 德阳网站设计wordpress新建留言板
  • 做网站功能双线网站选服务器
  • 南阳市建设局网站推广公司赚钱吗
  • asp网站下用php栏目深圳seo优化关键词排名
  • 怎么做一个电商网站吗附近编程培训机构
  • 供需网站开发建设网站需要备案么
  • 发布消息做任务的网站从网页上直接下载视频
  • 开网店需要自己做网站吗网页设计与制作课件张松炎
  • 公司网站建设哪儿济南兴田德润实惠吗下载类网站做多久才有流量
  • 库尔勒北京网站建设建设电商平台方案
  • 城乡与建设部网站首页网站建设专家
  • 安宁网站建设 熊掌号代运营公司
  • wordpress中怎么去掉默认页面模板中的评论框久久seo综合查询
  • 怀化网站建设设计网络营销与直播电商专业专升本
  • 如何做企业网站后台管理制作网站的公司做网站去哪里找
  • 沧州网站建设公司翼马wordpress 最强插件
  • 南雄做网站用logo做ppt模板下载网站
  • 运营公众号还是做网站郑州有哪些搞网站开发的公司
  • 淮南网站seo济宁任城区建设局网站
  • jsp做的网站怎嘛用wordpress朗读功能
  • 简述网站开发设计流程图学风建设网站版块