From fdbb421ace3d5f0252610c7ae780052a55a6e870 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 16 四月 2025 14:37:42 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/api/web/WebMemberController.java | 43 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 39 insertions(+), 4 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 b34efe3..ffd107b 100644 --- a/server/src/main/java/com/doumee/api/web/WebMemberController.java +++ b/server/src/main/java/com/doumee/api/web/WebMemberController.java @@ -1,9 +1,11 @@ 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; @@ -19,6 +21,12 @@ 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鑾峰彇浠ょ墝鍜屽埛鏂颁护鐗屾帴鍙� @@ -32,14 +40,15 @@ @Resource private MemberService memberService; + @Resource + private SystemDictDataBiz systemDictDataBiz; @PreventRepeat(limit = 10, lockTime = 10000) @ApiOperation("H5涓氬姟鐧诲綍") @PostMapping("/loginH5") - public ApiResponse<Member> loginH5 (@Validated @RequestBody LoginH5DTO dto, ServerWebExchange serverWebExchange) { + public ApiResponse<Member> loginH5 (@RequestBody LoginH5DTO dto) { try { - ServerHttpRequest request = serverWebExchange.getRequest(); //鎷緾ODE鎹wid锛屽厛鏌ヤ笅鏈郴缁熸槸鍚﹀瓨鍦紝瀛樺湪鐩存帴杩斿洖member锛屽惁鍒欑敤qwid鏌ヨ浼佷笟鐢ㄦ埛鏁版嵁锛屾彃鍏ユ暟鎹簱锛坢ember) Member user = memberService.getUserInfo(dto); String token = jwtTokenUtil.generateToken(user); @@ -56,9 +65,8 @@ @LoginRequired @ApiOperation("鏇存柊鐢ㄦ埛閭淇℃伅") @PostMapping("/upateInfo") - public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { + public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token) { try { - ServerHttpRequest request = serverWebExchange.getRequest(); Member user = jwtTokenUtil.getUserInfoByToken(token); updEmailDTO.setUserId(user.getId()); memberService.updEmail(updEmailDTO); @@ -92,4 +100,31 @@ return ApiResponse.failed( "鐧诲綍宸插け鏁�"); } + @ApiOperation("鑾峰彇浼佷笟寰俊JS绛惧悕") + @PostMapping("/getQwSignature") + @ResponseBody + public ApiResponse<Object> getQwSignature(@RequestBody Map<String,String> url) { + 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=" + url; + try { + MessageDigest instance = MessageDigest.getInstance("SHA-1"); + instance.update(jsapiTicketStr.getBytes()); + byte[] digest = instance.digest(); + BigInteger bigInteger = new BigInteger(1, digest); + String string = bigInteger.toString(); + Map<String, Object> result = new HashMap<>(); + result.put("noncestr", noncestr); + result.put("signature", string); + result.put("timestamp", timestamp); + result.put("url", url); +// result.put("ticket", jsapiTicket); + return ApiResponse.success( result); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + return ApiResponse.failed( "鑾峰彇绛惧悕澶辫触"); + } } \ No newline at end of file -- Gitblit v1.9.3