技术博客
星座运势查询:指数怎么读?5分制与100分制的区别与展示建议

星座运势查询:指数怎么读?5分制与100分制的区别与展示建议

作者: 万维易源
2026-08-27
星座运势查询指数解读5分制100分制
# 星座运势查询:指数怎么读?5分制与100分制的区别与展示建议 > 接入点 872-1 · 免费 · JSON · 适用:前端、数据展示工程师 · 阅读时间:约 6 分钟 ## TL;DR - 日/明日/周/月四个周期的指数均为**最高 5 分**(summary/love/money/work_star)。 - 年(year)维度改用**最高 100 分**(`general_index/love_index/money_index/work_index`)。 - 字段类型文档内部不一致(`day.summary_star` 标 String、其余标 Number),代码按「可比较数值字符串」处理最稳。 ## Why:为什么指数口径不统一是个坑 如果前端统一把指数当「满分 5 的星级」渲染,年维度的 `general_index=78` 会被误当成「78 分(爆表)」或「78/5」。反之若按 100 分渲染日维度,4 分会显得极低。理解两套量纲并分别映射,是做对展示的前提。 ## What:两套量纲对照 | 周期 | 指数字段 | 满分 | 示例 | |------|----------|------|------| | day / tomorrow / week / month | `summary_star`、`love_star`、`money_star`、`work_star` | 5 | 4、3 | | year | `general_index`、`love_index`、`money_index`、`work_index` | 100 | 78、82 | > 文档原文:日/周/月「最高 5 分」,年「最高 100 分」。 ## How:展示层映射建议 ```js function renderStar(v, isYear) { const max = isYear ? 100 : 5; // 统一转成 5 颗星展示 const stars = Math.round((Number(v) / max) * 5); return "★".repeat(stars) + "☆".repeat(5 - stars); } // 日维度:renderStar(body.day[0].summary_star, false) // 年维度:renderStar(body.year[0].general_index, true) ``` ## 返回示例(结构示意) ```json { "showapi_res_body": { "day": [{ "summary_star": "4", "love_star": 3 }], "year": [{ "general_index": "78", "love_index": "82" }] } } ``` ## 进阶 / 边界 - **类型以实际为准**:文档对 `summary_star` 在 day 标 String("4")、在 tomorrow/week/month 标 Number(4),属于文档内部不一致。不要做 `typeof === 'number'` 强断言,统一 `Number()` 转换更稳妥。 - **年维度无小维度**:year 只有 4 个 `*_index`,没有爱情/工作等细分小星,UI 上不要硬套日维度模板。 - **不要跨周期比大小**:5 分制与 100 分制量纲不同,仅同周期、同维度可比。 ## FAQ **Q:为什么年是 100 分、日是 5 分?** A:这是接口设计的两种口径,文档分别写明「最高 5 分」与「最高 100 分」。展示时需分别归一化,不可混用。 **Q:summary_star 到底是字符串还是数字?** A:文档标注不一致,实测以返回值为准。代码统一用 `Number()` 转换即可兼容两种形态。 **Q:能把 5 分制直接乘以 20 变成百分制吗?** A:技术上可以换算展示,但语义不同(日维度是「单日细分」,年维度是「年度趋势」),建议分别展示而非强行统一。 ## 下一步阅读 - [星座运势查询返回字段全解](https://www.showapi.com/guides/horoscope-response-fields-872) - [星座运势查询:一次取齐多周期运势](https://www.showapi.com/guides/horoscope-multi-period-872) - [免费接口也有限流:星座运势查询缓存策略](https://www.showapi.com/guides/horoscope-cache-872) - **本系列共 13 篇**:查看[星座运势 API 开发指南总目录](https://www.showapi.com/guides/horoscope-guides-872)