zhanglin8526
2023-05-09 e4104ab432bb2a028ee6a3f2e03e462279c2ccae
企业微信授权网页功能
2个文件已修改
23 ■■■■■ 已修改文件
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java
@@ -66,8 +66,8 @@
    @GetMapping("/h5/getAgentConfig")
    @ApiOperation("通过code获取访问用户登录")
    public R<AgentConfigVo> getAgentConfig(@ApiParam(value = "url", required = true) String url) throws IOException {
        AgentConfigVo agentConfigVo = qywxInnerService.getAgentConfig(url);
    public R<AgentConfigVo> getAgentConfig(@ApiParam(value = "url", required = true) String url, @ApiParam(value = "type", required = false) String type) throws IOException {
        AgentConfigVo agentConfigVo = qywxInnerService.getAgentConfig(url, type);
        return R.ok(agentConfigVo);
    }
ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java
@@ -127,14 +127,14 @@
    public AgentConfigVo getAgentConfig(String url) {
    public AgentConfigVo getAgentConfig(String url, String type) {
        AgentConfigVo agentConfigVo = new AgentConfigVo();
        agentConfigVo.setAgentid(qywxInnerConfig.getAgentId());
        agentConfigVo.setCorpid(qywxInnerConfig.getCorpId());
        //临时票据
        String ticket = getJsApiTicket();
        String ticket = getJsApiTicket(type);
        if (StringUtils.isEmpty(ticket)) {
           throw new ServiceException("获取票据异常");
        }
@@ -178,13 +178,22 @@
     * @paran type
     * @return
     */
    public String getJsApiTicket() {
    public String getJsApiTicket(String type) {
        String accessToken = getAccessToken();
        String ticket = redisTemplate.opsForValue().get(Constants.QY_WX_TICKET_KEY);
        String ticketKey = Constants.QY_WX_TICKET_KEY;
        String jsapiTicketUrl = qywxInnerConfig.getJsapiTicketUrl();
        if(!StringUtils.isEmpty(type)){
            ticketKey = ticketKey + type;
            jsapiTicketUrl = qywxInnerConfig.getJsapiTicketAgentUrl();
        }
        String ticket = redisTemplate.opsForValue().get(ticketKey);
        if(!StringUtils.isEmpty(ticket)){
            return ticket;
        }
        String url = String.format(qywxInnerConfig.getJsapiTicketAgentUrl(), accessToken);
        String url = String.format(jsapiTicketUrl, accessToken);
        JSONObject response = RestUtils.get(url);
        if(response.containsKey(Constants.QY_WX_ERR_CODE) && response.getInteger(Constants.QY_WX_ERR_CODE) != 0){