backup: 紫色UI换肤前完整备份(当前橙色逍遥梦主题)
保留改造前全部页面样式与功能代码,便于回滚。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
import { createPage, request, ensureRoleOnCenterPage } from '../../utils/base-page.js';
|
||||
import { getOrderStatusText } from '../../utils/api-helper.js';
|
||||
import {
|
||||
STAFF_API, isStaffMode, isMerchantPortalUser, refreshStaffContext, syncStaffUi,
|
||||
restoreStaffContextAfterAuth, applyStaffStatsToPage, getStaffContext,
|
||||
} from '../../utils/staff-api.js';
|
||||
import { ensurePhoneAuth } from '../../utils/phone-auth.js';
|
||||
|
||||
const app = getApp();
|
||||
|
||||
@@ -12,6 +17,11 @@ Page(createPage({
|
||||
statusBar: 20,
|
||||
navBar: 44,
|
||||
isShangjia: false,
|
||||
isStaffMode: false,
|
||||
staffRoleName: '',
|
||||
quotaAvailable: '0.00',
|
||||
canDispatch: true,
|
||||
canStaffManage: true,
|
||||
lunboList: [],
|
||||
lunbozhanwei: '/images/lunbozhanwei.jpg',
|
||||
gonggao: '',
|
||||
@@ -32,21 +42,42 @@ Page(createPage({
|
||||
recentLoading: false,
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
async onLoad() {
|
||||
const sys = wx.getSystemInfoSync();
|
||||
this.setData({
|
||||
statusBar: sys.statusBarHeight || 20,
|
||||
navBar: (sys.statusBarHeight || 20) + 44,
|
||||
lunbozhanwei: app.globalData.lunbozhanwei || '/images/lunbozhanwei.jpg',
|
||||
});
|
||||
if (wx.getStorageSync('token')) {
|
||||
await restoreStaffContextAfterAuth();
|
||||
}
|
||||
this.checkRole();
|
||||
syncStaffUi(this);
|
||||
this.waitForConfigAndLoadBanner();
|
||||
this.checkColdStartPopup('shangjiaduan');
|
||||
},
|
||||
|
||||
onShow() {
|
||||
async onShow() {
|
||||
const phoneOk = await ensurePhoneAuth({ redirect: true, role: 'shangjia' });
|
||||
if (!phoneOk) return;
|
||||
|
||||
this.registerNotificationComponent();
|
||||
// 先用本地缓存渲染,再向服务端同步子客服身份
|
||||
this.checkRole();
|
||||
syncStaffUi(this);
|
||||
const token = wx.getStorageSync('token');
|
||||
const isOwner = Number(wx.getStorageSync('shangjiastatus')) === 1;
|
||||
if (token && !isOwner) {
|
||||
await restoreStaffContextAfterAuth();
|
||||
this.checkRole();
|
||||
syncStaffUi(this);
|
||||
} else if (isStaffMode()) {
|
||||
await refreshStaffContext(request);
|
||||
this.checkRole();
|
||||
syncStaffUi(this);
|
||||
applyStaffStatsToPage(this, getStaffContext());
|
||||
}
|
||||
if (this.data.isShangjia) {
|
||||
ensureRoleOnCenterPage(this, 'shangjia');
|
||||
this.loadDashboard();
|
||||
@@ -78,8 +109,7 @@ Page(createPage({
|
||||
},
|
||||
|
||||
checkRole() {
|
||||
const ok = Number(wx.getStorageSync('shangjiastatus')) === 1;
|
||||
this.setData({ isShangjia: ok });
|
||||
this.setData({ isShangjia: isMerchantPortalUser() });
|
||||
},
|
||||
|
||||
loadBannerData(forceFetch) {
|
||||
@@ -132,6 +162,12 @@ Page(createPage({
|
||||
},
|
||||
|
||||
async loadShangjiaBrief() {
|
||||
if (isStaffMode()) {
|
||||
const ctx = await refreshStaffContext(request);
|
||||
syncStaffUi(this);
|
||||
applyStaffStatsToPage(this, ctx);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const res = await request({
|
||||
url: '/yonghu/shangjiaxinxi',
|
||||
@@ -156,7 +192,7 @@ Page(createPage({
|
||||
async loadPendingStats() {
|
||||
try {
|
||||
const res = await request({
|
||||
url: '/dingdan/sjdingdanhq',
|
||||
url: isStaffMode() ? STAFF_API.orderList : '/dingdan/sjdingdanhq',
|
||||
method: 'POST',
|
||||
data: { zhuangtai_list: [8], page: 1, page_size: 20 },
|
||||
});
|
||||
@@ -187,7 +223,7 @@ Page(createPage({
|
||||
this.setData({ recentLoading: true });
|
||||
try {
|
||||
const res = await request({
|
||||
url: '/dingdan/sjdingdanhq',
|
||||
url: isStaffMode() ? STAFF_API.orderList : '/dingdan/sjdingdanhq',
|
||||
method: 'POST',
|
||||
data: {
|
||||
zhuangtai_list: ALL_ORDER_ZHUANGTAI,
|
||||
@@ -206,7 +242,7 @@ Page(createPage({
|
||||
return {
|
||||
dingdan_id: item.dingdan_id,
|
||||
title: item.jieshao || '暂无描述',
|
||||
time: item.create_time || '',
|
||||
time: item.create_time || item.CreateTime || '',
|
||||
status: getOrderStatusText(item.zhuangtai),
|
||||
money: item.jine || '0.00',
|
||||
raw,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{!isShangjia}}">
|
||||
<block wx:if="{{!isShangjia && !isStaffMode}}">
|
||||
<view class="guest-box sj-mx20 sj-panel">
|
||||
<text class="guest-title">商家入驻</text>
|
||||
<text class="guest-desc">完成入驻后可发单、管理订单</text>
|
||||
@@ -39,7 +39,11 @@
|
||||
<text class="sj-notice-txt">{{gonggao}}</text>
|
||||
</view>
|
||||
|
||||
<view class="sj-fadan-row">
|
||||
<view class="staff-banner sj-mx20" wx:if="{{isStaffMode}}">
|
||||
<text class="staff-banner-txt">商家客服 · {{staffRoleName}} · 可用额度 ¥{{quotaAvailable}}</text>
|
||||
</view>
|
||||
|
||||
<view class="sj-fadan-row" wx:if="{{canDispatch}}">
|
||||
<view class="sj-fadan-img-btn sj-fadan-img-btn--left" bindtap="goExpress"/>
|
||||
<view class="sj-fadan-img-btn sj-fadan-img-btn--right" bindtap="goDispatch"/>
|
||||
</view>
|
||||
@@ -73,7 +77,7 @@
|
||||
<text class="stat-num">{{stats.todayRefund}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="stats-kefu-wrap">
|
||||
<view class="stats-kefu-wrap" wx:if="{{canStaffManage}}">
|
||||
<view class="kefu-row-inset flexm">
|
||||
<view class="kefu-btn-inset" bindtap="goKefuKey">
|
||||
<image class="kefu-inset-img" src="{{imgUrls.kefuKeyBtn}}" mode="widthFix"/>
|
||||
|
||||
@@ -307,3 +307,16 @@ page {
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
||||
.staff-banner {
|
||||
margin-top: 16rpx;
|
||||
padding: 16rpx 24rpx;
|
||||
background: #fff8e8;
|
||||
border-radius: 12rpx;
|
||||
border: 1rpx solid #f0d89a;
|
||||
}
|
||||
|
||||
.staff-banner-txt {
|
||||
font-size: 24rpx;
|
||||
color: #8a6d2b;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user