康巴易测肤/伤疤uniapp小程序类
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

397 lines
12KB

  1. export declare interface AppConfig {
  2. registerLoadingPage?: boolean;
  3. loadingPageStyle?: () => object;
  4. loadingPageHook?: (view: any) => void;
  5. launchedHook?: () => void;
  6. animation?: startAnimationRule;
  7. }
  8. export declare interface appletConfig {
  9. animationDuration?: number;
  10. }
  11. export declare function assertDeepObject(object: objectAny): boolean;
  12. export declare function assertNewOptions<T extends InstantiateConfig>(options: T): T | never;
  13. export declare function assertParentChild(parentPath: string, vueVim: any): boolean;
  14. export declare type backTypeRule = 'backbutton' | 'navigateBack';
  15. export declare function baseClone<T extends {
  16. [key: string]: any;
  17. }, K extends keyof T>(source: T, target: Array<any> | objectAny): Array<any> | objectAny | null;
  18. export declare function copyData<T>(object: T): T;
  19. export declare function createRouter(params: InstantiateConfig): Router;
  20. export declare interface debuggerArrayConfig {
  21. error?: boolean;
  22. warn?: boolean;
  23. log?: boolean;
  24. }
  25. export declare type debuggerConfig = boolean | debuggerArrayConfig;
  26. export declare function deepClone<T>(source: T): T;
  27. export declare function deepDecodeQuery(query: objectAny): objectAny;
  28. export declare function def(defObject: objectAny, key: string, getValue: Function): void;
  29. export declare interface endAnimationRule {
  30. animationType?: endAnimationType;
  31. animationDuration?: number;
  32. }
  33. export declare type endAnimationType = 'slide-out-right' | 'slide-out-left' | 'slide-out-top' | 'slide-out-bottom' | 'pop-out' | 'fade-out' | 'zoom-in' | 'zoom-fade-in' | 'none';
  34. export declare function forMatNextToFrom<T extends totalNextRoute>(router: Router, to: T, from: T): {
  35. matTo: T;
  36. matFrom: T;
  37. };
  38. export declare function getDataType<T>(data: T): string;
  39. export declare function getRoutePath(route: RoutesRule, router: Router): {
  40. finallyPath: string | string[];
  41. aliasPath: string;
  42. path: string;
  43. alias: string | string[] | undefined;
  44. };
  45. export declare function getUniCachePage<T extends objectAny>(pageIndex?: number): T | [];
  46. export declare function getWildcardRule(router: Router, msg?: navErrorRule): RoutesRule | never;
  47. export declare type guardHookRule = (to: totalNextRoute, from: totalNextRoute, next: (rule?: navtoRule | false) => void) => void;
  48. export declare interface H5Config {
  49. paramsToQuery?: boolean;
  50. vueRouterDev?: boolean;
  51. vueNext?: boolean;
  52. mode?: string;
  53. base?: string;
  54. linkActiveClass?: string;
  55. linkExactActiveClass?: string;
  56. scrollBehavior?: Function;
  57. fallback?: boolean;
  58. }
  59. export declare interface h5NextRule {
  60. fullPath?: string | undefined;
  61. hash?: string | undefined;
  62. matched?: Array<object>;
  63. meta?: object;
  64. name?: undefined | string;
  65. type?: undefined | string;
  66. }
  67. export declare type hookListRule = Array<(router: Router, to: totalNextRoute, from: totalNextRoute, toRoute: RoutesRule, next: Function) => void>;
  68. export declare interface hookObjectRule {
  69. options: Array<any>;
  70. hook: Function;
  71. }
  72. declare type hookRule = (args: Array<any>, next: (args: Array<any>) => void, router: Router) => void;
  73. export declare enum hookToggle {
  74. 'beforeHooks' = "beforeEach",
  75. 'afterHooks' = "afterEach",
  76. 'enterHooks' = "beforeEnter"
  77. }
  78. export declare interface InstantiateConfig {
  79. [key: string]: any;
  80. keepUniOriginNav?: boolean;
  81. platform: platformRule;
  82. h5?: H5Config;
  83. APP?: AppConfig;
  84. applet?: appletConfig;
  85. beforeProxyHooks?: proxyHooksConfig;
  86. debugger?: debuggerConfig;
  87. routerBeforeEach?: (to: navtoRule, from: navtoRule, next: (rule?: navtoRule | false) => void) => void;
  88. routerAfterEach?: (to: navtoRule, from: navtoRule, next?: Function) => void;
  89. routerErrorEach?: (error: navErrorRule, router: Router) => void;
  90. resolveQuery?: (jsonQuery: objectAny) => objectAny;
  91. parseQuery?: (jsonQuery: objectAny) => objectAny;
  92. detectBeforeLock?: (router: Router, to: string | number | totalNextRoute | navRoute, navType: NAVTYPE) => void;
  93. routes: RoutesRule[];
  94. }
  95. export declare interface LifeCycleConfig {
  96. beforeHooks: hookListRule;
  97. afterHooks: hookListRule;
  98. routerBeforeHooks: hookListRule;
  99. routerAfterHooks: hookListRule;
  100. routerErrorHooks: Array<(error: navErrorRule, router: Router) => void>;
  101. }
  102. export declare function lockDetectWarn(router: Router, to: string | number | totalNextRoute | navRoute, navType: NAVTYPE, next: Function, uniActualData?: uniBackApiRule | uniBackRule | undefined, passiveType?: 'beforeHooks' | 'afterHooks'): void;
  103. export declare function mergeConfig<T extends InstantiateConfig>(baseConfig: T, userConfig: T): T;
  104. export declare interface navErrorRule {
  105. type: navRuleStatus;
  106. msg: string;
  107. to?: totalNextRoute;
  108. from?: totalNextRoute;
  109. nextTo?: any;
  110. [propName: string]: any;
  111. }
  112. export declare type navMethodRule = Promise<void | undefined | navRuleStatus>;
  113. export declare interface navRoute extends h5NextRule, navtoRule {
  114. }
  115. export declare type navRuleStatus = 0 | 1 | 2 | 3;
  116. export declare interface navtoRule {
  117. NAVTYPE?: NAVTYPE;
  118. path?: string;
  119. name?: string | undefined;
  120. query?: objectAny;
  121. params?: objectAny;
  122. animationType?: startAnimationType | endAnimationType;
  123. animationDuration?: number;
  124. events?: objectAny;
  125. success?: Function;
  126. fail?: Function;
  127. complete?: Function;
  128. }
  129. export declare type NAVTYPE = 'push' | 'replace' | 'replaceAll' | 'pushTab' | 'back';
  130. export declare enum navtypeToggle {
  131. 'push' = "navigateTo",
  132. 'replace' = "redirectTo",
  133. 'replaceAll' = "reLaunch",
  134. 'pushTab' = "switchTab",
  135. 'back' = "navigateBack"
  136. }
  137. export declare function notDeepClearNull<T>(object: T): T;
  138. export declare function notRouteTo404(router: Router, toRoute: RoutesRule | {
  139. redirect: any;
  140. path: string;
  141. }, parseToRule: totalNextRoute, navType: NAVTYPE): RoutesRule | totalNextRoute | never;
  142. export declare type objectAny = {
  143. [propName: string]: any;
  144. };
  145. export declare interface originMixins extends uniNavApiRule {
  146. BACKTYPE: '' | backTypeRule;
  147. }
  148. export declare type pageTypeRule = 'app' | 'page' | 'component';
  149. export declare function paramsToQuery(router: Router, toRule: totalNextRoute | string): totalNextRoute | string;
  150. export declare type platformRule = 'h5' | 'app-plus' | 'app-lets' | 'mp-weixin' | 'mp-baidu' | 'mp-alipay' | 'mp-toutiao' | 'mp-qq' | 'mp-360';
  151. export declare type PromiseResolve = (value?: void | PromiseLike<void> | undefined) => void;
  152. export declare type proxyDepsRule = {
  153. resetIndex: Array<number>;
  154. hooks: {
  155. [key: number]: {
  156. proxyHook: () => void;
  157. callHook: (enterPath: string) => void;
  158. resetHook: () => void;
  159. };
  160. };
  161. options: {
  162. [key: number]: Array<any>;
  163. };
  164. };
  165. export declare type proxyHookName = 'beforeHooks' | 'afterHooks';
  166. export declare interface proxyHooksConfig {
  167. onLaunch?: hookRule;
  168. onShow?: hookRule;
  169. onHide?: hookRule;
  170. onError?: hookRule;
  171. onInit?: hookRule;
  172. onLoad?: hookRule;
  173. onReady?: hookRule;
  174. onUnload?: hookRule;
  175. onResize?: hookRule;
  176. destroyed?: hookRule;
  177. created?: hookRule;
  178. beforeCreate?: hookRule;
  179. beforeMount?: hookRule;
  180. mounted?: hookRule;
  181. beforeDestroy?: hookRule;
  182. }
  183. export declare type reloadNavRule = totalNextRoute | false | undefined | string;
  184. export declare function removeSimpleValue(array: Array<string | number>, value: string): Boolean;
  185. export declare type reNavMethodRule = 'navigateTo' | 'redirectTo' | 'reLaunch' | 'switchTab';
  186. export declare type reNotNavMethodRule = 'navigateBack';
  187. export declare function resolveAbsolutePath(path: string, router: Router): string | never;
  188. export declare enum rewriteMethodToggle {
  189. 'navigateTo' = "push",
  190. 'navigate' = "push",
  191. 'redirectTo' = "replace",
  192. 'reLaunch' = "replaceAll",
  193. 'switchTab' = "pushTab",
  194. 'navigateBack' = "back"
  195. }
  196. export declare interface Router {
  197. readonly lifeCycle: LifeCycleConfig;
  198. readonly options: InstantiateConfig;
  199. $lockStatus: boolean;
  200. $route: object | null;
  201. enterPath: string;
  202. runId: number;
  203. Vue: any;
  204. appMain: {
  205. NAVTYPE: reNavMethodRule | reNotNavMethodRule;
  206. path: string;
  207. } | {};
  208. proxyHookDeps: proxyDepsRule;
  209. routesMap: routesMapRule | {};
  210. mount: Array<{
  211. app: any;
  212. el: string;
  213. }>;
  214. install(Vue: any): void;
  215. push(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void;
  216. replace(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void;
  217. replaceAll(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void;
  218. pushTab(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void;
  219. back(level: number | undefined, origin?: uniBackRule | uniBackApiRule): void;
  220. forceGuardEach(navType: NAVTYPE | undefined, forceNav: boolean): void;
  221. beforeEach(userGuard: guardHookRule): void;
  222. afterEach(userGuard: (to: totalNextRoute, from: totalNextRoute) => void): void;
  223. }
  224. export declare function RouterMount(Vim: any, router: Router, el?: string | undefined): void | never;
  225. export declare interface routeRule {
  226. name: string | undefined;
  227. meta: objectAny;
  228. path: string;
  229. query: objectAny;
  230. params: objectAny;
  231. fullPath: string;
  232. NAVTYPE: NAVTYPE | '';
  233. BACKTYPE?: backTypeRule | '';
  234. [propName: string]: any;
  235. }
  236. export declare function routesForMapRoute(router: Router, path: string, mapArrayKey: Array<routesMapKeysRule>, deepFind?: boolean | undefined): RoutesRule | never;
  237. export declare type routesMapKeysRule = 'finallyPathList' | 'finallyPathMap' | 'aliasPathMap' | 'pathMap' | 'nameMap' | 'vueRouteMap';
  238. export declare interface routesMapRule {
  239. [key: string]: any;
  240. finallyPathList: Array<string>;
  241. finallyPathMap: RoutesRule;
  242. aliasPathMap: RoutesRule;
  243. pathMap: RoutesRule;
  244. nameMap: RoutesRule;
  245. vueRouteMap: objectAny;
  246. }
  247. export declare interface RoutesRule {
  248. path: string;
  249. component?: object;
  250. name?: string;
  251. components?: object;
  252. redirect?: string | Function;
  253. props?: boolean | object | Function;
  254. aliasPath?: string;
  255. alias?: string | Array<string>;
  256. children?: Array<RoutesRule>;
  257. beforeEnter?: guardHookRule;
  258. meta?: any;
  259. [propName: string]: any;
  260. }
  261. export declare function runtimeQuit(title?: string | undefined): void;
  262. export declare interface startAnimationRule {
  263. animationType?: startAnimationType;
  264. animationDuration?: number;
  265. }
  266. export declare type startAnimationType = 'slide-in-right' | 'slide-in-left' | 'slide-in-top' | 'slide-in-bottom' | 'pop-in' | 'fade-in' | 'zoom-out' | 'zoom-fade-out' | 'none';
  267. export declare function timeOut(time: number): Promise<void>;
  268. export declare interface totalNextRoute extends h5NextRule, navtoRule {
  269. path: string;
  270. delta?: number;
  271. [propName: string]: any;
  272. }
  273. export declare interface uniBackApiRule {
  274. delta?: number;
  275. animationDuration?: number;
  276. animationType?: endAnimationType;
  277. }
  278. export declare interface uniBackRule {
  279. from: backTypeRule;
  280. }
  281. export declare interface uniNavApiRule {
  282. url: string;
  283. openType?: 'appLaunch';
  284. query?: objectAny;
  285. path?: string;
  286. delta?: number;
  287. detail?: {
  288. [propName: string]: any;
  289. };
  290. animationType?: startAnimationType;
  291. animationDuration?: number;
  292. events?: {
  293. [propName: string]: any;
  294. };
  295. success?: Function;
  296. fail?: Function;
  297. complete?: Function;
  298. animation?: {
  299. animationType?: startAnimationType;
  300. animationDuration?: number;
  301. };
  302. }
  303. export declare function urlToJson(url: string): {
  304. path: string;
  305. query: objectAny;
  306. };
  307. export declare function voidFun(...args: any): void;
  308. export declare type vueHookNameRule = 'onLaunch' | 'onShow' | 'onHide' | 'onError' | 'onInit' | 'onLoad' | 'onReady' | 'onUnload' | 'onResize' | 'created' | 'beforeMount' | 'mounted' | 'beforeDestroy' | 'destroyed';
  309. export declare type vueOptionRule = {
  310. [propName in vueHookNameRule]: Array<Function> | undefined;
  311. };
  312. export { }
  313. // @ts-ignore
  314. declare module 'vue/types/vue' {
  315. interface Vue {
  316. $Router: Router;
  317. $Route: routeRule;
  318. }
  319. }