diff --git a/README.md b/README.md
index a7e4f59..6b18a20 100644
--- a/README.md
+++ b/README.md
@@ -1,273 +1,257 @@
-
- 排盘工具 - 升级版
-
+玄机测算
+
-
-
-
-
-
-
+ 中国传统术数与西方占卜术 + AI 智能解读 | 微信小程序 & H5
+
- 在线地址:
-
- https://www.muxuange.cn/paipan
-
-
-
- 版本:v2.2.0 | 运行环境:jdk8
+
+
+
+
+
-```
-公历2025年8月22日更新
+---
-此仓库唯一,开源免费、不售卖、仅供参考使用
-https://gitee.com/shan-dai/xuan-utils-pro
-```
+## 项目介绍
-## **八字排盘**
+玄机测算是一款集中国传统术数与西方占卜术、AI 智能解读、实用工具于一体的应用,支持微信小程序和 H5 双端运行。
-🔈八字排盘提供基础数据,如:八字、主星、地势、空亡、神煞等。
+### 核心功能
-### 代码示例
+**排盘模块(8种)**
-```java
-public class BaZiTest {
- public static void main(String[] args) {
+1. 四柱八字 — 八字、主星、地势、空亡、神煞、大运流年等
+2. 六爻排盘 — 五行、世应、六亲、六神、卦辞等
+3. 大六壬 — 天地盘、四课、三传、天将等
+4. 奇门遁甲(转盘)— 地盘、天盘、人盘、神盘、克应、动应等
+5. 梅花易数 — 本卦、变卦、互卦、错卦、综卦等
+6. 紫微斗数 — 命宫、身宫、四化、诸星等
+7. 占星术 — 太阳/月亮/上升星座、行星、宫位、相位
+8. 塔罗牌 — 单牌/三牌/凯尔特十字牌阵
- // 1、基础设置(可选)
- BaZiJiChuSetting baZiJiChuSetting = new BaZiJiChuSetting();
- baZiJiChuSetting.setSex(1); // 性别(0:女。1:男)
- // 更多基础设置...
+**AI 智能解读**
- // 2、神煞设置(可选)
- BaZiShenShaSetting baZiShenShaSetting = new BaZiShenShaSetting();
- baZiShenShaSetting.setTaiJiGuiRen(0); // 太极贵人(0:显示。1:关闭)
- // 更多神煞设置...
+- 支持 OpenAI Compatible 接口(OpenAI、DeepSeek、Moonshot、智谱 ChatGLM、SiliconFlow、Ollama 等)
+- 支持腾讯混元(Tencent Hunyuan)
+- 每种排盘均有专属 AI 提示词模板,输出专业解读
- // 3、干支留意设置(可选)
- BaZiGanZhiLiuYiSetting baZiGanZhiLiuYiSetting = new BaZiGanZhiLiuYiSetting();
- baZiGanZhiLiuYiSetting.setTianGanXiangSheng(0); // 天干相生(0:显示。1:关闭)
- // 更多干支留意设置...
+**实用工具**
- // 4、初始化
- BaZi baZi = new BaZi(baZiJiChuSetting); // 使用基础设置初始化
- baZi.baZiShenShaSetting(baZiShenShaSetting); // 神煞设置
- baZi.baZiGanZhiLiuYiSetting(baZiGanZhiLiuYiSetting); // 干支留意设置
+- 农历查询、干支查询、生肖查询、星座查询、五行查询、吉日查询
+- 取名神器 — AI 根据姓氏、性别、要求智能取名
- // 5、输出结果
- System.out.println(baZi);
+**用户体系**
- }
-}
-```
+- 微信小程序登录 / H5 注册登录
+- 金币消费 + VIP 会员
+- 测算记录管理
+- 测算结果微信分享
-输出结果(部分数据):
+---
+
+## 技术栈
+
+| 层 | 技术 |
+|---|---|
+| 后端 | Spring Boot 2.7 + Spring Data JPA + MySQL 8.0 |
+| 前端 | uni-app (Vue 2) + Vite |
+| AI | OkHttp + OpenAI Compatible API / 腾讯混元 |
+| 部署 | JDK 8 + Maven + Nginx |
+
+---
+
+## 项目结构
```
-公历:2024年01月01日00时00分00秒 农历:二〇二三年冬月二十(早)子时 星期:周一 季节:仲冬 生肖:兔 星座:摩羯座 月相:更待 月将:丑 月将神:大吉 五不遇时:false 年干支主星:正印 月干支主星:比肩 日干支主星:元男 时干支主星:比肩 年支藏干:[乙] 月支藏干:[癸] 日支藏干:[癸] 时支藏干:[癸] 年干支副星:[劫财] 月干支副星:[正印] 日干支副星:[正印] 时干支副星:[正印] 年干支自坐:长生 月干支自坐:沐浴 日干支自坐:沐浴 时干支自坐:沐浴 年干支星运:帝旺 月干支星运:沐浴 日干支星运:沐浴 时干支星运:沐浴年干支神煞:[天乙贵人, 福星贵人, 文昌贵人, 天厨贵人, 德秀贵人, 羊刃] 月干支神煞:[太极贵人, 福星贵人, 德秀贵人, 将星, 桃花, 红鸾, 披麻] 日干支神煞:[太极贵人, 福星贵人, 德秀贵人, 阴注阳受, 冲天煞, 桃花, 红鸾, 天赦, 披麻] 时干支神煞:[太极贵人, 福星贵人, 德秀贵人, 阴注阳受, 冲天煞, 将星, 桃花, 红鸾, 披麻]
+xuan-deduct/
+├── src/main/java/xuan/ # Spring Boot 后端
+│ ├── config/ # 配置类(AI、CORS)
+│ ├── controller/ # REST 控制器(14个)
+│ ├── core/ # 排盘核心算法
+│ │ ├── bazi/ # 八字
+│ │ ├── daliuren/ # 大六壬
+│ │ ├── liuyao/ # 六爻
+│ │ ├── meihua/ # 梅花易数
+│ │ ├── qimen/ # 奇门遁甲
+│ │ └── ziwei/ # 紫微斗数
+│ ├── entity/ # JPA 实体
+│ ├── repository/ # 数据访问层
+│ ├── service/ # 业务逻辑 + AI 服务
+│ └── utils/ # 工具类
+├── src/main/resources/
+│ └── application.properties.template # 配置模板
+├── xuan-deduct-uniapp/ # uni-app 前端
+│ ├── src/pages/ # 页面(35个路由)
+│ ├── src/components/ # 自定义组件
+│ ├── src/utils/ # API 请求、工具函数
+│ └── src/mixins/ # 分享混入
+└── pom.xml # Maven 配置
```
-### 效果预览
+---
-
+## 安装部署
-=========================================================
+### 环境要求
-## **六爻排盘**
+- JDK 1.8+
+- Maven 3.6+
+- MySQL 8.0+
+- Node.js 16+(前端开发)
+- HBuilderX 或微信开发者工具(小程序开发)
-🔈六爻排盘提供基础数据,如:八字、五行、空亡、世应、六亲等。
+### 1. 克隆项目
-### 代码示例
-
-```java
-public class LiuYaoTest {
- public static void main(String[] args) {
-
- // 1、基础设置(可选)
- LiuYaoJiChuSetting liuYaoJiChuSetting = new LiuYaoJiChuSetting();
- baZiJiChuSetting.setSex(1); // 性别(0:女。1:男)
- // 更多基础设置...
-
- // 2、神煞设置(可选)
- LiuYaoShenShaSetting liuYaoShenShaSetting = new LiuYaoShenShaSetting();
- liuYaoShenShaSetting.setTaiJiGuiRen(0); // 太极贵人(0:显示。1:关闭)
- // 更多神煞设置...
-
- // 3、初始化
- LiuYao liuYao = new LiuYao(liuYaoJiChuSetting); // 使用基础设置初始化
- liuYao.liuYaoShenShaSetting(liuYaoShenShaSetting); // 神煞设置
-
- // 4、输出结果
- System.out.println(liuYao);
-
- }
-}
+```bash
+git clone https://gitee.com/farway-cc/xuan-deduct.git
+cd xuan-deduct
```
-输出结果(部分数据):
+### 2. 配置后端
-```
-公历:2024年01月01日00时00分00秒 农历:二〇二三年冬月二十(早)子时 星期:周一 季节:仲冬 生肖:兔 星座:摩羯座 月相:更待 月将:丑 月将神:大吉 五不遇时:false 上卦:离(☲) 下卦:震(☳) 本卦:火雷噬嗑(䷔) 变卦:震为雷(䷲) 互卦:水山蹇(䷦) 错卦:水风井(䷯) 综卦:山火贲(䷕) 伏卦:巽为风(䷸)
+```bash
+cp src/main/resources/application.properties.template src/main/resources/application.properties
```
-### 效果预览
+编辑 `application.properties`,填入实际配置:
-
+```properties
+# 数据库
+spring.datasource.url=jdbc:mysql://localhost:3306/xuan_deduct?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowPublicKeyRetrieval=true
+spring.datasource.username=你的数据库用户名
+spring.datasource.password=你的数据库密码
-=========================================================
+# 微信小程序
+wechat.appid=你的微信AppID
+wechat.secret=你的微信AppSecret
-## **大六壬排盘**
+# AI 配置(二选一)
-🔈大六壬排盘提供基础数据,如:地盘、天盘、人盘、四课、三传等。
+# 方式一:OpenAI Compatible(推荐)
+ai.provider=openai-compatible
+ai.api-key=你的API密钥
+ai.base-url=https://api.openai.com
+ai.model=gpt-3.5-turbo
-### 代码示例
-
-```java
-public class DaLiuRenTest {
- public static void main(String[] args) {
-
- // 1、基础设置(可选)
- DaLiuRenJiChuSetting daLiuRenJiChuSetting = new DaLiuRenJiChuSetting();
- daLiuRenJiChuSetting.setSex(1); // 性别(0:女。1:男)
- // 更多基础设置...
-
- // 2、初始化
- DaLiuRen daLiuRen = new DaLiuRen(daLiuRenJiChuSetting); // 使用基础设置初始化
-
- // 3、输出结果
- System.out.println(daLiuRen);
-
- }
-}
+# 方式二:腾讯混元
+ai.provider=tencent-hunyuan
+ai.tencent-hunyuan.secret-id=你的SecretId
+ai.tencent-hunyuan.secret-key=你的SecretKey
```
-输出结果(部分数据):
+### 3. 初始化数据库
-```
-公历:2024年01月01日00时00分00秒 农历:二〇二三年冬月二十(早)子时 星期:周一 季节:仲冬 生肖:兔 星座:摩羯座 月相:更待 月将:丑 月将神:大吉 五不遇时:false 天地盘类型:进连茹盘 地盘:[寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥, 子, 丑] 天盘:[卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥, 子, 丑, 寅] 神盘:[勾陈, 六合, 朱雀, 螣蛇, 贵人, 天后, 太阴, 玄武, 太常, 白虎, 天空, 青龙] 四课:[[卯, 甲], [辰, 卯], [丑, 子], [寅, 丑]] 三传:[辰, 巳, 午]
+```bash
+mysql -u root -p -e "CREATE DATABASE xuan_deduct DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
```
-### 效果预览
+JPA 会根据实体类自动创建表(`ddl-auto=update`)。
-
+### 4. 编译运行后端
-=========================================================
-
-## **奇门遁甲排盘**
-
-🔈奇门遁甲排盘提供基础数据,如:地盘、天盘、人盘、神盘、动应、克应等。
-
-### 代码示例(转盘)
-
-```java
-public class QiMenTest {
- public static void main(String[] args) {
-
- // 1、基础设置(可选)
- QiMenZhuanPanJiChuSetting qiMenZhuanPanJiChuSetting = new QiMenZhuanPanJiChuSetting();
- qiMenZhuanPanJiChuSetting.setSex(1); // 性别(0:女。1:男)
- // 更多基础设置...
-
- // 2、初始化
- QiMenZhuanPan qiMen = new QiMenZhuanPan(qiMenZhuanPanJiChuSetting); // 使用基础设置初始化
-
- // 3、输出结果
- System.out.println(qiMen);
-
- }
-}
+```bash
+mvn clean package -DskipTests
+java -jar target/xuan-utils-pro-2.0-SNAPSHOT.jar
```
-输出结果(部分数据):
+后端默认运行在 `http://localhost:8080`。
-```
-公历:2024年01月01日00时00分00秒 农历:二〇二三年冬月二十(早)子时 星期:周一 季节:仲冬 生肖:兔 星座:摩羯座 月相:更待 月将:丑 月将神:大吉 五不遇时:false 符头:甲子 节气:冬至上元 局数:阳遁1局 旬首:甲子 值符:天蓬 值使:休门 天乙:天蓬 地乙:休门 太乙:休门 地盘:[戊, 己, 庚, 辛, 壬, 癸, 丁, 丙, 乙] 天盘:[天蓬, 芮禽, 天冲, 天辅, , 天心, 天柱, 天任, 天英] 人盘:[休门, 死门, 伤门, 杜门, , 开门, 惊门, 生门, 景门] 神盘:[值符, 玄武, 太阴, 六合, , 九天, 九地, 螣蛇, 白虎] 六仪击刑:[己击刑(坤二宫)] 奇仪入墓:[辛入墓(巽四宫)]
+### 5. 配置前端
+
+编辑 `xuan-deduct-uniapp/src/utils/api.js`,设置后端 API 地址:
+
+```javascript
+const BASE_URL = 'http://localhost:8080/api'
```
-### 效果预览(转盘)
+### 6. 运行前端
-
+**H5 开发模式:**
-=========================================================
-
-## **梅花易数排盘**
-
-🔈梅花易数排盘提供基础数据,如:上卦、下卦、本卦、变卦、互卦等。
-
-### 代码示例
-
-```java
-public class MeiHuaTest {
- public static void main(String[] args) {
-
- // 1、基础设置(可选)
- MeiHuaJiChuSetting meiHuaJiChuSetting = new MeiHuaJiChuSetting();
- meiHuaJiChuSetting.setSex(1); // 性别(0:女。1:男)
- // 更多基础设置...
-
- // 2、初始化
- MeiHua meiHua = new MeiHua(meiHuaJiChuSetting); // 使用基础设置初始化
-
- // 3、输出结果
- System.out.println(meiHua);
-
- }
-}
+```bash
+cd xuan-deduct-uniapp
+npm install
+npm run dev:h5
```
-输出结果(部分数据):
+**微信小程序:**
-```
-公历:2024年01月01日00时00分00秒 农历:二〇二三年冬月二十(早)子时 星期:周一 季节:仲冬 生肖:兔 星座:摩羯座 月相:更待 月将:丑 月将神:大吉 五不遇时:false 卦码:346 上卦:离(☲) 下卦:震(☳) 动爻:6 本卦:火雷噬嗑(䷔) 变卦:震为雷(䷲) 互卦:水山蹇(䷦) 错卦:水风井(䷯) 综卦:山火贲(䷕)
+1. 用 HBuilderX 打开 `xuan-deduct-uniapp` 目录
+2. 运行 → 运行到小程序模拟器 → 微信开发者工具
+3. 在 `manifest.json` 中配置微信 AppID
+
+---
+
+## AI 配置说明
+
+项目支持两种 AI Provider,通过 `ai.provider` 切换:
+
+### OpenAI Compatible
+
+适用于所有兼容 OpenAI 接口的服务商:
+
+| 服务商 | base-url | model 示例 |
+|---|---|---|
+| OpenAI | `https://api.openai.com` | `gpt-3.5-turbo` |
+| DeepSeek | `https://api.deepseek.com` | `deepseek-chat` |
+| Moonshot | `https://api.moonshot.cn` | `moonshot-v1-8k` |
+| 智谱 ChatGLM | `https://open.bigmodel.cn/api/paas` | `glm-4-flash` |
+| SiliconFlow | `https://api.siliconflow.cn` | `Qwen/Qwen2.5-7B-Instruct` |
+| Ollama 本地 | `http://localhost:11434` | `llama3` |
+
+### 腾讯混元
+
+```properties
+ai.provider=tencent-hunyuan
+ai.tencent-hunyuan.secret-id=你的SecretId
+ai.tencent-hunyuan.secret-key=你的SecretKey
+ai.tencent-hunyuan.region=ap-guangzhou
+ai.tencent-hunyuan.model=hunyuan-lite
```
-### 效果预览
+所有 AI 配置项均支持环境变量覆盖(`AI_PROVIDER`、`AI_API_KEY`、`AI_BASE_URL`、`AI_MODEL`)。
-
+---
-=========================================================
+## 使用说明
-## **紫微斗数排盘**
+1. 启动后端服务后,打开前端页面即可使用
+2. 首页选择排盘类型,输入相关信息后点击测算
+3. 测算结果包含排盘数据和 AI 解读
+4. 测算需消耗金币,VIP 用户可免费使用
+5. 支持将测算结果分享给微信好友
+6. 工具页面提供农历、干支、生肖等免费查询
-🔈紫微斗数排盘提供基础数据,如:命宫、身宫、四化、诸星等。
+---
-### 代码示例
+## 应用截图
-```java
-public class ZiWeiTest {
- public static void main(String[] args) {
+### 首页
- // 1、基础设置(可选)
- ZiWeiJiChuSetting ziWeiJiChuSetting = new ZiWeiJiChuSetting();
- ziWeiJiChuSetting.setSex(1); // 性别(0:女。1:男)
- // 更多基础设置...
+
- // 2、初始化
- ZiWei ziWei = new ZiWei(ziWeiJiChuSetting); // 使用基础设置初始化
+### 工具页
- // 3、输出结果
- System.out.println(ziWei);
+
- }
-}
-```
+### 占星结果展示
-输出结果(部分数据):
+
-```
-公历:2024年01月01日00时00分00秒 农历:二〇二三年冬月二十(早)子时 星期:周一 季节:仲冬 生肖:兔 星座:摩羯座 月相:更待 月将:丑 月将神:大吉 五不遇时:false 五行局:金四局 化禄星宫位解读:化禄星落财帛宫,善于理财,财源滚滚。 化权星宫位解读:化权星落父母宫,父母强势,有矛盾。 化科星宫位解读:化科星落兄弟宫,兄弟有名声,助力多。 化忌星宫位解读:化忌星落命宫宫,不听劝,易焦虑,年少顺利。
-```
+
-### 效果预览
+
-
+---
-=========================================================
+## 免责声明
-## **更多功能正在完善中...**
+本项目代码仅供参考学习,不得违法违规使用,否则后果自负。
-
- 温馨提示:代码仅供参考,不得违法违规使用,否则后果自负!
-
+---
+
+## License
+
+[MIT License](LICENSE)
diff --git a/docs/screenshots/home-page.png b/docs/screenshots/home-page.png
new file mode 100644
index 0000000..957b221
Binary files /dev/null and b/docs/screenshots/home-page.png differ
diff --git a/docs/screenshots/tools-page.png b/docs/screenshots/tools-page.png
new file mode 100644
index 0000000..e2fdda2
Binary files /dev/null and b/docs/screenshots/tools-page.png differ
diff --git a/docs/screenshots/zhanxing-result-1.png b/docs/screenshots/zhanxing-result-1.png
new file mode 100644
index 0000000..dbd4cb8
Binary files /dev/null and b/docs/screenshots/zhanxing-result-1.png differ
diff --git a/docs/screenshots/zhanxing-result-2.png b/docs/screenshots/zhanxing-result-2.png
new file mode 100644
index 0000000..7184f6c
Binary files /dev/null and b/docs/screenshots/zhanxing-result-2.png differ
diff --git a/docs/screenshots/zhanxing-result-3.png b/docs/screenshots/zhanxing-result-3.png
new file mode 100644
index 0000000..945ca2c
Binary files /dev/null and b/docs/screenshots/zhanxing-result-3.png differ