• 大小: 0.09M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 其他  

资源简介

wechat-api-master.zip

资源截图

代码片段和文件信息

package io.github.biezhi.wechat;

import io.github.biezhi.wechat.api.WeChatApi;
import io.github.biezhi.wechat.api.WeChatApiImpl;
import io.github.biezhi.wechat.api.annotation.Bind;
import io.github.biezhi.wechat.api.client.BotClient;
import io.github.biezhi.wechat.api.constant.Config;
import io.github.biezhi.wechat.api.constant.Constant;
import io.github.biezhi.wechat.api.enums.MsgType;
import io.github.biezhi.wechat.api.model.*;
import io.github.biezhi.wechat.exception.WeChatException;
import io.github.biezhi.wechat.utils.DateUtils;
import io.github.biezhi.wechat.utils.OkHttpUtils;
import io.github.biezhi.wechat.utils.WeChatUtils;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;

import java.lang.reflect.Method;
import java.util.*;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.linkedBlockingQueue;

/**
 * 微信机器人
 *
 * @author biezhi
 * @date 2018/1/18
 */
@Slf4j
public class WeChatBot {

    /**
     * 操作微信接口的API
     */
    private WeChatApi api;

    /**
     * 调用HTTP请求的客户端
     */
    private BotClient botClient;

    /**
     * 微信API配置
     */
    private Config config;

    @Getter
    @Setter
    private boolean running;

    /**
     * 登录会话
     */
    @Setter
    private LoginSession session;

    /**
     * 最后一次正常检查时间戳
     */
    @Getter
    private long lastCheckTs;

    /**
     * 接收消息重试次数
     */
    @Getter
    private final int receiveRetryCount = 5;

    /**
     * 待处理的消息队列
     */
    @Getter
    private volatile BlockingQueue messages = new linkedBlockingQueue<>();

    /**
     * 注解绑定的函数映射
     */
    private final Map> mapping = new HashMap<>(8);

    public WeChatBot(Builder builder) {
        this.config = builder.config;
        this.botClient = builder.botClient;
        this.session = new LoginSession();
        this.init();
    }

    public WeChatBot(Config config) {
        this(new Builder().config(config));
    }

    public Config config() {
        return this.config;
    }

    public LoginSession session() {
        return session;
    }

    public BotClient client() {
        return botClient;
    }

    public WeChatApi api() {
        return this.api;
    }

    public void addMessages(List messages) {
        try {
            if (null == messages || messages.size() == 0) {
                return;
            }
            for (WeChatMessage message : messages) {
                this.messages.put(message);
            }
        } catch (InterruptedException e) {
            log.error(“向队列添加 Message 出错“ e);
        }
    }

    public boolean hasMessage() {
        return this.messages.size() > 0;
    }

    public WeChatMessage nextMessage() {
        try {
            return this.messages.take();
        } catch (InterruptedException e) {
            log.error(“从队列获取 Message 出错“ e);
            return null;
        }
    }

    private void ini

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-30 03:14  wechat-api-master\
     文件        2067  2018-03-30 03:14  wechat-api-master\.gitignore
     文件         141  2018-03-30 03:14  wechat-api-master\.travis.yml
     文件        1076  2018-03-30 03:14  wechat-api-master\LICENSE
     文件        3588  2018-03-30 03:14  wechat-api-master\README.md
     目录           0  2018-03-30 03:14  wechat-api-master\docs\
     文件           0  2018-03-30 03:14  wechat-api-master\docs\.nojekyll
     文件        5552  2018-03-30 03:14  wechat-api-master\docs\README.md
     文件         252  2018-03-30 03:14  wechat-api-master\docs\_coverpage.md
     目录           0  2018-03-30 03:14  wechat-api-master\docs\_media\
     文件        1810  2018-03-30 03:14  wechat-api-master\docs\_media\logo.svg
     文件       73478  2018-03-30 03:14  wechat-api-master\docs\favicon.ico
     文件         782  2018-03-30 03:14  wechat-api-master\docs\index.html
     文件       56726  2018-03-30 03:14  wechat-api-master\docs\index.min.js
     文件        8489  2018-03-30 03:14  wechat-api-master\pom.xml
     目录           0  2018-03-30 03:14  wechat-api-master\src\
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\
     文件       10116  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\WeChatBot.java
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\
     文件        2705  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\ChatLoop.java
     文件        3035  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\WeChatApi.java
     文件       42482  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\WeChatApiImpl.java
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\annotation\
     文件         838  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\annotation\Bind.java
     目录           0  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\client\
     文件       10426  2018-03-30 03:14  wechat-api-master\src\main\java\io\github\biezhi\wechat\api\client\BotClient.java
............此处省略61个文件信息

评论

共有 条评论