
import { DepUtil } from '~framework/aop/inject'
import { RequestService } from '~framework/util/base-http/request.service';
import {  Observable } from 'rxjs';
import { LoginDTO, ILoginResponse,  IVerificationCodeInfo, ILoginRequest} from '../dto/login.dto'

/**
*
*   示例代码，按照实际使用进行增删
*
*/
/** 请求接口 */
const CODE_IMAGE = 'GlobPermissionVerificationPlugin/VerifyCode'  // 图形验证码
const LOGIN = 'GlobPermissionVerificationPlugin/Login'        //登录

console.log(RequestService, 'RequestServiceRequestServiceRequestService');

@DepUtil.Injectable()
export class LoginService extends LoginDTO {
    @DepUtil.Inject(RequestService)
    private readonly requestService = new RequestService();
    constructor(){
        super();
    }

    //登录
    userLogin(params: ILoginRequest): Observable<ILoginResponse>{
        return this.requestService.post(LOGIN, params);
    }

    // 获取图形验证码
    getCodeImage(): Observable<IVerificationCodeInfo>{
        return this.requestService.get(CODE_IMAGE);
    }
}