Присоединиться к группе "PIGS-BLOG блог обмена опытом": 975875276
feat: новая функция (feature) fix: исправление ошибки (bug) docs: документация (documentation) 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', // тип сообщения, включает 4 типа: 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;
}
/**
* Получение полной информации о пользователе
* Если информация о пользователе не найдена в Redis, то она берется из 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;
}
``````markdown
}
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 Анализ**
**Система выполняет следующие основные функции:**
1. Управление пользователями: регистрация и вход пользователей, публикация статей и комментариев.
2. Управление статьями: публикация и настройка статей пользователями.
3. Управление комментариями: комментирование статей и ответы на комментарии других пользователей.
4. Управление категориями: добавление и удаление категорий, назначение категорий статьям.
5. Управление тегами: добавление и удаление тегов, назначение тегов статьям.
6.
```Управление правами доступа: добавление прав доступа пользователей, CRUD.
7. Управление ролями: добавление ролей пользователей, 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 Управление ролями**
Роли
Изображения


Y60A~EW@UO6GGRE7.png")[Введите описание изображения](https://images.gitee.com/uploads/images/2020/0517/013937_78d145d0_5335816.png "Q7%_X`S88CDY_HJ[92BY922. png")
### Если у вас есть вопросы, свяжитесь со мной по QQ

### Если вам помогло это, пожалуйста, сделайте пожертвование, все полученные ¥ будут использованы для обновления облачного сервера

Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )