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

OSCHINA-MIRROR/kalvinmy-kvf-admin

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

kvf-admin

kvf-admin — это набор инструментов для быстрой разработки, фреймворк, бэкенд-система администрирования и система управления правами доступа. Она проста в использовании и готова к применению сразу после установки. Система предназначена для того, чтобы избавить разработчиков от большого объёма повторяющегося кода и дать им больше времени на общение с близкими и друзьями.

Техническая группа обмена: 214768328

  • Бэкенд использует spring boot, mybatis (с интегрированным плагином mybatis-plus для ускорения разработки; см. официальную документацию: mybatis-plus), а также фреймворк shiro.
  • Фронтенд использует layui в качестве UI-фреймворка, обеспечивая 90% адаптивности под мобильные устройства и поддержку смены тем.
  • Предоставляется генератор кода (документация по использованию wiki), который позволяет создавать до 80% кода автоматически. Поддерживается генерация как отдельных функций, так и пакетов функций с возможностью настройки и генерации кода, что обеспечивает гибкость.

Основные функции фреймворка

  • Управление пользователями.
  • Управление отделами.
  • Управление меню.
  • Управление ролями.
  • Управление словарями.
  • Ведение журнала операций.
  • Генерация кода.
  • Компонентное управление.

kvf-admin-activiti (версия для рабочего процесса OA)

kvf-admin-activiti представляет собой фреймворк kvf-admin с интегрированным движком рабочих процессов (activiti6) и основными функциями рабочего процесса (OA). В настоящее время версия рабочего процесса всё ещё находится на начальной стадии разработки и код может быть не оптимизирован.

Примечание: версия рабочего процесса находится в ветке «activiti».

Основные функции:

  • API ядра (поддержка запуска процессов, отправки задач, отклонения, отклонения на любой этап, отклонения первого этапа, отзыва, приостановки/активации процессов и т. д.).
  • Управление процессами (поддержка онлайн-дизайнера процессов, публикации/развёртывания, приостановки, активации, экспорта/импорта, настройки форм, запуска, удаления).
  • Управление формами (поддержка быстрого создания форм онлайн, добавления/удаления/изменения/поиска форм, предварительного просмотра форм).
  • Мои процессы (подача заявок на запуск процессов).
  • Мои задачи (быстрое выполнение задач, просмотр задач и форм выполнения, история утверждений, текущий поток процессов).
  • Мои завершённые (поддержка отзыва функций).
  • Мои заявки (просмотр всех текущих заявок пользователей).

Журнал обновлений

👳👉‍点我点我点我

Структура проекта

kvf-admin

│ pom.xml maven依赖管理pom文件

├─sql
│      kvf_sys.sql  项目初始化数据表及基础数据sql脚本

└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─kalvin
    │  │          └─kvf
    │  │              │  KvfAdminApplication.java   项目启动类
    │  │              │  
    │  │              ├─common  通用模块
    │  │              └─modules 功能模块
    │  │                  ├─generator   代码生成器模块
    │  │                  └─sys 系统模块(核心)
    │  └─resources
    │      │  application.yml   spring boot 配置文件
    │      │  ehcache.xml   ehcache缓存配置文件
    │      │  
    │      ├─mapper mybatis mapper文件
    │      ├─static 静态资料
    │      └─templates  模板
    │          │  403.html  403页面
    │          │  home.html 系统首页页面
    │          │  index.html   主页
    │          │  login.html   登录页
    │          │  
    │          ├─common 通用模板
    │          │      base.html
    │          │      sys_tpl.html
    │          │      
    │          ├─generator  生成器模板
    │          │          
    │          └─sys    系统页面模板

    └─test  单元测试块

Требования к программному обеспечению

  • jdk8+
  • mysql5.7+

Используемые технологии

Фронтенд

  • jQuery
  • layui v2.5.6 (UI-фреймворк)

Бэкенд

  • spring boot v2.2.4.RELEASE
  • Mybatis
  • Mybatis-plus v3.3.0 (mybatis增强插件, без внедрения. Очень мощный плагин, за исключением соединения таблиц, почти все операции можно выполнить с помощью его SQL-конструктора условий)
  • Shiro v1.4.0
  • Druid v1.1.21
  • ehcache
  • redis
  • hutool-all v4.5.1 Перевод текста на русский язык:

Java-универсальный инструмент, класс

Этот пакет включает в себя почти все распространённые инструменты. Вы можете импортировать соответствующие модули по необходимости.

Особенности проекта:

  • Очень компактная и лёгкая система разрешений. Код лаконичный и понятный. Проект прост в освоении и использовании.
  • Есть конфигуратор интерфейса, который поддерживает генерацию кода одним нажатием и простую настройку конфигурации.
  • Автоматически фильтрует вводимые недопустимые строки, предотвращая атаки XSS.
  • Ehcache и Redis используются как кэш. Для методов, требующих добавления кэша, просто добавьте аннотацию @Cacheable (вы также можете использовать redisTemplate для получения кэша). Это повышает скорость работы системы.
  • Поддерживает ведение журнала. Просто добавьте аннотацию @Log («бизнес-операция примечание») к методу контроллера, требующему ведения журнала операций.
  • Система имеет глобальную унифицированную обработку исключений. Все сообщения об исключениях обрабатываются единообразно и возвращаются в виде объекта R. Это упрощает обработку сообщений об ошибках на стороне клиента.
  • Поддержка рабочего процесса (OA).
  • Идеальная поддержка различных методов развёртывания (jar, tomcat, docker и т. д.).

Локальное развёртывание:

  1. Загрузите исходный код с помощью git/gitee (рекомендуется использовать git, поскольку gitee не обновляется в реальном времени), если это версия рабочего процесса OA, клонируйте ветку activiti.
  2. Создайте базу данных: выполните скрипт sql/kvf_admin.sql для создания базы данных и таблиц и инициализации основных данных системы. Если это версия рабочего процесса OA, необходимо дополнительно выполнить скрипт sql/kvf_admin_activiti.sql.
  3. Измените файл конфигурации среды разработки application-dev.yml и настройте учётные данные базы данных.
  4. В среде разработки (IDE) необходимо установить плагин lombok, иначе будет сообщено об ошибке «не найден метод get/set класса сущности».
  5. Запустите KvfAdminApplication.java, чтобы запустить проект [kvf-admin].
  6. Доступ к запуску в IDE: http://localhost/ [обычно IDE автоматически удаляет имя проекта] [здесь используется порт 80].
  7. Доступ к запуску в Eclipse: http://localhost/kvf-admin [здесь используется порт 80].
  8. Имя пользователя и пароль: admin/123456.

Развёртывание в Linux:

Примечание: перед любым из следующих способов развёртывания необходимо инициализировать базу данных.

Упаковка:

  • Среда разработки (dev):
mvn package -P dev
  • Тестовая среда (test):
mvn package -P test -Dmaven.test.skip=true
  • Производственная среда (prod):
mvn package -P prod -Dmaven.test.skip=true

Развёртывание с использованием jar-пакета:

Проект уже решил проблему невозможности чтения файлов и других проблем при запуске в виде jar-файла, поэтому вы можете смело его использовать.

  • Запуск:
nohup java -jar kvf-admin.jar &

Развёртывание с использованием tomcat:

Перед упаковкой сначала измените pom.xml на упаковку war.

<packaging>war</packaging>
  • Запуск: скопируйте war-пакет в каталог webapps tomcat и перейдите в каталог bin для выполнения:
./startup.sh

Docker-развёртывание:

Предварительные условия: установите docker и docker-compose.

  • Перейдите в каталог kvf-admin и создайте образ docker после упаковки (см. выше).
mvn docker:build
  • Перейдите в ./docker-compose и измените конфигурацию docker-compose (необязательно).
vim docker-compose.yml
vim .env
  • Запустите (запустите все образы):
docker-compose up -d
  • Или запустите указанный образ:
docker-compose up -d kvf-admin

Демонстрация проекта:

Презентация системы:

Система эффект Система эффект Система эффект Система эффект Система эффект

Руководство по разработке:

  • Frontend-конфигурация kconfig.js.
  • Frontend-инструмент kcommon.js.
  • Конфигурация base.html для управления статическими файлами, на которые есть ссылки. Например, для ссылки на общий css: <link th:replace="common/base::static"/>.
  • Пользовательская аннотация журнала @Log («описание бизнес-операции») [com.kalvin.kvf.common.annotation.Log]. Добавьте эту аннотацию к контроллеру, который требует ведения журнала.
  • Используйте ссылку для кеширования: добавьте аннотацию @Cacheable(value="cache_name") к методам, которые требуют добавления кеша. Также можно использовать redisTemplate для удаления и обновления кеша.
  • Генератор кода использует документацию по ссылке.
  • SpringContextKit.java — это инструмент для контекста Spring. Его можно использовать для ручного получения указанного bean-компонента. Например: IUserService userService = SpringContextKit.getBean(IUserService.class);.
  • KvfException.java — класс обработки исключений, используемый в бизнес-слое [service] для выдачи бизнес-исключений. Например: throw new KvfException("Не существует задачи ID");, клиент может получить это сообщение об ошибке.
  • R.java — класс для инкапсуляции данных ответа. Используется в контроллере [controller] для возврата успешных или неудачных данных. Например: R.ok(data); или R.fail("Проверка кода неверна");.
  • В среде разработки [dev] вход с проверкой кода по умолчанию отключен. Если вам нужно включить проверку кода, вы можете включить её в файле application-dev.yml.
  • Общий интерфейс загрузки файла: CommonController->fileUpload.

С нетерпением ждём:

  • Версия vue-admin.

Часто задаваемые вопросы:

1. Некоторые пользователи сообщают об ошибке: org.apache.ibatis.binding.BindingException: Параметр 'xxx' не найден. Доступные параметры: [0, 1, param1, param2].

Почему некоторые люди получают ошибки, а некоторые нет? Ответ см. в этой статье по ссылке.

Решение:

  • Вариант 1: возможно, они используют старую версию IDEA, потому что старая версия IDEA по умолчанию не добавляет опцию -parameters. Необходимо добавить вручную (в статье подробно описано). Или обновите версию IDEA.
  • Вариант 2: добавьте аннотацию @Param к параметрам метода mapper.

2. MybatisPlus имеет встроенные методы crud, которые по умолчанию будут соответствовать данным таблицы на основе полей сущности camelCase. Как настроить, чтобы отключить автоматическое преобразование?

Глобальная конфигурация:

В конфигурации map-underscore-to-camel-case установите значение true, mybatisplus будет автоматически преобразовывать поля camelCase в соответствии с полями таблицы данных, например: myColumn (поле сущности) -> my_column (поле таблицы). map-underscore-to-camel-case:true. Аналогично, установите значение false, myColumn (поле сущности) -> myColumn (поле таблицы). map-underscore-to-camel-case:false.

Локальная конфигурация:

Если вам нужны только некоторые таблицы или поля, вы можете настроить поле сущности с аннотацией @TableField (value = "имя поля таблицы") для указания имени поля таблицы данных, например:

@TableField(value = "myColumn")
private String myColumn;
``` Если вам интересно следить за последними изменениями в проекте, пожалуйста, поставьте проекту «Watch» и «Star», это также будет лучшей поддержкой для проекта.

Группа для общения: 214768328.
<p>
    <img width="150" src="http://cloud.kalvinbg.cn/image/kvf_code.png" alt="Техническая группа для общения">
</p>

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

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

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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