Присоединиться к группе [PIGS-BLOG блог общения] (ID группы: 975875276)
feat: новая функциональность (новый функционал)
fix: исправление ошибки
docs: документация (документирование)
style: форматирование (изменение, которое не влияет на выполнение кода)
refactor: рефакторинг (не добавляет новых функций, а также не исправляет ошибки)
test: добавление тестов
chore: изменения в процессе сборки или вспомогательных инструментах
Фронтенд системы блога
Множественные модули Spring Boot
Модель model
Уровень хранения данных persistence
Представление web
Инструментальная библиотека util
Web зависит от persistence
Persistence зависит от model
Model зависит от util
Связь: web -> persistence -> model -> util
Способ вызова:
$('.btn-success').on('click', function(){
$.message('Успешно');
});
$('.btn-danger').on('click', function(){
$.message({
message: 'Неудачное сообщение',
type: 'error'
});
});
$('.btn-warning').on('click', function(){
$.message({
message: 'Предупреждение',
type: 'warning'
});
});
$('.btn-info').on('click', function(){
$.message({
message: 'Информационное уведомление',
type: 'info'
});
});
Подробное описание параметров:
message: 'Операция успешна', // сообщение
time: '2000', // время показа (по умолчанию: 2 секунды)
type: 'success', // тип сообщения, четыре типа: success, error, info, warning showClose: false, // показывать кнопку закрытия (по умолчанию: нет) autoClose: true // автоматически закрывать (по умолчанию: да)
/**
* Добавление пользователя
* Сохранение ID пользователя в Redis
* @param userEntity
* @return
*/
@Override
public Integer saveUser(UserEntity userEntity) {
Integer insert = userMapper.insert(userEntity);
if (insert > 0) {
redisUtil.sSet("userId", userEntity.getId());
redisUtil.set("user:" + userEntity.getId(), userEntity);
}
return insert;
}
/**
* Обновление пользователя
* Получение информации о пользователе по его ID для обновления
* @param userEntity
* @return
*/
@Override
public Integer updateUser(UserEntity userEntity) {
Integer updateById = userMapper.updateById(userEntity);
if (updateById > 0) {
redisUtil.set("user:" + userEntity.getId(), userEntity);
}
return updateById;
}
/**
* Поиск полной информации о пользователе
* Если информация о пользователе не найдена, она будет получена из MySQL
* @return
*/
@Override
public List<UserEntity> queryUser() {
Set<Object> userId = redisUtil.sGet("userId");
Set<Object> objects = redisUtil.sGet("user:" + userId);
List<UserEntity> userEntityList = userMapper.selectList(null);
if (userEntityList.size() > 0) {
System.out.println("Данные из MySQL=" + userEntityList);
for (UserEntity userEntity : userEntityList) {
redisUtil.set("user:" + userEntity.getId(), userEntity);
}
}
return userEntityList;
}
/**
* Удаление пользователя по ID и удаление ID пользователя из Redis
*
* @param userId
* @return
*/
@Override
public Integer delUser(Integer userId) {
Integer deleteById = userMapper.deleteById(userId);
if (deleteById > 0) {
Long delete = redisUtil.delete("user:" + String.valueOf(userId));
}
return deleteById;
}
1.1 Контекст проекта
Хочется создать свой сайт уже давно. Со временем понимание вещей стало глубже, поэтому выбором текущего проекта стала система личного блога. Шаблон фронта взят с интернета, за что хочу поблагодарить всех авторов открытых проектов. Этот проект используется исключительно для обучения...
1.2 Анализ
Основные функции системы:
Управление пользователями: регистрация и вход пользователей, публикация статей и комментариев.
Управление статьями: возможность публиковать и настраивать статьи на сайте.
Управление комментариями: возможность комментировать статьи и отвечать на комментарии других пользователей.
Управление категориями: добавление и удаление категорий, назначение категории статьям.
Управление метками: добавление и удаление меток, назначение меток статьям.
Управление правами доступа: добавление прав доступа пользователям, CRUD операции.
Управление ролями: добавление ролей пользователям, CRUD операции.
1.3 Функции системы
1.3.1 Управление пользователями
Основная информация о пользователе включает следующие поля: ID пользователя, IP адрес пользователя, имя пользователя, никнейм пользователя, пароль пользователя, электронная почта пользователя, аватар пользователя, дата регистрации, день рождения пользователя, возраст пользователя, номер телефона пользователя.
При регистрации пользователя требуется указать имя пользователя, пароль пользователя, электронную почту или номер телефона.
При входе в систему пользователи могут использовать имя пользователя, электронную почту или номер телефона.
Пользователи могут публиковать статьи, комментарии и ответы, а также добавлять других пользователей в друзья.
1.3.2 Управление статьями
Основная информация о статьях включает следующие поля: ID статьи, дата публикации, автор статьи, заголовок статьи, содержание статьи, количество лайков, количество комментариев, количество просмотров.
Статьи могут быть созданы, изменены и удалены обычными пользователями, но изменения и удаления возможны только для авторов этих статей.
При публикации статьи необходимо указать категорию и метки.
1.3.3 Управление комментариями
Основная информация о комментариях включает следующие поля: ID комментария, дата создания комментария, количество лайков, автор комментария, ID статьи, содержание комментария, ID родительского комментария.
Комментарии могут быть созданы, удалены и отвечены другими пользователями.
1.3.4 Управление категориями
Основная информация о категориях включает следующие поля: ID категории, название категории, псевдоним категории, описание категории, ID родительской категории.
Только администратор может добавлять, удалять и изменять категории.Категории используются не только для разделения статей, но и как меню сайта.
1.3.5 Управление метками
Основная информация о метках включает следующие поля: ID метки, название метки, псевдоним метки, описание метки.
При публикации статьи можно указать метки, которые используются не только для разделения статей, но и как меню сайта.
1.3.6 Управление правами доступа
Пользователи без соответствующих прав не смогут выполнять действия.
1.3.7 Управление ролями
Роли
Эффекты
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )