@cloudbase/js-sdk 3.4.7-beta.0 → 3.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","mappings":"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","sources":["webpack://@cloudbase/js-sdk/common.ts","webpack://@cloudbase/js-sdk/index.ts","webpack://@cloudbase/js-sdk/adapter.ts","webpack://@cloudbase/js-sdk/cache.ts","webpack://@cloudbase/js-sdk/component.ts","webpack://@cloudbase/js-sdk/lang.ts","webpack://@cloudbase/js-sdk/request.ts","webpack://@cloudbase/js-sdk/web.ts","webpack://@cloudbase/js-sdk/errors.ts","webpack://@cloudbase/js-sdk/decorators.ts","webpack://@cloudbase/js-sdk/abortController.ts","webpack://@cloudbase/js-sdk/events.ts","webpack://@cloudbase/js-sdk/langEvent.ts","webpack://@cloudbase/js-sdk/util.ts","webpack://@cloudbase/js-sdk/external module \"@cloudbase/adapter-interface\"","webpack://@cloudbase/js-sdk/external module \"@cloudbase/adapter-wx_mp\"","webpack://@cloudbase/js-sdk/external module \"jwt-decode\"","webpack://@cloudbase/js-sdk/webpack/bootstrap","webpack://@cloudbase/js-sdk/webpack/startup"],"sourcesContent":["import { EndPointKey } from '@cloudbase/types'\nimport { constants } from '@cloudbase/utilities'\n\n// @ts-ignore\nconst { setSdkName: setUtilitiesSdkName, setProtocol: setUtilitiesProtocol } = constants\n/**\n * SDK\n */\nlet sdkVersion = ''\nlet sdkName = '@cloudbase/js-sdk'\n\nexport function setSdkVersion(version: string) {\n sdkVersion = version\n}\nexport function getSdkVersion() {\n return sdkVersion\n}\nexport function setSdkName(name: string) {\n sdkName = name\n setUtilitiesSdkName(name)\n}\nexport function getSdkName() {\n return sdkName\n}\nexport const DATA_VERSION = '2020-01-10'\n\ninterface EndPointInfo {\n env: string\n endPointKey: EndPointKey\n region?: string\n baseUrl?: string\n protocol?: Protocol\n}\n\ntype Protocol = 'http' | 'https' | 'http:' | 'https:'\n\n/**\n * 所有 endPoint 信息\n * 避免直接操作该数组\n * 使用 setEndPointInfo、 getEndPointInfo\n */\nconst END_POINT_INFO_ARR: Array<EndPointInfo> = []\n\n/** 用来查找 endPoint 的字段 */\nconst END_POINT_INFO_SEARCH_KEYS = ['env', 'endPointKey', 'region']\n\nexport const DEFAULT_PROTOCOL: 'http:' | 'https:' = 'https:'\n\nfunction findMatchedInfo(info: EndPointInfo) {\n // eslint-disable-next-line max-len, eqeqeq\n return END_POINT_INFO_ARR.find(targetInfo => END_POINT_INFO_SEARCH_KEYS.filter(searchKey => info[searchKey] != null).every(searchKey => targetInfo[searchKey] === info[searchKey],),)\n}\n\nexport function setEndPointInfo(newInfo: EndPointInfo) {\n if (newInfo.protocol && !/:$/.test(newInfo.protocol)) {\n newInfo.protocol = `${newInfo.protocol}:` as Protocol\n }\n\n const endPointInfo = findMatchedInfo(newInfo)\n if (endPointInfo) {\n // eslint-disable-next-line eqeqeq\n if (newInfo.baseUrl != null) {\n endPointInfo.baseUrl = newInfo.baseUrl\n }\n // eslint-disable-next-line eqeqeq\n if (newInfo.protocol != null) {\n endPointInfo.protocol = newInfo.protocol\n }\n } else {\n END_POINT_INFO_ARR.push({ ...newInfo, protocol: newInfo.protocol ?? DEFAULT_PROTOCOL })\n }\n\n // 保持旧代码逻辑\n if (newInfo.endPointKey === 'CLOUD_API') {\n setUtilitiesProtocol((newInfo.protocol ?? DEFAULT_PROTOCOL) as 'http:' | 'https:')\n }\n}\n\nexport function getEndPointInfo(env: string, endPointKey: EndPointKey, region?: string) {\n return findMatchedInfo({ env, endPointKey, region })\n}\n\nexport interface ISetEndPointWithKey {\n key: EndPointKey\n url?: string\n protocol?: 'http' | 'https'\n}\n\nexport function setGatewayEndPointWithEnv(env: string, protocol?: Protocol, intl?: boolean) {\n let baseUrl = `//${env}.api.tcloudbasegateway.com/v1`\n\n if (intl) {\n baseUrl = `//${env}.api.intl.tcloudbasegateway.com/v1`\n }\n\n setEndPointInfo({ endPointKey: 'GATEWAY', env, baseUrl, protocol })\n}\nexport function setRegionLevelEndpoint(env: string, region: string, protocol?: Protocol) {\n const baseUrl = `//${env}.${region || 'ap-shanghai'}.tcb-api.tencentcloudapi.com/web`\n setEndPointInfo({ env, region, baseUrl, protocol, endPointKey: 'CLOUD_API' })\n}\n\nexport function getBaseEndPoint(env: string, endPointKey: EndPointKey = 'CLOUD_API') {\n const info = getEndPointInfo(env, endPointKey || 'CLOUD_API')\n\n const { protocol: PROTOCOL, baseUrl: BASE_URL } = info\n const webEndpoint = `${PROTOCOL}${BASE_URL}`\n // @todo 临时兼容小程序\n return webEndpoint.match(/(http(s)?:)?\\/\\/([^/?#]*)/)[0]\n // return `${new URL(webEndpoint).origin}`\n}\n\nexport enum LOGINTYPE {\n NULL = 'NULL',\n ANONYMOUS = 'ANONYMOUS',\n WECHAT = 'WECHAT',\n WECHAT_PUBLIC = 'WECHAT-PUBLIC',\n WECHAT_OPEN = 'WECHAT-OPEN',\n CUSTOM = 'CUSTOM',\n EMAIL = 'EMAIL',\n USERNAME = 'USERNAME',\n PHONE = 'PHONE',\n}\n\nexport const OAUTH2_LOGINTYPE_PREFIX = 'OAUTH2'\n","import { adapters, constants, utils, helpers } from '@cloudbase/utilities'\nimport { SDKAdapterInterface, CloudbaseAdapter, IRequestConfig } from '@cloudbase/adapter-interface'\nimport {\n ICloudbaseConfig,\n ICloudbaseUpgradedConfig,\n ICloudbase,\n ICloudbaseExtension,\n KV,\n ICloudbasePlatformInfo,\n EndPointKey,\n ICloudbaseApis,\n} from '@cloudbase/types'\nimport { ICloudbaseAuth } from '@cloudbase/types/auth'\nimport { registerComponent, registerHook } from './libs/component'\nimport { getWxDefaultAdapter, Platform } from './libs/adapter'\nimport { ICloudbaseComponent, ICloudbaseHook } from '@cloudbase/types/component'\nimport { ICloudbaseCache } from '@cloudbase/types/cache'\nimport { initCache, getCacheByEnvId, getLocalCache } from './libs/cache'\nimport { ICloudbaseRequest } from '@cloudbase/types/request'\nimport { initRequest, getRequestByEnvId } from './libs/request'\nimport {\n getSdkName,\n setSdkVersion,\n setRegionLevelEndpoint,\n setSdkName,\n setGatewayEndPointWithEnv,\n type ISetEndPointWithKey,\n setEndPointInfo,\n getEndPointInfo,\n getSdkVersion,\n DEFAULT_PROTOCOL,\n} from './constants/common'\nimport { i18nProxy, LANGS } from './libs/lang'\nexport { getBaseEndPoint } from './constants/common'\nexport { LANGS } from './libs/lang'\nconst { useAdapters, useDefaultAdapter } = adapters\nconst { ERRORS, COMMUNITY_SITE_URL } = constants\nconst { printWarn } = utils\nconst { catchErrorsDecorator } = helpers\n\n/**\n * @constant 默认配置\n */\nconst DEFAULT_INIT_CONFIG: Partial<ICloudbaseConfig> = {\n timeout: 15000,\n persistence: 'local', // 持久化存储类型\n}\n\n// timeout上限10分钟\nconst MAX_TIMEOUT = 1000 * 60 * 10\n// timeout下限100ms\nconst MIN_TIMEOUT = 100\n\nconst extensionMap: KV<ICloudbaseExtension> = {}\n\nclass Cloudbase implements ICloudbase {\n public authInstance: ICloudbaseAuth\n public oauthInstance: any\n public requestClient: any\n public oauthClient: any\n public version: string\n public auth: ICloudbase['auth'] & ICloudbaseAuth\n public apis: ICloudbaseApis\n private cloudbaseConfig: ICloudbaseConfig\n\n constructor(config?: ICloudbaseConfig) {\n this.cloudbaseConfig = config ? config : this.cloudbaseConfig\n this.authInstance = null\n this.oauthInstance = null\n this.version = getSdkVersion()\n }\n\n get config() {\n return this.cloudbaseConfig\n }\n\n get platform(): ICloudbasePlatformInfo {\n return Platform\n }\n\n get cache(): ICloudbaseCache {\n return getCacheByEnvId(this.cloudbaseConfig.env)\n }\n\n get localCache(): ICloudbaseCache {\n return getLocalCache(this.cloudbaseConfig.env)\n }\n\n get request(): ICloudbaseRequest {\n return getRequestByEnvId(this.cloudbaseConfig.env)\n }\n\n @catchErrorsDecorator({\n mode: 'sync',\n title: 'Cloudbase 初始化失败',\n messages: [\n '请确认以下各项:',\n ' 1 - 调用 cloudbase.init() 的语法或参数是否正确',\n ' 2 - 如果是非浏览器环境,是否配置了安全应用来源(https://docs.cloudbase.net/api-reference/webv3/adapter#%E7%AC%AC-2-%E6%AD%A5%E9%85%8D%E7%BD%AE%E5%AE%89%E5%85%A8%E5%BA%94%E7%94%A8%E6%9D%A5%E6%BA%90)',\n `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,\n ],\n })\n public init(config: ICloudbaseConfig & { lang?: LANGS } = { env: '' }): Cloudbase {\n config.endPointMode = config.endPointMode || 'GATEWAY'\n\n // 初始化时若未兼容平台,则使用默认adapter\n if (!Platform.adapter) {\n this.useDefaultAdapter()\n }\n\n // 在判断config.env之前,先处理node环境的配置\n config = this.dealNodeAdapterConfig(config)\n\n if (!config.env) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: 'env must not be specified',\n }),)\n }\n\n this.isInitialized(config)\n\n const reqConfig: IRequestConfig & { auth: ICloudbaseConfig['auth'] } = {\n timeout: config.timeout || 15000,\n timeoutMsg: `[${getSdkName()}][REQUEST TIMEOUT] request had been abort since didn't finished within${\n config.timeout / 1000\n }s`,\n auth: config.auth,\n }\n\n this.requestClient = new Platform.adapter.reqClass(reqConfig)\n\n this.cloudbaseConfig = {\n ...DEFAULT_INIT_CONFIG,\n ...config,\n i18n: i18nProxy(Platform, config),\n }\n\n delete (this.cloudbaseConfig as any).lang\n // 修正timeout取值\n this.cloudbaseConfig.timeout = this.formatTimeout(this.cloudbaseConfig.timeout)\n // 初始化cache和request\n const { env, persistence, debug, timeout, oauthClient, i18n } = this.cloudbaseConfig\n initCache({ env, persistence, debug, platformInfo: this.platform })\n\n setRegionLevelEndpoint(env, config.region || '')\n setGatewayEndPointWithEnv(env, DEFAULT_PROTOCOL, config.intl)\n\n const app = new Cloudbase(this.cloudbaseConfig)\n initRequest({\n env,\n region: config.region || '',\n timeout,\n oauthClient,\n _fromApp: app,\n i18n,\n endPointMode: config.endPointMode,\n auth: config.auth,\n })\n app.requestClient = this.requestClient\n ;(this as any)?.fire?.('cloudbase_init', app)\n\n this.try2InitAuth(app)\n\n // node环境可以从adapter获取nodeTool的方法\n if (Platform.adapter?.nodeTool) {\n Platform.adapter?.nodeTool(app, this.cloudbaseConfig)\n }\n\n return app\n }\n\n public updateConfig(config: ICloudbaseUpgradedConfig) {\n const { persistence, debug } = config\n this.cloudbaseConfig.persistence = persistence\n this.cloudbaseConfig.debug = debug\n // persistence改动影响cache\n initCache({ env: this.cloudbaseConfig.env, persistence, debug, platformInfo: this.platform })\n }\n\n public updateLang(lang: LANGS) {\n if (!lang || lang === this.cloudbaseConfig.i18n?.lang) return\n\n this.cloudbaseConfig.i18n.lang = lang\n }\n\n public registerExtension(ext: ICloudbaseExtension) {\n extensionMap[ext.name] = ext\n }\n @catchErrorsDecorator({\n title: '调用扩展能力失败',\n messages: [\n '请确认以下各项:',\n ' 1 - 调用 invokeExtension() 的语法或参数是否正确',\n ' 2 - 被调用的扩展能力是否已经安装并通过 registerExtension() 注册',\n `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,\n ],\n })\n public async invokeExtension(name: string, opts: any) {\n const ext = extensionMap[name]\n if (!ext) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: `extension:${name} must be registered before invoke`,\n }),)\n }\n\n return await ext.invoke(opts, this)\n }\n\n public useAdapters(adapters: CloudbaseAdapter | CloudbaseAdapter[], options?: any) {\n const { adapter, runtime } = useAdapters(adapters, options) || {}\n adapter && (Platform.adapter = adapter as SDKAdapterInterface)\n runtime && (Platform.runtime = runtime as string)\n }\n\n public registerHook(hook: ICloudbaseHook) {\n registerHook(Cloudbase, hook)\n }\n\n public registerComponent(component: ICloudbaseComponent) {\n registerComponent(Cloudbase, component)\n }\n\n public registerVersion(version: string) {\n setSdkVersion(version)\n this.version = version\n }\n\n public registerSdkName(name: string) {\n setSdkName(name)\n }\n\n /**\n * 检查当前 Cloudbase 实例是否已完成初始化\n *\n * @example\n * ```javascript\n * import cloudbase from '@cloudbase/js-sdk'\n *\n * // 初始化前\n * console.log(cloudbase.isInitialized()) // false\n *\n * const app = cloudbase.init({ env: 'your-env-id' })\n *\n * // 初始化后\n * console.log(app.isInitialized()) // true\n * ```\n *\n * @returns {boolean} 是否已初始化\n */\n public isInitialized(config = this.cloudbaseConfig): boolean {\n // 检测常见占位符 env 值,在开发阶段给出友好提示\n const PLACEHOLDER_PATTERNS = [\n 'your-env-id',\n 'your-envid',\n 'your_env_id',\n 'xxx-yyy',\n 'xxxx-yyy',\n 'envId',\n 'env-id',\n 'your-environment-id',\n 'REPLACE_ME',\n ]\n if (PLACEHOLDER_PATTERNS.some(p => config.env.toLowerCase() === p.toLowerCase())) {\n printWarn(\n ERRORS.INVALID_PARAMS,\n `[CloudBase] 检测到环境 ID \"${config.env}\" 可能是占位符,请替换为真实的环境 ID。\\n`\n + ' 获取方式:登录腾讯云开发平台 → 环境管理 → 环境设置 → 环境 ID\\n'\n + ' 建议通过环境变量配置:process.env.CLOUDBASE_ENV 或 import.meta.env.VITE_CLOUDBASE_ENV',\n )\n }\n\n return !!config?.env\n }\n\n /** 设置 tcb api 的 endpoint */\n public registerEndPoint(url: string, protocol?: 'http' | 'https') {\n setEndPointInfo({ baseUrl: url, protocol, env: this.config.env, endPointKey: 'CLOUD_API' })\n }\n\n /** 设置网关/tcb api的 endPoint,通过 key 指定 */\n public registerEndPointWithKey(props: ISetEndPointWithKey) {\n setEndPointInfo({\n env: this.config.env,\n endPointKey: props.key,\n baseUrl: props.url,\n protocol: props.protocol,\n })\n }\n\n /** 拿网关/tcb api的 endPoint,通过 key 指定 */\n public getEndPointWithKey(key: EndPointKey) {\n const info = getEndPointInfo(this.config.env, key)\n return {\n BASE_URL: info.baseUrl,\n PROTOCOL: info.protocol,\n }\n }\n\n // 解析URL参数\n public parseCaptcha(url) {\n return utils.parseCaptcha(url)\n }\n\n private useDefaultAdapter() {\n const { adapter, runtime } = useDefaultAdapter.bind(this)()\n Platform.adapter = adapter as SDKAdapterInterface\n Platform.runtime = runtime as string\n }\n\n private formatTimeout(timeout: number) {\n switch (true) {\n case timeout > MAX_TIMEOUT:\n printWarn(ERRORS.INVALID_PARAMS, 'timeout is greater than maximum value[10min]')\n return MAX_TIMEOUT\n case timeout < MIN_TIMEOUT:\n printWarn(ERRORS.INVALID_PARAMS, 'timeout is less than maximum value[100ms]')\n return MIN_TIMEOUT\n default:\n return timeout\n }\n }\n\n private try2InitAuth(app) {\n try {\n app.auth()\n } catch (error) {\n console.log('try2InitAuth error:', error)\n }\n }\n\n /**\n * 处理 Node 环境下 adapter 的配置信息\n * 在 Node 环境中,通过 adapter 自动获取密钥、环境ID、accessKey 等配置,\n * 减少用户手动传入配置的负担\n * @param config - 云开发初始化配置对象\n * @returns 补充了 Node adapter 信息后的配置对象\n */\n private dealNodeAdapterConfig(config: ICloudbaseConfig) {\n // node环境可以从adapter获取默认的secretId和secretKey\n if (\n typeof process !== 'undefined'\n && typeof process.env !== 'undefined'\n && !process.env.IS_BROWSER_BUILD\n && Platform.adapter?.getSecretInfo\n ) {\n const secretInfo = Platform.adapter?.getSecretInfo(config)\n // 将 adapter 提供的密钥信息写入 config.auth\n config.auth = {\n ...config.auth,\n secretId: secretInfo.secretId,\n secretKey: secretInfo.secretKey,\n sessionToken: secretInfo.sessionToken,\n secretType: secretInfo.secretType as any,\n }\n\n // node 环境可能可以从上下文获取env,用户未显式指定时自动填充\n if (!config.env) {\n config.env = secretInfo.env\n }\n\n // node adapter环境能读取到 process.env.CLOUDBASE_APIKEY 时,在没有传入accessKey时,使用 node adapter 提供的 accessKey(process.env.CLOUDBASE_APIKEY)\n if (!config.accessKey && secretInfo.accessKey) {\n config.accessKey = secretInfo.accessKey\n }\n }\n\n return config\n }\n}\n\n// 类型导出\nexport type { Cloudbase }\n\n// 值导出\nexport const cloudbase: ICloudbase = new Cloudbase()\n\ncloudbase.useAdapters(getWxDefaultAdapter())\n\n// 默认导出实例\nexport default cloudbase\n","import { ICloudbasePlatformInfo } from '@cloudbase/types'\nimport adapterForWxMp, { WxRequest, WxMpWebSocket, wxMpStorage, parseQueryString } from '@cloudbase/adapter-wx_mp'\nimport { IUploadRequestOptions, StorageType } from '@cloudbase/adapter-interface'\n\ndeclare const wx: any\ndeclare const App: any\ndeclare const getApp: any\n\nexport const Platform: ICloudbasePlatformInfo = {}\n\nexport const getWxDefaultAdapter = () => {\n WxRequest.prototype.upload = function (options: IUploadRequestOptions) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this\n return new Promise((resolve) => {\n const { url, file, data, headers } = options\n const fs = wx.getFileSystemManager() // 读取文件 二进制内容\n const task = wx.request({\n url,\n method: options.method,\n header: {\n 'content-type': ' ', // 小程序 content-type 默认为 application/json, 这里一定要强制为 空, 否则签名错误\n ...headers,\n },\n data: fs.readFileSync(file), // 将二进制文件转为字符串直接赋值到 request payload, 不要以 form 的方式传输\n timeout: this._timeout,\n success(res: { statusCode: number; data: unknown }) {\n const result = {\n statusCode: res.statusCode,\n data: res.data || {},\n }\n if (res.statusCode === 200 && data?.success_action_status) {\n result.statusCode = parseInt(data.success_action_status, 10)\n }\n resolve(result)\n },\n fail(err: unknown) {\n resolve(err)\n },\n complete(err: { errMsg: string }) {\n if (!err?.errMsg) {\n return\n }\n if (!self._timeout || self._restrictedMethods.indexOf('upload') === -1) {\n return\n }\n const { errMsg } = err\n if (errMsg === 'request:fail timeout') {\n console.warn(self._timeoutMsg)\n try {\n task.abort()\n } catch (e) {}\n }\n },\n })\n })\n }\n\n function isPlugin() {\n return (\n typeof App === 'undefined'\n && typeof getApp === 'undefined'\n && !wx.onAppHide\n && !wx.offAppHide\n && !wx.onAppShow\n && !wx.offAppShow\n )\n }\n adapterForWxMp.genAdapter = function genAdapter(options) {\n const adapter = {\n root: { globalThis: {} },\n reqClass: WxRequest,\n wsClass: WxMpWebSocket,\n captchaOptions: {\n openURIWithCallback: (_url: string) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { EventBus } = options\n let queryObj: Record<string, string> = {}\n let url = _url\n console.log('openURIWithCallback', _url)\n const matched = _url.match(/^(data:.*?)(\\?[^#\\s]*)?$/)\n if (matched) {\n // eslint-disable-next-line prefer-destructuring\n url = matched[1]\n console.log('openURIWithCallback url', url)\n const search = matched[2]\n if (search) {\n queryObj = parseQueryString(search)\n }\n }\n console.log('openURIWithCallback queryObj', queryObj)\n const { token, ...restQueryObj } = queryObj\n if (/^data:/.test(url) && !token) {\n // 如果是 data: 开头的 URL 且没有 token,则直接返回\n return Promise.reject({\n error: 'invalid_argument',\n error_description: `invalie captcha data: ${_url}`,\n })\n }\n if (!token) {\n return Promise.reject({\n error: 'unimplemented',\n error_description: 'need to impl captcha data',\n })\n }\n return new Promise((resolve) => {\n console.log('wait for captcha...')\n EventBus.$emit('CAPTCHA_DATA_CHANGE', { ...restQueryObj, token, url })\n\n // 监听事件总线,等待验证码数据变化\n EventBus.$once('RESOLVE_CAPTCHA_DATA', (res: { captcha_token: string; expires_in: number }) => {\n resolve(res)\n })\n })\n },\n },\n localStorage: wxMpStorage,\n primaryStorage: StorageType.local,\n getAppSign() {\n const info = wx.getAccountInfoSync()\n if (isPlugin()) {\n // 插件环境返回插件appid\n return info && info.plugin ? info.plugin.appId : ''\n }\n return info && info.miniProgram ? info.miniProgram.appId : ''\n },\n }\n return adapter\n }\n\n return adapterForWxMp\n}\n","import { KV } from '@cloudbase/types'\nimport { cache } from '@cloudbase/utilities'\nimport { ICloudbaseCache, ICacheConfig } from '@cloudbase/types/cache'\n\nconst USER_INFO_KEY = 'user_info'\n\nconst { CloudbaseCache } = cache\n\nconst cacheMap: KV<ICloudbaseCache> = {}\n// 本地存储\nconst localCacheMap: KV<ICloudbaseCache> = {}\n\nexport function initCache(config: ICacheConfig & { env: string }) {\n const { env, platformInfo } = config\n\n const userInfoKey = `${USER_INFO_KEY}_${env}`\n\n const keys = {\n userInfoKey,\n }\n // 若指定env已存在cache则尝试更新persistence\n cacheMap[env] = cacheMap[env] || (new CloudbaseCache({\n ...config,\n keys,\n platformInfo,\n }))\n localCacheMap[env] = localCacheMap[env] || new CloudbaseCache({\n ...config,\n keys,\n platformInfo,\n persistence: 'local',\n })\n}\n\nexport function getCacheByEnvId(env: string): ICloudbaseCache {\n return cacheMap[env]\n}\n\nexport function getLocalCache(env: string): ICloudbaseCache {\n return localCacheMap[env]\n}\n","import { KV } from '@cloudbase/types'\nimport { ICloudbaseComponent, ICloudbaseHook } from '@cloudbase/types/component'\nimport { constants } from '@cloudbase/utilities'\n\nconst { ERRORS } = constants\n\nconst components: KV<ICloudbaseComponent> = {}\n\nexport function registerComponent(app: any, component: ICloudbaseComponent) {\n const { name, namespace, entity, injectEvents, IIFE = false } = component\n // 不允许重复注册或命名空间重名\n if (components[name] || (namespace && app[namespace])) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_OPERATION,\n msg: `Duplicate component ${name}`,\n }))\n }\n // IIFE类型的组件以app为scope执行entity函数,不挂载到app.prototype上\n if (IIFE) {\n if (!entity || typeof entity !== 'function') {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: 'IIFE component\\'s entity must be a function',\n }))\n }\n entity.call(app)\n }\n\n components[name] = component\n\n if (namespace) {\n (app as any).prototype[namespace] = entity\n } else {\n deepExtend((app as any).prototype, entity)\n }\n if (injectEvents) {\n const { bus, events } = injectEvents\n if (!bus || !events || events.length === 0) {\n return\n }\n const originCallback = (app as any).prototype.fire || function () {}\n if (!(app as any).prototype.events) {\n (app as any).prototype.events = {}\n }\n const originEvents: KV<any> = (app as any).prototype.events || {}\n if (originEvents[name]) {\n (app as any).prototype.events[name].events = [...(app as any).prototype.events[name].events, ...events]\n } else {\n (app as any).prototype.events[name] = { bus, events }\n }\n (app as any).prototype.fire = function (eventName: string, data?: any) {\n originCallback(eventName, data)\n const eventNames = Object.keys(this.events)\n for (const name of eventNames) {\n const { bus, events: eventList } = this.events[name]\n if (eventList.includes(eventName)) {\n bus.fire(eventName, data)\n break\n }\n }\n }\n }\n}\n\nfunction deepExtend(target: any, source: any): KV<any> {\n if (!(source instanceof Object)) {\n return source\n }\n\n switch (source.constructor) {\n case Date: {\n const dateValue = source as Date\n return new Date(dateValue.getTime())\n }\n case Object:\n if (target === undefined) {\n target = {}\n }\n break\n case Array:\n target = []\n break\n default:\n return source\n }\n const sourceKeys = Object.keys(source)\n for (const key of sourceKeys) {\n if (!Object.prototype.hasOwnProperty.call(source, key)) {\n continue\n }\n target[key] = deepExtend(target[key], source[key])\n }\n\n return target\n}\n\nexport function registerHook(app: any, hook: ICloudbaseHook) {\n const { entity, target } = hook\n if (Object.prototype.hasOwnProperty.call(app, target)) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_OPERATION,\n msg: `target:${target} is not exist`,\n }))\n }\n const originMethod = app.prototype[target]\n if (typeof originMethod !== 'function') {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_OPERATION,\n msg: `target:${target} is not a function which is the only type supports hook`,\n }))\n }\n app.prototype[target] = function (...args: any) {\n entity.call(this, ...args)\n return originMethod.call(this, ...args)\n }\n}\n","import { langEvent } from '@cloudbase/utilities'\n\nexport enum LANGS {\n ZH = 'zh-CN',\n EN = 'en-US',\n}\n\nexport const LANG_HEADER_KEY = 'Accept-Language'\n\nexport const langMap = {\n [LANGS.EN]: {\n '请检查调用方式,或前往云开发 AI+ 首页查看文档':\n 'Please check the calling method or visit the AI+ homepage to view the documentation',\n 'AI+ 请求出错,错误码': 'AI+ request error, error code',\n 错误信息: 'error message',\n 未实现: 'not implemented',\n '小程序不支持 wasm 加载': 'wasm loading is not supported in mini programs',\n '小程序不支持动态 js 加载': 'dynamic js loading is not supported in mini programs',\n 请求超时: 'request timeout',\n '缺少 privatelink sdk 地址': 'missing privatelink sdk address',\n },\n}\n\nexport const t = (text: string, lang: LANGS) => langMap[lang]?.[text] || text\n\nconst getLangCacheKey = config => `lang_${config.clientId || config.env}`\n\nexport const i18nProxy = (platform, config) => {\n const cacheKey = getLangCacheKey(config)\n const { localStorage } = platform.adapter || {}\n const lang = config.lang || localStorage?.getItem?.(cacheKey) || LANGS.ZH\n localStorage?.setItem?.(cacheKey, lang)\n\n return new Proxy(\n {\n t: (text: string) => t(text, lang),\n LANG_HEADER_KEY,\n lang,\n },\n {\n get(target, prop) {\n if (prop === 'lang') {\n return localStorage?.getItem?.(cacheKey) || target[prop]\n }\n return target[prop]\n },\n set(target, prop, newValue) {\n if (prop === 'lang' && newValue !== target[prop]) {\n target[prop] = newValue\n target.t = (text: string) => t(text, newValue)\n localStorage?.setItem?.(cacheKey, newValue)\n langEvent.bus.fire(langEvent.LANG_CHANGE_EVENT, { i18n: target })\n }\n\n target[prop] = newValue\n\n return true\n },\n },\n )\n}\n","import { DATA_VERSION, getSdkVersion, getBaseEndPoint, getEndPointInfo } from '../constants/common'\nimport {\n IRequestOptions,\n SDKRequestInterface,\n ResponseObject,\n IUploadRequestOptions,\n IRequestConfig,\n IFetchOptions,\n} from '@cloudbase/adapter-interface'\nimport { utils, constants, langEvent } from '@cloudbase/utilities'\nimport { EndPointKey, KV } from '@cloudbase/types'\nimport { ICustomReqOpts } from '@cloudbase/types/functions'\nimport {\n IGetAccessTokenResult,\n ICloudbaseRequestConfig,\n IAppendedRequestInfo,\n IRequestBeforeHook,\n} from '@cloudbase/types/request'\nimport { ICloudbaseCache } from '@cloudbase/types/cache'\nimport { getLocalCache } from './cache'\nimport { Platform } from './adapter'\nconst { ERRORS } = constants\nconst { genSeqId, isFormData, formatUrl } = utils\n\n// 下面几种 action 不需要 access token\nconst ACTIONS_WITHOUT_ACCESSTOKEN = [\n 'auth.getJwt',\n 'auth.logout',\n 'auth.signInWithTicket',\n 'auth.signInAnonymously',\n 'auth.signIn',\n 'auth.fetchAccessTokenWithRefreshToken',\n 'auth.signUpWithEmailAndPassword',\n 'auth.activateEndUserMail',\n 'auth.sendPasswordResetEmail',\n 'auth.resetPasswordWithToken',\n 'auth.isUsernameRegistered',\n]\n\nfunction bindHooks(instance: SDKRequestInterface, name: string, hooks: IRequestBeforeHook[]) {\n const originMethod = instance[name]\n instance[name] = function (options: IRequestOptions) {\n const data = {}\n const headers = {}\n hooks.forEach((hook) => {\n const { data: appendedData, headers: appendedHeaders } = hook.call(instance, options)\n Object.assign(data, appendedData)\n Object.assign(headers, appendedHeaders)\n })\n const originData = options.data\n originData\n && (() => {\n if (isFormData(originData)) {\n Object.keys(data).forEach((key) => {\n (originData as FormData).append(key, data[key])\n })\n return\n }\n options.data = {\n ...originData,\n ...data,\n }\n })()\n options.headers = {\n ...(options.headers || {}),\n ...headers,\n }\n return (originMethod as Function).call(instance, options)\n }\n}\nfunction beforeEach(): IAppendedRequestInfo {\n const seqId = genSeqId()\n return {\n data: {\n seqId,\n },\n headers: {\n 'X-SDK-Version': `@cloudbase/js-sdk/${getSdkVersion()}`,\n 'x-seqid': seqId,\n },\n }\n}\nexport interface IGateWayOptions {\n name?: string\n data?: any\n path?: string\n method: string\n header?: {}\n url?: string\n}\nexport interface ICloudbaseRequest {\n post: (options: IRequestOptions) => Promise<ResponseObject>\n upload: (options: IUploadRequestOptions) => Promise<ResponseObject>\n download: (options: IRequestOptions) => Promise<ResponseObject>\n request: (action: string, params: KV<any>, options?: KV<any>) => Promise<ResponseObject>\n send: (action: string, data: KV<any>) => Promise<any>\n fetch: (options: IFetchOptions) => Promise<ResponseObject>\n}\n\n/**\n * @class CloudbaseRequest\n */\nexport class CloudbaseRequest implements ICloudbaseRequest {\n config: ICloudbaseRequestConfig\n private reqClass: SDKRequestInterface\n // 请求失败是否抛出Error\n private throwWhenRequestFail = false\n // 持久化本地存储\n private localCache: ICloudbaseCache\n /**\n * 初始化\n * @param config\n */\n constructor(config: ICloudbaseRequestConfig & { throw?: boolean }) {\n this.config = config\n const reqConfig: IRequestConfig & { auth: ICloudbaseRequestConfig['auth'] } = {\n timeout: this.config.timeout,\n timeoutMsg: `[@cloudbase/js-sdk] 请求在${this.config.timeout / 1000}s内未完成,已中断`,\n restrictedMethods: ['post', 'put'],\n auth: config.auth,\n }\n this.reqClass = new Platform.adapter.reqClass(reqConfig)\n this.throwWhenRequestFail = config.throw || false\n this.localCache = getLocalCache(this.config.env)\n\n if (this.config.endPointMode !== 'GATEWAY') {\n bindHooks(this.reqClass, 'post', [beforeEach])\n bindHooks(this.reqClass, 'upload', [beforeEach])\n bindHooks(this.reqClass, 'download', [beforeEach])\n }\n\n langEvent.bus.on(langEvent.LANG_CHANGE_EVENT, (params) => {\n this.config.i18n = params.data?.i18n || this.config.i18n\n })\n }\n\n public async getAccessToken(token = null) {\n // eslint-disable-next-line eqeqeq\n if (token != null) {\n return token\n }\n const app = this.config._fromApp\n\n if (!app.oauthInstance) {\n throw new Error('you can\\'t request without auth')\n }\n\n const { oauthInstance } = app\n const oauthClient = oauthInstance.oauth2client\n return (await this.getOauthAccessTokenV2(oauthClient)).accessToken\n }\n\n public getDefaultHeaders() {\n return {\n [this.config.i18n?.LANG_HEADER_KEY]: this.config.i18n?.lang,\n 'X-SDK-Version': `@cloudbase/js-sdk/${getSdkVersion()}`,\n }\n }\n\n public async post(options: IRequestOptions, customReqOpts?: ICustomReqOpts): Promise<ResponseObject> {\n const res = await this.reqClass.post({\n ...options,\n headers: { ...options.headers, ...this.getDefaultHeaders() },\n customReqOpts,\n })\n return res\n }\n public async upload(options: IUploadRequestOptions): Promise<ResponseObject> {\n const res = await this.reqClass.upload({ ...options, headers: { ...options.headers, ...this.getDefaultHeaders() } })\n return res\n }\n public async download(options: IRequestOptions): Promise<ResponseObject> {\n const res = await this.reqClass.download({\n ...options,\n headers: { ...options.headers, ...this.getDefaultHeaders() },\n })\n return res\n }\n\n public getBaseEndPoint(endPointKey: EndPointKey = 'CLOUD_API') {\n return getBaseEndPoint(this.config.env, endPointKey)\n }\n\n public async getOauthAccessTokenV2(oauthClient: any): Promise<IGetAccessTokenResult> {\n const validAccessToken = await oauthClient.getAccessToken()\n const credentials = await oauthClient.getCredentials()\n return {\n accessToken: validAccessToken,\n accessTokenExpire: new Date(credentials.expires_at).getTime(),\n }\n }\n\n /* eslint-disable complexity */\n public async request(\n action: string,\n params: KV<any>,\n options?: {\n onUploadProgress?: Function\n pathname?: string\n parse?: boolean\n inQuery?: KV<any>\n search?: string\n defaultQuery?: KV<any>\n headers?: KV<string>\n endPointMode?: 'CLOUD_API' | 'GATEWAY'\n },\n customReqOpts?: ICustomReqOpts,\n ): Promise<ResponseObject> {\n try {\n const tcbTraceKey = `x-tcb-trace_${this.config.env}`\n let contentType = 'application/x-www-form-urlencoded'\n\n const tmpObj: KV<any> = {\n action,\n dataVersion: DATA_VERSION,\n env: this.config.env,\n ...params,\n }\n\n if (ACTIONS_WITHOUT_ACCESSTOKEN.indexOf(action) === -1) {\n const app = this.config._fromApp\n\n if (!app.oauthInstance) {\n throw new Error('you can\\'t request without auth')\n }\n\n const { oauthInstance } = app\n const oauthClient = oauthInstance.oauth2client\n tmpObj.access_token = (await this.getOauthAccessTokenV2(oauthClient)).accessToken\n }\n\n // 拼body和content-type\n let payload\n if (action === 'storage.uploadFile') {\n payload = new FormData()\n Object.keys(payload).forEach((key) => {\n if (Object.prototype.hasOwnProperty.call(payload, key) && payload[key] !== undefined) {\n payload.append(key, tmpObj[key])\n }\n })\n contentType = 'multipart/form-data'\n } else {\n contentType = 'application/json;charset=UTF-8'\n payload = {}\n Object.keys(tmpObj).forEach((key) => {\n if (tmpObj[key] !== undefined) {\n payload[key] = tmpObj[key]\n }\n })\n }\n const opts: any = {\n headers: {\n 'content-type': contentType,\n ...this.getDefaultHeaders(),\n ...options?.headers,\n },\n }\n if (options?.onUploadProgress) {\n opts.onUploadProgress = options.onUploadProgress\n }\n\n if (this.config.region) {\n opts.headers['X-TCB-Region'] = this.config.region\n }\n\n const traceHeader = this.localCache.getStore(tcbTraceKey)\n if (traceHeader) {\n opts.headers['X-TCB-Trace'] = traceHeader\n }\n\n // 发出请求\n // 新的 url 需要携带 env 参数进行 CORS 校验\n // 请求链接支持添加动态 query 参数,方便用户调试定位请求\n const parse = options?.parse !== undefined ? options.parse : params.parse\n const inQuery = options?.inQuery !== undefined ? options.inQuery : params.inQuery\n const search = options?.search !== undefined ? options.search : params.search\n\n let formatQuery: Record<string, any> = {\n ...(options?.defaultQuery || {}),\n env: this.config.env,\n }\n // 尝试解析响应数据为 JSON\n parse && (formatQuery.parse = true)\n inQuery\n && (formatQuery = {\n ...inQuery,\n ...formatQuery,\n })\n\n const endPointMode = options?.endPointMode || this.config.endPointMode || 'CLOUD_API'\n\n const url = getEndPointInfo(this.config.env, endPointMode)\n let BASE_URL = url.baseUrl\n const PROTOCOL = url.protocol\n\n if (endPointMode === 'GATEWAY') {\n if (/^((database)\\.)|(auth\\.wsWebSign)/.test(action)) {\n const url = getEndPointInfo(this.config.env, 'CLOUD_API')\n BASE_URL = `${url.baseUrl.match(/\\/\\/([^/?#]*)/)[0]}/web`\n }\n }\n\n // 生成请求 url\n let newUrl\n if (options.pathname) {\n newUrl = formatUrl(\n PROTOCOL,\n `${getBaseEndPoint(this.config.env, endPointMode)?.replace(/^https?:/, '')}/${options.pathname}`,\n formatQuery,\n )\n } else {\n newUrl = formatUrl(PROTOCOL, BASE_URL, formatQuery)\n }\n\n if (search) {\n newUrl += search\n }\n\n const res: ResponseObject = await this.post(\n {\n url: newUrl,\n data: payload,\n ...opts,\n },\n customReqOpts,\n )\n\n // 保存 trace header\n const resTraceHeader = res.header?.['x-tcb-trace']\n if (resTraceHeader) {\n this.localCache.setStore(tcbTraceKey, resTraceHeader)\n }\n\n if ((Number(res.status) !== 200 && Number(res.statusCode) !== 200) || !res.data) {\n throw new Error('network request error')\n }\n\n return res\n } catch (err) {\n try {\n err.requestId = err.requestId || options?.headers['x-request-id'] || options?.headers['X-Request-Id'] || ''\n } catch (error) {}\n throw err\n }\n }\n\n public async fetch(options: IFetchOptions & { token?: string; withCredentials?: boolean; customReqOpts?: ICustomReqOpts },): Promise<ResponseObject> {\n const { token, headers = {}, withCredentials = true, ...restOptions } = options\n\n const doFetch = async () => {\n const authHeaders: Record<string, string> = {}\n if (withCredentials) {\n authHeaders.Authorization = `Bearer ${await this.getAccessToken(token)}`\n }\n return this.reqClass.fetch({\n headers: {\n // 'Content-Type': 'application/json',\n // 'X-Request-Id': `${utils.generateRequestId()}`,\n // 'X-Request-Timestamp': `${Date.now()}`,\n 'X-SDK-Version': `@cloudbase/js-sdk/${getSdkVersion()}`,\n ...authHeaders,\n ...this.getDefaultHeaders(),\n ...headers,\n },\n ...restOptions,\n })\n }\n\n try {\n const result = await doFetch()\n return result\n } catch (err) {\n try {\n err.requestId = err.requestId || headers['x-request-id'] || headers['X-Request-Id'] || ''\n } catch (error) {}\n if (err?.code === 'ACCESS_TOKEN_EXPIRED') {\n // 如果是因为 token 过期失败,刷 token 后再试一次\n if (typeof this.config?._fromApp?.oauthInstance?.authApi?.refreshTokenForce !== 'function') {\n throw err\n }\n await this.config?._fromApp?.oauthInstance?.authApi?.refreshTokenForce()\n return doFetch()\n }\n // 其他原因向上抛出\n\n throw err\n }\n }\n\n public async send(\n action: string,\n data: KV<any> = {},\n options: KV<any> = {},\n customReqOpts?: ICustomReqOpts,\n ): Promise<any> {\n const response = await this.request(\n action,\n data,\n { ...options, onUploadProgress: data.onUploadProgress },\n customReqOpts,\n )\n\n if (response.data.code && this.throwWhenRequestFail) {\n throw new Error(JSON.stringify({\n code: ERRORS.OPERATION_FAIL,\n msg: `[${response.data.code}] ${response.data.message}`,\n }),)\n }\n\n return response.data\n }\n\n public async gateWay(options: IGateWayOptions, customReqOpts?: ICustomReqOpts) {\n const { url, name, data, path = '', method, header = {} } = options\n\n if ((!name || !path) && !url) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: '[gateWay] invalid function name or path or url',\n }),)\n }\n let jsonData\n try {\n jsonData = data ? JSON.stringify(data) : ''\n } catch (e) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: '[gateWay] invalid data',\n }),)\n }\n\n const requestId = utils.generateRequestId()\n const { baseUrl, protocol } = getEndPointInfo(this.config.env, 'GATEWAY')\n let endpoint = `${protocol}${baseUrl}${url || `/${path}/${name}`}`\n\n const isGetAndHead = ['GET', 'HEAD'].includes(method?.toUpperCase?.())\n\n if (isGetAndHead) {\n try {\n let dataParse = {}\n try {\n dataParse = JSON.parse(data as any)\n } catch (error) {\n dataParse = data || {}\n }\n endpoint = `${endpoint}${endpoint.includes('?') ? '&' : '?'}${Object.keys(dataParse)\n .map(key => `${key}=${dataParse[key]}`)\n .join('&')}`\n } catch (error) {\n //\n }\n }\n\n const response = await this.fetch({\n method: method || 'POST',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n 'X-Request-Id': requestId,\n ...header,\n },\n ...(isGetAndHead ? {} : { body: jsonData }),\n url: endpoint,\n customReqOpts,\n })\n\n return { requestId, ...response, data: await response.data }\n }\n}\n\nconst requestMap: KV<CloudbaseRequest> = {}\n\nexport function initRequest(config: ICloudbaseRequestConfig) {\n requestMap[config.env] = new CloudbaseRequest({\n ...config,\n throw: true,\n })\n}\n\nexport function getRequestByEnvId(env: string): CloudbaseRequest {\n return requestMap[env]\n}\n","import {\n SDKAdapterInterface,\n AbstractSDKRequest,\n IRequestOptions,\n ResponseObject,\n IUploadRequestOptions,\n IRequestConfig,\n IRequestMethod,\n IFetchOptions,\n} from '@cloudbase/adapter-interface'\nimport { isFormData, formatUrl, toQueryString } from '../../libs/util'\nimport { getProtocol } from '../../constants/common'\n\n/**\n * @class WebRequest\n */\nclass WebRequest extends AbstractSDKRequest {\n // 默认不限超时\n private readonly timeout: number\n // 超时提示文案\n private readonly timeoutMsg: string\n // 超时受限请求类型,默认所有请求均受限\n private readonly restrictedMethods: Array<IRequestMethod>\n constructor(config: IRequestConfig) {\n super()\n const { timeout, timeoutMsg, restrictedMethods } = config\n this.timeout = timeout || 0\n this.timeoutMsg = timeoutMsg || '请求超时'\n this.restrictedMethods = restrictedMethods || ['get', 'post', 'upload', 'download']\n }\n public get(options: IRequestOptions): Promise<ResponseObject> {\n return this.request(\n {\n ...options,\n method: 'get',\n },\n this.restrictedMethods.includes('get'),\n )\n }\n public post(options: IRequestOptions): Promise<ResponseObject> {\n return this.request(\n {\n ...options,\n method: 'post',\n },\n this.restrictedMethods.includes('post'),\n )\n }\n public put(options: IRequestOptions): Promise<ResponseObject> {\n return this.request({\n ...options,\n method: 'put',\n })\n }\n public upload(options: IUploadRequestOptions): Promise<ResponseObject> {\n const { data, file, name, method, headers = {} } = options\n const reqMethod = { post: 'post', put: 'put' }[method?.toLowerCase()] || 'put'\n // 上传方式为post时,需转换为FormData\n const formData = new FormData()\n if (reqMethod === 'post') {\n Object.keys(data).forEach((key) => {\n formData.append(key, data[key])\n })\n formData.append('key', name)\n formData.append('file', file)\n return this.request(\n {\n ...options,\n data: formData,\n method: reqMethod,\n },\n this.restrictedMethods.includes('upload'),\n )\n }\n return this.request(\n {\n ...options,\n method: 'put',\n headers,\n body: file,\n },\n this.restrictedMethods.includes('upload'),\n )\n }\n public async download(options: IRequestOptions): Promise<any> {\n try {\n const { data } = await this.get({\n ...options,\n headers: {}, // 下载资源请求不经过service,header清空\n responseType: 'blob',\n })\n const url = window.URL.createObjectURL(new Blob([data]))\n const fileName = decodeURIComponent(new URL(options.url).pathname.split('/').pop() || '')\n const link = document.createElement('a')\n\n link.href = url\n link.setAttribute('download', fileName)\n link.style.display = 'none'\n\n document.body.appendChild(link)\n link.click()\n // 回收内存\n window.URL.revokeObjectURL(url)\n document.body.removeChild(link)\n } catch (e) {}\n return new Promise((resolve) => {\n resolve({\n statusCode: 200,\n tempFilePath: options.url,\n })\n })\n }\n async fetch(options: IFetchOptions & { shouldThrowOnError?: boolean }): Promise<ResponseObject> {\n const abortController = new AbortController()\n const { url, enableAbort = false, stream = false, signal, timeout: _timeout, shouldThrowOnError = true } = options\n\n const timeout = _timeout ?? this.timeout\n\n if (signal) {\n if (signal.aborted) abortController.abort()\n signal.addEventListener('abort', () => abortController.abort())\n }\n\n let timer = null\n if (enableAbort && timeout) {\n timer = setTimeout(() => {\n console.warn(this.timeoutMsg)\n abortController.abort(new Error(this.timeoutMsg))\n }, timeout)\n }\n\n const res = await fetch(url, {\n ...options,\n signal: abortController.signal,\n })\n .then(async (response) => {\n clearTimeout(timer)\n if (shouldThrowOnError) {\n // 404 等等也会进 resolve,所以要再通过 ok 判断\n return response.ok ? response : Promise.reject(await response.json())\n }\n return response\n })\n .catch((x) => {\n clearTimeout(timer)\n if (shouldThrowOnError) {\n return Promise.reject(x)\n }\n })\n\n return {\n // eslint-disable-next-line no-nested-ternary\n data: stream ? res.body : res.headers.get('content-type')?.includes('application/json') ? res.json() : res.text(),\n statusCode: res.status,\n header: res.headers,\n }\n }\n /**\n * @param {IRequestOptions} options\n * @param {boolean} enableAbort 是否超时中断请求\n */\n protected request(options: IRequestOptions, enableAbort = false): Promise<ResponseObject> {\n const method = String(options.method).toLowerCase() || 'get'\n return new Promise((resolve) => {\n const { url, headers = {}, data, responseType, withCredentials, body, onUploadProgress } = options\n const realUrl = formatUrl(getProtocol(), url, method === 'get' ? data : {})\n const ajax = new XMLHttpRequest()\n ajax.open(method, realUrl)\n responseType && (ajax.responseType = responseType)\n Object.keys(headers).forEach((key) => {\n ajax.setRequestHeader(key, headers[key])\n })\n let timer\n if (onUploadProgress) {\n ajax.upload.addEventListener('progress', onUploadProgress)\n }\n ajax.onreadystatechange = () => {\n const result: ResponseObject = {}\n if (ajax.readyState === 4) {\n const headers = ajax.getAllResponseHeaders()\n const arr = headers.trim().split(/[\\r\\n]+/)\n // Create a map of header names to values\n const headerMap = {}\n arr.forEach((line) => {\n const parts = line.split(': ')\n const header = parts.shift().toLowerCase()\n const value = parts.join(': ')\n headerMap[header] = value\n })\n result.header = headerMap\n result.statusCode = ajax.status\n try {\n // 上传post请求返回数据格式为xml,此处容错\n result.data = responseType === 'blob' ? ajax.response : JSON.parse(ajax.responseText)\n } catch (e) {\n result.data = responseType === 'blob' ? ajax.response : ajax.responseText\n }\n clearTimeout(timer)\n resolve(result)\n }\n }\n if (enableAbort && this.timeout) {\n timer = setTimeout(() => {\n console.warn(this.timeoutMsg)\n ajax.abort()\n }, this.timeout)\n }\n // 处理 payload\n let payload\n if (isFormData(data)) {\n // FormData,不处理\n payload = data\n } else if (headers['content-type'] === 'application/x-www-form-urlencoded') {\n payload = toQueryString(data)\n } else if (body) {\n payload = body\n } else {\n // 其它情况\n payload = data ? JSON.stringify(data) : undefined\n }\n\n if (withCredentials) {\n ajax.withCredentials = true\n }\n ajax.send(payload)\n })\n }\n}\n\nfunction genAdapter() {\n const adapter: SDKAdapterInterface & { type?: 'default' | '' } = {\n type: 'default',\n root: window,\n reqClass: WebRequest,\n wsClass: WebSocket,\n localStorage,\n }\n return adapter\n}\n\nexport { genAdapter, WebRequest }\n","export const ERRORS = {\n INVALID_PARAMS: 'INVALID_PARAMS',\n INVALID_SYNTAX: 'INVALID_SYNTAX',\n INVALID_OPERATION: 'INVALID_OPERATION',\n OPERATION_FAIL: 'OPERATION_FAIL',\n NETWORK_ERROR: 'NETWORK_ERROR',\n UNKOWN_ERROR: 'UNKOWN_ERROR',\n}\n","import { printGroupLog } from '../libs/util'\nimport { IS_DEBUG_MODE } from '../constants'\n\ninterface ICatchErrorsDecoratorOptions {\n mode?: 'sync' | 'async';\n customInfo?: {\n className?: string;\n methodName?: string;\n };\n title?: string;\n messages?: string[];\n}\n// firefox的stack格式与chrome不同\nlet isFirefox = false\nif (typeof navigator !== 'undefined' && navigator.userAgent) {\n isFirefox = navigator.userAgent.indexOf('Firefox') !== -1\n}\n/**\n * decorate在stack中一般都特定的规范\n */\nconst REG_STACK_DECORATE = isFirefox\n ? /(\\.js\\/)?__decorate(\\$\\d+)?<@.*\\d$/\n : /(\\/\\w+\\.js\\.)?__decorate(\\$\\d+)?\\s*\\(.*\\)$/\nconst REG_STACK_LINK = /https?:\\/\\/.+:\\d*\\/.*\\.js:\\d+:\\d+/\n/**\n * debug模式强化日志信息\n * @param options\n */\nexport function catchErrorsDecorator(options: ICatchErrorsDecoratorOptions) {\n const { mode = 'async', customInfo = {}, title, messages = [] } = options\n\n return function (\n target: any,\n methodName: string,\n descriptor: TypedPropertyDescriptor<Function>\n ) {\n // 生产环境禁用\n if (!IS_DEBUG_MODE) {\n return\n }\n const className = customInfo.className || target.constructor.name\n const fnName = customInfo.methodName || methodName\n const fn = descriptor.value\n\n // 被decorator装饰的源码link\n // 在descriptor.value外部此处创建的stack层次可触达源码\n // 而descriptor.value内部有可能由于stack太深无法触达\n const sourceLink = getSourceLink(new Error())\n\n if (mode === 'sync') {\n descriptor.value = function (...args: any[]) {\n // 此处的stack作用主要是为了获取被decorator装饰的源码class和method名称\n const innerErr: any = getRewritedError({\n err: new Error(),\n className,\n methodName: fnName,\n sourceLink,\n })\n try {\n return fn.apply(this, args)\n } catch (err) {\n let failErr = err\n const { message: errMsg, error, error_description: errorDescription } = err\n const logs: any = {\n title: title || `${className}.${fnName} failed`,\n content: [{\n type: 'error',\n body: err,\n }],\n }\n // 只特殊处理SDK业务逻辑抛出的错误-JSON string\n if (errMsg && /^\\{.*\\}$/.test(errMsg)) {\n const msg = JSON.parse(errMsg)\n logs.subtitle = errMsg\n if (msg.code) {\n if (innerErr) {\n innerErr.code = msg.code\n innerErr.msg = msg.msg\n } else {\n err.code = msg.code\n err.message = msg.msg\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n }\n\n // oauth 错误特殊处理\n if (error && errorDescription) {\n logs.subtitle = errorDescription\n if (innerErr) {\n innerErr.code = error\n innerErr.msg = errorDescription\n } else {\n err.code = error\n err.message = errorDescription\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n printGroupLog(logs)\n throw failErr\n }\n }\n } else {\n descriptor.value = async function (...args: any[]) {\n const innerErr: any = getRewritedError({\n err: new Error(),\n className,\n methodName: fnName,\n sourceLink,\n })\n\n try {\n return await fn.apply(this, args)\n } catch (err) {\n let failErr = err\n const { message: errMsg, error, error_description: errorDescription } = err\n const logs: any = {\n title: title || `${className}.${fnName} failed`,\n content: [{\n type: 'error',\n body: err,\n }],\n }\n // 只特殊处理SDK业务逻辑抛出的错误-JSON string\n if (errMsg && /^\\{.*\\}$/.test(errMsg)) {\n const msg = JSON.parse(errMsg)\n logs.subtitle = msg\n if (msg.code) {\n if (innerErr) {\n innerErr.code = msg.code\n innerErr.message = msg.msg\n } else {\n err.code = msg.code\n err.message = msg.msg\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n }\n\n // oauth 错误特殊处理\n if (error && errorDescription) {\n logs.subtitle = errorDescription\n if (innerErr) {\n innerErr.code = error\n innerErr.msg = errorDescription\n } else {\n err.code = error\n err.message = errorDescription\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n printGroupLog(logs)\n throw failErr\n }\n }\n }\n }\n}\n\n/**\n * 在原始堆栈中查找装饰器条目并返回源码链接link\n * @param err\n */\nfunction getSourceLink(err: Error) {\n let sourceLink = ''\n const outterErrStacks = err.stack.split('\\n')\n const indexOfDecorator = outterErrStacks.findIndex(str => REG_STACK_DECORATE.test(str))\n\n if (indexOfDecorator !== -1) {\n const match = REG_STACK_LINK.exec(outterErrStacks[indexOfDecorator + 1] || '')\n\n sourceLink = match ? match[0] : ''\n }\n return sourceLink\n}\n\n/**\n * 在原始堆栈中查找装饰器条目,剔除其后的无用堆栈,并将链接替换为源码link\n * @param options\n */\nfunction getRewritedError(options: {\n err: Error;\n className: string;\n methodName: string;\n sourceLink: string;\n}) {\n const { err, className, methodName, sourceLink } = options\n // 找不到源码link返回null,后续逻辑将打印原堆栈信息\n if (!sourceLink) {\n return null\n }\n\n const innerErrStack = err.stack.split('\\n')\n const REG_STACK_INNER_METHOD = isFirefox\n ? /^catchErrorsDecorator\\/<\\/descriptor.value@.*\\d$/\n : new RegExp(`${className}\\\\.descriptor.value\\\\s*\\\\[as\\\\s${methodName}\\\\]\\\\s*\\\\(.*\\\\)$`)\n const REG_STACK_INNER_METHOD_WITHOUT_LINK = isFirefox\n ? /^catchErrorsDecorator\\/<\\/descriptor.value/\n : new RegExp(`${className}\\\\.descriptor.value\\\\s*\\\\[as\\\\s${methodName}\\\\]`)\n const indexOfSource = innerErrStack.findIndex(str => REG_STACK_INNER_METHOD.test(str))\n let innerErr: Error\n if (indexOfSource !== -1) {\n // @ts-ignore\n const realErrStack = innerErrStack.filter((v, i) => i > indexOfSource)\n realErrStack.unshift(innerErrStack[indexOfSource]\n .replace(REG_STACK_INNER_METHOD_WITHOUT_LINK, `${className}.${methodName}`)\n .replace(REG_STACK_LINK, sourceLink))\n innerErr = new Error()\n innerErr.stack = `${isFirefox ? '@debugger' : 'Error'}\\n${realErrStack.join('\\n')}`\n }\n return innerErr\n}\n","export default class AbortController {\n listeners: Array<CallableFunction> = []\n signal = {\n aborted: false,\n addEventListener: (e: string, f: CallableFunction) => {\n if (e === 'abort') {\n this.listeners.push(f)\n }\n },\n }\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor() {}\n\n abort() {\n if (this.signal.aborted) return\n\n this.signal.aborted = true\n this.listeners.forEach(f => f())\n }\n}\n","import { isString, isInstanceOf } from './util'\nimport { Listeners, ICloudbaseEventEmitter } from '@cloudbase/types/events'\n\n\n/**\n * @private\n * @function _addEventListener - 添加监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @param {Listeners} listeners - 已存响应函数集合\n */\nfunction customeAddEventListener(name: string, listener: Function, listeners: Listeners) {\n listeners[name] = listeners[name] || []\n listeners[name].push(listener)\n}\n/**\n * @private\n * @function _removeEventListener - 移除监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @param {Listeners} listeners - 已存响应函数集合\n */\nfunction customRemoveEventListener(name: string, listener: Function, listeners: Listeners) {\n if (listeners?.[name]) {\n const index = listeners[name].indexOf(listener)\n if (index !== -1) {\n listeners[name].splice(index, 1)\n }\n }\n}\ninterface IEvent {\n name: string;\n target: any;\n data: any;\n}\n/**\n * 自定义事件\n * @class CloudbaseEvent\n * @param {string} name - 类型\n * @param {any} data - 数据\n */\nexport class CloudbaseEvent implements IEvent {\n public readonly name: string\n public target: any\n public data: any\n\n constructor(name: string, data: any) {\n this.data = data || null\n this.name = name\n }\n}\n/**\n * 自定义错误事件\n * @class IErrorEvent\n * @extends CloudbaseEvent\n * @param {Error} error - 错误信息对象\n * @param {any} data - 数据\n */\nexport class IErrorEvent extends CloudbaseEvent {\n public readonly error: Error\n constructor(error: Error, data?: any) {\n super('error', { error, data })\n this.error = error\n }\n}\n\n/**\n * @class CloudbaseEventEmitter\n */\nexport class CloudbaseEventEmitter implements ICloudbaseEventEmitter {\n /**\n * @private\n * @readonly\n * @property {Listeners} listeners - 响应函数集合\n * @default `{}`\n */\n private readonly listeners: Listeners = {}\n\n /**\n * @public\n * @method on - 添加监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @return `this`\n */\n public on(name: string, listener: Function): this {\n customeAddEventListener(name, listener, this.listeners)\n return this\n }\n /**\n * @public\n * @method off - 移除监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @return `this`\n */\n public off(name: string, listener: Function): this {\n customRemoveEventListener(name, listener, this.listeners)\n return this\n }\n /**\n * @public\n * @method fire - 触发事件\n * @param {string|CloudbaseEvent} event - event\n * @return `this`\n */\n public fire(event: string | CloudbaseEvent, data?: any): this {\n // 打印错误信息\n if (isInstanceOf(event, IErrorEvent)) {\n console.error((event as IErrorEvent).error)\n return this\n }\n\n const ev: CloudbaseEvent = isString(event) ? new CloudbaseEvent(event as string, data || {}) : event as CloudbaseEvent\n\n const { name } = ev\n\n if (this.listens(name)) {\n ev.target = this\n\n const handlers = this.listeners[name] ? [...this.listeners[name]] : []\n for (const fn of handlers) {\n fn.call(this, ev)\n }\n }\n\n return this\n }\n\n /**\n * @private\n * @method listens - 判断是否监听了name事件\n * @param {string} name - event名称\n * @return `boolean`\n */\n private listens(name: string): boolean {\n return this.listeners[name] && this.listeners[name].length > 0\n }\n}\n\n\nconst eventEmitter = new CloudbaseEventEmitter()\n\nexport function addEventListener(event: string, callback: Function) {\n eventEmitter.on(event, callback)\n}\n\nexport function activateEvent(event: string, data: any = {}) {\n eventEmitter.fire(event, data)\n}\n\nexport function removeEventListener(event: string, callback: Function) {\n eventEmitter.off(event, callback)\n}\n","import { CloudbaseEventEmitter } from './events'\n\nexport const bus = new CloudbaseEventEmitter()\n\nexport const LANG_CHANGE_EVENT = 'lang_change'\n","import { KV } from '@cloudbase/types'\nimport { getSdkName } from '../constants'\n\nexport function isArray(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object Array]'\n}\nexport function isString(val: any): boolean {\n return typeof val === 'string'\n}\nexport function isUndefined(val: any): boolean {\n return typeof val === 'undefined'\n}\nexport function isPalinObject(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object Object]'\n}\nexport function isNull(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object Null]'\n}\nexport function isInstanceOf(instance: any, construct: any): boolean {\n return instance instanceof construct\n}\nexport function isFormData(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object FormData]'\n}\nexport function genSeqId(): string {\n return Math.random().toString(16)\n .slice(2)\n}\nexport function generateRequestId() {\n let d = new Date().getTime()\n let d2 = (Date?.now && Date.now() * 1000) || 0\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n let r = Math.random() * 16\n if (d > 0) {\n r = (d + r) % 16 | 0\n d = Math.floor(d / 16)\n } else {\n r = (d2 + r) % 16 | 0\n d2 = Math.floor(d2 / 16)\n }\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16)\n })\n}\nexport function formatUrl(PROTOCOL: string, url: string, query: KV<any> = {}): string {\n const urlHasQuery = /\\?/.test(url)\n let queryString = ''\n Object.keys(query).forEach((key) => {\n if (queryString === '') {\n !urlHasQuery && (url += '?')\n } else {\n queryString += '&'\n }\n queryString += `${key}=${encodeURIComponent(query[key])}`\n })\n url += queryString\n if (/^http(s)?:\\/\\//.test(url)) {\n return url\n }\n return `${PROTOCOL}${url}`\n}\n\nexport function toQueryString(query: KV<any> = {}) {\n const queryString = []\n Object.keys(query).forEach((key) => {\n queryString.push(`${key}=${encodeURIComponent(query[key])}`)\n })\n return queryString.join('&')\n}\n\nexport function getQuery(name: string, url?: string) {\n if (typeof window === 'undefined') {\n return false\n }\n // 参数:变量名,url为空则表从当前页面的url中取\n const u = url || decodeURIComponent(window.location.search)\n const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`)\n const r = u.substr(u.indexOf('?') + 1).match(reg)\n return r !== null && r !== undefined ? r[2] : ''\n}\n\nexport const getHash = function (name: string) {\n if (typeof window === 'undefined') {\n return ''\n }\n const matches = window.location.hash.match(new RegExp(`[#?&/]${name}=([^&#]*)`))\n return matches ? matches[1] : ''\n}\n\nexport function removeParam(key: string, sourceURL: string) {\n let rtn = sourceURL.split('?')[0]\n let param\n let params = []\n const queryString = sourceURL.indexOf('?') !== -1 ? sourceURL.split('?')[1] : ''\n if (queryString !== '') {\n params = queryString.split('&')\n for (let i = params.length - 1; i >= 0; i -= 1) {\n /* eslint-disable-next-line */\n param = params[i].split('=')[0]\n if (param === key) {\n params.splice(i, 1)\n }\n }\n rtn = `${rtn}?${params.join('&')}`\n }\n return rtn\n}\n\nexport function createPromiseCallback() {\n let cb: any = {}\n if (!Promise) {\n cb = () => {}\n cb.promise = {}\n\n const throwPromiseNotDefined = () => {\n throw new Error('Your Node runtime does support ES6 Promises. '\n + 'Set \"global.Promise\" to your preferred implementation of promises.',)\n }\n\n Object.defineProperty(cb.promise, 'then', { get: throwPromiseNotDefined })\n Object.defineProperty(cb.promise, 'catch', { get: throwPromiseNotDefined })\n return cb\n }\n\n const promise = new Promise((resolve, reject) => {\n cb = (err, data) => {\n if (err) return reject(err)\n return resolve(data)\n }\n })\n cb.promise = promise\n return cb\n}\n\nexport function execCallback(fn: Function | null | undefined, err: any, data = null) {\n if (fn && typeof fn === 'function') {\n return fn(err, data)\n }\n if (err) {\n throw err\n }\n return data\n}\n\nexport function printWarn(error: string, msg: string) {\n console.warn(`[${getSdkName()}][${error}]:${msg}`)\n}\n\nexport function printError(error: string, msg: string) {\n console.error({\n code: error,\n msg: `[${getSdkName()}][${error}]:${msg}`,\n })\n}\nexport function printInfo(error: string, msg: string) {\n console.log(`[${getSdkName()}][${error}]:${msg}`)\n}\nexport function throwError(error: string, msg: string) {\n throw new Error(JSON.stringify({\n code: error,\n msg: `[${getSdkName()}][${error}]:${msg}`,\n }),)\n}\n\ninterface IPrintGroupLogOptions {\n title: string\n subtitle: string | object\n content: {\n type: 'info' | 'warn' | 'error'\n body: string | Error\n }[]\n printTrace?: boolean\n collapsed?: boolean\n}\nexport function printGroupLog(options: IPrintGroupLogOptions) {\n const { title, subtitle = '', content = [], printTrace = false, collapsed = false } = options\n if (collapsed) {\n (console.groupCollapsed || console.error)(title, subtitle)\n } else {\n (console.group || console.error)(title, subtitle)\n }\n for (const tip of content) {\n const { type, body } = tip\n switch (type) {\n case 'info':\n console.log(body)\n break\n case 'warn':\n console.warn(body)\n break\n case 'error':\n console.error(body)\n break\n }\n }\n if (printTrace) {\n (console.trace || console.log)('stack trace:')\n }\n console.groupEnd?.()\n}\n\nexport const sleep = (ms = 0) => new Promise(r => setTimeout(r, ms))\n\nexport function transformPhone(phoneNumber: string) {\n return `+86${phoneNumber}`\n}\n\nexport const parseQueryString = (queryString) => {\n queryString = queryString.replace(/^\\?/, '')\n const params = {}\n const pairs = queryString.split('&')\n\n pairs.forEach((item) => {\n let [key, value] = item.split('=')\n key = decodeURIComponent(key)\n value = decodeURIComponent(value)\n if (key) {\n if (params[key]) {\n if (Array.isArray(params[key])) {\n params[key].push(value)\n } else {\n params[key] = [params[key], value]\n }\n } else {\n params[key] = value\n }\n }\n })\n\n return params\n}\n\n// 解析URL参数\nexport function parseCaptcha(url) {\n let queryObj: any = {}\n const matched = url.match(/^(data:.*?)(\\?[^#\\s]*)?$/)\n if (matched) {\n // eslint-disable-next-line prefer-destructuring\n url = matched[1]\n const search = matched[2]\n if (search) {\n queryObj = parseQueryString(search)\n }\n }\n const { token, ...restQueryObj } = queryObj\n if (/^data:/.test(url) && !token) {\n return {\n error: 'invalid_argument',\n error_description: `invalid captcha data: ${url}`,\n }\n }\n if (!token) {\n return {\n error: 'unimplemented',\n error_description: 'need to impl captcha data',\n }\n }\n // 解析url得到的参数\n return {\n state: restQueryObj.state,\n token, // 验证码token\n captchaData: url, // 验证码base64图片\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_interface_74717cc6__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jwt_decode_b659f100__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(130);\n"],"names":["utilities_1","require","setUtilitiesSdkName","constants","setSdkName","setUtilitiesProtocol","setProtocol","sdkVersion","sdkName","exports","version","name","LOGINTYPE","END_POINT_INFO_ARR","END_POINT_INFO_SEARCH_KEYS","findMatchedInfo","info","find","targetInfo","filter","searchKey","every","setEndPointInfo","newInfo","protocol","test","concat","endPointInfo","baseUrl","push","__assign","_a","DEFAULT_PROTOCOL","endPointKey","_b","getEndPointInfo","env","region","intl","PROTOCOL","BASE_URL","match","component_1","adapter_1","cache_1","request_1","common_1","lang_1","common_2","Object","enumerable","get","getBaseEndPoint","lang_2","LANGS","useAdapters","adapters","useDefaultAdapter","ERRORS","COMMUNITY_SITE_URL","printWarn","utils","catchErrorsDecorator","helpers","DEFAULT_INIT_CONFIG","timeout","persistence","MAX_TIMEOUT","extensionMap","Cloudbase","config","this","cloudbaseConfig","authInstance","oauthInstance","getSdkVersion","defineProperty","prototype","Platform","getCacheByEnvId","getLocalCache","getRequestByEnvId","init","endPointMode","adapter","dealNodeAdapterConfig","Error","JSON","stringify","code","INVALID_PARAMS","msg","isInitialized","reqConfig","timeoutMsg","getSdkName","auth","requestClient","reqClass","i18n","i18nProxy","lang","formatTimeout","_d","debug","oauthClient","initCache","platformInfo","platform","setRegionLevelEndpoint","setGatewayEndPointWithEnv","app","initRequest","_fromApp","fire","call","try2InitAuth","nodeTool","_c","updateConfig","updateLang","registerExtension","ext","invokeExtension","opts","invoke","sent","options","runtime","registerHook","hook","registerComponent","component","registerVersion","setSdkVersion","registerSdkName","some","p","toLowerCase","registerEndPoint","url","registerEndPointWithKey","props","key","getEndPointWithKey","parseCaptcha","bind","error","console","log","__decorate","mode","title","messages","cloudbase","getWxDefaultAdapter","adapter_wx_mp_1","__importStar","adapter_interface_1","WxRequest","upload","_this","self","Promise","resolve","file","data","headers","fs","wx","getFileSystemManager","task","request","method","header","readFileSync","_timeout","success","res","result","statusCode","success_action_status","parseInt","fail","err","complete","errMsg","_restrictedMethods","indexOf","warn","_timeoutMsg","abort","e","default","genAdapter","root","globalThis","wsClass","WxMpWebSocket","captchaOptions","openURIWithCallback","_url","EventBus","queryObj","matched","search","parseQueryString","token","restQueryObj","__rest","reject","error_description","$emit","$once","localStorage","wxMpStorage","primaryStorage","StorageType","local","getAppSign","getAccountInfoSync","App","getApp","onAppHide","offAppHide","onAppShow","offAppShow","miniProgram","appId","plugin","CloudbaseCache","cache","cacheMap","localCacheMap","keys","userInfoKey","components","deepExtend","target","source","constructor","Date","getTime","undefined","Array","_i","sourceKeys_1","length","hasOwnProperty","namespace","entity","injectEvents","IIFE","INVALID_OPERATION","bus","events","originCallback_1","__spreadArray","eventName","eventNames_1","name_1","bus_1","includes","originMethod","args","arguments","apply","EN","错误信息","未实现","请求超时","text","langMap","cacheKey","clientId","getLangCacheKey","getItem","ZH","setItem","Proxy","t","LANG_HEADER_KEY","prop","set","newValue","langEvent","LANG_CHANGE_EVENT","genSeqId","isFormData","formatUrl","ACTIONS_WITHOUT_ACCESSTOKEN","bindHooks","instance","hooks","forEach","appendedData","appendedHeaders","assign","originData","append","beforeEach","seqId","CloudbaseRequest","throwWhenRequestFail","restrictedMethods","throw","localCache","on","params","getAccessToken","oauth2client","getOauthAccessTokenV2","accessToken","getDefaultHeaders","post","customReqOpts","download","validAccessToken","getCredentials","credentials","accessTokenExpire","expires_at","action","tcbTraceKey","contentType","tmpObj_1","dataVersion","DATA_VERSION","access_token","payload_1","FormData","onUploadProgress","traceHeader","getStore","parse","inQuery","formatQuery","defaultQuery","url_1","newUrl","pathname","replace","resTraceHeader","setStore","Number","status","err_1","requestId","fetch","_j","_k","withCredentials","restOptions","doFetch","__awaiter","authHeaders","Authorization","_l","err_2","authApi","refreshTokenForce","_h","_g","_f","_e","send","response","OPERATION_FAIL","message","gateWay","path","jsonData","generateRequestId","endpoint","isGetAndHead","toUpperCase","dataParse_1","map","join","body","requestMap","app_1","__importDefault","package_json_1","window","module","RUNTIME","Web","util_1","adapterList_1","isArray","isMatch","WEB","WebRequest","_super","__extends","put","reqMethod","formData","responseType","URL","createObjectURL","Blob","fileName","decodeURIComponent","split","pop","link","document","createElement","href","setAttribute","style","display","appendChild","click","revokeObjectURL","removeChild","tempFilePath","abortController","AbortController","enableAbort","stream","signal","shouldThrowOnError","aborted","addEventListener","timer","setTimeout","then","clearTimeout","ok","json","catch","x","String","payload","realUrl","getProtocol","ajax","XMLHttpRequest","open","setRequestHeader","onreadystatechange","readyState","arr","getAllResponseHeaders","trim","headerMap_1","line","parts","shift","value","responseText","toQueryString","AbstractSDKRequest","type","WebSocket","INVALID_SYNTAX","NETWORK_ERROR","UNKOWN_ERROR","__exportStar","constants_1","isFirefox","navigator","userAgent","REG_STACK_DECORATE","REG_STACK_LINK","getRewritedError","className","methodName","sourceLink","innerErr","innerErrStack","stack","REG_STACK_INNER_METHOD","RegExp","REG_STACK_INNER_METHOD_WITHOUT_LINK","indexOfSource","findIndex","str","realErrStack","v","i","unshift","customInfo","descriptor","IS_DEBUG_MODE","fnName","fn","outterErrStacks","indexOfDecorator","exec","getSourceLink","failErr","errorDescription","logs","content","subtitle","printGroupLog","abortController_1","jwt","decode","listeners","f","TcbCacheObject","tcbCacheObject","removeItem","clear","AbstractStorage","storage","persistenceTag","createStorage","val","setStoreAsync","process","tcb_token","getStoreAsync","removeStore","removeStoreAsync","CloudbaseEvent","IErrorEvent","CloudbaseEventEmitter","listener","customeAddEventListener","off","index","splice","customRemoveEventListener","event","isInstanceOf","ev","isString","listens","handlers_1","eventEmitter","callback","events_1","toString","construct","Math","random","slice","d","d2","now","c","r","floor","query","urlHasQuery","queryString","encodeURIComponent","u","location","reg","substr","matches","hash","sourceURL","rtn","cb","promise","throwPromiseNotDefined","printTrace","collapsed","groupCollapsed","group","content_1","tip","trace","groupEnd","ms","phoneNumber","item","state","captchaData","__WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_interface_74717cc6__","__WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__","__WEBPACK_EXTERNAL_MODULE_jwt_decode_b659f100__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"index.esm.js","mappings":"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","sources":["webpack://@cloudbase/js-sdk/webpack/bootstrap","webpack://@cloudbase/js-sdk/webpack/runtime/define property getters","webpack://@cloudbase/js-sdk/webpack/runtime/hasOwnProperty shorthand","webpack://@cloudbase/js-sdk/common.ts","webpack://@cloudbase/js-sdk/errors.ts","webpack://@cloudbase/js-sdk/external module \"@cloudbase/adapter-interface\"","webpack://@cloudbase/js-sdk/util.ts","webpack://@cloudbase/js-sdk/index.ts","webpack://@cloudbase/js-sdk/web.ts","webpack://@cloudbase/js-sdk/cache.ts","webpack://@cloudbase/js-sdk/events.ts","webpack://@cloudbase/js-sdk/langEvent.ts","webpack://@cloudbase/js-sdk/decorators.ts","webpack://@cloudbase/js-sdk/external module \"jwt-decode\"","webpack://@cloudbase/js-sdk/component.ts","webpack://@cloudbase/js-sdk/external module \"@cloudbase/adapter-wx_mp\"","webpack://@cloudbase/js-sdk/adapter.ts","webpack://@cloudbase/js-sdk/request.ts","webpack://@cloudbase/js-sdk/lang.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","let sdkName = '@cloudbase/js-sdk'\nexport function setSdkName(name: string) {\n sdkName = name\n}\nexport function getSdkName() {\n return sdkName\n}\n\nlet PROTOCOL = 'https:'\n\nexport function setProtocol(protocol: 'http:' | 'https:') {\n PROTOCOL = protocol\n}\n\nexport function getProtocol() {\n return PROTOCOL\n}\n// 是否为开发模式\nexport const IS_DEBUG_MODE = typeof process === 'undefined' || typeof process.env === 'undefined' ? false : process.env.NODE_ENV === 'development'\n// 问答社区链接\nexport const COMMUNITY_SITE_URL = 'https://support.qq.com/products/148793'\n","export const ERRORS = {\n INVALID_PARAMS: 'INVALID_PARAMS',\n INVALID_SYNTAX: 'INVALID_SYNTAX',\n INVALID_OPERATION: 'INVALID_OPERATION',\n OPERATION_FAIL: 'OPERATION_FAIL',\n NETWORK_ERROR: 'NETWORK_ERROR',\n UNKOWN_ERROR: 'UNKOWN_ERROR',\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"AbstractSDKRequest\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_interface_74717cc6__.AbstractSDKRequest, [\"AbstractStorage\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_interface_74717cc6__.AbstractStorage, [\"StorageType\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_interface_74717cc6__.StorageType });","import { KV } from '@cloudbase/types'\nimport { getSdkName } from '../constants'\n\nexport function isArray(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object Array]'\n}\nexport function isString(val: any): boolean {\n return typeof val === 'string'\n}\nexport function isUndefined(val: any): boolean {\n return typeof val === 'undefined'\n}\nexport function isPalinObject(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object Object]'\n}\nexport function isNull(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object Null]'\n}\nexport function isInstanceOf(instance: any, construct: any): boolean {\n return instance instanceof construct\n}\nexport function isFormData(val: any): boolean {\n return Object.prototype.toString.call(val) === '[object FormData]'\n}\nexport function genSeqId(): string {\n return Math.random().toString(16)\n .slice(2)\n}\nexport function generateRequestId() {\n let d = new Date().getTime()\n let d2 = (Date?.now && Date.now() * 1000) || 0\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n let r = Math.random() * 16\n if (d > 0) {\n r = (d + r) % 16 | 0\n d = Math.floor(d / 16)\n } else {\n r = (d2 + r) % 16 | 0\n d2 = Math.floor(d2 / 16)\n }\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16)\n })\n}\nexport function formatUrl(PROTOCOL: string, url: string, query: KV<any> = {}): string {\n const urlHasQuery = /\\?/.test(url)\n let queryString = ''\n Object.keys(query).forEach((key) => {\n if (queryString === '') {\n !urlHasQuery && (url += '?')\n } else {\n queryString += '&'\n }\n queryString += `${key}=${encodeURIComponent(query[key])}`\n })\n url += queryString\n if (/^http(s)?:\\/\\//.test(url)) {\n return url\n }\n return `${PROTOCOL}${url}`\n}\n\nexport function toQueryString(query: KV<any> = {}) {\n const queryString = []\n Object.keys(query).forEach((key) => {\n queryString.push(`${key}=${encodeURIComponent(query[key])}`)\n })\n return queryString.join('&')\n}\n\nexport function getQuery(name: string, url?: string) {\n if (typeof window === 'undefined') {\n return false\n }\n // 参数:变量名,url为空则表从当前页面的url中取\n const u = url || decodeURIComponent(window.location.search)\n const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`)\n const r = u.substr(u.indexOf('?') + 1).match(reg)\n return r !== null && r !== undefined ? r[2] : ''\n}\n\nexport const getHash = function (name: string) {\n if (typeof window === 'undefined') {\n return ''\n }\n const matches = window.location.hash.match(new RegExp(`[#?&/]${name}=([^&#]*)`))\n return matches ? matches[1] : ''\n}\n\nexport function removeParam(key: string, sourceURL: string) {\n let rtn = sourceURL.split('?')[0]\n let param\n let params = []\n const queryString = sourceURL.indexOf('?') !== -1 ? sourceURL.split('?')[1] : ''\n if (queryString !== '') {\n params = queryString.split('&')\n for (let i = params.length - 1; i >= 0; i -= 1) {\n /* eslint-disable-next-line */\n param = params[i].split('=')[0]\n if (param === key) {\n params.splice(i, 1)\n }\n }\n rtn = `${rtn}?${params.join('&')}`\n }\n return rtn\n}\n\nexport function createPromiseCallback() {\n let cb: any = {}\n if (!Promise) {\n cb = () => {}\n cb.promise = {}\n\n const throwPromiseNotDefined = () => {\n throw new Error('Your Node runtime does support ES6 Promises. '\n + 'Set \"global.Promise\" to your preferred implementation of promises.',)\n }\n\n Object.defineProperty(cb.promise, 'then', { get: throwPromiseNotDefined })\n Object.defineProperty(cb.promise, 'catch', { get: throwPromiseNotDefined })\n return cb\n }\n\n const promise = new Promise((resolve, reject) => {\n cb = (err, data) => {\n if (err) return reject(err)\n return resolve(data)\n }\n })\n cb.promise = promise\n return cb\n}\n\nexport function execCallback(fn: Function | null | undefined, err: any, data = null) {\n if (fn && typeof fn === 'function') {\n return fn(err, data)\n }\n if (err) {\n throw err\n }\n return data\n}\n\nexport function printWarn(error: string, msg: string) {\n console.warn(`[${getSdkName()}][${error}]:${msg}`)\n}\n\nexport function printError(error: string, msg: string) {\n console.error({\n code: error,\n msg: `[${getSdkName()}][${error}]:${msg}`,\n })\n}\nexport function printInfo(error: string, msg: string) {\n console.log(`[${getSdkName()}][${error}]:${msg}`)\n}\nexport function throwError(error: string, msg: string) {\n throw new Error(JSON.stringify({\n code: error,\n msg: `[${getSdkName()}][${error}]:${msg}`,\n }),)\n}\n\ninterface IPrintGroupLogOptions {\n title: string\n subtitle: string | object\n content: {\n type: 'info' | 'warn' | 'error'\n body: string | Error\n }[]\n printTrace?: boolean\n collapsed?: boolean\n}\nexport function printGroupLog(options: IPrintGroupLogOptions) {\n const { title, subtitle = '', content = [], printTrace = false, collapsed = false } = options\n if (collapsed) {\n (console.groupCollapsed || console.error)(title, subtitle)\n } else {\n (console.group || console.error)(title, subtitle)\n }\n for (const tip of content) {\n const { type, body } = tip\n switch (type) {\n case 'info':\n console.log(body)\n break\n case 'warn':\n console.warn(body)\n break\n case 'error':\n console.error(body)\n break\n }\n }\n if (printTrace) {\n (console.trace || console.log)('stack trace:')\n }\n console.groupEnd?.()\n}\n\nexport const sleep = (ms = 0) => new Promise(r => setTimeout(r, ms))\n\nexport function transformPhone(phoneNumber: string) {\n return `+86${phoneNumber}`\n}\n\nexport const parseQueryString = (queryString) => {\n queryString = queryString.replace(/^\\?/, '')\n const params = {}\n const pairs = queryString.split('&')\n\n pairs.forEach((item) => {\n let [key, value] = item.split('=')\n key = decodeURIComponent(key)\n value = decodeURIComponent(value)\n if (key) {\n if (params[key]) {\n if (Array.isArray(params[key])) {\n params[key].push(value)\n } else {\n params[key] = [params[key], value]\n }\n } else {\n params[key] = value\n }\n }\n })\n\n return params\n}\n\n// 解析URL参数\nexport function parseCaptcha(url) {\n let queryObj: any = {}\n const matched = url.match(/^(data:.*?)(\\?[^#\\s]*)?$/)\n if (matched) {\n // eslint-disable-next-line prefer-destructuring\n url = matched[1]\n const search = matched[2]\n if (search) {\n queryObj = parseQueryString(search)\n }\n }\n const { token, ...restQueryObj } = queryObj\n if (/^data:/.test(url) && !token) {\n return {\n error: 'invalid_argument',\n error_description: `invalid captcha data: ${url}`,\n }\n }\n if (!token) {\n return {\n error: 'unimplemented',\n error_description: 'need to impl captcha data',\n }\n }\n // 解析url得到的参数\n return {\n state: restQueryObj.state,\n token, // 验证码token\n captchaData: url, // 验证码base64图片\n }\n}\n","export * from './common'\nexport * from './errors'\n\nexport const OATUH_LOGINTYPE = 'constants'\n","import {\n SDKAdapterInterface,\n AbstractSDKRequest,\n IRequestOptions,\n ResponseObject,\n IUploadRequestOptions,\n IRequestConfig,\n IRequestMethod,\n IFetchOptions,\n} from '@cloudbase/adapter-interface'\nimport { isFormData, formatUrl, toQueryString } from '../../libs/util'\nimport { getProtocol } from '../../constants/common'\n\n/**\n * @class WebRequest\n */\nclass WebRequest extends AbstractSDKRequest {\n // 默认不限超时\n private readonly timeout: number\n // 超时提示文案\n private readonly timeoutMsg: string\n // 超时受限请求类型,默认所有请求均受限\n private readonly restrictedMethods: Array<IRequestMethod>\n constructor(config: IRequestConfig) {\n super()\n const { timeout, timeoutMsg, restrictedMethods } = config\n this.timeout = timeout || 0\n this.timeoutMsg = timeoutMsg || '请求超时'\n this.restrictedMethods = restrictedMethods || ['get', 'post', 'upload', 'download']\n }\n public get(options: IRequestOptions): Promise<ResponseObject> {\n return this.request(\n {\n ...options,\n method: 'get',\n },\n this.restrictedMethods.includes('get'),\n )\n }\n public post(options: IRequestOptions): Promise<ResponseObject> {\n return this.request(\n {\n ...options,\n method: 'post',\n },\n this.restrictedMethods.includes('post'),\n )\n }\n public put(options: IRequestOptions): Promise<ResponseObject> {\n return this.request({\n ...options,\n method: 'put',\n })\n }\n public upload(options: IUploadRequestOptions): Promise<ResponseObject> {\n const { data, file, name, method, headers = {} } = options\n const reqMethod = { post: 'post', put: 'put' }[method?.toLowerCase()] || 'put'\n // 上传方式为post时,需转换为FormData\n const formData = new FormData()\n if (reqMethod === 'post') {\n Object.keys(data).forEach((key) => {\n formData.append(key, data[key])\n })\n formData.append('key', name)\n formData.append('file', file)\n return this.request(\n {\n ...options,\n data: formData,\n method: reqMethod,\n },\n this.restrictedMethods.includes('upload'),\n )\n }\n return this.request(\n {\n ...options,\n method: 'put',\n headers,\n body: file,\n },\n this.restrictedMethods.includes('upload'),\n )\n }\n public async download(options: IRequestOptions): Promise<any> {\n try {\n const { data } = await this.get({\n ...options,\n headers: {}, // 下载资源请求不经过service,header清空\n responseType: 'blob',\n })\n const url = window.URL.createObjectURL(new Blob([data]))\n const fileName = decodeURIComponent(new URL(options.url).pathname.split('/').pop() || '')\n const link = document.createElement('a')\n\n link.href = url\n link.setAttribute('download', fileName)\n link.style.display = 'none'\n\n document.body.appendChild(link)\n link.click()\n // 回收内存\n window.URL.revokeObjectURL(url)\n document.body.removeChild(link)\n } catch (e) {}\n return new Promise((resolve) => {\n resolve({\n statusCode: 200,\n tempFilePath: options.url,\n })\n })\n }\n async fetch(options: IFetchOptions & { shouldThrowOnError?: boolean }): Promise<ResponseObject> {\n const abortController = new AbortController()\n const { url, enableAbort = false, stream = false, signal, timeout: _timeout, shouldThrowOnError = true } = options\n\n const timeout = _timeout ?? this.timeout\n\n if (signal) {\n if (signal.aborted) abortController.abort()\n signal.addEventListener('abort', () => abortController.abort())\n }\n\n let timer = null\n if (enableAbort && timeout) {\n timer = setTimeout(() => {\n console.warn(this.timeoutMsg)\n abortController.abort(new Error(this.timeoutMsg))\n }, timeout)\n }\n\n const res = await fetch(url, {\n ...options,\n signal: abortController.signal,\n })\n .then(async (response) => {\n clearTimeout(timer)\n if (shouldThrowOnError) {\n // 404 等等也会进 resolve,所以要再通过 ok 判断\n return response.ok ? response : Promise.reject(await response.json())\n }\n return response\n })\n .catch((x) => {\n clearTimeout(timer)\n if (shouldThrowOnError) {\n return Promise.reject(x)\n }\n })\n\n return {\n // eslint-disable-next-line no-nested-ternary\n data: stream ? res.body : res.headers.get('content-type')?.includes('application/json') ? res.json() : res.text(),\n statusCode: res.status,\n header: res.headers,\n }\n }\n /**\n * @param {IRequestOptions} options\n * @param {boolean} enableAbort 是否超时中断请求\n */\n protected request(options: IRequestOptions, enableAbort = false): Promise<ResponseObject> {\n const method = String(options.method).toLowerCase() || 'get'\n return new Promise((resolve) => {\n const { url, headers = {}, data, responseType, withCredentials, body, onUploadProgress } = options\n const realUrl = formatUrl(getProtocol(), url, method === 'get' ? data : {})\n const ajax = new XMLHttpRequest()\n ajax.open(method, realUrl)\n responseType && (ajax.responseType = responseType)\n Object.keys(headers).forEach((key) => {\n ajax.setRequestHeader(key, headers[key])\n })\n let timer\n if (onUploadProgress) {\n ajax.upload.addEventListener('progress', onUploadProgress)\n }\n ajax.onreadystatechange = () => {\n const result: ResponseObject = {}\n if (ajax.readyState === 4) {\n const headers = ajax.getAllResponseHeaders()\n const arr = headers.trim().split(/[\\r\\n]+/)\n // Create a map of header names to values\n const headerMap = {}\n arr.forEach((line) => {\n const parts = line.split(': ')\n const header = parts.shift().toLowerCase()\n const value = parts.join(': ')\n headerMap[header] = value\n })\n result.header = headerMap\n result.statusCode = ajax.status\n try {\n // 上传post请求返回数据格式为xml,此处容错\n result.data = responseType === 'blob' ? ajax.response : JSON.parse(ajax.responseText)\n } catch (e) {\n result.data = responseType === 'blob' ? ajax.response : ajax.responseText\n }\n clearTimeout(timer)\n resolve(result)\n }\n }\n if (enableAbort && this.timeout) {\n timer = setTimeout(() => {\n console.warn(this.timeoutMsg)\n ajax.abort()\n }, this.timeout)\n }\n // 处理 payload\n let payload\n if (isFormData(data)) {\n // FormData,不处理\n payload = data\n } else if (headers['content-type'] === 'application/x-www-form-urlencoded') {\n payload = toQueryString(data)\n } else if (body) {\n payload = body\n } else {\n // 其它情况\n payload = data ? JSON.stringify(data) : undefined\n }\n\n if (withCredentials) {\n ajax.withCredentials = true\n }\n ajax.send(payload)\n })\n }\n}\n\nfunction genAdapter() {\n const adapter: SDKAdapterInterface & { type?: 'default' | '' } = {\n type: 'default',\n root: window,\n reqClass: WebRequest,\n wsClass: WebSocket,\n localStorage,\n }\n return adapter\n}\n\nexport { genAdapter, WebRequest }\n","import { StorageInterface, AbstractStorage, SDKAdapterInterface } from '@cloudbase/adapter-interface'\nimport { ICloudbaseCache, ICacheConfig } from '@cloudbase/types/cache'\nimport { KV, Persistence, ICloudbasePlatformInfo } from '@cloudbase/types'\nimport { printWarn } from './util'\nimport { ERRORS, getSdkName } from '../constants'\n\n/**\n * persitence=none时登录态保存在内存中\n */\nclass TcbCacheObject extends AbstractStorage {\n private readonly root: any\n constructor(root: any) {\n super()\n this.root = root\n if (!root.tcbCacheObject) {\n root.tcbCacheObject = {}\n }\n }\n public setItem(key: string, value: any) {\n this.root.tcbCacheObject[key] = value\n }\n public getItem(key: string) {\n return this.root.tcbCacheObject[key]\n }\n public removeItem(key: string) {\n delete this.root.tcbCacheObject[key]\n }\n public clear() {\n delete this.root.tcbCacheObject\n }\n}\n/**\n * 工厂函数\n */\nfunction createStorage(persistence: Persistence, adapter: SDKAdapterInterface): StorageInterface {\n switch (persistence) {\n case 'local':\n if (!adapter.localStorage) {\n printWarn(ERRORS.INVALID_PARAMS, 'localStorage is not supported on current platform')\n // 不支持localstorage的平台降级为none\n return new TcbCacheObject(adapter.root)\n }\n return adapter.localStorage\n case 'none':\n return new TcbCacheObject(adapter.root)\n default:\n if (!adapter.localStorage) {\n printWarn(ERRORS.INVALID_PARAMS, 'localStorage is not supported on current platform')\n // 不支持localstorage的平台降级为none\n return new TcbCacheObject(adapter.root)\n }\n return adapter.localStorage\n }\n}\n\nexport class CloudbaseCache implements ICloudbaseCache {\n public keys: KV<string> = {}\n\n private persistenceTag: Persistence\n private platformInfo: ICloudbasePlatformInfo\n private storage: StorageInterface\n\n constructor(config: ICacheConfig) {\n const { persistence, platformInfo = {}, keys = {} } = config\n this.platformInfo = platformInfo\n if (!this.storage) {\n this.persistenceTag = this.platformInfo.adapter.primaryStorage || persistence\n this.storage = createStorage(this.persistenceTag, this.platformInfo.adapter)\n this.keys = keys\n }\n }\n /**\n * @getter storage模式-同步/异步\n */\n get mode() {\n return this.storage.mode || 'sync'\n }\n get persistence(): Persistence {\n return this.persistenceTag\n }\n\n public setStore(key: string, value: any, version?: any) {\n if (this.mode === 'async') {\n printWarn(ERRORS.INVALID_OPERATION, 'current platform\\'s storage is asynchronous, please use setStoreAsync insteed')\n return\n }\n if (!this.storage) {\n return\n }\n\n try {\n const val = {\n version: version || 'localCachev1',\n content: value,\n }\n this.storage.setItem(key, JSON.stringify(val))\n } catch (e) {\n throw new Error(JSON.stringify({\n code: ERRORS.OPERATION_FAIL,\n msg: `[${getSdkName()}][${ERRORS.OPERATION_FAIL}]setStore failed`,\n info: e,\n }))\n }\n\n return\n }\n public async setStoreAsync(key: string, value: any, version?: any) {\n if (!this.storage) {\n return\n }\n\n try {\n const val = {\n version: version || 'localCachev1',\n content: value,\n }\n await this.storage.setItem(key, JSON.stringify(val))\n } catch (e) {\n return\n }\n\n return\n }\n public getStore(key: string, version?: string) {\n if (this.mode === 'async') {\n printWarn(ERRORS.INVALID_OPERATION, 'current platform\\'s storage is asynchronous, please use getStoreAsync insteed')\n return\n }\n try {\n // 测试用例使用\n if (typeof process !== 'undefined' && process.env?.tcb_token) {\n return process.env.tcb_token\n }\n\n if (!this.storage) {\n return ''\n }\n } catch (e) {\n return ''\n }\n\n version = version || 'localCachev1'\n\n const content = this.storage.getItem(key)\n if (!content) {\n return ''\n }\n\n if (content.indexOf(version) >= 0) {\n const d = JSON.parse(content)\n return d.content\n }\n return ''\n }\n public async getStoreAsync(key: string, version?: string) {\n try {\n // 测试用例使用\n if (typeof process !== 'undefined' && process.env?.tcb_token) {\n return process.env.tcb_token\n }\n\n if (!this.storage) {\n return ''\n }\n } catch (e) {\n return ''\n }\n\n version = version || 'localCachev1'\n\n const content = await this.storage.getItem(key)\n if (!content) {\n return ''\n }\n\n if (content.indexOf(version) >= 0) {\n const d = JSON.parse(content)\n return d.content\n }\n return ''\n }\n public removeStore(key: string) {\n if (this.mode === 'async') {\n printWarn(ERRORS.INVALID_OPERATION, 'current platform\\'s storage is asynchronous, please use removeStoreAsync insteed')\n return\n }\n this.storage.removeItem(key)\n }\n public async removeStoreAsync(key: string) {\n await this.storage.removeItem(key)\n }\n}\n","import { isString, isInstanceOf } from './util'\nimport { Listeners, ICloudbaseEventEmitter } from '@cloudbase/types/events'\n\n\n/**\n * @private\n * @function _addEventListener - 添加监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @param {Listeners} listeners - 已存响应函数集合\n */\nfunction customeAddEventListener(name: string, listener: Function, listeners: Listeners) {\n listeners[name] = listeners[name] || []\n listeners[name].push(listener)\n}\n/**\n * @private\n * @function _removeEventListener - 移除监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @param {Listeners} listeners - 已存响应函数集合\n */\nfunction customRemoveEventListener(name: string, listener: Function, listeners: Listeners) {\n if (listeners?.[name]) {\n const index = listeners[name].indexOf(listener)\n if (index !== -1) {\n listeners[name].splice(index, 1)\n }\n }\n}\ninterface IEvent {\n name: string;\n target: any;\n data: any;\n}\n/**\n * 自定义事件\n * @class CloudbaseEvent\n * @param {string} name - 类型\n * @param {any} data - 数据\n */\nexport class CloudbaseEvent implements IEvent {\n public readonly name: string\n public target: any\n public data: any\n\n constructor(name: string, data: any) {\n this.data = data || null\n this.name = name\n }\n}\n/**\n * 自定义错误事件\n * @class IErrorEvent\n * @extends CloudbaseEvent\n * @param {Error} error - 错误信息对象\n * @param {any} data - 数据\n */\nexport class IErrorEvent extends CloudbaseEvent {\n public readonly error: Error\n constructor(error: Error, data?: any) {\n super('error', { error, data })\n this.error = error\n }\n}\n\n/**\n * @class CloudbaseEventEmitter\n */\nexport class CloudbaseEventEmitter implements ICloudbaseEventEmitter {\n /**\n * @private\n * @readonly\n * @property {Listeners} listeners - 响应函数集合\n * @default `{}`\n */\n private readonly listeners: Listeners = {}\n\n /**\n * @public\n * @method on - 添加监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @return `this`\n */\n public on(name: string, listener: Function): this {\n customeAddEventListener(name, listener, this.listeners)\n return this\n }\n /**\n * @public\n * @method off - 移除监听\n * @param {string} name - event名称\n * @param {Function} listener - 响应函数\n * @return `this`\n */\n public off(name: string, listener: Function): this {\n customRemoveEventListener(name, listener, this.listeners)\n return this\n }\n /**\n * @public\n * @method fire - 触发事件\n * @param {string|CloudbaseEvent} event - event\n * @return `this`\n */\n public fire(event: string | CloudbaseEvent, data?: any): this {\n // 打印错误信息\n if (isInstanceOf(event, IErrorEvent)) {\n console.error((event as IErrorEvent).error)\n return this\n }\n\n const ev: CloudbaseEvent = isString(event) ? new CloudbaseEvent(event as string, data || {}) : event as CloudbaseEvent\n\n const { name } = ev\n\n if (this.listens(name)) {\n ev.target = this\n\n const handlers = this.listeners[name] ? [...this.listeners[name]] : []\n for (const fn of handlers) {\n fn.call(this, ev)\n }\n }\n\n return this\n }\n\n /**\n * @private\n * @method listens - 判断是否监听了name事件\n * @param {string} name - event名称\n * @return `boolean`\n */\n private listens(name: string): boolean {\n return this.listeners[name] && this.listeners[name].length > 0\n }\n}\n\n\nconst eventEmitter = new CloudbaseEventEmitter()\n\nexport function addEventListener(event: string, callback: Function) {\n eventEmitter.on(event, callback)\n}\n\nexport function activateEvent(event: string, data: any = {}) {\n eventEmitter.fire(event, data)\n}\n\nexport function removeEventListener(event: string, callback: Function) {\n eventEmitter.off(event, callback)\n}\n","import { CloudbaseEventEmitter } from './events'\n\nexport const bus = new CloudbaseEventEmitter()\n\nexport const LANG_CHANGE_EVENT = 'lang_change'\n","import { printGroupLog } from '../libs/util'\nimport { IS_DEBUG_MODE } from '../constants'\n\ninterface ICatchErrorsDecoratorOptions {\n mode?: 'sync' | 'async';\n customInfo?: {\n className?: string;\n methodName?: string;\n };\n title?: string;\n messages?: string[];\n}\n// firefox的stack格式与chrome不同\nlet isFirefox = false\nif (typeof navigator !== 'undefined' && navigator.userAgent) {\n isFirefox = navigator.userAgent.indexOf('Firefox') !== -1\n}\n/**\n * decorate在stack中一般都特定的规范\n */\nconst REG_STACK_DECORATE = isFirefox\n ? /(\\.js\\/)?__decorate(\\$\\d+)?<@.*\\d$/\n : /(\\/\\w+\\.js\\.)?__decorate(\\$\\d+)?\\s*\\(.*\\)$/\nconst REG_STACK_LINK = /https?:\\/\\/.+:\\d*\\/.*\\.js:\\d+:\\d+/\n/**\n * debug模式强化日志信息\n * @param options\n */\nexport function catchErrorsDecorator(options: ICatchErrorsDecoratorOptions) {\n const { mode = 'async', customInfo = {}, title, messages = [] } = options\n\n return function (\n target: any,\n methodName: string,\n descriptor: TypedPropertyDescriptor<Function>\n ) {\n // 生产环境禁用\n if (!IS_DEBUG_MODE) {\n return\n }\n const className = customInfo.className || target.constructor.name\n const fnName = customInfo.methodName || methodName\n const fn = descriptor.value\n\n // 被decorator装饰的源码link\n // 在descriptor.value外部此处创建的stack层次可触达源码\n // 而descriptor.value内部有可能由于stack太深无法触达\n const sourceLink = getSourceLink(new Error())\n\n if (mode === 'sync') {\n descriptor.value = function (...args: any[]) {\n // 此处的stack作用主要是为了获取被decorator装饰的源码class和method名称\n const innerErr: any = getRewritedError({\n err: new Error(),\n className,\n methodName: fnName,\n sourceLink,\n })\n try {\n return fn.apply(this, args)\n } catch (err) {\n let failErr = err\n const { message: errMsg, error, error_description: errorDescription } = err\n const logs: any = {\n title: title || `${className}.${fnName} failed`,\n content: [{\n type: 'error',\n body: err,\n }],\n }\n // 只特殊处理SDK业务逻辑抛出的错误-JSON string\n if (errMsg && /^\\{.*\\}$/.test(errMsg)) {\n const msg = JSON.parse(errMsg)\n logs.subtitle = errMsg\n if (msg.code) {\n if (innerErr) {\n innerErr.code = msg.code\n innerErr.msg = msg.msg\n } else {\n err.code = msg.code\n err.message = msg.msg\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n }\n\n // oauth 错误特殊处理\n if (error && errorDescription) {\n logs.subtitle = errorDescription\n if (innerErr) {\n innerErr.code = error\n innerErr.msg = errorDescription\n } else {\n err.code = error\n err.message = errorDescription\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n printGroupLog(logs)\n throw failErr\n }\n }\n } else {\n descriptor.value = async function (...args: any[]) {\n const innerErr: any = getRewritedError({\n err: new Error(),\n className,\n methodName: fnName,\n sourceLink,\n })\n\n try {\n return await fn.apply(this, args)\n } catch (err) {\n let failErr = err\n const { message: errMsg, error, error_description: errorDescription } = err\n const logs: any = {\n title: title || `${className}.${fnName} failed`,\n content: [{\n type: 'error',\n body: err,\n }],\n }\n // 只特殊处理SDK业务逻辑抛出的错误-JSON string\n if (errMsg && /^\\{.*\\}$/.test(errMsg)) {\n const msg = JSON.parse(errMsg)\n logs.subtitle = msg\n if (msg.code) {\n if (innerErr) {\n innerErr.code = msg.code\n innerErr.message = msg.msg\n } else {\n err.code = msg.code\n err.message = msg.msg\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n }\n\n // oauth 错误特殊处理\n if (error && errorDescription) {\n logs.subtitle = errorDescription\n if (innerErr) {\n innerErr.code = error\n innerErr.msg = errorDescription\n } else {\n err.code = error\n err.message = errorDescription\n }\n failErr = innerErr || err\n logs.content = messages.map(msg => ({\n type: 'info',\n body: msg,\n }))\n }\n printGroupLog(logs)\n throw failErr\n }\n }\n }\n }\n}\n\n/**\n * 在原始堆栈中查找装饰器条目并返回源码链接link\n * @param err\n */\nfunction getSourceLink(err: Error) {\n let sourceLink = ''\n const outterErrStacks = err.stack.split('\\n')\n const indexOfDecorator = outterErrStacks.findIndex(str => REG_STACK_DECORATE.test(str))\n\n if (indexOfDecorator !== -1) {\n const match = REG_STACK_LINK.exec(outterErrStacks[indexOfDecorator + 1] || '')\n\n sourceLink = match ? match[0] : ''\n }\n return sourceLink\n}\n\n/**\n * 在原始堆栈中查找装饰器条目,剔除其后的无用堆栈,并将链接替换为源码link\n * @param options\n */\nfunction getRewritedError(options: {\n err: Error;\n className: string;\n methodName: string;\n sourceLink: string;\n}) {\n const { err, className, methodName, sourceLink } = options\n // 找不到源码link返回null,后续逻辑将打印原堆栈信息\n if (!sourceLink) {\n return null\n }\n\n const innerErrStack = err.stack.split('\\n')\n const REG_STACK_INNER_METHOD = isFirefox\n ? /^catchErrorsDecorator\\/<\\/descriptor.value@.*\\d$/\n : new RegExp(`${className}\\\\.descriptor.value\\\\s*\\\\[as\\\\s${methodName}\\\\]\\\\s*\\\\(.*\\\\)$`)\n const REG_STACK_INNER_METHOD_WITHOUT_LINK = isFirefox\n ? /^catchErrorsDecorator\\/<\\/descriptor.value/\n : new RegExp(`${className}\\\\.descriptor.value\\\\s*\\\\[as\\\\s${methodName}\\\\]`)\n const indexOfSource = innerErrStack.findIndex(str => REG_STACK_INNER_METHOD.test(str))\n let innerErr: Error\n if (indexOfSource !== -1) {\n // @ts-ignore\n const realErrStack = innerErrStack.filter((v, i) => i > indexOfSource)\n realErrStack.unshift(innerErrStack[indexOfSource]\n .replace(REG_STACK_INNER_METHOD_WITHOUT_LINK, `${className}.${methodName}`)\n .replace(REG_STACK_LINK, sourceLink))\n innerErr = new Error()\n innerErr.stack = `${isFirefox ? '@debugger' : 'Error'}\\n${realErrStack.join('\\n')}`\n }\n return innerErr\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_jwt_decode_b659f100__[\"default\"] });","import { KV } from '@cloudbase/types'\nimport { ICloudbaseComponent, ICloudbaseHook } from '@cloudbase/types/component'\nimport { constants } from '@cloudbase/utilities'\n\nconst { ERRORS } = constants\n\nconst components: KV<ICloudbaseComponent> = {}\n\nexport function registerComponent(app: any, component: ICloudbaseComponent) {\n const { name, namespace, entity, injectEvents, IIFE = false } = component\n // 不允许重复注册或命名空间重名\n if (components[name] || (namespace && app[namespace])) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_OPERATION,\n msg: `Duplicate component ${name}`,\n }))\n }\n // IIFE类型的组件以app为scope执行entity函数,不挂载到app.prototype上\n if (IIFE) {\n if (!entity || typeof entity !== 'function') {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: 'IIFE component\\'s entity must be a function',\n }))\n }\n entity.call(app)\n }\n\n components[name] = component\n\n if (namespace) {\n (app as any).prototype[namespace] = entity\n } else {\n deepExtend((app as any).prototype, entity)\n }\n if (injectEvents) {\n const { bus, events } = injectEvents\n if (!bus || !events || events.length === 0) {\n return\n }\n const originCallback = (app as any).prototype.fire || function () {}\n if (!(app as any).prototype.events) {\n (app as any).prototype.events = {}\n }\n const originEvents: KV<any> = (app as any).prototype.events || {}\n if (originEvents[name]) {\n (app as any).prototype.events[name].events = [...(app as any).prototype.events[name].events, ...events]\n } else {\n (app as any).prototype.events[name] = { bus, events }\n }\n (app as any).prototype.fire = function (eventName: string, data?: any) {\n originCallback(eventName, data)\n const eventNames = Object.keys(this.events)\n for (const name of eventNames) {\n const { bus, events: eventList } = this.events[name]\n if (eventList.includes(eventName)) {\n bus.fire(eventName, data)\n break\n }\n }\n }\n }\n}\n\nfunction deepExtend(target: any, source: any): KV<any> {\n if (!(source instanceof Object)) {\n return source\n }\n\n switch (source.constructor) {\n case Date: {\n const dateValue = source as Date\n return new Date(dateValue.getTime())\n }\n case Object:\n if (target === undefined) {\n target = {}\n }\n break\n case Array:\n target = []\n break\n default:\n return source\n }\n const sourceKeys = Object.keys(source)\n for (const key of sourceKeys) {\n if (!Object.prototype.hasOwnProperty.call(source, key)) {\n continue\n }\n target[key] = deepExtend(target[key], source[key])\n }\n\n return target\n}\n\nexport function registerHook(app: any, hook: ICloudbaseHook) {\n const { entity, target } = hook\n if (Object.prototype.hasOwnProperty.call(app, target)) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_OPERATION,\n msg: `target:${target} is not exist`,\n }))\n }\n const originMethod = app.prototype[target]\n if (typeof originMethod !== 'function') {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_OPERATION,\n msg: `target:${target} is not a function which is the only type supports hook`,\n }))\n }\n app.prototype[target] = function (...args: any) {\n entity.call(this, ...args)\n return originMethod.call(this, ...args)\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"WxMpWebSocket\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__.WxMpWebSocket, [\"WxRequest\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__.WxRequest, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__[\"default\"], [\"parseQueryString\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__.parseQueryString, [\"wxMpStorage\"]: () => __WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__.wxMpStorage });","import { ICloudbasePlatformInfo } from '@cloudbase/types'\nimport adapterForWxMp, { WxRequest, WxMpWebSocket, wxMpStorage, parseQueryString } from '@cloudbase/adapter-wx_mp'\nimport { IUploadRequestOptions, StorageType } from '@cloudbase/adapter-interface'\n\ndeclare const wx: any\ndeclare const App: any\ndeclare const getApp: any\n\nexport const Platform: ICloudbasePlatformInfo = {}\n\nexport const getWxDefaultAdapter = () => {\n WxRequest.prototype.upload = function (options: IUploadRequestOptions) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this\n return new Promise((resolve) => {\n const { url, file, data, headers } = options\n const fs = wx.getFileSystemManager() // 读取文件 二进制内容\n const task = wx.request({\n url,\n method: options.method,\n header: {\n 'content-type': ' ', // 小程序 content-type 默认为 application/json, 这里一定要强制为 空, 否则签名错误\n ...headers,\n },\n data: fs.readFileSync(file), // 将二进制文件转为字符串直接赋值到 request payload, 不要以 form 的方式传输\n timeout: this._timeout,\n success(res: { statusCode: number; data: unknown }) {\n const result = {\n statusCode: res.statusCode,\n data: res.data || {},\n }\n if (res.statusCode === 200 && data?.success_action_status) {\n result.statusCode = parseInt(data.success_action_status, 10)\n }\n resolve(result)\n },\n fail(err: unknown) {\n resolve(err)\n },\n complete(err: { errMsg: string }) {\n if (!err?.errMsg) {\n return\n }\n if (!self._timeout || self._restrictedMethods.indexOf('upload') === -1) {\n return\n }\n const { errMsg } = err\n if (errMsg === 'request:fail timeout') {\n console.warn(self._timeoutMsg)\n try {\n task.abort()\n } catch (e) {}\n }\n },\n })\n })\n }\n\n function isPlugin() {\n return (\n typeof App === 'undefined'\n && typeof getApp === 'undefined'\n && !wx.onAppHide\n && !wx.offAppHide\n && !wx.onAppShow\n && !wx.offAppShow\n )\n }\n adapterForWxMp.genAdapter = function genAdapter(options) {\n const adapter = {\n root: { globalThis: {} },\n reqClass: WxRequest,\n wsClass: WxMpWebSocket,\n captchaOptions: {\n openURIWithCallback: (_url: string) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { EventBus } = options\n let queryObj: Record<string, string> = {}\n let url = _url\n console.log('openURIWithCallback', _url)\n const matched = _url.match(/^(data:.*?)(\\?[^#\\s]*)?$/)\n if (matched) {\n // eslint-disable-next-line prefer-destructuring\n url = matched[1]\n console.log('openURIWithCallback url', url)\n const search = matched[2]\n if (search) {\n queryObj = parseQueryString(search)\n }\n }\n console.log('openURIWithCallback queryObj', queryObj)\n const { token, ...restQueryObj } = queryObj\n if (/^data:/.test(url) && !token) {\n // 如果是 data: 开头的 URL 且没有 token,则直接返回\n return Promise.reject({\n error: 'invalid_argument',\n error_description: `invalie captcha data: ${_url}`,\n })\n }\n if (!token) {\n return Promise.reject({\n error: 'unimplemented',\n error_description: 'need to impl captcha data',\n })\n }\n return new Promise((resolve) => {\n console.log('wait for captcha...')\n EventBus.$emit('CAPTCHA_DATA_CHANGE', { ...restQueryObj, token, url })\n\n // 监听事件总线,等待验证码数据变化\n EventBus.$once('RESOLVE_CAPTCHA_DATA', (res: { captcha_token: string; expires_in: number }) => {\n resolve(res)\n })\n })\n },\n },\n localStorage: wxMpStorage,\n primaryStorage: StorageType.local,\n getAppSign() {\n const info = wx.getAccountInfoSync()\n if (isPlugin()) {\n // 插件环境返回插件appid\n return info && info.plugin ? info.plugin.appId : ''\n }\n return info && info.miniProgram ? info.miniProgram.appId : ''\n },\n }\n return adapter\n }\n\n return adapterForWxMp\n}\n","import { DATA_VERSION, getSdkVersion, getBaseEndPoint, getEndPointInfo } from '../constants/common'\nimport {\n IRequestOptions,\n SDKRequestInterface,\n ResponseObject,\n IUploadRequestOptions,\n IRequestConfig,\n IFetchOptions,\n} from '@cloudbase/adapter-interface'\nimport { utils, constants, langEvent } from '@cloudbase/utilities'\nimport { EndPointKey, KV } from '@cloudbase/types'\nimport { ICustomReqOpts } from '@cloudbase/types/functions'\nimport {\n IGetAccessTokenResult,\n ICloudbaseRequestConfig,\n IAppendedRequestInfo,\n IRequestBeforeHook,\n} from '@cloudbase/types/request'\nimport { ICloudbaseCache } from '@cloudbase/types/cache'\nimport { getLocalCache } from './cache'\nimport { Platform } from './adapter'\nconst { ERRORS } = constants\nconst { genSeqId, isFormData, formatUrl } = utils\n\n// 下面几种 action 不需要 access token\nconst ACTIONS_WITHOUT_ACCESSTOKEN = [\n 'auth.getJwt',\n 'auth.logout',\n 'auth.signInWithTicket',\n 'auth.signInAnonymously',\n 'auth.signIn',\n 'auth.fetchAccessTokenWithRefreshToken',\n 'auth.signUpWithEmailAndPassword',\n 'auth.activateEndUserMail',\n 'auth.sendPasswordResetEmail',\n 'auth.resetPasswordWithToken',\n 'auth.isUsernameRegistered',\n]\n\nfunction bindHooks(instance: SDKRequestInterface, name: string, hooks: IRequestBeforeHook[]) {\n const originMethod = instance[name]\n instance[name] = function (options: IRequestOptions) {\n const data = {}\n const headers = {}\n hooks.forEach((hook) => {\n const { data: appendedData, headers: appendedHeaders } = hook.call(instance, options)\n Object.assign(data, appendedData)\n Object.assign(headers, appendedHeaders)\n })\n const originData = options.data\n originData\n && (() => {\n if (isFormData(originData)) {\n Object.keys(data).forEach((key) => {\n (originData as FormData).append(key, data[key])\n })\n return\n }\n options.data = {\n ...originData,\n ...data,\n }\n })()\n options.headers = {\n ...(options.headers || {}),\n ...headers,\n }\n return (originMethod as Function).call(instance, options)\n }\n}\nfunction beforeEach(): IAppendedRequestInfo {\n const seqId = genSeqId()\n return {\n data: {\n seqId,\n },\n headers: {\n 'X-SDK-Version': `@cloudbase/js-sdk/${getSdkVersion()}`,\n 'x-seqid': seqId,\n },\n }\n}\nexport interface IGateWayOptions {\n name?: string\n data?: any\n path?: string\n method: string\n header?: {}\n url?: string\n}\nexport interface ICloudbaseRequest {\n post: (options: IRequestOptions) => Promise<ResponseObject>\n upload: (options: IUploadRequestOptions) => Promise<ResponseObject>\n download: (options: IRequestOptions) => Promise<ResponseObject>\n request: (action: string, params: KV<any>, options?: KV<any>) => Promise<ResponseObject>\n send: (action: string, data: KV<any>) => Promise<any>\n fetch: (options: IFetchOptions) => Promise<ResponseObject>\n}\n\n/**\n * @class CloudbaseRequest\n */\nexport class CloudbaseRequest implements ICloudbaseRequest {\n config: ICloudbaseRequestConfig\n private reqClass: SDKRequestInterface\n // 请求失败是否抛出Error\n private throwWhenRequestFail = false\n // 持久化本地存储\n private localCache: ICloudbaseCache\n /**\n * 初始化\n * @param config\n */\n constructor(config: ICloudbaseRequestConfig & { throw?: boolean }) {\n this.config = config\n const reqConfig: IRequestConfig & { auth: ICloudbaseRequestConfig['auth'] } = {\n timeout: this.config.timeout,\n timeoutMsg: `[@cloudbase/js-sdk] 请求在${this.config.timeout / 1000}s内未完成,已中断`,\n restrictedMethods: ['post', 'put'],\n auth: config.auth,\n }\n this.reqClass = new Platform.adapter.reqClass(reqConfig)\n this.throwWhenRequestFail = config.throw || false\n this.localCache = getLocalCache(this.config.env)\n\n if (this.config.endPointMode !== 'GATEWAY') {\n bindHooks(this.reqClass, 'post', [beforeEach])\n bindHooks(this.reqClass, 'upload', [beforeEach])\n bindHooks(this.reqClass, 'download', [beforeEach])\n }\n\n langEvent.bus.on(langEvent.LANG_CHANGE_EVENT, (params) => {\n this.config.i18n = params.data?.i18n || this.config.i18n\n })\n }\n\n public async getAccessToken(token = null) {\n // eslint-disable-next-line eqeqeq\n if (token != null) {\n return token\n }\n const app = this.config._fromApp\n\n if (!app.oauthInstance) {\n throw new Error('you can\\'t request without auth')\n }\n\n const { oauthInstance } = app\n const oauthClient = oauthInstance.oauth2client\n return (await this.getOauthAccessTokenV2(oauthClient)).accessToken\n }\n\n public getDefaultHeaders() {\n return {\n [this.config.i18n?.LANG_HEADER_KEY]: this.config.i18n?.lang,\n 'X-SDK-Version': `@cloudbase/js-sdk/${getSdkVersion()}`,\n }\n }\n\n public async post(options: IRequestOptions, customReqOpts?: ICustomReqOpts): Promise<ResponseObject> {\n const res = await this.reqClass.post({\n ...options,\n headers: { ...options.headers, ...this.getDefaultHeaders() },\n customReqOpts,\n })\n return res\n }\n public async upload(options: IUploadRequestOptions): Promise<ResponseObject> {\n const res = await this.reqClass.upload({ ...options, headers: { ...options.headers, ...this.getDefaultHeaders() } })\n return res\n }\n public async download(options: IRequestOptions): Promise<ResponseObject> {\n const res = await this.reqClass.download({\n ...options,\n headers: { ...options.headers, ...this.getDefaultHeaders() },\n })\n return res\n }\n\n public getBaseEndPoint(endPointKey: EndPointKey = 'CLOUD_API') {\n return getBaseEndPoint(this.config.env, endPointKey)\n }\n\n public async getOauthAccessTokenV2(oauthClient: any): Promise<IGetAccessTokenResult> {\n const validAccessToken = await oauthClient.getAccessToken()\n const credentials = await oauthClient.getCredentials()\n return {\n accessToken: validAccessToken,\n accessTokenExpire: new Date(credentials.expires_at).getTime(),\n }\n }\n\n /* eslint-disable complexity */\n public async request(\n action: string,\n params: KV<any>,\n options?: {\n onUploadProgress?: Function\n pathname?: string\n parse?: boolean\n inQuery?: KV<any>\n search?: string\n defaultQuery?: KV<any>\n headers?: KV<string>\n endPointMode?: 'CLOUD_API' | 'GATEWAY'\n },\n customReqOpts?: ICustomReqOpts,\n ): Promise<ResponseObject> {\n try {\n const tcbTraceKey = `x-tcb-trace_${this.config.env}`\n let contentType = 'application/x-www-form-urlencoded'\n\n const tmpObj: KV<any> = {\n action,\n dataVersion: DATA_VERSION,\n env: this.config.env,\n ...params,\n }\n\n if (ACTIONS_WITHOUT_ACCESSTOKEN.indexOf(action) === -1) {\n const app = this.config._fromApp\n\n if (!app.oauthInstance) {\n throw new Error('you can\\'t request without auth')\n }\n\n const { oauthInstance } = app\n const oauthClient = oauthInstance.oauth2client\n tmpObj.access_token = (await this.getOauthAccessTokenV2(oauthClient)).accessToken\n }\n\n // 拼body和content-type\n let payload\n if (action === 'storage.uploadFile') {\n payload = new FormData()\n Object.keys(payload).forEach((key) => {\n if (Object.prototype.hasOwnProperty.call(payload, key) && payload[key] !== undefined) {\n payload.append(key, tmpObj[key])\n }\n })\n contentType = 'multipart/form-data'\n } else {\n contentType = 'application/json;charset=UTF-8'\n payload = {}\n Object.keys(tmpObj).forEach((key) => {\n if (tmpObj[key] !== undefined) {\n payload[key] = tmpObj[key]\n }\n })\n }\n const opts: any = {\n headers: {\n 'content-type': contentType,\n ...this.getDefaultHeaders(),\n ...options?.headers,\n },\n }\n if (options?.onUploadProgress) {\n opts.onUploadProgress = options.onUploadProgress\n }\n\n if (this.config.region) {\n opts.headers['X-TCB-Region'] = this.config.region\n }\n\n const traceHeader = this.localCache.getStore(tcbTraceKey)\n if (traceHeader) {\n opts.headers['X-TCB-Trace'] = traceHeader\n }\n\n // 发出请求\n // 新的 url 需要携带 env 参数进行 CORS 校验\n // 请求链接支持添加动态 query 参数,方便用户调试定位请求\n const parse = options?.parse !== undefined ? options.parse : params.parse\n const inQuery = options?.inQuery !== undefined ? options.inQuery : params.inQuery\n const search = options?.search !== undefined ? options.search : params.search\n\n let formatQuery: Record<string, any> = {\n ...(options?.defaultQuery || {}),\n env: this.config.env,\n }\n // 尝试解析响应数据为 JSON\n parse && (formatQuery.parse = true)\n inQuery\n && (formatQuery = {\n ...inQuery,\n ...formatQuery,\n })\n\n const endPointMode = options?.endPointMode || this.config.endPointMode || 'CLOUD_API'\n\n const url = getEndPointInfo(this.config.env, endPointMode)\n let BASE_URL = url.baseUrl\n const PROTOCOL = url.protocol\n\n if (endPointMode === 'GATEWAY') {\n if (/^((database)\\.)|(auth\\.wsWebSign)/.test(action)) {\n const url = getEndPointInfo(this.config.env, 'CLOUD_API')\n BASE_URL = `${url.baseUrl.match(/\\/\\/([^/?#]*)/)[0]}/web`\n }\n }\n\n // 生成请求 url\n let newUrl\n if (options.pathname) {\n newUrl = formatUrl(\n PROTOCOL,\n `${getBaseEndPoint(this.config.env, endPointMode)?.replace(/^https?:/, '')}/${options.pathname}`,\n formatQuery,\n )\n } else {\n newUrl = formatUrl(PROTOCOL, BASE_URL, formatQuery)\n }\n\n if (search) {\n newUrl += search\n }\n\n const res: ResponseObject = await this.post(\n {\n url: newUrl,\n data: payload,\n ...opts,\n },\n customReqOpts,\n )\n\n // 保存 trace header\n const resTraceHeader = res.header?.['x-tcb-trace']\n if (resTraceHeader) {\n this.localCache.setStore(tcbTraceKey, resTraceHeader)\n }\n\n if ((Number(res.status) !== 200 && Number(res.statusCode) !== 200) || !res.data) {\n throw new Error('network request error')\n }\n\n return res\n } catch (err) {\n try {\n err.requestId = err.requestId || options?.headers['x-request-id'] || options?.headers['X-Request-Id'] || ''\n } catch (error) {}\n throw err\n }\n }\n\n public async fetch(options: IFetchOptions & { token?: string; withCredentials?: boolean; customReqOpts?: ICustomReqOpts },): Promise<ResponseObject> {\n const { token, headers = {}, withCredentials = true, ...restOptions } = options\n\n const doFetch = async () => {\n const authHeaders: Record<string, string> = {}\n if (withCredentials) {\n authHeaders.Authorization = `Bearer ${await this.getAccessToken(token)}`\n }\n return this.reqClass.fetch({\n headers: {\n // 'Content-Type': 'application/json',\n // 'X-Request-Id': `${utils.generateRequestId()}`,\n // 'X-Request-Timestamp': `${Date.now()}`,\n 'X-SDK-Version': `@cloudbase/js-sdk/${getSdkVersion()}`,\n ...authHeaders,\n ...this.getDefaultHeaders(),\n ...headers,\n },\n ...restOptions,\n })\n }\n\n try {\n const result = await doFetch()\n return result\n } catch (err) {\n try {\n err.requestId = err.requestId || headers['x-request-id'] || headers['X-Request-Id'] || ''\n } catch (error) {}\n if (err?.code === 'ACCESS_TOKEN_EXPIRED') {\n // 如果是因为 token 过期失败,刷 token 后再试一次\n if (typeof this.config?._fromApp?.oauthInstance?.authApi?.refreshTokenForce !== 'function') {\n throw err\n }\n await this.config?._fromApp?.oauthInstance?.authApi?.refreshTokenForce()\n return doFetch()\n }\n // 其他原因向上抛出\n\n throw err\n }\n }\n\n public async send(\n action: string,\n data: KV<any> = {},\n options: KV<any> = {},\n customReqOpts?: ICustomReqOpts,\n ): Promise<any> {\n const response = await this.request(\n action,\n data,\n { ...options, onUploadProgress: data.onUploadProgress },\n customReqOpts,\n )\n\n if (response.data.code && this.throwWhenRequestFail) {\n throw new Error(JSON.stringify({\n code: ERRORS.OPERATION_FAIL,\n msg: `[${response.data.code}] ${response.data.message}`,\n }),)\n }\n\n return response.data\n }\n\n public async gateWay(options: IGateWayOptions, customReqOpts?: ICustomReqOpts) {\n const { url, name, data, path = '', method, header = {} } = options\n\n if ((!name || !path) && !url) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: '[gateWay] invalid function name or path or url',\n }),)\n }\n let jsonData\n try {\n jsonData = data ? JSON.stringify(data) : ''\n } catch (e) {\n throw new Error(JSON.stringify({\n code: ERRORS.INVALID_PARAMS,\n msg: '[gateWay] invalid data',\n }),)\n }\n\n const requestId = utils.generateRequestId()\n const { baseUrl, protocol } = getEndPointInfo(this.config.env, 'GATEWAY')\n let endpoint = `${protocol}${baseUrl}${url || `/${path}/${name}`}`\n\n const isGetAndHead = ['GET', 'HEAD'].includes(method?.toUpperCase?.())\n\n if (isGetAndHead) {\n try {\n let dataParse = {}\n try {\n dataParse = JSON.parse(data as any)\n } catch (error) {\n dataParse = data || {}\n }\n endpoint = `${endpoint}${endpoint.includes('?') ? '&' : '?'}${Object.keys(dataParse)\n .map(key => `${key}=${dataParse[key]}`)\n .join('&')}`\n } catch (error) {\n //\n }\n }\n\n const response = await this.fetch({\n method: method || 'POST',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n 'X-Request-Id': requestId,\n ...header,\n },\n ...(isGetAndHead ? {} : { body: jsonData }),\n url: endpoint,\n customReqOpts,\n })\n\n return { requestId, ...response, data: await response.data }\n }\n}\n\nconst requestMap: KV<CloudbaseRequest> = {}\n\nexport function initRequest(config: ICloudbaseRequestConfig) {\n requestMap[config.env] = new CloudbaseRequest({\n ...config,\n throw: true,\n })\n}\n\nexport function getRequestByEnvId(env: string): CloudbaseRequest {\n return requestMap[env]\n}\n","import { langEvent } from '@cloudbase/utilities'\n\nexport enum LANGS {\n ZH = 'zh-CN',\n EN = 'en-US',\n}\n\nexport const LANG_HEADER_KEY = 'Accept-Language'\n\nexport const langMap = {\n [LANGS.EN]: {\n '请检查调用方式,或前往云开发 AI+ 首页查看文档':\n 'Please check the calling method or visit the AI+ homepage to view the documentation',\n 'AI+ 请求出错,错误码': 'AI+ request error, error code',\n 错误信息: 'error message',\n 未实现: 'not implemented',\n '小程序不支持 wasm 加载': 'wasm loading is not supported in mini programs',\n '小程序不支持动态 js 加载': 'dynamic js loading is not supported in mini programs',\n 请求超时: 'request timeout',\n '缺少 privatelink sdk 地址': 'missing privatelink sdk address',\n },\n}\n\nexport const t = (text: string, lang: LANGS) => langMap[lang]?.[text] || text\n\nconst getLangCacheKey = config => `lang_${config.clientId || config.env}`\n\nexport const i18nProxy = (platform, config) => {\n const cacheKey = getLangCacheKey(config)\n const { localStorage } = platform.adapter || {}\n const lang = config.lang || localStorage?.getItem?.(cacheKey) || LANGS.ZH\n localStorage?.setItem?.(cacheKey, lang)\n\n return new Proxy(\n {\n t: (text: string) => t(text, lang),\n LANG_HEADER_KEY,\n lang,\n },\n {\n get(target, prop) {\n if (prop === 'lang') {\n return localStorage?.getItem?.(cacheKey) || target[prop]\n }\n return target[prop]\n },\n set(target, prop, newValue) {\n if (prop === 'lang' && newValue !== target[prop]) {\n target[prop] = newValue\n target.t = (text: string) => t(text, newValue)\n localStorage?.setItem?.(cacheKey, newValue)\n langEvent.bus.fire(langEvent.LANG_CHANGE_EVENT, { i18n: target })\n }\n\n target[prop] = newValue\n\n return true\n },\n },\n )\n}\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","sdkName","getSdkName","PROTOCOL","ERRORS","INVALID_PARAMS","INVALID_SYNTAX","INVALID_OPERATION","OPERATION_FAIL","NETWORK_ERROR","UNKOWN_ERROR","y","__WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_interface_74717cc6__","AbstractSDKRequest","AbstractStorage","StorageType","x","d","isFormData","val","toString","formatUrl","url","query","urlHasQuery","test","queryString","keys","forEach","concat","encodeURIComponent","printWarn","error","msg","console","warn","parseCaptcha","queryObj","matched","match","search","replace","params","split","item","_a","value","decodeURIComponent","Array","isArray","push","parseQueryString","token","restQueryObj","__rest","error_description","state","captchaData","RUNTIME","WebRequest","_super","config","_this","timeout","timeoutMsg","restrictedMethods","__extends","options","this","request","__assign","method","includes","post","put","upload","data","file","name","headers","reqMethod","toLowerCase","formData","FormData","append","body","download","Promise","responseType","sent","window","URL","createObjectURL","Blob","fileName","pathname","pop","link","document","createElement","href","setAttribute","style","display","appendChild","click","revokeObjectURL","removeChild","resolve","statusCode","tempFilePath","fetch","abortController","AbortController","_b","enableAbort","_c","stream","signal","_timeout","_d","shouldThrowOnError","aborted","abort","addEventListener","timer","setTimeout","Error","then","response","__awaiter","clearTimeout","ok","reject","json","apply","catch","res","_e","text","status","header","String","payload","withCredentials","onUploadProgress","realUrl","ajax","XMLHttpRequest","open","setRequestHeader","onreadystatechange","result","readyState","arr","getAllResponseHeaders","trim","headerMap_1","line","parts","shift","join","JSON","parse","responseText","e","toQueryString","stringify","undefined","send","TcbCacheObject","root","tcbCacheObject","setItem","getItem","removeItem","clear","CloudbaseCache","persistence","platformInfo","storage","persistenceTag","adapter","primaryStorage","localStorage","createStorage","mode","setStore","version","content","code","info","setStoreAsync","getStore","process","tcb_token","indexOf","getStoreAsync","removeStore","removeStoreAsync","CloudbaseEvent","IErrorEvent","CloudbaseEventEmitter","listeners","on","listener","customeAddEventListener","off","index","splice","customRemoveEventListener","fire","event","ev","listens","target","_i","handlers_1","__spreadArray","length","bus","LANG_CHANGE_EVENT","navigator","userAgent","__WEBPACK_EXTERNAL_MODULE_jwt_decode_b659f100__","jwtDecode","constants","components","registerComponent","app","component","namespace","entity","injectEvents","IIFE","deepExtend","events","originCallback_1","eventName","eventNames_1","name_1","bus_1","source","constructor","Date","getTime","sourceKeys_1","__WEBPACK_EXTERNAL_MODULE__cloudbase_adapter_wx_mp_8d967865__","WxMpWebSocket","WxRequest","wxMpStorage","Platform","cache","cacheMap","localCacheMap","initCache","env","userInfoKey","getLocalCache","sdkVersion","getSdkVersion","LOGINTYPE","END_POINT_INFO_ARR","END_POINT_INFO_SEARCH_KEYS","DEFAULT_PROTOCOL","findMatchedInfo","find","targetInfo","filter","searchKey","every","setEndPointInfo","newInfo","protocol","endPointInfo","baseUrl","endPointKey","getEndPointInfo","region","getBaseEndPoint","BASE_URL","utils","ACTIONS_WITHOUT_ACCESSTOKEN","bindHooks","instance","hooks","originMethod","hook","appendedData","appendedHeaders","assign","originData","beforeEach","seqId","Math","random","slice","LANGS","CloudbaseRequest","throwWhenRequestFail","reqConfig","auth","reqClass","throw","localCache","endPointMode","langEvent","i18n","getAccessToken","_fromApp","oauthInstance","oauthClient","oauth2client","getOauthAccessTokenV2","accessToken","getDefaultHeaders","LANG_HEADER_KEY","lang","customReqOpts","validAccessToken","getCredentials","credentials","accessTokenExpire","expires_at","action","tcbTraceKey","contentType","tmpObj_1","dataVersion","access_token","payload_1","opts","traceHeader","inQuery","formatQuery","defaultQuery","url_1","newUrl","resTraceHeader","Number","err_1","requestId","_j","_k","restOptions","doFetch","authHeaders","Authorization","_l","err_2","authApi","refreshTokenForce","_h","_g","_f","message","gateWay","path","jsonData","d2","now","c","r","floor","endpoint","isGetAndHead","toUpperCase","dataParse_1","map","requestMap","langMap","EN","错误信息","未实现","请求超时","t","i18nProxy","platform","cacheKey","clientId","getLangCacheKey","ZH","Proxy","set","newValue","useDefaultAdapter","type","wsClass","WebSocket","runtime","WEB","COMMUNITY_SITE_URL","catchErrorsDecorator","customInfo","title","messages","methodName","descriptor","DEFAULT_INIT_CONFIG","MAX_TIMEOUT","extensionMap","Cloudbase","cloudbaseConfig","authInstance","init","dealNodeAdapterConfig","isInitialized","requestClient","formatTimeout","debug","setRegionLevelEndpoint","intl","setGatewayEndPointWithEnv","initRequest","try2InitAuth","nodeTool","updateConfig","updateLang","registerExtension","ext","invokeExtension","invoke","useAdapters","adapters","adapterList_1","isMatch","genAdapter","registerHook","args","arguments","registerVersion","setSdkVersion","registerSdkName","setUtilitiesSdkName","setSdkName","some","p","registerEndPoint","registerEndPointWithKey","props","getEndPointWithKey","bind","log","__decorate","cloudbase","self","fs","wx","getFileSystemManager","task","readFileSync","success","success_action_status","parseInt","fail","err","complete","errMsg","_restrictedMethods","_timeoutMsg","adapterForWxMp","globalThis","captchaOptions","openURIWithCallback","_url","EventBus","$emit","$once","getAppSign","getAccountInfoSync","App","getApp","onAppHide","offAppHide","onAppShow","offAppShow","miniProgram","appId","plugin"],"sourceRoot":""}