-- http://120.76.238.236:8999/wiki/index.php?title=%E9%82%80%E8%AF%B7%E6%B4%BB%E5%8A%A8 local MainInviteNewFriend = class("MainInviteNewFriend", cc.UIView) function MainInviteNewFriend:ctor() MainInviteNewFriend.super.ctor(self) local ui = loadUI("res/ui/ui_dating/ui_laxin.ui") self.ui = ui self:addChild(ui) self:init() end function MainInviteNewFriend:init() loadSpriteFrameFile("res/ui/zy_dating/invite/hall_invite.plist") self.ui.Items.Button:registerClick(function () self:onClickClose() end) --隐藏要拷贝的对象 self.ui.Items.Layout_People_Item:setVisible(false) self.ui.Items.Layout_RecordItem:setVisible(false) --分享界面隐藏 self.ui.Items.ImageView_Share:setVisible(false) --隐藏bar self.ui.Items.ScrollView:hideAllBar() self.ui.Items.ScrollView_Record:hideAllBar() self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true) self.ui.Items.ScrollView_Record:getInnerContainer():setAutoSize(true) --分享 self.ui.Items.Button_Share:registerClick(handler(self,self.onClickShare)) --好友群分享 self.ui.Items.Button_3:registerClick(handler(self,self.onClickFriend)) --朋友圈分享 self.ui.Items.Button_4:registerClick(handler(self,self.onClickFriendCircle)) --兑换 self.ui.Items.Button_DuiHuan:registerClick(handler(self,self.onClickDuiHuan)) self.ui.Items.Button_DuiHuan:setEnabled(false) --提现 self.ui.Items.Button_TiXian:registerClick(handler(self,self.onClickTiXian)) self.ui.Items.Button_TiXian:setEnabled(false) --空白点击 self.ui.Items.Layout_1:registerClick(handler(self,self.onClickBlank)) self.ui.Items.Button_Teach:registerClick(handler(self,self.onClickTeach)) self:initLeft(); app.php:requestLaXinInitData() self:bindEvent(app , "HallInviteNewFirend" , handler(self , self.updateView)); end function MainInviteNewFriend:shareCallback(data) logD("分享成功") local code = data.code; local err = data.error; local result = data.result; local add = result.add; local card = result.card; local atype = result.atype; local wallet = result.wallet; if code == 200 then --显示金币奖励 local info = {} if atype == 1 then info.isUserBox = true info.fileName = "invite_icon.png" info.tip = "恭喜您获得房卡"..toNumber(add).."张" --修改房卡 app.user.loginInfo.curCardNum = tostring(card) elseif atype == 4 then info.fileName = "invite_hongbao2.png" info.tip = "恭喜您获得1元红包" --更新红包数据 self:updateMoney(wallet) else info.fileName = "invite_icon.png" end --刷新数据 app.php:requestLaXinInitData() info.normal = true showFuLiConfirm(info) else showTooltip(err) end end function MainInviteNewFriend:playAni(node) --绑定手机的动画 local seq2 = cc.Sequence:create( cc.RotateTo:create(0.15,6), cc.RotateTo:create(0.15,-6), cc.RotateTo:create(0.16,6), cc.RotateTo:create(0.16,0), cc.DelayTime:create(1.5) ) if node then node:runAction(cc.RepeatForever:create(seq2)) end end function MainInviteNewFriend:initLeft() self.leftItems = {}; for i = 1,10 do local people = self.ui.Items.Layout_People_Item:getCopied(); people.Items = getUIItems(people); people.Items.Layout_3:setVisible(false) people.Items.ImageView_LQ_1:setVisible(false) people.Items.ImageView_LQ_2:setVisible(false) people.Items.ImageView_old_player:setVisible(false) people.Items.Button_1:setEnabled(false) people.Items.Button_2:setEnabled(false) people.Items.Button_1:registerClick(function () local id = people.Items.Button_1:getParent():getParent().id ; logD("id:",id); app.php:requestLaXinRigisterShare(1,id,handler(self,self.shareCallback)) end) people.Items.Button_2:registerClick(function () local id = people.Items.Button_2:getParent():getParent().id ; logD("id:",id); app.php:requestLaXinRigisterShare(2,id,handler(self,self.shareCallback)) end) table.insert(self.leftItems,people); self.ui.Items.ScrollView:addChild(people); end self.ui.Items.ScrollView:requestDoLayout(); self.ui.Items.ScrollView:doLayout(); self.ui.Items.ScrollView:jumpToTopOnSizeChanged(); end function MainInviteNewFriend:updateView(data) self.ui.Items.ScrollView_Record:removeAllChildren() local response = data.ret; logD("MainInviteNewFriend response:",table.tostring(response)); self.wallet = response.wallet; self.tasksEndTime = response.tasksEndTime; self.shareLink = response.shareLink; self.inviteAwards = response.inviteAwards; self.invites = response.invites; self.exchange = toNumber(response.exchange.card); self.pictureLink = response.shareImg; --下载图片 if string.len(self.pictureLink) > 0 then self:downLoadSharePic() else --没有给就去拉取 app.php:requestLaXinDownPic(function (url) self.pictureLink = url; self:downLoadSharePic() end); end if self.tasksEndTime then local function updateTime() local disTimeInfo = timediff(self.tasksEndTime,os.time()); if disTimeInfo.day == 0 and disTimeInfo.month == 0 and disTimeInfo.hour == 0 and disTimeInfo.min == 0 and disTimeInfo.sec == 0 then self.ui.Items.Text_EndTime:stopAllActions() self.ui.Items.Text_EndTime:setText("活动已到期"); self.ui.Items.Button_Share:setEnabled(false) else self.ui.Items.Text_EndTime:setString(string.format("活动倒计时:%d天%d时%d分%d秒",disTimeInfo.day + disTimeInfo.month * 30,disTimeInfo.hour,disTimeInfo.min,disTimeInfo.sec)) end end self.ui.Items.Text_EndTime:stopAllActions() self.ui.Items.Text_EndTime:runActions(cc.RepeatForever:create(cc.Sequence:create(cc.DelayTime:create(1),cc.CallFunc:create(function() updateTime() end)))) end --更新奖励记录 if self.inviteAwards then local tt = {}; for k,v in pairs(self.inviteAwards) do tt[v.time] = v.content; end for k,v in pairsByKeysEx(tt) do local recordItem = self.ui.Items.Layout_RecordItem:getCopied(); recordItem:setVisible(true) recordItem.Items = getUIItems(recordItem); recordItem.Items.Text_report:setText(os.date("%m月%d日",k).." "..tostring(v)) self.ui.Items.ScrollView_Record:addChild(recordItem); end self.ui.Items.ScrollView_Record:jumpToTopOnSizeChanged(); self.ui.Items.ScrollView_Record:requestDoLayout(); self.ui.Items.ScrollView_Record:doLayout(); end --更新左边玩家 if self.invites then for k,v in ipairs(self.invites) do local people = self.leftItems[k]; people.id = v.id; people.Items.Text_name:setText(getSubStringNickname(v.nick)); local nodeHead = people.Items.ImageView_head; setPlayerHeadImage(v.uid, v.head, nodeHead, false) local regStatus = toNumber(v.reg_status); local playStatus = toNumber(v.play_status); people.Items.ImageView_old_player:setVisible(false) people.Items.Button_1:stopAllActions(); people.Items.Button_2:stopAllActions(); --红包1状态 if INVITE_NEW_FRIEND.NOENOUGH_ADDITION == regStatus then people.Items.ImageView_LQ_1:setVisible(false) people.Items.Button_1:setEnabled(false) elseif INVITE_NEW_FRIEND.ENOUGH_ADDITION == regStatus then people.Items.ImageView_LQ_1:setVisible(false) people.Items.Button_1:setEnabled(true) self:playAni(people.Items.Button_1) elseif INVITE_NEW_FRIEND.HAVED_PRIZED == regStatus then people.Items.ImageView_LQ_1:setVisible(true) people.Items.Button_1:setEnabled(false) elseif INVITE_NEW_FRIEND.OLD_PLAYER == regStatus then people.Items.ImageView_LQ_1:setVisible(false) people.Items.ImageView_old_player:setVisible(true) people.Items.Button_1:setEnabled(false) end --红包2状态 if INVITE_NEW_FRIEND.NOENOUGH_ADDITION == playStatus then people.Items.ImageView_LQ_2:setVisible(false) people.Items.Button_2:setEnabled(false) elseif INVITE_NEW_FRIEND.ENOUGH_ADDITION == playStatus then people.Items.ImageView_LQ_2:setVisible(false) people.Items.Button_2:setEnabled(true) self:playAni(people.Items.Button_2) elseif INVITE_NEW_FRIEND.HAVED_PRIZED == playStatus then people.Items.ImageView_LQ_2:setVisible(true) people.Items.Button_2:setEnabled(false) elseif INVITE_NEW_FRIEND.OLD_PLAYER == playStatus then people.Items.ImageView_LQ_2:setVisible(false) people.Items.Button_2:setEnabled(false) end end end --更新红包数据 self:updateMoney(self.wallet) --更新按钮状态 --兑换 self.ui.Items.Button_DuiHuan:setEnabled(self.wallet > 0) --提现 self.ui.Items.Button_TiXian:setEnabled(self.wallet > 0) end function MainInviteNewFriend:downLoadSharePic() self.file = getImageNameFromUrl(self.pictureLink) getImageFromUrlWithTime(self.pictureLink, self.file, nil, function() logD("拉新分享的图片下载完成") end) end function MainInviteNewFriend:onClickClose() playBtnCloseEffect() app:dispatchEvent({name = GAME_EVENT.ACTIVITY_CLOSE}) self:removeFromParent() end function MainInviteNewFriend:onClickBlank() self.ui.Items.ImageView_Share:setVisible(false) end function MainInviteNewFriend:onClickTeach() local view = import("luaScript.Views.Main.MainInviteNewFriendTeach"):new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view,255) end function MainInviteNewFriend:onClickShare() playBtnEffect() if not app.plugin:isSupportWeiXin() then showTooltip("您还未安装微信!请安装后重试!") return end self.ui.Items.ImageView_Share:setVisible(not self.ui.Items.ImageView_Share:isVisible()) end function MainInviteNewFriend:onClickFriend() playBtnEffect() self.ui.Items.ImageView_Share:setVisible(false) self:share("talk") end function MainInviteNewFriend:onClickFriendCircle() playBtnEffect() self.ui.Items.ImageView_Share:setVisible(false) self:share("scene") end function MainInviteNewFriend:share(mode) local info = {} info.image = cc.FileUtils:getInstance():getWritablePath()..tostring(self.file) logD("self.file:",self.file) logD("info.image:",info.image) if not cc.FileSystem:fileExists(info.image) then logD("图片还未开始下载或者是在下载中") showTooltip("当前网络不稳定,请稍候重试!"); return; end info.scene = mode info.contentType = "image" info.title = self.shareLink.title or "" info.description = self.shareLink.desc or "" info.imageWidth = 550 info.thumbWidth = 50 info.url = self.shareLink.link or "" app.plugin:shareGame(info, function () if cc.Application:getInstance():getTargetPlatform() == 3 then if mode == "scene" then app.php:requestLaXinFirstShare(handler(self,self.shareCallback)) end end end); if cc.Application:getInstance():getTargetPlatform() == 4 or cc.Application:getInstance():getTargetPlatform() == 5 then if mode == "scene" then app.php:requestLaXinFirstShare(handler(self,self.shareCallback)) end end end function MainInviteNewFriend:onClickDuiHuan() playBtnEffect() local function btnOk() app.php:requestLaXinExchange(1,function (data) local code = data.code; local err = data.error; local result = data.result; if code == 200 then self:updateMoney(result.wallet) self:shareCallback(data) else showTooltip(err) end end) end local function btnCancel() end local content2 = "你将用"..tostring(self.wallet).."元红包兑换"..tostring(self.exchange * self.wallet).."张房卡,确认兑换?"; if self.wallet and self.wallet > 0 then showConfirmDialog(content2, btnOk,btnCancel) end end function MainInviteNewFriend:onClickTiXian() playBtnEffect() app.php:requestLaXinGetMoney(5005,function (data) local code = data.code; local err = data.error; local result = data.result; local content = result.content; if code == 200 then self:updateMoney(result.wallet) local function btnOk() end showConfirmDialog(content, btnOk) else showTooltip(err) end end) end function MainInviteNewFriend:updateMoney(wallet) --更新红包数据 self.wallet = toNumber(wallet) --提现 self.ui.Items.Button_DuiHuan:setEnabled(self.wallet > 0) --提现 self.ui.Items.Button_TiXian:setEnabled(self.wallet > 0) self.ui.Items.Text_num:setText(tostring(self.wallet)); self.ui.Items.Layout_2:requestDoLayout(); self.ui.Items.Layout_2:doLayout(); end return MainInviteNewFriend