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:
@@ -97,6 +97,13 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="menu-group">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<button class="menu-item contact-btn" open-type="contact">
|
||||
<view class="menu-icon-wrap wrap-gray"><text class="menu-icon">💬</text></view>
|
||||
<text class="menu-text">联系客服</text>
|
||||
<text class="menu-arrow">›</text>
|
||||
</button>
|
||||
<!-- #endif -->
|
||||
<view class="menu-item" @click="goAbout">
|
||||
<view class="menu-icon-wrap wrap-gray"><text class="menu-icon">ℹ️</text></view>
|
||||
<text class="menu-text">关于</text>
|
||||
@@ -322,6 +329,9 @@ const doLogout = () => {
|
||||
.menu-area { padding: 0 32rpx 32rpx; margin-top: 8rpx; }
|
||||
.menu-group { background: #FFFFFF; border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 24rpx; box-shadow: var(--shadow-sm); }
|
||||
.menu-item { display: flex; align-items: center; padding: 28rpx 32rpx; border-bottom: 1rpx solid var(--color-border); }
|
||||
.contact-btn { width: 100%; background: transparent; border: none; border-radius: 0; padding: 0; margin: 0; line-height: inherit; font-size: inherit; text-align: left; }
|
||||
.contact-btn::after { border: none; }
|
||||
.contact-btn:active { background: #F9FAFB; }
|
||||
.menu-item:last-child { border-bottom: none; }
|
||||
.menu-item:active { background: #F9FAFB; }
|
||||
.menu-icon-wrap { width: 60rpx; height: 60rpx; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; margin-right: 20rpx; flex-shrink: 0; }
|
||||
|
||||
Reference in New Issue
Block a user