feat: 升级依赖版本
parent
4eab238712
commit
3fede86baa
33
package.json
33
package.json
|
|
@ -12,37 +12,40 @@
|
|||
"release": "release-it --config ./scripts/release/index.cjs"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@arco-design/web-vue": "^2.44.4",
|
||||
"@iconify-json/icon-park-outline": "^1.1.10",
|
||||
"@apidevtools/swagger-parser": "^10.1.0",
|
||||
"@arco-design/web-vue": "^2.51.1",
|
||||
"@iconify-json/icon-park-outline": "^1.1.12",
|
||||
"@release-it/conventional-changelog": "^5.1.1",
|
||||
"@types/lodash-es": "^4.17.7",
|
||||
"@types/ejs": "^3.1.2",
|
||||
"@types/lodash-es": "^4.17.9",
|
||||
"@types/nprogress": "^0.2.0",
|
||||
"@vitejs/plugin-vue": "^4.0.0",
|
||||
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
||||
"@vitejs/plugin-vue": "^4.3.4",
|
||||
"@vitejs/plugin-vue-jsx": "^3.0.2",
|
||||
"@vueuse/core": "^9.13.0",
|
||||
"axios": "^1.3.6",
|
||||
"dayjs": "^1.11.7",
|
||||
"less": "^4.1.3",
|
||||
"axios": "^1.5.0",
|
||||
"dayjs": "^1.11.9",
|
||||
"ejs": "^3.1.9",
|
||||
"less": "^4.2.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"nprogress": "^0.2.0",
|
||||
"numeral": "^2.0.6",
|
||||
"pinia": "^2.1.6",
|
||||
"pinia-plugin-persistedstate": "^3.2.0",
|
||||
"plop": "^3.1.2",
|
||||
"release-it": "^15.10.1",
|
||||
"release-it": "^15.11.0",
|
||||
"swagger-typescript-api": "^12.0.4",
|
||||
"tsx": "^3.12.6",
|
||||
"typescript": "^4.6.4",
|
||||
"unocss": "^0.49.4",
|
||||
"tsx": "^3.12.9",
|
||||
"typescript": "^4.9.5",
|
||||
"unocss": "^0.49.8",
|
||||
"unplugin-auto-import": "^0.13.0",
|
||||
"unplugin-vue-components": "^0.23.0",
|
||||
"vite": "^4.3.9",
|
||||
"vite": "^4.4.9",
|
||||
"vite-plugin-mock": "^3.0.0",
|
||||
"vite-plugin-pages": "^0.28.0",
|
||||
"vite-plugin-style-import": "^2.0.0",
|
||||
"vitepress": "1.0.0-beta.1",
|
||||
"vue": "^3.3.4",
|
||||
"vue-router": "^4.1.6",
|
||||
"vue-tsc": "^1.0.9"
|
||||
"vue-router": "^4.2.4",
|
||||
"vue-tsc": "^1.8.11"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2531
pnpm-lock.yaml
2531
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,68 @@
|
|||
import { useTable } from '@/components/table';
|
||||
import { api } from '/api';
|
||||
|
||||
const table = useTable({
|
||||
data: async (data, paging) => {
|
||||
return <%= select.api %>({ ...data, ...paging });
|
||||
},
|
||||
columns: [
|
||||
<%_ select.columns.forEach(column => { _%>
|
||||
{
|
||||
title: '<%= column.title %>',
|
||||
dataIndex: '<%= column.dataIndex %>',
|
||||
},
|
||||
<%_ }) _%>
|
||||
],
|
||||
<%_ if (select.items?.length) { _%>
|
||||
search: {
|
||||
items: [
|
||||
<%_ select.items.forEach(column => { _%>
|
||||
{
|
||||
field: '<%= column.field %>',
|
||||
label: '<%= column.label %>',
|
||||
type: '<%= column.type %>',
|
||||
},
|
||||
<%_ }) _%>
|
||||
]
|
||||
},
|
||||
<%_ } _%>
|
||||
create: {
|
||||
title: '<%= create.title %>',
|
||||
modalProps: {
|
||||
width: 772,
|
||||
maskClosable: false,
|
||||
},
|
||||
formProps: {
|
||||
layout: "vertical",
|
||||
class: "!grid grid-cols-2 gap-x-6",
|
||||
},
|
||||
items: [
|
||||
<%_ create.items.forEach(column => { _%>
|
||||
{
|
||||
field: '<%= column.field %>',
|
||||
label: '<%= column.label %>',
|
||||
type: '<%= column.type %>',
|
||||
},
|
||||
<%_ }) _%>
|
||||
],
|
||||
submit: async (data) => {
|
||||
return <%= create.api %>(data);
|
||||
}
|
||||
},
|
||||
modify: {
|
||||
extend: true,
|
||||
title: '<%= modify.title %>',
|
||||
items: [
|
||||
<%_ modify.items.forEach(column => { _%>
|
||||
{
|
||||
field: '<%= column.field %>',
|
||||
label: '<%= column.label %>',
|
||||
type: '<%= column.type %>',
|
||||
},
|
||||
<%_ }) _%>
|
||||
],
|
||||
submit: async (data) => {
|
||||
return <%= modify.api %>(data);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -6,8 +6,6 @@ import { fileURLToPath } from "url";
|
|||
const __dirname = path.join(fileURLToPath(new URL(import.meta.url)), "..");
|
||||
const env = loadEnv("development", process.cwd());
|
||||
|
||||
console.log(env.VITE_OPENAPI);
|
||||
|
||||
const run = async () => {
|
||||
const output = await generateApi({
|
||||
url: env.VITE_OPENAPI,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,86 @@
|
|||
import { readFileSync, writeFileSync } from "fs";
|
||||
import parser from "@apidevtools/swagger-parser";
|
||||
import ejs from "ejs";
|
||||
|
||||
async function run() {
|
||||
const apiJson = JSON.parse(readFileSync("./openapi.json", "utf-8"));
|
||||
const parsed = await parser.validate(apiJson);
|
||||
const list = Object.entries(parsed.paths || {});
|
||||
|
||||
const routes: any = [];
|
||||
for (const [path, pathObj] of list) {
|
||||
for (const [method, mObj] of Object.entries(pathObj)) {
|
||||
const { description, operationId, tags = [] } = mObj as any;
|
||||
const items: any[] = [];
|
||||
let requestBody = (mObj as any).requestBody?.content?.["application/json"]?.schema;
|
||||
if (requestBody) {
|
||||
for (const [field, fieldObj] of Object.entries(requestBody.properties)) {
|
||||
const { type, description } = fieldObj as any;
|
||||
items.push({
|
||||
field,
|
||||
type,
|
||||
label: description,
|
||||
});
|
||||
}
|
||||
}
|
||||
routes.push({
|
||||
method,
|
||||
path,
|
||||
title: description,
|
||||
id: operationId,
|
||||
tags,
|
||||
items,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const template = readFileSync('./from.ejs', 'utf-8');
|
||||
const r = ejs.render(template, {
|
||||
create: {
|
||||
title: '新增用户',
|
||||
api: 'api.user.addUser',
|
||||
items: [
|
||||
{
|
||||
field: 'username',
|
||||
type: 'input',
|
||||
label: '用户名',
|
||||
}
|
||||
]
|
||||
},
|
||||
select: {
|
||||
title: '查询用户',
|
||||
api: 'api.user.getUsers',
|
||||
items: [
|
||||
{
|
||||
field: 'username',
|
||||
type: 'input',
|
||||
label: '用户名',
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '用户名',
|
||||
dataIndex: 'username',
|
||||
}
|
||||
]
|
||||
},
|
||||
modify: {
|
||||
title: '修改用户',
|
||||
api: 'api.user.setUser',
|
||||
items: [
|
||||
{
|
||||
field: 'username',
|
||||
type: 'input',
|
||||
label: '用户名',
|
||||
}
|
||||
]
|
||||
},
|
||||
delete: {
|
||||
title: '删除用户',
|
||||
api: 'api.user.delUser',
|
||||
}
|
||||
})
|
||||
writeFileSync('./to.ts', r);
|
||||
}
|
||||
|
||||
run();
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
import { useTable } from '@/components/table';
|
||||
import { api } from '/api';
|
||||
|
||||
const table = useTable({
|
||||
data: async (data, paging) => {
|
||||
return api.user.getUsers({ ...data, ...paging });
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
title: '用户名',
|
||||
dataIndex: 'username',
|
||||
},
|
||||
],
|
||||
search: {
|
||||
items: [
|
||||
{
|
||||
field: 'username',
|
||||
label: '用户名',
|
||||
type: 'input',
|
||||
},
|
||||
]
|
||||
},
|
||||
create: {
|
||||
title: '新增用户',
|
||||
items: [
|
||||
{
|
||||
field: 'username',
|
||||
label: '用户名',
|
||||
type: 'input',
|
||||
},
|
||||
],
|
||||
submit: async (data) => {
|
||||
return api.user.addUser(data);
|
||||
}
|
||||
},
|
||||
modify: {
|
||||
title: '修改用户',
|
||||
items: [
|
||||
{
|
||||
field: 'username',
|
||||
label: '用户名',
|
||||
type: 'input',
|
||||
},
|
||||
],
|
||||
submit: async (data) => {
|
||||
return api.user.setUser(data);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { api } from "@/api";
|
||||
import { dayjs } from "@/libs/dayjs";
|
||||
import { dayjs } from "@/libs";
|
||||
import { useAppStore, useUserStore } from "@/store";
|
||||
import { FieldRule, Form, Message, Modal } from "@arco-design/web-vue";
|
||||
import { reactive } from "vue";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<script setup lang="tsx">
|
||||
import { api } from "@/api";
|
||||
import { Table, useTable } from "@/components";
|
||||
import { dayjs } from "@/libs/dayjs";
|
||||
import { dayjs } from "@/libs";
|
||||
import { Avatar, Button } from "@arco-design/web-vue";
|
||||
|
||||
const table = useTable({
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ const table = useTable({
|
|||
required: false,
|
||||
nodeProps: {
|
||||
placeholder: '请输入登陆账号',
|
||||
},
|
||||
itemProps: {
|
||||
hideLabel: true,
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<script setup lang="tsx">
|
||||
import { api } from "@/api";
|
||||
import { Table, useTable } from "@/components";
|
||||
import { dayjs } from "@/libs/dayjs";
|
||||
import { dayjs } from "@/libs";
|
||||
|
||||
const table = useTable({
|
||||
data: async (model, paging) => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue