1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lwydyby_admin-generator-cli

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 03:10 1e38f38

Генератор кода для проекта Spring Boot на основе Vue

Введение

$ genratorv1 --help
A code generator for spring boot program.


For example:
$ genratorv1 -f ./data.json
          -t ./templates \
          -o ./output

Установка и использование

В корневом каталоге проекта на компьютере Mac имеется скомпилированный двоичный файл (genratorv1). Для других систем предлагается скачать исходный код и установить самостоятельно.

  • Установка исходного кода:
    $ git clone git@github.com:lwydyby/generator-cli.git
    $ glide install
    $ make install

Описание

  1. Файл setting.yaml содержит конфигурацию шаблонов и соответствующих имён выходных файлов.

    template:
       format: Go
    template_files:
       web:
          file_path: web.tmpl
          output_file_naming: index.vue
       dao:
          file_path: dao.tmpl
          output_file_naming: userRepository.java
       api:
          file_path: api.tmpl
          output_file_naming: user.js
       service:
          file_path: service.tmpl
          output_file_naming: UserService.java
       controller:
          file_path: controller.tmpl
          output_file_naming: UserController.java
       entity:
          file_path: entity.tmpl
          output_file_naming: User.java
       search:
          file_path: search.tmpl
          output_file_naming: UserSearch.java
  2. Файл data.yaml описывает данные, используемые в шаблонах.

    data:
       format: mongo
       # 提供搜索功能的字段
       search_column:
          - prop: "name"
             label: "名称"
             type: "input"
          - prop: "type"
             label: "类型"
             type: "select"
       #创建时所需的字段
       create_column:
          - prop:  "name"
             type: "String"
             label: "名称"
       #列表展示的字段
       table_column:
          - prop: "name"
             label: "Наименование"
             type: "String"
             #база данных
             column_name: "name"
       #кроме списка, база данных должна сохранять поля
       extra_column:
          - prop: "createDate"
             type: "Date"
             label: "Дата создания"
             column_name: "create_date"
       #кнопки и имена форм
       button_name: "Пользователь"
       #сгенерированное английское имя
       name: "User"
       package: "com.example"
  3. Файлы *.tmpl содержат шаблоны для генерации кода.

    Пример шаблона для Vue:

    {{$Data := .Data}}
    {{$pre:= "{{"}}
    {{$end:= "}}"}}
    <template>
        <d2-container>
            <template slot="header">
                <el-form :inline="true" :model="listQuery" ref="searchForm" size="mini" style="margin-bottom: -18px;">
                {{ range $Data.SearchColumn }}
                    <el-form-item label="{{.Label}}" prop="{{.Prop}}">
                        {{if eq .Type "input"}}
                        <el-input v-model="listQuery.{{.Prop}}" placeholder="{{.Label}}" style="width: 100px;"/>
                        {{else if eq .Type "select"}}
                        <el-select v-model="listQuery.{{.Prop}}" filterable placeholder="Пожалуйста, выберите {{.Label}}">
                                <el-option label="0" value="0"></el-option>
                        </el-select>
                        {{end}}
                    </el-form-item>
                {{- end }}
                <el-form-item>
                    <el-button type="primary" @click="handleFilter">
                        <d2-icon name="search" /> Поиск{{$Data.ButtonName}}
                    </el-button>
                </el-form-item>
                <el-form-item>
                    <el-button @click="create{{$Data.Name}}">
                        <d2-icon name="create" /> Создать{{$Data.ButtonName}}
                    </el-button>
                </el-form-item>
            </el-form>
        </template>
    
        ...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lwydyby_admin-generator-cli.git
git@api.gitlife.ru:oschina-mirror/lwydyby_admin-generator-cli.git
oschina-mirror
lwydyby_admin-generator-cli
lwydyby_admin-generator-cli
master