feat: 优化swagger类型
parent
a9d099bb17
commit
2902d63702
|
|
@ -0,0 +1,40 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: git.dev.juetan.cn/juetan/server:latest
|
||||||
|
networks:
|
||||||
|
- public
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == manager]
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.nest.rule=Host(`nest.dev.juetan.cn`) && PathPrefix(`/api`, `/upload`)
|
||||||
|
- traefik.http.routers.nest.entrypoints=websecure
|
||||||
|
- traefik.http.routers.nest.tls=true
|
||||||
|
- traefik.http.routers.nest.tls.certresolver=acmer
|
||||||
|
- traefik.http.services.nest1.loadbalancer.server.port=3030
|
||||||
|
|
||||||
|
web:
|
||||||
|
image: git.dev.juetan.cn/juetan/web:latest
|
||||||
|
networks:
|
||||||
|
- public
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == manager]
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.vue.rule=Host(`nest.dev.juetan.cn`)
|
||||||
|
- traefik.http.routers.vue.entrypoints=websecure
|
||||||
|
- traefik.http.routers.vue.tls=true
|
||||||
|
- traefik.http.routers.vue.tls.certresolver=acmer
|
||||||
|
- traefik.http.services.vue1.loadbalancer.server.port=80
|
||||||
|
|
||||||
|
networks:
|
||||||
|
public:
|
||||||
|
external: true
|
||||||
|
|
@ -37,20 +37,38 @@ export function addResponseWrapper(doc: OpenAPIObject) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const schema = json.schema;
|
const schema = json.schema;
|
||||||
|
// json.schema = {
|
||||||
|
// allOf: [
|
||||||
|
// {
|
||||||
|
// $ref: '#/components/schemas/Response',
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// type: 'object',
|
||||||
|
// properties: {
|
||||||
|
// data: schema,
|
||||||
|
// },
|
||||||
|
// required: ['data'],
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// };
|
||||||
json.schema = {
|
json.schema = {
|
||||||
allOf: [
|
type: 'object',
|
||||||
{
|
properties: {
|
||||||
$ref: '#/components/schemas/Response',
|
code: {
|
||||||
|
type: 'integer',
|
||||||
|
description: '状态码',
|
||||||
|
example: 2000,
|
||||||
|
format: 'int32',
|
||||||
},
|
},
|
||||||
{
|
message: {
|
||||||
type: 'object',
|
type: 'string',
|
||||||
properties: {
|
description: '提示信息',
|
||||||
data: schema,
|
example: '请求成功',
|
||||||
},
|
|
||||||
required: ['data'],
|
|
||||||
},
|
},
|
||||||
],
|
data: schema,
|
||||||
};
|
},
|
||||||
|
required: ['code', 'message'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,41 @@ export class ConfigService {
|
||||||
return this.config.get('DB_TYPE', 'sqlite');
|
return this.config.get('DB_TYPE', 'sqlite');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MySQL数据库主机
|
||||||
|
*/
|
||||||
|
get sqlHost(): string {
|
||||||
|
return this.config.get('DB_MYSQL_HOST', 'localhost');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MySQL数据库端口
|
||||||
|
*/
|
||||||
|
get sqlPort(): number {
|
||||||
|
return Number(this.config.get('DB_MYSQL_PORT', 3306));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MySQL数据库用户
|
||||||
|
*/
|
||||||
|
get sqlUser(): string {
|
||||||
|
return this.config.get('DB_MYSQL_USERNAME', 'root');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MySQL数据库密码
|
||||||
|
*/
|
||||||
|
get sqlPass(): string {
|
||||||
|
return this.config.get('DB_MYSQL_PASSWORD', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MySQL数据库名称
|
||||||
|
*/
|
||||||
|
get sqlDatabase(): string {
|
||||||
|
return this.config.get('DB_MYSQL_DATABASE', 'appnify');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SQLite数据库文件路径
|
* SQLite数据库文件路径
|
||||||
* @default './content/db.sqlite'
|
* @default './content/db.sqlite'
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,17 @@ import { RequestMiddleware } from './suscribers/request.middleware';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if (config.dbType === 'mysql') {
|
if (config.dbType === 'mysql') {
|
||||||
|
return {
|
||||||
|
type: config.dbType,
|
||||||
|
host: config.sqlHost,
|
||||||
|
port: config.sqlPort,
|
||||||
|
username: config.sqlUser,
|
||||||
|
password: config.sqlPass,
|
||||||
|
database: config.sqlDatabase,
|
||||||
|
synchronize: true,
|
||||||
|
autoLoadEntities: true,
|
||||||
|
namingStrategy: new SnakeNamingStrategy(),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
inject: [ConfigService],
|
inject: [ConfigService],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue