hengyang_client/lua_probject/base_project/Game/View/Family/FamilyMyFamily.lua

396 lines
13 KiB
Lua
Raw Normal View History

--local SuoHa_PlayerSelfPokerInfoView = require("extend_project.extend.poker.suoha.SuoHa_PlayerSelfPokerInfoView")
2025-06-25 22:49:44 +08:00
local FamilyRoomCardRecord = import(".FamilyRoomCardRecord")
local RoomCardRecord = import(".RoomCardRecord")
local FamilyInviteFamilyView = import('.FamilyInviteFamilyView')
2025-07-30 18:35:43 +08:00
local FamilyAuditNumber = import(".FamilyAuditNumber")
2025-08-04 19:52:20 +08:00
local FamilyAllNumbers = import(".FamilyAllNumbers")
2025-06-25 22:49:44 +08:00
2025-06-17 15:29:16 +08:00
--region LOCAL
local FamilyMyFamily = {}
local root = {}
local function ChangeFamilyConfig(data, self)
local fgCtr = ControllerManager.GetController(NewGroupController)
2025-07-02 17:19:20 +08:00
fgCtr:FG_UpdateGroupInfo(data,
function(res)
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "更改失败,请稍后再试")
else
ViewUtil.ErrorTip(res.ReturnCode, "修改成功!")
self.family.id = data.id or self.family.id
self.family.name = data.name or self.family.name
self.family.notice = data.notice or self.family.notice
self.family.ban = data.ban or not self.family.ban
self.family.dissolve_opt = data.dissolve_opt or self.family.dissolve_opt
self.family.kick_opt = data.kick_opt or self.family.kick_opt
self.family.apply = data.apply or self.family.apply
self.family.ban_chat1 = data.ban_chat1 or self.family.ban_chat1
self.family.ban_chat2 = data.ban_chat2 or self.family.ban_chat2
self.family.option = data.option or self.family.option
self.family.show_num = data.show_num
self.family.wechatId = data.wechatId
self:Refalsh()
self.cWindow.selectedIndex = 0
end
end
)
end
local function QuitFamily(self)
local uid = DataManager.SelfUser.account_id
local group = DataManager.groups:get(self.groupId)
local player = group.memberMap[uid]
local tips = "确定退出该亲友圈?"
if player.lev == 1 then
tips = "确定解散该亲友圈?"
end
local tipsWin = MsgWindow.new(self._view, tips, MsgWindow.MsgMode.OkAndCancel)
tipsWin.onOk:Add(function()
if self.networkSending then
ViewUtil.ShowBannerOnScreenCenter("操作中,请稍后。。")
return
end
self.networkSending = true
local fgCtr = ControllerManager.GetController(NewGroupController)
print("发送了退出协议 familyid = ", self.family.id)
fgCtr:FG_ExitGroup(self.family.id, function(res)
if res.ReturnCode ~= 0 then
return
end
self.networkSending = false
Broadcast.Send(BroadcastEvent.OnOutFamily)
self:Close()
end)
end)
tipsWin:Show()
end
2025-07-30 18:35:43 +08:00
function FamilyMyFamily:ReflashJoinsRedPoint()
local cRedPoint = self.btn_applyMsg:GetController("cRedPoint")
local tex_redPoint = self.btn_applyMsg:GetChild("tex_redPoint")
local group = DataManager.groups.groupMap[self.groupId]
cRedPoint.selectedIndex = 0
if group.joins > 0 then
cRedPoint.selectedIndex = 1
end
local tex = group.joins
if group.joins > 99 then
tex = "99+"
end
tex_redPoint.text = tex
end
2025-06-19 14:29:16 +08:00
--endregion
2025-06-17 15:29:16 +08:00
2025-06-20 01:55:55 +08:00
function FamilyMyFamily:TryShow(groupId, r)
2025-06-19 14:29:16 +08:00
self:Init()
root = r
2025-06-20 01:55:55 +08:00
self.groupId = groupId
2025-06-17 15:29:16 +08:00
self:Show()
end
2025-07-30 18:35:43 +08:00
function FamilyMyFamily.New()
setmetatable(FamilyMyFamily, { __index = BaseView })
local inst = setmetatable({}, { __index = FamilyMyFamily })
inst._close_destroy = true
2025-07-05 21:36:09 +08:00
inst._scale = true
inst._animation = false
inst._full_offset = false
inst._anim_pop = 0
2025-07-30 18:35:43 +08:00
inst.class = "FamilyMyFamily"
BaseView.InitView(inst, 'ui://Family/com_myFamily')
-- 隐藏背景图
inst._root_view:GetChild("win_mode").visible = false
inst:Init()
return inst
end
2025-07-30 18:35:43 +08:00
function FamilyMyFamily:Show(groupId)
self.groupId = groupId
Broadcast.AddListener(BroadcastEvent.OnJoinsChange, self.ReflashJoinsRedPoint, self)
2025-06-17 15:29:16 +08:00
2025-07-30 18:35:43 +08:00
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait(self._root_view, "正在加载亲友圈数据......")
fgCtr:WEB_FG_GET_GROUP_DETAIL(self.groupId, function(res)
print("收到家族的详细信息")
pt(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode)
end
self:Refalsh()
end)
BaseView.Show(self)
2025-06-17 15:29:16 +08:00
end
function FamilyMyFamily:Close()
2025-07-30 18:35:43 +08:00
Broadcast.RemoveListener(BroadcastEvent.OnJoinsChange, self.ReflashJoinsRedPoint)
BaseView.Close(self)
2025-06-17 15:29:16 +08:00
end
2025-06-19 18:17:02 +08:00
function FamilyMyFamily:Refalsh()
2025-08-04 19:52:20 +08:00
2025-06-25 22:49:44 +08:00
self.family = DataManager.groups.groupMap[self.groupId]
2025-07-22 20:00:07 +08:00
self.tex_fName.text = Utils.TextOmit(self.family.name, 6)
2025-06-25 22:49:44 +08:00
self.tex_playerName.text = "亲友圈号:" .. self.family.id
self.tex_fNumber.text = self.family.member_num
self.tex_cradNum.text = self.family.diamo
self.tex_nocice.text = self.family.notice
self.tex_wxId.text = Utils.TextOmit(self.family.wechatId, 6)
2025-06-25 22:49:44 +08:00
ImageLoad.Load(self.family.o_portrait, self.loader_icon)
self.cStyle.selectedIndex = self.family.lev - 1
2025-06-25 22:49:44 +08:00
-- index = 0 是显示隐藏按钮
self.showNumber = self.family.isShow
if self.showNumber == 0 then
self.cDisplayNumber.selectedIndex = 1
self.tex_fNumber.text = "*"
elseif self.showNumber == 1 then
self.cDisplayNumber.selectedIndex = 0
end
2025-07-30 18:35:43 +08:00
self:ReflashJoinsRedPoint()
2025-06-19 18:17:02 +08:00
end
2025-06-17 15:29:16 +08:00
function FamilyMyFamily:Init()
self._view:GetChild("btn_close").onClick:Set(function()
self:Close()
end)
self.loader_icon = self._view:GetChild("loader_icon")
self.tex_fName = self._view:GetChild("tex_fName")
self.tex_wxId = self._view:GetChild("tex_wxId")
self.tex_fNumber = self._view:GetChild("tex_fNumber")
self.tex_cradNum = self._view:GetChild("tex_cradNum")
self.tex_nocice = self._view:GetChild("tex_nocice")
self.tex_playerName = self._view:GetChild("tex_playerName")
self.tex_changeTitle = self._view:GetChild("tex_changeTitle")
2025-06-17 15:29:16 +08:00
self.btn_quitFamily = self._view:GetChild("btn_quitFamily")
self.btn_playSet = self._view:GetChild("btn_playSet")
self.btn_invite = self._view:GetChild("btn_invite")
self.btn_czRecord = self._view:GetChild("btn_czRecord")
self.btn_applyMsg = self._view:GetChild("btn_applyMsg")
self.btn_buyCrad = self._view:GetChild("btn_buyCrad")
self.btn_checkNumber = self._view:GetChild("btn_checkNumber")
self.btn_editName = self._view:GetChild("btn_editName")
2025-06-19 18:17:02 +08:00
self.btn_editNotice = self._view:GetChild("btn_editNotice")
self.btn_quitNotice = self._view:GetChild("btn_quitNotice")
self.btn_bgNotice = self._view:GetChild("btn_bgNotice")
self.btn_confirmNotice = self._view:GetChild("btn_confirmNotice")
2025-06-25 22:49:44 +08:00
self.btn_hideNumber = self._view:GetChild("btn_hideNumber")
self.btn_showNumber = self._view:GetChild("btn_showNumber")
self.btn_editWx = self._view:GetChild("btn_editWx")
2025-06-19 18:17:02 +08:00
self.input_text = self._view:GetChild("input_text")
2025-06-17 15:29:16 +08:00
2025-06-19 14:29:16 +08:00
self.cStyle = self._view:GetController("cStyle")
2025-06-19 18:17:02 +08:00
self.cWindow = self._view:GetController("cWindow")
2025-06-25 22:49:44 +08:00
self.cDisplayNumber = self._view:GetController("cDisplayNumber")
2025-07-08 18:01:27 +08:00
self.cTips = self._view:GetController("cTips")
self.com_tips = self._view:GetChild("com_tips")
self.tips_btn_comfirm = self.com_tips:GetChild("btn_comfirm")
self.tips_btn_cencel = self.com_tips:GetChild("btn_cencel")
self.tips_btn_bg = self.com_tips:GetChild("btn_bg")
2025-06-17 15:29:16 +08:00
2025-07-04 00:27:03 +08:00
self.input_text.emojies = EmojiDitc.EmojiesDitc
self.tex_fName.emojies = EmojiDitc.EmojiesDitc
self.tex_wxId.emojies = EmojiDitc.EmojiesDitc
self.tex_fNumber.emojies = EmojiDitc.EmojiesDitc
self.tex_cradNum.emojies = EmojiDitc.EmojiesDitc
self.tex_nocice.emojies = EmojiDitc.EmojiesDitc
self.tex_playerName.emojies = EmojiDitc.EmojiesDitc
2025-06-17 15:29:16 +08:00
self.btn_playSet.onClick:Set(function()
local curView = ViewManager.GetCurrenView()
if curView.class == "FamilyMainView" then
curView:PlayEdit()
else
local view = ViewManager.ChangeView(ViewManager.View_Family, function()
view:PlayEdit()
end)
end
2025-06-17 15:29:16 +08:00
end)
self.btn_invite.onClick:Set(function()
local familyInviteFamilyView = FamilyInviteFamilyView.new()
familyInviteFamilyView:Show()
2025-06-17 15:29:16 +08:00
end)
self.btn_buyCrad.onClick:Set(function()
local curView = ViewManager.GetCurrenView()
if curView.class == "FamilyMainView" then
curView:ShowShop()
else
local view = ViewManager.ChangeView(ViewManager.View_Family, function()
view:ShowShop()
end)
end
2025-06-17 15:29:16 +08:00
end)
2025-06-25 22:49:44 +08:00
self.btn_czRecord.onClick:Set(function()
local view = RoomCardRecord.New()
2025-06-25 22:49:44 +08:00
view:Show()
end)
2025-06-17 15:29:16 +08:00
self.btn_checkNumber.onClick:Set(function()
2025-08-04 19:52:20 +08:00
local group = DataManager.groups.groupMap[self.groupId]
local view = FamilyAllNumbers.new()
view:Show(group)
2025-06-17 15:29:16 +08:00
end)
self.btn_applyMsg.onClick:Set(function()
2025-07-30 18:35:43 +08:00
local group = DataManager.groups.groupMap[self.groupId]
local view = FamilyAuditNumber.new()
view:Show(group)
2025-06-17 15:29:16 +08:00
end)
2025-06-19 14:29:16 +08:00
self.btn_quitFamily.onClick:Set(function()
QuitFamily(self)
2025-06-19 14:29:16 +08:00
end)
2025-06-19 18:17:02 +08:00
self.btn_quitNotice.onClick:Set(function()
self.cWindow.selectedIndex = 0
end)
self.btn_bgNotice.onClick:Set(function()
self.cWindow.selectedIndex = 0
end)
self.btn_editNotice.onClick:Set(function()
2025-07-02 17:19:20 +08:00
self.changeCallback = function()
ChangeFamilyConfig({
id = self.family.id,
notice = self.input_text.text
}, self)
end
self.input_text.text = self.family.notice
2025-07-04 21:17:27 +08:00
self.tex_changeTitle.text = "修改公告"
self.cWindow.selectedIndex = 1
end)
self.btn_editName.onClick:Set(function()
2025-07-02 17:19:20 +08:00
self.changeCallback = function()
ChangeFamilyConfig({
id = self.family.id,
name = self.input_text.text
}, self)
end
self.input_text.text = self.family.name
2025-07-04 21:17:27 +08:00
self.tex_changeTitle.text = "修改家族名字"
2025-06-19 18:17:02 +08:00
self.cWindow.selectedIndex = 1
end)
self.btn_editWx.onClick:Set(function()
2025-07-02 17:19:20 +08:00
self.changeCallback = function()
ChangeFamilyConfig({
id = self.family.id,
wechatId = self.input_text.text
}, self)
end
self.input_text.text = self.family.wechatId
2025-07-04 21:17:27 +08:00
self.tex_changeTitle.text = "修改微信号"
self.cWindow.selectedIndex = 1
end)
self.btn_confirmNotice.onClick:Set(function()
self.changeCallback()
self.cWindow.selectedIndex = 0
end)
2025-06-19 18:17:02 +08:00
2025-06-23 18:12:12 +08:00
self.btn_hideNumber.onClick:Set(function()
2025-07-08 18:01:27 +08:00
if self.networkSending == true then
ViewUtil.ShowBannerOnScreenCenter("设置中,请稍后。。")
2025-06-25 22:49:44 +08:00
return
end
local fgCtr = ControllerManager.GetController(NewGroupController)
2025-07-08 18:01:27 +08:00
self.networkSending = true
fgCtr:FG_SetGroupShow(0, self.family.id, function(res)
2025-06-25 22:49:44 +08:00
print("收到协议M:FG_SetGroupShow")
pt(res)
2025-07-08 18:01:27 +08:00
self.networkSending = false
if res.ReturnCode ~= 0 then
2025-07-07 19:49:16 +08:00
ViewUtil.ErrorTip(res.ReturnCode)
2025-06-25 22:49:44 +08:00
return
end
self.family.isShow = 0
self:Refalsh()
ViewUtil.ShowBannerOnScreenCenter("设置成功")
end)
end)
self.btn_showNumber.onClick:Set(function()
2025-07-08 18:01:27 +08:00
if self.networkSending == true then
ViewUtil.ShowBannerOnScreenCenter("设置中,请稍后。。")
2025-06-25 22:49:44 +08:00
return
end
print("点击了")
local fgCtr = ControllerManager.GetController(NewGroupController)
2025-07-08 18:01:27 +08:00
self.networkSending = true
fgCtr:FG_SetGroupShow(1, self.family.id, function(res)
2025-06-25 22:49:44 +08:00
print("收到协议M:FG_SetGroupShow")
pt(res)
2025-07-08 18:01:27 +08:00
self.networkSending = false
if res.ReturnCode ~= 0 then
2025-07-07 19:49:16 +08:00
ViewUtil.ErrorTip(res.ReturnCode)
2025-06-25 22:49:44 +08:00
return
end
self.family.isShow = 1
self:Refalsh()
ViewUtil.ShowBannerOnScreenCenter("设置成功")
end)
end)
2025-07-08 18:01:27 +08:00
self.tips_btn_comfirm.onClick:Set(function()
if self.networkSending then
ViewUtil.ShowBannerOnScreenCenter("操作中,请稍后。。")
return
end
self.networkSending = true
local fgCtr = ControllerManager.GetController(NewGroupController)
print("发送了退出协议 familyid = ", self.family.id)
fgCtr:FG_ExitGroup(self.family.id, function(res)
if res.ReturnCode ~= 0 then
return
end
self.networkSending = false
self.cTips.selectedIndex = 1
2025-07-08 18:24:28 +08:00
--self:Close()
2025-07-30 18:35:43 +08:00
BaseView.DestroyAll()
2025-07-28 15:20:59 +08:00
--ControllerManager.ChangeController(NewGroupController)
2025-07-08 18:01:27 +08:00
ViewManager.ChangeView(ViewManager.View_Family)
end)
end)
self.tips_btn_cencel.onClick:Set(function()
self.cTips.selectedIndex = 0
end)
self.tips_btn_bg.onClick:Set(function()
self.cTips.selectedIndex = 0
end)
2025-08-04 19:52:20 +08:00
self.cStyle.selectedIndex = 2
2025-06-17 15:29:16 +08:00
return self
end
return FamilyMyFamily