From 9b00b80c926b3d1b38b7ef9b682ee097345dde3f Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 17 四月 2025 11:09:31 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/api/web/WebMemberController.java | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 42 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/com/doumee/api/web/WebMemberController.java b/server/src/main/java/com/doumee/api/web/WebMemberController.java index 24cca6a..6121e43 100644 --- a/server/src/main/java/com/doumee/api/web/WebMemberController.java +++ b/server/src/main/java/com/doumee/api/web/WebMemberController.java @@ -1,24 +1,35 @@ package com.doumee.api.web; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.Jwt.JwtProperties; import com.doumee.config.Jwt.JwtTokenUtil; import com.doumee.config.annotation.LoginRequired; import com.doumee.core.annotation.pr.PreventRepeat; +import com.doumee.core.constants.Constants; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.ApiResponse; +import com.doumee.dao.business.dto.WebQwSingatureDto; import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.vo.WebQwSingatureVO; import com.doumee.dao.web.dto.LoginH5DTO; import com.doumee.dao.web.dto.UpdEmailDTO; import com.doumee.service.business.MemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.server.ServerWebExchange; import javax.annotation.Resource; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; /** * JWT鑾峰彇浠ょ墝鍜屽埛鏂颁护鐗屾帴鍙� @@ -26,13 +37,14 @@ @RestController @Api(tags ="web绔敤鎴风浉鍏虫帴鍙�") @RequestMapping("/web/member") +@Slf4j public class WebMemberController { @Resource private JwtTokenUtil jwtTokenUtil; - @Resource private MemberService memberService; - + @Resource + private SystemDictDataBiz systemDictDataBiz; @PreventRepeat(limit = 10, lockTime = 10000) @ApiOperation("H5涓氬姟鐧诲綍") @@ -90,4 +102,32 @@ return ApiResponse.failed( "鐧诲綍宸插け鏁�"); } + @ApiOperation("鑾峰彇浼佷笟寰俊JS绛惧悕") + @PostMapping("/getQwSignature") + @ResponseBody + public ApiResponse<WebQwSingatureVO> getQwSignature(@RequestBody WebQwSingatureDto param) { + try { + String jsapiTicket = systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_JS_API_TICKET).getCode(); + String noncestr = UUID.randomUUID().toString(); + Long timestamp = System.currentTimeMillis() / 1000; + String jsapiTicketStr = jsapiTicket + "&noncestr=" + noncestr + "×tamp=" + timestamp + "&url=" + param.getUrl(); + MessageDigest instance = MessageDigest.getInstance("SHA-1"); + instance.update(jsapiTicketStr.getBytes()); + byte[] digest = instance.digest(); + BigInteger bigInteger = new BigInteger(1, digest); + String string = bigInteger.toString(); + WebQwSingatureVO result = new WebQwSingatureVO(); + result.setNoncestr( noncestr); + result.setSignature( string); + result.setTimestamp( timestamp); + result.setUrl( param.getUrl()); +// result.put("ticket", jsapiTicket); + return ApiResponse.success( result); + } catch ( Exception e) { + e.printStackTrace(); + log.error("鑾峰彇绛惧悕澶辫触"+e.getMessage()); + } + + return ApiResponse.failed("鑾峰彇绛惧悕澶辫触"); + } } \ No newline at end of file -- Gitblit v1.9.3