{"version":3,"file":"/pc/common/js/top.js.map","sources":["/pc/common/js/top.js"],"sourcesContent":["/**\n * Created by luojianguo on 2016/6/9.\n */\ndefine([\"jquery\",\"pcbase\",\"ko\",\"login\",\"my/js/sidebar_data\",\"dataAccess\",\"strhelp\",\"router\",\"galert\",\"module\"],function ($,pcbase,ko,login,sidebar_data,dataAccess,strhelp,router,galert,module){\n\n return pcbase.extend(function() {\n \"use strict\";\n //声明页面配置\n var my = this;\n window.t_Getofflinetalk = null\n this.reInit = function(){\n if(window.location.pathname.toLowerCase() == \"/pc/goods/home.html\" || window.location.pathname.toLowerCase() == \"/\"){\n if($(my.pageSelector).hasClass(\"top-home\") == false) {\n $(my.pageSelector).addClass(\"top-home\");\n }\n }else{\n $(\"body\").removeClass(\"top-home\");\n }\n };\n\n this.init = function(){\n this.needLogin =false;\n this.pageSelector = \".page-common-top\";\n this.reInit();\n };\n\n this.model = {\n\n // hmAdvBg : ko.observable(''), //首页广告背景图\n // loginFlag : ko.observable(''), //是否登录用户显示\n // advList : ko.observable(''), //首页广告信息\n\n\n has_new: ko.observable(),//是否有优惠券\n ticketNotAvailable: ko.observable([]),\n ticketList: ko.observable([]),\n loading:ko.observable(false),\n unreadNum: ko.observable(0),\n to_mid: ko.observable(),\n cur : 'cur',\n gchatNickName : ko.observable(''),//g聊天联系人昵称\n gchatMsg : ko.observable(''),//g聊天联系人消息\n gchatIcon : ko.observable(''),//g聊天联系人头像\n gchatMid : ko.observable(),//g聊天联系人mid\n gchatCount:ko.observable(),\n yhqList:ko.observableArray([]),//新人优惠券列\n yhqEntery:ko.observableArray(''),//新人优惠券入口\n\n getGoodsList: function (gameId,goodType,areaId,groupId,keyword,refer,gameOs,operatorId,tradeMode) {\n return strhelp.getGoodsListUrl(gameId,goodType,areaId,groupId,keyword,refer,gameOs,operatorId,tradeMode);\n },\n\n prepareData: function(){\n var self = this;\n self.loading(false);\n if (login.hasLoggedIn() && location.pathname != '/pc/buy/orderdetail_db_im.html'){\n my.model.getUnreadMsgCount();\n var getofflinetalk = function(){\n my.model.getofflinetalk();\n window.t_Getofflinetalk = setTimeout(getofflinetalk, 30000);\n }\n getofflinetalk();\n }\n },\n beginLogin:function(){\n var self = this;\n self.loading(true);\n },\n cancelLogin:function(){\n var self = this;\n self.loading(false);\n },\n\n logoutOrIn:function () {\n var self =this;\n if(login.hasLoggedIn()){\n login.logoff();\n }else{\n self.loading(true);\n //login.showLoginPage(my.entry,my);\n // if (/goods\\/pay.html/.test(location.href) || /my\\/wallet.html/.test(location.href)){\n location.href = \"/pcnew/auth/login?redirectUrl=\" + encodeURIComponent(location.href);\n login.showLoginPage(function(){window.location.reload()});\n // } else {\n // login.showLoginPage(my.entry,my);\n // }\n self.loading(false);\n }\n\n\n },\n getFullUrl:function (urlPart) {\n return location.protocol + \"//\" + location.hostname + (location.port == \"80\" ? \"\" : \":\" + location.port) + urlPart;\n },\n\n register:function () {\n location.href = \"/pcnew/auth/login?mode=register&redirectUrl=\" + encodeURIComponent(location.href);\n login.showLoginPage(function(){window.location.reload()},null,'register');\n },\n\n active:function(item,e){\n console.log(e)\n $(my.pageSelector + \" a\").removeClass('cur');\n $(e.srcElement).addClass('cur');\n return true;\n },\n getUnreadMsgCount:function(){\n //$.ajax( \"/gmmweb/SysGW/getmessageunreadcount\",{\n $.ajax( \"/gatew/userapi/getMessageUnreadCount\",{\n notcheckLogin:true,\n success: function(response){\n if(response.return_code ==0){\n sidebar_data.unreadmsg.parse(response,my.model);\n }\n }\n });\n },\n contackKF:function (){\n var callbackAfterLogin = function(){\n var supportCallback = function(){\n my.pageInf.gotoGchat('cs');\n }\n var unsupportCallback = function(){\n $('.modal').modal('hide');\n $('#tips_contackKF').modal('show');\n }\n strhelp.checkIESupport(supportCallback,unsupportCallback);\n }\n login.checkLoginStatusWithShownLoginPage(callbackAfterLogin);\n },\n getofflinetalk:function(){\n var self = this;\n $.ajax( \"/gatew/chatapi/getofflinetalk\",{\n success: function(response){\n if(response.return_code ==0){\n my.model.gchatNickName(response.data.nickName);\n response.data.message && my.model.gchatMsg(strhelp.replaceNumToEmoji(response.data.message));\n my.model.gchatIcon(response.data.iconUrl);\n my.model.gchatMid(response.data.from);\n my.model.gchatCount(response.data.count);\n }\n },\n error: function () {\n }\n });\n },\n gotoGchat:function(){\n var self = this;\n var supportCallback = function(){\n my.model.gchatCount(0);\n my.pageInf.gotoGchat('chat',{\n mid:my.model.gchatMid()\n });\n }\n var unsupportCallback = function(){\n $('.modal').modal('hide');\n $('#appdownload-contact').modal('show');\n }\n strhelp.checkIESupport(supportCallback,unsupportCallback);\n },\n gotoWeibo:function() {\n window.open(\"https://weibo.com/gamemaimai\");\n },\n\n //是否有新的优惠券\n doHaveNewCoupons:function(){\n var params = {\n };\n $.ajax( \"/gatew/actapi/doHaveNewCoupons\",{\n data:params,\n noNeedBlock:true,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n my.model.has_new(data.has_new);\n var has_new = data.has_new;\n if( has_new==1){\n my.model.queryUserCoupons();\n }\n } else {\n galert(response.message)\n }\n }\n });\n },\n\n //获取优惠券列表\n queryUserCoupons:function () {\n $.ajax({\n type: \"GET\",\n url: \"/gatew/frontconfigapi\",\n data: {\n \"method\": \"queryUserCoupons\",\n \"params\": JSON.stringify({\n \"sorted\": 2,\n \"orderby\":2\n })\n },\n success: function (resp) {\n if (resp.return_code == 0 && resp.data && resp.data.list) {\n var list = resp.data.list\n var count = resp.data.count\n //var ticketAvailable = self.ticketAvailable()\n $(\".modal-backdrop.fade.in\").remove();\n if (list) {\n var ticketList = []\n for (var i = 0; i < list.length; i++) {\n var ticke = list[i]\n for (var i = 0; i < list.length; i++) {\n var ticke = list[i]\n ticke.amount = ticke.amount / 100;\n var endTime = new Date(ticke.endTime.replace(/-/g, \"/\")).getTime();\n var nowTime = new Date().getTime();\n var startTime = new Date(ticke.startTime.replace(/-/g, \"/\")).getTime();\n if(nowTime > startTime && nowTime < endTime){\n ticketList.push(ticke)\n }\n }\n my.model.ticketList(ticketList);\n }\n $('#yhqyh-get').modal('show');\n $(\".modal-open .modal-backdrop.fade.in\").css(\"z-index\",0);\n my.model.readNewCoupons();\n }\n } else if (resp.return_code !== 0) {\n galert(resp.return_message);\n }\n },\n error: function (data) {\n }\n });\n },\n//是否显示标志\n readNewCoupons: function () {\n var params = {};\n $.ajax(\"/gatew/actapi/readNewCoupons\", {\n data: params,\n noNeedBlock: true,\n success: function (response) {\n var data = response.data;\n if (response.return_code === 0) {\n } else {\n galert(response.return_message);\n }\n\n }\n });\n },\n\n //我知道了\n haveKnow: function () {\n $('#yhqyh-get').modal('hide');\n },\n\n gotoList:function (data,e) {\n var goodtype = data.itemtypes;\n var gameAppIds =data.gameAppIds;\n $('#yhqyh-get').modal('hide');\n $(\".modal-backdrop.fade.in\").remove();\n if(gameAppIds > 0){\n my.pageInf.gotoGoodsList(gameAppIds,goodtype);\n }else{\n my.pageInf.gotoGameList(gameAppIds,goodtype);\n }\n },\n\n\n\n\n //取新人优惠券配置\n getYhqConfig:function(){\n var self = this;\n var params = {\n object_id:'new_users_coupon_config'\n };\n $.ajax( \"/gate/frontconfigapi/GetVersion\",{\n data:params,\n noNeedBlock:true,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n if (data.memo.open_flag == 1){\n my.model.yhqList(data.memo.coupon);\n my.model.checkNewUser();\n }\n } else {\n }\n\n }\n });\n },\n //检查是否新用户,新用户显示抵用券\n checkNewUser:function(){\n var self = this;\n var params = {\n };\n $.ajax( \"/gatew/frontconfigapi/checkReceiveFlag\",{\n data:params,\n noNeedBlock:true,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n if (data.is_new_user && !data.receive_flag){\n var yhqList = my.model.yhqList();\n var html = '';\n $.each(yhqList, function(index, val) {\n html += '
  • ¥' + val.coupon_amount + '

    ' + val.item_type_name +'
    ' + val.kind_name + '

  • '\n });\n $('#newyhq-get ul').html(html);\n $('#newyhq-get .step-succ').show();\n $('#newyhq-get .step-onlynew').hide();\n $('#newyhq-get .step-get').hide();\n $('#newyhq-get').modal('show');\n my.model.updateNewUser();\n }else {\n if(my.model.yhqEntery() == 'banner') {\n //首页点banner进来的老用户\n $('#newyhq-get .step-succ').hide();\n $('#newyhq-get .step-onlynew').show();\n $('#newyhq-get .step-get').hide();\n $('#newyhq-get').modal('show');\n }else{\n //首页老用户弹屏\n router.getPageModule(\"goods/js/home\",function(pageModel){\n pageModel.model.getAdvertiseConfig();\n },1);\n\n }\n\n }\n router.getPageModule(\"goods/js/home\",function(pageModel){\n pageModel.showYhqCheck();\n },1);\n } else {\n //galert(response.return_message);\n }\n\n }\n });\n },\n //更新新用户标记\n updateNewUser:function(){\n var self = this;\n var params = {\n };\n $.ajax( \"/gatew/frontconfigapi/updateReceiveFlag\",{\n data:params,\n noNeedBlock:true,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n } else {\n }\n\n }\n });\n },\n // showJshTips : function(){\n // var isTips = localStorage.getItem('grCenterJshTips') || '' ;\n // var pathname = location.pathname;\n // var jsh = false;\n // $.each($(\".group-my-sidebar .list-group-item\"),function(index,item){\n // if($(item).attr(\"href\") == '/pc/my/jsh_game.html'){\n // jsh = true;\n // }\n // });\n // if(!isTips && pathname.indexOf('/pc/my/') > -1 && jsh){\n // $('body').append($('#jsh'));\n // $('#jsh').modal('show');\n // localStorage.setItem('grCenterJshTips','1');\n // } \n // }\n };\n\n this.bindEvent = function(){\n login.addObserver(my.pageSelector,my.model.prepareData,my.model);//不需要登录,但如果登录了,通知到此方法\n login.addBeginLoginObserver(my.pageSelector,my.model.beginLogin,my.model);\n login.addCancelLoginObservers(my.pageSelector,my.model.cancelLogin,my.model);\n $(document).on('click','#page-common-top #needSell', function(event) {\n // $('#sells_topjs').modal('show');\n })\n $(document).on('click', '#newyhq-get .step-get .btn', function(event) {\n my.model.yhqEntery('banner');\n my.checkNewYhq();\n });\n //专区处理\n $(document).on('click', ' .navbar-brand', function(event) {\n var special = strhelp.urlParamName('special');\n if (special == 1){\n event.preventDefault();\n }\n });\n setTimeout(function(){\n $(\".container-w .group-my-sidebar.new-sidebar .gr-center-sidebar.sidebar-static\").hide();\n $(\".container-w .group-my-sidebar.new-sidebar sidebar\").show();\n },50)\n }\n this.checkNewYhq = function(){\n var self = this;\n if (login.hasLoggedIn()){\n self.model.getYhqConfig();\n } else {\n if (self.model.yhqEntery() == 'banner'){\n $('#newyhq-get').modal('hide');\n var callbackAfterLogin = function(){\n //loginBase.js里在登录后统一会调用checkNewYhq方法,这里不需要重复调用了,只需要显示登录浮层,callbackAfterLogin什么都不做\n //self.checkNewYhq();\n }\n login.checkLoginStatusWithShownLoginPage(callbackAfterLogin);\n }\n }\n }\n //定义入口函数\n this.entry = function(){\n //专区处理\n var special = strhelp.urlParamName('special');\n var sourceType = strhelp.urlParamName('sourceType');\n if (special == 1 && sourceType == 1){\n $(\"body\").addClass('special');\n }\n // 判断url上是否有trace_channel参数,用作推广统计。\n var referrer = document.referrer;\n var traceChannel = dataAccess.getQueryParameter('trace_channel');\n var referrerTraceChannel = referrer && /^((?!gmm.sdo.com|gmmsj.com|gmm01.com).)*$/.test(referrer) ? referrer.split('/')[2] : '';\n if (!dataAccess.getCookie('trace_channel')) {\n if (traceChannel) {\n dataAccess.setCookie('trace_channel', traceChannel);\n } else if (referrerTraceChannel) {\n dataAccess.setCookie('trace_channel', referrerTraceChannel);\n }\n }\n this.model.prepareData();\n this.checkNewYhq();\n //my.model.getAdvertiseConfig();\n\n var locatPath = window.location.pathname.toLowerCase();\n if(locatPath == \"/pc/goods/home.html\") {\n if (login.hasLoggedIn()) {\n my.model.doHaveNewCoupons();\n }\n }\n // if(login.hasLoggedIn()){\n // this.model.showJshTips();\n // }\n };\n })\n\n})\n\n"],"names":["define","$","pcbase","ko","login","sidebar_data","dataAccess","strhelp","router","galert","extend","my","this","window","t_Getofflinetalk","reInit","location","pathname","toLowerCase","pageSelector","hasClass","addClass","removeClass","init","needLogin","model","has_new","observable","ticketNotAvailable","ticketList","loading","unreadNum","to_mid","cur","gchatNickName","gchatMsg","gchatIcon","gchatMid","gchatCount","yhqList","observableArray","yhqEntery","getGoodsList","gameId","goodType","areaId","groupId","keyword","refer","gameOs","operatorId","tradeMode","getGoodsListUrl","prepareData","self","hasLoggedIn","getUnreadMsgCount","getofflinetalk","setTimeout","beginLogin","cancelLogin","logoutOrIn","logoff","href","encodeURIComponent","showLoginPage","reload","getFullUrl","urlPart","protocol","hostname","port","register","active","item","e","srcElement","ajax","notcheckLogin","success","response","return_code","unreadmsg","parse","contackKF","callbackAfterLogin","supportCallback","pageInf","gotoGchat","unsupportCallback","modal","checkIESupport","checkLoginStatusWithShownLoginPage","data","nickName","message","replaceNumToEmoji","iconUrl","from","count","error","mid","gotoWeibo","open","doHaveNewCoupons","params","noNeedBlock","queryUserCoupons","type","url","method","JSON","stringify","sorted","orderby","resp","list","remove","i","length","ticke","amount","endTime","Date","replace","getTime","nowTime","startTime","push","css","readNewCoupons","return_message","haveKnow","gotoList","goodtype","itemtypes","gameAppIds","gotoGoodsList","gotoGameList","getYhqConfig","object_id","memo","open_flag","coupon","checkNewUser","is_new_user","receive_flag","html","each","index","val","coupon_amount","item_type_name","kind_name","show","hide","updateNewUser","getPageModule","pageModel","getAdvertiseConfig","showYhqCheck","bindEvent","addObserver","addBeginLoginObserver","addCancelLoginObservers","document","on","checkNewYhq","event","special","urlParamName","preventDefault","entry","sourceType","referrer","traceChannel","getQueryParameter","referrerTraceChannel","test","split","getCookie","setCookie","locatPath"],"mappings":"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"}