c1_lua/lua/app/module/privilege/privilege_card_manager.lua
2025-10-08 16:02:30 +08:00

132 lines
4.9 KiB
Lua

local PrivilegeCardManager = class("MonthlyCardManager", BaseModule)
function PrivilegeCardManager:showPrivilegeUI(showPage)
local params = {
showPage = showPage,
}
UIManager:showUI("app/ui/privilege/privilege_main_ui", params)
end
function PrivilegeCardManager:getFreeDailyRewards()
if DataManager.PrivilegeCardData:getIsClaimedFreeDailyReward() then
return
end
self:sendMessage(ProtoMsgType.FromMsgEnum.CardDailyRewardReq, {}, self.onGetFreeDailyRewards, BIReport.ITEM_GET_TYPE.PRIVILEGE_FREE_DAILY_REWARD)
end
function PrivilegeCardManager:onGetFreeDailyRewards(result)
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
return
end
DataManager.PrivilegeCardData:onClaimedFreeDailyReward()
if result.rewards then
GFunc.showRewardBox(result.rewards)
end
-- BI
BIReport:postPrivilegeCardGetDailyReward(result.rewards)
end
function PrivilegeCardManager:buyMonthlyCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyMonthlyCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
end
function PrivilegeCardManager:buyChallengeCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyChallengeCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
end
function PrivilegeCardManager:buyAdCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyAdCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
end
function PrivilegeCardManager:buyLifetimeCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyLifetimeCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
end
function PrivilegeCardManager:getPurchaseCardDailyReward(id)
local itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD
if id == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_MONTHLY_CARD_DAILY_REWARD
elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_LIFETIME_CARD_DAILY_REWARD
elseif id == 0 then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD
else
return
end
self:sendMessage(ProtoMsgType.FromMsgEnum.CardRewardReq, {id = id}, self.onGetPurchaseCardDailyReward, itemGetType)
end
function PrivilegeCardManager:onGetPurchaseCardDailyReward(result)
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
return
end
DataManager.PrivilegeCardData:onClaimedPurchaseCardDailyReward(result.reqData.id)
if result.reqData.id == 0 then
DataManager.PrivilegeCardData:onClaimedFreeDailyReward()
end
if result.rewards then
GFunc.showRewardBox(result.rewards)
end
-- BI
BIReport:postPrivilegeCardGetPurchaseDailyReward(result.rewards, result.reqData.id)
end
--region 上报
-- 特权卡
BIReport.ITEM_GET_TYPE.PRIVILEGE_CARD = "privilege_card"
BIReport.ITEM_GET_TYPE.PRIVILEGE_FREE_DAILY_REWARD = "privilege_free_daily_reward"
BIReport.ITEM_GET_TYPE.PRIVILEGE_CHALLENGE_CARD = "privilege_challenge_card"
BIReport.ITEM_GET_TYPE.PRIVILEGE_MONTHLY_CARD_DAILY_REWARD = "privilege_monthly_card_daily_reward"
BIReport.ITEM_GET_TYPE.PRIVILEGE_LIFETIME_CARD_DAILY_REWARD = "privilege_lifetime_card_daily_reward"
BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD = "privilege_all_card_daily_reward"
BIReport.PRIVILEGE_CARD_OPT_TYPE = {
FREE_DAILY_REWARD = "FreeDailyReward",
PURCHASE_DAILY_REWARD = "PurchaseDailyReward",
}
local EVENT_NAME_PRIVILEGE_CARD = "event_privilege_card" -- 特权卡
function BIReport:postPrivilegeCardGetDailyReward(rewards)
local args = {
opt_type = BIReport.PRIVILEGE_CARD_OPT_TYPE.FREE_DAILY_REWARD,
reward_str = rewards and GFunc.getRewardsStr(rewards) or nil
}
self:report(EVENT_NAME_PRIVILEGE_CARD, args)
end
function BIReport:postPrivilegeCardGetPurchaseDailyReward(rewards, cardType)
local args = {
opt_type = BIReport.PRIVILEGE_CARD_OPT_TYPE.PURCHASE_DAILY_REWARD,
reward_str = rewards and GFunc.getRewardsStr(rewards) or nil,
cardType = cardType
}
self:report(EVENT_NAME_PRIVILEGE_CARD, args)
end
--endregion
return PrivilegeCardManager