package com.ruoyi.user.service.impl;
|
|
import cn.hutool.http.HttpRequest;
|
import com.alibaba.fastjson2.JSONObject;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.common.core.constant.Constants;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.user.entity.User;
|
import com.ruoyi.user.mapper.UserMapper;
|
import com.ruoyi.user.service.UserService;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Service;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
/**
|
* <p>
|
* 用户列表 服务实现类
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-06-03
|
*/
|
@Service
|
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
|
|
@Value("wx.appId")
|
private String appId;
|
|
@Value("wx.appSecret")
|
private String appSecret;
|
|
@Override
|
public R<String> decodeOpenid(HttpServletResponse response, String code) {
|
response.setContentType("text/html;charset=UTF-8");
|
response.setCharacterEncoding("utf-8");
|
try {
|
// 授权(必填)固定
|
String grantType = "authorization_code";
|
// 发送请求
|
String res = HttpRequest.post(Constants.WX_OPENID_ADDRESS)
|
.form("appid", appId)
|
.form("secret", appSecret)
|
.form("js_code", code)
|
.form("grant_type", grantType)
|
.execute().body();
|
// 解析相应内容(转换成json对象)
|
JSONObject json = JSONObject.parseObject(res);
|
//获取openid
|
String openid = json.getString("openid");
|
return R.ok(openid);
|
} catch (Exception e) {
|
return R.fail("openId生成失败!");
|
}
|
}
|
}
|