dl_admin/ruoyi-admin/src/main/java/com/ruoyi/api/WxApi.java
2025-04-24 17:10:08 +08:00

62 lines
1.9 KiB
Java

package com.ruoyi.api;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.ruoyi.busi.utils.WeChatUtils;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.model.GzhLoginBody;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.member.service.IMemberUserService;
import com.wechat.pay.contrib.apache.httpclient.util.AesUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/wxApi")
public class WxApi {
@Autowired
private WeChatUtils weChatUtils;
@Autowired
private IMemberUserService memberUserService;
@GetMapping("/getCodeUrl")
@Anonymous
public Map<String, String> getCodeUrl(String userType) {
Map<String, String> res = new HashMap<>();
res.put("codeUrl", weChatUtils.getCodeUrl("https://www.ddtg.site/#/pages/mine/member/member-card", userType));
return res;
}
@GetMapping("/getWebAccessTokenAndOpenid")
@Anonymous
public JSONObject getWebAccessTokenAndOpenid(String code) {
return weChatUtils.getWebAccessTokenAndOpenid(code);
}
@PostMapping("/gzhLogin")
@Anonymous
public AjaxResult gzhLogin(@RequestBody GzhLoginBody gzhLoginBody)
{
JSONObject userInfo = weChatUtils.getUserInfo(gzhLoginBody.getAccess_token(), gzhLoginBody.getOpenid());
//如果解析成功,获取token
String token = memberUserService.gzhLogin(gzhLoginBody.getOpenid(),userInfo);
AjaxResult ajax = AjaxResult.success();
ajax.put(Constants.TOKEN, token);
return ajax;
}
}