Merge pull request 'Add API wait function, Update ReadMe file' (#15) from dev-mrkbear into master
Reviewed-on: http://git.mrkbear.com/MrKBear/mini-dlpu-v3/pulls/15
This commit is contained in:
commit
73563de980
49
README.md
49
README.md
@ -2,6 +2,22 @@
|
|||||||
|
|
||||||
掌上教务处作为工业大学的社区开源项目,自从2017年开始已有近5年岁月,在无数同学的贡献之下,为大家打造便捷的校园服务。
|
掌上教务处作为工业大学的社区开源项目,自从2017年开始已有近5年岁月,在无数同学的贡献之下,为大家打造便捷的校园服务。
|
||||||
|
|
||||||
|
__*!!!注意!!!*__
|
||||||
|
|
||||||
|
请在主仓库提交代码,而非镜像仓库!
|
||||||
|
|
||||||
|
主仓库: http://git.mrkbear.com/MrKBear/mini-dlpu-v3
|
||||||
|
|
||||||
|
镜像仓库: https://github.com/Mr-k-bear/mini-dlpu-v3
|
||||||
|
|
||||||
|
## 目录
|
||||||
|
|
||||||
|
- [社区介绍](#小程序社区)
|
||||||
|
- [项目设计](#第三代小程序)
|
||||||
|
- [贡献规范](#社区贡献规范)
|
||||||
|
- [入门文档(等待撰写)](#第三代掌上教务处小程序)
|
||||||
|
- [设计架构(等待撰写)](#第三代掌上教务处小程序)
|
||||||
|
|
||||||
## 小程序社区
|
## 小程序社区
|
||||||
|
|
||||||
掌上教务处小程序诞生于2017年中旬,此时微信小程序刚刚公测。
|
掌上教务处小程序诞生于2017年中旬,此时微信小程序刚刚公测。
|
||||||
@ -48,12 +64,39 @@
|
|||||||
|
|
||||||
3. 更好的拓展性,加入更多大家喜欢的功能
|
3. 更好的拓展性,加入更多大家喜欢的功能
|
||||||
|
|
||||||
|
新功能:
|
||||||
|
|
||||||
|
1. 正在讨论设计,等待你的建议...
|
||||||
|
|
||||||
## 社区贡献规范
|
## 社区贡献规范
|
||||||
|
|
||||||
|
请仔细阅读!
|
||||||
|
### 项目贡献流程
|
||||||
|
|
||||||
请先邮件联系 ```mrkbear@mrkbear.com``` 获得 Gitea 平台账号
|
请先邮件联系 ```mrkbear@mrkbear.com``` 获得 Gitea 平台账号
|
||||||
|
|
||||||
在仓库中创建自己的分支,分支命名规范为 ```dev-你的昵称```
|
在仓库中创建自己的分支,分支命名规范为 ```dev-你的昵称```,例如 ```dev-mrkbear```
|
||||||
|
|
||||||
克隆此储库,在本地 ```checkout``` 到自己的分支
|
克隆此储库,在本地 ```git checkout dev-你的昵称``` 到自己的分支,进行改动。
|
||||||
|
|
||||||
开发完成后 ```push``` 到自己的远程分支,并发起合并请求,等待 review
|
开发完成后 ```git push``` 到自己的远程分支,并发起合并请求到 ```master``` 分支
|
||||||
|
|
||||||
|
发起合并请求时,需要指派给 ```MrKBear``` 进行代码审核,审核通过后,代码将完成合并。
|
||||||
|
|
||||||
|
### 注意事项
|
||||||
|
|
||||||
|
1. ```master``` 分支处于保护状态,仅通过合并请求进行修改
|
||||||
|
|
||||||
|
2. 代码提交时,请使用清晰明确的 ```message```
|
||||||
|
|
||||||
|
正例: ```Add timetable page``` 反例: ```阿巴阿巴阿巴阿巴```
|
||||||
|
|
||||||
|
3. 请勿将任何个人隐私信息以任何方式,放入代码中
|
||||||
|
|
||||||
|
4. 为保证 CI/CD,提交代码前必须保证编译可以通过
|
||||||
|
|
||||||
|
5. 一个文件不要超过 1000 行代码,尽量保证代码可读性
|
||||||
|
|
||||||
|
## 贡献者
|
||||||
|
|
||||||
|
@MrKBear (熊鲜森)
|
@ -181,7 +181,7 @@ class API<I extends IAnyData, O extends IAnyData> extends Emitter<IAPIEvent<I, O
|
|||||||
/**
|
/**
|
||||||
* 初始化标签
|
* 初始化标签
|
||||||
*/
|
*/
|
||||||
public initLabel(key: string) {
|
public initDebugLabel(key: string) {
|
||||||
this.key = key;
|
this.key = key;
|
||||||
this.LogLabel = new LogLabel(
|
this.LogLabel = new LogLabel(
|
||||||
`API:${ this.key }`, colorRadio(200, 120, 222)
|
`API:${ this.key }`, colorRadio(200, 120, 222)
|
||||||
@ -467,6 +467,44 @@ class API<I extends IAnyData, O extends IAnyData> extends Emitter<IAPIEvent<I, O
|
|||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 等待结果
|
||||||
|
*/
|
||||||
|
public wait(): Promise<IRespondData<O>>;
|
||||||
|
public wait(callBack?: ICallBack<O>): this;
|
||||||
|
public wait(callBack?: ICallBack<O>): Promise<IRespondData<O>> | this {
|
||||||
|
|
||||||
|
// 存在 callback 使用传统回调
|
||||||
|
if (callBack) {
|
||||||
|
callBack.success && this.on("success", callBack.success);
|
||||||
|
callBack.fail && this.on("fail", callBack.fail);
|
||||||
|
callBack.complete && this.on("complete", callBack.complete);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 不存在 callback 使用 Promise 对象
|
||||||
|
else {
|
||||||
|
return new Promise((r) => {
|
||||||
|
this.on("success", r);
|
||||||
|
this.on("fail", r);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动响应数据
|
||||||
|
*/
|
||||||
|
type IRespondData<O extends IAnyData> = Partial<IAPIEvent<IAnyData, O>["success"]> & IAPIEvent<IAnyData, O>["fail"];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回调对象
|
||||||
|
*/
|
||||||
|
interface ICallBack<O extends IAnyData> {
|
||||||
|
success?: (data: IAPIEvent<{}, O>["success"]) => any;
|
||||||
|
fail?: (data: IAPIEvent<{}, O>["fail"]) => any;
|
||||||
|
complete?: (data: IAPIEvent<{}, O>["complete"]) => any;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -515,4 +553,4 @@ enum HTTPMethod {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default API;
|
export default API;
|
||||||
export { API, IParamSetting, IAppAPIParam, HTTPMethod, RequestPolicy }
|
export { API, IParamSetting, IAppAPIParam, ICallBack, HTTPMethod, RequestPolicy }
|
@ -42,7 +42,7 @@ implements Partial<ILifetime> {
|
|||||||
|
|
||||||
public constructor() {
|
public constructor() {
|
||||||
super();
|
super();
|
||||||
this.initLabel("TestApi");
|
this.initDebugLabel("TestApi");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +53,11 @@ implements Partial<ILifetime> {
|
|||||||
info: {
|
info: {
|
||||||
data: "abc"
|
data: "abc"
|
||||||
}
|
}
|
||||||
}).request();
|
}).request().wait({
|
||||||
|
success: (d) => console.log(d)
|
||||||
|
}).wait({
|
||||||
|
success: (d) => console.log(d)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user