import Vue, { Component } from "vue"; import RouterConfigure from "./configure/router/index"; import HttpConfigure from "./configure/http/index"; import StoreConfigure from "./configure/store/index"; import TipsConfigure from "./configure/tips"; import LinkConfigure from "./configure/link"; import VueRouter from "vue-router"; import { Store } from "vuex"; import MappingConfigure from "./configure/mapping/mapping"; import { AxiosInstance } from "axios"; import { UploadSetting } from './extend/upload/props'; export declare type InstanceResult = { vue?: Vue; router?: VueRouter; http?: AxiosInstance; store?: Store>; }; export default class JBootOptions { private _version; private _instance; private _routerConfig?; private _httpConfigure?; private _storeConfigure?; private _tipsConfigure?; private _componentDir?; private _i18nInstance?; constructor(); /** * 检查框架版本要求 * @param version 要校验的版本 */ checkVersion(version?: string): JBootOptions; /** * 设置loading的index值 * @param zIndex */ loadingZIndex(zIndex?: number): JBootOptions; /** * 是否自动添加loading的配置项 * @param autoAdd */ autoAddLoading(autoAdd?: boolean): JBootOptions; /** * 引入外部css/js文件 * @param func */ link(func: (config: LinkConfigure) => void): JBootOptions; /** * 配置自定义wrap上下文 * @param wrapDir */ wrap(wrapDir: RequireContext): JBootOptions; /** * 注册全局组件 * @param componentDir */ components(componentDir: RequireContext): JBootOptions; /** * 扩展方法 * @param methodMap */ methods(methodMap?: Dictionary<((this: Vue) => any)>): JBootOptions; /** * 扩展指令 * @param directiveMap */ directives(directiveMap?: Dictionary<((this: Vue) => any)>): JBootOptions; /** * 扩展过滤器 * @param filterMap */ filters(filterMap?: Dictionary<((this: Vue) => any)>): JBootOptions; /** * 安装插件 * @param plugin * @param options */ install(plugin: any, options?: Dictionary): JBootOptions; /** * 配置路由 * @param func */ router(func: (config: RouterConfigure) => void): JBootOptions; /** * 配置http * @param func */ http(func: (config: HttpConfigure) => void): JBootOptions; /** * 配置vuex * @param func */ store(func?: (config: StoreConfigure) => void): JBootOptions; /** * 配置国际化 * @param i18nOptions */ i18n(i18nOptions: Dictionary): JBootOptions; /** * 配置上传组件 * @param uploadOptions */ upload(uploadOptions: UploadSetting): JBootOptions; /** * 全局映射配置 * @param func */ mappings(func: (mapping: MappingConfigure) => void): JBootOptions; /** * 配置全局提醒 * @param func */ tips(func: (config: TipsConfigure) => void): JBootOptions; /** * 挂载根实例 * @param rootFile */ build(rootFile?: Component): Promise; getInstance(): InstanceResult; }