import type tcb from '@cloudbase/js-sdk'; import { ICallDataSourceParams } from '../common'; import { ISwrOptions } from './swr'; /** * 获取使用云开发环境信息初始化之后 的云开发Cloud对象 * 在微信中为 wx.cloud 初始化后的对象 * 在h5中则为 js-sdk 的 tcb.init 后返回的对象 */ export declare function getCloudInstance(): Promise; /** * 发起数据源请求 */ export declare function callDataSource(originalParams: ICallDataSourceParams): Promise; export interface IGraphqlParams { operationName?: string; query: string; variables?: Record; } /** * 调用数据源 graphql */ export declare function callGraphql(params: IGraphqlParams): Promise; /** * 创建数据源API的 proxy 对象, 可通过 .[dsName].[methodName](params) 调用数据源方法 * @param parseBusinessInfo 是否解析业务信息 */ export declare function createDsApiProxy(parseBusinessInfo?: boolean, customHandler?: (name: string) => any): {}; /** * 调用云函数的参数 */ export interface ICallFunctionParams { /** TCB云函数名称 */ name: string; /** 云函数接收的参数 */ data?: ICloudFnParams; } /** * 数据源生成的云函数入参 * 应当与 packages/node-sdk/src/types.ts 中的 ICloudFnParams 类型一致 */ export interface ICloudFnParams { /** 路由模块名称, 默认 datasource */ mode?: string; /** 调用的数据源名称 */ dataSourceName?: string; /** 调用的方法名称 */ methodName?: string; /** 默认参数 */ defaultParams?: any; /** 方法参数 */ params: any; /** * 调用的环境类型 * pre: 预览环境 * prod: 正式环境 * * 在云开发的环境变量中若无法通过 IS_PREVIEW 当前环境是否为预览, 则使用该参数 */ envType?: 'pre' | 'prod'; /** 请求的微搭后台接入层地址, 可通过设置为 prod/pre 来指定地址 */ wedaTarget?: string; /** 其他额外信息 */ [k: string]: any; } /** 解析云开发云函数调用结果配置 */ export interface ICallFnExtraOptions { /** tcb app 实例, 如果传递, 则直接使用 */ app?: tcb.app.App; /** * 解析 云开发云函数的通用response 包装 * 为true, 则返回 res.result, 此时会丢失 res.requestId 信息 */ unwrapResult?: boolean; /** * 解析业务信息 * 需配合 unwrapResult 使用 * 为 true 时, res.result.code 非 0 抛出错误, 为 0 则返回 res.result.data */ parseBusinessInfo?: boolean; swr?: ISwrOptions; } /** * 调用云开发云函数 */ export declare function callFunction(params: ICallFunctionParams, extraOptions?: ICallFnExtraOptions): Promise;