Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

programmelearn/Mood-Example

Repository files navigation

Preview1


Logo Mood Example

Mood-Example v1.9.11 Flutter v3.27.1 Dart v3.6.0 BSD-3-Clause License


🐦 简介

情绪记录 样例工程
管理自己的情绪,记录当下所见所想,以及其他实验室功能(不定期更新一些功能)
运用 Flutter 的工程,主要目的是学习、实践。

Note

注意:由于是学习实践工程,所以重点在于学习,许多业务逻辑可能并不符合现实。
Emoji 因设备缘故,会存在不同样式。

🌏 相关网站

Flutter 官网(中文):https://flutter.cn/
Flutter 官网(英文):https://flutter.dev/
Packages (原始站点) :https://pub.dev/
Packages (中国镜像) :https://pub-web.flutter-io.cn/

⭐ 功能

  • 国际化 i18n l10n
  • 多主题
  • 深色模式
  • 本地数据管理
  • 路由管理
  • 状态管理
  • 集成测试
  • 情绪记录
  • 图表统计
  • Excel 导入导出
  • 无障碍支持 (Semantics)
  • Web 访问
  • 解锁认证(锁屏密码、生物特征识别)
  • 本地通知
  • 动画
  • 实验室(占用 APP 大部分包体积,源码位置查看项目结构)
    • uniapp 小程序(UniMPSDK v4.15)
    • 3D 城市(obj 格式)
    • 游戏合集(Bonfire, Flame)
    • FFI 异步调用 C/C++
      ......

🛠️ 开发环境

🛠️ 基本环境

Windows:

[√] Flutter (Channel stable, 3.27.1, on Microsoft Windows [版本 10.0.22621.3007], locale zh-CN)
[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.11.5)
[√] Android Studio (version 2024.2)
[√] IntelliJ IDEA Ultimate Edition (version 2024.3)
[√] VS Code (version 1.96.0)

macOS:

[✓] Flutter (Channel stable, 3.27.1, on macOS 14.7 23H124 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
[✓] Android Studio (version 2024.2)
[✓] VS Code (version 1.96.0)

🛠️ i18n l10n

官方国际化教程:中文站 | 英文站

├── lib/
│ ├── config/
│ │ └── language.dart # 语言配置(用于列表选项)
│ ├── l10n/ # l10n 语言包
│ │ ├── gen/ # l10n 语言包生成的文件夹(不用编码,自动生成)
│ │ └── app_zh_CN.arb # 如 简体中文:zh_CN
├── l10n.yaml # l10n 配置
......

🎉 启动

开发环境 支持的情况下

# 克隆项目
$ git clone https://github.com/AmosHuKe/Mood-Example.git
# 获取依赖
$ flutter pub get
# 启动项目或相关 IDE 启动
$ flutter run
# 更多启动模式
$ flutter run --debug/release/profile/test
# 清理构建缓存
$ flutter clean
# 集成测试
$ flutter test integration_test/app_test.dart

📑 项目结构

├── android/ # Android 工程文件 
│ ├── app/ 
│ │ ├── libs/ # 包含 UniMPSDK 依赖库
│ │ └── src/
│ │ └── main/ 
│ │ ├── assets/ # 包含 UniMPSDK 内容
│ │ │ ├── apps/ # 包含 UniMPSDK 的 uniapp 小程序
│ │ │ ├── data/ # 包含 UniMPSDK 内容
│ │ └── kotlin/ 
│ │ └── com/ 
│ │ └── example/ 
│ │ └── moodexample/
│ │ └── MainActivity.kt # Flutter 的 Android 默认入口
│ └── CMakeLists.txt # CMake(目前编译 FFI 需要的文件)
├── assets/ # 静态资源文件
├── build/ # 编译或运行后产物
├── integration_test/ # 集成测试
│ └── app_test.dart # 集成测试入口 用例
├── ios/ # iOS 工程文件
│ ├── Classes/ # Classes(目前存放 FFI 相关文件)
│ │ ├── include/
│ │ │ └── dart_native_api # DartNativeAPI 接口库
│ │ └── ffi.cpp # FFI 逻辑测试
│ ├── Runner/ # Runner
│ │ ├── UniMPSDK/ # 包含 UniMPSDK 内容
│ │ │ ├── Apps/ # 包含 UniMPSDK 的 uniapp 小程序
│ │ │ └── Core/ # 包含 UniMPSDK 依赖库
│ │ ├── AppDelegate.swift # Flutter 的 iOS 默认入口
│ │ ├── Info.plist # 项目配置
│ │ └── Runner-Bridging-Header.h # 依赖库引入
│ └── Podfile # 依赖配置
├── lib/ # 工程相关文件(主要编码)
│ ├── common/ # 公共相关
│ │ ├── local_auth_utils.dart # 本地认证(生物特征识别)
│ │ ├── notification.dart # 本地通知
│ │ ├── utils_intl.dart # 国际化工具
│ │ └── utils.dart # 工具
│ ├── config/ # 配置
│ │ ├── language.dart # 语言配置(用于列表选项)
│ │ └── multiple_themes.dart # 多主题配置
│ ├── db/ # 数据存储相关
│ │ ├── database/ # sqflite 数据表配置
│ │ ├── db.dart # sqflite 数据库相关
│ │ └── preferences_db.dart # shared_preferences 数据相关
│ ├── l10n/ # l10n 语言包
│ │ ├── gen/ # l10n 语言包生成的文件夹(不用编码,自动生成)
│ ├── models/ # 数据模型
│ ├── providers/ # 状态管理
│ ├── services/ # 数据服务
│ ├── themes/ # 主题相关
│ │ ├── multiple_themes_mode/ # 多主题配色
│ │ │ └── theme_default.dart.dart # 多主题默认配色
│ │ └── app_theme.dart # 主题基础
│ ├── views/ # 视图
│ │ ├── home/ # 首页
│ │ ├── menu_screen/ # 侧边设置栏
│ │ ├── mood/ # 心情页
│ │ ├── onboarding/ # 用户引导页
│ │ ├── settings/ # 侧边设置栏-其他页面组件(实验室等)
│ │ │ └── laboratory/ # 实验室
│ │ │ ├── 3d/ # 3D 城市
│ │ │ ├── ffi/ # ffi 测试
│ │ │ ├── game/ # 游戏合集
│ │ │ ├── unimp_miniapps/ # uniapp 小程序
│ │ │ └── index.dart # 实验室首页
│ │ ├── statistic/ # 统计页
│ │ └── web_view/ # WebView
│ ├── widgets/ # 通用组件相关
│ ├── application.dart # 主应用
│ ├── home_screen.dart # 主应用导航相关
│ ├── init.dart # 初始化相关
│ ├── main.dart # 主应用入口
│ └── routes.dart # 路由管理
├── test/ # 测试
├── .gitignore # Git 提交仓库忽略文件配置
├── .metadata # 当前 workspace 配置记录
├── analysis_options.yaml # Dart 代码规范配置
├── l10n.yaml # l10n 配置
├── pubspec.lock # 依赖生成的文件(锁定依赖版本等)
└── pubspec.yaml # 核心配置文件(项目配置、依赖等)

🤔️ 常见问题

Q: 小程序无法使用视频、地图等

点击展开

这是因为项目中只集成了核心基础库(因为仅作为集成演示),
许多功能库(比如视频、地图、分享、支付、登录、直播 pusher 等 SDK)没有集成,

如果你需要这些功能就需要自行集成。

比如在 iOS 中集成,需要先下载 UniMP_iOS_SDK ,
然后你会看见如下结构:

├── UniMPSDK/
│ ├── Core/ # 核心库
│ ├── Features/ # 非核心功能库
......

之后根据以下两个官方教程进行集成:

Q: 在 APP 关闭后,通知失效

点击展开

在确认应用开启了通知的情况下,关闭 APP 后依旧无法通知。
这是因为部分品牌 Android 默认使用了电池节能策略。

解决:关闭应用的电池节能策略,并打开自启动

📦 Packages

感谢开源

Packages License
bonfire MIT License
card_swiper MIT License
ditredi MIT License
excel MIT License
flame MIT License
file_picker MIT License
flutter_slidable MIT License
flutter_zoom_drawer MIT License
flutter_screen_lock MIT License
flutter_smart_dialog MIT License
flutter_tilt MIT License
provider MIT License
remixicon MIT License
awesome_notifications Apache-2.0 License
flutter_timezone Apache-2.0 License
table_calendar Apache-2.0 License
sqflite BSD-2-Clause License
animations BSD-3-Clause License
fl_chart BSD-3-Clause License
flutter_lints BSD-3-Clause License
intl BSD-3-Clause License
local_auth BSD-3-Clause License
go_router BSD-3-Clause License
path_provider BSD-3-Clause License
share_plus BSD-3-Clause License
shared_preferences BSD-3-Clause License
webview_flutter BSD-3-Clause License

🖼️ Illustration

Illustration by Tanya Krasutska from Ouch!

🎨 Design

Design by Mindfulness Concept App from Bogusław Podhalicz.

📄 License

BSD-3-Clause License
Open sourced under the BSD-3-Clause license.
根据 BSD-3-Clause 许可证开源。
© AmosHuKe

About

🐦 Flutter 3 心情记录 样例工程 - 国际化 i18n、uni 小程序、深色模式、多主题、本地数据管理、路由管理、状态管理、无障碍(Semantics)、异步 FFI、集成测试、图表统计、Excel 导入导出、游戏...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Dart 47.8%
  • Objective-C 21.6%
  • C 20.9%
  • C++ 5.6%
  • JavaScript 2.0%
  • HTML 0.8%
  • Other 1.3%

AltStyle によって変換されたページ (->オリジナル) /