package cc.mrbird.febs.unisoftiot.enums;
|
|
import lombok.Getter;
|
|
/**
|
* 响应码枚举类,用于定义API响应的各种状态码及其含义
|
*/
|
@Getter
|
public enum ResponseCodeEnum {
|
|
// 定义各种错误响应码和成功响应码
|
FAIL_5009(5009, "too many request", "单个设备访问最高限制1次/秒,请勿超过此限制"),
|
FAIL_5008(5008, "ip:*.*.*.* is not in white list", "开启了IP检查,但接口访问IP不在白名单内,请在控制台的开发设置中,将IP加入白名单"),
|
FAIL_5007(5007, "bad debug key", "指定了debug参数,但未开启调试模式,或者是debug参数不正确或已过期"),
|
FAIL_5006(5006, "bad sign", "签名错误,正确签名为 md5(md5(开发者密码) + (url中的ts参数))"),
|
FAIL_5005(5005, "please set app secret", "未设置开发者密码,请在控制台的开发设置中进行设置"),
|
FAIL_5004(5004, "miss param sign", "请在请求接口中指定sign(签名),这是一个计算值"),
|
FAIL_5003(5003, "bad ts", "时间戳错误,ts为请求发生时的时间,是一个动态的值,必须为中国时间"),
|
FAIL_5002(5002, "miss param ts", "请在请求接口中指定ts(时间戳),取值为请求时的时间戳,10位数字"),
|
FAIL_5001(5001, "miss app id", "请求地址为 https://iot-api.unisoft.cn/{APPID}/,缺少{APPID},请在控制台查看您的appid"),
|
SUCCESS(200, "ok", "");
|
|
// 响应码
|
private int code;
|
// 简短消息
|
private String msg;
|
// 描述信息
|
private String desc;
|
|
/**
|
* 构造函数,初始化响应码、消息和描述
|
*
|
* @param code 响应码
|
* @param msg 简短消息
|
* @param desc 描述信息
|
*/
|
ResponseCodeEnum(int code, String msg, String desc) {
|
this.code = code;
|
this.msg = msg;
|
this.desc = desc;
|
}
|
|
/**
|
* 根据响应代码获取描述信息
|
* 该方法用于将系统内部的响应代码转换为人类可读的描述信息
|
* 主要通过遍历枚举类ResponseCodeEnum来匹配传入的代码,并返回对应的描述
|
* 如果没有找到匹配的代码,则返回空字符串
|
*
|
* @param code 响应代码,用于查找对应的描述信息
|
* @return 描述信息如果找到匹配的代码,否则返回空字符串
|
*/
|
public static String getDesc(int code) {
|
for (ResponseCodeEnum item : ResponseCodeEnum.values()) {
|
if (item.getCode() == code) {
|
return item.getDesc();
|
}
|
}
|
return "";
|
}
|
|
/**
|
* 根据响应代码获取消息信息
|
* 该方法用于将系统内部的响应代码转换为消息信息
|
* 主要通过遍历枚举类ResponseCodeEnum来匹配传入的代码,并返回对应的消息
|
* 如果没有找到匹配的代码,则返回空字符串
|
*
|
* @param code 响应代码,用于查找对应的消息信息
|
* @return 消息信息如果找到匹配的代码,否则返回空字符串
|
*/
|
public static String getMsg(int code) {
|
for (ResponseCodeEnum item : ResponseCodeEnum.values()) {
|
if (item.getCode() == code) {
|
return item.getMsg();
|
}
|
}
|
return "";
|
}
|
/**
|
* 验证响应码是200
|
*/
|
public static boolean isSuccess(int code) {
|
return SUCCESS.getCode() == code;
|
}
|
|
/**
|
* 验证响应码不是200
|
*/
|
public static boolean isFail(int code) {
|
return !isSuccess(code);
|
}
|
|
}
|