解卦易经 icon

解卦易经

Version:1.0.0 (build 4)
解卦易经 QRcode
App installation is in progress
Installing...
App download will begin in a moment, please wait... If it doesn\'t, please restart the download.
Install

Or use your mobile to scan the QR code to install

Cannot install/install the app? Check now

About 解卦易经

Size
37.1 MB
Publish at
2025-05-16
Version
1.0.0
Build
4

Other versions of 解卦易经

1.0.0 (build 3) 修复bug 2025-05-16
1.0.0 (build 2) 修复已知存在的问题 2025-05-15
1.0.0 (build 1) 初代1.0版 2025-05-06

Introduction of 解卦易经

# 汉字笔画查询与三才五格分析功能

本项目实现了一个基于 Unicode 权威数据的汉字笔画查询服务,并且与命理分析功能无缝集成。

## 主要功能

1. **汉字笔画数查询**:基于 Unihan Database 的权威数据,精确查询汉字笔画数。
2. **姓名三才五格分析**:计算姓名的天格、人格、地格、总格、外格数理。
3. **高效数据结构**:使用 Trie 树优化汉字查询效率,适用于批量查询场景。
4. **容错机制**:对于数据库中不存在的汉字,提供回退计算方法。

## 技术实现

### 数据来源
基于 Unicode 的 Unihan Database 中的 kTotalStrokes 字段,提供了权威的汉字笔画数数据。

### 数据结构
- **Map 结构**:用于快速查询单个汉字的笔画数。
- **Trie 树**:优化内存使用和查询效率,尤其适合前缀检索。

### 关键类
- **HanziService**:提供单例模式的汉字服务,负责加载数据、构建索引和查询笔画数。
- **TrieNode**:Trie 树节点,使用 Unicode 码点作为键,优化内存使用。

## 使用方法

### 1. 初始化服务
```dart
// 在应用启动时初始化
await HanziService().initialize();
```

### 2. 查询笔画数
```dart
// 查询单个汉字笔画数
int strokes = HanziService().getStrokes('张');

// 查询一组汉字的总笔画数
int totalStrokes = HanziService().getTotalStrokes('张三');
```

### 3. 分析姓名三才五格
```dart
// 获取姓名三才五格数理
Map<String, int> nameStrokes = HanziService().calculateNameStrokes('张三');
// 结果包含: 天格、人格、地格、总格、外格
```

## 测试功能

在首页的"汉字笔画查询"功能中可以测试:
1. 输入汉字或姓名
2. 查看每个字的笔画数和总笔画数
3. 如果输入是2-4个字的姓名,还会显示三才五格分析结果

## 与命理分析的集成

本功能已与 AstrologyService 集成,现在 AstrologyService 的三格分析、五行分析等都基于精确的笔画数据,提高了命理分析的准确性。
Expand

Screenshots of 解卦易经

解卦易经 Screenshots1
解卦易经 Screenshots2
解卦易经 Screenshots3
解卦易经 Screenshots4
解卦易经 Screenshots5