Skip to content

vincentwuxi/PlotIOS

Repository files navigation

Plot iOS

叙事旅行探索 App — Plot Web 平台的原生移动伴侣

SwiftUI + SwiftData · iOS 17+ · Swift Package Manager · v1.1.0

功能

  • 🔍 AI 搜索 — 自然语言 POI 搜索,精确/模糊意图自动分流 + 搜索历史
  • 📖 攻略百科 — AI 生成百科全书级游玩攻略,支持离线缓存 + 分享
  • 🗺️ 地图探索 — MapKit 标注 + 行程过滤 + 叙事滤镜
  • 📅 行程管理 — 与 Web 端同步,今日时间线 + 实时导航 + iOS 端创建行程
  • 🏷️ POI 分类 — 8 大分类自动推断 + 横向标签栏筛选
  • 时间排序 — 按预定时间自动排序 + DatePicker 时间选择器
  • 📍 签到笔记 — GPS 签到 + 现场笔记 + 照片记录
  • 📸 拍照识别 — AI 多模态识别景点/建筑/美食 + 4种解读风格
  • 🍽️ 菜单分析 — 拍照翻译菜单,口味/原料/过敏原/美食故事
  • 🌐 实时翻译 — 10语言翻译 + 发音 + 文化贴士
  • 🌤️ 天气感知 — Open-Meteo 实时天气 + 3日预报 + 旅行建议
  • 💡 到达提醒 — POI 地理围栏检测 + 本地通知
  • 🔖 旅行名片 — AI 生成旅行卡片 + 分享/保存
  • 📕 小红书生成 — AI 生成旅行笔记内容
  • Apple 集成 — Siri 快捷指令 + Home Screen Widget
  • 📡 离线模式 — 攻略缓存 + 手动离线切换
  • 🌐 多语言 — 中心化 L10n 枚举 (80+ 字符串)
  • ⚠️ 错误体验 — ErrorBanner Retry + NetworkMonitor 离线横幅

构建 & 测试

# 生成 Xcode 项目
cd PlotIOS && xcodegen generate

# 构建
xcodebuild build -scheme PlotIOS -destination 'platform=iOS Simulator,name=iPhone 16'

项目结构

PlotIOS/
├── App/            # PlotApp + RootView (5 Tabs)
├── Models/         # APIModels + PersistenceModels + POICategory
├── Services/       # 16 个服务
│   ├── APIClient, AuthService, SyncService
│   ├── LocationService, JourneyService
│   ├── PhotoStorageService, WeatherService
│   ├── POIArrivalDetector, OfflineCacheService
│   ├── XiaohongshuService
│   └── AudioRecorderService, SiriIntents...
├── ViewModels/     # ExploreViewModel
├── Views/
│   ├── Auth/       # LoginView
│   ├── Components/ # POICard, AIChatView, QuickRecordSheet
│   │              # TranslationView, MenuAnalysisView
│   │              # PhotoRecognitionView, NearbyDiscoveryView
│   │              # TravelCardView, TripNarrativeView
│   │              # SavedPOIPickerSheet, AddToTripSheet
│   │              # DashboardView, XiaohongshuGeneratorView
│   ├── Explore/    # ExploreTab, NearbyView, DiscoveryView
│   ├── Favorites/  # FavoritesTab
│   ├── Guide/      # GuideView (阅读进度+分享)
│   ├── Map/        # POIMapView (行程过滤)
│   ├── POI/        # POIDetailView
│   ├── Profile/    # ProfileTab, TravelStatsView
│   ├── Trips/      # TripsTab, CreateTripSheet
│   └── Widgets/    # PlotWidgets
└── Extensions/     # DesignSystem, Localization, PlatformCompat

API

直连 Plot Server:

  • 探索: POST /api/discovery/search, /api/poi/guide
  • 行程: /api/trip/plans, /api/trip/sync
  • AI 旅途: /api/journey/ask, /api/journey/nearby, /api/journey/recognize
  • 翻译: /api/journey/translate, 天气: /api/journey/weather
  • 菜单: /api/journey/menu-analyze
  • 小红书: /api/gemini/proxy (content generation)

About

Plot iOS Client - Narrative Travel Planner

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages