MobileMkch/README.md
2025-08-06 10:19:15 +03:00

6.6 KiB
Raw Blame History

MobileMkch

Мобильный клиент для борды mkch.pooziqo.xyz

Возможности

  • Просмотр всех досок Мкача
  • Просмотр тредов в каждой доске
  • Просмотр деталей треда и комментариев
  • Поддержка изображений и видео
  • Темная/светлая тема
  • Навигация с кнопкой "Назад"
  • Улучшенный заголовок с статическими кнопками
  • Система настроек с сохранением:
    • Тема (темная/светлая)
    • Последняя посещенная доска
    • Автообновление
    • Показ файлов
    • Компактный режим
  • Полная поддержка постинга:
    • Аутентификация по ключу
    • Аутентификация по passcode
    • Создание тредов
    • Добавление комментариев
    • Автоматическое обновление после постинга
    • Кнопка "Обновить" для ручного обновления
  • Поддержка Android и iOS
  • Оптимизации для мобильных устройств:
    • Кэширование данных для быстрой загрузки
    • Дебаунсинг UI обновлений
    • Оптимизация потребления батареи
    • Агрессивная сборка мусора на мобильных
    • Ограничение частоты сетевых запросов
  • Многостраничность для списка тредов:
    • Настраиваемый размер страницы (5-20 тредов)
    • Навигация между страницами
    • Ограничение тредов для больших досок
  • Управление кэшем:
    • Очистка кэша досок
    • Очистка кэша тредов для всех досок
    • Очистка кэша деталей тредов
    • Очистка всего кэша

Аутентификация и постинг

Настройка аутентификации

  1. Откройте настройки в приложении
  2. Введите ключ аутентификации (если есть)
  3. Введите passcode для постинга (если есть)
  4. Используйте кнопки "Тест ключа" и "Тест passcode" для проверки

Создание тредов

  1. Перейдите в нужную доску
  2. Нажмите "Создать тред"
  3. Заполните заголовок и текст
  4. Нажмите "Создать тред"

Добавление комментариев

  1. Откройте тред
  2. Нажмите "Добавить комментарий"
  3. Введите текст комментария
  4. Нажмите "Добавить комментарий"

Автоматическое обновление

  • После создания треда автоматически обновляется список тредов
  • После добавления комментария автоматически обновляется список комментариев
  • Используйте кнопку "Обновить" для принудительного обновления

Сборка

Desktop

go build
./MobileMkch

Android

  1. Установите Android Studio (включает SDK и NDK):
# macOS
brew install --cask android-studio

# Или скачайте с https://developer.android.com/studio
  1. Установите Fyne CLI:
go install fyne.io/fyne/v2/cmd/fyne@latest
  1. Настройте переменные окружения:
export ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk
  1. Соберите APK:
fyne package --os android --app-id com.mkch.mobile
  1. Установите на устройство:
adb install MobileMkch.apk

iOS

  1. Установите Xcode из App Store

  2. Установите Fyne CLI:

go install fyne.io/fyne/v2/cmd/fyne@latest
  1. Соберите IPA:
fyne package --os ios --app-id com.mkch.mobile
  1. Откройте в Xcode:
open MobileMkch.xcodeproj
  1. Подпишите и установите через Xcode или TestFlight

iOS И Android сборка протестирована и работает!

Требования

  • Go 1.24+
  • Fyne v2.6.2
  • Android SDK (для Android)
  • Xcode (для iOS)

Технологии

  • Go 1.24+
  • Fyne v2.6.2
  • HTTP клиент для API с поддержкой сессий
  • Система кэширования с TTL

Структура

  • main.go - точка входа
  • api/client.go - HTTP клиент для mkch API с поддержкой аутентификации
  • models/models.go - структуры данных
  • settings/settings.go - система настроек
  • cache/cache.go - система кэширования с поддержкой пагинации
  • ui/ - пользовательский интерфейс
    • manager.go - управление экранами
    • boards_screen.go - список досок
    • threads_screen.go - треды доски
    • thread_detail_screen.go - детали треда с кнопкой обновления
    • create_thread_screen.go - создание тредов
    • add_comment_screen.go - добавление комментариев
    • settings_screen.go - экран настроек с тестированием аутентификации
    • optimization.go - утилиты оптимизации
  • mobile_optimizations.go - оптимизации для мобильных устройств

Интересный факт!

Но данный клиент имеет обратную совместимость с поддержкой ПК! А настройки хранятся в файле settings.json в папке ~/.config/mkch/ и вы можете их использовать на ПК! Я оффициально поддерживаю этот функционал потому что клиент первым запускается на моем ПК, а только затем тестируется на мобильных устройствах.

Сборка проста, go build и запускайте ./MobileMkch (или с .exe если винда)