Python星盘接口、排盘、占星、API功能描述

Python后端,方便阅读,支持二开,部署简洁易上手

Astrolog32内核实现,单次响应60ms左右

V: Slinkerr


支持盘
单盘:天象盘、本命盘、行运盘、次限盘、三限盘、次限比盘、三限比盘、月返盘、日返盘、日弧盘、法达盘

合盘:比较盘A/B、组合盘、组合三限、组合次限、时空盘、时空三限、时空次限、马盘A/B、马盘A三限、马盘B三限、马盘A次限、马盘B次限


支持全套设置

涵盖古典、现代占星


黄道制支持
回归黄道、恒星黄道


宫位配置支持

Placidus: 普拉希德分宫制,
Koch: 柯赫出生地分宫制,
Equal: 等宫制,
Campanus: 坎帕努斯分宫制,
Meridian: 子午线分宫制,
Regiomontanus: 约翰穆德分宫制,
Porphyry: 波菲力奥四分仪分宫制,
Morinus: 莫林分宫制,
Topocentric: 锥心分宫制,
Alcabitius: 阿卡比特分宫制,
Krusinski: 克鲁辛斯基分宫制,
Equal(MC): 等宫制(中天),
Pullen Sinusoidal Ratio: 普伦正弦比分宫制,
Pullen Sinusoidal Delta: 普伦正弦三角分宫制,
Whole: 整宫制,
Vedic: 吠陀分宫制,
Sripati: 斯里帕蒂分宫制,
Horizon:
APC:
Carter Poli Equatorial: 卡特玻利赤道分宫制,
Sunshine:


行星容许度配置支持

行星:太阳、月亮、水星、金星、火星、木星、土星、天王星、海王星、冥王星

虚点:上升、天顶、北交点、下降、天底、南交点、福点、宿命点、东方、莉莉丝

小行星:凯龙星、婚神星、谷神星、灶神星、智神星

容许度:0、60、90、120、180、30、45、72、135、144、150

并含有相位关系、宫落关系等超详接口数据,可直接对标目前业内排名前列App及应用


首先,我们需要了解什么是星盘星盘是一种用于占星术的工具,用于表示天体在特定时间的位置和相对于地球的角度。它通常由一个圆形图案组成,被分成12个“宫位”,每个宫位代表着不同的领域,例如健康、家庭、事业等等。 下面是如何使用uni实现一个简单的星盘: 1. 创建一个uni-app项目,选择自定义模式,并选择需要的基础组件(如vue-router、uni-ui等)。 2. 在pages文件夹中创建一个名为“star-chart”的页面。 3. 在“star-chart”页面中,创建一个canvas元素,并设置其宽高。 ``` <template> <view class="container"> <canvas class="star-chart" canvas-id="starChart" style="width: 100%; height: 100%;"></canvas> </view> </template> ``` 4. 在“star-chart”页面中,编写JS代码,绘制星盘。这里我们使用uni的canvas API来绘制。 ``` <script> import * as echarts from '@/components/ec-canvas/echarts'; import { getAstroData } from '@/utils/astro'; import { getStarChartOption } from '@/utils/echarts'; export default { data() { return { ec: null, // echarts实例 chartData: {}, // 星盘数据 }; }, onLoad() { // 获取星盘数据 this.chartData = getAstroData(); // 初始化echarts实例 this.ec = echarts.init(this.$refs.canvas, null, { width: uni.getSystemInfoSync().windowWidth, height: uni.getSystemInfoSync().windowHeight, }); // 绘制星盘 this.ec.setOption(getStarChartOption(this.chartData)); }, beforeDestroy() { // 销毁echarts实例 if (this.ec) { this.ec.dispose(); this.ec = null; } }, }; </script> ``` 5. 在utils文件夹中,编写JS代码,生成星盘数据和echarts配置。 ``` // 获取星盘数据 export function getAstroData() { // 这里使用mock数据,实际应该根据具体需求获取真实数据 const data = { planets: [ { name: 'Sun', longitude: 120.0 }, { name: 'Moon', longitude: 60.0 }, { name: 'Mercury', longitude: 90.0 }, { name: 'Venus', longitude: 150.0 }, { name: 'Mars', longitude: 180.0 }, { name: 'Jupiter', longitude: 240.0 }, { name: 'Saturn', longitude: 300.0 }, { name: 'Uranus', longitude: 30.0 }, { name: 'Neptune', longitude: 330.0 }, { name: 'Pluto', longitude: 270.0 }, ], houses: [ { number: 1, sign: 'Aries', longitude: 0.0 }, { number: 2, sign: 'Taurus', longitude: 30.0 }, { number: 3, sign: 'Gemini', longitude: 60.0 }, { number: 4, sign: 'Cancer', longitude: 90.0 }, { number: 5, sign: 'Leo', longitude: 120.0 }, { number: 6, sign: 'Virgo', longitude: 150.0 }, { number: 7, sign: 'Libra', longitude: 180.0 }, { number: 8, sign: 'Scorpio', longitude: 210.0 }, { number: 9, sign: 'Sagittarius', longitude: 240.0 }, { number: 10, sign: 'Capricorn', longitude: 270.0 }, { number: 11, sign: 'Aquarius', longitude: 300.0 }, { number: 12, sign: 'Pisces', longitude: 330.0 }, ], }; return data; } // 获取echarts配置 export function getStarChartOption(data) { // 这里使用mock数据,实际应该根据具体需求生成真实配置 const option = { title: { text: '星盘', left: 'center', }, tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c}°', }, xAxis: { type: 'value', min: 0, max: 360, splitNumber: 12, axisLine: { show: false }, axisTick: { show: false }, axisLabel: { show: false }, }, yAxis: { type: 'value', min: 0, max: 360, splitNumber: 12, axisLine: { show: false }, axisTick: { show: false }, axisLabel: { show: false }, }, series: [ { name: 'planets', type: 'scatter', data: data.planets.map((item) => ({ name: item.name, value: [item.longitude, 0], symbolSize: 10, itemStyle: { color: '#f00' }, })), }, { name: 'houses', type: 'scatter', data: data.houses.map((item) => ({ name: `House ${item.number}`, value: [item.longitude, 0], symbolSize: 20, itemStyle: { color: '#00f' }, })), }, ], }; return option; } ``` 6. 在App.vue中引入echarts,并注册组件。 ``` <script> import echarts from '@/components/ec-canvas/echarts'; export default { onLaunch() { // 注册echarts组件 uni.$registerComponent('ec-canvas', echarts); }, }; </script> ``` 至此,一个简单的星盘就完成了。需要注意的是,这里只是一个简单的示例,实际应用中需要根据具体需求进行修改和优化。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李恩泽的技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值