本网站使用 AI 辅助生成;得益计分 为个人业余开发,现处于开发阶段,仍可能出现错误,欢迎试用并提供反馈。

技术文档

深入了解 得益计分 的技术架构和开发细节

技术架构

📱

Flutter

跨平台 UI 框架

3.29.3+
跨平台支持
高性能渲染
热重载开发
🔄

Riverpod

状态管理解决方案

2.6.1
类型安全
依赖注入
测试友好
🗄️

SQLite

本地数据存储

2.4.1
轻量级
事务支持
跨平台
🌐

WebSocket

局域网通信

3.0.3
实时通信
双向数据流
断线重连

开发环境

环境要求

Flutter SDK

版本 ≥ 3.29.3

Dart SDK

版本 ≥ 3.0.0

构建脚本

# 当前平台构建
dart setup.dart

# 构建所有平台
dart setup.dart all

# 仅构建 Android
dart setup.dart android

主要依赖

flutter_riverpod^2.6.1
sqflite^2.4.1
web_socket_channel^3.0.3
shared_preferences^2.5.2
package_info_plus^8.2.1
window_manager^0.5.0
file_picker^10.1.7
logger^2.5.0

核心模块

模板系统 (Template)

游戏模板的创建、编辑和管理

主要方法:

  • createTemplate() - 创建新模板
  • updateTemplate() - 更新模板信息
  • deleteTemplate() - 删除模板
  • getTemplates() - 获取模板列表

计分系统 (Score)

游戏计分的核心逻辑

主要方法:

  • startNewGame() - 开始新游戏
  • addScore() - 添加得分
  • updateScore() - 更新得分
  • endGame() - 结束游戏

玩家管理 (Player)

玩家信息的增删改查

主要方法:

  • addPlayer() - 添加玩家
  • updatePlayer() - 更新玩家信息
  • deletePlayer() - 删除玩家
  • searchPlayers() - 搜索玩家

局域网通信 (LAN)

设备间的网络通信

主要方法:

  • createHost() - 创建主机
  • joinGame() - 加入游戏
  • syncData() - 同步数据
  • disconnect() - 断开连接

贡献指南

如何参与

  1. 1. Fork 项目到您的 GitHub 账户
  2. 2. 创建功能分支:git checkout -b feature/new-feature
  3. 3. 提交更改:git commit -am 'Add new feature'
  4. 4. 推送分支:git push origin feature/new-feature
  5. 5. 创建 Pull Request

代码规范

  • • 遵循 Dart 官方代码风格
  • • 使用有意义的变量和函数命名
  • • 添加必要的注释和文档
  • • 确保代码通过所有测试

问题反馈

发现 Bug 或有功能建议?请在 GitHub Issues 中提交:

GitHub Issues