这是服务端模组中最重要的一部分,大多数的进阶修改都需要这一内容。
这是最简单的内容,也是最难的内容。前面的那些内容,伪代码的知识可能够用,但是在这一节,你需要实打实的TS技术。
重写应该在AKI启动前,preAkiLoad部分的大部分内容我们可以照抄,
但是在25行,我们解析需要重写的模块。
container.afterResolution("LauncherController", (_t, result: LauncherController) =>
然后我们需要重写login()方法,
result.login = (info: ILoginRequestData)
所以28行是result.login。等号后面的,就是原来的login()的参数。
30行就是我们重写的内容。为了便于我们代码的整洁,就不在这面写了,我们新建了一个方法并在此引用。
那么replacementFunction()里的内容就任由我们发挥了,里面的东西就完全覆盖掉原有方法的内容了。
示例中40-52行就是重复旧的逻辑,之后的就是新增的逻辑,最后再返回旧的返回。这里重写的目的就是在函数结束(return)之前,执行额外的操作(控制台输出一些信息),没有修改返回内容