Browse Source

vue 和 main 合并

master
zhanglei 1 month ago
parent
commit
0982698cc4
  1. 4
      main.py
  2. 2
      utils.py
  3. 30
      vue.py

4
main.py

@ -87,7 +87,7 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove
cfg = yaml.safe_load(f)
cfg = resolve_config(cfg)
if (vue != ""):
generate_vue(vue, cfg)
generate_vue(vue, cfg, over_write)
else:
context = {
"mainModule": cfg["mainModule"],
@ -366,7 +366,7 @@ if __name__ == "__main__":
models = [m.strip() for m in args.model.split(",") if m.strip()]
conf = args.conf
version = args.jdk
rew = args.rew
rew = args.re
generate(
table_names=tables,

2
utils.py

@ -72,7 +72,7 @@ def parse_args():
)
parser.add_argument(
"--rew",
"--re",
action="store_true",
help="是否覆盖已存在文件(默认不覆盖),不覆盖:false,覆盖:true"
)

30
vue.py

@ -1,11 +1,17 @@
import os
import logging
from jinja2 import Environment, FileSystemLoader
from db import get_table, get_columns
from utils import *
import yaml
env = Environment(loader=FileSystemLoader("templates/vue"))
def render(template, out, ctx):
def render(template, out, ctx, overwrite=False):
# 文件存在且不允许覆盖 → 跳过
if os.path.exists(out) and not overwrite:
logging.info("Skip exists file: %s", out)
return
tpl = env.get_template(template)
content = tpl.render(**ctx)
@ -32,7 +38,7 @@ def build_fields(table):
return fields
def generate_vue(table, cfg):
def generate_vue(table, cfg , overwrite=False):
API_DIR = cfg["frontend"]["root"]+"/"+cfg["frontend"]["api"]
VIEW_DIR = cfg["frontend"]["root"]+"/"+cfg["frontend"]["views"]
@ -41,7 +47,7 @@ def generate_vue(table, cfg):
EDIT_FIELDS = cfg["frontend"]["editFields"]
table_info = get_table(table)
entity = table # table.replace("health_","")
entity = table
ctx = {
"table":table,
"table_comment":table_info["table_comment"],
@ -54,35 +60,41 @@ def generate_vue(table, cfg):
render(
"api.ts.j2",
f"{API_DIR}/{entity}.ts",
ctx
ctx,
overwrite
)
render(
"index.vue.j2",
f"{VIEW_DIR}/{entity}/index.vue",
ctx
ctx,
overwrite
)
render(
"data.ts.j2",
f"{VIEW_DIR}/{entity}/data.ts",
ctx
ctx,
overwrite
)
render(
"form.ts.j2",
f"{VIEW_DIR}/{entity}/form.ts",
ctx
ctx,
overwrite
)
render(
"router.ts.j2",
f"{ROUTER_DIR}/{entity}.ts",
ctx
ctx,
overwrite
)
render(
"mock.ts.j2",
f"{MOCK_DIR}/{entity}.ts",
ctx
ctx,
overwrite
)
Loading…
Cancel
Save