Files
bbq/src/app/shared/services/business/captcha.service.ts
Taric Xin a6a0a9f7fb edit
2022-01-04 17:18:05 +08:00

72 lines
2.3 KiB
TypeScript

/*
* @Author: Maple
* @Date: 2021-03-22 11:42:26
* @LastEditors: Do not edit
* @LastEditTime: 2021-03-29 14:45:43
* @Description: 全局验证码服务
*/
import { ComponentRef, Injectable, Injector } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { BaseService } from '../core/base.service';
@Injectable({
providedIn: 'root'
})
export class EACaptchaService extends BaseService {
// 通过手机号发送短信验证码
private $api_send_sms_by_mobile = `/api/mdc/pbc/smsSend/getSMVerificationCode?_allow_anonymous=true&_allow_badcode=true`;
// 验证手机号为平台用户后发送短信验证码
private $api_send_sms__by_validate_mobile = `/chiauserBasicInfo/forgetPassword/getAccountSMVerificationCode`;
// 滑块验证码获取短信
$api_dun_sms = `/scce/pbc/pbc/verification/verificationSlider?_allow_anonymous=true&_allow_badcode=true`;
// 根据当前登录用户绑定的手机号码获取短信验证码
$api_captcha_sms_code = `/scce/pbc/pbc/verification/getSMVerificationCodeByToken`;
// 获取应用租户的管理员用户发送验证码
$api_getAppLesseeAdminSMVerificationCode = `/api/mdc/cuc/userAuthority/adminSmverificationCode?_allow_badcode=true`;
/**
* 根据当前登录用户绑定的手机号码获取短信验证码
*/
getCaptchaBySMSNoPhone(): Observable<any> {
return this.request(this.$api_captcha_sms_code, { appId: this.envSrv.getEnvironment().appId }, 'POST', true, 'FORM');
}
constructor(public injector: Injector) {
super(injector);
}
/**
* 发送短信验证码
* @param mobile 手机号码
*/
sendSMSCaptchaByMobile(mobile: string): Observable<any> {
return this.request(
this.$api_send_sms_by_mobile,
{ appId: this.envSrv.getEnvironment()?.appId, phoneNumber: mobile },
'POST',
true,
'FORM'
);
}
/**
* 滑块验证获取短信码
* @param tel 手机号
* @param validate 滑动验证通过字符串
* @param url api地址
*/
getCaptchaByDun(mobile: string, validate: string, url?: string): Observable<any> {
return this.request(
url || this.$api_dun_sms,
{ appId: this.envSrv.getEnvironment()?.appId, phoneNumber: mobile, user: mobile, validate },
'POST',
true,
'FORM'
);
}
}