|
@@ -1,5 +1,7 @@
|
|
|
package cn.iocoder.yudao.module.member.controller.app.social;
|
|
|
|
|
|
+import cn.hutool.core.codec.Base64;
|
|
|
+import cn.hutool.core.util.ObjUtil;
|
|
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
@@ -22,8 +24,6 @@ import jakarta.validation.Valid;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import java.util.Base64;
|
|
|
-
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
|
|
|
@@ -33,6 +33,13 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti
|
|
|
@Validated
|
|
|
public class AppSocialUserController {
|
|
|
|
|
|
+ public static final String ENV_VERSION = "release"; // 小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"
|
|
|
+ private static final String SCENE = ""; // 页面路径不能携带参数(参数请放在scene字段里)
|
|
|
+ private static final Integer WIDTH = 430; // 二维码宽度
|
|
|
+ private static final Boolean AUTO_COLOR = true; // 默认true 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
|
|
|
+ private static final Boolean CHECK_PATH = true; // 默认true 检查 page 是否存在
|
|
|
+ private static final Boolean HYALINE = true; // 是否需要透明底色, hyaline 为true时,生成透明底色的小程序码
|
|
|
+
|
|
|
@Resource
|
|
|
private SocialUserApi socialUserApi;
|
|
|
@Resource
|
|
@@ -69,10 +76,13 @@ public class AppSocialUserController {
|
|
|
@PostMapping("/wxa-qrcode")
|
|
|
@Operation(summary = "获得微信小程序码(base64 image)")
|
|
|
public CommonResult<String> getWxQrcode(@RequestBody @Valid AppSocialWxQrcodeReqVO reqVO) {
|
|
|
- byte[] wxQrcode = socialClientApi.getWxaQrcode(BeanUtils.toBean(reqVO, SocialWxQrcodeReqDTO.class)
|
|
|
- .setEnvVersion(AppSocialWxQrcodeReqVO.ENV_VERSION));
|
|
|
- // TODO @puhui999:1)是不是 base64 返回,不拼接哈 data:image/png;base64;2)cn.hutool.core.codec.Base64.encode()
|
|
|
- return success("data:image/png;base64," + Base64.getEncoder().encodeToString(wxQrcode));
|
|
|
+ byte[] wxQrcode = socialClientApi.getWxaQrcode(new SocialWxQrcodeReqDTO().setPath(reqVO.getPath())
|
|
|
+ .setEnvVersion(ENV_VERSION).setWidth(ObjUtil.defaultIfNull(reqVO.getWidth(), WIDTH))
|
|
|
+ .setScene(ObjUtil.defaultIfNull(reqVO.getScene(), SCENE))
|
|
|
+ .setAutoColor(ObjUtil.defaultIfNull(reqVO.getAutoColor(), AUTO_COLOR))
|
|
|
+ .setHyaline(ObjUtil.defaultIfNull(reqVO.getHyaline(), HYALINE))
|
|
|
+ .setCheckPath(ObjUtil.defaultIfNull(reqVO.getCheckPath(), CHECK_PATH)));
|
|
|
+ return success(Base64.encode(wxQrcode));
|
|
|
}
|
|
|
|
|
|
}
|