Skip to content

@vtj


@vtj / renderer / Provider

Class: Provider

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

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

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

Extends

  • Base

Constructors

Constructor

new Provider(options): Provider

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

创建Provider实例

Parameters

options

ProviderOptions

配置选项

Returns

Provider

Overrides

Base.constructor

Properties

adapter

adapter: ProvideAdapter

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


apis

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

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


components

components: Record<string, any>

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


dependencies

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

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


globals

globals: Record<string, any>

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


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:47


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:46


mode

mode: ContextMode

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


modules

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

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


nodeEnv

nodeEnv: NodeEnv

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


options

options: ProviderOptions

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


project

project: null | ProjectSchema

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


service

service: Service

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

Methods

createDslRenderer()

createDslRenderer(dsl, opts?): object

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

创建 DSL 渲染器

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

Parameters

dsl

BlockSchema

区块 DSL 配置

opts?

Partial<CreateRendererOptions>

渲染选项

Returns

object

渲染器实例

context

context: Context

renderer

renderer: any


createMock()

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

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

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:132

定义基于插件的异步组件

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

Parameters

from

NodeFromPlugin

插件来源配置

Returns

any

Vue异步组件


defineUrlSchemaComponent()

defineUrlSchemaComponent(url, name?): any

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

定义基于URL的异步组件

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

Parameters

url

string

DSL配置URL

name?

string

可选的自定义组件名称

Returns

any

Vue异步组件


getDsl()

getDsl(id): Promise<null | BlockSchema>

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

Parameters

id

string

Returns

Promise<null | BlockSchema>


getDslByUrl()

getDslByUrl(url): Promise<null | BlockSchema>

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

Parameters

url

string

Returns

Promise<null | BlockSchema>


getFile()

getFile(id): null | PageFile | BlockFile

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

Parameters

id

string

Returns

null | PageFile | BlockFile


getHomepage()

getHomepage(): null | PageFile

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

Returns

null | PageFile


getPage()

getPage(id): null | PageFile

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

Parameters

id

string

Returns

null | PageFile


getRenderComponent()

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

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

获取渲染组件

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

Parameters

id

string

文件ID

output?

(file) => void

找到文件时的回调函数

Returns

Promise<any>

Promise<Vue组件>


initMock()

initMock(global?): void

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

Parameters

global?

any

Returns

void


install()

install(app): void

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

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:70

加载项目配置并初始化

  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


triggerReady()

protected triggerReady(): void

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

Returns

void

Inherited from

Base.triggerReady

Released under the MIT License.