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 getCodeUrl(String userType) { Map 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; } }