From 34a98ab47ebdd000c831eb4c42ccb13785e36ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Sun, 7 Jul 2024 21:10:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E6=96=87=E4=BB=B6=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/plugin-module.js | 2 +- common/config.js | 2 +- .../defaultTheme.scssc | Bin 0 -> 58840 bytes .../defaultTheme.scssc | Bin 0 -> 69923 bytes .../Services/Services.js | 76 ++++ .../Services/Services.scss | 30 ++ .../Services/codeTemplate.js | 145 +++++++ exts/yapi-plugin-gen-java-services/client.js | 21 ++ .../controller.js | 140 +++++++ .../defaultTheme.css | 351 +++++++++++++++++ .../defaultTheme.css.map | 7 + .../defaultTheme.js | 4 + .../defaultTheme.scss | 355 ++++++++++++++++++ .../genCodeModel.js | 83 ++++ exts/yapi-plugin-gen-java-services/index.js | 4 + exts/yapi-plugin-gen-java-services/server.js | 32 ++ 16 files changed, 1250 insertions(+), 2 deletions(-) create mode 100644 exts/yapi-plugin-gen-java-services/.sass-cache/3f3d6afdb6793d0137c849fff0c1eee600369f02/defaultTheme.scssc create mode 100644 exts/yapi-plugin-gen-java-services/.sass-cache/8d7dcd37f61732054a9966925c8cce5b23a209ac/defaultTheme.scssc create mode 100644 exts/yapi-plugin-gen-java-services/Services/Services.js create mode 100644 exts/yapi-plugin-gen-java-services/Services/Services.scss create mode 100644 exts/yapi-plugin-gen-java-services/Services/codeTemplate.js create mode 100644 exts/yapi-plugin-gen-java-services/client.js create mode 100644 exts/yapi-plugin-gen-java-services/controller.js create mode 100644 exts/yapi-plugin-gen-java-services/defaultTheme.css create mode 100644 exts/yapi-plugin-gen-java-services/defaultTheme.css.map create mode 100644 exts/yapi-plugin-gen-java-services/defaultTheme.js create mode 100644 exts/yapi-plugin-gen-java-services/defaultTheme.scss create mode 100644 exts/yapi-plugin-gen-java-services/genCodeModel.js create mode 100644 exts/yapi-plugin-gen-java-services/index.js create mode 100644 exts/yapi-plugin-gen-java-services/server.js diff --git a/client/plugin-module.js b/client/plugin-module.js index ebec237..a8073e5 100644 --- a/client/plugin-module.js +++ b/client/plugin-module.js @@ -1 +1 @@ -module.exports = {"import-postman" : {module: require('exts/yapi-plugin-import-postman/client.js'),options: null},"import-har" : {module: require('exts/yapi-plugin-import-har/client.js'),options: null},"advanced-mock" : {module: require('exts/yapi-plugin-advanced-mock/client.js'),options: null},"import-swagger" : {module: require('exts/yapi-plugin-import-swagger/client.js'),options: null},"statistics" : {module: require('exts/yapi-plugin-statistics/client.js'),options: null},"export-data" : {module: require('exts/yapi-plugin-export-data/client.js'),options: null},"gen-services" : {module: require('exts/yapi-plugin-gen-services/client.js'),options: null},"export-swagger2-data" : {module: require('exts/yapi-plugin-export-swagger2-data/client.js'),options: null},"import-yapi-json" : {module: require('exts/yapi-plugin-import-yapi-json/client.js'),options: null},"wiki" : {module: require('exts/yapi-plugin-wiki/client.js'),options: null},"swagger-auto-sync" : {module: require('exts/yapi-plugin-swagger-auto-sync/client.js'),options: null},"export-postman" : {module: require('exts/yapi-plugin-export-postman/client.js'),options: null},"export-markdown-template" : {module: require('exts/yapi-plugin-export-markdown-template/client.js'),options: null}} \ No newline at end of file +module.exports = {"import-postman" : {module: require('exts/yapi-plugin-import-postman/client.js'),options: null},"import-har" : {module: require('exts/yapi-plugin-import-har/client.js'),options: null},"advanced-mock" : {module: require('exts/yapi-plugin-advanced-mock/client.js'),options: null},"import-swagger" : {module: require('exts/yapi-plugin-import-swagger/client.js'),options: null},"statistics" : {module: require('exts/yapi-plugin-statistics/client.js'),options: null},"export-data" : {module: require('exts/yapi-plugin-export-data/client.js'),options: null},"gen-java-services" : {module: require('exts/yapi-plugin-gen-java-services/client.js'),options: null},"export-swagger2-data" : {module: require('exts/yapi-plugin-export-swagger2-data/client.js'),options: null},"import-yapi-json" : {module: require('exts/yapi-plugin-import-yapi-json/client.js'),options: null},"wiki" : {module: require('exts/yapi-plugin-wiki/client.js'),options: null},"swagger-auto-sync" : {module: require('exts/yapi-plugin-swagger-auto-sync/client.js'),options: null},"export-postman" : {module: require('exts/yapi-plugin-export-postman/client.js'),options: null},"export-markdown-template" : {module: require('exts/yapi-plugin-export-markdown-template/client.js'),options: null}} \ No newline at end of file diff --git a/common/config.js b/common/config.js index ad575d7..d253121 100644 --- a/common/config.js +++ b/common/config.js @@ -12,7 +12,7 @@ module.exports = { },{ name: 'export-data' },{ - name: 'gen-services' + name: 'gen-java-services' },{ name: 'export-swagger2-data' },{ diff --git a/exts/yapi-plugin-gen-java-services/.sass-cache/3f3d6afdb6793d0137c849fff0c1eee600369f02/defaultTheme.scssc b/exts/yapi-plugin-gen-java-services/.sass-cache/3f3d6afdb6793d0137c849fff0c1eee600369f02/defaultTheme.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f7fff3a3418952c27c165706d10fb099cbcf7f92 GIT binary patch literal 58840 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 N`6HFg*Q9$6{eNkj4^;pF literal 0 HcmV?d00001 diff --git a/exts/yapi-plugin-gen-java-services/.sass-cache/8d7dcd37f61732054a9966925c8cce5b23a209ac/defaultTheme.scssc b/exts/yapi-plugin-gen-java-services/.sass-cache/8d7dcd37f61732054a9966925c8cce5b23a209ac/defaultTheme.scssc new file mode 100644 index 0000000000000000000000000000000000000000..86d3e568bd1b1dff874b225feac1555b16602b1c GIT binary patch literal 69923 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 UxKi_yY7#!bm^DOJ5NB@v|3fK7=Kufz literal 0 HcmV?d00001 diff --git a/exts/yapi-plugin-gen-java-services/Services/Services.js b/exts/yapi-plugin-gen-java-services/Services/Services.js new file mode 100644 index 0000000..8d6eec2 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/Services/Services.js @@ -0,0 +1,76 @@ +import React, {PureComponent as Component} from 'react' +import PropTypes from 'prop-types' +import {connect} from 'react-redux'; +import {getToken} from '../../../client/reducer/modules/project.js' +import './Services.scss'; +import {withRouter} from "react-router-dom"; +import axios from "axios"; +import {message} from "antd"; + +@connect( + state => { + return { + token: state.project.token + } + }, + { + getToken + } +) +class Services extends Component { + static propTypes = { + projectId: PropTypes.number, + token: PropTypes.string, + getToken: PropTypes.func, + match: PropTypes.object + } + + constructor(props, context) { + super(props, context); + this.state = { + render_data: {} + } + } + + componentDidMount() { + this.getSyncData(); + } + + async getSyncData() { + let projectId = this.props.match.params.id; + let interfaceId = this.props.match.params.actionId; + let result = await axios.get(`/api/plugin/codeGen?projectId=${projectId}&interfaceId=${interfaceId}`); + if (result.data) { + this.setState({ + render_data: result.data + }); + } + } + async preCopy(code) { + await navigator.clipboard.writeText(code) + message.success("复制成功") + } + render() { + let render_vide = []; + if (this.state.render_data) { + Object.keys(this.state.render_data) + Object.keys(this.state.render_data).forEach((tag) => { + render_vide.push(
{tag}
) + render_vide.push(
this.preCopy(this.state.render_data[tag])}>复制代码{this.state.render_data[tag] + "\n"}
) + }); + } + console.log(render_vide) + return ( +
+
+
+ {render_vide} +
+
+
+ ); + } +} + + +module.exports = withRouter(Services); diff --git a/exts/yapi-plugin-gen-java-services/Services/Services.scss b/exts/yapi-plugin-gen-java-services/Services/Services.scss new file mode 100644 index 0000000..8aa3f5c --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/Services/Services.scss @@ -0,0 +1,30 @@ +.project-services { + margin: 0; + pre { + background: #efefef; + } +} + + +pre{ + position: relative; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; + padding: 10px; +} +pre .btn-pre-copy{ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -khtml-user-select: none; + user-select: none; + position: absolute; + top: 10px; + right: 12px; + font-size: 12px; + line-height: 1; + cursor: pointer; + color: hsla(0,0%,54.9%,.8); + transition: color .1s; +} diff --git a/exts/yapi-plugin-gen-java-services/Services/codeTemplate.js b/exts/yapi-plugin-gen-java-services/Services/codeTemplate.js new file mode 100644 index 0000000..1d6cd56 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/Services/codeTemplate.js @@ -0,0 +1,145 @@ +import React, {Component} from 'react'; +import {connect} from 'react-redux'; +import PropTypes from 'prop-types'; +import {Form, Button, message} from 'antd'; +import {handleSwaggerUrlData} from 'client/reducer/modules/project'; + +const FormItem = Form.Item; +import axios from 'axios'; +import AceEditor from "../../../client/components/AceEditor/AceEditor"; +// layout +const formItemLayout = { + labelCol: { + lg: {span: 5}, + xs: {span: 24}, + sm: {span: 10} + }, + wrapperCol: { + lg: {span: 16}, + xs: {span: 24}, + sm: {span: 12} + }, + className: 'form-item' +}; +const tailFormItemLayout = { + wrapperCol: { + sm: { + span: 16, + offset: 11 + } + } +}; + +@connect( + state => { + return { + projectMsg: state.project.currProject + }; + }, + { + handleSwaggerUrlData + } +) +@Form.create() +export default class CodeGenTemplate extends Component { + static propTypes = { + form: PropTypes.object, + match: PropTypes.object, + projectId: PropTypes.number, + projectMsg: PropTypes.object, + handleSwaggerUrlData: PropTypes.func + }; + + constructor(props) { + super(props); + this.state = { + config_data: {template_data: "", _id: null} + }; + } + + handleSubmit = async () => { + const {form, projectId} = this.props; + let params = { + project_id: projectId, + template_data: this.state.config_data.template_data, + uid: this.props.projectMsg.uid + }; + if (this.state.config_data._id) { + params.id = this.state.config_data._id; + } + form.validateFields(async (err, values) => { + if (!err) { + let assignValue = Object.assign(params, values); + await axios.post('/api/plugin/template/save', assignValue).then(res => { + if (res.data.errcode === 0) { + message.success('保存成功'); + } else { + message.error(res.data.errmsg); + } + }); + } + }); + + }; + + + UNSAFE_componentWillMount() { + //查询同步任务 + this.setState({ + config_data: {} + }); + this.getSyncData(); + } + + async getSyncData() { + let projectId = this.props.projectMsg._id; + let result = await axios.get('/api/plugin/template/get?projectId=' + projectId); + if (result.data.errcode === 0) { + if (result.data.data) { + let templateData = result.data.data.find(it => it.tag === "default") + if (templateData == null) { + templateData = result.data.data[0] + } + this.setState({ + config_data: templateData + }); + } + } + } + + handleTemplateInput = e => { + let config_data = this.state.config_data; + config_data.template_data = e.text; + this.setState({ + config_data: config_data + }); + }; + + + render() { + const templateEditor = ( + + + + + ) + return ( +
+
+
+ {templateEditor} +
+ + + +
+
+ ); + } +} diff --git a/exts/yapi-plugin-gen-java-services/client.js b/exts/yapi-plugin-gen-java-services/client.js new file mode 100644 index 0000000..78ed682 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/client.js @@ -0,0 +1,21 @@ +import Services from './Services/Services.js'; +import CodeGenTemplate from "./Services/codeTemplate"; + +module.exports = function () { + this.bindHook('interface_tab', function (tabs) { + tabs.javaGen = { + name: '代码生成', + component: Services + } + }) + + + this.bindHook('sub_setting_nav', function (route) { + route.codeGen = { + name: '代码生成模板配置', + component: CodeGenTemplate + }; + }) +} + + diff --git a/exts/yapi-plugin-gen-java-services/controller.js b/exts/yapi-plugin-gen-java-services/controller.js new file mode 100644 index 0000000..1af3be9 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/controller.js @@ -0,0 +1,140 @@ +const baseController = require('controllers/base.js'); +const interfaceModel = require('models/interface.js'); +const projectModel = require('models/project.js'); +// const wikiModel = require('../yapi-plugin-wiki/wikiModel.js'); +const interfaceCatModel = require('models/interfaceCat.js'); +const groupModel = require("models/group.js"); +const userModel = require("models/user.js"); +const genCodeModel = require("./genCodeModel"); +const yapi = require('yapi.js'); +const {default: Safeify} = require("safeify"); + + +// const htmlToPdf = require("html-pdf"); +class exportController extends baseController { + constructor(ctx) { + super(ctx); + // 分类 + this.catModel = yapi.getInst(interfaceCatModel); + this.interModel = yapi.getInst(interfaceModel); + this.projectModel = yapi.getInst(projectModel); + this.groupModel = yapi.getInst(groupModel); + this.userModel = yapi.getInst(userModel); + this.genCodeModel = yapi.getInst(genCodeModel); + + } + + + async genCode(ctx) { + let projectId = ctx.request.query.projectId; + let interfaceId = ctx.request.query.interfaceId; + try { + let curProject = await this.projectModel.get(projectId); + let interfaceData = await this.interModel.get(interfaceId); + let userData = await this.userModel.findById(this.getUid()); + let errMsg = []; + + let templateList = await this.genCodeModel.listByProjectId(projectId); + let retData = {}; + console.log(templateList) + if (templateList == null || templateList.length === 0) { + ctx.body = yapi.commons.resReturn(errMsg, 502, '请先设置生成模板'); + return; + } + for (const template of templateList) { + const safeVm = new Safeify({ + timeout: 3000, //超时时间 + asyncTimeout: 10000, //包含异步操作的超时时间 + unrestricted: true, + quantity: 4, //沙箱进程数量,默认同 CPU 核数 + memoryQuota: 500, //沙箱最大能使用的内存(单位 m),默认 500m + cpuQuota: 0.5 //沙箱的 cpu 资源配额(百分比),默认 50% + }); + // console.log("curProject", curProject) + const vmContext = { + projectTmp: JSON.stringify(curProject), + interfaceTmp: JSON.stringify(interfaceData), + userTemp: JSON.stringify(userData) + }; + + try { + safeVm.preset("const project = JSON.parse(projectTmp);const interface = JSON.parse(interfaceTmp);const user=JSON.parse(userTemp)") + let model = await safeVm.run(template.template_data, vmContext); + safeVm.destroy(); + retData[template.tag] = model + } catch (e) { + errMsg.push({ + error: e.toString(), + context: vmContext + }); + } + } + ctx.body = retData; + if (errMsg.length) { + ctx.body = yapi.commons.resReturn(errMsg, 502, '渲染出错'); + } + } catch (error) { + yapi.commons.log(error, 'error'); + ctx.body = yapi.commons.resReturn(null, 502, '渲染出错'); + } + } + + + async saveTemplate(ctx) { + let requestBody = ctx.request.body; + let projectId = requestBody.project_id; + if (!projectId) { + return (ctx.body = yapi.commons.resReturn(null, 408, '缺少项目Id')); + } + + if ((await this.checkAuth(projectId, 'project', 'edit')) !== true) { + return (ctx.body = yapi.commons.resReturn(null, 405, '没有权限')); + } + let existData = await this.genCodeModel.listByProjectId(projectId); + + if (existData.find(templ => templ.tag === requestBody.tag)){ + return (ctx.body = yapi.commons.resReturn(null, 502, 'tag已存在')); + } + + let result; + if (requestBody.id) { + result = await this.genCodeModel.up(requestBody); + } else { + result = await this.genCodeModel.save(requestBody); + } + + return (ctx.body = yapi.commons.resReturn(result)); + } + + /** + * 查询配置信息 + * @param {*} ctx + */ + async getTemplate(ctx) { + let projectId = ctx.params.projectId; + if (!projectId) { + return (ctx.body = yapi.commons.resReturn(null, 408, '缺少项目Id')); + } + console.log(this.genCodeModel) + let result = await this.genCodeModel.listByProjectId(projectId); + return (ctx.body = yapi.commons.resReturn(result)); + } + + + /** + * 删除模板 + * @param {*} ctx + */ + async deleteTemplate(ctx) { + let templateId = ctx.params.templateId; + if (!templateId) { + return (ctx.body = yapi.commons.resReturn(null, 408, '缺少模板Id')); + } + let result = await this.genCodeModel.del(templateId); + return (ctx.body = yapi.commons.resReturn(result)); + } + + +} + +module.exports = exportController; diff --git a/exts/yapi-plugin-gen-java-services/defaultTheme.css b/exts/yapi-plugin-gen-java-services/defaultTheme.css new file mode 100644 index 0000000..648c3ba --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/defaultTheme.css @@ -0,0 +1,351 @@ +@charset "UTF-8"; +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote { + margin: 0; + padding: 0; + font-weight: normal; + -webkit-font-smoothing: antialiased; +} + +/* 设置滚动条的样式 */ +::-webkit-scrollbar { + width: 6px; +} + +/* 外层轨道 */ +::-webkit-scrollbar-track { + -webkit-box-shadow: inset006pxrgba(255, 0, 0, 0.3); + background: rgba(0, 0, 0, 0.1); +} + +/* 滚动条滑块 */ +::-webkit-scrollbar-thumb { + border-radius: 4px; + background: rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5); +} + +::-webkit-scrollbar-thumb:window-inactive { + background: rgba(0, 0, 0, 0.2); +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", SimSun, sans-serif; + font-size: 13px; + line-height: 25px; + color: #393838; + position: relative; +} + +table { + margin: 10px 0 15px 0; + border-collapse: collapse; +} + +td, +th { + border: 1px solid #ddd; + padding: 3px 10px; +} + +th { + padding: 5px 10px; +} + +a, a:link, a:visited { + color: #34495e; + text-decoration: none; +} + +a:hover, a:focus { + color: #59d69d; + text-decoration: none; +} + +a img { + border: none; +} + +p { + padding-left: 10px; + margin-bottom: 9px; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: #404040; + line-height: 36px; +} + +h1 { + color: #2c3e50; + font-weight: 600; + margin-bottom: 16px; + font-size: 32px; + padding-bottom: 16px; + border-bottom: 1px solid #ddd; + line-height: 50px; +} + +h2 { + font-size: 28px; + padding-top: 10px; + padding-bottom: 10px; +} + +h3 { + clear: both; + font-weight: 400; + margin-top: 20px; + margin-bottom: 20px; + border-left: 3px solid #59d69d; + padding-left: 8px; + font-size: 18px; +} + +h4 { + font-size: 16px; +} + +h5 { + font-size: 14px; +} + +h6 { + font-size: 13px; +} + +hr { + margin: 0 0 19px; + border: 0; + border-bottom: 1px solid #ccc; +} + +blockquote { + padding: 13px 13px 21px 15px; + margin-bottom: 18px; + font-family: georgia, serif; + font-style: italic; +} + +blockquote:before { + font-size: 40px; + margin-left: -10px; + font-family: georgia, serif; + color: #eee; +} + +blockquote p { + font-size: 14px; + font-weight: 300; + line-height: 18px; + margin-bottom: 0; + font-style: italic; +} + +code, +pre { + font-family: Monaco, Andale Mono, Courier New, monospace; +} + +code { + background-color: #fee9cc; + color: rgba(0, 0, 0, 0.75); + padding: 1px 3px; + font-size: 12px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +pre { + display: block; + padding: 14px; + margin: 0 0 18px; + line-height: 16px; + font-size: 11px; + border: 1px solid #d9d9d9; + white-space: pre-wrap; + word-wrap: break-word; + background: #f6f6f6; +} + +pre code { + background-color: #f6f6f6; + color: #737373; + font-size: 11px; + padding: 0; +} + +sup { + font-size: 0.83em; + vertical-align: super; + line-height: 0; +} + +* { + -webkit-print-color-adjust: exact; +} + +@media print { + body, + code, + pre code, + h1, + h2, + h3, + h4, + h5, + h6 { + color: black; + } + + table, + pre { + page-break-inside: avoid; + } +} +html, +body { + height: 100%; +} + +.table-of-contents { + position: fixed; + top: 61px; + left: 0; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + width: 260px; +} + +.table-of-contents > ul > li > a { + font-size: 20px; + margin-bottom: 16px; + margin-top: 16px; +} + +.table-of-contents ul { + overflow: auto; + margin: 0px; + height: 100%; + padding: 0px 0px; + box-sizing: border-box; + list-style-type: none; +} + +.table-of-contents ul li { + padding-left: 20px; +} + +.table-of-contents a { + padding: 2px 0px; + display: block; + text-decoration: none; +} + +.content-right { + max-width: 700px; + margin-left: 290px; + padding-left: 70px; + flex-grow: 1; +} +.content-right h2:target { + padding-top: 80px; +} + +body > p { + margin-left: 30px; +} + +body > table { + margin-left: 30px; +} + +body > pre { + margin-left: 30px; +} + +.curProject { + position: fixed; + top: 20px; + font-size: 25px; + color: black; + margin-left: -240px; + width: 240px; + padding: 5px; + line-height: 25px; + box-sizing: border-box; +} + +.g-doc { + margin-top: 56px; + padding-top: 24px; + display: flex; +} + +.curproject-name { + font-size: 42px; +} + +.m-header { + background: #32363a; + height: 56px; + line-height: 56px; + padding-left: 60px; + display: flex; + align-items: center; + position: fixed; + z-index: 9; + top: 0; + left: 0; + right: 0; +} +.m-header .title { + font-size: 22px; + color: #fff; + font-weight: normal; + -webkit-font-smoothing: antialiased; + margin: 0; + margin-left: 16px; + padding: 0; + line-height: 56px; + border: none; +} +.m-header .nav { + color: #fff; + font-size: 16px; + position: absolute; + right: 32px; + top: 0; +} +.m-header .nav a { + color: #fff; + margin-left: 16px; + padding: 8px; + transition: color .2s; +} +.m-header .nav a:hover { + color: #59d69d; +} + +.m-footer { + border-top: 1px solid #ddd; + padding-top: 16px; + padding-bottom: 16px; +} + +/*# sourceMappingURL=defaultTheme.css.map */ diff --git a/exts/yapi-plugin-gen-java-services/defaultTheme.css.map b/exts/yapi-plugin-gen-java-services/defaultTheme.css.map new file mode 100644 index 0000000..635776a --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/defaultTheme.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["defaultTheme.scss"], +"names": [], +"file": "defaultTheme.css" +} \ No newline at end of file diff --git a/exts/yapi-plugin-gen-java-services/defaultTheme.js b/exts/yapi-plugin-gen-java-services/defaultTheme.js new file mode 100644 index 0000000..612b787 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/defaultTheme.js @@ -0,0 +1,4 @@ +const fs = require('fs'); +const sysPath = require('path'); +const css = fs.readFileSync(sysPath.join(__dirname, './defaultTheme.css')); +module.exports = ''; \ No newline at end of file diff --git a/exts/yapi-plugin-gen-java-services/defaultTheme.scss b/exts/yapi-plugin-gen-java-services/defaultTheme.scss new file mode 100644 index 0000000..1c95a67 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/defaultTheme.scss @@ -0,0 +1,355 @@ +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote { + margin: 0; + padding: 0; + font-weight: normal; + -webkit-font-smoothing: antialiased; +} +/* 设置滚动条的样式 */ +::-webkit-scrollbar { + width: 6px; +} +/* 外层轨道 */ +::-webkit-scrollbar-track { + -webkit-box-shadow: inset006pxrgba(255, 0, 0, 0.3); + background: rgba(0, 0, 0, 0.1); +} +/* 滚动条滑块 */ +::-webkit-scrollbar-thumb { + border-radius: 4px; + background: rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5); +} +::-webkit-scrollbar-thumb:window-inactive { + background: rgba(0, 0, 0, 0.2); +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", SimSun, sans-serif; + font-size: 13px; + line-height: 25px; + color: #393838; + position: relative; + // overflow-x: hidden; +} + +table { + margin: 10px 0 15px 0; + border-collapse: collapse; +} + +td, +th { + border: 1px solid #ddd; + padding: 3px 10px; +} + +th { + padding: 5px 10px; +} + +a, a:link, a:visited { + color: #34495e; + text-decoration: none; +} + +a:hover, a:focus { + color: #59d69d; + text-decoration: none; +} + +a img { + border: none; +} + +p { + padding-left: 10px; + margin-bottom: 9px; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: #404040; + line-height: 36px; +} + +h1 { + color: #2c3e50; + font-weight: 600; + // margin-top: 35px; + margin-bottom: 16px; + font-size: 32px; + padding-bottom: 16px; + border-bottom: 1px solid #ddd; + line-height: 50px; +} + +h2 { + font-size: 28px; + padding-top: 10px; + padding-bottom: 10px; +} + +h3 { + clear: both; + font-weight: 400; + margin-top: 20px; + margin-bottom: 20px; + border-left: 3px solid #59d69d; + padding-left: 8px; + font-size: 18px; +} + +h4 { + font-size: 16px; +} + +h5 { + font-size: 14px; +} + +h6 { + font-size: 13px; +} + +hr { + margin: 0 0 19px; + border: 0; + border-bottom: 1px solid #ccc; +} + +blockquote { + padding: 13px 13px 21px 15px; + margin-bottom: 18px; + font-family: georgia, serif; + font-style: italic; +} + +blockquote:before { + font-size: 40px; + margin-left: -10px; + font-family: georgia, serif; + color: #eee; +} + +blockquote p { + font-size: 14px; + font-weight: 300; + line-height: 18px; + margin-bottom: 0; + font-style: italic; +} + +code, +pre { + font-family: Monaco, Andale Mono, Courier New, monospace; +} + +code { + background-color: #fee9cc; + color: rgba(0, 0, 0, 0.75); + padding: 1px 3px; + font-size: 12px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +pre { + display: block; + padding: 14px; + margin: 0 0 18px; + line-height: 16px; + font-size: 11px; + border: 1px solid #d9d9d9; + white-space: pre-wrap; + word-wrap: break-word; + background: #f6f6f6; +} + +pre code { + background-color: #f6f6f6; + color: #737373; + font-size: 11px; + padding: 0; +} + +sup { + font-size: 0.83em; + vertical-align: super; + line-height: 0; +} + +* { + -webkit-print-color-adjust: exact; +} + +@media print { + body, + code, + pre code, + h1, + h2, + h3, + h4, + h5, + h6 { + color: black; + } + table, + pre { + page-break-inside: avoid; + } +} + +html, +body { + height: 100%; +} + +.table-of-contents { + position: fixed; + top: 61px; + left: 0; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + width: 260px; +} + +.table-of-contents>ul>li>a { + font-size: 20px; + margin-bottom: 16px; + margin-top: 16px; +} + +.table-of-contents ul { + // position: fixed; + // top: 80px; + // left: 40px; + overflow: auto; + margin: 0px; + height: 100%; + padding: 0px 0px; + box-sizing: border-box; + list-style-type: none; +} + +.table-of-contents ul li { + padding-left: 20px; +} + +.table-of-contents a { + padding: 2px 0px; + display: block; + text-decoration: none; +} + + + +.content-right { + // position: relative; + // top: -20px; + max-width: 700px; + margin-left: 290px; + padding-left: 70px; + flex-grow: 1; + h2:target{ + padding-top: 80px; + } +} + + + +body>p { + margin-left: 30px; +} + +body>table { + margin-left: 30px; +} + +body>pre { + margin-left: 30px; +} + +.curProject { + position: fixed; + top: 20px; + font-size: 25px; + color: black; + margin-left: -240px; + width: 240px; + padding: 5px; + line-height: 25px; + box-sizing: border-box; +} + +.g-doc { + margin-top: 56px; + padding-top: 24px; + display: flex; +} + +.curproject-name{ + font-size: 42px; +} + +.m-header { + background: #32363a; + height: 56px; + line-height: 56px; + padding-left: 60px; + display: flex; + align-items: center; + position: fixed; + z-index: 9; + top: 0; + left: 0; + right: 0; + .title { + font-size: 22px; + color: #fff; + font-weight: normal; + -webkit-font-smoothing: antialiased; + margin: 0; + margin-left: 16px; + padding: 0; + line-height: 56px; + border: none; + } + .nav { + color: #fff; + font-size: 16px; + position: absolute; + right: 32px; + top: 0; + a { + color: #fff; + margin-left: 16px; + padding: 8px; + transition: color .2s; + } + a:hover { + color: #59d69d; + } + } +} + +.m-footer { + border-top: 1px solid #ddd; + padding-top: 16px; + padding-bottom: 16px; +} \ No newline at end of file diff --git a/exts/yapi-plugin-gen-java-services/genCodeModel.js b/exts/yapi-plugin-gen-java-services/genCodeModel.js new file mode 100644 index 0000000..9d0447d --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/genCodeModel.js @@ -0,0 +1,83 @@ +const yapi = require('yapi.js'); +const baseModel = require('models/base.js'); + +class genCodeModel extends baseModel { + getName() { + return 'gencode_template_config'; + } + + getSchema() { + return { + uid: { type: Number}, + project_id: { type: Number, required: true }, + //是否开启自动同步 + tag: { type: String, default: "default" }, + tag_desc: { type: String, default: "默认" }, + // 模板 + template_data: String, + add_time: Number, + up_time: Number + }; + } + + getByProjectId(id) { + return this.model.findOne({ + project_id: id, + tag: 'default' + }) + } + + listByProjectId(id) { + return this.model.find({ + project_id: id + }) + } + + delByProjectId(project_id){ + return this.model.remove({ + project_id: project_id + }) + } + + save(data) { + data.up_time = yapi.commons.time(); + let m = new this.model(data); + return m.save(); + } + + listAll() { + return this.model + .find({}) + .select( + '_id uid project_id add_time up_time is_sync_open sync_cron sync_json_url sync_mode old_swagger_content last_sync_time' + ) + .sort({ _id: -1 }) + .exec(); + } + + up(data) { + console.log(data) + let id = data.id; + delete data.id; + data.up_time = yapi.commons.time(); + return this.model.update({ + _id: id + }, data) + } + + upById(id, data) { + delete data.id; + data.up_time = yapi.commons.time(); + return this.model.update({ + _id: id + }, data) + } + + del(id){ + return this.model.remove({ + _id: id + }) + } +} + +module.exports = genCodeModel; diff --git a/exts/yapi-plugin-gen-java-services/index.js b/exts/yapi-plugin-gen-java-services/index.js new file mode 100644 index 0000000..080b4b6 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/index.js @@ -0,0 +1,4 @@ +module.exports = { + server: true, + client: true + } \ No newline at end of file diff --git a/exts/yapi-plugin-gen-java-services/server.js b/exts/yapi-plugin-gen-java-services/server.js new file mode 100644 index 0000000..7855141 --- /dev/null +++ b/exts/yapi-plugin-gen-java-services/server.js @@ -0,0 +1,32 @@ +const controller = require('./controller'); + + +module.exports = function(){ + this.bindHook('add_router', function(addRouter){ + addRouter({ + controller: controller, + method: 'get', + path: 'codeGen', + action: "genCode" + }); + addRouter({ + controller: controller, + method: 'get', + path: 'template/get', + action: "getTemplate" + }); + addRouter({ + controller: controller, + method: 'post', + path: 'template/save', + action: "saveTemplate" + }); + addRouter({ + controller: controller, + method: 'delete', + path: 'template/:templateId', + action: "deleteTemplate" + }); + }) + +}