玄机测算

中国传统术数与西方占卜术 + AI 智能解读 | 微信小程序 & H5

--- ## 项目介绍 玄机测算是一款集中国传统术数与西方占卜术、AI 智能解读、实用工具于一体的应用,支持微信小程序和 H5 双端运行。 ### 核心功能 **排盘模块(8种)** 1. 四柱八字 — 八字、主星、地势、空亡、神煞、大运流年等 2. 六爻排盘 — 五行、世应、六亲、六神、卦辞等 3. 大六壬 — 天地盘、四课、三传、天将等 4. 奇门遁甲(转盘)— 地盘、天盘、人盘、神盘、克应、动应等 5. 梅花易数 — 本卦、变卦、互卦、错卦、综卦等 6. 紫微斗数 — 命宫、身宫、四化、诸星等 7. 占星术 — 太阳/月亮/上升星座、行星、宫位、相位 8. 塔罗牌 — 单牌/三牌/凯尔特十字牌阵 **AI 智能解读** - 支持 OpenAI Compatible 接口(OpenAI、DeepSeek、Moonshot、智谱 ChatGLM、SiliconFlow、Ollama 等) - 支持腾讯混元(Tencent Hunyuan) - 每种排盘均有专属 AI 提示词模板,输出专业解读 **实用工具** - 农历查询、干支查询、生肖查询、星座查询、五行查询、吉日查询 - 取名神器 — AI 根据姓氏、性别、要求智能取名 **用户体系** - 微信小程序登录 / 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 | --- ## 项目结构 ``` 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. 克隆项目 ```bash git clone https://gitee.com/farway-cc/xuan-deduct.git cd xuan-deduct ``` ### 2. 配置后端 ```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 # 方式二:腾讯混元 ai.provider=tencent-hunyuan ai.tencent-hunyuan.secret-id=你的SecretId ai.tencent-hunyuan.secret-key=你的SecretKey ``` ### 3. 初始化数据库 ```bash mysql -u root -p -e "CREATE DATABASE xuan_deduct DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" ``` JPA 会根据实体类自动创建表(`ddl-auto=update`)。 ### 4. 编译运行后端 ```bash mvn clean package -DskipTests java -jar target/xuan-utils-pro-2.0-SNAPSHOT.jar ``` 后端默认运行在 `http://localhost:8080`。 ### 5. 配置前端 编辑 `xuan-deduct-uniapp/src/utils/api.js`,设置后端 API 地址: ```javascript const BASE_URL = 'http://localhost:8080/api' ``` ### 6. 运行前端 **H5 开发模式:** ```bash cd xuan-deduct-uniapp npm install npm run dev:h5 ``` **微信小程序:** 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. 工具页面提供农历、干支、生肖等免费查询 --- ## 应用截图 ### 首页 ![首页](docs/screenshots/home-page.png) ### 工具页 ![工具页](docs/screenshots/tools-page.png) ### 占星结果展示 ![占星结果1](docs/screenshots/zhanxing-result-1.png) ![占星结果2](docs/screenshots/zhanxing-result-2.png) ![占星结果3](docs/screenshots/zhanxing-result-3.png) --- ## 免责声明 本项目代码仅供参考学习,不得违法违规使用,否则后果自负。 --- ## License [MIT License](LICENSE)