feat:新增获取小程序码相关接口

This commit is contained in:
puhui999
2024-05-11 17:55:36 +08:00
parent 52c86cd290
commit 73ef9211f9
10 changed files with 219 additions and 25 deletions

View File

@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserRespDTO;
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserUnbindReqDTO;
import cn.iocoder.yudao.module.system.api.social.dto.SocialWxQrcodeReqDTO;
import jakarta.validation.Valid;
/**
@ -32,8 +32,8 @@ public interface SocialUserApi {
/**
* 获得社交用户,基于 userId
*
* @param userType 用户类型
* @param userId 用户编号
* @param userType 用户类型
* @param userId 用户编号
* @param socialType 社交平台的类型
* @return 社交用户
*/
@ -44,12 +44,20 @@ public interface SocialUserApi {
*
* 在认证信息不正确的情况下,也会抛出 {@link ServiceException} 业务异常
*
* @param userType 用户类型
* @param userType 用户类型
* @param socialType 社交平台的类型
* @param code 授权码
* @param state state
* @param code 授权码
* @param state state
* @return 社交用户
*/
SocialUserRespDTO getSocialUserByCode(Integer userType, Integer socialType, String code, String state);
/**
* 获得小程序二维码
*
* @param reqVO 请求信息
* @return 小程序二维码
*/
byte[] getWxQrcode(@Valid SocialWxQrcodeReqDTO reqVO);
}

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.system.api.social.dto;
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class SocialWxQrcodeReqDTO {
/**
* 用户编号
*/
@NotNull(message = "用户编号不能为空")
private Long userId;
/**
* 用户类型
*/
@InEnum(UserTypeEnum.class)
@NotNull(message = "用户类型不能为空")
private Integer userType;
/**
* 社交平台的类型
*/
@InEnum(SocialTypeEnum.class)
@NotNull(message = "社交平台的类型不能为空")
private Integer socialType;
/**
* 最大32个可见字符只支持数字大小写英文以及部分特殊字符!#$&'()*+,/:;=?@-._~ 其它字符请自行编码为合法字符
* (因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
*/
private String scene;
/**
* 页面路径
*/
@NotEmpty(message = "页面路径不能为空")
private String path;
/**
* 要打开的小程序版本。默认是开发版。
*/
private String envVersion;
/**
* 二维码宽度
*/
private Integer width;
/**
* 默认true 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
*/
private Boolean isAutoColor;
/**
* 默认true 检查 page 是否存在,为 true 时 page 必须是已经发布的小程序存在的页面(否则报错);
* 为 false 时允许小程序未发布或者 page 不存在,但 page 有数量上限60000个请勿滥用
*/
private Boolean isCheckPath;
/**
* 是否需要透明底色, is_hyaline 为true时生成透明底色的小程序码
*/
private Boolean isHyaline;
}

View File

@ -120,8 +120,10 @@ public interface ErrorCodeConstants {
ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1_002_018_001, "社交授权失败,找不到对应的用户");
ErrorCode SOCIAL_CLIENT_WEIXIN_MINI_APP_PHONE_CODE_ERROR = new ErrorCode(1_002_018_200, "获得手机号失败");
ErrorCode SOCIAL_CLIENT_NOT_EXISTS = new ErrorCode(1_002_018_201, "社交客户端不存在");
ErrorCode SOCIAL_CLIENT_UNIQUE = new ErrorCode(1_002_018_202, "社交客户端存在配置");
ErrorCode SOCIAL_CLIENT_WEIXIN_MINI_APP_QRCODE_ERROR = new ErrorCode(1_002_018_201, "获得小程序码失败");
ErrorCode SOCIAL_CLIENT_NOT_EXISTS = new ErrorCode(1_002_018_202, "社交客户端存在");
ErrorCode SOCIAL_CLIENT_UNIQUE = new ErrorCode(1_002_018_203, "社交客户端已存在配置");
// ========== OAuth2 客户端 1-002-020-000 =========
ErrorCode OAUTH2_CLIENT_NOT_EXISTS = new ErrorCode(1_002_020_000, "OAuth2 客户端不存在");