feat: 虚拟支付完整链路——vpay服务模块(双签名/充值下单/回调到账/退款) + 充值页 + 我的入口 + session_key存储

This commit is contained in:
2026-09-14 10:43:57 +08:00
parent 95a28390dd
commit 5f6c0d717f
9 changed files with 670 additions and 316 deletions
+25
View File
@@ -87,6 +87,16 @@
</view>
</view>
<!-- 星尘充值入口 -->
<view class="vpay-entry" @click="goRecharge">
<view class="ve-icon">✨</view>
<view class="ve-info">
<text class="ve-title">充值星尘</text>
<text class="ve-desc">AI问答 · 会员订阅</text>
</view>
<text class="ve-arrow">→</text>
</view>
<!-- 菜单列表 -->
<view class="menu-section">
<view class="menu-item" @click="goFavorites">
@@ -261,6 +271,7 @@ async function handleLogout() {
function goLogin() { uni.navigateTo({ url: '/pages/login/login' }) }
function goRecharge() { uni.navigateTo({ url: '/pages/vpay/recharge' }) }
function goChat() { uni.switchTab({ url: '/pages/chat/chat' }) }
function goFavorites() { uni.navigateTo({ url: '/pages/favorites/favorites' }) }
function goProgress() { uni.navigateTo({ url: '/pages/progress/progress' }) }
@@ -624,3 +635,17 @@ onShareTimeline(() => ({
padding: 8px 0 20px;
}
</style>
<style scoped>
.vpay-entry {
display: flex; align-items: center; gap: 12px;
background: linear-gradient(135deg, rgba(91,95,248,.1), rgba(139,92,246,.06));
border: 1.5px solid var(--glass-hover-border);
border-radius: var(--radius-lg); padding: 14px 16px; margin-bottom: 12px;
}
.ve-icon { font-size: 22px; }
.ve-info { flex: 1; }
.ve-title { font-size: 14px; font-weight: 700; color: var(--text-primary); display: block; }
.ve-desc { font-size: 11px; color: var(--text-tertiary); }
.ve-arrow { font-size: 14px; color: var(--text-muted); }
</style>