chore: 抢单端UI回退前备份当前完整工作区
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,8 +4,9 @@
|
||||
export const ORDER_CARD_PREFIX = '[ORDER_CARD]';
|
||||
|
||||
const ZHUANGTAI_MAP = {
|
||||
1: '已下单', 2: '进行中', 3: '已完成', 4: '退款中',
|
||||
1: '待抢单', 2: '进行中', 3: '已完成', 4: '退款中',
|
||||
5: '已退款', 6: '退款失败', 7: '指定中', 8: '结算中',
|
||||
9: '未支付', 14: '支付失败', 25: '已废弃',
|
||||
};
|
||||
|
||||
export function getZhuangtaiText(zhuangtai) {
|
||||
@@ -38,6 +39,12 @@ export function resolveLocalGroupId(identityType, myUid, partnerUid, fadanPingta
|
||||
}
|
||||
return buildDashouBossGroupId(myUid, partnerUid);
|
||||
}
|
||||
if (identityType === 'boss' || identityType === 'normal') {
|
||||
if (partnerUid && myUid) {
|
||||
return buildDashouBossGroupId(partnerUid, myUid);
|
||||
}
|
||||
return orderId ? `group_${orderId}` : null;
|
||||
}
|
||||
return orderId ? `group_${orderId}` : null;
|
||||
}
|
||||
|
||||
@@ -105,6 +112,32 @@ export function applyPairMetaToConversation(item, myGoEasyId, defaultAvatar, oss
|
||||
return;
|
||||
}
|
||||
|
||||
const parsed = parsePairGroupId(item.groupId);
|
||||
if (parsed && myGoEasyId) {
|
||||
const isDashou = myGoEasyId === parsed.dashouId;
|
||||
const isPartner = myGoEasyId === parsed.partnerId;
|
||||
if (isDashou) {
|
||||
d.counterpartId = parsed.partnerId;
|
||||
d.counterpartYonghuid = parsed.partnerId.replace(/^(Sj|Boss)/, '');
|
||||
d.partnerRoleLabel = parsed.partnerRole === 'boss' ? '老板' : '商家';
|
||||
if (!d.name || d.name === item.groupId) {
|
||||
d.name = d.partnerNicheng || `${d.partnerRoleLabel}${d.counterpartYonghuid.slice(-6)}`;
|
||||
}
|
||||
if (!d.avatar || d.avatar === defaultAvatar) {
|
||||
d.avatar = d.partnerAvatar || defaultAvatar;
|
||||
}
|
||||
} else if (isPartner) {
|
||||
d.counterpartId = parsed.dashouId;
|
||||
d.counterpartYonghuid = parsed.dashouId.replace(/^Ds/, '');
|
||||
if (!d.name || d.name === item.groupId) {
|
||||
d.name = d.dashouNicheng || `打手${d.counterpartYonghuid.slice(-6)}`;
|
||||
}
|
||||
if (!d.avatar || d.avatar === defaultAvatar) {
|
||||
d.avatar = d.dashouAvatar || defaultAvatar;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const counterpartId = getCounterpartGoEasyId(item.groupId, myGoEasyId);
|
||||
if (counterpartId) {
|
||||
d.counterpartId = counterpartId;
|
||||
@@ -215,6 +248,7 @@ export function getConversationSortTime(conversation, openTimes) {
|
||||
const id = conversation.groupId || conversation.userId || '';
|
||||
const msgTs = conversation.lastMessage?.timestamp || 0;
|
||||
const openTs = (openTimes && id && openTimes[id]) ? openTimes[id] : 0;
|
||||
// QQ/微信:取「最后消息时间」与「最近进入会话时间」较大值;新消息到达会更新 msgTs 并置顶
|
||||
return Math.max(msgTs, openTs);
|
||||
}
|
||||
|
||||
@@ -222,8 +256,6 @@ export function sortConversations(list, openTimes) {
|
||||
return list.sort((a, b) => {
|
||||
if (a.top && !b.top) return -1;
|
||||
if (!a.top && b.top) return 1;
|
||||
if (a.unread > 0 && b.unread <= 0) return -1;
|
||||
if (a.unread <= 0 && b.unread > 0) return 1;
|
||||
const ta = getConversationSortTime(a, openTimes);
|
||||
const tb = getConversationSortTime(b, openTimes);
|
||||
return tb - ta;
|
||||
|
||||
Reference in New Issue
Block a user