⇠
返回
选择你的牌阵
请根据你的困惑选择一个适合的牌阵
{{item.name}}
{{item.description}}
请输入你想询问的问题
心中默念问题,塔罗牌将为你指引方向
{{question.length}}/200
{{questionQuality.icon}}
提问质量:{{questionQuality.level}}
正在感应你的能量,请保持内心平静...
请挑选 {{selectedSpread.cardCount}} 张牌
凭直觉选出触动你的卡牌
{{index + 1}}
module.exports.isSelected = function(indices, currentIdx) {
return indices.indexOf(currentIdx) !== -1;
};
module.exports.getTransform = function(indices, currentIdx, count) {
var pos = indices.indexOf(currentIdx);
if (pos !== -1) {
// 每排最多5张牌
var maxPerRow = 5;
var row = Math.floor(pos / maxPerRow); // 第几排(0或1)
var col = pos % maxPerRow; // 该排的第几个
var cardsInRow = (row === 0) ? Math.min(count, maxPerRow) : (count - maxPerRow);
// 槽位:宽100rpx + gap 20rpx = 120rpx 间距
var slotWidth = 100;
var gap = 20;
var slotSpacing = slotWidth + gap;
// 计算该排槽位的水平居中偏移
// 从该排中间位置开始计算
var centerOffset = (col - (cardsInRow - 1) / 2) * slotSpacing;
// 垂直偏移计算
// 第一排槽位:向上 -520rpx(已验证接近正确)
// 第二排:需要减少向上的距离
// 槽位高度160 + gap 20 = 180,但实际可能需要微调
var firstRowY = -520;
var secondRowOffset = 200; // 增加偏移量,让第二排更接近fan-deck
var yOffset = firstRowY + (row * secondRowOffset); // row=0: -520, row=1: -320
// 位移并缩小到0.65
return 'translate(' + centerOffset + 'rpx, ' + yOffset + 'rpx) scale(0.65) rotate(0deg)';
} else {
// 保持在牌堆中的放射状
return 'rotate(' + ((currentIdx - 10) * 8) + 'deg)';
}
};
{{drawnCardIndices.length}} / {{selectedSpread.cardCount}}
{{selectedSpread.positions[index]}}
{{item.name}}{{item.isReversed ? '(逆)' : ''}}
···
{{aiLoadingText}}
核心主题
{{aiResult.theme}}
当前状态
{{aiResult.status}}
潜在影响
{{aiResult.influence}}
整体趋势
{{spreadStory}}
{{item.posName}}
在【{{questionType}}】来看:{{item.posMeaning}}
行动建议
{{aiResult.advice}}