赣州住房和建设局网站,徐州百姓网发布信息,工业做网站,wordpress笔记本主题文章目录 前言运行环境说明用户微信小程序端的主要功能有#xff1a;管理员的主要功能有#xff1a;具体实现截图详细视频演示为什么选择我自己的网站自己的小程序#xff08;小蔡coding#xff09;有保障的售后福利 代码参考论文参考源码获取 前言 #x1f497;博主介绍管理员的主要功能有具体实现截图详细视频演示为什么选择我自己的网站自己的小程序小蔡coding有保障的售后福利 代码参考论文参考源码获取 前言 博主介绍✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌ 精彩专栏 推荐订阅 2023-2024年最值得选的微信小程序毕业设计选题大全100个热门选题推荐✅ 2023-2024年最值得选的Java毕业设计选题大全500个热门选题推荐✅ Java精品实战案例《500套》 微信小程序项目精品案例《500套》 文末获取源码数据库 感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助更多的人 运行环境说明 jdk版本1.8 及以上 ide工具IDEA 微信小程序开发工具 数据库: mysql5.7 必须5.7 编程语言: Java tomcat: 8.0 及以上 java框架SSM maven: 3.6.1 前端layui 微信vue 详细技术HTMLCSSJSvueJAVASSMMYSQLJQUERYMAVEN微信开发工具 用户微信小程序端的主要功能有 1.用户小程序中注册和登陆系统 2.用户查看影院的会员手册信息 3.用户查看电影推荐信息 4.用户查看影院信息在线搜索影院对影院收藏和评价留言 5.用户查看电影分类搜索电影查看电影详情对电影在线评价 6.用户收藏电影在线预定电影座位下订单支付 7.用户个人中心修改个人资料修改密码修改头像 8.用户个人中心用户在线充值 9.用户个人中心查看我的电影预定订单记录 10.用户可以在线联系客服和客服在线交流 11.退出登陆 管理员的主要功能有 1.管理员输入账户登陆后台 2.个人中心管理员修改密码和账户信息 3.会员管理对注册的会员信息进行删除查询添加修改 4.电影分类管理对电影的分类信息进行添加修改删除查询 5.影院信息管理对电影影院信息进行添加修改删除查询 6.电影信息管理对电影院播放的电影信息进行添加修改删除查询 7.客服信息管理对用户发送来的客服信息进行查询回复 10.会员手册管理对会员手册信息进行添加修改查询删除 11.轮播图管理对小程序轮播图进行添加修改查询删除 12.订单管理对用户的订单信息进行查询 具体实现截图 详细视频演示
请联系我获取更详细的演示视频
为什么选择我
自己的网站 网站上传的项目均为博主自己收集和开发的质量都可以得到保障适合自己懂一点程序开发的同学使用
自己的小程序小蔡coding 为了方便同学们使用我开发了小程序版的名字叫小蔡coding。同学们可以通过小程序快速搜索和定位到自己想要的程序
有保障的售后 福利
每推荐一位同学推荐费一位100
代码参考
IgnoreAuth
PostMapping(value /login)
public R login(String username, String password, String captcha, HttpServletRequest request) {UsersEntity user userService.selectOne(new EntityWrapperUsersEntity().eq(username, username));if(usernull || !user.getPassword().equals(password)) {return R.error(账号或密码不正确);}String token tokenService.generateToken(user.getId(),username, users, user.getRole());return R.ok().put(token, token);
}Overridepublic String generateToken(Long userid,String username, String tableName, String role) {TokenEntity tokenEntity this.selectOne(new EntityWrapperTokenEntity().eq(userid, userid).eq(role, role));String token CommonUtil.getRandomString(32);Calendar cal Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.HOUR_OF_DAY, 1);if(tokenEntity!null) {tokenEntity.setToken(token);tokenEntity.setExpiratedtime(cal.getTime());this.updateById(tokenEntity);} else {this.insert(new TokenEntity(userid,username, tableName, role, token, cal.getTime()));}return token;}/*** 权限(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();}}
// throw new EIException(请先登录, 401);return false;}
}
论文参考 源码获取
文章下方名片联系我即可~ 大家点赞、收藏、关注、评论啦 、查看获取联系方式 精彩专栏推荐订阅在下方专栏 Java精品实战案例《500套》 微信小程序项目精品案例《500套》