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

OSCHINA-MIRROR/falle22222n-leaves-vue_-book-manage-system_backend

GitLife Service Account

Добавлено использование модели Alibaba, оптимизировано использование модели AI iFly StarFire, поддерживается история запросов и многоканальное общение, добавлен Redis-кэш.

2023-11

Обновления на серверной стороне

  1. Переключение AI-модели для пользовательских чатов на модель Alibaba Qwen Plus, поддерживающую историю запросов и многоканальное общение. Больше не используется модель AI iFly StarFire, но инструменты остаются доступными. Это сделано для более быстрого ответа, а также благодаря более подробной документации Alibaba, позволяющей настраивать диалог. При вводе пользователем информации, не связанной с рекомендациями книг, система будет отклонять запрос.

  2. Добавлен cron-задача IncSyncDeleteAIMessage, которая ежедневно удаляет записи с пустыми ответами AI из-за системных ошибок и восстанавливает количество доступных запросов для пользователей. В будущем возможно использование RabbitMQ для помещения сообщений об ошибках в очередь и гарантии их обработки.

  3. Шифрование при входе перемещено с фронтенда на бэкенд, так как фронтенд может быть взломан. Схема: передача данных с фронта с использованием HTTPS для шифрования, шифрование на бэкенде с использованием соли и алгоритма, хранение зашифрованных данных в базе данных.

  4. Страница с отзывами хранится в Redis, что уменьшает количество запросов к базе данных, увеличивая QPS в несколько сотен раз.Обновления на клиентской стороне

  5. Изменение фоновых изображений и аватаров на страницах входа на изображения, хранящиеся в папке images в assets, чтобы упростить использование проекта для пользователей, которые не знакомы с технологией хостинга изображений.

  6. Улучшение оповещений при смене прав доступа, теперь текстовые подсказки для смены прав доступа отображаются над иконками, указывая на возможность смены страниц входа.

  7. Шифрование при входе перемещено с фронтенда на бэкенд, так как фронтенд может быть взломан. Схема: передача данных с фронта с использованием HTTPS для шифрования, шифрование на бэкенде с использованием соли и алгоритма, хранение зашифрованных данных в базе данных.

Последнее сообщение коммита: Merge branch 'master' of gitee.com:falle22222n-leaves/vue_-book-man...
23.04.2025 18:58
GitLife Service Account

Обновление системы управления библиотекой версии 1.1 включает добавление двух функций AI-интерфейсов, а также введение ограничений на количество запросов и механизмов тайм-аута на серверной стороне.

Последнее сообщение коммита: ReadMe.md更新
GitLife Service Account

Итерации версий

19. 03. 2023

  1. Введена зависимость knife4j для использования Swagger + Knife4j для автоматического генерирования документации API в формате OpenAPI. Передняя часть может использовать плагины для автоматического генерирования кода запросов API, что снижает затраты на взаимодействие между фронтендом и бэкендом.
  2. Введена зависимость jsoup для возможности добавления кастомизированной функции пауков, что позволяет добавлять книги в большом количестве и использовать более реальные данные.
  3. Добавлен менеджер транзакций, который позволяет использовать аннотацию @Transactional для указания типов исключений для отката и поведения распространения транзакций.

13. 04. 2023

  1. Вручную добавлены аннотации @Transactional на сложных операциях базы данных, связанных с добавлением и удалением. В случае возникновения исключений во время выполнения, база данных будет откатываться, что предотвращает логические ошибки при выдаче и возврате книг.
  2. Исправлен баг с невозможностью выдачи книг с 11-значным кодом. Причина заключалась в том, что 11 цифр превышают максимальное значение Integer (2147483647, 10 цифр). Решение: база данных была изменена на BigInt, а Java на Long.
  3. Внимание: не удаляйте пользователей и объявления произвольно! Это может привести к логическим ошибкам для других пользователей! Пожалуйста, понимайте логику проекта перед тем, как удалять!Спасибо за сотрудничество!
  4. В следующей итерации планируется оптимизация отображения графиков, включая предупреждения о просроченных книгах. Спасибо за поддержку, я буду продолжать поддерживать и улучшать функции. Если вы обнаружите баги, вы можете добавить меня в QQ или создать issue. Не злоупотребляйте багами, спасибо за сотрудничество.
  5. В преддверии Дня труда планируется записать видео по развертыванию проекта и разместить его на Bilibili. Это позволит объяснить процесс развертывания, что поможет студентам завершить курсовые и дипломные работы. В этом проекте есть дизайн таблиц базы данных, документация API, описание функций и описание особенностей. Единственное, что может быть недоступным, это диаграммы потока данных и ER-диаграммы. Если количество звезд на проекте увеличится, я добавлю эти элементы.

01. 05. 2023

  1. Добавлены функции управления системой для пользователей с правами "Системный администратор", добавлен график анализа типов выдачи книг (пирог) с использованием Echarts.
  2. Оптимизирована отображаемая задержка при отсутствии данных, добавлен статус "загрузка", используется v-loading (компоненты библиотеки ElementUI), оптимизирована пользовательская интерактивная среда, что обеспечивает хорошую интерактивность при медленном ответе сервера.
    3.Оптимизация слайдера: сжатие размера изображений, использование ленивой загрузки в Swiper, что позволяет отображать статус загрузки изображений, а затем отображать изображения только после полной загрузки, оптимизация процесса пользовательского опыта.
  3. В бэкенде добавлены пользовательские перечисления кодов ошибок, что позволяет возвращать пользовательские коды состояния, сохраняя существующие перечисления.
  4. Оптимизация отображения некоторых таблиц в фронтенде, когда содержимое таблицы слишком длинное, установлен максимальный размер таблицы, что позволяет отображать полосу прокрутки при превышении этого размера. Оптимизация ширины столбцов таблицы, повышение эстетики таблицы.
  5. Добавлен компонент управления книгами с функцией массового удаления книг, что улучшает опыт работы администратора, позволяя не удалять книги по одной, повышая эффективность.
  6. Jmeter для проведения нагрузочного тестирования, серверные интерфейсы при 100 одновременных пользователях достигают QPS более 50.

2023-05-20

Обновление серверной части

  1. Предотвращение получения нешифрованного пароля при перехвате пакетов, пароль вводится на клиенте, шифруется с помощью MD5 (смешанная соль, чтобы предотвратить коллизии), сервер сравнивает зашифрованный пароль с паролем в базе данных, если они совпадают, вход считается успешным.Улучшение безопасности системы.
  2. Улучшение контроллерного слоя, перенос всех бизнес-кодов в слой сервисов, контроллер вызывает сервис, а аннотацию @Transactional перемещает в бизнес-лог, что снижает耦合度,使控制器不再臃肿。 实现对扩展开放,对修改关闭。 后续考虑使用设计模式优化代码和多线程知识,提高在高并发下接口响应速度。
  3. Сравнение с руководством Alibaba для улучшения кода, уменьшение предупреждений, более красивый и стандартизованный код.
  4. Исправление ошибок: пустое время аренды, что приводит к перегрузке сервера. Пустая дата возврата, но все равно отображается успешная аренда книги. (Решение: проверка параметров времени, проверка на пустоту).
  5. Ситуация с добавлением утилит: SQLUtils (защита от SQL-инъекций), NetUtils (сетевые утилиты).
    Обновление клиентской части
  6. Изменение метода загрузки маршрутов на ленивую загрузку, что позволяет эффективно распределить нагрузку на главную страницу, уменьшая время загрузки главной страницы.
  7. Добавление страницы 404, когда пользователь пытается получить несуществующую страницу, он переходит на страницу 404, улучшая опыт пользователя.
  8. Добавление состояния загрузки для кнопок, улучшение человеко-машинного взаимодействия, повышение опыта пользователя. Изменение кнопок: кнопка входа, другие кнопки можно настроить по необходимости, добавив: loading="loading".
    Ситуация с исправлением ошибок
    1.Книги с 11-значным номером могут быть взяты, но не могут быть проверены на просрочку, обнаружено, что параметры метода все еще являются Integer, а предыдущие изменения для аренды и возврата книг были сделаны на Long, поэтому возникла проблема, которая уже была исправлена.
Последнее сообщение коммита: 个人信息添加
1
https://api.gitlife.ru/oschina-mirror/falle22222n-leaves-vue_-book-manage-system_backend.git
git@api.gitlife.ru:oschina-mirror/falle22222n-leaves-vue_-book-manage-system_backend.git
oschina-mirror
falle22222n-leaves-vue_-book-manage-system_backend
falle22222n-leaves-vue_-book-manage-system_backend