{"version":3,"sources":["webpack://_N_E/./node_modules/@byted-sdk/account-api/dist/account-api.esm.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_inheritsLoose","subClass","superClass","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","repeatRequest","URL_PREFIX","WEB_URL","SEND_MOBILE_CODE","SEND_EMAIL_CODE","VERIFY_MOBILE_CODE","VERIFY_EMAIL_CODE","CHECK_MOBILE_CODE","CHECK_EMAIL_CODE","SMS_LOGIN","SMS_LOGIN_ONLY","SMS_LOGIN_CONTINUE","EMAIL_LOGIN","EMAIL_REGISTER_LOGIN","EMAIL_REGISTER","PWD_LOGIN","AUTH_LOGIN","AUTH_LOGIN_ONLY","AUTH_BIND_ONLY","MOBILE_BIND_ONLY","MOBILE_EMAIL_REGISTER","MOBILE_REGISTER","MOBILE_OAUTH","LOGOUT","CHECK_LOGIN","BIND_WITH_MOBILE_LOGIN","GET_QRCODE","CHECK_QRCONNECT","SCAN_QRCODE","CONFIRM_QRCODE","THIRD_AUTH","MOBILE_BIND","EMAIL_BIND","AUTH_BIND","AUTH_UNBIND","AUTH_SWITCH_BIND","MOBILE_REBIND","EMAIL_REBIND","RESET_PWD_BY_MOBILE","RESET_PWD_BY_EMAIL","RESET_PWD_BY_MOBILE_TICKET","RESET_PWD_BY_EMAIL_TICKET","PWD_CHANGE_BY_MOBILE","PWD_UPDATE","PWD_CHANGE_BY_EMAIL","PWD_SET","PWD_HAS_SET","ACCOUNT_VERIFY","AUTH_VERIFY","CANCEL_VERIFY_WAY","CANCEL_CHECK","CANCEL_CONFIRM","CHECK_MOBILE_REGISTER","CHECK_EMAIL_REGISTER","GET_OPEN_AUTH_INFO","OPEN_SEND_CODE","OPEN_SMS_AUTH","OPEN_ACCOUNT_AUTH","ACCOUNT_INFO","WEB_AFF_URL","OAUTH_LOGIN_CALL","OAUTH_LOGIN_ONLY","OAUTH_LOGIN","SUBJECT_LOGIN_LIST","SUBJECT_LOGIN","REGISTER_EMAIL_USER_ONLY","REGISTER_EMAIL","REGISTER_MOBILE_USER_ONLY","REGISTER_MOBILE","RESET_BY_MOBILE","RESET_BY_EMAIL","MOBILE_INVITE","EMAIL_INVITE","LARK_INVITE","INVITE_LIST","CANCEL_INVITE","RESEND_INVITE","UPDATE_INVITE","CHECK_INVITE_VALID","ACCEPT_INVITE","CREATE_BY_USERNAME","CREATE_BY_MOBILE","CREATE_BY_EMAIL","SUBJECT_LIST","SUBJECT_DEPUTY_LIST","SUBJECT_IDENTITY_LIST","UPDATE_DEPUTY_INFO","FREEZE_DEPUTY","DELETE_DEPUTY","UPDATE_SUBJECT_INFO","FREEZE_SUBJECT","RESOURCE_LIST","CREATE_ROLE","UPDATE_ROLE","BAN_ROLE","ROLE_LIST","ROLE_INFO","CREATE_USER_WITH_ROLE","ADD_USER_ROLE","DELETE_USER_ROLE","USER_ROLE_LIST","ALL_USER_ROLE_LIST","USER_PERMISSIONS","SUCCESSOR_SEND_CODE","TRANSFER_MANAGER","WEB_SSO","MOBILE_CODE_URL","MOBILE_CODE_URL_V2","EMAIL_ACTIVATE_URL","EMAIL_ACTIVATE_URL_V2","EMAIL_ACTIVATE_CODE_URL","EMAIL_ACTIVATE_CODE_URL_V2","MOBILE_CODE_LOGIN_URL","MOBILE_CODE_LOGIN_URL_V2","ACCOUNT_LOGIN_URL","ACCOUNT_LOGIN_URL_V2","AUTH_LOGIN_URL","EMAIL_ACTIVATE_CODE_LOGIN","EMAIL_REGISTER_V2","MOBILE_REGISTER_WITH_EMAIL","MOBILE_REGISTER_WITH_EMAIL_V2","SSO_EMAIL_ACTIVATE_CODE_URL","RESET_PASSWORD","BIND_MOBILE","CHANGE_MOBILE","QUICK_AUTH","APP_URL","initAcrawler","region","options","url","callback","script","document","createElement","type","src","getElementsByTagName","appendChild","readyState","onreadystatechange","onload","loadScript","byted_acrawler","window","enablePathList","concat","values","init","aid","dfp","acrawler","boe","isBoe","intercept","TTGCaptcha","defaultOptions","iid","did","sideSlide","lang","showMode","app_name","captchaMap","cn","sg","va","sliderView","params","request","props","_props$isBoe","secondVerifyWebOptions","defaultCaptchaHost","undefined","commonOptions","String","captchaOptions","captchaSideSlide","language","captchaShowMode","appName","host","captchaHost","initCaptcha","config","requestConfig","verifyData","parsedVerifyData","JSON","parse","e","console","log","Promise","resolve","reject","render","verify_data","successCb","getFp","then","fp","_repeatRequest","isResend","data","err","closeCb","callBack","res","_repeatRequest2","closeCallBack","get","getCookie","arr","reg","RegExp","cookie","match","unescape","printGroupLog","title","content","style","group","forEach","groupEnd","encrypt","value","newCode","result","str","code","toString","back","charCodeAt","push","j","writeUTF","join","encryptParams","keyList","mix_mode","fixed_mix_mode","newParams","after","_res$config","_res$headers","_resp3","_resp3$data","_resp4","_resp4$data","_resp5","_resp6","_resp","_resp2","logid","headers","resp","initProps","printLog","error","message","error_code","sliderDecisionConfig","verify_center_decision_conf","verify_center_secondary_decision_conf","_resp7","formatResp","log_id","createXHR","commonParams","xhr","a","baseURL","location","hostname","withCredentials","interceptors","use","_config$isResend","method","csrfHeader","Accept","filterData","filter","includes","map","encodeURIComponent","stringify","before","response","after$1","_resp$data","_config$data","_config$data$data","parseResponse","SUCCESS","Logid","ERROR","ifShowCaptcha","appShowCaptcha","BaseInterface","_props$scene","scene","_props$language","_props$subjectAid","subjectAid","account_sdk_source","subject_aid","RequestBehavior","_get","fetch","adapter","path","_config$method","_config$params","toUpperCase","is_native_h5","needCommonParams","header","status","statusText","transformRequest","dataObj","createFetch","LoginAPI","_this","sendCode","mobile","smsLogin","_params$need_frozen_u","need_frozen_user","sendEmailCode","email","emailLogin","_params$need_frozen_u2","pwdLogin","_encryptParams","password","_params$need_frozen_u3","loginType","find","item","oauthLoginCall","platform_app_id","next","oauthLogin","redirect_uri","_params$need_frozen_u4","_params$login_only","login_only","subjectLoginList","subjectLogin","login_subject_uid","_params$user_identity","user_identity_id","logout","_params$next","_ref","nextUrl","href","RegisterAPI","_params$extra_params","extra_params","verifyEmail","_params$extra_params2","registerByEmail","_params$extra_params3","_params$only_user","only_user","sendMobileCode","_params$extra_params4","verifyMobile","_params$extra_params5","registerByMobile","_params$extra_params6","_params$only_user2","ForgetPwdAPI","mobileReset","emailReset","InviteAPI","mobileInvite","emailInvite","larkInvite","getInvitationList","_params$page","page","_params$page_size","page_size","cancelInvitation","_params$invite_id","invite_id","resendInvitation","_params$invite_id2","_params$next_url","next_url","updateInvitation","_params$invite_id3","deputy_identity_id","deputy_name","_params$extra_params7","checkRegisterStatus","invite_ticket","_params$extra_params8","acceptInvitation","invite_code","_params$extra_params9","SubjectAPI","createByUsername","createByMobile","createByEmail","getSubjectList","getSubjectDeputyList","_params$page2","_params$page_size2","getSubjectIdentityList","_params$page3","_params$page_size3","updateDeputyInfo","sec_user_id","freezeDeputy","_params$is_frozen","is_frozen","deleteDeputy","updateSubjectInfo","sec_subject_uid","subject_name","base_infos","detail_infos","_params$extra_params10","freezeSubject","_params$is_frozen2","_params$extra_params11","ResourceAPI","getResourceList","subject_uid","RoleAPI","createRole","role_name","permissions","updateRole","role_key","description","banRole","getRoleList","getRoleInfo","UserAPI","createUserWithRole","name","identity_id","addUserRole","sec_user_identity_ids","deleteUserRole","getUserRoleList","getAllUserRoleList","getUserPermissions","SuperAPI","sendCodeToOldManager","sendEmailCodeToOldManager","_params2$extra_params","verifyOldManagerMobile","verifyOldManagerEmail","sendCodeToNewManager","verify_ticket","sendEmailCodeToNewManager","verifyNewManagerMobile","verifyNewManagerEmail","transferManager","LoginAPI$1","_params$registerOnly","registerOnly","smsLoginContinue","sms_code_key","webLogin","account","authLogin","access_token","access_token_secret","openid","profile_key","_params$login_only2","getOauthMobile","expires_in","platform","_params$need_plaintex","need_plaintext","authBindLogin","sms_code","mobileBindLogin","emailRegister","_params$ifLogin","ifLogin","_params$extra_params12","mobileRegister","_params$extra_params13","mobileEmailRegister","email_code","_params$extra_params14","sms_type","ect_type","checkLogin","_params$extra_params15","bindWithMobileLogin","_params$extra_params16","thirdAuth","_get2","_params$next2","_params$use_local_hos","use_local_host","action","QrCodeLoginAPI","_proto","getQrcode","checkQrconnect","token","BindAPI","_params$unbind_exist","unbind_exist","bindMobile","_params$unbind_exist2","bindEmail","bindAuth","unbindAuth","switchBindAuth","ExtraAPI","checkMobileRegistered","checkEmailRegistered","RegisterAPI$1","ForgetPwdAPI$1","resetPwdByMobile","resetPwdByEmail","resetPwdByMobileTicket","ticket","resetPwdByEmailTicket","RebindAPI","sendCodeToOldMobile","_params$use_bind_mobi","use_bind_mobile","validateOldMobile","_params$use_bind_mobi2","sendCodeToNewMobile","old_mobile","rebindMobile","_params$kick_other","kick_other","sendCodeToOldEmail","validateOldEmail","sendCodeToNewEmail","rebindEmail","PasswordAPI","_params","_params$verify_mobile","verify_mobile_seperate","validateMobile","changePwdByMobile","updatePwd","current_password","validateEmail","changePwdByEmail","setPassword","checkHasSetPwd","_params3$extra_params","VerifyAPI","notLoginSendCode","notLoginValidateMobile","notLoginSendEmailCode","notLoginValidateEmail","accountVerify","user_login_version","authVerify","CancelAPI","verifyWay","cancel_ticket","checkIfPass","value_ticket","confirm","abandon","OpenAPI","getAuthInfo","client_key","scope","smsAuth","state","accountAuth","AccountAPI","getAccountInfo","WebInterface","_BaseInterface","_props$printLog","_props$acrawler","argus","login","qrcodeLogin","register","forgetPwd","bind","rebind","extra","verify","cancel","open","affLogin","affRegister","affInvite","affSubject","affForgetPwd","affResource","affRole","affUser","affSuper","VerifyAPI$1","AppInterface","CommonService","baseSendMobileCode","baseSendMobileCodeV2","_this2","baseSendEmailLink","_this3","baseSendEmailLinkV2","_this4","baseSendEmailCode","_this5","baseSendEmailCodeV2","_this6","BindMobileService","_CommonService","sendMobileCodeV2","mobileBind","ChangeMobileService","mobileChange","LoginService","originHost","quickAuthV2","accountLoginV2","service","wapLogin","_params$origin","origin","_params$type","_params$scopes","scopes","_params$url_params","url_params","_params$platform","_params$replace","replace","realNext","paramMap","query","len","index","redirectUrl","sendEmailLink","sendEmailLinkV2","sendEmailCodeV2","_params$change_bind","change_bind","PasswordService","resetPassword","QrCodeService","QuickAuthService","quickAuth","RegisterService","emailRegisterXhr","emailRegisterAndBindMoblieV2","mobileRegisterAndBindEmailV2","emailActivateCodeLogin","SsoInterface","changeMobile","WebInterfaceSdk","SsoInterfaceSdk","SdkType","web","app","sso","SdkInstance","AccountSdkFactory","createAccountSdk","targetType","Type"],"mappings":"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","file":"static/chunks/56d475e9.2ca101226803ce487c83.js","sourcesContent":["import * as CNCaptcha from '@byted/sec_sdk_build/captcha';\nimport * as SGCaptcha from '@byted/sec_sdk_build/captcha/sg';\nimport * as VACaptcha from '@byted/sec_sdk_build/captcha/va';\nimport * as INCaptcha from '@byted/sec_sdk_build/captcha/in';\nimport axios from 'axios';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar URL_PREFIX = {\n WEB: '/passport/web',\n APP: '/passport/mobile',\n WEB_AFF: '/passport/aff/web'\n};\nvar WEB_URL = {\n SEND_MOBILE_CODE: URL_PREFIX.WEB + \"/send_code/\",\n SEND_EMAIL_CODE: URL_PREFIX.WEB + \"/email/send_code/\",\n VERIFY_MOBILE_CODE: URL_PREFIX.WEB + \"/validate_code/\",\n VERIFY_EMAIL_CODE: URL_PREFIX.WEB + \"/email/verify/\",\n CHECK_MOBILE_CODE: URL_PREFIX.WEB + \"/mobile/check_code/\",\n CHECK_EMAIL_CODE: URL_PREFIX.WEB + \"/email/check_code/\",\n // login & register\n SMS_LOGIN: URL_PREFIX.WEB + \"/sms_login/\",\n SMS_LOGIN_ONLY: URL_PREFIX.WEB + \"/sms_login_only/\",\n SMS_LOGIN_CONTINUE: URL_PREFIX.WEB + \"/sms_login_continue/\",\n EMAIL_LOGIN: URL_PREFIX.WEB + \"/email/login/\",\n EMAIL_REGISTER_LOGIN: URL_PREFIX.WEB + \"/email/register_verify_login/\",\n EMAIL_REGISTER: URL_PREFIX.WEB + \"/email/register_verify/\",\n PWD_LOGIN: URL_PREFIX.WEB + \"/user/login/\",\n AUTH_LOGIN: URL_PREFIX.WEB + \"/auth/login/\",\n AUTH_LOGIN_ONLY: URL_PREFIX.WEB + \"/auth/login_only/\",\n AUTH_BIND_ONLY: URL_PREFIX.WEB + \"/auth/bind_login/\",\n MOBILE_BIND_ONLY: URL_PREFIX.WEB + \"/mobile/bind_login/\",\n MOBILE_EMAIL_REGISTER: URL_PREFIX.WEB + \"/mobile_email_register/\",\n MOBILE_REGISTER: '/passport/mobile/register/',\n MOBILE_OAUTH: '/passport/auth/show_oauth_mobile/',\n LOGOUT: URL_PREFIX.WEB + \"/logout/\",\n CHECK_LOGIN: \"/passport/account/info/v2/\",\n BIND_WITH_MOBILE_LOGIN: URL_PREFIX.WEB + \"/auth/bind_with_mobile_login/\",\n GET_QRCODE: URL_PREFIX.WEB + \"/get_qrcode/\",\n CHECK_QRCONNECT: URL_PREFIX.WEB + \"/check_qrconnect/\",\n SCAN_QRCODE: URL_PREFIX.WEB + \"/scan_qrcode/\",\n CONFIRM_QRCODE: URL_PREFIX.WEB + \"/confirm_qrcode/\",\n THIRD_AUTH: URL_PREFIX.WEB + \"/web_login/\",\n // bind\n MOBILE_BIND: URL_PREFIX.WEB + \"/mobile/bind/\",\n EMAIL_BIND: URL_PREFIX.WEB + \"/email/bind/\",\n AUTH_BIND: URL_PREFIX.WEB + \"/auth/bind/\",\n AUTH_UNBIND: URL_PREFIX.WEB + \"/auth/unbind/\",\n AUTH_SWITCH_BIND: URL_PREFIX.WEB + \"/auth/switch_bind/\",\n // rebind\n MOBILE_REBIND: URL_PREFIX.WEB + \"/mobile/change/\",\n EMAIL_REBIND: URL_PREFIX.WEB + \"/email/change/\",\n // forget password\n RESET_PWD_BY_MOBILE: URL_PREFIX.WEB + \"/password/reset/\",\n RESET_PWD_BY_EMAIL: URL_PREFIX.WEB + \"/email/password/reset/\",\n RESET_PWD_BY_MOBILE_TICKET: URL_PREFIX.WEB + \"/password/reset_by_ticket/\",\n RESET_PWD_BY_EMAIL_TICKET: URL_PREFIX.WEB + \"/password/reset_by_email_ticket/\",\n // password\n PWD_CHANGE_BY_MOBILE: URL_PREFIX.WEB + \"/password/change/\",\n PWD_UPDATE: URL_PREFIX.WEB + \"/password/update/\",\n PWD_CHANGE_BY_EMAIL: URL_PREFIX.WEB + \"/email/change_password/\",\n PWD_SET: URL_PREFIX.WEB + \"/password/set/\",\n PWD_HAS_SET: \"/passport/password/has_set/\",\n // verify\n ACCOUNT_VERIFY: URL_PREFIX.WEB + \"/account/verify/\",\n AUTH_VERIFY: URL_PREFIX.WEB + \"/auth/verify/\",\n // cancel\n CANCEL_VERIFY_WAY: '/passport/auth/cancel_verify_way/',\n CANCEL_CHECK: URL_PREFIX.WEB + \"/cancel/check/\",\n CANCEL_CONFIRM: URL_PREFIX.WEB + \"/cancel/confirm/\",\n // extra\n CHECK_MOBILE_REGISTER: URL_PREFIX.WEB + \"/user/check_mobile_registered/\",\n CHECK_EMAIL_REGISTER: URL_PREFIX.WEB + \"/user/check_email_registered/\",\n // open\n GET_OPEN_AUTH_INFO: '/passport/open/auth_info/v2/',\n OPEN_SEND_CODE: '/oauth/send_code/',\n OPEN_SMS_AUTH: '/passport/open/web/sms/auth/',\n OPEN_ACCOUNT_AUTH: '/passport/open/web/account/auth/',\n // account\n ACCOUNT_INFO: URL_PREFIX.WEB + \"/account/info/\"\n};\nvar WEB_AFF_URL = {\n SEND_MOBILE_CODE: URL_PREFIX.WEB_AFF + \"/mobile/send_code/\",\n SEND_EMAIL_CODE: URL_PREFIX.WEB_AFF + \"/email/send_code/\",\n VERIFY_MOBILE_CODE: URL_PREFIX.WEB_AFF + \"/mobile/validate_code/\",\n VERIFY_EMAIL_CODE: URL_PREFIX.WEB_AFF + \"/email/verify/\",\n CHECK_MOBILE_CODE: URL_PREFIX.WEB_AFF + \"/mobile/check_code/\",\n CHECK_EMAIL_CODE: URL_PREFIX.WEB_AFF + \"/email/check_code/\",\n // login\n SMS_LOGIN: URL_PREFIX.WEB_AFF + \"/mobile/sms_login/\",\n EMAIL_LOGIN: URL_PREFIX.WEB_AFF + \"/email/code_login/\",\n PWD_LOGIN: URL_PREFIX.WEB_AFF + \"/user/login/\",\n OAUTH_LOGIN_CALL: URL_PREFIX.WEB_AFF + \"/oauth/login/call/\",\n OAUTH_LOGIN_ONLY: URL_PREFIX.WEB_AFF + \"/oauth/login_only/\",\n OAUTH_LOGIN: URL_PREFIX.WEB_AFF + \"/oauth/login/\",\n SUBJECT_LOGIN_LIST: URL_PREFIX.WEB_AFF + \"/subject/login_list/\",\n SUBJECT_LOGIN: URL_PREFIX.WEB_AFF + \"/subject/login/\",\n LOGOUT: URL_PREFIX.WEB_AFF + \"/logout/\",\n // register\n REGISTER_EMAIL_USER_ONLY: URL_PREFIX.WEB_AFF + \"/email/register/only_user/\",\n REGISTER_EMAIL: URL_PREFIX.WEB_AFF + \"/email/register/\",\n REGISTER_MOBILE_USER_ONLY: URL_PREFIX.WEB_AFF + \"/mobile/register/only_user/\",\n REGISTER_MOBILE: URL_PREFIX.WEB_AFF + \"/mobile/register/\",\n // forget password\n RESET_BY_MOBILE: URL_PREFIX.WEB_AFF + \"/mobile/password/reset/\",\n RESET_BY_EMAIL: URL_PREFIX.WEB_AFF + \"/email/password/reset/\",\n // invite\n MOBILE_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/mobile/invite/\",\n EMAIL_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/email/invite/\",\n LARK_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/lark/invite/\",\n INVITE_LIST: URL_PREFIX.WEB_AFF + \"/invitation/list/\",\n CANCEL_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/cancel/\",\n RESEND_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/resend/\",\n UPDATE_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/update/\",\n CHECK_INVITE_VALID: URL_PREFIX.WEB_AFF + \"/invitation/check/\",\n ACCEPT_INVITE: URL_PREFIX.WEB_AFF + \"/invitation/accept/\",\n // subject\n CREATE_BY_USERNAME: URL_PREFIX.WEB_AFF + \"/subject/username/create/\",\n CREATE_BY_MOBILE: URL_PREFIX.WEB_AFF + \"/subject/mobile/create/\",\n CREATE_BY_EMAIL: URL_PREFIX.WEB_AFF + \"/subject/email/create/\",\n SUBJECT_LIST: URL_PREFIX.WEB_AFF + \"/subject/all/list/\",\n SUBJECT_DEPUTY_LIST: URL_PREFIX.WEB_AFF + \"/subject/deputy/list/\",\n SUBJECT_IDENTITY_LIST: URL_PREFIX.WEB_AFF + \"/subject/identity/list/\",\n UPDATE_DEPUTY_INFO: URL_PREFIX.WEB_AFF + \"/deputy/update/\",\n FREEZE_DEPUTY: URL_PREFIX.WEB_AFF + \"/deputy/freeze/\",\n DELETE_DEPUTY: URL_PREFIX.WEB_AFF + \"/deputy/delete/\",\n UPDATE_SUBJECT_INFO: URL_PREFIX.WEB_AFF + \"/subject/update/\",\n FREEZE_SUBJECT: URL_PREFIX.WEB_AFF + \"/subject/freeze/\",\n // resource\n RESOURCE_LIST: URL_PREFIX.WEB_AFF + \"/resource/list/\",\n // role\n CREATE_ROLE: URL_PREFIX.WEB_AFF + \"/role/create/\",\n UPDATE_ROLE: URL_PREFIX.WEB_AFF + \"/role/update/\",\n BAN_ROLE: URL_PREFIX.WEB_AFF + \"/role/ban/\",\n ROLE_LIST: URL_PREFIX.WEB_AFF + \"/role/list/\",\n ROLE_INFO: URL_PREFIX.WEB_AFF + \"/role/info/\",\n // user\n CREATE_USER_WITH_ROLE: URL_PREFIX.WEB_AFF + \"/user/create_with_role/\",\n ADD_USER_ROLE: URL_PREFIX.WEB_AFF + \"/user_role/add/\",\n DELETE_USER_ROLE: URL_PREFIX.WEB_AFF + \"/user_role/del/\",\n USER_ROLE_LIST: URL_PREFIX.WEB_AFF + \"/user_role/list/\",\n ALL_USER_ROLE_LIST: URL_PREFIX.WEB_AFF + \"/user_role/all/list/\",\n USER_PERMISSIONS: URL_PREFIX.WEB_AFF + \"/user/permissions/\",\n // super\n SUCCESSOR_SEND_CODE: URL_PREFIX.WEB_AFF + \"/admin/successor/send_code/\",\n TRANSFER_MANAGER: URL_PREFIX.WEB_AFF + \"/admin/transfer/\"\n};\nvar WEB_SSO = {\n // 通用url\n // 手机验证码相关\n MOBILE_CODE_URL: '/send_activation_code/',\n MOBILE_CODE_URL_V2: '/send_activation_code/v2/',\n // 校验邮件\n EMAIL_ACTIVATE_URL: '/send_email_activate_link/',\n EMAIL_ACTIVATE_URL_V2: '/send_email_activate_link/v2/',\n // 邮箱验证码\n EMAIL_ACTIVATE_CODE_URL: '/send_email_activate_code/',\n EMAIL_ACTIVATE_CODE_URL_V2: '/send_email_activate_code/v2/',\n // login\n // 检查是否登录状态\n CHECK_LOGIN: '/check_login/',\n // 手机+验证码登录\n MOBILE_CODE_LOGIN_URL: '/quick_login/',\n MOBILE_CODE_LOGIN_URL_V2: '/quick_login/v2/',\n // 账号密码登录\n ACCOUNT_LOGIN_URL: '/account_login/',\n ACCOUNT_LOGIN_URL_V2: '/account_login/v2/',\n // 第三方登录\n AUTH_LOGIN_URL: '/passport/auth/wap_login/',\n // 带手机号三方登录\n BIND_WITH_MOBILE_LOGIN: '/bind_with_mobile_login/',\n AUTH_LOGIN: '/auth/login/',\n AUTH_LOGIN_ONLY: '/auth/login_only/',\n // 退出登陆\n LOGOUT: '/logout/',\n // register\n // 邮件验证码登录\n EMAIL_ACTIVATE_CODE_LOGIN: '/activate_email/code_login/',\n // 邮件验证码注册\n EMAIL_REGISTER: '/activate_email/register/',\n EMAIL_REGISTER_V2: '/activate_email/register/v2/',\n // 短信注册并绑定邮箱\n MOBILE_REGISTER_WITH_EMAIL: '/register/',\n MOBILE_REGISTER_WITH_EMAIL_V2: '/register/v2/',\n // password\n // SSO获取邮箱验证码\n SSO_EMAIL_ACTIVATE_CODE_URL: '/sso/send_email_activate_code/',\n // 重置密码\n RESET_PASSWORD: '/reset_password/',\n // bind_mobile\n // 绑定手机号\n BIND_MOBILE: '/bind_mobile/',\n // change_mobile\n // 绑定手机号变更\n CHANGE_MOBILE: '/change_mobile/',\n // quick_auth\n // 手机快速鉴权\n QUICK_AUTH: '/quick_auth/',\n // qrcode_login\n // 获取二维码\n GET_QRCODE: '/get_qrcode/',\n CHECK_QRCONNECT: '/check_qrconnect/',\n SCAN_QRCODE: '/scan_qrcode/',\n CONFIRM_QRCODE: '/confirm_qrcode/'\n};\nvar APP_URL = {\n SEND_MOBILE_CODE: URL_PREFIX.APP + \"/send_code/\",\n CHECK_MOBILE_CODE: URL_PREFIX.APP + \"/check_code/\"\n};\n\nfunction loadScript(url, callback) {\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n document.getElementsByTagName('head')[0].appendChild(script);\n\n if (script.readyState) {\n script.onreadystatechange = function () {\n if (script.readyState === 'complete' || script.readyState === 'loaded') {\n script.onreadystatechange = null;\n callback && callback();\n }\n };\n } else {\n script.onload = function () {\n callback && callback();\n };\n }\n}\n\nfunction getEnablePathList() {\n return [].concat(Object.values(WEB_URL), Object.values(WEB_AFF_URL), Object.values(WEB_SSO));\n}\n\nfunction initAcrawler(region, options) {\n var url = 'https://sf1-ttcdn-tos.pstatp.com/obj/rc-web-sdk/acrawler.js';\n\n if (region === 'gcs') {\n url = 'https://sf16-secsdk-va.ibytedtos.com/obj/rc-web-sdk-gcs/acrawler.js';\n } else if (region === 'sg') {\n url = 'https://sf16-secsdk-sg.ibytedtos.com/obj/rc-web-sdk-sg/acrawler.js';\n } else if (region === 'giso') {\n url = 'https://sf16-va.tiktokcdn-in.com/obj/rc-web-sdk-giso/acrawler.js';\n }\n\n loadScript(url, function () {\n var byted_acrawler = window.byted_acrawler;\n var enablePathList = getEnablePathList();\n\n if (byted_acrawler) {\n byted_acrawler.init({\n aid: options.aid,\n dfp: options.acrawler === 'cn' ? true : false,\n boe: options.isBoe || false,\n intercept: true,\n enablePathList: enablePathList\n });\n }\n });\n}\n\nvar repeatRequest;\nvar defaultOptions = {\n commonOptions: {\n aid: 0,\n iid: '0',\n did: '0'\n },\n captchaOptions: {\n sideSlide: 'disabled',\n lang: 'zh',\n showMode: 'mask',\n region: 'cn',\n app_name: ''\n }\n};\nvar captchaMap = {\n cn: CNCaptcha,\n sg: SGCaptcha,\n va: VACaptcha,\n \"in\": INCaptcha\n};\nvar TTGCaptcha;\n\nvar initCaptcha = function initCaptcha(props) {\n var _props$isBoe = props.isBoe,\n isBoe = _props$isBoe === void 0 ? false : _props$isBoe,\n secondVerifyWebOptions = props.secondVerifyWebOptions;\n var defaultCaptchaHost = isBoe ? '//boe-verify.snssdk.com' : undefined;\n var options = {\n commonOptions: _extends({}, defaultOptions.commonOptions, {\n aid: props.aid,\n did: props.did ? String(props.did) : '0',\n iid: props.iid ? String(props.iid) : '0'\n }),\n captchaOptions: _extends({}, defaultOptions.captchaOptions, {\n sideSlide: props.captchaSideSlide || 'disabled',\n lang: props.language || 'zh',\n showMode: props.captchaShowMode || 'mask',\n region: props.region || 'cn',\n app_name: props.appName || '',\n host: props.captchaHost || defaultCaptchaHost\n }),\n secondVerifyWebOptions: secondVerifyWebOptions\n };\n TTGCaptcha = captchaMap[props.region || 'cn'] || CNCaptcha;\n TTGCaptcha.init(options, function () {}, function () {});\n};\n\nvar sliderView = {\n init: function init(params) {\n var request = params.request,\n props = _objectWithoutPropertiesLoose(params, [\"request\"]);\n\n repeatRequest = request;\n initCaptcha(props);\n },\n show: function show(config) {\n var requestConfig = config.requestConfig,\n verifyData = config.verifyData;\n var parsedVerifyData = {};\n\n try {\n parsedVerifyData = JSON.parse(verifyData);\n } catch (e) {\n console.log('wrong desision config!');\n }\n\n return new Promise(function (resolve, reject) {\n TTGCaptcha.render({\n verify_data: parsedVerifyData,\n captchaOptions: {\n successCb: function () {\n try {\n return Promise.resolve(TTGCaptcha.getFp()).then(function (fp) {\n var _repeatRequest;\n\n console.log('>>>> 当前fp >>>>', fp);\n (_repeatRequest = repeatRequest) === null || _repeatRequest === void 0 ? void 0 : _repeatRequest(_extends({}, requestConfig, {\n isResend: true,\n params: _extends({}, requestConfig.params, {\n fp: fp\n })\n })).then(function (data) {\n resolve(data);\n })[\"catch\"](function (err) {\n reject(err);\n });\n });\n } catch (e) {\n return Promise.reject(e);\n }\n },\n closeCb: function closeCb() {\n reject('CLOSE_CAPTCHA');\n }\n },\n secondVerifyWebOptions: {\n callBack: function (res) {\n try {\n var _repeatRequest2;\n\n (_repeatRequest2 = repeatRequest) === null || _repeatRequest2 === void 0 ? void 0 : _repeatRequest2(_extends({}, requestConfig, {\n isResend: true\n })).then(function (data) {\n resolve(data);\n })[\"catch\"](function (err) {\n reject(err);\n });\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n },\n closeCallBack: function closeCallBack() {\n reject('SECOND_VALID');\n }\n }\n });\n });\n }\n};\n\nvar data = {};\nfunction set(key, value) {\n return new Promise(function (resolve) {\n data[key] = value;\n resolve(data);\n });\n}\nfunction get(key) {\n return data[key];\n}\n\nfunction getCookie(key) {\n var arr,\n reg = new RegExp('(^| )' + key + '=([^;]*)(;|$)');\n\n if (arr = document.cookie.match(reg)) {\n return unescape(arr[2]);\n }\n\n return '';\n}\nfunction printGroupLog(title, content, style) {\n if (style === void 0) {\n style = true;\n }\n\n console.group(title);\n content && Object.keys(content).forEach(function (key) {\n style ? console.log(key, style || 'background: #222; color: #bada55', content[key]) : console.log(key, content[key]);\n });\n console.groupEnd();\n}\n/**\r\n * @param {string} str\r\n */\n\nvar writeUTF = function writeUTF(str) {\n var value = str.toString();\n var back = [];\n var code;\n\n for (var i = 0; i < value.length; i++) {\n code = value.charCodeAt(i);\n\n if (0x00 <= code && code <= 0x7f) {\n back.push(code);\n } else if (0x80 <= code && code <= 0x7ff) {\n back.push(192 | 31 & code >> 6);\n back.push(128 | 63 & code);\n } else if (0x800 <= code && code <= 0xd7ff || 0xe000 <= code && code <= 0xffff) {\n back.push(224 | 15 & code >> 12);\n back.push(128 | 63 & code >> 6);\n back.push(128 | 63 & code);\n }\n }\n\n for (var j = 0; j < back.length; j++) {\n back[j] &= 0xff;\n }\n\n return back;\n};\n\nvar encrypt = function encrypt(value) {\n var result = [];\n var newCode = [];\n\n if (value === void 0) {\n return '';\n }\n\n newCode = writeUTF(value);\n\n for (var i = 0, length = newCode.length; i < length; ++i) {\n result.push((newCode[i] ^ 5).toString(16));\n }\n\n return result.join('');\n};\n/**\r\n * @param {object} params - what need to be encrypted\r\n * @param {string[]} keyList - the field to be encrypted\r\n */\n\n\nvar encryptParams = function encryptParams(params, keyList) {\n var value;\n var mix_mode = 0;\n var fixed_mix_mode = 0;\n\n if (typeof params !== 'object') {\n return params;\n }\n\n if (!keyList || keyList.length <= 0) {\n return params;\n }\n\n var newParams = _extends({\n mix_mode: mix_mode\n }, params);\n\n for (var i = 0, length = keyList.length; i < length; ++i) {\n value = newParams[keyList[i]];\n\n if (value !== void 0) {\n mix_mode |= 1;\n fixed_mix_mode |= 1;\n newParams[keyList[i]] = encrypt(value);\n }\n }\n\n newParams.mix_mode = mix_mode;\n newParams.fixed_mix_mode = fixed_mix_mode;\n return newParams;\n};\n\nvar after = function after(res) {\n var _res$config, _res$headers, _resp3, _resp3$data, _resp4, _resp4$data, _resp5, _resp6;\n\n var url = (res === null || res === void 0 ? void 0 : (_res$config = res.config) === null || _res$config === void 0 ? void 0 : _res$config.url) || '';\n var logid = (res === null || res === void 0 ? void 0 : (_res$headers = res.headers) === null || _res$headers === void 0 ? void 0 : _res$headers['x-tt-logid']) || '';\n var resp = (res === null || res === void 0 ? void 0 : res.data) || {};\n var initProps = get('initProps');\n var printLog = (initProps === null || initProps === void 0 ? void 0 : initProps.printLog) || false;\n\n if (typeof resp === 'string') {\n try {\n resp = JSON.parse(resp);\n } catch (error) {\n console.log(error);\n }\n } // success\n\n\n if (resp && (resp.message === 'success' || resp.error_code === 0)) {\n var _resp;\n\n if (printLog) {\n printGroupLog(\"call \" + url + \" result >>>>\", {\n '%cSUCCESS': resp.data || resp,\n '%cLogid': logid\n });\n } // 处理sso和web场景下内容不一致的问题\n\n\n return Promise.resolve(((_resp = resp) === null || _resp === void 0 ? void 0 : _resp.data) || resp);\n } // fail\n\n\n if (printLog) {\n var _resp2;\n\n printGroupLog(\"call \" + url + \" result >>>>\", {\n '%cERROR': ((_resp2 = resp) === null || _resp2 === void 0 ? void 0 : _resp2.data) || resp,\n '%cLogid': logid\n });\n } // slider\n\n\n var sliderDecisionConfig = ((_resp3 = resp) === null || _resp3 === void 0 ? void 0 : (_resp3$data = _resp3.data) === null || _resp3$data === void 0 ? void 0 : _resp3$data.verify_center_decision_conf) || ((_resp4 = resp) === null || _resp4 === void 0 ? void 0 : (_resp4$data = _resp4.data) === null || _resp4$data === void 0 ? void 0 : _resp4$data.verify_center_secondary_decision_conf) || ((_resp5 = resp) === null || _resp5 === void 0 ? void 0 : _resp5.verify_center_decision_conf) || ((_resp6 = resp) === null || _resp6 === void 0 ? void 0 : _resp6.verify_center_secondary_decision_conf);\n\n if (sliderDecisionConfig) {\n return Promise.resolve(sliderView.show({\n verifyData: sliderDecisionConfig,\n requestConfig: res === null || res === void 0 ? void 0 : res.config\n })).then(function (data) {\n return Promise.resolve(data);\n })[\"catch\"](function (err) {\n return Promise.reject(err);\n });\n } else {\n var _resp7;\n\n var formatResp = ((_resp7 = resp) === null || _resp7 === void 0 ? void 0 : _resp7.data) || resp;\n return Promise.reject(_extends({}, formatResp, {\n log_id: logid\n }));\n }\n};\nvar before = function before(config, commonParams) {\n if (commonParams === void 0) {\n commonParams = {};\n }\n\n var initProps = get('initProps');\n var printLog = (initProps === null || initProps === void 0 ? void 0 : initProps.printLog) || false;\n\n var _config$isResend = config.isResend,\n isResend = _config$isResend === void 0 ? false : _config$isResend,\n requestConfig = _objectWithoutPropertiesLoose(config, [\"isResend\"]);\n\n var url = requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.url;\n var method = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.method) || 'get';\n var data = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.data) || {}; // csrf headers\n\n var csrfHeader = {\n 'x-tt-passport-csrf-token': getCookie('passport_csrf_token') || getCookie('passport_csrf_token_default') || ''\n };\n var headers = Object.assign({\n 'Content-Type': 'application/x-www-form-urlencoded',\n Accept: 'application/json, text/javascript'\n }, config.headers || {}, csrfHeader);\n requestConfig.headers = headers; // log\n\n if (printLog) {\n printGroupLog(method + \" \" + url + \" >>>>\", {\n '%cdata >>>>': data,\n '%ccommon params >>>>': commonParams\n });\n } // whether the request is resent due to slider verification code\n\n\n if (isResend) {\n return requestConfig; // return Promise.resolve(requestConfig);\n } // filter data, only get defined fields\n\n\n var filterData = {};\n Object.keys(data).filter(function (key) {\n return data[key] !== undefined;\n }).forEach(function (key) {\n filterData[key] = data[key];\n }); // data transform\n\n if (['post', 'POST'].includes(method)) {\n requestConfig.params = commonParams;\n requestConfig.data = Object.keys(filterData).map(function (key) {\n var value = requestConfig.data[key];\n\n if (typeof value === 'object') {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(JSON.stringify(value));\n } else {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n }\n }).join('&');\n }\n\n if (['get', 'GET'].includes(method)) {\n requestConfig.params = _extends({}, filterData, commonParams);\n }\n\n return requestConfig; // return Promise.resolve(requestConfig);\n};\n\nfunction createXHR(commonParams) {\n var initProps = get('initProps');\n var xhr = axios.create({\n baseURL: (initProps === null || initProps === void 0 ? void 0 : initProps.host) || window && \"https://\" + window.location.hostname,\n withCredentials: true\n });\n xhr.interceptors.request.use(function (config) {\n return before(config, commonParams);\n }, undefined);\n xhr.interceptors.response.use(after, undefined);\n return xhr;\n}\n\nfunction parseResponse(config) {\n var _config$data, _config$data$data;\n\n var resp = (config === null || config === void 0 ? void 0 : (_config$data = config.data) === null || _config$data === void 0 ? void 0 : (_config$data$data = _config$data.data) === null || _config$data$data === void 0 ? void 0 : _config$data$data.response) || (config === null || config === void 0 ? void 0 : config.data) || {};\n\n if (typeof resp === 'string') {\n try {\n resp = JSON.parse(resp);\n } catch (error) {\n console.log('fetch', error);\n }\n }\n\n return resp;\n}\n\nvar after$1 = function after(res) {\n var _res$config, _res$headers, _resp$data;\n\n var url = (res === null || res === void 0 ? void 0 : (_res$config = res.config) === null || _res$config === void 0 ? void 0 : _res$config.url) || '';\n var logid = (res === null || res === void 0 ? void 0 : (_res$headers = res.headers) === null || _res$headers === void 0 ? void 0 : _res$headers['x-tt-logid']) || '';\n var resp = parseResponse(res);\n var initProps = get('initProps');\n var printLog = (initProps === null || initProps === void 0 ? void 0 : initProps.printLog) || false; // success\n\n if ((resp === null || resp === void 0 ? void 0 : resp.message) === 'success') {\n if (printLog) {\n printGroupLog(\"call \" + url + \" result >>>>\", {\n SUCCESS: resp.data,\n Logid: logid\n }, false);\n }\n\n return Promise.resolve(resp.data);\n } // fail\n\n\n if (printLog) {\n printGroupLog(\"call \" + url + \" result >>>>\", {\n ERROR: resp.data,\n Logid: logid\n }, false);\n } // slider\n\n\n var ifShowCaptcha = !(initProps !== null && initProps !== void 0 && initProps.appShowCaptcha);\n var sliderDecisionConfig = resp === null || resp === void 0 ? void 0 : (_resp$data = resp.data) === null || _resp$data === void 0 ? void 0 : _resp$data.verify_center_decision_conf;\n\n if (ifShowCaptcha && sliderDecisionConfig) {\n return Promise.resolve(sliderView.show({\n verifyData: sliderDecisionConfig,\n requestConfig: res === null || res === void 0 ? void 0 : res.config\n }));\n }\n\n return Promise.reject(_extends({}, resp.data, {\n log_id: logid\n }));\n};\n\nvar adapterInit = function adapterInit() {\n return function (config) {\n var baseURL = config.baseURL,\n path = config.url,\n _config$method = config.method,\n method = _config$method === void 0 ? 'GET' : _config$method,\n _config$params = config.params,\n params = _config$params === void 0 ? {} : _config$params,\n _config$data = config.data,\n data = _config$data === void 0 ? {} : _config$data;\n var initProps = get('initProps');\n var fetch = initProps.fetch;\n var printLog = (initProps === null || initProps === void 0 ? void 0 : initProps.printLog) || false;\n var url = baseURL + path; // log\n\n if (printLog) {\n printGroupLog(method + \" \" + url + \" >>>>\", {\n 'data >>>>': data,\n 'params >>>>': params\n }, false);\n }\n\n var requestData = {\n url: url,\n method: method.toUpperCase(),\n params: _extends({}, params, {\n is_native_h5: 1\n }),\n data: data,\n needCommonParams: true,\n header: {\n 'x-tt-passport-csrf-token': getCookie('passport_csrf_token') || getCookie('passport_csrf_token_default') || ''\n }\n };\n return fetch(requestData).then(function (data) {\n return {\n data: data,\n status: 200,\n statusText: 'ok',\n config: config\n };\n });\n };\n};\n\nfunction createFetch() {\n var initProps = get('initProps');\n var xhr = axios.create({\n baseURL: (initProps === null || initProps === void 0 ? void 0 : initProps.host) || window && \"https://\" + window.location.hostname,\n adapter: adapterInit(),\n withCredentials: true,\n transformRequest: [function (data) {\n var dataObj = data;\n\n if (typeof data === 'string') {\n try {\n dataObj = JSON.parse(data);\n } catch (error) {\n console.log(error);\n }\n }\n\n return dataObj;\n }]\n });\n xhr.interceptors.response.use(after$1, undefined);\n return xhr;\n}\n\nvar BaseInterface = function BaseInterface(props, type) {\n var _props$scene = props.scene,\n scene = _props$scene === void 0 ? 'normal' : _props$scene,\n aid = props.aid,\n _props$language = props.language,\n language = _props$language === void 0 ? '' : _props$language,\n _props$subjectAid = props.subjectAid,\n subjectAid = _props$subjectAid === void 0 ? 0 : _props$subjectAid;\n set('initProps', props);\n var params; // Handling common parameters in fetch -- web\n\n if (type === 'web') {\n var commonParams = {\n aid: aid,\n account_sdk_source: 'web'\n }; // language\n\n if (language) {\n commonParams.language = language;\n }\n\n if (scene === 'aff') {\n commonParams.subject_aid = subjectAid;\n }\n\n params = commonParams;\n }\n\n if (type === 'sso') {\n var _commonParams = {\n aid: aid\n };\n params = _commonParams;\n }\n\n this.request = new RequestBehavior(params);\n sliderView.init(_extends({}, props, {\n request: this.request\n }));\n}; // class request\n\nvar RequestBehavior = function RequestBehavior(commonParams) {\n var _get;\n\n if ((_get = get('initProps')) !== null && _get !== void 0 && _get.fetch) {\n return createFetch();\n } else {\n return createXHR(commonParams);\n }\n};\n\nvar LoginAPI = function LoginAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @return {Promise} send result\r\n */\n this.sendCode = function (params) {\n var mobile = params.mobile;\n var data = encryptParams({\n mobile: mobile,\n type: 7\n }, ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} code - the captcha\r\n * @param {number} need_frozen_user - whether return users in frozen\r\n * @return {Promise} login result\r\n */\n\n\n this.smsLogin = function (params) {\n var mobile = params.mobile,\n code = params.code,\n _params$need_frozen_u = params.need_frozen_user,\n need_frozen_user = _params$need_frozen_u === void 0 ? 0 : _params$need_frozen_u;\n var data = encryptParams({\n mobile: mobile,\n code: code,\n need_frozen_user: need_frozen_user,\n type: 7\n }, ['mobile', 'type', 'code']);\n return _this.request({\n url: WEB_AFF_URL.SMS_LOGIN,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} email - the email used to login\r\n * @return {Promise} send result\r\n */\n\n\n this.sendEmailCode = function (params) {\n var email = params.email;\n var data = encryptParams({\n email: email,\n type: 13\n }, ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email used to login\r\n * @param {string} code - the captcha\r\n * @param {number} need_frozen_user - whether return users in frozen\r\n * @return {Promise} login result\r\n */\n\n\n this.emailLogin = function (params) {\n var email = params.email,\n code = params.code,\n _params$need_frozen_u2 = params.need_frozen_user,\n need_frozen_user = _params$need_frozen_u2 === void 0 ? 0 : _params$need_frozen_u2;\n var data = encryptParams({\n email: email,\n code: code,\n need_frozen_user: need_frozen_user,\n type: 13\n }, ['email', 'type', 'code']);\n return _this.request({\n url: WEB_AFF_URL.EMAIL_LOGIN,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} email - the email used to login\r\n * @param {string} username - the username used to login\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} account - the account used to login, whose value shoule be email or username or mobile\r\n * @param {string} password - corresponding password\r\n * @param {number} need_frozen_user - whether return users in frozen\r\n * @return {Promise} login result\r\n */\n\n\n this.pwdLogin = function (params) {\n var _encryptParams;\n\n var password = params.password,\n _params$need_frozen_u3 = params.need_frozen_user,\n need_frozen_user = _params$need_frozen_u3 === void 0 ? 0 : _params$need_frozen_u3;\n var loginType = ['email', 'username', 'mobile', 'account'].find(function (item) {\n return !!params[item];\n });\n\n if (!loginType) {\n return Promise.reject();\n }\n\n var data = encryptParams((_encryptParams = {\n password: password\n }, _encryptParams[loginType] = params[loginType], _encryptParams.need_frozen_user = need_frozen_user, _encryptParams), ['password', loginType]);\n return _this.request({\n url: WEB_AFF_URL.PWD_LOGIN,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {number} platform_app_id - the app id of the third party used to login\r\n * @param {string} next - encoded redirect url after successful authorization\r\n * @return {Promise} authorize result\r\n */\n\n\n this.oauthLoginCall = function (params) {\n var platform_app_id = params.platform_app_id,\n next = params.next;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.OAUTH_LOGIN_CALL,\n method: 'GET',\n data: {\n platform_app_id: platform_app_id,\n next: next\n }\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} platform_app_id - the app id of the third party used to login\r\n * @param {string} redirect_uri - parameter 'oauth_redirect_uri' in the url query after calling oauthLoginCall successfully\r\n * @param {string} code - parameter 'oauth_code' in the url query after calling oauthLoginCall successfully\r\n * @param {number} need_frozen_user - whether return users in frozen\r\n * @param {string} login_only - 'true' for only login, 'false' for register and login\r\n * @return {Promise} login result\r\n */\n\n\n this.oauthLogin = function (params) {\n var platform_app_id = params.platform_app_id,\n redirect_uri = params.redirect_uri,\n code = params.code,\n _params$need_frozen_u4 = params.need_frozen_user,\n need_frozen_user = _params$need_frozen_u4 === void 0 ? 0 : _params$need_frozen_u4,\n _params$login_only = params.login_only,\n login_only = _params$login_only === void 0 ? true : _params$login_only;\n return _this.request({\n url: login_only ? WEB_AFF_URL.OAUTH_LOGIN_ONLY : WEB_AFF_URL.OAUTH_LOGIN,\n method: 'POST',\n data: {\n platform_app_id: platform_app_id,\n redirect_uri: redirect_uri,\n code: code,\n need_frozen_user: need_frozen_user\n }\n });\n };\n /**\r\n * @return {Promise} list of companies the user can login\r\n */\n\n\n this.subjectLoginList = function () {\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SUBJECT_LOGIN_LIST,\n method: 'GET'\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} login_subject_uid - the id of the subject user want to login\r\n * @param {string} user_identity_id - the id of the user who wants to login\r\n * @return {Promise} login result\r\n */\n\n\n this.subjectLogin = function (params) {\n var login_subject_uid = params.login_subject_uid,\n _params$user_identity = params.user_identity_id,\n user_identity_id = _params$user_identity === void 0 ? '0' : _params$user_identity;\n var data = encryptParams({\n login_subject_uid: login_subject_uid,\n user_identity_id: user_identity_id\n }, ['login_subject_uid', 'user_identity_id']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SUBJECT_LOGIN,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} next - the redirect url after logout successfully\r\n * @return {Promise} logout result\r\n */\n\n\n this.logout = function (params) {\n var _params$next = params.next,\n next = _params$next === void 0 ? '' : _params$next;\n\n var _ref = get('initProps') || {},\n aid = _ref.aid,\n subjectAid = _ref.subjectAid;\n\n var nextUrl = encodeURIComponent(next);\n window.location.href = WEB_AFF_URL.LOGOUT + \"?account_sdk_source=web&aid=\" + aid + \"&subject_aid=\" + subjectAid + \"&next=\" + nextUrl;\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar RegisterAPI = function RegisterAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} email - the email used to register\r\n * @return {Promise} send result\r\n */\n this.sendEmailCode = function (params) {\n var email = params.email,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n email: email,\n type: 1\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email to be verified\r\n * @param {string} code - the email captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.verifyEmail = function (params) {\n var email = params.email,\n code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n email: email,\n code: code,\n type: 1\n }, extra_params), ['email', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CHECK_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} ticket - the ticket gained from verification\r\n * @param {string} base_infos\r\n * @param {string} subject_name\r\n * @param {string} password\r\n * @param {string} identity_card\r\n * @param {string} real_name\r\n * @param {string} only_user - whether register user account only\r\n * @return {Promise} register result\r\n */\n\n\n this.registerByEmail = function (params) {\n var _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3,\n _params$only_user = params.only_user,\n only_user = _params$only_user === void 0 ? false : _params$only_user,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\", \"only_user\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['base_infos', 'subject_name', 'password', 'identity_card', 'real_name']);\n var url = only_user ? WEB_AFF_URL.REGISTER_EMAIL_USER_ONLY : WEB_AFF_URL.REGISTER_EMAIL;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: url,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to register\r\n * @return {Promise} send result\r\n */\n\n\n this.sendMobileCode = function (params) {\n var mobile = params.mobile,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: 1\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile to be verified\r\n * @param {string} code - the mobile captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.verifyMobile = function (params) {\n var mobile = params.mobile,\n code = params.code,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code,\n type: 1\n }, extra_params), ['mobile', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CHECK_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} ticket - the ticket gained from verification\r\n * @param {string} base_infos\r\n * @param {string} subject_name\r\n * @param {string} password\r\n * @param {string} identity_card\r\n * @param {string} real_name\r\n * @param {string} only_user - whether register user account only\r\n * @return {Promise} register result\r\n */\n\n\n this.registerByMobile = function (params) {\n var _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6,\n _params$only_user2 = params.only_user,\n only_user = _params$only_user2 === void 0 ? false : _params$only_user2,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\", \"only_user\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['base_infos', 'subject_name', 'password', 'identity_card', 'real_name']);\n var url = only_user ? WEB_AFF_URL.REGISTER_MOBILE_USER_ONLY : WEB_AFF_URL.REGISTER_MOBILE;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: url,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar ForgetPwdAPI = function ForgetPwdAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} email - the email used to recall password\r\n * @return {Promise} send result\r\n */\n this.sendEmailCode = function (params) {\n var email = params.email;\n var data = encryptParams({\n email: email,\n type: 4\n }, ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to recall password\r\n * @return {Promise} send result\r\n */\n\n\n this.sendMobileCode = function (params) {\n var mobile = params.mobile;\n var data = encryptParams({\n mobile: mobile,\n type: 6\n }, ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to reset password\r\n * @param {string} code - the captcha\r\n * @param {string} password - new password\r\n * @return {Promise} reset result\r\n */\n\n\n this.mobileReset = function (params) {\n var mobile = params.mobile,\n code = params.code,\n password = params.password;\n var data = encryptParams({\n mobile: mobile,\n code: code,\n password: password\n }, ['mobile', 'code', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.RESET_BY_MOBILE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email used to reset password\r\n * @param {string} code - the captcha\r\n * @param {string} password - new password\r\n * @return {Promise} reset result\r\n */\n\n\n this.emailReset = function (params) {\n var email = params.email,\n code = params.code,\n password = params.password;\n var data = encryptParams({\n email: email,\n code: code,\n password: password\n }, ['email', 'code', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.RESET_BY_EMAIL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar InviteAPI = function InviteAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile used to invite\r\n * @param {number} deputy_identity_id - character of invitation authorization\r\n * @param {string} invited_name - the name of the invited user\r\n * @param {string} next_url - the redirect url after accepting invitation\r\n * @param {string} link - landing page of invitation\r\n * @param {string} role_keys - keys of role, joined by ','\r\n * @param {string} permissions - joined by ','\r\n * @return {Promise} invite result\r\n */\n this.mobileInvite = function (params) {\n var _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['mobile']);\n return _this.request({\n url: WEB_AFF_URL.MOBILE_INVITE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} email - the email used to invite\r\n * @param {number} deputy_identity_id - character of invitation authorization\r\n * @param {string} invited_name - the name of the invited user\r\n * @param {string} next_url - the redirect url after accepting invitation\r\n * @param {string} link - landing page of invitation\r\n * @param {string} role_keys - keys of role, joined by ','\r\n * @param {string} permissions - joined by ','\r\n * @return {Promise} invite result\r\n */\n\n\n this.emailInvite = function (params) {\n var _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['email']);\n return _this.request({\n url: WEB_AFF_URL.EMAIL_INVITE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} email - the email used to invite\r\n * @param {number} deputy_identity_id - character of invitation authorization\r\n * @param {string} invited_name - the name of the invited user\r\n * @param {string} role_keys - keys of role, joined by ','\r\n * @param {string} permissions - joined by ','\r\n * @return {Promise} invite result\r\n */\n\n\n this.larkInvite = function (params) {\n var _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['email']);\n return _this.request({\n url: WEB_AFF_URL.LARK_INVITE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {number} page - page number\r\n * @param {number} page_size - page size\r\n * @return {Promise} request result\r\n */\n\n\n this.getInvitationList = function (params) {\n var _params$page = params.page,\n page = _params$page === void 0 ? 1 : _params$page,\n _params$page_size = params.page_size,\n page_size = _params$page_size === void 0 ? 10 : _params$page_size,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: \"\" + WEB_AFF_URL.INVITE_LIST + page + \"/\",\n method: 'GET',\n data: _extends({\n page_size: page_size\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} invite_id - the invitation id\r\n * @return {Promise} cancel result\r\n */\n\n\n this.cancelInvitation = function (params) {\n var _params$invite_id = params.invite_id,\n invite_id = _params$invite_id === void 0 ? 0 : _params$invite_id,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CANCEL_INVITE,\n method: 'POST',\n data: _extends({\n invite_id: invite_id\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} invite_id - the invitation id\r\n * @param {string} next_url - the redirect url after accepting invitation\r\n * @return {Promise} resend result\r\n */\n\n\n this.resendInvitation = function (params) {\n var _params$invite_id2 = params.invite_id,\n invite_id = _params$invite_id2 === void 0 ? 0 : _params$invite_id2,\n _params$next_url = params.next_url,\n next_url = _params$next_url === void 0 ? '' : _params$next_url,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.RESEND_INVITE,\n method: 'POST',\n data: _extends({\n invite_id: invite_id,\n next_url: next_url\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} invite_id - the invitation id\r\n * @param {number} deputy_identity_id - character of invitation authorization\r\n * @param {string} deputy_name - inviter name\r\n * @return {Promise} update result\r\n */\n\n\n this.updateInvitation = function (params) {\n var _params$invite_id3 = params.invite_id,\n invite_id = _params$invite_id3 === void 0 ? 0 : _params$invite_id3,\n deputy_identity_id = params.deputy_identity_id,\n deputy_name = params.deputy_name,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n var data = encryptParams(_extends({\n invite_id: invite_id,\n deputy_identity_id: deputy_identity_id,\n deputy_name: deputy_name\n }, extra_params), ['deputy_name']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.UPDATE_INVITE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} invite_ticket - invitation ticket carried in the query of invitation link, only necessary when the user is not login\r\n * @return {Promise} check result\r\n */\n\n\n this.checkRegisterStatus = function (params) {\n var invite_ticket = params.invite_ticket,\n _params$extra_params8 = params.extra_params,\n extra_params = _params$extra_params8 === void 0 ? {} : _params$extra_params8;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CHECK_INVITE_VALID,\n method: 'POST',\n data: _extends({\n invite_ticket: invite_ticket\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} invite_ticket - invitation ticket carried in the query of invitation link, only necessary when the user is not login\r\n * @param {string} invite_code\r\n * @param {string} password - necessary when the user is new user\r\n * @return {Promise} accept result\r\n */\n\n\n this.acceptInvitation = function (params) {\n var invite_ticket = params.invite_ticket,\n invite_code = params.invite_code,\n password = params.password,\n _params$extra_params9 = params.extra_params,\n extra_params = _params$extra_params9 === void 0 ? {} : _params$extra_params9;\n var data = encryptParams({\n invite_ticket: invite_ticket,\n invite_code: invite_code,\n password: password,\n extra_params: extra_params\n }, ['invite_code', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.ACCEPT_INVITE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar SubjectAPI = function SubjectAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} subject_name\r\n * @param {string} deputy_name - name of the principal of subject\r\n * @param {string} password\r\n * @param {string} username\r\n * @param {number} deputy_identity_id\r\n * @param {string} base_infos - basic info\r\n * @param {string} detail_infos\r\n * @return {Promise} create result\r\n */\n this.createByUsername = function (params) {\n var _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['subject_name', 'deputy_name', 'password', 'username', 'base_infos', 'detail_infos']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CREATE_BY_USERNAME,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} subject_name\r\n * @param {string} deputy_name - name of the principal of subject\r\n * @param {string} password\r\n * @param {string} mobile\r\n * @param {number} deputy_identity_id\r\n * @param {string} base_infos - basic info\r\n * @param {string} detail_infos\r\n * @return {Promise} create result\r\n */\n\n\n this.createByMobile = function (params) {\n var _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['subject_name', 'deputy_name', 'password', 'mobile', 'base_infos', 'detail_infos']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CREATE_BY_MOBILE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} subject_name\r\n * @param {string} deputy_name - name of the principal of subject\r\n * @param {string} password\r\n * @param {string} email\r\n * @param {number} deputy_identity_id\r\n * @param {string} base_infos - basic info\r\n * @param {string} detail_infos\r\n * @return {Promise} create result\r\n */\n\n\n this.createByEmail = function (params) {\n var _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n var data = encryptParams(_extends({}, props, extra_params), ['subject_name', 'deputy_name', 'password', 'email', 'base_infos', 'detail_infos']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CREATE_BY_EMAIL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} page - page number\r\n * @param {number} page_size - page size\r\n * @param {number} deputy_identity_id\r\n * @return {Promise} request result\r\n */\n\n\n this.getSubjectList = function (params) {\n var _params$page = params.page,\n page = _params$page === void 0 ? 1 : _params$page,\n _params$page_size = params.page_size,\n page_size = _params$page_size === void 0 ? 10 : _params$page_size,\n deputy_identity_id = params.deputy_identity_id,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: \"\" + WEB_AFF_URL.SUBJECT_LIST + page + \"/\",\n method: 'GET',\n data: _extends({\n page_size: page_size,\n deputy_identity_id: deputy_identity_id\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} page - page number\r\n * @param {number} page_size - page size\r\n * @return {Promise} request result\r\n */\n\n\n this.getSubjectDeputyList = function (params) {\n var _params$page2 = params.page,\n page = _params$page2 === void 0 ? 1 : _params$page2,\n _params$page_size2 = params.page_size,\n page_size = _params$page_size2 === void 0 ? 10 : _params$page_size2,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: \"\" + WEB_AFF_URL.SUBJECT_DEPUTY_LIST + page + \"/\",\n method: 'GET',\n data: _extends({\n page_size: page_size\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} page - page number\r\n * @param {number} page_size - page size\r\n * @return {Promise} request result\r\n */\n\n\n this.getSubjectIdentityList = function (params) {\n var _params$page3 = params.page,\n page = _params$page3 === void 0 ? 1 : _params$page3,\n _params$page_size3 = params.page_size,\n page_size = _params$page_size3 === void 0 ? 10 : _params$page_size3,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: \"\" + WEB_AFF_URL.SUBJECT_IDENTITY_LIST + page + \"/\",\n method: 'GET',\n data: _extends({\n page_size: page_size\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} sec_user_id - encrypted uid\r\n * @param {number} deputy_identity_id\r\n * @param {string} deputy_name\r\n * @param {string} user_identity_id\r\n * @return {Promise} update result\r\n */\n\n\n this.updateDeputyInfo = function (params) {\n var sec_user_id = params.sec_user_id,\n deputy_identity_id = params.deputy_identity_id,\n deputy_name = params.deputy_name,\n user_identity_id = params.user_identity_id,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n var data = encryptParams(_extends({\n sec_user_id: sec_user_id,\n deputy_identity_id: deputy_identity_id,\n deputy_name: deputy_name,\n user_identity_id: user_identity_id\n }, extra_params), ['deputy_name', 'user_identity_id']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.UPDATE_DEPUTY_INFO,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} sec_user_id - encrypted uid\r\n * @param {string} user_identity_id\r\n * @param {number} is_frozen - whether to freeze\r\n * @return {Promise} freeze result\r\n */\n\n\n this.freezeDeputy = function (params) {\n var sec_user_id = params.sec_user_id,\n user_identity_id = params.user_identity_id,\n _params$is_frozen = params.is_frozen,\n is_frozen = _params$is_frozen === void 0 ? 0 : _params$is_frozen,\n _params$extra_params8 = params.extra_params,\n extra_params = _params$extra_params8 === void 0 ? {} : _params$extra_params8;\n var data = encryptParams(_extends({\n sec_user_id: sec_user_id,\n user_identity_id: user_identity_id,\n is_frozen: is_frozen\n }, extra_params), ['sec_user_id', 'user_identity_id']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.FREEZE_DEPUTY,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} sec_user_id - encrypted uid\r\n * @param {string} user_identity_id\r\n * @return {Promise} delete result\r\n */\n\n\n this.deleteDeputy = function (params) {\n var sec_user_id = params.sec_user_id,\n user_identity_id = params.user_identity_id,\n _params$extra_params9 = params.extra_params,\n extra_params = _params$extra_params9 === void 0 ? {} : _params$extra_params9;\n var data = encryptParams(_extends({\n sec_user_id: sec_user_id,\n user_identity_id: user_identity_id\n }, extra_params), ['user_identity_id']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.DELETE_DEPUTY,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} sec_subject_uid - encrypted subject uid\r\n * @param {string} subject_name\r\n * @param {string} base_infos\r\n * @param {string} detail_infos\r\n * @return {Promise} update result\r\n */\n\n\n this.updateSubjectInfo = function (params) {\n var sec_subject_uid = params.sec_subject_uid,\n subject_name = params.subject_name,\n base_infos = params.base_infos,\n detail_infos = params.detail_infos,\n _params$extra_params10 = params.extra_params,\n extra_params = _params$extra_params10 === void 0 ? {} : _params$extra_params10;\n var data = encryptParams(_extends({\n sec_subject_uid: sec_subject_uid,\n subject_name: subject_name,\n base_infos: base_infos,\n detail_infos: detail_infos\n }, extra_params), ['sec_subject_uid', 'subject_name', 'base_infos', 'detail_infos']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.UPDATE_SUBJECT_INFO,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} sec_subject_uid - encrypted subject uid\r\n * @param {number} is_frozen - whether to freeze\r\n * @return {Promise} freeze result\r\n */\n\n\n this.freezeSubject = function (params) {\n var sec_subject_uid = params.sec_subject_uid,\n _params$is_frozen2 = params.is_frozen,\n is_frozen = _params$is_frozen2 === void 0 ? 0 : _params$is_frozen2,\n _params$extra_params11 = params.extra_params,\n extra_params = _params$extra_params11 === void 0 ? {} : _params$extra_params11;\n var data = encryptParams(_extends({\n sec_subject_uid: sec_subject_uid,\n is_frozen: is_frozen\n }, extra_params), ['sec_subject_uid']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.FREEZE_SUBJECT,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar ResourceAPI = function ResourceAPI(props) {\n var _this = this;\n\n /**\r\n * @param {number} page - page number\r\n * @param {number} page_size - page size\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} request result\r\n */\n this.getResourceList = function (params) {\n var _params$page = params.page,\n page = _params$page === void 0 ? 1 : _params$page,\n _params$page_size = params.page_size,\n page_size = _params$page_size === void 0 ? 10 : _params$page_size,\n subject_uid = params.subject_uid,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: \"\" + WEB_AFF_URL.RESOURCE_LIST + page + \"/\",\n method: 'GET',\n data: _extends({\n page_size: page_size,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar RoleAPI = function RoleAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} role_name - name\r\n * @param {string} permissions - concatenation of resources permissions\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} create result\r\n */\n this.createRole = function (params) {\n var role_name = params.role_name,\n permissions = params.permissions,\n subject_uid = params.subject_uid,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CREATE_ROLE,\n method: 'POST',\n data: _extends({\n role_name: role_name,\n permissions: permissions,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} role_key - id of role\r\n * @param {string} role_name - name\r\n * @param {string} permissions - concatenation of resources permissions\r\n * @param {string} description - description\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} update result\r\n */\n\n\n this.updateRole = function (params) {\n var role_key = params.role_key,\n role_name = params.role_name,\n permissions = params.permissions,\n description = params.description,\n subject_uid = params.subject_uid,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.UPDATE_ROLE,\n method: 'POST',\n data: _extends({\n role_key: role_key,\n role_name: role_name,\n permissions: permissions,\n description: description,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} role_key - id of role\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} ban result\r\n */\n\n\n this.banRole = function (params) {\n var role_key = params.role_key,\n subject_uid = params.subject_uid,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.BAN_ROLE,\n method: 'POST',\n data: _extends({\n role_key: role_key,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} request result\r\n */\n\n\n this.getRoleList = function (params) {\n var subject_uid = params.subject_uid,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.ROLE_LIST,\n method: 'GET',\n data: _extends({\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} role_key - id of role\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} request result\r\n */\n\n\n this.getRoleInfo = function (params) {\n var role_key = params.role_key,\n subject_uid = params.subject_uid,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.ROLE_INFO,\n method: 'GET',\n data: _extends({\n role_key: role_key,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar UserAPI = function UserAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} role_key - id of role\r\n * @param {string} sec_user_id - encrypted user id\r\n * @param {string} name - user name\r\n * @param {number} identity_id - id of identity\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} create result\r\n */\n this.createUserWithRole = function (params) {\n var role_key = params.role_key,\n sec_user_id = params.sec_user_id,\n name = params.name,\n identity_id = params.identity_id,\n subject_uid = params.subject_uid,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CREATE_USER_WITH_ROLE,\n method: 'POST',\n data: _extends({\n role_key: role_key,\n sec_user_id: sec_user_id,\n name: name,\n identity_id: identity_id,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} role_key - id of role\r\n * @param {string} sec_user_identity_ids - encrypted user id seperated by ','\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} add result\r\n */\n\n\n this.addUserRole = function (params) {\n var role_key = params.role_key,\n sec_user_identity_ids = params.sec_user_identity_ids,\n subject_uid = params.subject_uid,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.ADD_USER_ROLE,\n method: 'POST',\n data: _extends({\n role_key: role_key,\n sec_user_identity_ids: sec_user_identity_ids,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} role_key - id of role\r\n * @param {string} sec_user_identity_ids - encrypted user id seperated by ','\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} delete result\r\n */\n\n\n this.deleteUserRole = function (params) {\n var role_key = params.role_key,\n sec_user_identity_ids = params.sec_user_identity_ids,\n subject_uid = params.subject_uid,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.DELETE_USER_ROLE,\n method: 'POST',\n data: _extends({\n role_key: role_key,\n sec_user_identity_ids: sec_user_identity_ids,\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} request result\r\n */\n\n\n this.getUserRoleList = function (params) {\n var subject_uid = params.subject_uid,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.USER_ROLE_LIST,\n method: 'GET',\n data: _extends({\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} subject_uid - id of subject\r\n * @param {number} identity_id - id of identity\r\n * @param {number} page - page number\r\n * @param {number} page_size - page size\r\n * @return {Promise} request result\r\n */\n\n\n this.getAllUserRoleList = function (params) {\n var subject_uid = params.subject_uid,\n identity_id = params.identity_id,\n _params$page = params.page,\n page = _params$page === void 0 ? 1 : _params$page,\n _params$page_size = params.page_size,\n page_size = _params$page_size === void 0 ? 10 : _params$page_size,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: \"\" + WEB_AFF_URL.ALL_USER_ROLE_LIST + page + \"/\",\n method: 'GET',\n data: _extends({\n subject_uid: subject_uid,\n identity_id: identity_id,\n page_size: page_size\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} subject_uid - id of subject\r\n * @return {Promise} request result\r\n */\n\n\n this.getUserPermissions = function (params) {\n var subject_uid = params.subject_uid,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.USER_PERMISSIONS,\n method: 'GET',\n data: _extends({\n subject_uid: subject_uid\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar SuperAPI = function SuperAPI(props) {\n var _this = this;\n\n /**\r\n * @return {Promise} send result\r\n */\n this.sendCodeToOldManager = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params = params,\n _params$extra_params = _params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n type: 22\n }, extra_params), ['type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @return {Promise} send result\r\n */\n\n\n this.sendEmailCodeToOldManager = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params2 = params,\n _params2$extra_params = _params2.extra_params,\n extra_params = _params2$extra_params === void 0 ? {} : _params2$extra_params;\n var data = encryptParams(_extends({\n type: 6\n }, extra_params), ['type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} code - the captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.verifyOldManagerMobile = function (params) {\n var code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n code: code,\n type: 22\n }, extra_params), ['code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.VERIFY_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} code - the captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.verifyOldManagerEmail = function (params) {\n var code = params.code,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n code: code,\n type: 6\n }, extra_params), ['code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.VERIFY_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - mobile number\r\n * @param {string} verify_ticket - the ticket returned by verification\r\n * @return {Promise} send result\r\n */\n\n\n this.sendCodeToNewManager = function (params) {\n var mobile = params.mobile,\n verify_ticket = params.verify_ticket,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n mobile: mobile,\n verify_ticket: verify_ticket,\n type: 101\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - email address\r\n * @param {string} verify_ticket - the ticket returned by verification\r\n * @return {Promise} send result\r\n */\n\n\n this.sendEmailCodeToNewManager = function (params) {\n var email = params.email,\n verify_ticket = params.verify_ticket,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n email: email,\n verify_ticket: verify_ticket,\n type: 101\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - mobile number\r\n * @param {number} code - the captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.verifyNewManagerMobile = function (params) {\n var mobile = params.mobile,\n code = params.code,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code,\n type: 101\n }, extra_params), ['mobile', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CHECK_MOBILE_CODE,\n method: 'GET',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - email address\r\n * @param {number} code - the captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.verifyNewManagerEmail = function (params) {\n var email = params.email,\n code = params.code,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n var data = encryptParams(_extends({\n email: email,\n code: code,\n type: 101\n }, extra_params), ['email', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_AFF_URL.CHECK_EMAIL_CODE,\n method: 'GET',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} new_user_name - name of new manager\r\n * @param {string} new_admin_verify_ticket - verify ticket of new manager\r\n * @param {string} old_admin_verify_ticket - the ticket returned by verification\r\n * @param {number} old_admin_target_identity_id - the identity id of old manager after transfer\r\n * @param {string} new_admin_sec_user_id - the encrypted user id of new manager\r\n * @param {string} new_admin_sec_user_identity_id - the encrypted user identity id of new manager\r\n * @return {Promise} verify result\r\n */\n\n\n this.transferManager = function (params) {\n var _params$extra_params8 = params.extra_params,\n extra_params = _params$extra_params8 === void 0 ? {} : _params$extra_params8,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n return _this.request({\n url: WEB_AFF_URL.TRANSFER_MANAGER,\n method: 'POST',\n data: _extends({}, props, extra_params)\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar LoginAPI$1 = function LoginAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @return {Promise} send result\r\n */\n this.sendCode = function (params) {\n var mobile = params.mobile,\n _params$registerOnly = params.registerOnly,\n registerOnly = _params$registerOnly === void 0 ? false : _params$registerOnly,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: registerOnly ? 16 : 24\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} code - the captcha\r\n * @param {boolean} login_only - 'true' for only login, 'false' for register and login\r\n * @return {Promise} login result\r\n */\n\n\n this.smsLogin = function (params) {\n var mobile = params.mobile,\n code = params.code,\n _params$login_only = params.login_only,\n login_only = _params$login_only === void 0 ? false : _params$login_only,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code\n }, extra_params), ['mobile', 'code']);\n var url = login_only ? WEB_URL.SMS_LOGIN_ONLY : WEB_URL.SMS_LOGIN;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: url,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} sms_code_key - the ticket gained from sms login only\r\n * @return {Promise} login result\r\n */\n\n\n this.smsLoginContinue = function (params) {\n var mobile = params.mobile,\n sms_code_key = params.sms_code_key,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n mobile: mobile,\n sms_code_key: sms_code_key\n }, extra_params), ['mobile', 'sms_code_key']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SMS_LOGIN_CONTINUE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} platform_app_id - the id of third party\r\n * @param {string} next - redirect url after successful login\r\n * @return {Promise} login result\r\n */\n\n\n this.webLogin = function (params) {\n var platform_app_id = params.platform_app_id,\n next = params.next,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SMS_LOGIN_CONTINUE,\n method: 'POST',\n data: _extends({\n platform_app_id: platform_app_id,\n next: next\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email used to login\r\n * @param {string} password - corresponding password\r\n * @return {Promise} login result\r\n */\n\n\n this.emailLogin = function (params) {\n var email = params.email,\n password = params.password,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n email: email,\n password: password\n }, extra_params), ['email', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.EMAIL_LOGIN,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} account - the account to login\r\n * @param {string} password - corresponding password\r\n * @return {Promise} login result\r\n */\n\n\n this.pwdLogin = function (params) {\n var account = params.account,\n password = params.password,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n var data = encryptParams(_extends({\n account: account,\n password: password\n }, extra_params), ['account', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.PWD_LOGIN,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} platform_app_id - the app id of the third party used to login\r\n * @param {string} code - authorization code\r\n * @param {string} access_token - third-party authorization token\r\n * @param {string} access_token_secret - id token, only neccessary when using google to login\r\n * @param {string} openid - third-party openid, used with access_token\r\n * @param {string} profile_key - third-party ticket that preserves information temporaily, used when the login progress is blocked\r\n * @param {boolean} login_only - whether to login only, not allowing to register\r\n * @return {Promise} login result\r\n */\n\n\n this.authLogin = function (params) {\n var platform_app_id = params.platform_app_id,\n code = params.code,\n access_token = params.access_token,\n access_token_secret = params.access_token_secret,\n openid = params.openid,\n profile_key = params.profile_key,\n _params$login_only2 = params.login_only,\n login_only = _params$login_only2 === void 0 ? false : _params$login_only2,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: login_only ? WEB_URL.AUTH_LOGIN_ONLY : WEB_URL.AUTH_LOGIN,\n method: 'POST',\n data: _extends({\n platform_app_id: platform_app_id,\n code: code,\n access_token: access_token,\n access_token_secret: access_token_secret,\n openid: openid,\n profile_key: profile_key\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} access_token - third-party authorization token\r\n * @param {string} access_token_secret - id token, only neccessary when using google to login\r\n * @param {string} code - authorization code\r\n * @param {number} expires_in - expires time of access_token\r\n * @param {string} openid - third-party openid, used with access_token\r\n * @param {number} platform_app_id - the app id of the third party used to login\r\n * @param {string} platform - name of third party platform\r\n * @param {boolean} need_plaintext - whether to return mobile in plaintext\r\n * @param {string} profile_key - third-party ticket that preserves information temporaily\r\n * @return {Promise} login result\r\n */\n\n\n this.getOauthMobile = function (params) {\n var access_token = params.access_token,\n access_token_secret = params.access_token_secret,\n code = params.code,\n expires_in = params.expires_in,\n openid = params.openid,\n platform_app_id = params.platform_app_id,\n platform = params.platform,\n _params$need_plaintex = params.need_plaintext,\n need_plaintext = _params$need_plaintex === void 0 ? false : _params$need_plaintex,\n profile_key = params.profile_key,\n _params$extra_params8 = params.extra_params,\n extra_params = _params$extra_params8 === void 0 ? {} : _params$extra_params8;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.MOBILE_OAUTH,\n method: 'POST',\n data: _extends({\n access_token: access_token,\n access_token_secret: access_token_secret,\n code: code,\n expires_in: expires_in,\n openid: openid,\n platform_app_id: platform_app_id,\n platform: platform,\n need_plaintext: need_plaintext,\n profile_key: profile_key\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} platform_app_id - the app id of the third party used to login\r\n * @param {string} code - authorization code\r\n * @param {string} profile_key - third-party ticket that preserves information temporaily, used when the login progress is blocked\r\n * @param {string} mobile - phone number\r\n * @param {string} sms_code - captcha\r\n * @return {Promise} login result\r\n */\n\n\n this.authBindLogin = function (params) {\n var platform_app_id = params.platform_app_id,\n code = params.code,\n mobile = params.mobile,\n sms_code = params.sms_code,\n sms_code_key = params.sms_code_key,\n profile_key = params.profile_key,\n _params$extra_params9 = params.extra_params,\n extra_params = _params$extra_params9 === void 0 ? {} : _params$extra_params9;\n var data = encryptParams(_extends({\n platform_app_id: platform_app_id,\n code: code,\n mobile: mobile,\n sms_code: sms_code,\n sms_code_key: sms_code_key,\n profile_key: profile_key\n }, extra_params), ['mobile', 'sms_code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.AUTH_BIND_ONLY,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} code - the captcha\r\n * @param {string} profile_key - a parameter returned by login_only interface\r\n */\n\n\n this.mobileBindLogin = function (params) {\n var code = params.code,\n mobile = params.mobile,\n profile_key = params.profile_key,\n _params$extra_params10 = params.extra_params,\n extra_params = _params$extra_params10 === void 0 ? {} : _params$extra_params10;\n var data = encryptParams(_extends({\n code: code,\n mobile: mobile,\n profile_key: profile_key\n }, extra_params), ['mobile', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.MOBILE_BIND_ONLY,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} next - the redirect url after successful logout\r\n */\n\n\n this.logout = function (params) {\n var _get;\n\n var _params$next = params.next,\n next = _params$next === void 0 ? '/' : _params$next;\n var aid = ((_get = get('initProps')) === null || _get === void 0 ? void 0 : _get.aid) || '';\n var nextUrl = encodeURIComponent(next);\n window.location.href = WEB_URL.LOGOUT + \"?account_sdk_source=web&aid=\" + aid + \"&next=\" + nextUrl;\n };\n /**\r\n * @param {string} email - the email used to login\r\n * @param {string} next - the url attached to the email\r\n * @param {string} password - corresponding password\r\n * @return {Promise} send result\r\n */\n\n\n this.sendEmailCode = function (params) {\n var email = params.email,\n next = params.next,\n password = params.password,\n _params$extra_params11 = params.extra_params,\n extra_params = _params$extra_params11 === void 0 ? {} : _params$extra_params11;\n var data = encryptParams(_extends({\n email: email,\n next: next,\n password: password,\n type: 1\n }, extra_params), ['email', 'password', 'type']);\n return _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} email - the email used to login\r\n * @param {string} code - the captcha\r\n * @param {string} password - corresponding password\r\n * @return {Promise} send result\r\n */\n\n\n this.emailRegister = function (params) {\n var email = params.email,\n code = params.code,\n password = params.password,\n _params$ifLogin = params.ifLogin,\n ifLogin = _params$ifLogin === void 0 ? false : _params$ifLogin,\n _params$extra_params12 = params.extra_params,\n extra_params = _params$extra_params12 === void 0 ? {} : _params$extra_params12;\n var data = encryptParams(_extends({\n email: email,\n code: code,\n password: password,\n type: 1\n }, extra_params), ['email', 'password', 'type', 'code']);\n return _this.request({\n url: ifLogin ? WEB_URL.EMAIL_REGISTER_LOGIN : WEB_URL.EMAIL_REGISTER,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} code - the captcha\r\n * @param {string} password - corresponding password\r\n * @return {Promise} register result\r\n */\n\n\n this.mobileRegister = function (params) {\n var mobile = params.mobile,\n code = params.code,\n password = params.password,\n _params$extra_params13 = params.extra_params,\n extra_params = _params$extra_params13 === void 0 ? {} : _params$extra_params13;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code,\n password: password,\n type: 16\n }, extra_params), ['mobile', 'code', 'password', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.MOBILE_REGISTER,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile used to login\r\n * @param {string} sms_code - the sms captcha\r\n * @param {string} email - the email used to login\r\n * @param {string} email_code - the email captcha\r\n * @param {string} password - corresponding password\r\n * @param {string} verify_ticket - the ticket returned by server during last verification process\r\n * @return {Promise} register result\r\n */\n\n\n this.mobileEmailRegister = function (params) {\n var mobile = params.mobile,\n sms_code = params.sms_code,\n email = params.email,\n email_code = params.email_code,\n password = params.password,\n verify_ticket = params.verify_ticket,\n _params$extra_params14 = params.extra_params,\n extra_params = _params$extra_params14 === void 0 ? {} : _params$extra_params14;\n var data = encryptParams(_extends({\n mobile: mobile,\n sms_code: sms_code,\n email: email,\n email_code: email_code,\n password: password,\n verify_ticket: verify_ticket,\n sms_type: 1,\n ect_type: 1\n }, extra_params), ['mobile', 'sms_code', 'sms_type', 'email', 'email_code', 'ect_type', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.MOBILE_EMAIL_REGISTER,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @return {Promise} check result\r\n */\n\n\n this.checkLogin = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params = params,\n _params$extra_params15 = _params.extra_params,\n extra_params = _params$extra_params15 === void 0 ? {} : _params$extra_params15;\n return _this.request({\n url: WEB_URL.CHECK_LOGIN,\n method: 'GET',\n data: extra_params\n });\n };\n /**\r\n * @param {string} code - user code returned by open service\r\n * @param {string} profile_key - user code returned by other process\r\n * @param {number} platform_app_id - apply for configuration in appcloud\r\n * @param {string} platform - third-party name\r\n * @param {number} need_mobile - whether synchronize the mobile of third-party account\r\n * @param {number} check_mobile - whether restrict old user to bind mobile forcely\r\n * @param {number} change_bind - whether rebind forcely when conflict occurs\r\n * @return {Promise} login result\r\n */\n\n\n this.bindWithMobileLogin = function (params) {\n var _params$extra_params16 = params.extra_params,\n extra_params = _params$extra_params16 === void 0 ? {} : _params$extra_params16,\n props = _objectWithoutPropertiesLoose(params, [\"extra_params\"]);\n\n return _this.request({\n url: WEB_URL.BIND_WITH_MOBILE_LOGIN,\n method: 'POST',\n data: _extends({}, extra_params, props)\n });\n };\n /**\r\n * @param {number} platform_app_id - apply for configuration in appcloud\r\n * @param {string} next - redirect url after successful login\r\n * @param {number} use_local_host\r\n * @param {string} action - login_only || ''\r\n */\n\n\n this.thirdAuth = function (params) {\n var _get2;\n\n var platform_app_id = params.platform_app_id,\n _params$next2 = params.next,\n next = _params$next2 === void 0 ? '/' : _params$next2,\n _params$use_local_hos = params.use_local_host,\n use_local_host = _params$use_local_hos === void 0 ? 0 : _params$use_local_hos,\n action = params.action;\n var aid = ((_get2 = get('initProps')) === null || _get2 === void 0 ? void 0 : _get2.aid) || '';\n var nextUrl = encodeURIComponent(next);\n window.location.href = WEB_URL.THIRD_AUTH + \"?account_sdk_source=web&aid=\" + aid + \"&next=\" + nextUrl + \"&platform_app_id=\" + platform_app_id + \"&use_local_host=\" + use_local_host + \"&action=\" + action;\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar QrCodeLoginAPI = /*#__PURE__*/function () {\n function QrCodeLoginAPI(props) {\n var request = props.request;\n this.request = request;\n }\n /**\r\n * [get qrcode url]\r\n * @param {string} next redirect url after login success\r\n */\n\n\n var _proto = QrCodeLoginAPI.prototype;\n\n _proto.getQrcode = function getQrcode(params) {\n var next = params.next;\n return this.request({\n url: WEB_URL.GET_QRCODE,\n method: 'GET',\n data: {\n next: encodeURIComponent(next)\n }\n });\n }\n /**\r\n * [query qrCode status]\r\n * @param {string} next\t redirect url after login success\r\n * @param {string} token result of GetQrcode\r\n */\n ;\n\n _proto.checkQrconnect = function checkQrconnect(params) {\n var next = params.next,\n token = params.token;\n return this.request({\n url: WEB_URL.CHECK_QRCONNECT,\n method: 'GET',\n data: {\n next: encodeURIComponent(next),\n token: token\n }\n });\n };\n\n return QrCodeLoginAPI;\n}();\n\nvar BindAPI = function BindAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile about to bind\r\n * @param {number} unbind_exist - whether unbind forcely when the mobile is already bound to another account\r\n * @return {Promise} send result\r\n */\n this.sendCode = function (params) {\n var mobile = params.mobile,\n _params$unbind_exist = params.unbind_exist,\n unbind_exist = _params$unbind_exist === void 0 ? 0 : _params$unbind_exist;\n var data = encryptParams({\n mobile: mobile,\n type: 17,\n unbind_exist: unbind_exist\n }, ['mobile', 'type', 'unbind_exist']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile about to bind\r\n * @param {string} code - the captcha\r\n * @param {string} password - if you want to set password\r\n * @param {number} unbind_exist - whether unbind forcely when the mobile is already bound to another account\r\n * @return {Promise} bind result\r\n */\n\n\n this.bindMobile = function (params) {\n var mobile = params.mobile,\n code = params.code,\n password = params.password,\n _params$unbind_exist2 = params.unbind_exist,\n unbind_exist = _params$unbind_exist2 === void 0 ? 0 : _params$unbind_exist2;\n var data = encryptParams({\n mobile: mobile,\n code: code,\n password: password,\n unbind_exist: unbind_exist,\n type: 17\n }, ['mobile', 'code', 'password', 'unbind_exist', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.MOBILE_BIND,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email about to bind\r\n * @return {Promise} bind result\r\n */\n\n\n this.sendEmailCode = function (params) {\n var email = params.email,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n email: email,\n type: 8\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email about to bind\r\n * @param {string} code - the captcha\r\n * @return {Promise} bind result\r\n */\n\n\n this.bindEmail = function (params) {\n var email = params.email,\n code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n email: email,\n code: code\n }, extra_params), ['email', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.EMAIL_BIND,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} platform_app_id - the app id of the third party about to bind\r\n * @param {string} code - authorization code\r\n * @param {string} access_token - third-party authorization token\r\n * @param {string} access_token_secret - id token\r\n * @param {string} openid - third-party openid, used with access_token, only neccessary for wechat, douyin and toutiao\r\n * @param {string} profile_key - third-party ticket that preserves information temporaily, used when the login progress is blocked\r\n * @return {Promise} bind result\r\n */\n\n\n this.bindAuth = function (params) {\n var platform_app_id = params.platform_app_id,\n code = params.code,\n access_token = params.access_token,\n access_token_secret = params.access_token_secret,\n openid = params.openid,\n profile_key = params.profile_key,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.AUTH_BIND,\n method: 'POST',\n data: _extends({\n platform_app_id: platform_app_id,\n code: code,\n access_token: access_token,\n access_token_secret: access_token_secret,\n openid: openid,\n profile_key: profile_key\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} platform - the platform about to unbind\r\n * @return {Promise} unbind result\r\n */\n\n\n this.unbindAuth = function (params) {\n var platform = params.platform,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.AUTH_UNBIND,\n method: 'POST',\n data: _extends({\n platform: platform\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} platform_app_id - the app id of the third party about to bind\r\n * @param {string} profile_key - third-party ticket that preserves information temporaily\r\n * @return {Promise} switch result\r\n */\n\n\n this.switchBindAuth = function (params) {\n var platform_app_id = params.platform_app_id,\n profile_key = params.profile_key,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.AUTH_SWITCH_BIND,\n method: 'POST',\n data: _extends({\n platform_app_id: platform_app_id,\n profile_key: profile_key\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar ExtraAPI = function ExtraAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile to check\r\n * @return {Promise} check result\r\n */\n this.checkMobileRegistered = function (params) {\n var mobile = params.mobile,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n mobile: mobile\n }, extra_params), ['mobile']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.CHECK_MOBILE_REGISTER,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email to check\r\n * @return {Promise} check result\r\n */\n\n\n this.checkEmailRegistered = function (params) {\n var email = params.email,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n email: email\n }, extra_params), ['email']);\n return _this.request({\n url: WEB_URL.CHECK_EMAIL_REGISTER,\n method: 'POST',\n data: data\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\n// import { encryptParams } from '../../utils/index';\nvar RegisterAPI$1 = function RegisterAPI(props) {\n var request = props.request;\n this.request = request;\n};\n\nvar ForgetPwdAPI$1 = function ForgetPwdAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile used to verify user's identity\r\n * @return {Promise} send result\r\n */\n this.sendCode = function (params) {\n var mobile = params.mobile,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: 6\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - the new password\r\n * @param {string} mobile - the mobile used to verify user's identity\r\n * @param {string} code - the captcha\r\n * @return {Promise} reset result\r\n */\n\n\n this.resetPwdByMobile = function (params) {\n var password = params.password,\n mobile = params.mobile,\n code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n password: password,\n mobile: mobile,\n code: code\n }, extra_params), ['password', 'mobile', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.RESET_PWD_BY_MOBILE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email used to verify user's identity\r\n * @return {Promise} send result\r\n */\n\n\n this.sendEmailCode = function (params) {\n var email = params.email,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n email: email,\n type: 4\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - the new password\r\n * @param {string} email - the email used to verify user's identity\r\n * @param {string} code - the captcha\r\n * @return {Promise} reset result\r\n */\n\n\n this.resetPwdByEmail = function (params) {\n var password = params.password,\n email = params.email,\n code = params.code,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n password: password,\n email: email,\n code: code\n }, extra_params), ['password', 'email', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.RESET_PWD_BY_EMAIL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - the new password\r\n * @param {string} ticket - the ticket returned after mobile verification\r\n * @return {Promise} reset result\r\n */\n\n\n this.resetPwdByMobileTicket = function (params) {\n var password = params.password,\n ticket = params.ticket,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n password: password,\n ticket: ticket\n }, extra_params), ['password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.RESET_PWD_BY_MOBILE_TICKET,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - the new password\r\n * @param {string} ticket - the ticket returned after email verification\r\n * @return {Promise} reset result\r\n */\n\n\n this.resetPwdByEmailTicket = function (params) {\n var password = params.password,\n ticket = params.ticket,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n var data = encryptParams(_extends({\n password: password,\n ticket: ticket\n }, extra_params), ['password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.RESET_PWD_BY_EMAIL_TICKET,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar RebindAPI = function RebindAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - the mobile about to unbind\r\n * @param {boolean} use_bind_mobile - true for using the binded mobile, false for using the mobile in the parameters\r\n * @return {Promise} send result\r\n */\n this.sendCodeToOldMobile = function (params) {\n var mobile = params.mobile,\n _params$use_bind_mobi = params.use_bind_mobile,\n use_bind_mobile = _params$use_bind_mobi === void 0 ? true : _params$use_bind_mobi,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var type = use_bind_mobile ? 22 : 28;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: type\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} code - the code received by the old mobile\r\n * @param {boolean} use_bind_mobile - true for using the binded mobile, false for using the mobile in the parameters\r\n * @return {Promise} verify result\r\n */\n\n\n this.validateOldMobile = function (params) {\n var code = params.code,\n _params$use_bind_mobi2 = params.use_bind_mobile,\n use_bind_mobile = _params$use_bind_mobi2 === void 0 ? true : _params$use_bind_mobi2,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var type = use_bind_mobile ? 22 : 28;\n var data = encryptParams(_extends({\n code: code,\n type: type\n }, extra_params), ['code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.VERIFY_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile about to bind\r\n * @param {string} old_mobile - the mobile about to unbind\r\n * @param {string} ticket - the ticket returned from \r\n * @return {Promise} send result\r\n */\n\n\n this.sendCodeToNewMobile = function (params) {\n var mobile = params.mobile,\n old_mobile = params.old_mobile,\n ticket = params.ticket,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n mobile: mobile,\n old_mobile: old_mobile,\n type: 20,\n ticket: ticket\n }, extra_params), ['mobile', 'old_mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - the mobile about to bind\r\n * @param {string} code - the captcha\r\n * @param {string} ticket - the ticket returned from \r\n * @param {number} kick_other - whether kick off the login status of other devices, 0 for no, 1 for yes\r\n * @return {Promise} bind result\r\n */\n\n\n this.rebindMobile = function (params) {\n var mobile = params.mobile,\n code = params.code,\n ticket = params.ticket,\n _params$kick_other = params.kick_other,\n kick_other = _params$kick_other === void 0 ? 0 : _params$kick_other,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code,\n ticket: ticket,\n kick_other: kick_other\n }, extra_params), ['mobile', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.MOBILE_REBIND,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email about to unbind\r\n * @return {Promise} send result\r\n */\n\n\n this.sendCodeToOldEmail = function (params) {\n var email = params.email,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n email: email,\n type: 6\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email about to unbind\r\n * @param {string} code - the code received by the old mobile\r\n * @return {Promise} verify result\r\n */\n\n\n this.validateOldEmail = function (params) {\n var email = params.email,\n code = params.code,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n var data = encryptParams(_extends({\n email: email,\n code: code,\n type: 6\n }, extra_params), ['email', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.VERIFY_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email about to bind\r\n * @return {Promise} send result\r\n */\n\n\n this.sendCodeToNewEmail = function (params) {\n var email = params.email,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n var data = encryptParams(_extends({\n email: email,\n type: 7\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - the email about to bind\r\n * @param {string} code - the captcha\r\n * @param {string} ticket - the ticket returned from \r\n * @return {Promise} bind result\r\n */\n\n\n this.rebindEmail = function (params) {\n var email = params.email,\n code = params.code,\n ticket = params.ticket,\n _params$extra_params8 = params.extra_params,\n extra_params = _params$extra_params8 === void 0 ? {} : _params$extra_params8;\n var data = encryptParams(_extends({\n email: email,\n code: code,\n type: 7,\n ticket: ticket\n }, extra_params), ['email', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.EMAIL_REBIND,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar PasswordAPI = function PasswordAPI(props) {\n var _this = this;\n\n /**\r\n * @param {boolean} verify_mobile_seperate - whether to verify the mobile captcha seperately\r\n * @return {Promise} send result\r\n */\n this.sendCode = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params = params,\n _params$verify_mobile = _params.verify_mobile_seperate,\n verify_mobile_seperate = _params$verify_mobile === void 0 ? false : _params$verify_mobile,\n _params$extra_params = _params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var type = verify_mobile_seperate ? 22 : 13;\n var data = encryptParams(_extends({\n type: type\n }, extra_params), ['type']);\n return _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} code - the captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.validateMobile = function (params) {\n var code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n code: code,\n type: 22\n }, extra_params), ['code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.VERIFY_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - new password\r\n * @param {string} code - the captcha\r\n * @param {string} ticket - the ticket returned after mobile verification\r\n * @return {Promise} change result\r\n */\n\n\n this.changePwdByMobile = function (params) {\n var password = params.password,\n code = params.code,\n ticket = params.ticket,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n password: password,\n code: code,\n ticket: ticket\n }, extra_params), ['password', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.PWD_CHANGE_BY_MOBILE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - new password\r\n * @param {string} current_password - old password\r\n * @return {Promise} update result\r\n */\n\n\n this.updatePwd = function (params) {\n var password = params.password,\n current_password = params.current_password,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n password: password,\n current_password: current_password\n }, extra_params), ['password', 'current_password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.PWD_UPDATE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @return {Promise} send result\r\n */\n\n\n this.sendEmailCode = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params2 = params,\n _params2$extra_params = _params2.extra_params,\n extra_params = _params2$extra_params === void 0 ? {} : _params2$extra_params;\n var data = encryptParams(_extends({\n type: 11\n }, extra_params), ['type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} code - the captcha\r\n * @return {Promise} verify result\r\n */\n\n\n this.validateEmail = function (params) {\n var code = params.code,\n _params$extra_params5 = params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n code: code,\n type: 11\n }, extra_params), ['code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.VERIFY_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password - new password\r\n * @param {string} code - the captcha\r\n * @param {string} ticket - the ticket returned after email verification\r\n * @return {Promise} change result\r\n */\n\n\n this.changePwdByEmail = function (params) {\n var password = params.password,\n code = params.code,\n ticket = params.ticket,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n var data = encryptParams(_extends({\n password: password,\n code: code,\n ticket: ticket\n }, extra_params), ['password', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.PWD_CHANGE_BY_EMAIL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} password\r\n * @return {Promise} set result\r\n */\n\n\n this.setPassword = function (params) {\n var password = params.password,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n var data = encryptParams(_extends({\n password: password\n }, extra_params), ['password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.PWD_SET,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @return {Promise} check result\r\n */\n\n\n this.checkHasSetPwd = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params3 = params,\n _params3$extra_params = _params3.extra_params,\n extra_params = _params3$extra_params === void 0 ? {} : _params3$extra_params;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.PWD_HAS_SET,\n method: 'POST',\n data: extra_params\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar VerifyAPI = function VerifyAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - mobile to be verified\r\n * @return {Promise} - send result\r\n */\n this.notLoginSendCode = function (params) {\n var mobile = params.mobile,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: 34\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} mobile - mobile to be verified\r\n * @param {string} code - the captcha\r\n * @return {Promise} - verify result\r\n */\n\n\n this.notLoginValidateMobile = function (params) {\n var mobile = params.mobile,\n code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code,\n type: 34\n }, extra_params), ['mobile', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.CHECK_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - email to be verified\r\n * @return {Promise} - send result\r\n */\n\n\n this.notLoginSendEmailCode = function (params) {\n var email = params.email,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n email: email,\n type: 15\n }, extra_params), ['email', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} email - email to be verified\r\n * @param {string} code - the captcha\r\n * @return {Promise} - verify result\r\n */\n\n\n this.notLoginValidateEmail = function (params) {\n var email = params.email,\n code = params.code,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n email: email,\n code: code,\n type: 15\n }, extra_params), ['email', 'code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.CHECK_EMAIL_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @return {Promise} - send result\r\n */\n\n\n this.sendCode = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params = params,\n _params$extra_params5 = _params.extra_params,\n extra_params = _params$extra_params5 === void 0 ? {} : _params$extra_params5;\n var data = encryptParams(_extends({\n type: 22\n }, extra_params), ['type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {string} code - the captcha\r\n * @return {Promise} - verify result\r\n */\n\n\n this.validateMobile = function (params) {\n var code = params.code,\n _params$extra_params6 = params.extra_params,\n extra_params = _params$extra_params6 === void 0 ? {} : _params$extra_params6;\n var data = encryptParams(_extends({\n code: code,\n type: 22\n }, extra_params), ['code', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.VERIFY_MOBILE_CODE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @return {Promise} - send result\r\n */\n\n\n this.sendEmailCode = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params2 = params,\n _params2$extra_params = _params2.extra_params,\n extra_params = _params2$extra_params === void 0 ? {} : _params2$extra_params;\n var data = encryptParams(_extends({\n type: 6\n }, extra_params), ['type']);\n return _this.request({\n url: WEB_URL.SEND_EMAIL_CODE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} code - the captcha\r\n * @return {Promise} - verify result\r\n */\n\n\n this.validateEmail = function (params) {\n var code = params.code,\n _params$extra_params7 = params.extra_params,\n extra_params = _params$extra_params7 === void 0 ? {} : _params$extra_params7;\n var data = encryptParams(_extends({\n code: code,\n type: 6\n }, extra_params), ['code', 'type']);\n return _this.request({\n url: WEB_URL.VERIFY_EMAIL_CODE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} account - account to be verified, mobile / email / username\r\n * @param {string} password - corresponding password\r\n * @return {Promise} - verify result\r\n */\n\n\n this.accountVerify = function (params) {\n var account = params.account,\n password = params.password,\n _params$extra_params8 = params.extra_params,\n extra_params = _params$extra_params8 === void 0 ? {} : _params$extra_params8;\n var data = encryptParams(_extends({\n account: account,\n password: password,\n user_login_version: 1\n }, extra_params), ['account', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.ACCOUNT_VERIFY,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n /**\r\n * @param {number} platform_app_id - the app id of the third party used to login\r\n * @param {string} code - authorization code\r\n * @param {string} access_token - third-party authorization token\r\n * @param {string} access_token_secret - id token, only neccessary when using google to login\r\n * @param {string} openid - third-party openid, used with access_token\r\n * @param {string} profile_key - third-party ticket that preserves information temporaily, used when the login progress is blocked\r\n * @return {Promise} login result\r\n */\n\n\n this.authVerify = function (params) {\n var platform_app_id = params.platform_app_id,\n code = params.code,\n access_token = params.access_token,\n access_token_secret = params.access_token_secret,\n openid = params.openid,\n profile_key = params.profile_key,\n _params$extra_params9 = params.extra_params,\n extra_params = _params$extra_params9 === void 0 ? {} : _params$extra_params9;\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_URL.AUTH_VERIFY,\n method: 'POST',\n data: _extends({\n platform_app_id: platform_app_id,\n code: code,\n access_token: access_token,\n access_token_secret: access_token_secret,\n openid: openid,\n profile_key: profile_key\n }, extra_params)\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar CancelAPI = function CancelAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} cancel_ticket - Ticket returned by cancel_check API\r\n * @return {Promise} - result\r\n */\n this.verifyWay = function (params) {\n var cancel_ticket = params.cancel_ticket,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return _this.request({\n url: WEB_URL.CANCEL_VERIFY_WAY,\n method: 'GET',\n data: _extends({\n cancel_ticket: cancel_ticket\n }, extra_params)\n });\n };\n /**\r\n * @param {string} value_ticket - A ticket representing the value of the user\r\n * @return {Promise} - result\r\n */\n\n\n this.checkIfPass = function (params) {\n var value_ticket = params.value_ticket,\n extra_params = params.extra_params;\n return _this.request({\n url: WEB_URL.CANCEL_CHECK,\n method: 'GET',\n data: _extends({\n value_ticket: value_ticket\n }, extra_params)\n });\n };\n /**\r\n * @param {string} value_ticket - A ticket representing the value of the user\r\n * @param {string} token - A ticket obtained after verification such as mobile phone number verification code\r\n * @param {string} cancel_ticket - Ticket returned by cancel_check API\r\n * @param {string} abandon - A comma-separated string containing abandoned assets\r\n * @return {Promise} - result\r\n */\n\n\n this.confirm = function (params) {\n var value_ticket = params.value_ticket,\n token = params.token,\n cancel_ticket = params.cancel_ticket,\n abandon = params.abandon,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n return _this.request({\n url: WEB_URL.CANCEL_CONFIRM,\n method: 'POST',\n data: _extends({\n value_ticket: value_ticket,\n token: token,\n cancel_ticket: cancel_ticket,\n abandon: abandon\n }, extra_params)\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar OpenAPI = /*#__PURE__*/function () {\n function OpenAPI(props) {\n var request = props.request;\n this.request = request;\n }\n /**\r\n * [get auth info]\r\n * @param {string} client_key key of third-party app\r\n * @param {string} scope list of authorities\r\n * @return {Promise} request result\r\n */\n\n\n var _proto = OpenAPI.prototype;\n\n _proto.getAuthInfo = function getAuthInfo(params) {\n var client_key = params.client_key,\n scope = params.scope,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return this.request({\n url: WEB_URL.GET_OPEN_AUTH_INFO,\n method: 'GET',\n data: _extends({\n client_key: client_key,\n scope: scope\n }, extra_params)\n });\n }\n /**\r\n * [send code]\r\n * @param {string} mobile - the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendCode = function sendCode(params) {\n var mobile = params.mobile,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: 27\n }, extra_params), ['mobile', 'type']);\n return this.request({\n url: WEB_URL.OPEN_SEND_CODE,\n method: 'GET',\n data: data\n });\n }\n /**\r\n * [sms authorization]\r\n * @param {string} client_key key of third-party app\r\n * @param {string} scope list of authorities\r\n * @param {string} source source of authorization\r\n * @param {string} redirect_uri redirect url after successful authorization\r\n * @param {string} state security check\r\n * @param {string} mobile mobile used to authorize\r\n * @param {string} code corresponding sms code\r\n * @return {Promise} auth result\r\n */\n ;\n\n _proto.smsAuth = function smsAuth(params) {\n var client_key = params.client_key,\n scope = params.scope,\n source = params.source,\n redirect_uri = params.redirect_uri,\n state = params.state,\n mobile = params.mobile,\n code = params.code,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n var data = encryptParams(_extends({\n client_key: client_key,\n scope: scope,\n source: source,\n redirect_uri: redirect_uri,\n state: state,\n mobile: mobile,\n code: code\n }, extra_params), ['mobile', 'code']);\n return this.request({\n url: WEB_URL.OPEN_SMS_AUTH,\n method: 'POST',\n data: data\n });\n }\n /**\r\n * [sms authorization]\r\n * @param {string} client_key key of third-party app\r\n * @param {string} scope list of authorities\r\n * @param {string} source source of authorization\r\n * @param {string} redirect_uri redirect url after successful authorization\r\n * @param {string} state security check\r\n * @param {string} mobile mobile used to authorize\r\n * @param {string} code corresponding sms code\r\n * @return {Promise} auth result\r\n */\n ;\n\n _proto.accountAuth = function accountAuth(params) {\n var client_key = params.client_key,\n scope = params.scope,\n source = params.source,\n redirect_uri = params.redirect_uri,\n state = params.state,\n password = params.password,\n account = params.account,\n _params$extra_params4 = params.extra_params,\n extra_params = _params$extra_params4 === void 0 ? {} : _params$extra_params4;\n var data = encryptParams(_extends({\n client_key: client_key,\n scope: scope,\n source: source,\n redirect_uri: redirect_uri,\n state: state,\n password: password,\n account: account\n }, extra_params), ['password', 'account']);\n return this.request({\n url: WEB_URL.OPEN_ACCOUNT_AUTH,\n method: 'POST',\n data: data\n });\n };\n\n return OpenAPI;\n}();\n\nvar AccountAPI = function AccountAPI(props) {\n var _this = this;\n\n /**\r\n * @return {Promise} request result\r\n */\n this.getAccountInfo = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n var _params = params,\n _params$extra_params = _params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return _this.request({\n url: WEB_URL.ACCOUNT_INFO,\n method: 'GET',\n data: extra_params\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar WebInterface = /*#__PURE__*/function (_BaseInterface) {\n _inheritsLoose(WebInterface, _BaseInterface);\n\n function WebInterface(props) {\n var _this;\n\n _this = _BaseInterface.call(this, props, 'web') || this;\n var _props$printLog = props.printLog,\n printLog = _props$printLog === void 0 ? false : _props$printLog,\n _props$acrawler = props.acrawler,\n acrawler = _props$acrawler === void 0 ? '' : _props$acrawler; // log\n\n if (printLog) {\n console.log('%cWebInterface Initial Props >>>>%O', 'background: #222; color: #bada55', props);\n } // acrawler\n\n\n if (acrawler) {\n initAcrawler(acrawler, props);\n } // web interfaces\n\n\n var argus = _extends({}, props, {\n request: _this.request\n });\n\n _this.login = new LoginAPI$1(argus);\n _this.qrcodeLogin = new QrCodeLoginAPI(argus);\n _this.register = new RegisterAPI$1(argus);\n _this.forgetPwd = new ForgetPwdAPI$1(argus);\n _this.bind = new BindAPI(argus);\n _this.rebind = new RebindAPI(argus);\n _this.password = new PasswordAPI(argus);\n _this.extra = new ExtraAPI(argus);\n _this.verify = new VerifyAPI(argus);\n _this.cancel = new CancelAPI(argus);\n _this.open = new OpenAPI(argus);\n _this.account = new AccountAPI(argus); // web aff interfaces\n\n _this.affLogin = new LoginAPI(argus);\n _this.affRegister = new RegisterAPI(argus);\n _this.affInvite = new InviteAPI(argus);\n _this.affSubject = new SubjectAPI(argus);\n _this.affForgetPwd = new ForgetPwdAPI(argus);\n _this.affResource = new ResourceAPI(argus);\n _this.affRole = new RoleAPI(argus);\n _this.affUser = new UserAPI(argus);\n _this.affSuper = new SuperAPI(argus);\n return _this;\n }\n\n return WebInterface;\n}(BaseInterface);\n\nvar VerifyAPI$1 = function VerifyAPI(props) {\n var _this = this;\n\n /**\r\n * @param {string} mobile - mobile to be verified\r\n * @return {Promise} - send result\r\n */\n this.notLoginSendCode = function (params) {\n var mobile = params.mobile,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n mobile: mobile,\n type: 34\n }, extra_params), ['mobile', 'type']);\n return _this.request({\n url: APP_URL.SEND_MOBILE_CODE,\n method: 'POST',\n data: data\n });\n };\n /**\r\n * @param {string} mobile - mobile to be verified\r\n * @param {string} code - the captcha\r\n * @return {Promise} - verify result\r\n */\n\n\n this.notLoginValidateMobile = function (params) {\n var mobile = params.mobile,\n code = params.code,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code,\n type: 34\n }, extra_params), ['mobile', 'code', 'type']);\n return _this.request({\n url: APP_URL.CHECK_MOBILE_CODE,\n method: 'POST',\n data: data\n });\n };\n\n var request = props.request;\n this.request = request;\n};\n\nvar AppInterface = /*#__PURE__*/function (_BaseInterface) {\n _inheritsLoose(AppInterface, _BaseInterface);\n\n function AppInterface(props) {\n var _this;\n\n _this = _BaseInterface.call(this, props, 'app') || this;\n var _props$printLog = props.printLog,\n printLog = _props$printLog === void 0 ? false : _props$printLog,\n _props$acrawler = props.acrawler,\n acrawler = _props$acrawler === void 0 ? '' : _props$acrawler; // log\n\n if (printLog) {\n console.log('AppInterface Initial Props >>>>', props);\n } // acrawler\n\n\n if (acrawler) {\n initAcrawler(acrawler, props);\n } // web interfaces\n\n\n var argus = _extends({}, props, {\n request: _this.request\n });\n\n _this.verify = new VerifyAPI$1(argus);\n return _this;\n }\n\n return AppInterface;\n}(BaseInterface);\n\nvar CommonService = /*#__PURE__*/function () {\n function CommonService(props) {\n var request = props.request;\n this.request = request;\n }\n /**\r\n * [get mobile verification code] out-of-date\r\n * @param {string} mobile the mobile used to login\r\n * @param {number} type codeType\r\n * @return {Promise} send result\r\n */\n\n\n var _proto = CommonService.prototype;\n\n _proto.baseSendMobileCode = function baseSendMobileCode(params) {\n var _this = this;\n\n var mobile = params.mobile,\n type = params.type,\n extra_params = _objectWithoutPropertiesLoose(params, [\"mobile\", \"type\"]);\n\n var data = encryptParams(_extends({\n mobile: mobile,\n type: type\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_SSO.MOBILE_CODE_URL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @param {number} type codeType\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.baseSendMobileCodeV2 = function baseSendMobileCodeV2(params) {\n var _this2 = this;\n\n var mobile = params.mobile,\n type = params.type,\n extra_params = _objectWithoutPropertiesLoose(params, [\"mobile\", \"type\"]);\n\n var data = encryptParams(_extends({\n mobile: mobile,\n type: type\n }, extra_params), ['mobile', 'type']);\n return new Promise(function (resolve, reject) {\n _this2.request({\n url: WEB_SSO.MOBILE_CODE_URL_V2,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [send a verification url to email] out-of-date\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.baseSendEmailLink = function baseSendEmailLink(params) {\n var _this3 = this;\n\n var email = params.email,\n password = params.password,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"password\"]);\n\n var data = encryptParams(_extends({\n email: email,\n password: password\n }, extra_params), ['email', 'password']);\n return new Promise(function (resolve, reject) {\n _this3.request({\n url: WEB_SSO.EMAIL_ACTIVATE_URL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [send a verification link to email v2]\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.baseSendEmailLinkV2 = function baseSendEmailLinkV2(params) {\n var _this4 = this;\n\n var email = params.email,\n password = params.password,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"password\"]);\n\n var data = encryptParams(_extends({\n email: email,\n password: password\n }, extra_params), ['email', 'password']);\n return new Promise(function (resolve, reject) {\n _this4.request({\n url: WEB_SSO.EMAIL_ACTIVATE_URL_V2,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [send a verification code to email] out-of-date\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.baseSendEmailCode = function baseSendEmailCode(params) {\n var _this5 = this;\n\n var email = params.email,\n password = params.password,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"password\"]);\n\n var data = encryptParams(_extends({\n email: email,\n password: password\n }, extra_params), ['email', 'password']);\n return new Promise(function (resolve, reject) {\n _this5.request({\n url: WEB_SSO.EMAIL_ACTIVATE_CODE_URL,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [send a verification code to email v2]\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.baseSendEmailCodeV2 = function baseSendEmailCodeV2(params) {\n var _this6 = this;\n\n var email = params.email,\n password = params.password,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"password\"]);\n\n var data = encryptParams(_extends({\n email: email,\n password: password\n }, extra_params), ['email', 'password']);\n return new Promise(function (resolve, reject) {\n _this6.request({\n url: WEB_SSO.EMAIL_ACTIVATE_CODE_URL_V2,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n return CommonService;\n}();\n\nvar BindMobileService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(BindMobileService, _CommonService);\n\n function BindMobileService() {\n return _CommonService.apply(this, arguments) || this;\n }\n\n var _proto = BindMobileService.prototype;\n\n /**\r\n * [get mobile verification code] out-of-date\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n _proto.sendMobileCode = function sendMobileCode(params) {\n return this.baseSendMobileCode(_extends({}, params, {\n type: 8\n }));\n }\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendMobileCodeV2 = function sendMobileCodeV2(params) {\n return this.baseSendMobileCodeV2(_extends({}, params, {\n type: 8\n }));\n }\n /**\r\n * [bind mobile]\r\n * @param {string} mobile mobile number\r\n * @param {string} code verify code\r\n * @param {number} unbind_exist\r\n */\n ;\n\n _proto.mobileBind = function mobileBind(params) {\n var _this = this;\n\n var mobile = params.mobile,\n code = params.code,\n extra_params = _objectWithoutPropertiesLoose(params, [\"mobile\", \"code\"]);\n\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code\n }, extra_params, {\n type: 8\n }), ['mobile', 'type', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_SSO.BIND_MOBILE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n return BindMobileService;\n}(CommonService);\n\nvar ChangeMobileService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(ChangeMobileService, _CommonService);\n\n function ChangeMobileService() {\n return _CommonService.apply(this, arguments) || this;\n }\n\n var _proto = ChangeMobileService.prototype;\n\n /**\r\n * [get mobile verification code] out-of-date\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n _proto.sendMobileCode = function sendMobileCode(params) {\n return this.baseSendMobileCode(_extends({}, params, {\n type: 20\n }));\n }\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendMobileCodeV2 = function sendMobileCodeV2(params) {\n return this.baseSendMobileCodeV2(_extends({}, params, {\n type: 20\n }));\n }\n /**\r\n * [update bind mobile number]\r\n * @param {string} mobile new mobile\r\n * @param {string} code verifyCode\r\n */\n ;\n\n _proto.mobileChange = function mobileChange(params) {\n var _this = this;\n\n var mobile = params.mobile,\n code = params.code,\n extra_params = _objectWithoutPropertiesLoose(params, [\"mobile\", \"code\"]);\n\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code\n }, extra_params), ['mobile', 'code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_SSO.CHANGE_MOBILE,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n return ChangeMobileService;\n}(CommonService);\n\nvar LoginService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(LoginService, _CommonService);\n\n function LoginService(props) {\n var _this;\n\n _this = _CommonService.call(this, props) || this;\n var host = props.host,\n originHost = props.originHost,\n aid = props.aid;\n _this.aid = aid;\n _this.host = host;\n _this.originHost = originHost;\n return _this;\n }\n /**\r\n * [check login status]\r\n * @param {string} service redirect url after login success\r\n * @return {Promise} login result\r\n */\n\n\n var _proto = LoginService.prototype;\n\n _proto.checkLogin = function checkLogin(params) {\n return this.request({\n url: WEB_SSO.CHECK_LOGIN,\n method: 'GET',\n data: _extends({}, params)\n });\n } // /**\n // * [get mobile verification code] out-of-date\n // * @param {string} mobile the mobile used to login\n // * @return {Promise} send result\n // */\n // public sendMobileCode(params: { mobile: string }): Promise {\n // return this.baseSendMobileCode({\n // ...params,\n // type: 24,\n // });\n // }\n\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendMobileCodeV2 = function sendMobileCodeV2(params) {\n return this.baseSendMobileCodeV2(_extends({}, params, {\n type: 24\n }));\n } // /**\n // * [quick authentication] out-of-date\n // * @param {string} mobile the mobile used to login\n // * @param {number} service redirect url after login success\n // * @return {Promise} send result\n // */\n // public quickAuth(params: { service: string; mobile: string }): Promise {\n // let { mobile, ...extra_params } = params;\n // const data = encryptParams({ mobile, ...extra_params }, ['mobile']);\n // return new Promise((resolve, reject) => {\n // this.request({\n // url: WEB_SSO.MOBILE_CODE_LOGIN_URL,\n // method: 'POST',\n // data,\n // })\n // .then((data: any) => {\n // resolve(data);\n // })\n // .catch((e: any) => {\n // reject(e);\n // });\n // });\n // }\n\n /**\r\n * [quick authentication V2]\r\n * @param {string} mobile the mobile used to login\r\n * @param {string} code corresponding code\r\n * @param {number} service redirect url after login success\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.quickAuthV2 = function quickAuthV2(params) {\n var mobile = params.mobile,\n code = params.code,\n extra_params = _objectWithoutPropertiesLoose(params, [\"mobile\", \"code\"]);\n\n var data = encryptParams(_extends({\n mobile: mobile,\n code: code\n }, extra_params), ['mobile', 'code']);\n return this.request({\n url: WEB_SSO.MOBILE_CODE_LOGIN_URL_V2,\n method: 'POST',\n data: data\n });\n } // /**\n // * [login by account] out-of-date\n // * @param {string} account account\n // * @param {string} password password\n // */\n // public accountLogin(params: { account: string; password: string }) {\n // let { account, password, ...extra_params } = params;\n // const data = encryptParams({ account, password, ...extra_params }, [\n // 'account',\n // 'password',\n // ]);\n // return new Promise((resolve, reject) => {\n // this.request({\n // url: WEB_SSO.ACCOUNT_LOGIN_URL,\n // method: 'POST',\n // data,\n // })\n // .then((data: any) => {\n // resolve(data);\n // })\n // .catch((e: any) => {\n // reject(e);\n // });\n // });\n // }\n\n /**\r\n * [login by account V2]\r\n * @param {string} account account\r\n * @param {string} password password\r\n * @param {string} service redirect url after successful login\r\n */\n ;\n\n _proto.accountLoginV2 = function accountLoginV2(params) {\n var account = params.account,\n password = params.password,\n service = params.service,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n var data = encryptParams(_extends({\n account: account,\n password: password,\n service: service\n }, extra_params), ['account', 'password']);\n return this.request({\n url: WEB_SSO.ACCOUNT_LOGIN_URL_V2,\n method: 'POST',\n data: data\n });\n }\n /**\r\n * [logout]\r\n * @param {string} service redirect url after login success\r\n */\n ;\n\n _proto.logout = function logout(params) {\n var service = params.service;\n window.location.href = \"\" + this.host + WEB_SSO.LOGOUT + \"?service=\" + service;\n }\n /**\r\n * [wap login]\r\n * @param {string} origin request domain, this interface isn't sso\r\n * @param {string} platform_app_id the thrid appId\r\n * @param {string} next rederict url\r\n * @param {string} type default 'sso'\r\n * @param {string} use_local_host default 1\r\n * @param {string} scopes default 'user_info'\r\n * @param {string} url_params\r\n */\n ;\n\n _proto.wapLogin = function wapLogin(params) {\n var _params$origin = params.origin,\n origin = _params$origin === void 0 ? '' : _params$origin,\n _params$type = params.type,\n type = _params$type === void 0 ? 'sso' : _params$type,\n use_local_host = params.use_local_host,\n _params$scopes = params.scopes,\n scopes = _params$scopes === void 0 ? 'user_info' : _params$scopes,\n next = params.next,\n _params$url_params = params.url_params,\n url_params = _params$url_params === void 0 ? '' : _params$url_params,\n platform_app_id = params.platform_app_id,\n _params$platform = params.platform,\n platform = _params$platform === void 0 ? '' : _params$platform,\n _params$replace = params.replace,\n replace = _params$replace === void 0 ? false : _params$replace;\n var service = encodeURIComponent(next);\n var realNext = encodeURIComponent(this.host + '/auth/login_success/?service=' + service);\n var paramMap = {\n aid: this.aid,\n type: type,\n // 历史业务不推荐使用该参数,新业务可以使用,改为由业务自行传入\n use_local_host: use_local_host,\n scopes: scopes,\n next: realNext,\n url_params: url_params,\n platform_app_id: platform_app_id,\n platform: platform\n };\n var query = '';\n var len = Object.keys(paramMap).length;\n Object.keys(paramMap).forEach(function (key, index) {\n if (len === index + 1) {\n query += key + \"=\" + paramMap[key];\n } else {\n query += key + \"=\" + paramMap[key] + \"&\";\n }\n });\n var redirectUrl = \"\" + origin + WEB_SSO.AUTH_LOGIN_URL + \"?\" + query; // open url in current window\n\n if (replace) {\n window.location.href = redirectUrl;\n } else {\n // TODO\n var childWindow = window.open(redirectUrl, '_blank');\n }\n }\n /**\r\n * [send a verification url to email] out-of-date\r\n * @param {string} email email\r\n * @param {string} next redirect url after login success\r\n */\n ;\n\n _proto.sendEmailLink = function sendEmailLink(params) {\n return this.baseSendEmailLink(_extends({}, params, {\n ect_type: 13\n }));\n }\n /**\r\n * [send a verification url to email V2]\r\n * @param {string} email email\r\n * @param {string} next redirect url after login success\r\n */\n ;\n\n _proto.sendEmailLinkV2 = function sendEmailLinkV2(params) {\n return this.baseSendEmailLinkV2(_extends({}, params, {\n ect_type: 13\n }));\n }\n /**\r\n * [send a verification code to email] out-of-date\r\n * @param {string} email email\r\n * @param {string} next redirect url after login success\r\n */\n ;\n\n _proto.sendEmailCode = function sendEmailCode(params) {\n return this.baseSendEmailCode(_extends({}, params, {\n ect_type: 13\n }));\n }\n /**\r\n * [send a verification code to email V2]\r\n * @param {string} email email\r\n * @param {string} next redirect url after login success\r\n */\n ;\n\n _proto.sendEmailCodeV2 = function sendEmailCodeV2(params) {\n return this.baseSendEmailCodeV2(_extends({}, params, {\n ect_type: 13\n }));\n }\n /**\r\n * [third party login with mobile]\r\n * @param {string} code authorization code\r\n * @param {string} profile_key user label\r\n * @param {number} platform_app_id the thrid appId\r\n * @param {number} change_bind whether rebind forcely when conflict occurs\r\n * @param {string} service redirect url after successful login\r\n */\n ;\n\n _proto.bindWithMobileLogin = function bindWithMobileLogin(params) {\n var code = params.code,\n platform_app_id = params.platform_app_id,\n service = params.service,\n profile_key = params.profile_key,\n _params$change_bind = params.change_bind,\n change_bind = _params$change_bind === void 0 ? 0 : _params$change_bind,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n return this.request({\n url: WEB_SSO.BIND_WITH_MOBILE_LOGIN,\n method: 'POST',\n data: _extends({\n code: code,\n platform_app_id: platform_app_id,\n service: service,\n profile_key: profile_key,\n change_bind: change_bind\n }, extra_params)\n });\n }\n /**\r\n * [third party login with mobile]\r\n * @param {string} code authorization code\r\n * @param {number} platform_app_id the thrid appId\r\n * @param {string} profile_key user label\r\n * @param {boolean} login_only - 'true' for only login, 'false' for register and login\r\n * @param {string} service redirect url after successful login\r\n */\n ;\n\n _proto.authLogin = function authLogin(params) {\n var code = params.code,\n platform_app_id = params.platform_app_id,\n service = params.service,\n profile_key = params.profile_key,\n _params$login_only = params.login_only,\n login_only = _params$login_only === void 0 ? false : _params$login_only,\n _params$extra_params3 = params.extra_params,\n extra_params = _params$extra_params3 === void 0 ? {} : _params$extra_params3;\n return this.request({\n url: login_only ? WEB_SSO.AUTH_LOGIN_ONLY : WEB_SSO.AUTH_LOGIN,\n method: 'POST',\n data: _extends({\n code: code,\n platform_app_id: platform_app_id,\n service: service,\n profile_key: profile_key\n }, extra_params)\n });\n };\n\n return LoginService;\n}(CommonService);\n\nvar PasswordService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(PasswordService, _CommonService);\n\n function PasswordService() {\n return _CommonService.apply(this, arguments) || this;\n }\n\n var _proto = PasswordService.prototype;\n\n // /**\n // * [get mobile verification code] out-of-date\n // * @param {string} mobile the mobile used to login\n // * @return {Promise} send result\n // */\n // public sendMobileCode(params: { mobile: string }): Promise {\n // return this.baseSendMobileCode({\n // ...params,\n // type: 6,\n // });\n // }\n\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n _proto.sendMobileCodeV2 = function sendMobileCodeV2(params) {\n return this.baseSendMobileCodeV2(_extends({}, params, {\n type: 6\n }));\n } // /**\n // * [send a verification url to email] out-of-date\n // * @param {string} email email\n // * @param {string} next redirect url after login success\n // * @param {string} password password\n // */\n // public sendEmailCode(params: {\n // email: string;\n // next?: string;\n // password?: string;\n // }): Promise {\n // let { email, password, ...extra_params } = params;\n // const data = encryptParams(\n // { email, password, ect_type: 4, ...extra_params },\n // ['email', 'password']\n // );\n // return new Promise((resolve, reject) => {\n // this.request({\n // url: WEB_SSO.SSO_EMAIL_ACTIVATE_CODE_URL,\n // method: 'POST',\n // data,\n // })\n // .then((data: any) => {\n // resolve(data);\n // })\n // .catch((e: any) => {\n // reject(e);\n // });\n // });\n // }\n\n /**\r\n * [send a verification url to email V2]\r\n * @param {string} email email\r\n * @param {string} next redirect url after login success\r\n * @param {string} password password\r\n */\n ;\n\n _proto.sendEmailCodeV2 = function sendEmailCodeV2(params) {\n return this.baseSendEmailCodeV2(_extends({}, params, {\n ect_type: 4\n }));\n }\n /**\r\n * [reset password]\r\n * @param {string} account account\r\n * @param {string} code verify code\r\n * @param {string} password new password\r\n */\n ;\n\n _proto.resetPassword = function resetPassword(params) {\n var _this = this;\n\n var account = params.account,\n code = params.code,\n password = params.password;\n var data = encryptParams({\n account: account,\n code: code,\n password: password\n }, ['account', 'code', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_SSO.RESET_PASSWORD,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n return PasswordService;\n}(CommonService);\n\nvar QrCodeService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(QrCodeService, _CommonService);\n\n function QrCodeService() {\n return _CommonService.apply(this, arguments) || this;\n }\n\n var _proto = QrCodeService.prototype;\n\n /**\r\n * [get qrcode url]\r\n * @param {string} service redirect url after login success\r\n */\n _proto.getQrcode = function getQrcode(params) {\n var service = params.service,\n _params$extra_params = params.extra_params,\n extra_params = _params$extra_params === void 0 ? {} : _params$extra_params;\n return this.request({\n // WARNING: axios会encodeURL相关参数,原因未知,暂时这么处理\n url: WEB_SSO.GET_QRCODE + \"?service=\" + encodeURIComponent(service),\n method: 'GET',\n data: extra_params\n });\n }\n /**\r\n * [query qrCode status]\r\n * @param {string} service redirect url after login success\r\n * @param {string} token result of GetQrcode\r\n */\n ;\n\n _proto.checkQrconnect = function checkQrconnect(params) {\n var service = params.service,\n token = params.token,\n _params$extra_params2 = params.extra_params,\n extra_params = _params$extra_params2 === void 0 ? {} : _params$extra_params2;\n return this.request({\n // WARNING: axios会encodeURL相关参数,原因未知,暂时这么处理\n url: WEB_SSO.CHECK_QRCONNECT + \"?service=\" + encodeURIComponent(service),\n method: 'GET',\n data: _extends({\n // service,\n token: token\n }, extra_params)\n });\n };\n\n return QrCodeService;\n}(CommonService);\n\nvar QuickAuthService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(QuickAuthService, _CommonService);\n\n function QuickAuthService() {\n return _CommonService.apply(this, arguments) || this;\n }\n\n var _proto = QuickAuthService.prototype;\n\n /**\r\n * [get mobile verification code] out-of-date\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n _proto.sendMobileCode = function sendMobileCode(params) {\n return this.baseSendMobileCode(_extends({}, params, {\n type: 22\n }));\n }\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendMobileCodeV2 = function sendMobileCodeV2(params) {\n return this.baseSendMobileCodeV2(_extends({}, params, {\n type: 22\n }));\n }\n /**\r\n * [quick auth by mobile]\r\n * @param {string} service redirect url after login success\r\n * @param {string} code mobile verify code\r\n */\n ;\n\n _proto.quickAuth = function quickAuth(params) {\n var _this = this;\n\n var code = params.code,\n extra_params = _objectWithoutPropertiesLoose(params, [\"code\"]);\n\n var data = encryptParams(_extends({\n code: code\n }, extra_params), ['code']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_SSO.QUICK_AUTH,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n };\n\n return QuickAuthService;\n}(CommonService);\n\nvar RegisterService = /*#__PURE__*/function (_CommonService) {\n _inheritsLoose(RegisterService, _CommonService);\n\n function RegisterService() {\n return _CommonService.apply(this, arguments) || this;\n }\n\n var _proto = RegisterService.prototype;\n\n /**\r\n * [email register xhr]\r\n * @param {string} params -- requeset body data\r\n */\n _proto.emailRegisterXhr = function emailRegisterXhr(params) {\n return this.request({\n url: WEB_SSO.EMAIL_REGISTER,\n method: 'POST',\n data: params\n });\n }\n /**\r\n * [email register]\r\n * @param {string} email email\r\n * @param {string} next redirect url after successful registration\r\n * @param {string} code code\r\n * @param {string} token token in email verification link\r\n * @param {string} password account password\r\n * @param {string} email_logic_type const\r\n */\n ;\n\n _proto.emailRegister = function emailRegister(params) {\n var email = params.email,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\"]);\n\n var data = encryptParams(_extends({\n email: email\n }, extra_params, {\n ect_type: 1\n }), ['email', 'code', 'password']);\n return this.emailRegisterXhr(data);\n } // /**\n // * [email register and bind mobile] out-of-date\n // * @param {string} email email\n // * @param {string} code code\n // * @param {string} mobile mobile\n // * @param {string} password password\n // */\n // public emailRegisterAndBindMoblie(params: {\n // email?: string;\n // code: string;\n // mobile: string;\n // password: string;\n // }) {\n // let { email, code, mobile, password, ...extra_params } = params;\n // const data = encryptParams(\n // { email, code, mobile, password, ...extra_params },\n // ['email', 'code', 'mobile', 'password']\n // );\n // return this.emailRegisterXhr(data);\n // }\n\n /**\r\n * [email register and bind mobile V2]\r\n * @param {string} email email\r\n * @param {string} code code\r\n * @param {string} mobile mobile\r\n * @param {string} password password\r\n */\n ;\n\n _proto.emailRegisterAndBindMoblieV2 = function emailRegisterAndBindMoblieV2(params) {\n var _this = this;\n\n var email = params.email,\n code = params.code,\n mobile = params.mobile,\n password = params.password,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"code\", \"mobile\", \"password\"]);\n\n var data = encryptParams(_extends({\n email: email,\n code: code,\n mobile: mobile,\n password: password\n }, extra_params), ['email', 'code', 'mobile', 'password']);\n return new Promise(function (resolve, reject) {\n _this.request({\n url: WEB_SSO.EMAIL_REGISTER_V2,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [mobile register and bind email V2]\r\n * @param {string} email email\r\n * @param {string} code code\r\n * @param {string} mobile mobile\r\n * @param {string} password password\r\n */\n ;\n\n _proto.mobileRegisterAndBindEmailV2 = function mobileRegisterAndBindEmailV2(params) {\n var email = params.email,\n code = params.code,\n mobile = params.mobile,\n password = params.password,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"code\", \"mobile\", \"password\"]);\n\n var data = encryptParams(_extends({\n email: email,\n code: code,\n mobile: mobile,\n password: password\n }, extra_params), ['email', 'code', 'mobile', 'password']);\n return this.request({\n url: WEB_SSO.MOBILE_REGISTER_WITH_EMAIL,\n method: 'POST',\n data: data\n });\n }\n /**\r\n * [login by email code]\r\n * @param {string} email email\r\n * @param {string} next redierct url\r\n * @param {string} code verify code\r\n * @param {string} token verify token\r\n */\n ;\n\n _proto.emailActivateCodeLogin = function emailActivateCodeLogin(params) {\n var _this2 = this;\n\n var email = params.email,\n code = params.code,\n extra_params = _objectWithoutPropertiesLoose(params, [\"email\", \"code\"]);\n\n var data = encryptParams(_extends({\n email: email,\n code: code\n }, extra_params, {\n ect_type: 13\n }), ['email', 'code']);\n return new Promise(function (resolve, reject) {\n _this2.request({\n url: WEB_SSO.EMAIL_ACTIVATE_CODE_LOGIN,\n method: 'POST',\n data: data\n }).then(function (data) {\n resolve(data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n });\n }\n /**\r\n * [get mobile verification code] out-of-date\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendMobileCode = function sendMobileCode(params) {\n return this.baseSendMobileCode(_extends({}, params, {\n type: 16\n }));\n }\n /**\r\n * [get mobile verification code V2]\r\n * @param {string} mobile the mobile used to login\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendMobileCodeV2 = function sendMobileCodeV2(params) {\n return this.baseSendMobileCodeV2(_extends({}, params, {\n type: 16\n }));\n }\n /**\r\n * [send a verification url to email] out-of-date\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendEmailLink = function sendEmailLink(params) {\n return this.baseSendEmailLink(_extends({}, params, {\n ect_type: 1\n }));\n }\n /**\r\n * [send a verification url to email V2]\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendEmailLinkV2 = function sendEmailLinkV2(params) {\n return this.baseSendEmailLinkV2(_extends({}, params, {\n ect_type: 1\n }));\n }\n /**\r\n * [send a verification code to email] out-of-date\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendEmailCode = function sendEmailCode(params) {\n return this.baseSendEmailCode(_extends({}, params, {\n ect_type: 1\n }));\n }\n /**\r\n * [send a verification code to email V2]\r\n * @param {string} email the email used to verify\r\n * @param {number} ect_type type\r\n * @param {string} next direct url\r\n * @param {string} password password\r\n * @return {Promise} send result\r\n */\n ;\n\n _proto.sendEmailCodeV2 = function sendEmailCodeV2(params) {\n return this.baseSendEmailCodeV2(_extends({}, params, {\n ect_type: 1\n }));\n };\n\n return RegisterService;\n}(CommonService);\n\nvar SsoInterface = /*#__PURE__*/function (_BaseInterface) {\n _inheritsLoose(SsoInterface, _BaseInterface);\n\n function SsoInterface(props) {\n var _this;\n\n _this = _BaseInterface.call(this, props, 'sso') || this;\n var host = props.host,\n printLog = props.printLog; // log\n\n if (printLog) {\n console.log('%cSSOInterface Initial Props >>>>%O', 'background: #222; color: #bada55', props);\n } // SSO address\n\n\n _this.host = host || ''; // domain address\n\n _this.originHost = window.location.origin;\n\n var argus = _extends({}, props, {\n request: _this.request\n });\n\n _this.bindMobile = new BindMobileService(argus);\n _this.changeMobile = new ChangeMobileService(argus);\n _this.login = new LoginService(_extends({}, argus, {\n originHost: _this.originHost\n }));\n _this.password = new PasswordService(argus);\n _this.qrcodeLogin = new QrCodeService(argus);\n _this.quickAuth = new QuickAuthService(argus);\n _this.register = new RegisterService(argus);\n return _this;\n }\n\n return SsoInterface;\n}(BaseInterface);\n\nvar WebInterfaceSdk = WebInterface;\nvar AppInterfaceSdk = AppInterface;\nvar SsoInterfaceSdk = SsoInterface;\n\nvar AccountSdk = function AccountSdk(props) {\n var _props$scope = props.scope,\n scope = _props$scope === void 0 ? 'web' : _props$scope;\n\n switch (scope) {\n case 'web':\n {\n return new WebInterface(props);\n }\n\n case 'app':\n {\n return new AppInterface(props);\n }\n\n case 'sso':\n {\n return new SsoInterface(props);\n }\n\n default:\n {\n return new WebInterface(props);\n }\n }\n};\n\nvar SdkType = {\n web: WebInterface,\n app: AppInterface,\n sso: SsoInterface\n};\nvar SdkInstance = {\n web: null,\n app: null,\n sso: null\n};\n\nvar AccountSdkFactory = /*#__PURE__*/function () {\n function AccountSdkFactory() {}\n\n AccountSdkFactory.createAccountSdk = function createAccountSdk(type, config) {\n var targetType = SdkType[type] || SdkType['web'];\n\n if (SdkInstance[type]) {\n return SdkInstance[type];\n }\n\n SdkInstance[type] = AccountSdkFactory.create(targetType, config);\n return SdkInstance[type];\n };\n\n AccountSdkFactory.create = function create(Type, config) {\n return new Type(config);\n };\n\n return AccountSdkFactory;\n}();\n\nvar createAccountSdk = AccountSdkFactory.createAccountSdk;\nvar AccountSdkInstance = createAccountSdk;\n\nexport default AccountSdk;\nexport { AccountSdkInstance, AppInterfaceSdk, SsoInterfaceSdk, WebInterfaceSdk };\n//# sourceMappingURL=account-api.esm.js.map\n"],"sourceRoot":""}