fix: 后台图标页展示点单端服务图标与关注快手
按俱乐部独立配置;补「点单端我的」分区,打手区增加关注快手入口。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -9,11 +9,33 @@
|
||||
<ClubScopeHint />
|
||||
<h2>小程序图标与频道</h2>
|
||||
<p class="hint">
|
||||
图标固定文件名存于 COS:<code>beijing/tubiao/chengxutubiao/</code>;
|
||||
频道图片存于 <code>beijing/pindao/</code>;
|
||||
推广海报背景存于 <code>beijing/haibao/</code>。各俱乐部独立配置。
|
||||
图标按<strong>当前顶部所选俱乐部</strong>独立配置(表 club_miniapp_icon);
|
||||
请先切到具体俱乐部再上传,集团汇总模式下不可改。
|
||||
文件存于 COS:<code>beijing/tubiao/chengxutubiao/</code>;
|
||||
频道 <code>beijing/pindao/</code>;海报背景 <code>beijing/haibao/</code>。
|
||||
</p>
|
||||
|
||||
<el-card class="section-card" shadow="never">
|
||||
<template #header><strong>点单端「我的」服务图标</strong></template>
|
||||
<p class="hint">在线客服、邀请好友、我推荐的人须分开配置,避免共用同一张图。</p>
|
||||
<div class="icon-grid">
|
||||
<div v-for="item in cuserMineIcons" :key="item.icon_key" class="icon-cell">
|
||||
<div class="icon-label">{{ item.label }}</div>
|
||||
<div class="icon-key">{{ item.icon_key }}</div>
|
||||
<el-image :src="fullUrl(item.image_path)" fit="contain" class="icon-preview" />
|
||||
<el-upload
|
||||
action="#"
|
||||
:auto-upload="false"
|
||||
:show-file-list="false"
|
||||
:on-change="(f) => uploadIcon(f, item.icon_key)"
|
||||
accept="image/jpeg,image/png,image/jpg,image/webp"
|
||||
>
|
||||
<el-button size="small" type="primary" :loading="uploadingKey === item.icon_key">更换</el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="section-card" shadow="never">
|
||||
<template #header><strong>推广海报背景(按俱乐部)</strong></template>
|
||||
<p class="hint">管事 / 组长 / 点单端推荐官海报合成底图,按当前俱乐部独立配置;点单端请单独上传,勿与管事共用。</p>
|
||||
@@ -207,15 +229,22 @@ const REQUIRED_PERMISSION = '8080a'
|
||||
const hasPermission = ref(true)
|
||||
const icons = ref([])
|
||||
const POSTER_KEYS = new Set(['guanshi_poster_bg', 'zuzhang_poster_bg', 'cuser_poster_bg'])
|
||||
const CUSER_MINE_KEYS = new Set([
|
||||
'cuser_mine_kefu',
|
||||
'cuser_mine_invite',
|
||||
'cuser_mine_invitees',
|
||||
])
|
||||
const COMMON_KEYS = new Set(['mine_pindao', 'icon_refresh'])
|
||||
const FIGHTER_BANNER_KEYS = new Set(['fighter_recharge_member', 'fighter_recharge_deposit'])
|
||||
const FIGHTER_MINE_PAGE_KEYS = new Set([
|
||||
'fighter_order_pending', 'fighter_order_settling', 'fighter_order_done', 'fighter_order_closed',
|
||||
'fighter_trade_commission', 'fighter_trade_withdraw', 'fighter_trade_settle', 'fighter_trade_deduct', 'fighter_trade_recharge',
|
||||
'fighter_invite_subordinate', 'fighter_invite_poster', 'fighter_invite_code',
|
||||
'fighter_kuaishou_cash', 'fighter_mine_copy', 'fighter_mine_edit', 'fighter_mine_qiepian', 'fighter_mine_penalty_tip',
|
||||
'fighter_kuaishou_cash', 'fighter_follow_kuaishou',
|
||||
'fighter_mine_copy', 'fighter_mine_edit', 'fighter_mine_qiepian', 'fighter_mine_penalty_tip',
|
||||
])
|
||||
const posterIcons = computed(() => icons.value.filter((i) => POSTER_KEYS.has(i.icon_key)))
|
||||
const cuserMineIcons = computed(() => icons.value.filter((i) => CUSER_MINE_KEYS.has(i.icon_key)))
|
||||
const merchantIcons = computed(() => icons.value.filter((i) => i.icon_key.startsWith('merchant_')))
|
||||
const fighterBannerIcons = computed(() => icons.value.filter((i) => FIGHTER_BANNER_KEYS.has(i.icon_key)))
|
||||
const fighterMinePageIcons = computed(() => icons.value.filter((i) => FIGHTER_MINE_PAGE_KEYS.has(i.icon_key)))
|
||||
|
||||
Reference in New Issue
Block a user