Appearance
VIP 系統
最後更新:2026-04-09
功能說明
VIP 系統根據使用者的存款與投注累積「成長值(EXP)」來決定 VIP 等級。等級越高可享有更多專屬權益。「我的」頁面頂部顯示 VIP 等級標籤與升級進度條,點擊可進入 VIP 中心(H5 Web)查看詳細說明與福利。
VIP 等級
| 等級 | 說明 |
|---|---|
| VIP 0 ~ VIP 6 | 一般等級,顯示升級進度條(currentExp / promoExpReq) |
| VIP 7 | 最高等級(至尊玩家),不再顯示升級進度,改為顯示保級進度(currentMaintainExp / maintainReqExp) |
各等級的具體升級 EXP 門檻與保級條件由後台配置,前端動態讀取。
VIP 權益標籤
前端在 VIP 卡片底部顯示四項權益標籤(BBMineHeaderVipView.TagType):
| 權益 | 說明 |
|---|---|
| 晉級禮金 | VIP 升級時發放的獎勵(福利中心 awardType = 1) |
| 每月紅包 | VIP 月度獎勵(福利中心 awardType = 2) |
| 生日禮金 | VIP 生日獎勵(福利中心 awardType = 0) |
| 專屬活動 | VIP 專屬活動入口 |
各等級對應的具體獎金金額、返水比例等由後台配置,前端動態讀取。
使用者流程
- 在「我的」首頁,頭像旁顯示 VIP 等級標籤(
BBMineHeaderVipView) - 點擊 VIP 標籤 / 區塊 → 進入
VIPViewController(載入 H5 VIP 中心頁) VIPViewController右上角有「VIP 詳情」按鈕 → 再 push 一層 VIP 詳情頁- VIP 升級進度顯示:
- 當前等級 / 成長值 / 下一等級所需成長值
- 維護條件:已達等級維持所需 EXP
- 專屬 VIP 登出提示:
BBMineVipLogoutView - 已達最高等級:
BBMineVipMaxLevelView(顯示「恭喜您已經是至尊玩家,尊享特權」)
頁面跳轉
- 「我的」首頁 VIP 區塊點擊 →
VIPViewController(H5 VIP 中心,路徑mc/vip) VIPViewController右上角詳情 → push 更深層 VIP 詳情頁(路徑mc/vip-detail)
VIP 等級對其他功能的影響
1. 聊天室發言限制
聊天室可由後台設定 VIP 等級發言門檻。前端透過 WebSocket 接收聊天規則(STChatRuleModel),其中包含:
| 欄位 | 類型 | 說明 |
|---|---|---|
vipLimitIsAccord | Bool | 使用者 VIP 等級是否符合發言要求 |
vipLimitText | String | VIP 限制描述文字 |
vipLimitVal | Int | 最低 VIP 等級門檻 |
vipCurrentVal | Int | 使用者當前 VIP 等級 |
不符合時顯示提示:「VIP{N}以上會員才能發言」。此限制同時在前端發送訊息前檢查(STChatManager)及後端 WebSocket 回傳 userIncompatible 指令時檢查。
2. 使用者名稱顏色(聊天 / 搜尋)
- VIP 3 以下:使用者名稱顯示灰色(日間
CBBBBBB/ 夜間C888888) - VIP 4 以上:使用者名稱顯示金色(
CE5932D) - 跑馬燈彈幕中,VIP > 3 時文字顏色改為
CE2B67B(粉色)
3. 提款額度(預約提現)
AppointmentCondDic Model 中以 vipMinLimit 和 vipMaxLimit 區分不同 VIP 等級區間的提款條件(返利比例、返利上限、流水倍數等),覆蓋三種提現類型:普通提現(cond4Normal)、專屬提現(cond4Speed)、USDT 提現(cond4USDT)。具體各等級的額度由後台配置,前端動態讀取。
4. 客服系統
開啟客服時會帶入 vipLevel 參數(CustomerChatManager),客服端可根據 VIP 等級決定服務優先順序或分配專屬客服。具體專屬客服門檻由後台配置,前端動態讀取。
5. 返水比例
福利中心(WelfareCentreModel)中 awardType 包含「返水禮金」(type = 10),但具體各 VIP 等級對應的返水比例由後台配置,前端動態讀取。
6. VIP 升降級通知機制
程式碼中未發現前端本地推送或 VIP 等級變更的專屬通知邏輯。VIP 等級變更的通知推測由後台觸發(例如透過推播或福利中心發放獎勵),前端在每次進入「我的」頁面時呼叫 VIPProgressRequest 刷新等級資訊。
技術視角(開發看這裡)
相關檔案
| 類型 | 檔案路徑 |
|---|---|
| ViewController | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/VIPViewController.swift |
| View(頭部 VIP 區) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineHeaderVipView.swift |
| View(頭部容器) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineHeadView.swift |
| View(一般等級) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipNormalView.swift |
| View(登出狀態) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipLogoutView.swift |
| View(最高等級) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipMaxLevelView.swift |
| View(權益標籤) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipTagView.swift |
| View(用戶資訊 Cell) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineUserInfoCell.swift |
| Controller(我的首頁) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/BBMineViewController.swift |
| API(VIP 進度) | /Users/user/Work/bbsport-new/BBSport/API/STAPI/User/STAPI+VIPProgressRequest.swift |
| API(心跳含 VIP) | /Users/user/Work/bbsport-new/BBSport/API/STAPI/STAPI+HeartBeatRequest.swift |
| API(個人資料含 VIP) | /Users/user/Work/bbsport-new/BBSport/API/STAPI/User/Profile/STAPI+ProfileInfoRequest.swift |
| Model(聊天規則 VIP 限制) | /Users/user/Work/bbsport-new/BBSport/Tab/广场/FullScreenLive/STChatView/M/STChatMessageModel.swift |
| Manager(聊天 VIP 發言檢查) | /Users/user/Work/bbsport-new/BBSport/Tab/广场/FullScreenLive/STChatView/STChatManager.swift |
| Model(提款 VIP 額度) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Withdraw/M/AppointmentInfoModel.swift |
| Manager(客服帶入 VIP) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Login_Register/登录注册/Manager/CustomerChatManager.swift |
| Model(福利中心 VIP 獎勵) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/MiddleMenu/WalfareCentre/M/WelfareCentreModel.swift |
| 常數定義(H5 路徑) | /Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Login_Register/登录注册/Manager/BBNewCommonConstant.swift |
| URL Action 定義 | /Users/user/Work/bbsport-new/BBSport/STUIKit/STFoundation/Network/Basebusinesscomponent/Classes/URL/ThisPlatformRequestAction.swift |
API
| 功能說明 | Endpoint | Method | 主要參數 | 備註 |
|---|---|---|---|---|
| 取得 VIP 升級進度 | api/forehead/activity/vip/progress/get | POST | 無 | 回傳當前等級、升級/保級 EXP |
| 心跳(含 VIP 等級) | 心跳 API endpoint | POST | — | Response 中含 vipLevel 欄位,定期同步 |
| 個人資料(含 VIP 等級) | 個人資料 API endpoint | POST | userId | UserCenter Response 中含 vipLevel |
| 粉絲頁訂閱(含 VIP) | 粉絲頁 API endpoint | POST | — | 訂閱列表 Response 中含 vipLevel |
| 全局搜尋(含 VIP) | 全局搜尋 API endpoint | POST | 搜尋關鍵字 | 揭示帖結果含 vipLevel |
註:僅 VIP 進度 API 為 VIP 專屬 endpoint,其餘 API 的
vipLevel欄位為 Response 附帶資料。
資料模型
VIPProgressRequest Response(STAPI.VIPProgressRequest.Response)
| 欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
vipLevel | Int | 0 | 當前 VIP 等級(0~7) |
currentMaintainExp | Int | 0 | 保級用的當前成長值累積 |
maintainReqExp | Int | 0 | 維持該等級所需總 EXP |
currentExp | Int | 0 | 升級用的當前成長值 |
promoExpReq | Int | 0 | 升至下一等級所需總 EXP |
BBMineHeaderVipView.VIPType(前端顯示狀態)
| Case | 參數 | 說明 |
|---|---|---|
.logout | 無 | 未登入狀態,顯示「登錄查看VIP等級」 |
.maxLevel(currentExp, targeExp) | 保級 EXP | VIP 7 最高等級,顯示保級進度 |
.normalLevel(currentExp, targeExp) | 升級 EXP | VIP 0~6,顯示升級進度條 |
STChatRuleModel(聊天室 VIP 發言限制)
| 欄位 | 類型 | 說明 |
|---|---|---|
vipLimitIsAccord | Bool | 使用者是否符合 VIP 發言門檻 |
vipLimitText | String | 限制描述文字 |
vipLimitVal | Int | 最低 VIP 等級要求 |
vipCurrentVal | Int | 使用者當前 VIP 值 |
AppointmentCondDic(提款 VIP 區間條件)
| 欄位 | 類型 | 說明 |
|---|---|---|
vipMaxLimit | Int | VIP 等級上限 |
vipMinLimit | Int | VIP 等級下限 |
condList | [AppointmentCond] | 該 VIP 區間的提款返利條件 |
實作重點
H5 跳轉:
VIPViewController繼承自IFStaticWebViewController,VIP 中心(mc/vip)與 VIP 詳情(mc/vip-detail)均為 H5 頁面,透過IFCommonUtil.appendTokenActiveUrl附加 Token 後載入進度條計算:
- 一般等級(VIP 0~6):
currentExp / promoExpReq顯示升級進度 - 最高等級(VIP 7):
currentMaintainExp / maintainReqExp顯示保級進度 - 進度條使用
UIProgressView搭配自訂圖片拉伸
- 一般等級(VIP 0~6):
VIP 標籤圖片命名規則:
- VIP 等級 icon:
vip{level}(如vip1、vip7) - 下一級灰色 icon:
vip{level}-dark - 聊天中 VIP 圖示:
chatVip{level}_d(日間)/chatVip{level}_n(夜間) - 最高等級 icon:
mine-top-header-vip7
- VIP 等級 icon:
VIP 等級影響顯示色彩:
- VIP <= 3:暱稱灰色
- VIP > 3:暱稱金色(
CE5932D)或跑馬燈粉色(CE2B67B)
VIP 等級同步:呼叫
VIPProgressRequest後將vipLevel存入IFUserModel.sharedInstance().vipLevel,供全域使用聊天室 VIP 驗證雙重機制:
- 前端本地檢查:發送訊息前檢查
STChatRuleModel.vipLimitIsAccord - 後端回傳檢查:WebSocket 收到
userIncompatiblecmd 時解析vip_limit並顯示提示
- 前端本地檢查:發送訊息前檢查
福利中心 VIP 相關獎勵類型:
awardType = 0:VIP 生日獎勵awardType = 1:VIP 升級獎勵awardType = 2:VIP 月度獎勵WelfareCouponType.vip = 11:VIP 成長值(經驗值獎勵)
API 呼叫流程
VIP 進度載入
進入「我的」Tab → BBMineHeaderVipView
└─ [API] POST api/forehead/activity/vip/progress/get
→ vipLevel, currentExp, promoExpReq, currentMaintainExp, maintainReqExp
→ 顯示 VIP 等級和進度條VIP 中心詳情
用戶點擊 VIP 區域 → 開啟 VIPViewController (WebView)
└─ URL: IFCommonUtil.appendTokenActiveUrl(VIPCenter)
→ 網頁版 VIP 權益、升級條件、專屬福利