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

OSCHINA-MIRROR/jasonlaw1015-GfEasy

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.MD

GfEasy So Easy

Быстрый CRUD-разработчик, даже без необходимости писать код

Автоматическое создание CRUD-кода на основе структуры базы данных

Платформа для низкокодовой разработки

Сокращение рабочей нагрузки на 90% или более

Возможность быстрого преобразования существующей системы в версию GfEasy

Использование GoFrame для бэкенда и cool-admin-vue для фронтенда

Адаптивный дизайн для мобильных устройств и ПК


Видеопрезентация:

«Магический инструмент для создания CRM-системы за одну минуту с помощью GfEasy — отличный генератор кода» https://www.bilibili.com/video/BV1BL411x7qb?spm_id_from=333.999.0.0


Количество звёзд превысило сотню, ограничения генератора кода сняты. Можно использовать генератор кода неограниченное количество раз, без ограничений по количеству или таблицам. Никаких ограничений больше нет.

Бесплатное коммерческое использование! (Пожалуйста, не пишите мне больше об этом ರ_ರ)

Пожалуйста, загрузите новый код и модуль генерации кода.

https://www.yuque.com/docs/share/3e714752-0de1-43e2-96e4-461f4e74fc93?# «Модуль генерации кода»

Новые пользователи могут следовать приведённому ниже процессу:


img.png

GfEasy-мобильный.png


Адрес

Бэкенд:

https://github.com/jasonLaw1015/GfEasy

или

https://gitee.com/jasonlaw1015/GfEasy


Фронтенд для бэкенда:

https://github.com/jasonLaw1015/GfEasyAdmin

или

https://gitee.com/jasonlaw1015/GfEasyAdmin

1. Быстрый старт


Установка среды Go, обратитесь к:

https://goframe.org/pages/viewpage.action?pageId=1114397

Сервер бэкенда:

Используйте редактор GoLand.

Загрузка кода и установка зависимостей

# Клонируйте репозиторий
git clone https://gitee.com/jasonlaw1015/GfEasy.git
# Или
git clone https://github.com/jasonLaw1015/GfEasy.git

Откройте MySQL, создайте базу данных gf-easy и запустите файл db/gf-easy.sql для создания структуры таблицы и инициализации данных.

Настройка MySQL и Redis

Откройте файл /config/config.toml

Настройте в соответствии с вашей локальной средой. img.png

# Форматирование кода
gofmt ./
# Установка и обновление зависимостей
go mod tidy
# Запустите или нажмите кнопку запуска в IDE GoLang;
# После завершения установки запустите следующую команду для запуска службы. Вы можете просматривать веб-сайт в браузере [http://localhost:8000](http://localhost:8000)
go run main.go

img_8.png


Установите инструменты разработки gf

https://goframe.org/pages/viewpage.action?pageId=1115782


Создание документации по интерфейсу

gf swagger --pack

Кросс-компиляция

Запустите следующую команду, чтобы создать исполняемый файл для Linux-среды.

gf build main.go -n my-app -v 1.0 -a amd64 -s linux -p ./

Вы получите исполняемый файл my-app.


Также можно настроить gfcli.build

В файле config.toml настройте:

[gfcli]
    [gfcli.build]
        name     = "GenCode-GfEasy"
        arch     = "all"
        system   = "all"
        mod      = "none"
        cgo      = 0
        pack     = "template"
        version  = "v1.0.0"
        output   = "./bin"
        extra    = ""

Затем запустите:

gf build

Будет создан исполняемый файл для всех платформ в каталоге ./bin.

img100.png

Примечание: Обычно выбирают amd64. Вы можете запустить go env, чтобы узнать, какая у вас архитектура, и выбрать её.

darwin => mac

linux => linux

windows => windows


Frontend для бэкенда Vue

Необходимо установить:

Операционная система с установленным Node.js (>= 12.1.0), @vue/cli.

Я использую версию узла 14.17.6


npm install -g @vue/cli
npm install -g yarn

Чтобы решить проблему медленной работы node-sass, выполните следующие действия:

yarn config set sass-binary-site http://npm.taobao.org/mirrors/node-sass

После этого загрузите репозиторий:

#Клонируйте репозиторий
git clone https://gitee.com/jasonlaw1015/GfEasyAdmin.git
#Или
git clone https://github.com/jasonLaw1015/GfEasyAdmin.git

Установите зависимости:

#В каталоге GfEasyAdmin запустите следующую команду для установки зависимостей
yarn
#Или
npm i

Завершите установку, затем запустите следующую команду для запуска сервера. Вы можете просмотреть веб-сайт в браузере http://localhost:8000.

yarn dev
yarn dev
#Или
npm run dev

Отформатируйте код. В VSCode установите eslint и vetur.

yarn lint:eslint

Соберите и упакуйте проект:

#Будет создан каталог dist, который будет использоваться в производственной среде
yarn build

Посетите:

http://localhost:8000

img_2.png

Имя пользователя: admin Пароль: 123456


Имеет модель управления доступом на основе ролей RBAC.

img.png

img_4.png

Генерация кода [важно]

Предварительное условие: Загрузите ядро ​​генератора кода.

Адрес:

https://www.yuque.com/docs/share/3e714752-0de1-43e2-96e4-461f4e74fc93?# 《Генератор кода》

Загрузите подходящую версию для вашей системы и нажмите «Выполнить».

Результат выполнения: Если появится следующее изображение, это означает, что всё выполнено правильно.

genCodeLog.png

Объяснение:

GOOS: целевая платформа

mac соответствует darwin linux соответствует linux windows соответствует windows

GOARCH: архитектура целевой платформы [386, amd64, arm], в настоящее время большинство персональных компьютеров используют архитектуру amd64

386 также называется x86 соответствует 32-битной операционной системе amd64 также называется x64 соответствует 64-битной операционной системе arm эта архитектура обычно используется для встраиваемых систем. Например, Android, IOS, Win mobile, TIZEN и т. д.

Операция интерфейса

Перейдите в систему -> /Основные инструменты/Генератор кода

img_5.png

Затем следуйте шагам 1, 2 и 3, чтобы настроить соответствующие параметры. Шаг 1: Настроить необходимые параметры среды

Обратите внимание:

Изображение ниже представляет собой конфигурацию для Mac, а для Windows необходимо заменить обратную косую черту на прямую.

Например: D:\develop\go\src\gitee.com\jasonLaw1015\GfEasyAdmin\


![img.png](screenshot/screenshot2/Конфигурация генератора кода 1.png)

Шаг 2: Проверьте правильность данных шага 1. Шаг 3: Начало генерации кода

Шаг 3. Создание кода

После подтверждения:

В GfEasy будут сгенерированы следующие файлы:

app/controller/Admin/DemoGo.go
app/controller/Api/DemoGo.go
app/model/DemoGoModel/DemoGo.go
app/service/DemoGoService/DemoGo.go
router/adminRouter.go
router/apiRouter.go

В GfEasyAdmin будут созданы (весь код для фронтенда будет создан в папке GfEasyAdmin/src/cool/modules/genCode):

GfEasyAdmin/src/cool/modules/genCode/dict/demoGo.ts
GfEasyAdmin/src/cool/modules/genCode/service/demoGo.ts
GfEasyAdmin/src/cool/modules/genCode/views/demoGo.vue

Также будет автоматически создано разрешение и меню, которое будет добавлено во фронтенд-роутер.

Внимание:

Сгенерированный код будет автоматически отформатирован. Если это не сработает, выполните самостоятельно yarn lint:eslint и gofmt. Go не поддерживает горячее обновление, пожалуйста, запустите вручную.

Раздел 2. Основы

Пример

Например, создадим таблицу demo_go;

CREATE TABLE `demo_go` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `createTime` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT '创建时间',
  `updateTime` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '更新时间',
  `title` varchar(255) NOT NULL COMMENT '标题',
  `subTitle` varchar(255) DEFAULT NULL COMMENT '副标题##IsSearchParams',
  `pic` varchar(255) NOT NULL COMMENT '商品主图',
  `types` tinyint(4) NOT NULL COMMENT '类型#1:上架,2:下架',
  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态#1:启用,2:禁用',
  `tupian` varchar(300) DEFAULT NULL COMMENT '图片##IsPicColumn',
  `other` tinyint(4) DEFAULT NULL COMMENT '其他状态#1:已激活,2:未激活#IsDictColumn,IsSearchParams',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
  PRIMARY KEY (`id`),
  KEY `IDX_d8d0d86a0adf1001ce12aaac41` (`createTime`),
  KEY `IDX_9fe44721d1e517fa24383db56b` (`updateTime`),
  FULLTEXT KEY `IDX_91f50fa9907d5ac2c864f175bb` (`title`,`subTitle`) /*!50100 WITH PARSER `ngram` */ 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='示例go';

Генератор кода автоматически определит тип поля и создаст соответствующий тип go и структуру.

mysql 字段类型 go类型
varchar string
int int
DATETIME *gtime.Time
... ...

Go-сторона:

Поле MySQL Тип Go
varchar string
int int
datetime gtime.Time
и т. д. и т. д.

Vue-сторона:

Поле будет проанализировано, а затем будет выбран соответствующий компонент для обработки этого поля. Например: el-input, el-input-number, el-radio-group, cl-upload-space-preview.

2.1 Определение правил таблицы:

Стандартные правила:

  1. Разработайте поле данных, имя поля первичного ключа должно быть id.

  2. Вы можете настроить имена полей createTime и updateTime. Однако рекомендуется использовать createTime.updateTime.

  3. По умолчанию полями условий поиска являются: types, status, name, title, state.

    • Поля name и title используются для поиска по ключевым словам.
  4. Поля изображений: pic, pics, picture, img, image, images.

  5. Поля словаря: types и status.

    • В комментарии к полю словаря необходимо указать соответствующее значение ключа словаря, и оно должно быть первым после #. Обработано с помощью #.
    • Например: types tinyint (4) NOT NULL COMMENT «тип #1: на полке, 2: снято с полки»,
      • 1: на полке и 2: снято с полки будет преобразовано в следующее:
    1 На полке
    2 Снято с полки
  6. Поле сортировки: sort, orderNum.

  7. Имя внешнего ключа должно быть написано полностью и в нижнем регистре. Например, base_a, base_b. В таблице b поле внешнего ключа должно называться baseAId. В противном случае компонент select на стороне переднего плана не будет работать.

Специальные правила:

Иногда я не хочу использовать указанные выше имена полей. Чтобы повысить гибкость, специально предусмотрены специальные обозначения, которые автоматически обрабатывают поля в соответствии с вашими требованиями при добавлении соответствующих обозначений в комментарий. Эти обозначения должны быть добавлены после второго #. Например: другое состояние #1: активировано, 2: неактивно #IsDictColumn, IsSearchParams.

Обозначение Описание Пример
IsSearchParams Используется в основном для условий интерфейса списка img_3.png
IsKeyWordParams В основном используется для условий страницы, используется для поиска по ключевому слову img_4.png
IsDictColumn, IsSearchParams IsDictColumn часто используется вместе с IsSearchParams. Например: другое состояние #1: активировано, 2: неактивное #IsDictColumn, IsSearchParams img_5.png
IsNumberColumn Это поле числового типа, и на передней панели будет использоваться el-input-number для обработки этого поля

Комментарии ( 0 )

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

Введение

Сервер GfEasyAdmin предоставляет интерфейс. Сверхмощные операции CRUD: всё, что можно сделать за минуту, не займёт и дня! Быстрая разработка CRUD с использованием фреймворка, который позволяет обойтись даже без написания одной строки кода; автоматическое создание CRUD-кода на основе структуры таблицы базы данных; использование низкокодового фре... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jasonlaw1015-GfEasy.git
git@api.gitlife.ru:oschina-mirror/jasonlaw1015-GfEasy.git
oschina-mirror
jasonlaw1015-GfEasy
jasonlaw1015-GfEasy
master