diff --git a/apps/designer/src/service/index.ts b/apps/designer/src/service/index.ts index efa099a..34e4448 100644 --- a/apps/designer/src/service/index.ts +++ b/apps/designer/src/service/index.ts @@ -12,13 +12,22 @@ import { } from '@vtj/core'; import { Storage, mapToObject } from '@vtj/utils'; import { BaseService } from '@vtj/renderer'; -import { getProject } from '@/io'; +import { getProject, updateProject } from '@/io'; const storage = new Storage({ type: 'local', expired: 0 // prefix: '__VTJ_' }); +const stringifyFields = [ + 'config', + 'pages', + 'dependencies', + 'blocks', + 'apis', + 'meta' +]; + export class StorageService extends BaseService { public async init(project: ProjectSchema): Promise { // console.log('init-project', project); @@ -29,8 +38,9 @@ export class StorageService extends BaseService { // const dsl = Object.assign(model.toDsl(), match || {}); // console.log('init-project-dsl', dsl); // storage.save(`project_${model.id}`, dsl); - - const remoteProject = await getProject(3); + // return Promise.resolve(dsl); + const remoteProject = await getProject('2'); + console.log('remoteProject', remoteProject); const model = new ProjectModel(remoteProject); const dsl = model.toDsl(); console.log('dsl', dsl); @@ -45,6 +55,17 @@ export class StorageService extends BaseService { } public saveProject(project: ProjectSchema): Promise { + console.log('saveProject', project); + const newProject = { + ...project, + ...Object.fromEntries( + Object.entries(project) + .filter(([key]) => stringifyFields.includes(key)) + .map(([key, value]) => [key, JSON.stringify(value)]) + ) + }; + console.log('newProject', newProject); + updateProject('2', newProject); const model = new ProjectModel(project); storage.save(`project_${model.id}`, model.toDsl()); return Promise.resolve(true); diff --git a/apps/platform/src/router/routes/modules/index.ts b/apps/platform/src/router/routes/modules/index.ts index c46a612..ec4d679 100644 --- a/apps/platform/src/router/routes/modules/index.ts +++ b/apps/platform/src/router/routes/modules/index.ts @@ -3,5 +3,5 @@ import user from './user'; import micro from './micro'; import application from './application'; import project from './project'; - -export default [...dashboard, ...user, ...micro, ...application, ...project]; +import staticFile from './static-file'; +export default [...dashboard, ...user, ...micro, ...application, ...project, ...staticFile]; diff --git a/apps/platform/src/router/routes/modules/static-file.ts b/apps/platform/src/router/routes/modules/static-file.ts new file mode 100644 index 0000000..9c0086f --- /dev/null +++ b/apps/platform/src/router/routes/modules/static-file.ts @@ -0,0 +1,36 @@ +import type { RouteRecordRaw } from 'vue-router'; + +// 微前端路由 +const moduleName = 'static-file'; + +const routes: Array = [ + { + path: '/static-file', + name: moduleName, + meta: { + title: '静态文件管理', + icon: 'ant-design:file-outlined', + }, + children: [ + { + path: 'list', + name: `${moduleName}-list`, + meta: { + title: '静态文件列表', + keepAlive: true, + icon: 'ant-design:list', + app: { + url: 'https://localhost:10010', + name: 'low-code-platform-application-list', + sync: true, + alive: true, + degrade: true, + }, + }, + component: () => import('@/components/renderer-adapter/index.vue'), + }, + ], + }, +]; + +export default routes; diff --git a/apps/platform/src/views/login/index.vue b/apps/platform/src/views/login/index.vue index 092f900..6385f5d 100644 --- a/apps/platform/src/views/login/index.vue +++ b/apps/platform/src/views/login/index.vue @@ -1,156 +1,8 @@ - +