feat(admin): enrich admin panel fields; add user index constraint and customer service
- admin controller: add updatedAt to interview/resume selects; add orderCount, todayOrders, totalRevenue to overview - admin.vue: enrich all tabs with more fields - overview: order cards (count, revenue) - users: wxOpenid, email, createdAt, interviewCount, vipExpireAt, role badge - interviews: user email, updatedAt, summary preview - orders: title, type, channel, paidAt, wxTransactionId, refund info - resumes: user email, updatedAt - share: sharer phone, shareCode, isActive, visitorId(IP), creditedAt - admins: email, createdAt - user.schema: add unique indexes on phone/wxOpenid/email; pre-save hook requiring at least one contact method - user/about: add WeChat contact button (open-type=contact) for customer service
This commit is contained in:
@@ -17,6 +17,15 @@
|
||||
<text class="info-value">contact@yuzhiran.com</text>
|
||||
</view>
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<button class="contact-btn" open-type="contact">
|
||||
<view class="contact-btn-inner">
|
||||
<text class="contact-icon">💬</text>
|
||||
<text class="contact-text">联系在线客服</text>
|
||||
</view>
|
||||
</button>
|
||||
<!-- #endif -->
|
||||
|
||||
<view class="link-section">
|
||||
<view class="link-item" @click="goAgreement">
|
||||
<text class="link-text">用户协议</text>
|
||||
@@ -59,4 +68,10 @@ const goPrivacy = () => uni.navigateTo({ url: '/pages/privacy/privacy' })
|
||||
.disclaimer { margin-top: 40rpx; background: #FFF8E1; border-radius: var(--radius-md); padding: 24rpx; }
|
||||
.disclaimer-title { font-size: 24rpx; font-weight: 700; color: #F59E0B; display: block; margin-bottom: 12rpx; }
|
||||
.disclaimer-text { font-size: 22rpx; color: var(--color-text-secondary); line-height: 1.8; }
|
||||
|
||||
.contact-btn { width: 100%; background: #FFF; border: none; border-radius: var(--radius-md); padding: 0; margin-bottom: 12rpx; }
|
||||
.contact-btn-inner { display: flex; align-items: center; gap: 16rpx; padding: 24rpx 30rpx; }
|
||||
.contact-btn:active { opacity: 0.7; }
|
||||
.contact-icon { font-size: 28rpx; }
|
||||
.contact-text { font-size: 26rpx; color: var(--color-text); }
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user