UNPKG

2.62 kBTypeScriptView Raw
1import Taro, { Component } from './index'
2
3declare module './index' {
4 type MessageType = 'info' | 'success' | 'error' | 'warning'
5
6 interface AtMessageOptions {
7 message: string
8 type?: MessageType
9 duration?: number
10 }
11
12 interface RequestParams<T> extends request.Option<T, any> {
13 [propName: string]: any
14 }
15
16 interface Current {
17 app: AppInstance | null
18 router: RouterInfo | null
19 page: PageInstance | null
20 onReady: string
21 onHide: string
22 onShow: string
23 preloadData?: Record<any, any>
24 /**
25 * RN 私有对象navigationRef,用于使用底层接口控制路由
26 */
27 rnNavigationRef?: React.RefObject<any>
28 }
29
30 interface SetGlobalDataPlugin {
31 install (app: any, data: any): void
32 }
33
34 interface TARO_ENV_TYPE {
35 [TaroGeneral.ENV_TYPE.WEAPP]: TaroGeneral.ENV_TYPE.WEAPP
36 [TaroGeneral.ENV_TYPE.WEB]: TaroGeneral.ENV_TYPE.WEB
37 [TaroGeneral.ENV_TYPE.RN]: TaroGeneral.ENV_TYPE.RN
38 [TaroGeneral.ENV_TYPE.SWAN]: TaroGeneral.ENV_TYPE.SWAN
39 [TaroGeneral.ENV_TYPE.ALIPAY]: TaroGeneral.ENV_TYPE.ALIPAY
40 [TaroGeneral.ENV_TYPE.TT]: TaroGeneral.ENV_TYPE.TT
41 [TaroGeneral.ENV_TYPE.QQ]: TaroGeneral.ENV_TYPE.QQ
42 [TaroGeneral.ENV_TYPE.JD]: TaroGeneral.ENV_TYPE.JD
43 }
44
45 interface TaroStatic {
46 Events: {
47 new (): TaroGeneral.Events
48 }
49
50 // eventCenter
51 eventCenter: TaroGeneral.Events
52
53 ENV_TYPE: TARO_ENV_TYPE
54
55 getEnv(): TaroGeneral.ENV_TYPE
56
57 render(component: Component | JSX.Element, element: Element | null): any
58
59 internal_safe_set(...arg: any[]): any
60 internal_safe_get(...arg: any[]): any
61
62 atMessage(options: AtMessageOptions): void
63
64 pxTransform(size: number, designWidth?: number): string
65 initPxTransform(config: { designWidth: number; deviceRatio: TaroGeneral.TDeviceRatio }): void
66
67 /**
68 * 小程序引用插件 JS 接口
69 */
70 requirePlugin(pluginName: string): any
71
72 setIsUsingDiff (flag: boolean)
73
74 Current: Current
75
76 getCurrentInstance(): Current
77
78 /**
79 * @desc Vue3 插件,用于设置 `getApp()` 中的全局变量
80 * @example
81 * ```js
82 * // 使用插件
83 * const App = createApp(...)
84 * App.use(setGlobalDataPlugin, {
85 * xxx: 999
86 * })
87 * // 获取全局变量
88 * Taro.getApp().xxx
89 * ```
90 */
91 setGlobalDataPlugin: SetGlobalDataPlugin
92
93 /**
94 * @supported weapp
95 * @desc 获取自定义 TabBar 对应的 React 或 Vue 组件实例
96 * @param page 小程序页面对象,可以通过 Taro.getCurrentInstance().page 获取
97 */
98 getTabBar<T>(page: Current['page']): T | undefined
99 }
100}