Skip to content

@vtj


@vtj / renderer / Provider

Class: Provider ​

Defined in: packages/renderer/types/provider/provider.d.ts:43

Provider 类是应用的核心提供者,负责:

  • 管理项目配置和状态
  • 加载依赖和资源
  • 初始化路由
  • 提供全局API和服务

Extends ​

  • Base

Constructors ​

Constructor ​

new Provider(options): Provider

Defined in: packages/renderer/types/provider/provider.d.ts:69

创建Provider实例

Parameters ​

options ​

ProviderOptions

配置选项

Returns ​

Provider

Overrides ​

Base.constructor

Properties ​

adapter ​

adapter: ProvideAdapter

Defined in: packages/renderer/types/provider/provider.d.ts:48


apis ​

apis: Record<string, (...args) => Promise<any>>

Defined in: packages/renderer/types/provider/provider.d.ts:49


components ​

components: Record<string, any>

Defined in: packages/renderer/types/provider/provider.d.ts:57


dependencies ​

dependencies: Record<string, () => Promise<any>>

Defined in: packages/renderer/types/provider/provider.d.ts:50


env ​

env: Record<string, string>

Defined in: packages/renderer/types/provider/provider.d.ts:59


errorHandler ​

errorHandler: (err) => void | null

Defined in: packages/renderer/types/provider/provider.d.ts:63


globals ​

globals: Record<string, any>

Defined in: packages/renderer/types/provider/provider.d.ts:46


initialization ​

initialization: Promise<Provider>

Defined in: packages/renderer/types/provider/provider.d.ts:64


isReady ​

isReady: boolean

Defined in: packages/core/types/models/base.d.ts:3

Inherited from ​

Base.isReady


library ​

library: Record<string, any>

Defined in: packages/renderer/types/provider/provider.d.ts:52


libraryLocaleMap ​

libraryLocaleMap: Record<string, string>

Defined in: packages/renderer/types/provider/provider.d.ts:54


libraryLocales ​

libraryLocales: Record<string, any>

Defined in: packages/renderer/types/provider/provider.d.ts:53


listeners ​

protected listeners: () => void[]

Defined in: packages/core/types/models/base.d.ts:2

Returns ​

void

Inherited from ​

Base.listeners


materials ​

materials: Record<string, () => Promise<any>>

Defined in: packages/renderer/types/provider/provider.d.ts:51


mode ​

mode: ContextMode

Defined in: packages/renderer/types/provider/provider.d.ts:45


modules ​

modules: Record<string, () => Promise<any>>

Defined in: packages/renderer/types/provider/provider.d.ts:47


nodeEnv ​

nodeEnv: NodeEnv

Defined in: packages/renderer/types/provider/provider.d.ts:58


options ​

options: ProviderOptions

Defined in: packages/renderer/types/provider/provider.d.ts:44


project ​

project: ProjectSchema | null

Defined in: packages/renderer/types/provider/provider.d.ts:56


service ​

service: Service

Defined in: packages/renderer/types/provider/provider.d.ts:55

Methods ​

createDslRenderer() ​

createDslRenderer(dsl, opts?): object

Defined in: packages/renderer/types/provider/provider.d.ts:114

创建 DSL 渲染器

  1. 合并默认选项和自定义选项
  2. 创建 DSL 加载器
  3. 返回渲染器实例

Parameters ​

dsl ​

BlockSchema

区块 DSL 配置

opts? ​

Partial<CreateRendererOptions>

渲染选项

Returns ​

object

渲染器实例

context ​

context: Context

loader ​

loader: BlockLoader | undefined

renderer ​

renderer: any


createMock() ​

createMock(func): (...args) => Promise<any>

Defined in: packages/renderer/types/provider/provider.d.ts:70

Parameters ​

func ​

(...args) => any

Returns ​

(...args): Promise<any>

Parameters ​
args ​

...any[]

Returns ​

Promise<any>


definePluginComponent() ​

definePluginComponent(from): any

Defined in: packages/renderer/types/provider/provider.d.ts:147

定义基于插件的异步组件

  1. 根据插件来源获取插件实例
  2. 返回插件组件

Parameters ​

from ​

NodeFromPlugin

插件来源配置

Returns ​

any

Vue异步组件


defineUrlSchemaComponent() ​

defineUrlSchemaComponent(url, name?): any

Defined in: packages/renderer/types/provider/provider.d.ts:139

定义基于URL的异步组件

  1. 根据URL获取DSL配置
  2. 如果获取成功,设置组件名称
  3. 创建并返回DSL渲染器

Parameters ​

url ​

string

DSL配置URL

name? ​

string

可选的自定义组件名称

Returns ​

any

Vue异步组件


getDsl() ​

getDsl(id): Promise<BlockSchema | null>

Defined in: packages/renderer/types/provider/provider.d.ts:103

Parameters ​

id ​

string

Returns ​

Promise<BlockSchema | null>


getDslByUrl() ​

getDslByUrl(url): Promise<BlockSchema | null>

Defined in: packages/renderer/types/provider/provider.d.ts:104

Parameters ​

url ​

string

Returns ​

Promise<BlockSchema | null>


getFile() ​

getFile(id): PageFile | BlockFile | null

Defined in: packages/renderer/types/provider/provider.d.ts:98

Parameters ​

id ​

string

Returns ​

PageFile | BlockFile | null


getFirstPage() ​

getFirstPage(): PageFile | null

Defined in: packages/renderer/types/provider/provider.d.ts:100

Returns ​

PageFile | null


getHomepage() ​

getHomepage(): PageFile | null

Defined in: packages/renderer/types/provider/provider.d.ts:102

Returns ​

PageFile | null


getMenus() ​

getMenus(name?, prefix?): RendererMenuDataItem[]

Defined in: packages/renderer/types/provider/provider.d.ts:101

Parameters ​

name? ​

string

prefix? ​

string

Returns ​

RendererMenuDataItem[]


getPage() ​

getPage(id): PageFile | null

Defined in: packages/renderer/types/provider/provider.d.ts:99

Parameters ​

id ​

string

Returns ​

PageFile | null


getRenderComponent() ​

getRenderComponent(id, output?): Promise<any>

Defined in: packages/renderer/types/provider/provider.d.ts:129

获取渲染组件

  1. 根据ID查找文件(页面或区块)
  2. 如果找到文件且提供了output回调,则调用它
  3. 尝试从模块缓存加载原始Vue组件
  4. 如果找不到原始组件,则获取DSL并创建渲染器

Parameters ​

id ​

string

文件ID

output? ​

(file) => void

找到文件时的回调函数

Returns ​

Promise<any>

Promise<Vue组件>


initEnv() ​

initEnv(envConfig?): void

Defined in: packages/renderer/types/provider/provider.d.ts:155

Parameters ​

envConfig? ​

EnvConfig[]

Returns ​

void


initGlobals() ​

initGlobals(globals, options): void

Defined in: packages/renderer/types/provider/provider.d.ts:153

设置应用全局

Parameters ​

globals ​

GlobalConfig

options ​

Partial<InitGlobalsOptions>

Returns ​

void


initI18n() ​

initI18n(app, libs, i18n?): void

Defined in: packages/renderer/types/provider/provider.d.ts:154

Parameters ​

app ​

App

libs ​

Record<string, any>

i18n? ​

I18nConfig

Returns ​

void


initMock() ​

initMock(global?): void

Defined in: packages/renderer/types/provider/provider.d.ts:81

Parameters ​

global? ​

any

Returns ​

void


install() ​

install(app): void

Defined in: packages/renderer/types/provider/provider.d.ts:96

Vue 插件安装方法

  1. 安装所有第三方库插件
  2. 执行自定义安装函数(如果提供)
  3. 安装访问适配器
  4. 提供全局 Provider 实例
  5. 设计模式下设置错误处理器
  6. 执行增强函数(如果提供)

Parameters ​

app ​

App

Vue 应用实例

Returns ​

void


load() ​

load(project): Promise<void>

Defined in: packages/renderer/types/provider/provider.d.ts:80

加载项目配置并初始化

  1. 从模块或服务加载项目配置
  2. 根据运行模式加载依赖或资源
  3. 初始化Mock数据
  4. 创建API接口
  5. 初始化路由(非uniapp平台)

Parameters ​

project ​

ProjectSchema

项目配置

Returns ​

Promise<void>


ready() ​

ready(callback): void

Defined in: packages/core/types/models/base.d.ts:5

Parameters ​

callback ​

() => void

Returns ​

void

Inherited from ​

Base.ready


resetReady() ​

resetReady(): void

Defined in: packages/core/types/models/base.d.ts:6

Returns ​

void

Inherited from ​

Base.resetReady


setGlobals() ​

setGlobals(globals?): void

Defined in: packages/renderer/types/provider/provider.d.ts:97

Parameters ​

globals? ​

Record<string, any>

Returns ​

void


triggerReady() ​

protected triggerReady(): void

Defined in: packages/core/types/models/base.d.ts:4

Returns ​

void

Inherited from ​

Base.triggerReady