占星骰子API文档
接口说明
本接口用于随机生成占星骰子结果,每次返回宫位、星座、行星三组数据及其对应的详细解读语料。占星骰子是占卜师常用的快速占卜工具,通过三颗骰子的组合来解读问题的答案。语料数据支持灵活查询和管理。
基本信息
| 参数 | 值 |
|---|---|
| Base URL | https://chart.12sign.top |
| 接口URL | /dice |
| 请求方式 | GET / POST |
请求参数
本接口无需传递任何请求参数,直接调用即可返回随机骰子结果。
返回参数
返回包含 house(宫位)、constellation(星座)、planet(行星)三个对象,每个对象包含以下字段:
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | integer | 骰子ID,0-11 |
| name | string | 中文名称,如"第一宫"、"白羊座"、"太阳"等 |
| keyword | string | 关键字行,总结该骰子的核心特征 |
| description | string | 主体描述文本 |
| sub_items | array | 结构化子项数组,每项为"标题:内容"格式,如"子女:子女的教育..." |
| raw_content | array | 原始描述文本按行拆分的数组 |
返回示例
{
"house": {
"id": 4,
"name": "第五宫",
"keyword": "五宫关键字:孩子,创造力,艺术,玩耍,自我表达,爱好,赌博,恋爱",
"description": "是生活里关于你创造力的部分。涉及游戏、爱好、娱乐...",
"sub_items": [
"子女:子女的教育,或者和子女相关的事物,怀孕等。",
"娱乐:休闲娱乐,有趣的体验...",
"收藏:古董,字画,玉器等的收藏。",
"赌博:靠运气赢得胜利或利益的事情。",
"爱情:激情,心动,浪漫,甜蜜的爱情。",
"偶然事物:局面的不确定性,偶然的差池..."
],
"raw_content": [
"是生活里关于你创造力的部分。涉及游戏、爱好、娱乐..."
]
},
"constellation": {
"id": 2,
"name": "双子座",
"keyword": "关键字:博而不专的人(万金油)/ 同时进行很多事 / 有时善变...",
"description": "轻松、健谈风格。它多才多艺,善变、不闲着...",
"sub_items": [],
"raw_content": ["轻松、健谈风格..."]
},
"planet": {
"id": 0,
"name": "太阳",
"keyword": "",
"description": "太阳+星座=揭示了生命力的要素...",
"sub_items": [
"本质:生命力,个体意识,创造性,推动力...",
"推动力:去生存,去创造",
"需求:需要被认可,需要表达自我的独特性。",
"占卜中的应用:",
"寻物:比较显眼的(见光的)...",
"事业:有推动力的,表现突出或者荣耀...",
"感情:如阿波罗一般才华出众..."
],
"raw_content": ["太阳+星座=揭示了生命力的要素..."]
}
}
骰子ID对照表
宫位 (0-11)
| ID | 名称 |
|---|---|
| 0-11 | 第一宫 ~ 第十二宫 |
星座 (0-11)
| ID | 名称 |
|---|---|
| 0-11 | 白羊座 ~ 双鱼座 |
行星 (0-11)
| ID | 名称 |
|---|---|
| 0-11 | 太阳、月亮、水星、金星、火星、木星、土星、天王、海王、冥王、南交点、北交点 |
使用说明
注意事项:
- 本接口无需任何请求参数,GET 或 POST 方式均可调用。
- 每次调用都会随机返回一组不同的骰子结果。
sub_items数组包含结构化子项(如"子女:..."、"事业:..."),适合前端分类展示。raw_content为原始描述文本按行拆分,适合全文展示。
应用场景
- 快速占卜 - 用户提出具体问题后,通过掷骰子快速获取指引
- 每日运势 - 结合骰子结果生成每日占卜内容
- 问题解读 - 针对用户的具体问题,用骰子给出针对性解答
- 互动娱乐 - 作为趣味占卜功能增加用户互动体验
Python测试代码示例
import requests
import json
def test_dice_generate(base_url="https://chart.12sign.top"):
url = f"{base_url}/dice/generate"
try:
print("正在测试占星骰子API...")
response = requests.get(url)
print(f"响应状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
# 打印宫位信息
house = data.get('house', {})
print(f"\n宫位:{house.get('name')} (ID: {house.get('id')})")
print(f"关键字:{house.get('keyword')}")
print(f"描述:{house.get('description', '')[:100]}...")
print("子项:")
for item in house.get('sub_items', []):
print(f" - {item}")
# 打印星座信息
constellation = data.get('constellation', {})
print(f"\n星座:{constellation.get('name')} (ID: {constellation.get('id')})")
print(f"关键字:{constellation.get('keyword')}")
# 打印行星信息
planet = data.get('planet', {})
print(f"\n行星:{planet.get('name')} (ID: {planet.get('id')})")
print("子项:")
for item in planet.get('sub_items', []):
print(f" - {item}")
return data
else:
print(f"API请求失败: {response.status_code}")
return None
except Exception as e:
print(f"请求出错: {e}")
return None
if __name__ == "__main__":
test_dice_generate()
在线测试
请求地址:
https://chart.12sign.top/dice
返回结果:
点击"掷骰子"后在此显示结果
骰子结果解读:
骰子结果将在请求成功后显示在这里