Skip to content

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 專屬活動入口

各等級對應的具體獎金金額、返水比例等由後台配置,前端動態讀取。

使用者流程

  1. 在「我的」首頁,頭像旁顯示 VIP 等級標籤(BBMineHeaderVipView
  2. 點擊 VIP 標籤 / 區塊 → 進入 VIPViewController(載入 H5 VIP 中心頁)
  3. VIPViewController 右上角有「VIP 詳情」按鈕 → 再 push 一層 VIP 詳情頁
  4. VIP 升級進度顯示:
    • 當前等級 / 成長值 / 下一等級所需成長值
    • 維護條件:已達等級維持所需 EXP
  5. 專屬 VIP 登出提示:BBMineVipLogoutView
  6. 已達最高等級:BBMineVipMaxLevelView(顯示「恭喜您已經是至尊玩家,尊享特權」)

頁面跳轉

  • 「我的」首頁 VIP 區塊點擊 → VIPViewController(H5 VIP 中心,路徑 mc/vip
  • VIPViewController 右上角詳情 → push 更深層 VIP 詳情頁(路徑 mc/vip-detail

VIP 等級對其他功能的影響

1. 聊天室發言限制

聊天室可由後台設定 VIP 等級發言門檻。前端透過 WebSocket 接收聊天規則(STChatRuleModel),其中包含:

欄位類型說明
vipLimitIsAccordBool使用者 VIP 等級是否符合發言要求
vipLimitTextStringVIP 限制描述文字
vipLimitValInt最低 VIP 等級門檻
vipCurrentValInt使用者當前 VIP 等級

不符合時顯示提示:「VIP{N}以上會員才能發言」。此限制同時在前端發送訊息前檢查(STChatManager)及後端 WebSocket 回傳 userIncompatible 指令時檢查。

2. 使用者名稱顏色(聊天 / 搜尋)

  • VIP 3 以下:使用者名稱顯示灰色(日間 CBBBBBB / 夜間 C888888
  • VIP 4 以上:使用者名稱顯示金色(CE5932D
  • 跑馬燈彈幕中,VIP > 3 時文字顏色改為 CE2B67B(粉色)

3. 提款額度(預約提現)

AppointmentCondDic Model 中以 vipMinLimitvipMaxLimit 區分不同 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

功能說明EndpointMethod主要參數備註
取得 VIP 升級進度api/forehead/activity/vip/progress/getPOST回傳當前等級、升級/保級 EXP
心跳(含 VIP 等級)心跳 API endpointPOSTResponse 中含 vipLevel 欄位,定期同步
個人資料(含 VIP 等級)個人資料 API endpointPOSTuserIdUserCenter Response 中含 vipLevel
粉絲頁訂閱(含 VIP)粉絲頁 API endpointPOST訂閱列表 Response 中含 vipLevel
全局搜尋(含 VIP)全局搜尋 API endpointPOST搜尋關鍵字揭示帖結果含 vipLevel

註:僅 VIP 進度 API 為 VIP 專屬 endpoint,其餘 API 的 vipLevel 欄位為 Response 附帶資料。

資料模型

VIPProgressRequest Response(STAPI.VIPProgressRequest.Response

欄位類型預設值說明
vipLevelInt0當前 VIP 等級(0~7)
currentMaintainExpInt0保級用的當前成長值累積
maintainReqExpInt0維持該等級所需總 EXP
currentExpInt0升級用的當前成長值
promoExpReqInt0升至下一等級所需總 EXP

BBMineHeaderVipView.VIPType(前端顯示狀態)

Case參數說明
.logout未登入狀態,顯示「登錄查看VIP等級」
.maxLevel(currentExp, targeExp)保級 EXPVIP 7 最高等級,顯示保級進度
.normalLevel(currentExp, targeExp)升級 EXPVIP 0~6,顯示升級進度條

STChatRuleModel(聊天室 VIP 發言限制)

欄位類型說明
vipLimitIsAccordBool使用者是否符合 VIP 發言門檻
vipLimitTextString限制描述文字
vipLimitValInt最低 VIP 等級要求
vipCurrentValInt使用者當前 VIP 值

AppointmentCondDic(提款 VIP 區間條件)

欄位類型說明
vipMaxLimitIntVIP 等級上限
vipMinLimitIntVIP 等級下限
condList[AppointmentCond]該 VIP 區間的提款返利條件

實作重點

  1. H5 跳轉VIPViewController 繼承自 IFStaticWebViewController,VIP 中心(mc/vip)與 VIP 詳情(mc/vip-detail)均為 H5 頁面,透過 IFCommonUtil.appendTokenActiveUrl 附加 Token 後載入

  2. 進度條計算

    • 一般等級(VIP 0~6):currentExp / promoExpReq 顯示升級進度
    • 最高等級(VIP 7):currentMaintainExp / maintainReqExp 顯示保級進度
    • 進度條使用 UIProgressView 搭配自訂圖片拉伸
  3. VIP 標籤圖片命名規則

    • VIP 等級 icon:vip{level}(如 vip1vip7
    • 下一級灰色 icon:vip{level}-dark
    • 聊天中 VIP 圖示:chatVip{level}_d(日間)/ chatVip{level}_n(夜間)
    • 最高等級 icon:mine-top-header-vip7
  4. VIP 等級影響顯示色彩

    • VIP <= 3:暱稱灰色
    • VIP > 3:暱稱金色(CE5932D)或跑馬燈粉色(CE2B67B
  5. VIP 等級同步:呼叫 VIPProgressRequest 後將 vipLevel 存入 IFUserModel.sharedInstance().vipLevel,供全域使用

  6. 聊天室 VIP 驗證雙重機制

    • 前端本地檢查:發送訊息前檢查 STChatRuleModel.vipLimitIsAccord
    • 後端回傳檢查:WebSocket 收到 userIncompatible cmd 時解析 vip_limit 並顯示提示
  7. 福利中心 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 權益、升級條件、專屬福利