feat(system): 支持自定义页面与场景值获取微信小程序码
- 修改获取微信小程序码接口,新增page和scene参数支持自定义 - 优先使用传入的scene参数,兼容原订单核销逻辑 - 优先使用传入的page参数,兼容原订单核销页面 - 更新接口文档说明,明确支持数量极多的业务场景下小程序码获取 - 保持登录校验和访问令牌获取不变,确保接口安全性
This commit is contained in:
@@ -965,17 +965,21 @@ public class WxLoginController extends BaseController {
|
|||||||
return fail("获取失败", null);
|
return fail("获取失败", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "获取微信小程序码-订单核销码-数量极多的业务场景")
|
@Operation(summary = "获取微信小程序码-数量极多的业务场景(支持自定义页面与场景值)")
|
||||||
@GetMapping("/getOrderQRCodeUnlimited/{orderNo}")
|
@GetMapping("/getOrderQRCodeUnlimited/{orderNo}")
|
||||||
public ApiResult<?> getOrderQRCodeUnlimited(@PathVariable("orderNo") String orderNo) {
|
public ApiResult<?> getOrderQRCodeUnlimited(@PathVariable("orderNo") String orderNo,
|
||||||
|
@RequestParam(required = false) String page,
|
||||||
|
@RequestParam(required = false) String scene) {
|
||||||
final User loginUser = getLoginUser();
|
final User loginUser = getLoginUser();
|
||||||
if(loginUser == null){
|
if(loginUser == null){
|
||||||
return fail("请先登录");
|
return fail("请先登录");
|
||||||
}
|
}
|
||||||
String apiUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + getAccessToken(loginUser.getTenantId());
|
String apiUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + getAccessToken(loginUser.getTenantId());
|
||||||
final HashMap<String, Object> map = new HashMap<>();
|
final HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("scene", "orderNo=".concat(orderNo));
|
// scene 优先用入参,否则回退兼容原订单核销逻辑:orderNo=xxx
|
||||||
map.put("page", "package/admin/order-scan");
|
map.put("scene", StrUtil.isNotBlank(scene) ? scene : "orderNo=".concat(orderNo));
|
||||||
|
// page 优先用入参,否则回退兼容原订单核销页面
|
||||||
|
map.put("page", StrUtil.isNotBlank(page) ? page : "package/admin/order-scan");
|
||||||
map.put("env_version", "trial");
|
map.put("env_version", "trial");
|
||||||
// 获取图片 Buffer
|
// 获取图片 Buffer
|
||||||
byte[] qrCode = HttpRequest.post(apiUrl)
|
byte[] qrCode = HttpRequest.post(apiUrl)
|
||||||
|
|||||||
Reference in New Issue
Block a user