login登陆有三种,通过小程序code登陆、通过用户名密码登陆、通过email和密码登陆。
export namespace ILogin {
export interface WeApp {
code: string;
}
export interface Web {
username: string;
password: string;
}
export interface Web1 {
email: string;
password: string;
}
}
type LoginParam = ILogin.WeApp | ILogin.Web | ILogin.Web1;
export default class User extends Service {
public async login(params: LoginParam): Promise<any> {
console.log(params);
}
}
写三个 login 方法就好了,因为这三种场景处理的逻辑是不相同的,耦合在一起才会更麻烦