Skip to content

SuppressWarnings.Things

Li Jiaming edited this page Jun 15, 2019 · 11 revisions

SuppressWarnings.Things

SuppressWarnings.Things

让你通过公众号控制自己写的程序

  • 应用场景1: 通过命令查看自己的服务器运行状态
  • 应用场景2: 查看我的树莓派当前的运行情况
  • 应用场景3: 通过命令控制硬件设备:开灯,关灯,打开电视,播放音乐,...
  • 应用场景N: 通过命令控制任何程序

Get Started

<dependency>
  <groupId>com.suppresswarnings</groupId>
  <artifactId>com.suppresswarnings.things</artifactId>
  <version>1.0.13</version>
</dependency>

在你的项目中的pom.xml加入这个依赖,然后开始写代码。

Example如下

import com.suppresswarnings.things.SuppressWarnings;
import com.suppresswarnings.things.Things;
import com.suppresswarnings.things.ThingsManager;
import com.suppresswarnings.things.qr.FileQR;
import com.suppresswarnings.things.qr.JFrameQR;
import com.suppresswarnings.things.qr.ScreenQR;

@SuppressWarnings("测试Things是否可以")
public class Example implements Things {

    public static void main(String[] args) {
        ThingsManager.connect(new Example());
    }

    // 注意:这里是com.suppresswarnings.things.SuppressWarnings
    @SuppressWarnings("测试一下")
    public String test(String input) {
        System.out.println("输入: " + input);

        return SUCCESS;
    }

    @Override
    public String description() {
        return "测试Things是否可用";
    }

    /**
    *
    *新增逻辑
    */
    @Override
    public void showQRCode(String qrCodeImageAbsolutePath, String text) {
        //将二维码打印到屏幕,适合服务器运行;
        //ScreenQR.show(qrCodeImageAbsolutePath, text);
        //将二维码写入本地文件,都适合,
        //FileQR.show(qrCodeImageAbsolutePath, text);
        //将二维码输出到弹框显示,适合本机运行(mac或者windows都可以)
        JFrameQR.show(qrCodeImageAbsolutePath, text);
    }

    @Override
    public String exception(String error) {
        System.err.println("Error: " + error);
        //这里最好停机或者调用命令重启该服务,一般网络异常或者请求参数异常,或者服务器挂了,会调用这个方法。
        return "error";
    }
}

运行main方法,会弹出二维码,扫码就可以使用了

在公众号「素朴网联」输入对应的命令就可以直达程序

解说

  • 程序入口main方法,ThingsManager.connect(new Example());
  • 实现Things接口, implements Things
  • 使用注解com.suppresswarnings.things.SuppressWarnings,@SuppressWarnings("测试一下")
    1. 其中value是String类型,
    1. 如果注解在方法上就是命令(方法是固定格式:`public String test(String input))
    1. 如果注解在其他地方就是普通说明(后期可能会对类上面的注解进行解析)

changeLog

  • 二维码不再弹框展示
  • 支持在树莓派运行输出二维码到屏幕
  • 保持心跳连接