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

用旧手机做网站网站建设柒首先金手指2

用旧手机做网站,网站建设柒首先金手指2,福建企业seo推广,中国企业网中国商报社写在最前 如果这个项目让你有所收获#xff0c;记得 Star 关注哦#xff0c;这对我是非常不错的鼓励与支持。 源码地址#xff08;后端#xff09;#xff1a;https://gitee.com/csps/mingyue 源码地址#xff08;前端#xff09;#xff1a;https://gitee.com/csps…写在最前 如果这个项目让你有所收获记得 Star 关注哦这对我是非常不错的鼓励与支持。 源码地址后端https://gitee.com/csps/mingyue 源码地址前端https://gitee.com/csps/mingyue-ui 文档地址https://gitee.com/csps/mingyue/wikis 前情回顾 之前我们设计了权限模型并提交了数据库脚本然后通过 mingyue-common-gen 模块 MingYueCommonGenDemo 生成了基础代码接下来我们需要提供两个关键接口 获取用户权限信息获取用户路由信息 TIPS 为了严格按照 RESTful 接口风格设计变更现有接口命名 getSysUserInfoByUsername userInfo、getSysUsers list后续接口也将严格按照 RESTful 接口风格设计。 登录缓存用户信息 Session 会话 Session 是会话中专业的数据缓存组件通过 Session 我们可以很方便的缓存一些高频读写数据提高程序性能例如 // 在登录时缓存 user 对象 StpUtil.getSession().set(user, user);// 然后我们就可以在任意处使用这个 user 对象 SysUser user (SysUser) StpUtil.getSession().get(user);在 Sa-Token 中Session 分为三种分别是 Account-Session: 指的是框架为每个账号 id 分配的 SessionToken-Session: 指的是框架为每个 token 分配的 SessionCustom-Session: 指的是以一个特定的值作为 SessionId来分配的 Session Token-Session 缓存用户信息 public static void login(SysUser userInfo) {// 请求作用域存储的数据只在一次请求内有效请求结束后数据自动清除。SaStorage storage SaHolder.getStorage();storage.set(LOGIN_USER_KEY, userInfo);storage.set(USER_KEY, userInfo.getUserId());// 第1步先登录上StpUtil.login(userInfo.getUserId());// 第3步缓存用户信息StpUtil.getTokenSession().set(LOGIN_USER_KEY, userInfo); }获取用户信息 public static SysUser getLoginUser() {SysUser loginUser (SysUser) SaHolder.getStorage().get(LOGIN_USER_KEY);if (loginUser ! null) {return loginUser;}loginUser (SysUser) StpUtil.getTokenSession().get(LOGIN_USER_KEY);SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser);return loginUser; }接口测试 GetMapping(info) Operation(summary 获取当前用户全部信息) public RSysUser userInfo() {SysUser sysUser LoginHelper.getLoginUser();System.out.println();System.out.println(JSONUtil.toJsonStr(sysUser));System.out.println();return R.ok(null); }接口调用打印如下 {userId:1,username:mingyue,nickname:明月,sex:0,password:123456,phone:13288888888,status:0,isDeleted:0,createTime:1689757582000,updateTime:1689757585000,createBy:mingyue,updateBy:mingyue}获取用户权限信息 接口层 GetMapping(info) Operation(summary 获取当前登录用户全部信息) public RUserInfoVo userInfo() {return R.ok(sysUserService.getUserInfo()); }业务层 Override public UserInfoVo getUserInfo() {UserInfoVo result new UserInfoVo();SysUser sysUser LoginHelper.getLoginUser();// 密码置空sysUser.setPassword(null);result.setSysUser(sysUser);// 设置角色列表SetString rolePermission sysRoleService.getRolePermission(sysUser.getUserId());result.setRoles(rolePermission);// 设置权限列表SetString menuPermission sysMenuService.getMenuPermission(sysUser.getUserId());result.setRoles(menuPermission);return result; }测试接口 Authorization Token 通过登录接口获取 curl -X GET \ http://mingyue-gateway:9100/system/sysUser/info \ -H accept: */* \ -H Authorization: vXPJnADIcTPfKuP3reBYmmUAi4xjw8nf接口返回 {code: 200,msg: 操作成功,data: {sysUser: {userId: 1,username: mingyue,nickname: 明月,sex: 0,password: null,phone: 13288888888,email: null,avatar: null,status: 0,isDeleted: 0,createTime: 2023-07-19T17:06:22,updateTime: 2023-07-19T17:06:25,createBy: mingyue,updateBy: mingyue},permissions: null,roles: [null,system:user:list]} }获取用户路由信息 接口层 GetMapping(getRouters) Operation(summary 获取路由信息) public RListRouterVo getRouters() {Long userId LoginHelper.getLoginUser().getUserId();return R.ok(sysMenuService.getRouters(userId)); }业务层 Override public ListRouterVo getRouters(Long userId) {ListSysMenu sysMenus sysMenuMapper.selectMenuTreeByUserId(userId);return this.recursionMenu(sysMenus, -1L); }/*** 递归菜单构建菜单树*/ private ListRouterVo recursionMenu(ListSysMenu sysMenus, Long pid) {ListRouterVo tree CollUtil.newArrayList();for (SysMenu menu : sysMenus) {if (menu.getParentId().equals(pid)) {RouterVo router new RouterVo();router.setPath(/ menu.getPath());router.setName(menu.getPath());router.setComponent(menu.getComponent());router.setRedirect(menu.getRedirect());MetaVo metaVo new MetaVo();metaVo.setTitle(menu.getMenuName());metaVo.setIsLink(menu.getIsLink());metaVo.setIsHide(UserConstants.IS_HIDE.equals(menu.getIsHide()));metaVo.setIsKeepAlive(UserConstants.IS_KEEP_ALIVE.equals(menu.getIsKeepAlive()));metaVo.setIsAffix(UserConstants.IS_AFFIX.equals(menu.getIsAffix()));metaVo.setIsIframe(UserConstants.IS_IFRAME.equals(menu.getIsIframe()));metaVo.setIcon(menu.getIcon());router.setMeta(metaVo);router.setChildren(recursionMenu(sysMenus, menu.getMenuId()));tree.add(router);}}return tree; }测试接口 curl -X GET \ http://mingyue-gateway:9100/system/sysMenu/getRouters \ -H accept: */* -H Authorization: vXPJnADIcTPfKuP3reBYmmUAi4xjw8nf接口返回 {code: 200,msg: 操作成功,data: [{path: /system,name: system,component: null,redirect: null,meta: {title: 系统管理,isLink: 0,isHide: false,isKeepAlive: false,isAffix: false,isIframe: false,icon: iconfont icon-xitongshezhi},children: [{path: /user,name: user,component: /system/user,redirect: null,meta: {title: 用户管理,isLink: 0,isHide: false,isKeepAlive: false,isAffix: false,isIframe: false,icon: iconfont icon-icon-},children: []},...]}] }小结 现在用户已经拿到权限点了接下来整合一下权限点与 Sa-Token 的使用看看 Sa-Token 如何通过权限点控制接口访问。
http://www.zqtcl.cn/news/529516/

相关文章:

  • 专业网站设计公司有哪些绿色营销案例100例
  • 网站建设买了域名山东省作风建设网站
  • 留学中介网站建设方案设计企业品牌商标
  • 会展相关网站建设情况seo的基本步骤是什么
  • 太原网站建设鸣蝉公司免费网页制作网站建设
  • 中山专业网站建设网站开发基础知识简述
  • 包头索易网站建设中国建设银行网站余额查询
  • 哪家公司做网站开发做得比较好佛山商城网站制作
  • 可以做淘宝推广的网站优化网页设计是什么
  • 邢台手机网站制作优秀网站建设哪家好
  • 网站托管运营所需资料长春专用网站建设
  • 北京网站建设招聘江苏住房和城乡建设局网站
  • 如何让订阅号菜单做微网站哪家网站做的好
  • 北京建站方案北京seo主管
  • 网站平台建设费用的会计核算凡科教育小程序怎么样
  • 网站配置文件在哪里sns网站需求
  • 网站运营优化建议英国网站域名
  • 网站开发洲际企业网站模板论坛
  • 如何建外贸网站软件工程专业是干什么的
  • 衣联网和一起做网站 哪家强网站seo方案建设目标
  • 深圳企业股权优化网站程序代码优化
  • 中国石油大学网页设计与网站建设软件界面设计要求
  • 看网站有没有做404报名网站建设
  • 有哪些是做二手的网站关于网站制作的指标
  • 网站数据库是谁提供空间坐标系做图网站
  • 网站开发的外文文献佛山做网站格
  • 石家庄网站seo服务免费10大看盘软件
  • 自己做网站卖什么给个网站好人有好报2020免费
  • 网站源码安装步骤网站开发用c 语言
  • 网站首页是什么产品网络推广方案