Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion mockServer/src/assets/json/model.json
Original file line number Diff line number Diff line change
Expand Up @@ -529,4 +529,4 @@
"current": 1,
"pages": 1
}
}
}
2 changes: 2 additions & 0 deletions mockServer/src/database/model.db
Original file line number Diff line number Diff line change
@@ -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"}
244 changes: 194 additions & 50 deletions mockServer/src/services/model.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,93 @@
*
*/

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: '新增方法',
nameEn: 'insertApi',
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: [
Expand All @@ -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: [
Expand All @@ -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: [
Expand Down Expand Up @@ -147,13 +286,11 @@ const defaultModel = {
requestParameters: [
{
prop: 'nameEn',
type: 'String',
children: null
type: 'String'
},
{
prop: 'id',
type: 'Number',
children: null
type: 'Number'
}
],
responseParameters: [
Expand All @@ -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: '未找到应用' })
}

this.modelList.data.records[index] = {
...this.modelList.data.records[index],
...params
}
await this.db.updateAsync({ id: Number(id) }, { $set: params })
const result = await this.db.findOneAsync({ id: Number(id) })

return getResponseData(this.modelList.data.records[index])
return getResponseData(result)
}
}
2 changes: 1 addition & 1 deletion packages/common/component/LifeCycles.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
9 changes: 7 additions & 2 deletions packages/plugins/block/src/BlockSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -380,4 +380,9 @@ export default {
padding: 0 12px 12px;
}
}
.life-cycles-container {
:deep(.tiny-collapse-item__content) {
margin-bottom: 4px;
}
}
</style>
6 changes: 6 additions & 0 deletions packages/plugins/page/src/PageSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -498,4 +498,10 @@ export default {
padding: 0 12px 12px;
}
}

.input-output {
:deep(.tiny-collapse-item__content) {
margin-bottom: 4px;
}
}
</style>
Loading