From 0a8bddbea09310fff8eaedf718031a6a5cf3f19e Mon Sep 17 00:00:00 2001 From: zhx Date: Thu, 14 May 2026 18:02:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=81=AB=E7=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/src/api/legacy/resident-activity.ts | 63 ++ .../routes/modules/resident-activity.ts | 6 + .../components/user-auth-info-drawer.vue | 1 + .../resident-activity/voice-room-rocket.vue | 846 ++++++++++++++++++ ...min_resident_activity_and_baishun_menu.sql | 64 ++ 5 files changed, 980 insertions(+) create mode 100644 apps/src/views/resident-activity/voice-room-rocket.vue diff --git a/apps/src/api/legacy/resident-activity.ts b/apps/src/api/legacy/resident-activity.ts index 1f56866..df7cf47 100644 --- a/apps/src/api/legacy/resident-activity.ts +++ b/apps/src/api/legacy/resident-activity.ts @@ -11,6 +11,7 @@ const VIP_BASE = '/go/resident-activity/vip'; const RECHARGE_REWARD_BASE = '/go/resident-activity/recharge-reward'; const TASK_CENTER_BASE = '/go/resident-activity/task-center'; const VOICE_ROOM_RED_PACKET_BASE = '/go/resident-activity/voice-room-red-packet'; +const VOICE_ROOM_ROCKET_BASE = '/go/resident-activity/voice-room-rocket'; export async function getResidentInviteConfig(sysOrigin: string) { return requestClient.get>('/resident-activity/invite/config', { @@ -172,6 +173,68 @@ export async function retryVoiceRoomRedPacketRefund(packetNo: string) { ); } +export async function getVoiceRoomRocketConfig(sysOrigin: string) { + return requestClient.get>(`${VOICE_ROOM_ROCKET_BASE}/config`, { + params: { sysOrigin }, + }); +} + +export async function saveVoiceRoomRocketConfig(data: Record) { + return requestClient.post>( + `${VOICE_ROOM_ROCKET_BASE}/config/save`, + data, + ); +} + +export async function getVoiceRoomRocketLevelConfigs(sysOrigin: string) { + return requestClient.get>>( + `${VOICE_ROOM_ROCKET_BASE}/level-configs`, + { params: { sysOrigin } }, + ); +} + +export async function saveVoiceRoomRocketLevelConfigs(data: Record) { + return requestClient.post>>( + `${VOICE_ROOM_ROCKET_BASE}/level-configs/save`, + data, + ); +} + +export async function getVoiceRoomRocketRewardConfigs(params: Record) { + return requestClient.get>>( + `${VOICE_ROOM_ROCKET_BASE}/reward-configs`, + { params }, + ); +} + +export async function saveVoiceRoomRocketRewardConfigs(data: Record) { + return requestClient.post>>( + `${VOICE_ROOM_ROCKET_BASE}/reward-configs/save`, + data, + ); +} + +export async function pageVoiceRoomRocketLaunchRecords(params: Record) { + return requestClient.get>( + `${VOICE_ROOM_ROCKET_BASE}/launch-records`, + { params }, + ); +} + +export async function pageVoiceRoomRocketRewardRecords(params: Record) { + return requestClient.get>( + `${VOICE_ROOM_ROCKET_BASE}/reward-records`, + { params }, + ); +} + +export async function retryVoiceRoomRocketRewardRecord(id: number | string) { + return requestClient.post>( + `${VOICE_ROOM_ROCKET_BASE}/reward-records/retry`, + { id }, + ); +} + export async function pageSpecifiedGiftWeeklyRankConfigs(params: Record) { return requestClient.get>>( `${SPECIFIED_GIFT_WEEKLY_RANK_BASE}/config/page`, diff --git a/apps/src/router/routes/modules/resident-activity.ts b/apps/src/router/routes/modules/resident-activity.ts index 44e70fa..c6b5e2d 100644 --- a/apps/src/router/routes/modules/resident-activity.ts +++ b/apps/src/router/routes/modules/resident-activity.ts @@ -41,6 +41,12 @@ const routes: RouteRecordRaw[] = [ component: () => import('#/views/resident-activity/voice-room-red-packet.vue'), meta: { title: '红包' }, }, + { + name: 'ResidentVoiceRoomRocket', + path: 'voice-room-rocket', + component: () => import('#/views/resident-activity/voice-room-rocket.vue'), + meta: { title: '火箭' }, + }, { name: 'ResidentRegisterRewardConfig', path: 'register-reward/config', diff --git a/apps/src/views/operate/components/user-auth-info-drawer.vue b/apps/src/views/operate/components/user-auth-info-drawer.vue index d085fee..72ea2d9 100644 --- a/apps/src/views/operate/components/user-auth-info-drawer.vue +++ b/apps/src/views/operate/components/user-auth-info-drawer.vue @@ -63,6 +63,7 @@ function buildIdentityTags() { ['货运代理', target.freightAgent], ['BD', target.bd], ['BD Leader', target.bdLeader], + ['Yumi 经理', target.yumiManager || target.yumi_manager], ]; return pairs.filter(([, enabled]) => Boolean(enabled)); } diff --git a/apps/src/views/resident-activity/voice-room-rocket.vue b/apps/src/views/resident-activity/voice-room-rocket.vue new file mode 100644 index 0000000..f8be460 --- /dev/null +++ b/apps/src/views/resident-activity/voice-room-rocket.vue @@ -0,0 +1,846 @@ + + +