Crunchy
2025-06-14 b2f31607cbe26d721cd7514b619162b3e355b1aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.wms_admin.sys.controller;
 
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.wms_admin.sys.entity.WechatWorkBean;
import com.wms_admin.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
 
@Slf4j
@Api(tags = "企业微信登录")
@RestController
@RequestMapping("/user")
public class WeChatWorkControoler {
 
    @Resource
    protected WechatWorkBean workBean;
 
    // 后台接口代码
    @ApiOperation(value = "扫码登录重定向接口")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "code",value = "响应是否成功",dataTypeClass = String.class,required = true),
    })
    @PostMapping(value = "/login/QYWechatLogin")
    public Result<?> wechatLogin(@RequestParam("code") String code) {
//        获取得到Access_token
        String accessToken = getAccessToken();
        String userTicket = getUserTicket(accessToken, code);
 
        return Result.success();
    }
 
    /**
     * 获取token
     * @return token
     */
    public String getAccessToken() {
        String accessTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET";
        //获取token
        String url = accessTokenUrl.replaceAll("ID", workBean.getCropId()).replaceAll("SECRET", workBean.getAgentSecret());
 
        String result = HttpUtil.get(url);
        JSONObject jsonObject = JSONObject.parseObject(result);
        return jsonObject.getString("access_token");
    }
 
    public String getUserTicket(String Token, String code) {
        String UserTicketUrl = "https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=ACCESS_TOKEN&code=CODE";
 
        //获取token
        String url = UserTicketUrl.replaceAll("ACCESS_TOKEN", Token).replaceAll("CODE", code);;
        System.out.println(url);
        String result = HttpUtil.get(url);
        JSONObject jsonObject = JSONObject.parseObject(result);
        System.out.println(jsonObject);
        return null;
    }
}