--[[ 子活动分享奖励界面 --]] local ActivityShareView = class("ActivityShareView", cc.UIView) function ActivityShareView:ctor(mission)--活动类型 ,是否显示关闭按钮 ActivityShareView.super.ctor(self) self.ui = loadUI("res/ui/ui_dating/ui_activity_share.ui") self:addChild(self.ui) self.mission = mission -- self.aType = activityType -- self.isShowCloseBtn = isShowCloseBtn self.lastClick = 0 end function ActivityShareView:onEnter() ActivityShareView.super.onEnter(self) self.ui.Items.Button_share:registerClick(handler(self, self.onShare)) -- self.ui.Items.Button_Close:registerClick(handler(self, self.onClickClose)) -- if self.isShowCloseBtn then -- self.ui.Items.Button_Close:setVisible(true) -- else self.ui.Items.Button_Close:setVisible(false) -- end self.ui.Items.Layout_share:setVisible(false) --self.ui.Items.ImageView_ShareImage:setVisible(false) self:bindEvent(app, "onGetShareRewardResponse", handler(self, self.onGetShareRewardResponse)) -- local activityData = app.php.activityData; -- if not activityData then -- return -- end -- self.attyData = app.php.activityData[""..self.aType] -- if not self._Timer then--定一个3秒的定时器,如果3秒内未获取到图片,自动关闭分享界面 -- self._Timer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function() -- if not tolua.isnull(self) then -- self:removeFromParent() -- end -- end,3,false) -- end local ext = json.decode(self.mission.ext) local urlfile1, time1 = convertIconUrl(self.mission.pic) local urlfile2, time2 = convertIconUrl(ext.share_pic) local isneedReq = cc.UserDefault:getInstance():getBoolForKey("needRequestShareImage") --local imagePath1 = cc.FileUtils:getInstance():getWritablePath().."activityShare.png"--显示在活动页面上的图 --local imagePath2 = cc.FileUtils:getInstance():getWritablePath().."activityShareOut.png"--分享到朋友圈的图 self.fileName1 = getImageNameFromUrl(urlfile1) self.fileName2 = getImageNameFromUrl(urlfile2) local fullPath = cc.FileUtils:getInstance():getWritablePath()..self.fileName1; local isExist = cc.FileSystem:fileExists(fullPath) if isneedReq or (not isExist) then cc.UserDefault:getInstance():setBoolForKey("needRequestShareImage",false) getImageFromUrlWithTime(ext.share_pic, self.fileName2, nil, function() getImageFromUrlWithTime(self.mission.pic, self.fileName1, nil, function() self:updateView() end) end) else self:updateView() end end function ActivityShareView:updateView() if tolua.isnull(self) then return end -- if self._Timer then -- cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self._Timer) -- self._Timer = nil -- end local texture = loadTextureFromFile(self.fileName1) if not texture then -- self:removeFromParent() return end self.ui.Items.ImageView_ShareImage:setTexture2(texture) self.ui.Items.Layout_share:setVisible(true) --self.ui.Items.ImageView_ShareImage:setVisible(true) end function ActivityShareView:onClickClose() playBtnEffect() self:removeFromParent() end function ActivityShareView:onShare() playBtnEffect() local timeNow = os.time(); if timeNow - self.lastClick <= 5 then showTooltip("点击太过频繁,请稍后再试") return end self.lastClick = timeNow; if cc.Application:getInstance():getTargetPlatform() == cc.PLATFORM_OS_ANDROID then local imagePath = cc.FileUtils:getInstance():getWritablePath()..self.fileName2; --local imagePath = cc.FileUtils:getInstance():getWritablePath().."icon.png" local function requestGetReward() app.php:requestGetShareReward() end local info = {} info.scene = "friend" info.contentType = "image" info.image = imagePath info.imageWidth = 1000 info.thumbWidth = 100 app.plugin:shareGame(info,requestGetReward) else app.php:requestGetShareReward() end --app.php:requestGetShareReward() --self:onGetShareRewardResponse() end function ActivityShareView:onGetShareRewardResponse(result) if cc.Application:getInstance():getTargetPlatform() == cc.PLATFORM_OS_ANDROID then if result.data.flag == -1 then showTooltip("今日已领取过奖励!") else local addNum = result.data.add --显示获得房卡动画 local view = import("luaScript.Views.Main.JiangLi"):new(addNum) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view, 200, true) end else local imagePath = cc.FileUtils:getInstance():getWritablePath()..self.fileName2; --local imagePath = cc.FileUtils:getInstance():getWritablePath().."icon.png" local function requestGetReward() --app.php:requestGetShareReward() end local info = {} info.scene = "friend" info.contentType = "image" info.image = imagePath info.imageWidth = 1000 info.thumbWidth = 100 app.plugin:shareGame(info,requestGetReward) if result.data.flag == -1 then showTooltip("今日已领取过奖励!") else self:runAction(cc.Sequence:create(cc.DelayTime:create(1.2),cc.CallFunc:create(function () local addNum = result.data.add --显示获得房卡动画 local view = import("luaScript.Views.Main.JiangLi"):new(addNum) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view, 200, true) end))) end end end return ActivityShareView;