Extend core API(#24) #33
@ -1,4 +1,5 @@
|
|||||||
import { Emitter } from "./Emitter";
|
import { Emitter } from "./Emitter";
|
||||||
|
import { API_FAILED_SHOW_MESSAGE } from "./Config";
|
||||||
import { Logger, LogLabel, LevelLogLabel, colorRadio, StatusLabel } from "./Logger";
|
import { Logger, LogLabel, LevelLogLabel, colorRadio, StatusLabel } from "./Logger";
|
||||||
interface IAppAPIParam {
|
interface IAppAPIParam {
|
||||||
api: {
|
api: {
|
||||||
@ -491,6 +492,65 @@ class API<I extends IAnyData, O extends IAnyData> extends Emitter<IAPIEvent<I, O
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求加载时显示加载动画
|
||||||
|
* @param message 消息 可以为函数
|
||||||
|
* @param mask 使用蒙版阻止点击穿透
|
||||||
|
*/
|
||||||
|
public showLoading(message: string | ((data?: Partial<I>) => string), mask: boolean = false): this {
|
||||||
|
|
||||||
|
// 获取标题
|
||||||
|
let title: string = message instanceof Function ? message(this.data) : message;
|
||||||
|
|
||||||
|
this.on("request", () => {
|
||||||
|
wx.showLoading({
|
||||||
|
title, mask
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on("complete", () => {
|
||||||
|
wx.hideLoading();
|
||||||
|
});
|
||||||
|
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示导航栏加载动画
|
||||||
|
*/
|
||||||
|
public showNavigationBarLoading(): this {
|
||||||
|
|
||||||
|
this.on("request", () => {
|
||||||
|
wx.showNavigationBarLoading()
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on("complete", () => {
|
||||||
|
wx.hideNavigationBarLoading();
|
||||||
|
});
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求失败后的提示语句
|
||||||
|
*/
|
||||||
|
public showFailed(): this {
|
||||||
|
|
||||||
|
// 生成随机索引值
|
||||||
|
let randomIndex = Math.floor(
|
||||||
|
Math.random() * API_FAILED_SHOW_MESSAGE.length
|
||||||
|
);
|
||||||
|
|
||||||
|
this.on("fail", () => {
|
||||||
|
wx.showToast({
|
||||||
|
title: API_FAILED_SHOW_MESSAGE[randomIndex],
|
||||||
|
icon: "none"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return this;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,3 +36,14 @@ export const LOGGER_FILTER:Array<RegExp | string>[] = [
|
|||||||
// 输出警告和错误
|
// 输出警告和错误
|
||||||
// ["WARN", "ERROR", "FATAL"],
|
// ["WARN", "ERROR", "FATAL"],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求失败的提示用语
|
||||||
|
* 请求失败时如果选择自动显示消息
|
||||||
|
* 则会从以下内容中选择
|
||||||
|
*/
|
||||||
|
export const API_FAILED_SHOW_MESSAGE: string[] = [
|
||||||
|
"失败啦(ó_ò。)", "服务器睡着了", "数据移民火星了",
|
||||||
|
"数据在半路走丢了", "服务器打了个瞌睡", "服务器被玩坏了",
|
||||||
|
"服务器在扶老奶奶过马路", "服务器累了", "服务器在拯救世界"
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user