declare type Envs = "dev" | "prod"; declare type SmsLoginType = 0 | 1; // 发送短信验证码,事件类型 declare type SmsCodeType = 30 | 31 | 32 | 33 | 34; interface RequestOptions extends RequestInit { // 是否自定义处理错误 selfCase?: Boolean; // 成功回调 successCb?: LoginCallback; // 失败回调 failCb?: LoginCallback; data?: Record; } interface CommonData { clientVer: string; // 客户端版本号 deviceSign: string; // 设备唯一标识,由appId、appName、appKey、设备硬件信息等通过sha和MD5构成 deviceName: string; // 设备名称:Mobile为用户设置用户名,PC为计算机名,Web为浏览器名 deviceModel: string; //设备型号:IPhone13 等 platType: string; // 平台类型:0-PC,1-Web,2-Mobile,10-Android,11-IOS OSVer: string; // 操作系统版本号 isp: string; // 网络运营商:NONE-获取不到,CMCC-中国移动,CUCC-中国联通,CTC-中国电信,OTHER-其他运营商 netType: string; // 网络类型 WIFI/3G/4G/5G(目前客户端只能区分wifi与蜂窝网) timestamp: number; // 请求时间戳 } interface SmsCodeParams { phone?: string; // 手机号 userid?: string; // type: 30 | 31 | 32 | 33 | 34; // 短信类型:30-登录,31-注册,32-绑手机,33-改密码,34-验证码 [propname: string]: any; } interface WechatSmsCodeParams { ph: string; // 手机号 state: string; // 用户授权凭证 type: 30 | 31 | 32 | 33 | 34; // 短信类型:30-登录,31-注册,32-绑手机,33-改密码,34-验证码 [propname: string]: any; } interface SmsLoginParams { // 短信验证码token tk?: string; phone: string; // 手机号 smsCode: string; // 短信验证码 type: 0 | 1; // 注册登录模式:0-仅注册,1-注册并登录 picCode?: string; // 图形验证码 extra?: string; // 其他信息,可能是业务相关信息 [propname: string]: any; } interface WechatSmsLoginParams { ph: string; // 手机号 smsCode: string; // 短信验证码 extra?: string; // 其他信息,可能是业务相关信息 state: string; // 用户授权凭证 channel: string; // 用户注册渠道 [propname: string]: any; } interface ServerDomain { dev: string; prod: string; } interface InitData { appId: string; // 业务ID,业务方传入 appName: string; // app包名称 } interface LoginCallback { (arg?: any): any; } interface LoginResponse { errCode: number; errMsg: string; needRetry?: number; data: T; } interface WechatLoginAccountParams { state: string; code: string; channel?: string; } interface WechatLoginAccountResponse { isBd: number; // 用户是否绑定 userid: string; // 用户ID,isBd=1时有效 rk: string; // 用户rk,isBd=1时有效 rkExp: string; // rk过期时间,isBd=1时有效 ak: number; // 用户ak,isBd=1时有效 akExp: number; // ak过期时间,isBd=1时有效 } interface WechatLoginTokenParams {} interface WechatLoginTokenResponse { state: string; //用户授权凭证 } interface UserInfoResponse { mobile: string; nickName: string; regTime: string; } interface SmsSuccessResponse { tk: string; smsSeq: number; } interface InitOtherConfig { domain?: string; initCallback?: LoginCallback; } interface LoginSDKType { serverDomain: string; commonData: string; initData: string; /** * 初始化SDK * @param config InitData * @param domain 请求域名,默认是https://account.onethingcloud.com */ // init(config: InitData, domain?: string, initCallback?: LoginCallback): void; init(config: InitData, otherConfig?: InitOtherConfig): void; loginRequest(url: string, params?: RequestOptions): Promise; /** * 查询登录态,为异步方法,如果没userid和accessToken有一个不存在则是未登录状态,否则就会 * 调用keepAlive接口续期登录态 * @param callback * @returns */ isLogined(callback?: LoginCallback): false | undefined; /** * 发送短信验证码 * @param {SmsCodeParams} data * @param {string} data.phone 用户手机号 * @param {string} data.type 短信登录场景 * @param successCb * @param failCb * @returns {Promise} */ sendSms( data: SmsCodeParams, successCb?: LoginCallback, failCb?: LoginCallback ): Promise; /** * 手机短信验证码登录 * @param {SmsLoginParams} data * @param {string} data.tk 短信验证码token * @param {string} data.type 注册登录模式 * @param {string} data.phone 用户手机号 * @param {string} data.smsCode 短信验证码 * @param {string} data.extra 其他信息 * @param successCb * @param failCb * @returns {Promise} */ smslogin( data: SmsLoginParams, successCb?: LoginCallback, failCb?: LoginCallback ): Promise; /** * 自动登录 * @returns */ autologin(successCb?: LoginCallback, failCb?: LoginCallback): Promise; /** * 登录态保活,如果登录态过期则需要调用autoLogin接口 * @returns */ KeepAlive(successCb?: LoginCallback, failCb?: LoginCallback): Promise; /** * 获取用户信息 * @param successCb * @param failCb * @returns */ getUserInfo(successCb?: LoginCallback, failCb?: LoginCallback): Promise; /** * 退出登录接口 * @param successCb * @param failCb * @returns */ logout(successCb?: LoginCallback, failCb?: LoginCallback): Promise; ping(): Promise; /** * 获取第三方登录token * @param {WechatLoginTokenParams} data * @param {string} data.oplatformType 开放平台厂家 * @param successCb * @param failCb * @returns */ getWechatLoginToken( data: WechatLoginTokenParams, successCb?: LoginCallback, failCb?: LoginCallback ): Promise; /** * 获取第三方授权账号是否存在 * @param {WechatLoginAccountParams} data * @param {string} data.state 用户授权该用户可以访问此接口,并识别该用户(用获取state接口的state) * @param {string} data.code 第三方平台临时票据 * @param successCb * @param failCb * @returns */ queryWechatLoginAccount( data: WechatLoginAccountParams, successCb?: LoginCallback, failCb?: LoginCallback ): Promise; /** * 第三方授权绑定手机号发送验证码 * @param {WechatSmsCodeParams} data * @param {string} data.ph 用户手机号 * @param {string} data.type 短信登录场景 * @param {string} data.state 用户授权该用户可以访问此接口,并识别该用户 * @param successCb * @param failCb * @returns {Promise} */ sendWechatLoginSmsCode( data: WechatSmsCodeParams, successCb?: LoginCallback, failCb?: LoginCallback ): Promise; /** * 第三方授权绑定手机号 * @param {WechatSmsLoginParams} data * @param {string} data.ph 用户手机号 * @param {string} data.smsCode 短信验证码 * @param {string} data.state 用户授权该用户可以访问此接口,并识别该用户 * @param {string} data.channel 注册渠道 * @param {string} data.extra 其他信息 * @param successCb * @param failCb * @returns {Promise} */ wechatSmsLogin( data: WechatSmsLoginParams, successCb?: LoginCallback, failCb?: LoginCallback ): Promise; } declare const LoginSDK: LoginSDKType; export default LoginSDK; export { RequestOptions, ServerDomain, CommonData, InitData, LoginCallback, SmsCodeParams, LoginResponse, SmsSuccessResponse, UserInfoResponse, SmsLoginParams, Envs, InitOtherConfig, WechatLoginTokenParams, WechatLoginAccountParams, WechatSmsLoginParams, WechatSmsCodeParams, WechatLoginAccountResponse, WechatLoginTokenResponse, };