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

OSCHINA-MIRROR/tinaroot-pigs-blog

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

Разработка и обмен опытом в группе

Присоединяйтесь к групповому чату: 975875276.

Торжественный релиз онлайн

Демонстрационный адрес.

Способы отправки кода в git

  • feat: новая функция (feature);
  • fix: исправление ошибки;
  • docs: документация;
  • style: форматирование (не влияет на выполнение кода);
  • refactor: рефакторинг (не добавляет новую функцию и не исправляет ошибку, а изменяет код);
  • test: добавление теста;
  • chore: изменения в процессе сборки или вспомогательных инструментах.

Введение

Блог с системой фронтенда Springboot.

Многомодульный springboot:

* модель (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: время отображения (по умолчанию: 2 секунды);
  • type: тип сообщения (успех, ошибка, информация, предупреждение);
  • showClose: показывать ли кнопку закрытия (по умолчанию: нет);
  • autoClose: автоматически ли закрывать (по умолчанию: да).

Сохранение и получение значений из Redis

/**
 * Добавление пользователя
 * В Redis сохраняется id
 * @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;
}

/**
 * Удаление пользователя и удаление его 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. Управление правами: добавлять права пользователей, CURD.
  7. Управление ролями: добавлять роли пользователей, CRUD.

1.3 Функции системы

1.3.1 Управление пользователями

Информация о пользователях включает в себя: идентификатор пользователя, IP-адрес пользователя, имя пользователя, псевдоним, пароль, адрес электронной почты, аватар, дату регистрации, день рождения, возраст, номер мобильного телефона.

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

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

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

1.3.2 Управление блогами

Информация о блоге включает в себя: ID блога, дата публикации, автор блога, заголовок блога, содержание блога, количество лайков, количество ответов, количество просмотров.

Обычные пользователи могут публиковать, изменять, удалять и комментировать блоги, но изменение и удаление ограничены только своими собственными динамическими сообщениями.

Блоги должны быть установлены с категориями и тегами при публикации.

1.3.3 Управление комментариями

Информация о комментариях включает в себя: ID комментария, дата комментария, количество лайков, автор комментария, комментарий к статье, родительский комментарий ID.

Комментарии могут быть оставлены и удалены пользователями, а также могут быть ответом на другие комментарии.

1.3.4 Управление категориями

Информация о категориях включает в себя: ID категории, название категории, альтернативное название категории, описание категории, родительская категория ID.

Только администраторы могут добавлять, удалять и изменять категории.

Категории не только используются для классификации статей, но и служат меню блога.

1.3.5 Управление тегами

Информация о тегах включает в себя: ID тега, название тега, альтернативное имя тега, описание тега.

Администраторы могут добавлять, удалять и изменять теги. 1.3.6 Управление правами доступа

Пользователи, у которых нет прав доступа, не могут выполнять операции.

1.3.7 Управление ролями

Роли

Эффект изображения:

Если у вас есть вопросы, пожалуйста, свяжитесь со мной через QQ

Изображение qq.jpg

Если вам помогла эта информация, пожалуйста, сделайте пожертвование. Все полученные средства будут направлены на обновление облачных серверов.

Изображение U(92(DIEP(M85%H0$LST)VO.png

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

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

Введение

Блог: система фронтенда. Расширить Свернуть
CSS и 4 других языков
AFL-3.0
Отмена

Обновления

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

Участники

все

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

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/tinaroot-pigs-blog.git
git@gitlife.ru:oschina-mirror/tinaroot-pigs-blog.git
oschina-mirror
tinaroot-pigs-blog
tinaroot-pigs-blog
dev