From d669f04f5513cbfaaecada7ac6e17995b48c45c1 Mon Sep 17 00:00:00 2001 From: wuyibo <771227828@qq.com> Date: Sat, 29 Jun 2024 09:51:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=BE=AE=E4=BF=A1=E6=89=AB?= =?UTF-8?q?=E7=A0=81=E7=99=BB=E5=BD=95PC=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/domain/LoginMethodEnum.java | 39 ++++ .../system/api/domain/vo/WxAppletsCodeVo.java | 4 + .../com/ruoyi/system/api/model/LoginUser.java | 11 + .../auth/controller/TokenController.java | 16 ++ .../auth/controller/WxLoginController.java | 15 +- .../ruoyi/auth/service/SysLoginService.java | 32 +++ .../ruoyi/auth/service/WxLoginService.java | 14 ++ .../common/core/constant/CacheConstants.java | 10 + .../controller/CompetitionController.java | 32 ++- .../CompetitionMembersController.java | 10 +- .../CompetitionMembersScoreController.java | 12 +- .../CompetitionOfTeamController.java | 16 +- .../CompetitionResultController.java | 16 +- .../CompetitionTeamGroupController.java | 10 +- .../CompetitionTeamVsTeamController.java | 10 +- .../controller/CompetitionVsController.java | 10 +- .../system/controller/SysUserController.java | 43 +++- .../controller/WxApplesCodeController.java | 12 ++ .../controller/WxBuildingInfoController.java | 2 +- .../system/controller/WxLoginController.java | 11 + .../domain/CompetitionSharePermissions.java | 2 + .../ruoyi/system/service/ISysUserService.java | 4 + .../ruoyi/system/service/IWxUserService.java | 2 + .../system/service/WxApplesCodeService.java | 2 + .../impl/SysPermissionServiceImpl.java | 3 +- .../service/impl/SysUserServiceImpl.java | 32 +++ .../service/impl/WxApplesCodeServiceImpl.java | 87 +++++++- .../service/impl/WxLoginServiceImpl.java | 45 ++++ .../service/impl/WxUserServiceImpl.java | 5 + .../CompetitionSharePermissionsMapper.xml | 8 +- .../resources/mapper/system/WxUserMapper.xml | 2 +- ruoyi-ui/src/api/login.js | 27 ++- ruoyi-ui/src/api/system/wxApplesCode.js | 12 +- ruoyi-ui/src/permission.js | 7 +- ruoyi-ui/src/store/modules/user.js | 53 ++++- ruoyi-ui/src/utils/auth.js | 10 + ruoyi-ui/src/views/login.vue | 198 +++++++++++++----- .../src/views/system/competition/index.vue | 4 +- .../src/views/system/competitionSet/index.vue | 24 +-- 39 files changed, 707 insertions(+), 145 deletions(-) create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/LoginMethodEnum.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/LoginMethodEnum.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/LoginMethodEnum.java new file mode 100644 index 00000000..9706d27a --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/LoginMethodEnum.java @@ -0,0 +1,39 @@ +package com.ruoyi.system.api.domain; + +import lombok.Getter; +import lombok.Setter; + +/** + * + **/ +@Getter +public enum LoginMethodEnum { + /** + * + **/ + ACCOUNT("account", "账号密码登录"), + /** + * + **/ + WX_SCAN("wxScan", "微信扫码登录"); + @Getter + @Setter + private String desc; + @Getter + @Setter + private String code; + + LoginMethodEnum(String code,String desc) { + this.code = code; + this.desc = desc; + } + + public static String getName(String code) { + for (LoginMethodEnum signEnum : LoginMethodEnum.values()) { + if (signEnum.code.equals(code)) { + return signEnum.desc; + } + } + return null; + } +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WxAppletsCodeVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WxAppletsCodeVo.java index e0695d09..c3b76535 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WxAppletsCodeVo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WxAppletsCodeVo.java @@ -27,4 +27,8 @@ public class WxAppletsCodeVo { public String codeImgUrl; @ApiModelProperty(value="返回的base64",required=false) public byte[] bytesBase64; + @ApiModelProperty(value="要打开的小程序版本。正式版为 release,体验版为trial,开发版为develop。默认是正式版",required=false) + public String envVersion; + @ApiModelProperty(value="默认是true,检查page 是否存在,为 true 时 page 必须是已经发布的小程序存在的页面(否则报错);为 false 时允许小程序未发布或者 page 不存在, 但page 有数量上限(60000个)请勿滥用",required=false) + public Boolean checkPath; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java index 352db32d..45340d9c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUser.java @@ -1,6 +1,7 @@ package com.ruoyi.system.api.model; import com.ruoyi.system.api.domain.SysUser; +import lombok.Data; import java.io.Serializable; import java.util.Set; @@ -48,6 +49,10 @@ public class LoginUser implements Serializable */ private String ipaddr; + /** + * 登录方式:account:账号密码;wxScan:微信扫码登录; + */ + public String loginMethod; /** * 权限列表 */ @@ -110,7 +115,13 @@ public class LoginUser implements Serializable { this.loginTime = loginTime; } + public String getLoginMethod() { + return loginMethod; + } + public void setLoginMethod(String loginMethod) { + this.loginMethod = loginMethod; + } public Long getExpireTime() { return expireTime; diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 3b93514e..6b2e1fe3 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -1,10 +1,17 @@ package com.ruoyi.auth.controller; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; @@ -16,6 +23,7 @@ import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.model.LoginUser; +import io.swagger.annotations.ApiOperation; /** * token 控制 @@ -39,6 +47,14 @@ public class TokenController // 获取登录token return R.ok(tokenService.createToken(userInfo)); } + @ApiOperation("PC微信扫码登录-检查登录状态") + @GetMapping("wxScanLoginCheck") + public R wxScanLoginCheck(@RequestParam("checkCode") String checkCode) + { + // 用户登录 + Map map = sysLoginService.wxScanLoginCheck(checkCode); + return R.ok(map); + } @DeleteMapping("logout") public R logout(HttpServletRequest request) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/WxLoginController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/WxLoginController.java index 9756ba52..49416dbd 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/WxLoginController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/WxLoginController.java @@ -6,14 +6,17 @@ package com.ruoyi.auth.controller; * @Description */ +import com.alibaba.fastjson.JSON; import com.ruoyi.auth.form.WxLoginBody; import com.ruoyi.auth.service.SysLoginService; import com.ruoyi.auth.service.WxLoginService; +import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.LoginUser; @@ -33,6 +36,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -50,6 +54,8 @@ public class WxLoginController { private WxLoginService wxLoginService; @Autowired private TokenService tokenService; + @Autowired + private RedisService redisService; @ApiOperation("wx用户登录") @PostMapping("/loginInFromWx") @ResponseBody @@ -57,7 +63,14 @@ public class WxLoginController { LoginUser loginUser = wxLoginService.loginInFromWx(entity); return R.ok(tokenService.createToken(loginUser)); } - + @ApiOperation("wx扫码登录") + @PostMapping("/loginInFromWxScan") + @ResponseBody + public R loginInFromWxScan(@RequestBody LoginUser entity) { + LoginUser loginUser = wxLoginService.loginInFromWxScan(entity); + Map map = tokenService.createToken(loginUser); + return R.ok(map); + } @PostMapping("/user/register") @ApiOperation(value = "wx用户注册接口") diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 7f674b60..2e1063b4 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -1,7 +1,14 @@ package com.ruoyi.auth.service; +import java.util.HashMap; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.UserConstants; @@ -9,6 +16,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.UserStatus; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.domain.SysUser; @@ -30,6 +38,8 @@ public class SysLoginService @Autowired private SysRecordLogService recordLogService; + @Autowired + private RedisService redisService; /** * 登录 @@ -126,4 +136,26 @@ public class SysLoginService } recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功"); } + + public Map wxScanLoginCheck(String checkCode) { + //直接去redis缓存中获取用户信息 + String map = redisService.getCacheObject(getCacheKey(checkCode)); +// System.out.println("扫码登录缓存信息:"+map); + if (map == null){ + return null; + } + Map jsonMap = JSON.parseObject(map, new TypeReference>() { }); + return jsonMap; + } + + /** + * 扫码登录账状态验证缓存键名 + * + * @param checkCode 临时变量 + * @return 缓存键key + */ + private String getCacheKey(String checkCode) + { + return CacheConstants.WX_SCAN_LOGIN_CHECK_KEY + checkCode; + } } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/WxLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/WxLoginService.java index ae78ef44..f93f48c3 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/WxLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/WxLoginService.java @@ -1,8 +1,12 @@ package com.ruoyi.auth.service; +import java.util.concurrent.TimeUnit; + import com.ruoyi.auth.form.WxLoginBody; +import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Autowired; @@ -17,10 +21,20 @@ import org.springframework.stereotype.Component; public class WxLoginService { @Autowired private RemoteUserService remoteUserService; + @Autowired + private RedisService redisService; + + public LoginUser loginInFromWx(LoginUser entity) { // 查询用户信息 R userResult = remoteUserService.getWxUserInfo(entity,SecurityConstants.INNER); LoginUser userInfo = userResult.getData(); return userInfo; } + public LoginUser loginInFromWxScan(LoginUser entity) { + // 查询用户信息 + R userResult = remoteUserService.getWxUserInfo(entity,SecurityConstants.INNER); + LoginUser userInfo = userResult.getData(); + return userInfo; + } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java index 6fb8cc11..e8aa5ff4 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java @@ -27,6 +27,11 @@ public class CacheConstants */ public final static long PASSWORD_LOCK_TIME = 10; + /** + * 微信扫码登录过期时间,默认5(分钟) + */ + public final static long WX_SCAN_EXPIRE_TIME = 150; + /** * 权限缓存前缀 */ @@ -52,6 +57,11 @@ public class CacheConstants */ public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; + /** + * 登录账户密码错误次数 redis key + */ + public static final String WX_SCAN_LOGIN_CHECK_KEY = "wx_scan_login_check:"; + /** * 赛会推广的二维码缓存地址key */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java index 36730376..c62b1aab 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java @@ -16,12 +16,14 @@ import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.common.swagger.apiConstants.ApiTerminal; +import com.ruoyi.system.api.domain.LoginMethodEnum; import com.ruoyi.system.api.domain.vo.WxAppletsCodeVo; import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.domain.Competition; import com.ruoyi.system.domain.CompetitionSharePermissions; import com.ruoyi.system.domain.Sms; import com.ruoyi.system.domain.UserRole; +import com.ruoyi.system.domain.WxUser; import com.ruoyi.system.domain.vo.CompetitionExcleVo; import com.ruoyi.system.domain.vo.CompetitionResponse; import com.ruoyi.system.domain.vo.CompetitionVo; @@ -93,12 +95,28 @@ public class CompetitionController extends BaseController /** * 查询比赛信息列表 */ - @RequiresPermissions("system:competition:list") +// @RequiresPermissions("system:competition:list") @GetMapping("/list") - public TableDataInfo list(Competition competition) + public TableDataInfo list(CompetitionVo competition) { + LoginUser user = SecurityUtils.getLoginUser(); + //如果是微信扫码登录进入pc系统的且是common角色,只能操作自己创建的赛事 + if(ObjectUtil.isNotNull(user.getLoginMethod()) && user.getRoles().contains("common") + &&user.getLoginMethod().equals(LoginMethodEnum.WX_SCAN.getCode())){ + WxUser wxUser = wxUserService.selectWxUserByOpenId(user.getUsername()); + //同时可以看到分享给自己的赛事 + CompetitionSharePermissions permissions = new CompetitionSharePermissions(); + permissions.setUserId(wxUser.getId()); + permissions.setIsDeleted(0); + List permissionsList = competitionSharePermissionsService.selectCompetitionSharePermissionsList(permissions); + if(ObjectUtil.isNotNull(permissionsList)&&permissionsList.size()>0){ + List competitionIds = permissionsList.stream().map(CompetitionSharePermissions::getCompetitionId).collect(Collectors.toList()); + competition.setCompetitionIds(competitionIds); + } + competition.setFounder(wxUser.getId()); + } startPage(); - List list = competitionService.selectCompetitionList(competition); + List list = competitionService.getMyJoinCompetition(competition); return getDataTable(list); } @@ -118,7 +136,7 @@ public class CompetitionController extends BaseController /** * 获取比赛信息详细信息 */ - @RequiresPermissions("system:competition:query") +// @RequiresPermissions("system:competition:query") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -180,7 +198,7 @@ public class CompetitionController extends BaseController /** * 新增比赛信息 */ - @RequiresPermissions("system:competition:add") +// @RequiresPermissions("system:competition:add") @Log(title = "比赛信息", businessType = BusinessType.INSERT) @PostMapping public AjaxResult addCompetition(@RequestBody Competition competition) @@ -188,7 +206,7 @@ public class CompetitionController extends BaseController return toAjax(competitionService.insertCompetition(competition)); } - @RequiresPermissions("system:competition:genCompetitionCommonAqrSpread") +// @RequiresPermissions("system:competition:genCompetitionCommonAqrSpread") @Log(title = "生成赛会普通微信推广码", businessType = BusinessType.OTHER) @PostMapping("/genCompetitionCommonAqrSpread") public AjaxResult genCompetitionCommonAqrSpread(@RequestBody WxAppletsCodeVo wxAppletsCodeVo) @@ -199,7 +217,7 @@ public class CompetitionController extends BaseController /** * 修改比赛信息 */ - @RequiresPermissions("system:competition:edit") +// @RequiresPermissions("system:competition:edit") @Log(title = "比赛信息", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult editCompetition(@RequestBody Competition competition) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersController.java index d504f2fc..bc47e229 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersController.java @@ -36,7 +36,7 @@ public class CompetitionMembersController extends BaseController /** * 查询比赛参与人员列表 */ - @RequiresPermissions("system:competitionMembers:list") +// @RequiresPermissions("system:competitionMembers:list") @GetMapping("/list") public TableDataInfo list(CompetitionMembers competitionMembers) { @@ -61,7 +61,7 @@ public class CompetitionMembersController extends BaseController /** * 获取比赛参与人员详细信息 */ - @RequiresPermissions("system:competitionMembers:query") +// @RequiresPermissions("system:competitionMembers:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -76,7 +76,7 @@ public class CompetitionMembersController extends BaseController /** * 新增比赛参与人员 */ - @RequiresPermissions("system:competitionMembers:add") +// @RequiresPermissions("system:competitionMembers:add") @Log(title = "比赛参与人员", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CompetitionMembers competitionMembers) @@ -87,7 +87,7 @@ public class CompetitionMembersController extends BaseController /** * 修改比赛参与人员 */ - @RequiresPermissions("system:competitionMembers:edit") +// @RequiresPermissions("system:competitionMembers:edit") @Log(title = "比赛参与人员", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CompetitionMembers competitionMembers) @@ -98,7 +98,7 @@ public class CompetitionMembersController extends BaseController /** * 删除比赛参与人员 */ - @RequiresPermissions("system:competitionMembers:remove") +// @RequiresPermissions("system:competitionMembers:remove") @Log(title = "比赛参与人员", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersScoreController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersScoreController.java index f332200a..3654e437 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersScoreController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionMembersScoreController.java @@ -38,7 +38,7 @@ public class CompetitionMembersScoreController extends BaseController /** * 查询赛会中-赛程-人员得分列表 */ - @RequiresPermissions("system:competitionMemberScore:list") +// @RequiresPermissions("system:competitionMemberScore:list") @GetMapping("/list") public TableDataInfo list(CompetitionMembersScore competitionMembersScore) { @@ -50,7 +50,7 @@ public class CompetitionMembersScoreController extends BaseController /** * 导出赛会中-赛程-人员得分列表 */ - @RequiresPermissions("system:competitionMemberScore:export") +// @RequiresPermissions("system:competitionMemberScore:export") @Log(title = "赛会中-赛程-人员得分", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, CompetitionMembersScore competitionMembersScore) @@ -63,7 +63,7 @@ public class CompetitionMembersScoreController extends BaseController /** * 获取赛会中-赛程-人员得分详细信息 */ - @RequiresPermissions("system:competitionMemberScore:query") +// @RequiresPermissions("system:competitionMemberScore:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -73,7 +73,7 @@ public class CompetitionMembersScoreController extends BaseController /** * 新增赛会中-赛程-人员得分 */ - @RequiresPermissions("system:competitionMemberScore:add") +// @RequiresPermissions("system:competitionMemberScore:add") @Log(title = "赛会中-赛程-人员得分", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CompetitionMembersScore competitionMembersScore) @@ -84,7 +84,7 @@ public class CompetitionMembersScoreController extends BaseController /** * 修改赛会中-赛程-人员得分 */ - @RequiresPermissions("system:competitionMemberScore:edit") +// @RequiresPermissions("system:competitionMemberScore:edit") @Log(title = "赛会中-赛程-人员得分", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CompetitionMembersScore competitionMembersScore) @@ -95,7 +95,7 @@ public class CompetitionMembersScoreController extends BaseController /** * 删除赛会中-赛程-人员得分 */ - @RequiresPermissions("system:competitionMemberScore:remove") +// @RequiresPermissions("system:competitionMemberScore:remove") @Log(title = "赛会中-赛程-人员得分", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java index 9966de56..a78760dc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java @@ -69,7 +69,7 @@ public class CompetitionOfTeamController extends BaseController /** * 查询赛会中-参赛队伍列表 */ - @RequiresPermissions("system:competitionOfTeam:list") +// @RequiresPermissions("system:competitionOfTeam:list") @GetMapping("/list") public TableDataInfo list(CompetitionOfTeamVo competitionOfTeam) { @@ -94,7 +94,7 @@ public class CompetitionOfTeamController extends BaseController /** * 获取赛会中-参赛队伍详细信息 */ - @RequiresPermissions("system:competitionOfTeam:query") +// @RequiresPermissions("system:competitionOfTeam:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -104,7 +104,7 @@ public class CompetitionOfTeamController extends BaseController /** * 新增赛会中-参赛队伍 */ - @RequiresPermissions("system:competitionOfTeam:add") +// @RequiresPermissions("system:competitionOfTeam:add") @Log(title = "赛会中-参赛队伍", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CompetitionOfTeam competitionOfTeam) @@ -115,14 +115,14 @@ public class CompetitionOfTeamController extends BaseController /** * 修改赛会中-参赛队伍 */ - @RequiresPermissions("system:competitionOfTeam:edit") +// @RequiresPermissions("system:competitionOfTeam:edit") @Log(title = "赛会中-参赛队伍", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CompetitionOfTeam competitionOfTeam) { return toAjax(competitionOfTeamService.updateCompetitionOfTeam(competitionOfTeam)); } - @RequiresPermissions("system:competitionOfTeam:batchEditById") +// @RequiresPermissions("system:competitionOfTeam:batchEditById") @Log(title = "赛会中-参赛队伍批量修改", businessType = BusinessType.UPDATE) @PutMapping("/batchEditById") public AjaxResult batchEditById(@RequestBody List list) @@ -130,7 +130,7 @@ public class CompetitionOfTeamController extends BaseController return toAjax(competitionOfTeamService.batchUpdateCompetitionOfTeam(list)); } - @RequiresPermissions("system:competitionOfTeam:removeTeamGroup") +// @RequiresPermissions("system:competitionOfTeam:removeTeamGroup") @Log(title = "赛会中-参赛队伍移除分组", businessType = BusinessType.UPDATE) @PutMapping("/removeTeamGroup/{ids}") public AjaxResult removeTeamGroup(@PathVariable Long[] ids) @@ -138,7 +138,7 @@ public class CompetitionOfTeamController extends BaseController return toAjax(competitionOfTeamService.removeTeamGroup(ids)); } - @RequiresPermissions("system:competitionOfTeam:intoTeamGroup") +// @RequiresPermissions("system:competitionOfTeam:intoTeamGroup") @Log(title = "赛会中-参赛队伍移入分组", businessType = BusinessType.UPDATE) @PostMapping("/intoTeamGroup/{competitionGroup}") public AjaxResult intoTeamGroup(@PathVariable String competitionGroup,@RequestBody List ids) @@ -148,7 +148,7 @@ public class CompetitionOfTeamController extends BaseController /** * 删除赛会中-参赛队伍 */ - @RequiresPermissions("system:competitionOfTeam:remove") +// @RequiresPermissions("system:competitionOfTeam:remove") @Log(title = "赛会中-参赛队伍", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java index 51f873fb..193e3ba7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java @@ -50,7 +50,7 @@ public class CompetitionResultController extends BaseController /** * 查询赛会中-赛程结果记录列表 */ - @RequiresPermissions("system:competitionResult:list") +// @RequiresPermissions("system:competitionResult:list") @GetMapping("/list") public TableDataInfo list(CompetitionResult competitionResult) { @@ -62,7 +62,7 @@ public class CompetitionResultController extends BaseController /** * 导出赛会中-赛程结果记录列表 */ - @RequiresPermissions("system:competitionResult:export") +// @RequiresPermissions("system:competitionResult:export") @Log(title = "赛会中赛程结果记录", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, CompetitionResult competitionResult) @@ -75,7 +75,7 @@ public class CompetitionResultController extends BaseController /** * 获取赛会中-赛程结果记录详细信息 */ - @RequiresPermissions("system:competitionResult:query") +// @RequiresPermissions("system:competitionResult:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -85,7 +85,7 @@ public class CompetitionResultController extends BaseController /** * 新增赛会中-赛程结果记录 */ - @RequiresPermissions("system:competitionResult:add") +// @RequiresPermissions("system:competitionResult:add") @Log(title = "赛会中赛程结果记录", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CompetitionResult competitionResult) @@ -96,21 +96,21 @@ public class CompetitionResultController extends BaseController /** * 修改赛会中-赛程结果记录 */ - @RequiresPermissions("system:competitionResult:edit") +// @RequiresPermissions("system:competitionResult:edit") @Log(title = "赛会中赛程结果记录", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CompetitionResult competitionResult) { return toAjax(competitionResultService.updateCompetitionResult(competitionResult)); } - @RequiresPermissions("system:competitionResult:batchEdit") +// @RequiresPermissions("system:competitionResult:batchEdit") @Log(title = "赛会中批量保存赛程结果记录", businessType = BusinessType.UPDATE) @PutMapping("/batchEdit") public AjaxResult batchEdit(@RequestBody List list) { return toAjax(competitionResultService.batchUpdateCompetitionResult(list)); } - @RequiresPermissions("system:competitionResult:editData") +// @RequiresPermissions("system:competitionResult:editData") @Log(title = "赛会中保存赛程结果记录2", businessType = BusinessType.UPDATE) @PutMapping("/editData") public AjaxResult editData(@RequestBody CompetitionVsRecordVo obj) @@ -121,7 +121,7 @@ public class CompetitionResultController extends BaseController /** * 删除赛会中-赛程结果记录 */ - @RequiresPermissions("system:competitionResult:remove") +// @RequiresPermissions("system:competitionResult:remove") @Log(title = "赛会中赛程结果记录", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamGroupController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamGroupController.java index 0464afb5..5d4e589d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamGroupController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamGroupController.java @@ -50,7 +50,7 @@ public class CompetitionTeamGroupController extends BaseController /** * 查询赛会中-分组列表 */ - @RequiresPermissions("system:competitionTeamGroup:list") +// @RequiresPermissions("system:competitionTeamGroup:list") @GetMapping("/list") public TableDataInfo list(CompetitionTeamGroup competitionTeamGroup) { @@ -75,7 +75,7 @@ public class CompetitionTeamGroupController extends BaseController /** * 获取赛会中-分组详细信息 */ - @RequiresPermissions("system:competitionTeamGroup:query") +// @RequiresPermissions("system:competitionTeamGroup:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -85,7 +85,7 @@ public class CompetitionTeamGroupController extends BaseController /** * 新增赛会中-分组 */ - @RequiresPermissions("system:competitionTeamGroup:add") +// @RequiresPermissions("system:competitionTeamGroup:add") @Log(title = "赛会中-分组", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CompetitionTeamGroup competitionTeamGroup) @@ -96,7 +96,7 @@ public class CompetitionTeamGroupController extends BaseController /** * 修改赛会中-分组 */ - @RequiresPermissions("system:competitionTeamGroup:edit") +// @RequiresPermissions("system:competitionTeamGroup:edit") @Log(title = "赛会中-分组", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CompetitionTeamGroup competitionTeamGroup) @@ -113,7 +113,7 @@ public class CompetitionTeamGroupController extends BaseController /** * 删除赛会中-分组 */ - @RequiresPermissions("system:competitionTeamGroup:remove") +// @RequiresPermissions("system:competitionTeamGroup:remove") @Log(title = "赛会中-分组", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java index ed2fa84c..8ccf6fc2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java @@ -42,7 +42,7 @@ public class CompetitionTeamVsTeamController extends BaseController /** * 查询赛会中-球队VS球队关系列表 */ - @RequiresPermissions("system:competitionTeamVsTeam:list") +// @RequiresPermissions("system:competitionTeamVsTeam:list") @GetMapping("/list") public TableDataInfo list(CompetitionTeamVsTeam competitionTeamVsTeam) { @@ -67,7 +67,7 @@ public class CompetitionTeamVsTeamController extends BaseController /** * 获取赛会中-球队VS球队关系详细信息 */ - @RequiresPermissions("system:competitionTeamVsTeam:query") +// @RequiresPermissions("system:competitionTeamVsTeam:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -77,7 +77,7 @@ public class CompetitionTeamVsTeamController extends BaseController /** * 新增赛会中-球队VS球队关系 */ - @RequiresPermissions("system:competitionTeamVsTeam:add") +// @RequiresPermissions("system:competitionTeamVsTeam:add") @Log(title = "赛会中球队VS球队关系", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CompetitionTeamVsTeam competitionTeamVsTeam) @@ -88,7 +88,7 @@ public class CompetitionTeamVsTeamController extends BaseController /** * 修改赛会中-球队VS球队关系 */ - @RequiresPermissions("system:competitionTeamVsTeam:edit") +// @RequiresPermissions("system:competitionTeamVsTeam:edit") @Log(title = "赛会中球队VS球队关系", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CompetitionTeamVsTeam competitionTeamVsTeam) @@ -99,7 +99,7 @@ public class CompetitionTeamVsTeamController extends BaseController /** * 删除赛会中-球队VS球队关系 */ - @RequiresPermissions("system:competitionTeamVsTeam:remove") +// @RequiresPermissions("system:competitionTeamVsTeam:remove") @Log(title = "赛会中球队VS球队关系", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionVsController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionVsController.java index 11c0730f..a74fe493 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionVsController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionVsController.java @@ -33,7 +33,7 @@ public class CompetitionVsController extends BaseController { /** * 查询约战列表 */ - @RequiresPermissions("system:vs:list") +// @RequiresPermissions("system:vs:list") @GetMapping("/list") public TableDataInfo list(Competition competition) { @@ -58,7 +58,7 @@ public class CompetitionVsController extends BaseController { /** * 获取约战详细信息 */ - @RequiresPermissions("system:vs:query") +// @RequiresPermissions("system:vs:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -68,7 +68,7 @@ public class CompetitionVsController extends BaseController { /** * 新增约战 */ - @RequiresPermissions("system:vs:add") +// @RequiresPermissions("system:vs:add") @Log(title = "约战", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody Competition competition) @@ -79,7 +79,7 @@ public class CompetitionVsController extends BaseController { /** * 修改约战 */ - @RequiresPermissions("system:vs:edit") +// @RequiresPermissions("system:vs:edit") @Log(title = "约战", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody Competition competition) @@ -90,7 +90,7 @@ public class CompetitionVsController extends BaseController { /** * 删除约战 */ - @RequiresPermissions("system:vs:remove") +// @RequiresPermissions("system:vs:remove") @Log(title = "约战", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index de6409ec..73ab8965 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -5,6 +5,9 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.core.util.ObjectUtil; +import com.ruoyi.system.api.domain.LoginMethodEnum; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; 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.ruoyi.common.core.constant.UserConstants; @@ -158,9 +162,41 @@ public class SysUserController extends BaseController * @return 用户信息 */ @GetMapping("getInfo") - public AjaxResult getInfo() + public AjaxResult getInfo(@RequestParam(value = "userId", required = false) Long userId) { - SysUser user = userService.selectUserById(SecurityUtils.getUserId()); + String permission = null; + if(userId == null){ + userId = SecurityUtils.getUserId(); + }else { + LoginUser user = SecurityUtils.getLoginUser(); + if(ObjectUtil.isNotNull(user.getLoginMethod()) && user.getRoles().contains("common") + &&user.getLoginMethod().equals(LoginMethodEnum.WX_SCAN.getCode())){ + permission = "*:*:*"; + } + } + SysUser user = userService.selectUserById(userId); + // 角色集合 + Set roles = permissionService.getRolePermission(user); + // 权限集合 + Set permissions = permissionService.getMenuPermission(user); + if(ObjectUtil.isNotNull(permission)){ + permissions.add(permission); + } + AjaxResult ajax = AjaxResult.success(); + ajax.put("user", user); + ajax.put("roles", roles); + ajax.put("permissions", permissions); + return ajax; + } + /** + * 获取用户信息 + * + * @return 用户信息 + */ + @GetMapping("getWxScanInfo") + public AjaxResult getWxScanInfo(@RequestParam("userId") Long userId) + { + SysUser user = userService.selectUserById(userId); // 角色集合 Set roles = permissionService.getRolePermission(user); // 权限集合 @@ -171,13 +207,12 @@ public class SysUserController extends BaseController ajax.put("permissions", permissions); return ajax; } - /** * 根据用户编号获取详细信息 */ @RequiresPermissions("system:user:query") @GetMapping(value = { "/", "/{userId}" }) - public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) + public AjaxResult getUserInfo(@PathVariable(value = "userId", required = false) Long userId) { userService.checkUserDataScope(userId); AjaxResult ajax = AjaxResult.success(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxApplesCodeController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxApplesCodeController.java index 16954d70..e34ce7c7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxApplesCodeController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxApplesCodeController.java @@ -5,8 +5,11 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.ruoyi.common.swagger.apiConstants.ApiTerminal; import com.ruoyi.system.api.domain.vo.WxAppletsCodeVo; import com.ruoyi.system.service.WxApplesCodeService; +import io.swagger.annotations.ApiOperation; + import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -27,6 +30,7 @@ public class WxApplesCodeController extends BaseController { { return AjaxResult.success(wxApplesCodeService.getWxApplesAccessToken()); } + @ApiOperation(ApiTerminal.wxMiniProgram+"生成微信小程序二维码") @RequiresPermissions("system:wxApplesCode:genWxApplesAqrCode") @Log(title = "生成微信小程序二维码", businessType = BusinessType.OTHER) @PostMapping("/genWxApplesAqrCode") @@ -34,4 +38,12 @@ public class WxApplesCodeController extends BaseController { { return AjaxResult.success(wxApplesCodeService.genWxApplesAqrCode(wxAppletsCodeVo)); } + + @ApiOperation(ApiTerminal.pc+"生成微信扫码登录二维码") + @Log(title = ApiTerminal.pc+"生成微信扫码登录二维码", businessType = BusinessType.OTHER) + @PostMapping("/genWxApplesAqrCodeForPc") + public AjaxResult genWxApplesAqrCodeForPc(@RequestBody WxAppletsCodeVo wxAppletsCodeVo) + { + return AjaxResult.success(wxApplesCodeService.genWxApplesAqrCodeForPc(wxAppletsCodeVo)); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java index 8377d33f..77d36b62 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java @@ -48,7 +48,7 @@ public class WxBuildingInfoController extends BaseController /** * 查询球场管理列表 */ - @RequiresPermissions("system:WxBuilding:list") +// @RequiresPermissions("system:WxBuilding:list") @GetMapping("/list") public TableDataInfo list(WxBuildingInfo wxBuildingInfo) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxLoginController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxLoginController.java index b32e88f6..21650a42 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxLoginController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxLoginController.java @@ -38,6 +38,17 @@ public class WxLoginController { return AjaxResult.success(loginUser); } + @ApiOperation(ApiTerminal.wxMiniProgram+"微信扫码登录") + @PostMapping("/wxScanLogin") + @ResponseBody + public AjaxResult wxScanLogin(@RequestBody WxLoginRequest entity) throws Exception { +// WxLoginUser loginUser = wxLoginService.loginInFromWx(entity); + WxLoginUser loginUser = new WxLoginUser(); + loginUser.setUserId(1L); + loginUser.setLoginName("test"); + loginUser.setAccessToken("sfsdfsdf"); + return AjaxResult.success(loginUser); + } @PostMapping("/user/register") @ApiOperation(value = ApiTerminal.wxMiniProgram+"用户注册接口") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java index 78c5565d..6b7c9749 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java @@ -26,6 +26,8 @@ public class CompetitionSharePermissions extends BaseEntity /** 赛事id(competition的ID) */ @Excel(name = "赛事id(competition的ID)") private Long competitionId; + @Excel(name = "赛会创建人ID") + private Long competitionOwnId; /** 用户ID */ @Excel(name = "用户ID") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 1fc220ad..41eb10f1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -2,6 +2,8 @@ package com.ruoyi.system.service; import java.util.List; import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.domain.WxUser; /** * 用户 业务层 @@ -203,4 +205,6 @@ public interface ISysUserService * @return 结果 */ public String importUser(List userList, Boolean isUpdateSupport, String operName); + + SysUser wxScanUserAdd(WxUser wxUser); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java index 81519d97..e81ae5ff 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java @@ -62,4 +62,6 @@ public interface IWxUserService extends IService public int deleteWxUserById(Long id); WxUser getUserInfoBy(WxUser wxUser); + + WxUser selectWxUserByOpenId(String username); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/WxApplesCodeService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/WxApplesCodeService.java index c2c1b10c..0d257e6c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/WxApplesCodeService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/WxApplesCodeService.java @@ -17,4 +17,6 @@ public interface WxApplesCodeService { String getWxApplesAccessToken(); WxAppletsCodeVo genWxApplesAqrCode(WxAppletsCodeVo wxAppletsCodeVo); + + WxAppletsCodeVo genWxApplesAqrCodeForPc(WxAppletsCodeVo wxAppletsCodeVo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java index d6750af1..88b053db 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl; import java.util.HashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,7 +37,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService { Set roles = new HashSet(); // 管理员拥有所有权限 - if (user.isAdmin()) + if (Objects.nonNull(user.isAdmin())&&user.isAdmin()) { roles.add("admin"); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 8f71552b..fb1700a0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -1,9 +1,14 @@ package com.ruoyi.system.service.impl; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; import javax.validation.Validator; + +import com.alibaba.fastjson.JSON; +import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.domain.WxUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -538,4 +543,31 @@ public class SysUserServiceImpl implements ISysUserService return successMsg.toString(); } + @Override + public SysUser wxScanUserAdd(WxUser wxUser) { + log.info("wxScanUserAdd wxUser: {}", JSON.toJSONString(wxUser)); + String openid = wxUser.getOpenid(); + SysUser sysUser = userMapper.selectUserByUserName(openid); + if (StringUtils.isNull(sysUser)) + { + Date date = new Date(); + sysUser = new SysUser(); + sysUser.setNickName("微信用户"); + sysUser.setUserName(openid); + sysUser.setStatus("0"); + sysUser.setDelFlag("0"); + sysUser.setLoginDate(date); + sysUser.setCreateBy("system"); + sysUser.setCreateTime(date); + sysUser.setRemark("微信扫码登录用户"); + //设置刚刚 + Long[] postIds = {4L}; + sysUser.setPostIds(postIds); + Long[] roleIds = {2L}; + sysUser.setRoleIds(roleIds); + this.insertUser(sysUser); + } + return sysUser; + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxApplesCodeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxApplesCodeServiceImpl.java index 8cf92c63..99adba18 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxApplesCodeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxApplesCodeServiceImpl.java @@ -7,6 +7,7 @@ import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.system.api.domain.vo.WxAppletsCodeVo; import com.ruoyi.system.service.WxApplesCodeService; import lombok.extern.log4j.Log4j2; +import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -28,6 +29,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.Objects; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -130,6 +132,7 @@ public class WxApplesCodeServiceImpl implements WxApplesCodeService { outputStream.write(buf, 0, len); } outputStream.flush(); + wxAppletsCodeVo.setBytesBase64(result); wxAppletsCodeVo.setCodeImgUrl(domainName+xdpath); return wxAppletsCodeVo; @@ -151,7 +154,89 @@ public class WxApplesCodeServiceImpl implements WxApplesCodeService { } } } - System.out.println("获取二维码"); + return wxAppletsCodeVo; + } + + @Override + public WxAppletsCodeVo genWxApplesAqrCodeForPc(WxAppletsCodeVo wxAppletsCodeVo) { + if(restTemplate==null){ + restTemplate = new RestTemplate(); + } + InputStream inputStream = null; + OutputStream outputStream = null; + //根据APPid和密钥获取存取令牌 + try { + String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + this.getWxApplesAccessToken(); + //定义生产二维码所需的参数、样式 + Map param = new HashMap<>(); + param.put("scene", wxAppletsCodeVo.getScene()); + param.put("page", wxAppletsCodeVo.getPage()); + param.put("check_path",wxAppletsCodeVo.getCheckPath()==null?Boolean.FALSE:wxAppletsCodeVo.getCheckPath()); + if(wxAppletsCodeVo.getEnvVersion()!=null&&!StringUtils.isEmpty(wxAppletsCodeVo.getEnvVersion())){ + param.put("env_version",wxAppletsCodeVo.getEnvVersion()); + } + param.put("width", org.apache.commons.lang3.StringUtils.isEmpty(wxAppletsCodeVo.getPage())?10:wxAppletsCodeVo.getPage()); + param.put("auto_color", wxAppletsCodeVo.getAutoColor()==null?false:wxAppletsCodeVo.getAutoColor()); + param.put("is_hyaline",wxAppletsCodeVo.getIsHyaline()==null?false:wxAppletsCodeVo.getIsHyaline()); + Map line_color = new HashMap<>(); + line_color.put("r", 0); + line_color.put("g", 0); + line_color.put("b", 0); + param.put("line_color", line_color); + MultiValueMap headers = new LinkedMultiValueMap<>(); + HttpEntity requestEntity = new HttpEntity(param, headers); + // System.out.println("协议请求头"+headers+""+requestEntity); + ResponseEntity entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]); + // LOG.info("调用小程序生成微信永久小程序码URL接口返回结果:" + entity.getBody()); + // System.out.println("返回结果"+entity.getBody()+".."+entity); + byte[] result = entity.getBody(); +// inputStream = new ByteArrayInputStream(result); +//// 生成随机数命名图片 +// String filename = UUID.randomUUID().toString(); +// // System.out.println(filename); +// Date date = new Date(); +// String time = new SimpleDateFormat("yyyy-MM-dd").format(date); +// String[] str = time.split("-");//根据‘-’进行拆分字符串 拆分出来的日期有,年,日,月,根据年日月创建文件夹 +// String datePath="/"+str[0]+"/"+str[1]+"/"+str[2]+"/"; +// //创建文件夹 +// String xdpath = datePath+filename+".png"; +// String filePath = linuxLocation+datePath+filename+".png"; +//// 服务器存放位置 +// File file = new File(filePath); +// //文件目录不存在需要先创建 +// if(!file.getParentFile().exists()){ +// file.getParentFile().mkdirs(); +// } +// outputStream = new FileOutputStream(file); +// int len = 0; +// byte[] buf = new byte[1024]; +// while ((len = inputStream.read(buf, 0, 1024)) != -1) { +// outputStream.write(buf, 0, len); +// } +// outputStream.flush(); + + wxAppletsCodeVo.setBytesBase64(result); +// wxAppletsCodeVo.setCodeImgUrl(domainName+xdpath); + wxAppletsCodeVo.setBase64(new String(Objects.requireNonNull(Base64.encodeBase64(result)))); + return wxAppletsCodeVo; + } catch (Exception e) { + log.error("调用小程序生成微信永久小程序码URL接口异常", e); + } finally { + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (outputStream != null) { + try { + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } return wxAppletsCodeVo; } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxLoginServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxLoginServiceImpl.java index 849db740..ec498326 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxLoginServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxLoginServiceImpl.java @@ -1,9 +1,14 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.system.api.domain.LoginMethodEnum; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.WxLoginUser; @@ -13,6 +18,8 @@ import com.ruoyi.system.domain.enums.UserRoles; import com.ruoyi.system.domain.vo.WxLoginRequest; import com.ruoyi.system.mapper.UserRoleMapper; import com.ruoyi.system.mapper.WxUserMapper; +import com.ruoyi.system.service.ISysPermissionService; +import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.WxLoginService; import com.ruoyi.system.utils.jwt.JwtUtil; import org.apache.http.HttpEntity; @@ -32,6 +39,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -45,6 +53,15 @@ public class WxLoginServiceImpl implements WxLoginService { private WxUserMapper wxUserMapper; @Autowired private UserRoleMapper userRoleMapper; + @Autowired + private ISysUserService sysUserService; + @Autowired + private TokenService tokenService; + @Autowired + private RedisService redisService; + @Autowired + private ISysPermissionService permissionService; + private Long wxScanExpireTime= CacheConstants.WX_SCAN_EXPIRE_TIME; @Override public WxLoginUser loginInFromWx(WxLoginRequest entity) { //获取openId @@ -350,6 +367,34 @@ public class WxLoginServiceImpl implements WxLoginService { loginUser.setUsername(login.getOpenid()); loginUser.setRoles(codes); loginUser.setSysUser(sysUser); + //判断是否是微信扫码登录;如果是需要判断是否存在账号在system_user表中,如果不存在则创建账号,权限 + if(!StringUtils.isEmpty(entity.getLoginMethod()) &&LoginMethodEnum.WX_SCAN.getCode().equals(entity.getLoginMethod())){ + SysUser sysUser1 = sysUserService.wxScanUserAdd(login); + // 角色集合 + Set roles = permissionService.getRolePermission(sysUser1); + // 权限集合 + Set permissions = permissionService.getMenuPermission(sysUser1); + LoginUser sysUserVo = new LoginUser(); + sysUserVo.setSysUser(sysUser1); + sysUserVo.setRoles(roles); + sysUserVo.setUserid(sysUser1.getUserId()); + sysUserVo.setUsername(sysUser1.getUserName()); + sysUserVo.setPermissions(permissions); + sysUserVo.setLoginMethod(entity.getLoginMethod()); + Map map = tokenService.createToken(sysUserVo); + //设置到缓存里面 + redisService.setCacheObject(getCacheKey(entity.getToken()), JSON.toJSONString(map), wxScanExpireTime, TimeUnit.MINUTES); + } return loginUser; } + /** + * 扫码登录账状态验证缓存键名 + * + * @param checkCode 临时变量 + * @return 缓存键key + */ + private String getCacheKey(String checkCode) + { + return CacheConstants.WX_SCAN_LOGIN_CHECK_KEY + checkCode; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java index c0311696..a7b0dad3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java @@ -97,4 +97,9 @@ public class WxUserServiceImpl extends ServiceImpl impleme public WxUser getUserInfoBy(WxUser wxUser) { return wxUserMapper.getUserInfoBy(wxUser); } + + @Override + public WxUser selectWxUserByOpenId(String username) { + return wxUserMapper.selectByOpenId(username); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml index 57794c61..9cbf4801 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml @@ -17,17 +17,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, create_time, competition_id, user_id, user_tel, user_name, status, update_time, create_by, update_by, is_deleted, remark, can_set_type from competition_share_permissions + select id, create_time, competition_id,competition_own_id, user_id, user_tel, user_name, status, update_time, create_by, update_by, is_deleted, remark, can_set_type from competition_share_permissions \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml index b34889d2..2f74e5e9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml @@ -104,7 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 1 - + insert into user_info IS_DELETED, diff --git a/ruoyi-ui/src/api/login.js b/ruoyi-ui/src/api/login.js index 6b0cda03..c0e1192c 100644 --- a/ruoyi-ui/src/api/login.js +++ b/ruoyi-ui/src/api/login.js @@ -12,6 +12,17 @@ export function login(username, password, code, uuid) { }) } +// 微信扫码登录状态检查方法 +export function wxScanLoginCheck(query) { + return request({ + url: '/auth/wxScanLoginCheck', + headers: { + isToken: false + }, + method: 'get', + params: query + }) +} // 注册方法 export function register(data) { return request({ @@ -33,12 +44,22 @@ export function refreshToken() { } // 获取用户详细信息 -export function getInfo() { +export function getInfo(params) { return request({ url: '/system/user/getInfo', - method: 'get' + method: 'get', + params: params }) } +// 获取微信扫码用户详细信息 +export function getWxScanInfo(params) { + return request({ + url: '/system/user/getWxScanInfo', + method: 'get', + params: params + }) +} + // 退出方法 export function logout() { @@ -58,4 +79,4 @@ export function getCodeImg() { method: 'get', timeout: 20000 }) -} \ No newline at end of file +} diff --git a/ruoyi-ui/src/api/system/wxApplesCode.js b/ruoyi-ui/src/api/system/wxApplesCode.js index 25191ece..345f9822 100644 --- a/ruoyi-ui/src/api/system/wxApplesCode.js +++ b/ruoyi-ui/src/api/system/wxApplesCode.js @@ -9,12 +9,22 @@ export function getWxApplesAccessToken(query) { }) } -// 查询约战详细 +// 获取微信小程序码 export function genWxApplesAqrCode(data) { return request({ url: '/system/wxApplesCode/genWxApplesAqrCode', method: 'post', data: data }) + +} + +//获取微信小程序码二进制数据 +export function genWxApplesAqrCodeForPc(data) { + return request({ + url: '/system/wxApplesCode/genWxApplesAqrCodeForPc', + method: 'post', + data: data + }) } diff --git a/ruoyi-ui/src/permission.js b/ruoyi-ui/src/permission.js index a25437cc..52b0465b 100644 --- a/ruoyi-ui/src/permission.js +++ b/ruoyi-ui/src/permission.js @@ -3,7 +3,7 @@ import store from './store' import { Message } from 'element-ui' import NProgress from 'nprogress' import 'nprogress/nprogress.css' -import { getToken } from '@/utils/auth' +import {getToken, getWxScanUserId} from '@/utils/auth' import { isRelogin } from '@/utils/request' NProgress.configure({ showSpinner: false }) @@ -22,7 +22,10 @@ router.beforeEach((to, from, next) => { if (store.getters.roles.length === 0) { isRelogin.show = true // 判断当前用户是否已拉取完user_info信息 - store.dispatch('GetInfo').then(() => { + let params ={ + userId: getWxScanUserId() + } + store.dispatch('GetInfo',params).then(() => { isRelogin.show = false store.dispatch('GenerateRoutes').then(accessRoutes => { // 根据roles权限生成可访问的路由表 diff --git a/ruoyi-ui/src/store/modules/user.js b/ruoyi-ui/src/store/modules/user.js index 262de9b0..7d110529 100644 --- a/ruoyi-ui/src/store/modules/user.js +++ b/ruoyi-ui/src/store/modules/user.js @@ -1,5 +1,5 @@ -import { login, logout, getInfo, refreshToken } from '@/api/login' -import { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth' +import { login, logout, getInfo, refreshToken,getWxScanInfo } from '@/api/login' +import {getToken, setToken, setExpiresIn, removeToken, setWxScanUserId, removeWxScanUserId} from '@/utils/auth' const user = { state: { @@ -7,7 +7,8 @@ const user = { name: '', avatar: '', roles: [], - permissions: [] + permissions: [], + wxScanUserId: null }, mutations: { @@ -17,6 +18,9 @@ const user = { SET_EXPIRES_IN: (state, time) => { state.expires_in = time }, + SET_WX_SCAN_USER_ID_IN: (state, wxScanUserId) => { + state.wxScanUserId = wxScanUserId + }, SET_NAME: (state, name) => { state.name = name }, @@ -51,11 +55,42 @@ const user = { }) }) }, - + // 微信扫码登录 + WxScanLogin({ commit }, data) { + return new Promise((resolve, reject) => { + setToken(data.access_token) + commit('SET_TOKEN', data.access_token) + setExpiresIn(data.expires_in) + commit('SET_EXPIRES_IN', data.expires_in) + setWxScanUserId(data.user.userid) + commit('SET_WX_SCAN_USER_ID_IN', data.user.userid) + resolve() + }) + }, + // 获取微信扫码用户信息 + GetWxScanInfo({ commit, state },params) { + return new Promise((resolve, reject) => { + getWxScanInfo(params).then(res => { + const user = res.user + const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : user.avatar; + if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 + commit('SET_ROLES', res.roles) + commit('SET_PERMISSIONS', res.permissions) + } else { + commit('SET_ROLES', ['ROLE_DEFAULT']) + } + commit('SET_NAME', user.userName) + commit('SET_AVATAR', avatar) + resolve(res) + }).catch(error => { + reject(error) + }) + }) + }, // 获取用户信息 - GetInfo({ commit, state }) { + GetInfo({ commit, state },params) { return new Promise((resolve, reject) => { - getInfo().then(res => { + getInfo(params).then(res => { const user = res.user const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : user.avatar; if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 @@ -85,7 +120,7 @@ const user = { }) }) }, - + // 退出系统 LogOut({ commit, state }) { return new Promise((resolve, reject) => { @@ -93,7 +128,9 @@ const user = { commit('SET_TOKEN', '') commit('SET_ROLES', []) commit('SET_PERMISSIONS', []) + commit('SET_WX_SCAN_USER_ID_IN', null) removeToken() + removeWxScanUserId() resolve() }).catch(error => { reject(error) @@ -105,7 +142,9 @@ const user = { FedLogOut({ commit }) { return new Promise(resolve => { commit('SET_TOKEN', '') + commit('SET_WX_SCAN_USER_ID_IN', null) removeToken() + removeWxScanUserId() resolve() }) } diff --git a/ruoyi-ui/src/utils/auth.js b/ruoyi-ui/src/utils/auth.js index 7fa75596..1493cf24 100644 --- a/ruoyi-ui/src/utils/auth.js +++ b/ruoyi-ui/src/utils/auth.js @@ -4,6 +4,16 @@ const TokenKey = 'Admin-Token' const ExpiresInKey = 'Admin-Expires-In' +const WxScanUserIdKey = 'Admin-Wx-UserId-In' +export function getWxScanUserId() { + return Cookies.get(WxScanUserIdKey) +} +export function setWxScanUserId(userId) { + return Cookies.set(WxScanUserIdKey, userId) +} +export function removeWxScanUserId() { + return Cookies.remove(WxScanUserIdKey) +} export function getToken() { return Cookies.get(TokenKey) } diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue index fcddffc2..649b7b3d 100644 --- a/ruoyi-ui/src/views/login.vue +++ b/ruoyi-ui/src/views/login.vue @@ -1,68 +1,80 @@ diff --git a/ruoyi-ui/src/views/system/competition/index.vue b/ruoyi-ui/src/views/system/competition/index.vue index 355ff0d9..796ec68e 100644 --- a/ruoyi-ui/src/views/system/competition/index.vue +++ b/ruoyi-ui/src/views/system/competition/index.vue @@ -207,9 +207,7 @@ size="mini" type="text" icon="el-icon-setting" - @click="handleCompetitionSet(scope.row)" - v-hasPermi="['system:competition:edit']" - >设置 + @click="handleCompetitionSet(scope.row)">设置 diff --git a/ruoyi-ui/src/views/system/competitionSet/index.vue b/ruoyi-ui/src/views/system/competitionSet/index.vue index 9864644a..75b02e0a 100644 --- a/ruoyi-ui/src/views/system/competitionSet/index.vue +++ b/ruoyi-ui/src/views/system/competitionSet/index.vue @@ -94,16 +94,16 @@ @@ -120,7 +120,6 @@ plain icon="el-icon-plus" @click="handleAddGroup" - v-hasPermi="['system:competition:add']" >新增分组 @@ -179,7 +178,6 @@ plain icon="el-icon-time" @click="handleTeamVsTeamAdd" - v-hasPermi="['system:competitionTeamVsTeam:add']" >手动设置赛程 @@ -188,7 +186,6 @@ plain icon="el-icon-bangzhu" @click="handleMindTeamVsTeam" - v-hasPermi="['system:competitionTeamVsTeam:add']" >系统智能设置小组循环赛赛程 @@ -237,10 +234,10 @@ @@ -642,7 +639,6 @@ type="primary" icon="el-icon-check" @click="handleTeamVsTeamRecordSave" - v-hasPermi="['system:competitionOfTeam:save']" >数据保存 计分 @@ -1595,6 +1590,7 @@ export default { genCompetitionCommonAqrSpread(data).then(response => { this.$modal.msgSuccess("生成普通推广二维码成功"); this.spreadImgurl = response.data.codeImgUrl; + // this.spreadImgurl = "data:image/png;base64," + response.data.bytesBase64; }); }, clickCarousel(data){