API
sdk
version
基座版本
console.log(sdk.version)
userInfo
用户和权限信息
{
permissions: {
//权限信息
all: boolean //是否具有全部权限
page: string[] //具有权限页面 id
widgets: boolean //具有组件权限 id
}
user:{
id:string//用户 id
name:string //用户名称
organizationId:string//组织 id
orignizationDiaplsyName:string // 组织名称
roleIds:Array //角色 id 集合
}
}
request:Request
axios 实例 请求接口使用
类型
type RequestConfig = AxiosRequestConfig & {
silent?: boolean
}
type Request = {
<D = Data>(config?: RequestConfig): Promise<D>
<D = Data>(url: string, config?: RequestConfig): Promise<D>
get<D = Data>(url: string, config?: RequestConfig): Promise<D>
delete<D = Data>(url: string, config?: RequestConfig): Promise<D>
post<D = Data>(url: string, data?: any, config?: RequestConfig): Promise<D>
put<D = Data>(url: string, data?: any, config?: RequestConfig): Promise<D>
} & AxiosInstance
示例
const { request } = sdk
const params = {id : 1 }
request.get('api/v1/xxx', {params})
const { request } = sdk
const data = {id : 1}
request.post('api/v1/xxx',data)
不需要出现 loading 弹窗
const { request } = sdk
const data = { id : 1}
request.post('api/v1/xxx', data, { silent : false})
cms
utils
工具函数
openVariableDialog(option:Object)
打开变量弹窗方法(和内置组件 function-dialog-variate.vue 作用一样) 命令式
示例
import sdk from 'syc-cms'
const { openVariableDialog } = sdk.utils
/**
*
* @param currentVariable 单选时默认选中的数据
* @param isMultiple 是否开启多选 默认false
* @param defaultCheckKey 多选时默认选中的数据列表id
* @param showConfig 是否显示确认并配置下一项按钮
* @param configData 是否显示确认并配置下一项按钮的数据
* @example
* configData = {
* data:[{
* id:xxx,
* name:xxx
* }], //当前数据列表
* currentRow:{
* id:xxx,
* name:xxx
* }, //当前选中项
* key:'id' //根据唯一key值获取对应选中的下标
* variableKey:variableKey,对应获取变量名的key
* }
* @example
* const variable = await openVariableDialog({currentVariable: null})
* console.log(variable.name)
*/
async function open() {
const data = await openVariableDialog({
isMultiple: true,
})
}
importAsyc(module: string)
异步导入 cms 内置组件
示例
导入内置组件: /src/widgets/widget1.setting.vue
<template>
<SettingItem :title="'自定义设置'"> 自定义设置 </SettingItem>
</template>
<script lang="ts" setup>
import sdk from 'syc-cms'
const SettingItem = sdk.importAsync(
'@/views/Project/Pages/Editor/Settings/components/SettingItem.vue'
)
</script>
models
模型指 MVC 中的 M ,是对应用结构的描述,是一系列类