深色模式
getTemplateView ( 获取模板视图 )
获取模板视图
提示
@smartos-lib/api包中封装的 api 请求方法都是使用@mixte/use的useRequestReactive包装的, 方法返回值及使用方式可以查看 useRequestReactive 文档- 使用 api 请求方法前, 需要先使用
@smartos-lib/core的 setConfigProvider 方法设置发起请求的方法
解决了以下后端已知问题
showControls/appShowControls- 某些情况下, 视图中没有系统字段 ( 默认补全, 支持配置 )
- 某些情况下, 视图中存储的字段或系统字段是小驼峰格式 ( 已转换为下划线格式 )
- 某些情况下, 视图中无字段、视图字段和模板表单字段不一致 ( 已同步字段 )
示例
基础使用
ts
import { getTemplateView } from '@smartos-lib/apis';
// 初始时传入模板 id
const templateView = getTemplateView('1711651576144896000');
templateView.execute();
// 发起请求时传入模板 id
const templateView = getTemplateView(); // 如果初始时也传入了模板 id, 则会被忽略
templateView.execute('1711651576144896000');额外字段: 表单配置
ts
import type { TemplateViewColumnAndConfig } from '@smartos-lib/types';
import { getTemplateView } from '@smartos-lib/apis';
import { useJsonParse } from '@smartos-lib/utils';
const templateView = getTemplateView('1711651576144896000');
templateView.execute().then(() => {
const showControls = useJsonParse<TemplateViewColumnAndConfig[]>(templateView.data!.data[0].showControls, []);
showControls.forEach((item) => {
// 表单配置信息存在这里, 系统字段没有配置, 值为 `undefined`
// 这样就不用再获取一次模板表单了
console.log(item.info);
});
});类型
ts
/**
* 获取模板视图配置项
*/
interface GetTemplateViewOptions {
/**
* 是否包含系统固定字段
* @default true
*/
includeSystemFixedFields?: boolean;
}
/**
* @param templateId 模板 ID
* @param options 配置项
* @param requestOptions 发起请求配置项 ( https://mixte.moomfe.com/mixte/use/useRequest )
*/
function getTemplateView(
templateId?: MaybeRefOrGetter<string>,
options?: GetTemplateViewOptions,
requestOptions?: UseRequestOptions<ResponseData<TemplateView[]>>
): ReturnType<
typeof useRequestReactive<AxiosResponse<ResponseData<TemplateView[]>>>
>;