|
|
|
@ -1,6 +1,10 @@
|
|
|
|
package com.ruoyi.web.controller.system;
|
|
|
|
package com.ruoyi.web.controller.system;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.binarywang.wx.miniapp.api.WxMaService;
|
|
|
|
|
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
|
|
|
|
|
|
|
|
import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
|
|
|
|
import cn.dev33.satoken.annotation.SaIgnore;
|
|
|
|
import cn.dev33.satoken.annotation.SaIgnore;
|
|
|
|
|
|
|
|
import com.ruoyi.common.annotation.Log;
|
|
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
|
|
import com.ruoyi.common.constant.Constants;
|
|
|
|
import com.ruoyi.common.constant.Constants;
|
|
|
|
import com.ruoyi.common.core.domain.R;
|
|
|
|
import com.ruoyi.common.core.domain.R;
|
|
|
|
@ -9,12 +13,14 @@ import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
|
import com.ruoyi.common.core.domain.model.LoginBody;
|
|
|
|
import com.ruoyi.common.core.domain.model.LoginBody;
|
|
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
|
|
import com.ruoyi.common.core.domain.model.SmsLoginBody;
|
|
|
|
import com.ruoyi.common.core.domain.model.SmsLoginBody;
|
|
|
|
|
|
|
|
import com.ruoyi.common.enums.BusinessType;
|
|
|
|
import com.ruoyi.common.helper.LoginHelper;
|
|
|
|
import com.ruoyi.common.helper.LoginHelper;
|
|
|
|
import com.ruoyi.system.domain.vo.RouterVo;
|
|
|
|
import com.ruoyi.system.domain.vo.RouterVo;
|
|
|
|
import com.ruoyi.system.service.ISysMenuService;
|
|
|
|
import com.ruoyi.system.service.ISysMenuService;
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
import com.ruoyi.system.service.SysLoginService;
|
|
|
|
import com.ruoyi.system.service.SysLoginService;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
@ -40,6 +46,8 @@ public class SysLoginController {
|
|
|
|
private final SysLoginService loginService;
|
|
|
|
private final SysLoginService loginService;
|
|
|
|
private final ISysMenuService menuService;
|
|
|
|
private final ISysMenuService menuService;
|
|
|
|
private final ISysUserService userService;
|
|
|
|
private final ISysUserService userService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final WxMaService wxMaService;
|
|
|
|
private final RuoYiConfig config;
|
|
|
|
private final RuoYiConfig config;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@ -149,4 +157,20 @@ public class SysLoginController {
|
|
|
|
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
|
|
|
|
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
|
|
|
|
return R.ok(menuService.buildMenus(menus));
|
|
|
|
return R.ok(menuService.buildMenus(menus));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Log(title = "获取微信手机号码", businessType = BusinessType.GRANT)
|
|
|
|
|
|
|
|
@PostMapping("xcxPhone")
|
|
|
|
|
|
|
|
@SaIgnore
|
|
|
|
|
|
|
|
public R<?> xcxPhone(@NotBlank(message = "{xcx.code.not.blank}") String code) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getNewPhoneNoInfo(code);
|
|
|
|
|
|
|
|
WxMaConfigHolder.remove();//清理ThreadLocal
|
|
|
|
|
|
|
|
return R.ok(phoneNoInfo);
|
|
|
|
|
|
|
|
} catch (WxErrorException e) {
|
|
|
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|