feat:Add model management mock (#1795)
This commit is contained in:
parent
ab2f9baac2
commit
06b9cd8bfe
|
|
@ -529,4 +529,4 @@
|
|||
"current": 1,
|
||||
"pages": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
{"_id":1,"id":5,"createdBy":"1","lastUpdatedBy":"1","tenantId":null,"renterId":null,"siteId":null,"appId":null,"platformId":1,"nameCn":"员工","nameEn":"staff","version":"1.0.0","modelUrl":"https://agent-alpha.opentiny.design/platform-center/api/model-data","parameters":[{"prop":"id","isModel":false,"type":"Number","required":true,"description":"主键","_RID":"row_1"},{"prop":"name","isModel":false,"type":"String","required":true,"description":"姓名","_RID":"row_2"},{"prop":"status","isModel":false,"type":"Enum","options":"[{\"value\":\"1\",\"label\":\"已转正\"},{\"value\":\"0\",\"label\":\"未转正\"}]","required":true,"description":"状态","_RID":"row_3"},{"prop":"test","type":"String","required":false,"description":"","isModel":false,"_RID":"row_4"}],"method":[{"name":"新增方法","nameEn":"insertApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"params","type":"Object","children":[{"prop":"id","isModel":false,"type":"Number","required":true,"description":"主键"},{"prop":"name","isModel":false,"type":"String","required":true,"description":"姓名"},{"prop":"status","isModel":false,"type":"Enum","options":"[{\"value\":\"1\",\"label\":\"已转正\"},{\"value\":\"0\",\"label\":\"未转正\"}]","required":true,"description":"状态"},{"prop":"test","type":"String","required":false,"description":""}]}],"responseParameters":[{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]},{"name":"修改方法","nameEn":"updateApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"data","type":"Object","children":[{"prop":"id","isModel":false,"type":"Number","required":true,"description":"主键"},{"prop":"name","isModel":false,"type":"String","required":true,"description":"姓名"},{"prop":"status","isModel":false,"type":"Enum","options":"[{\"value\":\"1\",\"label\":\"已转正\"},{\"value\":\"0\",\"label\":\"未转正\"}]","required":true,"description":"状态"},{"prop":"test","type":"String","required":false,"description":""}]},{"prop":"params","type":"Object","children":[{"prop":"id","isModel":false,"type":"Number","required":true,"description":"主键"},{"prop":"name","isModel":false,"type":"String","required":true,"description":"姓名"},{"prop":"status","isModel":false,"type":"Enum","options":"[{\"value\":\"1\",\"label\":\"已转正\"},{\"value\":\"0\",\"label\":\"未转正\"}]","required":true,"description":"状态"},{"prop":"test","type":"String","required":false,"description":""}]}],"responseParameters":[{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]},{"name":"查询方法","nameEn":"queryApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"currentPage","type":"Number"},{"prop":"pageSize","type":"Number"},{"prop":"nameCn","type":"String"},{"prop":"params","type":"Object","children":[{"prop":"id","isModel":false,"type":"Number","required":true,"description":"主键"},{"prop":"name","isModel":false,"type":"String","required":true,"description":"姓名"},{"prop":"status","isModel":false,"type":"Enum","options":"[{\"value\":\"1\",\"label\":\"已转正\"},{\"value\":\"0\",\"label\":\"未转正\"}]","required":true,"description":"状态"},{"prop":"test","type":"String","required":false,"description":""}]}],"responseParameters":[{"prop":"total","type":"Number"},{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]},{"name":"删除方法","nameEn":"deleteApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"id","type":"Number"}],"responseParameters":[{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]}],"description":"1112","created_at":"2026-01-27 10:41:10","updated_at":"2026-01-27 10:41:10"}
|
||||
{"_id":2,"id":6,"createdBy":"11","lastUpdatedBy":"11","tenantId":null,"renterId":null,"siteId":null,"appId":null,"platformId":1,"nameCn":"用户","nameEn":"user","version":"1.0.0","modelUrl":"https://agent-alpha.opentiny.design/platform-center/api","parameters":[{"prop":"name","type":"String","required":false,"description":""},{"prop":"age","type":"Number","required":false,"description":""}],"method":[{"name":"新增方法","nameEn":"insertApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"params","type":"Object","children":[{"prop":"name","type":"String","required":false,"description":""},{"prop":"age","type":"Number","required":false,"description":""}]}],"responseParameters":[{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]},{"name":"修改方法","nameEn":"updateApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"data","type":"Object","children":[{"prop":"name","type":"String","required":false,"description":""},{"prop":"age","type":"Number","required":false,"description":""}]},{"prop":"params","type":"Object","children":[{"prop":"name","type":"String","required":false,"description":""},{"prop":"age","type":"Number","required":false,"description":""}]}],"responseParameters":[{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]},{"name":"查询方法","nameEn":"queryApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"currentPage","type":"Number"},{"prop":"pageSize","type":"Number"},{"prop":"nameCn","type":"String"},{"prop":"params","type":"Object","children":[{"prop":"name","type":"String","required":false,"description":""},{"prop":"age","type":"Number","required":false,"description":""}]}],"responseParameters":[{"prop":"total","type":"Number"},{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]},{"name":"删除方法","nameEn":"deleteApi","requestParameters":[{"prop":"nameEn","type":"String"},{"prop":"id","type":"Number"}],"responseParameters":[{"prop":"code","type":"Number"},{"prop":"message","type":"String"},{"prop":"data","type":"Enum"}]}],"description":"","created_at":"2026-01-29 03:00:21","updated_at":"2026-01-29 03:00:21"}
|
||||
|
|
@ -10,22 +10,51 @@
|
|||
*
|
||||
*/
|
||||
|
||||
import { getResponseData } from '../tool/Common'
|
||||
import modelList from '../assets/json/model.json'
|
||||
import DateStore from '@seald-io/nedb'
|
||||
import { getDatabasePath, getResponseData } from '../tool/Common'
|
||||
|
||||
const defaultModel = {
|
||||
createdBy: '86',
|
||||
lastUpdatedBy: '86',
|
||||
createdBy: '1',
|
||||
lastUpdatedBy: '1',
|
||||
tenantId: null,
|
||||
renterId: null,
|
||||
siteId: null,
|
||||
appId: null,
|
||||
platformId: 1,
|
||||
nameCn: 'test',
|
||||
nameEn: 'test',
|
||||
nameCn: '',
|
||||
nameEn: '',
|
||||
version: '1.0.0',
|
||||
modelUrl: '1',
|
||||
parameters: [],
|
||||
modelUrl: 'https://agent-alpha.opentiny.design/platform-center/api/model-data',
|
||||
parameters: [
|
||||
{
|
||||
prop: 'id',
|
||||
isModel: false,
|
||||
type: 'Number',
|
||||
required: true,
|
||||
description: '主键'
|
||||
},
|
||||
{
|
||||
prop: 'name',
|
||||
isModel: false,
|
||||
type: 'String',
|
||||
required: true,
|
||||
description: '姓名'
|
||||
},
|
||||
{
|
||||
prop: 'status',
|
||||
isModel: false,
|
||||
type: 'Enum',
|
||||
options: '[{"value":"1","label":"已转正"},{"value":"0","label":"未转正"}]',
|
||||
required: true,
|
||||
description: '状态'
|
||||
},
|
||||
{
|
||||
prop: 'test',
|
||||
type: 'String',
|
||||
required: false,
|
||||
description: ''
|
||||
}
|
||||
],
|
||||
method: [
|
||||
{
|
||||
name: '新增方法',
|
||||
|
|
@ -33,13 +62,41 @@ const defaultModel = {
|
|||
requestParameters: [
|
||||
{
|
||||
prop: 'nameEn',
|
||||
type: 'String',
|
||||
children: null
|
||||
type: 'String'
|
||||
},
|
||||
{
|
||||
prop: 'params',
|
||||
type: 'Object',
|
||||
children: []
|
||||
children: [
|
||||
{
|
||||
prop: 'id',
|
||||
isModel: false,
|
||||
type: 'Number',
|
||||
required: true,
|
||||
description: '主键'
|
||||
},
|
||||
{
|
||||
prop: 'name',
|
||||
isModel: false,
|
||||
type: 'String',
|
||||
required: true,
|
||||
description: '姓名'
|
||||
},
|
||||
{
|
||||
prop: 'status',
|
||||
isModel: false,
|
||||
type: 'Enum',
|
||||
options: '[{"value":"1","label":"已转正"},{"value":"0","label":"未转正"}]',
|
||||
required: true,
|
||||
description: '状态'
|
||||
},
|
||||
{
|
||||
prop: 'test',
|
||||
type: 'String',
|
||||
required: false,
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
responseParameters: [
|
||||
|
|
@ -63,18 +120,75 @@ const defaultModel = {
|
|||
requestParameters: [
|
||||
{
|
||||
prop: 'nameEn',
|
||||
type: 'String',
|
||||
children: null
|
||||
type: 'String'
|
||||
},
|
||||
{
|
||||
prop: 'data',
|
||||
type: 'Object',
|
||||
children: []
|
||||
children: [
|
||||
{
|
||||
prop: 'id',
|
||||
isModel: false,
|
||||
type: 'Number',
|
||||
required: true,
|
||||
description: '主键'
|
||||
},
|
||||
{
|
||||
prop: 'name',
|
||||
isModel: false,
|
||||
type: 'String',
|
||||
required: true,
|
||||
description: '姓名'
|
||||
},
|
||||
{
|
||||
prop: 'status',
|
||||
isModel: false,
|
||||
type: 'Enum',
|
||||
options: '[{"value":"1","label":"已转正"},{"value":"0","label":"未转正"}]',
|
||||
required: true,
|
||||
description: '状态'
|
||||
},
|
||||
{
|
||||
prop: 'test',
|
||||
type: 'String',
|
||||
required: false,
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
prop: 'params',
|
||||
type: 'Object',
|
||||
children: []
|
||||
children: [
|
||||
{
|
||||
prop: 'id',
|
||||
isModel: false,
|
||||
type: 'Number',
|
||||
required: true,
|
||||
description: '主键'
|
||||
},
|
||||
{
|
||||
prop: 'name',
|
||||
isModel: false,
|
||||
type: 'String',
|
||||
required: true,
|
||||
description: '姓名'
|
||||
},
|
||||
{
|
||||
prop: 'status',
|
||||
isModel: false,
|
||||
type: 'Enum',
|
||||
options: '[{"value":"1","label":"已转正"},{"value":"0","label":"未转正"}]',
|
||||
required: true,
|
||||
description: '状态'
|
||||
},
|
||||
{
|
||||
prop: 'test',
|
||||
type: 'String',
|
||||
required: false,
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
responseParameters: [
|
||||
|
|
@ -98,28 +212,53 @@ const defaultModel = {
|
|||
requestParameters: [
|
||||
{
|
||||
prop: 'nameEn',
|
||||
type: 'String',
|
||||
children: null
|
||||
type: 'String'
|
||||
},
|
||||
{
|
||||
prop: 'currentPage',
|
||||
type: 'Number',
|
||||
children: null
|
||||
type: 'Number'
|
||||
},
|
||||
{
|
||||
prop: 'pageSize',
|
||||
type: 'Number',
|
||||
children: null
|
||||
type: 'Number'
|
||||
},
|
||||
{
|
||||
prop: 'nameCn',
|
||||
type: 'String',
|
||||
children: null
|
||||
type: 'String'
|
||||
},
|
||||
{
|
||||
prop: 'params',
|
||||
type: 'Object',
|
||||
children: []
|
||||
children: [
|
||||
{
|
||||
prop: 'id',
|
||||
isModel: false,
|
||||
type: 'Number',
|
||||
required: true,
|
||||
description: '主键'
|
||||
},
|
||||
{
|
||||
prop: 'name',
|
||||
isModel: false,
|
||||
type: 'String',
|
||||
required: true,
|
||||
description: '姓名'
|
||||
},
|
||||
{
|
||||
prop: 'status',
|
||||
isModel: false,
|
||||
type: 'Enum',
|
||||
options: '[{"value":"1","label":"已转正"},{"value":"0","label":"未转正"}]',
|
||||
required: true,
|
||||
description: '状态'
|
||||
},
|
||||
{
|
||||
prop: 'test',
|
||||
type: 'String',
|
||||
required: false,
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
responseParameters: [
|
||||
|
|
@ -147,13 +286,11 @@ const defaultModel = {
|
|||
requestParameters: [
|
||||
{
|
||||
prop: 'nameEn',
|
||||
type: 'String',
|
||||
children: null
|
||||
type: 'String'
|
||||
},
|
||||
{
|
||||
prop: 'id',
|
||||
type: 'Number',
|
||||
children: null
|
||||
type: 'Number'
|
||||
}
|
||||
],
|
||||
responseParameters: [
|
||||
|
|
@ -172,49 +309,56 @@ const defaultModel = {
|
|||
]
|
||||
}
|
||||
],
|
||||
description: '',
|
||||
created_at: '2026-01-30 04:34:25',
|
||||
updated_at: '2026-01-30 04:34:25'
|
||||
description: ''
|
||||
}
|
||||
|
||||
export default class AppsService {
|
||||
export default class ModelService {
|
||||
constructor() {
|
||||
this.modelList = modelList
|
||||
this.db = new DateStore({
|
||||
filename: getDatabasePath('model.db'),
|
||||
autoload: true
|
||||
})
|
||||
|
||||
this.db.ensureIndex({
|
||||
fieldName: '_id',
|
||||
unique: true
|
||||
})
|
||||
this.modelList = []
|
||||
}
|
||||
|
||||
async create(params) {
|
||||
let mockId =
|
||||
this.modelList.data.records.length > 0 ? Math.max(...this.modelList.data.records.map((item) => item.id)) + 1 : 3
|
||||
let mockId = this.modelList.length > 0 ? Math.max(...this.modelList.map((item) => item.id)) + 1 : 3
|
||||
const newModel = {
|
||||
...defaultModel,
|
||||
id: mockId++,
|
||||
created_at: new Date().toISOString(),
|
||||
updated_at: new Date().toISOString(),
|
||||
...params
|
||||
}
|
||||
this.modelList.data.records.push(newModel)
|
||||
return getResponseData(newModel)
|
||||
|
||||
this.db.insert(newModel)
|
||||
this.modelList.push(newModel)
|
||||
|
||||
return getResponseData({ records: this.modelList })
|
||||
}
|
||||
|
||||
async delete(id) {
|
||||
this.modelList.data.records = this.modelList.data.records.filter((item) => Number(item.id) !== Number(id))
|
||||
const result = await this.db.findOneAsync({ id: Number(id) })
|
||||
await this.db.removeAsync({ id: Number(id) })
|
||||
|
||||
return getResponseData(this.modelList.data)
|
||||
return getResponseData(result)
|
||||
}
|
||||
|
||||
async list() {
|
||||
return getResponseData(this.modelList.data)
|
||||
this.modelList = await this.db.findAsync()
|
||||
|
||||
return getResponseData({ records: this.modelList })
|
||||
}
|
||||
|
||||
async update(id, params) {
|
||||
const index = this.modelList.data.records.findIndex((item) => Number(item.id) === Number(id))
|
||||
if (index === -1) {
|
||||
return getResponseData({ success: false, message: '未找到应用' })
|
||||
}
|
||||
await this.db.updateAsync({ id: Number(id) }, { $set: params })
|
||||
const result = await this.db.findOneAsync({ id: Number(id) })
|
||||
|
||||
this.modelList.data.records[index] = {
|
||||
...this.modelList.data.records[index],
|
||||
...params
|
||||
}
|
||||
|
||||
return getResponseData(this.modelList.data.records[index])
|
||||
return getResponseData(result)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ export default {
|
|||
.life-cycle-tips {
|
||||
color: var(--te-component-common-text-color-weaken);
|
||||
margin: 4px 0 0;
|
||||
height: 16px;
|
||||
height: 30px;
|
||||
line-height: 16px;
|
||||
}
|
||||
.life-cycle-content-list {
|
||||
|
|
|
|||
|
|
@ -61,8 +61,8 @@
|
|||
</block-event>
|
||||
</div>
|
||||
</tiny-collapse-item>
|
||||
<tiny-collapse-item title="生命周期设置" name="lifeCycle">
|
||||
<div class="life-cycles-container">
|
||||
<tiny-collapse-item class="life-cycles-container" title="生命周期设置" name="lifeCycle">
|
||||
<div>
|
||||
<life-cycles :isPage="false" :bindLifeCycles="state.bindLifeCycles" @bind="bindLifeCycles"></life-cycles>
|
||||
</div>
|
||||
</tiny-collapse-item>
|
||||
|
|
@ -380,4 +380,9 @@ export default {
|
|||
padding: 0 12px 12px;
|
||||
}
|
||||
}
|
||||
.life-cycles-container {
|
||||
:deep(.tiny-collapse-item__content) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -498,4 +498,10 @@ export default {
|
|||
padding: 0 12px 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.input-output {
|
||||
:deep(.tiny-collapse-item__content) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue