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

OSCHINA-MIRROR/eruditeLoong-forallcn-iotps

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

Jeecg-Boot: платформа для разработки с низким уровнем кода

/Users/zhouwenrong/emqx/bin/emqx start

Текущая версия: 2.2.1 (дата выпуска: 20200713)

Архитектура серверной части

  • Базовая структура: Spring Boot 2.1.3.RELEASE
  • Структура постоянного слоя: Mybatis-plus_3.3.2
  • Структура безопасности: Apache Shiro 1.4.0, Jwt_3.7.0
  • Пул соединений с базой данных: Druid 1.1.17 от Alibaba
  • Фреймворк кэширования: Redis
  • Логирование: logback
  • 3D фреймворк: threejs
  • Сетевой сервисный фреймворк: netty
  • Прочее: fastjson, poi, Swagger-ui, quartz, lombok (для упрощения кода) и др.

Среда разработки

  • Язык: Java 8
  • IDE (JAVA): Eclipse с установленным плагином Lombok или IDEA
  • Управление зависимостями: Maven
  • База данных: MySQL5.0 и Oracle 11g
  • Кэширование: Redis

Техническая документация

Специальная документация

1. Использование фильтра запросов

QueryWrapper<?> queryWrapper = QueryGenerator.initQueryWrapper(?, req.getParameterMap());

Пример кода:

@GetMapping(value = "/list")
public Result<IPage<JeecgDemo>> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
            HttpServletRequest req) {
    Result<IPage<JeecgDemo>> result = new Result<IPage<JeecgDemo>>();

    // Вызов QueryGenerator.initQueryWrapper
    QueryWrapper<JeecgDemo> queryWrapper = QueryGenerator.initQueryWrapper(jeecgDemo, req.getParameterMap());

    Page<JeecgDemo> page = new Page<JeecgDemo>(pageNo, pageSize);
    IPage<JeecgDemo> pageList = jeecgDemoService.page(page, queryWrapper);
    result.setSuccess(true);
    result.setResult(pageList);
    return result;
}
  • Правила запроса (это правило не применимо к расширенным запросам, расширенные запросы имеют соответствующие типы запросов на выбор): | Режим запроса | Использование | Описание | | --- | --- | --- | | Нечеткий запрос | Поддерживает нечеткий поиск слева и справа и полный нечеткий поиск. Необходимо добавить * перед или после ввода или полностью добавить * | | | Запрос исключения | Перед полем запроса введите !, чтобы запросить данные, которые не равны значению ввода (тип числового значения не поддерживает этот вид запроса, можно определить тип поля как строковый) | | | > >= < <= | То же, что и запрос исключения. Введите соответствующий специальный символ перед вводом, чтобы выполнить соответствующий запрос правила | | | in запрос | Если переданные данные содержат запятую (,), это означает, что это запрос in | | | Многополевой нечеткий запрос | Существует особый случай для вышеуказанных четырех. Если перед и после определенного поля запроса есть запятая, это поле будет рассматриваться как этот режим запроса. Этот режим запроса заключается в разделении условий запроса запятой и выполнении поиска по каждому элементу с использованием like, а затем объединении результатов с помощью or. Например, если значение name равно a, b, c, то результирующий SQL будет выглядеть следующим образом: name like '%a%' or name like '%b%' or name like '%c%' | |

2. AutoPoi (EXCEL инструмент — EasyPOI эволюционировал и был переработан)

Онлайн-документы: https://github.com/zhangdaiscott/autopoi

3. Генератор кода

Описание функции: генерация кода одним щелчком мыши (включая: controller, service, dao, mapper, entity, vue)

— Расположение шаблона: src/main/resources/jeecg/code-template — Техническая документация: http://doc.jeecg.com/1273927

4. Пример использования проверки дублирования кода

Эффект повторной проверки: Входное изображение

  1. Импортируйте интерфейс проверки дубликатов, код выглядит следующим образом:
import { duplicateCheck } from '@/api/api'
  1. Найдите код переднего плана с обязательными правилами проверки кодирования, код выглядит следующим образом:
<a-input placeholder="Пожалуйста, введите код" v-decorator="['code', validatorRules.code ]"/>

code: {
            rules: [
              { required: true, message: 'Пожалуйста, введите код!' },
``` **1. Проверка кода**

{validator: this.validateCode}
            ]
          },
  1. Найдите в rules метод validator, соответствующий методу, и используйте интерфейс для проверки на дублирование, который был импортирован на первом шаге.

В качестве примера рассмотрим форму онлайн-пользователя, где есть четыре обязательных параметра:

  {tableName:表名,fieldName:字段名,fieldVal:字段值,dataId:表的主键},

Конкретное использование кода выглядит следующим образом:

    validateCode(rule, value, callback){
        let pattern = /^[a-z|A-Z][a-z|A-Z|\d|_|-]{0,}$/;
        if(!pattern.test(value)){
          callback('编码必须以字母开头,可包含数字、下划线、横杠');
        } else {
          var params = {
            tableName: "onl_cgreport_head",
            fieldName: "code",
            fieldVal: value,
            dataId: this.model.id
          };
          duplicateCheck(params).then((res)=>{
            if(res.success){
             callback();
            }else{
              callback(res.message);
            }
          })
        }
      },

2. Docker-образы

Обратите внимание: если у вас локально установлены mysql и redis, перед запуском контейнера остановите эти службы, иначе возникнет конфликт портов.
       net stop redis
       net stop mysql
 
# 1. Измените файл конфигурации проекта application.yml
    active: docker

# 2. Перейдите в корень проекта maven и выполните команду сборки
    mvn clean package
 

# 3. Создайте образ __контейнер (при изменении локального кода можно перестроить образ)
    docker-compose build

# 4. Настройте хост

    127.0.0.1 zhouwr.iot

# 5. Запустите образ __контейнера (можно также заменить работающий образ)
    docker-compose up -d

# 6. Получите доступ к бэкэнду проекта (обратите внимание, что необходимо включить swagger)
    http://localhost:8080/jeecg-boot/doc.html

3. Платформа IoT

Быстрая установка

1. Скачайте код

https://gitee.com/eruditeLoong/forallcn-iotps.git

2. Импортируйте проект в idea

1. Откройте idea.
2. Выберите «Файл» → «Открыть».
3. Измените конфигурацию файла.

3. Измените конфигурационный файл

1. Откройте файл jeecg-boot-system/src/main/resources/application-dev.yml.
2. Измените настройки базы данных:
    адрес: spring.datasource.dynamic.datasource.master.url
    имя пользователя: spring.datasource.dynamic.datasource.master.username
    пароль: spring.datasource.dynamic.datasource.master.password
    драйвер: spring.datasource.dynamic.datasource.master.driver-class-name
3. Измените настройки redis:
    адрес: spring.redis.host
    порт: spring.redis.port
4. Измените настройки mqtt-сервиса:
    mqtt.username
    mqtt.password
    mqtt.url
5. Измените каталог хранения файлов:
    jeecg.path.upload
    jeecg.path.webapp

4. Соберите проект с помощью maven

Используйте команду maven для сборки проекта.

В корневом каталоге проекта выполните следующую команду:

mvn clean package -Dmaven.test.skip=true

5. Экспортируйте HTML-код пользовательского интерфейса

npm install
vue-cli-service build

6. Установка и развёртывание с использованием docker

Если вы используете docker на Mac или Windows, то java-сервисы должны запускаться непосредственно из jar-файла, а все остальные сервисы должны быть развёрнуты в docker.
На Linux-системах все программы должны быть развёрнуты внутри docker.

Один: Mac или windows
1. Откройте файл docker-compose.yml.
2. Прокомментируйте часть services.jeecg-boot.
3. Измените порт mysql, пароль root, пути к томам, например:
  для mac:
  - /Users/пользовательский каталог/docker/mysql/conf:/etc/mysql
  - /Users/пользовательский каталог/docker/mysql/data:/var/lib/mysql
для windows:
- D:/docker/mysql/conf:/etc/mysql
- D:/docker/mysql/data:/var/lib/mysql
4. Откройте командную строку, перейдите в каталог, где находится файл docker-compose.yml, и выполните команду docker-compise up -d. Дождитесь завершения выполнения.
5. Запустите jar-файл на вашем компьютере.

Два: Linux
1. Откройте файл docker-compose.yml.
2. Измените порт mysql, пароль root и пути к томам, например:
- /home/docker/mysql/conf:/etc/mysql
- /home/docker/mysql/data:/var/lib/mysql
4. Откройте командную строку, перейдите в каталог, где находится файл docker-compose.yml, и выполните команду docker-compise up -d. Дождитесь завершения выполнения.

7. Конфигурация nginx

1. Скопируйте файлы пользовательского интерфейса.

Для пользователей Mac скопируйте содержимое каталога dist в /Users/каталог пользователя/docker/iotps/nginx/html. Для пользователей Windows скопируйте содержимое каталога dist в D:/docker/iotps/nginx/html. Для пользователей Linux скопируйте содержимое каталога dist в /home/docker/iotps/nginx/html.

2. Добавьте файл конфигурации nginx.

worker_processes  1;

events {
  worker_connections  1024;
}

http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;

  server {
    listen       80;
    server_name  zhouwr.iot;

    location / {
      root   /home/iotps/html; #docker虚拟机前端页面文件的路径
      try_files $uri $uri/ /index.html;
      index  index.html index.htm;
      if (!-e $request_filename) {
          rewrite ^(.*)$ /index.html?s=$1 last;
          break;
      }
    }
  
    location /prod-api/{
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://192.168.17.1:8080/jeecg-boot000/;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
  }
}

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

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

Введение

Платформа интернета вещей, разработанная на основе открытого проекта jeecg-boot, интегрирует сетевой сервис-фреймворк netty и предоставляет сетевые протоколы связи TCP и MQTT. Интегрирован трёхмерный веб-рендерер threejs с использованием WebGL, который позволяет динамически загружать модели устройств платформы. В платформе реализованы настраива... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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