本节介绍了开发VPA卡片时的数据模型及redux结构。
本节主要介绍卡片Props的数据结构,以及每个字段的含义。
interface CardProps {
/*
步骤
1 代表远程组件
1.1 代表当前处于本地开发模式
1.11 代表在本地开发模式中找到了该 vpaUIResourceID 对应的组件,加载本地组件
1.12 代表在本地开发模式中没有找到该 vpaUIResourceID 对应的组件,加载远程组件
1.2 代表生产模式下,直接检查和加载远程组件
2 代表系统组件,直接加载
*/
step?: number
/*
卡片的详细数据
可能包含text、title、showData、componentType、keyword等字段。卡片类型不同,所包含的内容不同
*/
data?: any
id?: string // 卡片唯一标识
modelID?: React.Component<{}, {}, any> | string | number // 卡片modelID
useLocalDevCard ?: any // 本地开发卡片的名称
vpaUIResourceID ?: any // 远程组件ID
}
本节主要介绍项目中的 redux 结构提供了哪些 action 供开发者调用,以及每个 action 的作用。
在页面中使用action的方式:
import { dispatch } from '../../redux/store'
import settingSlice from '../../redux/msgListSlice'
dispatch(settingSlice.actions.setVoice('on'))
VOICE_ON_KEY
: 语音开关LONG_PRESS_TO_SPEAK_KEY
: 长按收音开关APP_CURRENT_THEME_KEY
: 应用颜色模式APP_THEME
: 应用颜色AUTO_RECORD_KEY
: 自动收音开关 (已弃用)已打开
状态已打开
状态interface CardWrapperProps {
id: string
data: {
modelID: modelIDType
data?: any
text?: string
vpaUIResourceID?: string
$nextTick?: string
}
modelID?: React.Component | string | number
forceRemote?: boolean
}