feat(admin): v3.5.12 大屏BGM、中文展示、分类删除修复与侧栏顺序
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,358 @@
|
||||
import {
|
||||
LEDGER_TYPE_LABELS,
|
||||
ORDER_STATUS_LABELS,
|
||||
ORDER_STATUS_OPERATOR_LABELS,
|
||||
} from './constants';
|
||||
import { HQ_OPERATION_ACTION_LABELS } from './hq-log';
|
||||
import { USER_LOG_CATEGORY_LABELS } from './user-log';
|
||||
import {
|
||||
PARTNER_LOG_CATEGORY_LABELS,
|
||||
HQ_ADMIN_ROLES,
|
||||
resolvePartnerLogCategory,
|
||||
resolveStoreLogCategory,
|
||||
resolveUserLogCategory,
|
||||
STORE_LOG_CATEGORY_LABELS,
|
||||
WECOM_BOT_PERMISSION_LABELS,
|
||||
} from '@dukang/shared-types';
|
||||
|
||||
export function zhLabel(dict: Record<string, string>, value?: string | null, empty = '—'): string {
|
||||
if (value == null || value === '') return empty;
|
||||
return dict[value] ?? value;
|
||||
}
|
||||
|
||||
export const CLIENT_APP_LABELS: Record<string, string> = {
|
||||
USER_MINI: 'C 端小程序',
|
||||
USER_H5: 'C 端 H5',
|
||||
PARTNER_MINI: '合伙人小程序',
|
||||
PARTNER_H5: '合伙人 H5',
|
||||
HQ_MINI: 'HQ 小程序',
|
||||
HQ_WEB: 'HQ 后台',
|
||||
SHOP_H5: '门店 H5',
|
||||
};
|
||||
|
||||
export const REF_TYPE_LABELS: Record<string, string> = {
|
||||
ORDER: '订单',
|
||||
USER: '用户',
|
||||
STORE: '门店',
|
||||
PARTNER: '合伙人',
|
||||
CITY: '城市',
|
||||
PRODUCT: '商品',
|
||||
COUPON: '权益券',
|
||||
TICKET: '工单',
|
||||
SUPPORT_TICKET: '技术支持工单',
|
||||
INVOICE: '发票',
|
||||
PROMO: '推广码',
|
||||
PROMO_CODE: '推广码',
|
||||
HQ: '总部',
|
||||
HQ_ACCOUNT: 'HQ 账号',
|
||||
STORE_ACCOUNT: '门店账号',
|
||||
PARTNER_ACCOUNT: '合伙人账号',
|
||||
PAYOUT: '打款',
|
||||
WITHDRAWAL: '提现',
|
||||
BILL: '账单',
|
||||
DELIVERY: '配送单',
|
||||
REDEEM: '核销',
|
||||
WAREHOUSE: '仓库',
|
||||
PACKAGE: '套餐',
|
||||
};
|
||||
|
||||
export const DOMAIN_EVENT_TYPE_LABELS: Record<string, string> = {
|
||||
ORDER_STATUS: '订单状态',
|
||||
BENEFIT_LEDGER: '权益流水',
|
||||
STORE_AUDIT: '门店审核',
|
||||
TICKET_COLLAB: '工单协作',
|
||||
PROMO_TOUCH: '推广触达',
|
||||
HQ_OPERATION: 'HQ 操作',
|
||||
};
|
||||
|
||||
export const PARAM_DESC_LABELS: Record<string, string> = {
|
||||
from_status: '原状态',
|
||||
to_status: '目标状态',
|
||||
operator: '操作人',
|
||||
ledger_type: '流水类型',
|
||||
coupon_id: '权益券 ID',
|
||||
action: '行为',
|
||||
target_type: '对象类型',
|
||||
target_id: '对象 ID',
|
||||
};
|
||||
|
||||
export const USER_LOG_EVENT_LABELS: Record<string, string> = {
|
||||
login_success: '登录成功',
|
||||
sms_login: '短信登录',
|
||||
sms_send: '发送验证码',
|
||||
sms_verify_fail: '验证码校验失败',
|
||||
session_start: '会话开始',
|
||||
home_view: '浏览首页',
|
||||
product_list_view: '浏览商品列表',
|
||||
product_click: '点击商品',
|
||||
product_detail_view: '浏览商品详情',
|
||||
order_confirm_view: '浏览确认订单',
|
||||
order_submit: '提交订单',
|
||||
order_list_view: '浏览订单列表',
|
||||
order_detail_view: '浏览订单详情',
|
||||
order_cancel: '取消订单',
|
||||
pay_page_view: '进入支付页',
|
||||
pay_success: '支付成功',
|
||||
pay_fail: '支付失败',
|
||||
wechat_login: '微信登录',
|
||||
wechat_phone: '微信授权手机号',
|
||||
wechat_phone_login: '微信手机号登录',
|
||||
wechat_location: '微信定位',
|
||||
wechat_album: '微信选图',
|
||||
wechat_bind: '绑定微信',
|
||||
store_list_view: '浏览门店列表',
|
||||
store_detail_view: '浏览门店详情',
|
||||
benefit_page_view: '浏览权益页',
|
||||
benefit_detail_view: '浏览权益详情',
|
||||
benefit_redeem_start: '开始核销',
|
||||
benefit_redeem_success: '核销成功',
|
||||
redeem_code_view: '查看核销码',
|
||||
redeem_success_view: '核销成功页',
|
||||
profile_update: '修改资料',
|
||||
bind_phone: '绑定手机号',
|
||||
address_list_view: '浏览地址列表',
|
||||
address_edit: '编辑地址',
|
||||
promo_touch: '推广触达',
|
||||
promo_share: '分享推广',
|
||||
cs_contact: '联系客服',
|
||||
after_sale_list_view: '浏览售后列表',
|
||||
after_sale_apply: '申请售后',
|
||||
client_error: '前端异常',
|
||||
};
|
||||
|
||||
export const STORE_LOG_EVENT_LABELS: Record<string, string> = {
|
||||
store_sms_send: '发送验证码',
|
||||
store_sms_login: '短信登录',
|
||||
store_sms_verify_fail: '验证码校验失败',
|
||||
store_login_success: '登录成功',
|
||||
store_select: '选择门店',
|
||||
store_wechat_login: '微信登录',
|
||||
store_wechat_bind: '绑定微信',
|
||||
store_home_view: '浏览首页',
|
||||
store_redeem_entry_view: '进入核销页',
|
||||
store_redeem_confirm_view: '核销确认页',
|
||||
store_phone_redeem_view: '手机号核销页',
|
||||
store_records_view: '浏览核销记录',
|
||||
store_withdraw_view: '浏览提现页',
|
||||
store_packages_view: '浏览套餐页',
|
||||
store_mine_view: '浏览我的',
|
||||
store_staff_view: '浏览子账号',
|
||||
store_redeem_preview: '核销预览',
|
||||
store_redeem_confirm: '确认核销',
|
||||
store_redeem_confirm_fail: '核销失败',
|
||||
store_redeem_weaknet_threshold: '弱网阈值',
|
||||
store_redeem_pending_submit: '提交挂起核销',
|
||||
store_redeem_pending_complete: '完成挂起核销',
|
||||
store_redeem_pending_reject: '驳回挂起核销',
|
||||
store_redeem_phone_lookup_sms: '手机号核销发码',
|
||||
store_redeem_phone_balance: '查询用户权益余额',
|
||||
store_redeem_phone_prepare: '手机号核销准备',
|
||||
store_redeem_scan_start: '扫码核销开始',
|
||||
store_payout_created: '生成打款单',
|
||||
store_payout_paid: '打款完成',
|
||||
store_withdraw_applied: '申请提现',
|
||||
store_withdraw_paid: '提现已打款',
|
||||
store_status_change: '变更营业状态',
|
||||
store_staff_create: '新增子账号',
|
||||
store_staff_update: '编辑子账号',
|
||||
store_staff_delete: '删除子账号',
|
||||
store_staff_permission_update: '更新子账号权限',
|
||||
store_package_apply: '申请套餐',
|
||||
store_package_audit_view: '查看套餐审核',
|
||||
};
|
||||
|
||||
export const PARTNER_LOG_EVENT_LABELS: Record<string, string> = {
|
||||
partner_sms_send: '发送验证码',
|
||||
partner_sms_login: '短信登录',
|
||||
partner_sms_verify_fail: '验证码校验失败',
|
||||
partner_login_success: '登录成功',
|
||||
partner_wechat_login: '微信登录',
|
||||
partner_wechat_bind: '绑定微信',
|
||||
partner_home_view: '浏览首页',
|
||||
partner_store_list_view: '浏览门店列表',
|
||||
partner_store_detail_view: '浏览门店详情',
|
||||
partner_store_create_view: '进入录店页',
|
||||
partner_order_list_view: '浏览订单列表',
|
||||
partner_order_detail_view: '浏览订单详情',
|
||||
partner_proxy_order_view: '进入代下单页',
|
||||
partner_bills_view: '浏览账单列表',
|
||||
partner_bill_detail_view: '浏览账单详情',
|
||||
partner_staff_list_view: '浏览子账号',
|
||||
partner_leaderboard_view: '浏览排行榜',
|
||||
partner_weekly_report_view: '浏览周报',
|
||||
partner_staff_create: '新增子账号',
|
||||
partner_staff_sms_send: '子账号发验证码',
|
||||
partner_staff_sms_verify_fail: '子账号验证码失败',
|
||||
partner_staff_update: '编辑子账号',
|
||||
partner_staff_delete: '删除子账号',
|
||||
partner_staff_permission_update: '更新子账号权限',
|
||||
partner_store_create: '录入门店',
|
||||
partner_store_status_change: '变更门店状态',
|
||||
partner_store_audit_approved: '门店审核通过',
|
||||
partner_store_audit_rejected: '门店审核驳回',
|
||||
partner_order_ship: '订单发货',
|
||||
partner_delivery_advance: '推进配送',
|
||||
partner_proxy_order_create: '代下单',
|
||||
partner_bill_view: '查看账单',
|
||||
partner_bill_confirm: '确认账单',
|
||||
partner_warehouse_view: '浏览仓库',
|
||||
partner_warehouse_update: '更新仓库',
|
||||
};
|
||||
|
||||
export const EVENT_NAME_LABELS: Record<string, string> = {
|
||||
...USER_LOG_EVENT_LABELS,
|
||||
...STORE_LOG_EVENT_LABELS,
|
||||
...PARTNER_LOG_EVENT_LABELS,
|
||||
};
|
||||
|
||||
export const THIRD_PARTY_PROVIDER_LABELS: Record<string, string> = {
|
||||
WECHAT_AUTH: '微信授权',
|
||||
WECHAT_PAY: '微信支付',
|
||||
WECHAT_REFUND: '微信退款',
|
||||
WECHAT_MAP: '微信/腾讯地图',
|
||||
ALIYUN_OSS: '阿里云 OSS',
|
||||
ALIYUN_SMS: '阿里云短信',
|
||||
MOCK_SMS: 'Mock 短信',
|
||||
SMS: '短信',
|
||||
XFX: '小飞侠',
|
||||
LOGISTICS: '物流快递',
|
||||
MANUAL: '手动',
|
||||
};
|
||||
|
||||
export const THIRD_PARTY_STATUS_LABELS: Record<string, string> = {
|
||||
SUCCESS: '成功',
|
||||
FAILED: '失败',
|
||||
PENDING: '处理中',
|
||||
};
|
||||
|
||||
export const THIRD_PARTY_SCENE_LABELS: Record<string, string> = {
|
||||
LOGIN: '登录',
|
||||
USERINFO: '用户信息',
|
||||
JSSDK_CONFIG: 'JSSDK 配置',
|
||||
BIND_PHONE: '绑定手机号',
|
||||
GET_LOCATION: '获取定位',
|
||||
CHOOSE_IMAGE: '选择图片',
|
||||
ORDER_PAY: '订单支付',
|
||||
ORDER_REFUND: '订单退款',
|
||||
UPLOAD_SHIPPING: '上传发货信息',
|
||||
TRADE_MANAGE_PUSH: '交易结算推送',
|
||||
ORDER_DISPATCH: '配送下单',
|
||||
ORDER_DISPATCH_HOLD: '配送暂不下发',
|
||||
TRACK_CALLBACK: '物流回调',
|
||||
UPLOAD_TOKEN: '上传凭证',
|
||||
UPLOAD_PUT_OBJECT: '上传文件',
|
||||
GEOCODE: '地理编码',
|
||||
REVERSE_GEOCODE: '逆地理编码',
|
||||
};
|
||||
|
||||
export const WECOM_BOT_ACTION_LABELS: Record<string, string> = {
|
||||
...WECOM_BOT_PERMISSION_LABELS,
|
||||
'user.read_sms.start': '查询用户·发送验证码',
|
||||
'user.read_sms.verify': '查询用户·校验验证码',
|
||||
};
|
||||
|
||||
export const GENERIC_STATUS_LABELS: Record<string, string> = {
|
||||
...ORDER_STATUS_LABELS,
|
||||
...LEDGER_TYPE_LABELS,
|
||||
...THIRD_PARTY_STATUS_LABELS,
|
||||
PENDING: '待处理',
|
||||
APPROVED: '已通过',
|
||||
REJECTED: '已驳回',
|
||||
ACTIVE: '正常',
|
||||
DISABLED: '停用',
|
||||
SUCCESS: '成功',
|
||||
FAILED: '失败',
|
||||
OPEN: '营业中',
|
||||
PAUSED: '已暂停',
|
||||
CLOSED: '已关闭',
|
||||
};
|
||||
|
||||
export const HQ_ROLE_LABELS: Record<string, string> = Object.fromEntries(
|
||||
HQ_ADMIN_ROLES.map((r) => [r.value, r.label]),
|
||||
);
|
||||
|
||||
const CODE_ZH: Record<string, string> = {
|
||||
...CLIENT_APP_LABELS,
|
||||
...REF_TYPE_LABELS,
|
||||
...DOMAIN_EVENT_TYPE_LABELS,
|
||||
...EVENT_NAME_LABELS,
|
||||
...ORDER_STATUS_LABELS,
|
||||
...ORDER_STATUS_OPERATOR_LABELS,
|
||||
...LEDGER_TYPE_LABELS,
|
||||
...HQ_OPERATION_ACTION_LABELS,
|
||||
...HQ_ROLE_LABELS,
|
||||
...THIRD_PARTY_PROVIDER_LABELS,
|
||||
...THIRD_PARTY_STATUS_LABELS,
|
||||
...THIRD_PARTY_SCENE_LABELS,
|
||||
...WECOM_BOT_ACTION_LABELS,
|
||||
...GENERIC_STATUS_LABELS,
|
||||
...PARAM_DESC_LABELS,
|
||||
};
|
||||
|
||||
export function zhCode(value?: string | null, empty = '—'): string {
|
||||
if (value == null || value === '') return empty;
|
||||
return CODE_ZH[value] ?? value;
|
||||
}
|
||||
|
||||
export function eventNameLabel(value?: string | null): string {
|
||||
return zhLabel(EVENT_NAME_LABELS, value);
|
||||
}
|
||||
|
||||
export function clientAppLabel(value?: string | null): string {
|
||||
return zhLabel(CLIENT_APP_LABELS, value);
|
||||
}
|
||||
|
||||
export function formatRef(refType?: string | null, refId?: string | null): string {
|
||||
if (!refType && !refId) return '—';
|
||||
const type = zhLabel(REF_TYPE_LABELS, refType, refType || '');
|
||||
return refId ? `${type} #${refId}` : type;
|
||||
}
|
||||
|
||||
export function userEventCategoryLabel(eventName: string, category?: string | null): string {
|
||||
const key = category || resolveUserLogCategory(eventName);
|
||||
if (key && USER_LOG_CATEGORY_LABELS[key]) return USER_LOG_CATEGORY_LABELS[key];
|
||||
return '其他';
|
||||
}
|
||||
|
||||
export function storeEventCategoryLabel(eventName: string, category?: string | null): string {
|
||||
const key = category || resolveStoreLogCategory(eventName);
|
||||
const labels = STORE_LOG_CATEGORY_LABELS as Record<string, string>;
|
||||
if (key && labels[key]) return labels[key];
|
||||
return '其他';
|
||||
}
|
||||
|
||||
export function partnerEventCategoryLabel(eventName: string, category?: string | null): string {
|
||||
const key = category || resolvePartnerLogCategory(eventName);
|
||||
const labels = PARTNER_LOG_CATEGORY_LABELS as Record<string, string>;
|
||||
if (key && labels[key]) return labels[key];
|
||||
return '其他';
|
||||
}
|
||||
|
||||
export function domainParamFieldLabel(desc?: string | null, fallbackIndex?: 1 | 2 | 3): string {
|
||||
if (desc && PARAM_DESC_LABELS[desc]) return PARAM_DESC_LABELS[desc];
|
||||
if (fallbackIndex) return `参数${fallbackIndex}`;
|
||||
return '参数';
|
||||
}
|
||||
|
||||
export function zhRemark(value?: string | null): string {
|
||||
if (!value) return '—';
|
||||
return value
|
||||
.replace(/partnerAccountId=/g, '合伙人账号=')
|
||||
.replace(/hqAccountId=/g, 'HQ账号=')
|
||||
.replace(/deliveryMode=/g, '履约方式=')
|
||||
.replace(/\bmode=/g, '履约方式=')
|
||||
.replace(/customer=/g, '客户=')
|
||||
.replace(/\bON_SITE_PICKUP\b/g, '现场提货')
|
||||
.replace(/\bCROSS_CITY\b/g, '跨城')
|
||||
.replace(/\bLOCAL\b/g, '同城');
|
||||
}
|
||||
|
||||
export function domainParamValue(desc?: string | null, value?: string | null): string {
|
||||
if (value == null || value === '') return '—';
|
||||
if (desc === 'from_status' || desc === 'to_status') return zhLabel(ORDER_STATUS_LABELS, value);
|
||||
if (desc === 'operator') return zhLabel(ORDER_STATUS_OPERATOR_LABELS, value);
|
||||
if (desc === 'ledger_type') return zhLabel(LEDGER_TYPE_LABELS, value);
|
||||
if (desc === 'action') return zhLabel(HQ_OPERATION_ACTION_LABELS, value);
|
||||
if (desc === 'target_type') return zhLabel(REF_TYPE_LABELS, value);
|
||||
return zhCode(value);
|
||||
}
|
||||
Reference in New Issue
Block a user