|
@@ -129,9 +129,19 @@ function activeOverCheck (endTime, callback) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// 未定义兼容
|
|
|
+try {
|
|
|
+ var shareSheet = appShareSheet
|
|
|
+} catch (error) {
|
|
|
+ var shareSheet = {}
|
|
|
+ console.log(error)
|
|
|
+}
|
|
|
var task = new Vue({
|
|
|
el: '#main-app',
|
|
|
delimiters: ['${', '}'],
|
|
|
+ components: {
|
|
|
+ appShareSheet: shareSheet
|
|
|
+ },
|
|
|
data: {
|
|
|
platform: 'app',
|
|
|
conf: {
|
|
@@ -143,6 +153,10 @@ var task = new Vue({
|
|
|
},
|
|
|
activeState: '',
|
|
|
lastTimestamp: 0, // 单位: ms
|
|
|
+ timeDuration: {
|
|
|
+ yure: '', // 预热活动时间7.25-7.31
|
|
|
+ active: '' // 活动时间8.1-8.14
|
|
|
+ },
|
|
|
yureConf: {
|
|
|
total: 0,
|
|
|
got: false
|
|
@@ -313,6 +327,24 @@ var task = new Vue({
|
|
|
return false
|
|
|
}
|
|
|
},
|
|
|
+ calcYuReTopText: function () {
|
|
|
+ if (this.activeState === 'yureing') {
|
|
|
+ return '进行中'
|
|
|
+ } else if (this.activeState === 'waiting') {
|
|
|
+ return '未开始'
|
|
|
+ } else {
|
|
|
+ return '已结束'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onKeyReceiveShow: function () {
|
|
|
+ var arr = []
|
|
|
+ this.couponList.forEach(function (item) {
|
|
|
+ if (item.IsReceive === false && item.IsUser) {
|
|
|
+ arr.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return arr.length !== this.couponList.length
|
|
|
+ },
|
|
|
forbidClose: function () {
|
|
|
return this.dialog.type === 'over'
|
|
|
},
|
|
@@ -329,6 +361,7 @@ var task = new Vue({
|
|
|
mounted: function () {
|
|
|
// this.calcPointList()
|
|
|
this.stickyTopEvents()
|
|
|
+ this.headerTransparent()
|
|
|
},
|
|
|
methods: {
|
|
|
add0: function (t) {
|
|
@@ -384,9 +417,9 @@ var task = new Vue({
|
|
|
if (!now) {
|
|
|
now = Date.now()
|
|
|
}
|
|
|
- var before = this.conf.before * 1000
|
|
|
- var start = this.conf.start * 1000
|
|
|
- var end = this.conf.end * 1000
|
|
|
+ var before = this.conf.before * 1000 // 预热开始
|
|
|
+ var start = this.conf.start * 1000 // 活动开始
|
|
|
+ var end = this.conf.end * 1000 // 活动结束
|
|
|
var stateArr = ['waiting', 'yureing', 'activating', 'ended']
|
|
|
var state = 'waiting'
|
|
|
if (now < before) {
|
|
@@ -399,6 +432,16 @@ var task = new Vue({
|
|
|
state = stateArr[3] // 活动已结束
|
|
|
}
|
|
|
this.activeState = state
|
|
|
+
|
|
|
+ // 计算时间间隔
|
|
|
+ var beforeStr = moment(before).format('M.DD')
|
|
|
+ var beforeStrEnd = moment(start - 1000).format('M.DD')
|
|
|
+ var startStr = moment(start).format('M.DD')
|
|
|
+ var endStr = moment(end - 1000).format('M.DD')
|
|
|
+
|
|
|
+ this.timeDuration.yure = [beforeStr, beforeStrEnd].join('-')
|
|
|
+ this.timeDuration.active = [startStr, endStr].join('-')
|
|
|
+
|
|
|
return state
|
|
|
},
|
|
|
// type=yure判断预热是否开始
|
|
@@ -453,7 +496,13 @@ var task = new Vue({
|
|
|
if (diff > 0) {
|
|
|
// 预热当天未开始抢券
|
|
|
buttonDisabled = true
|
|
|
- buttonText = '今日10点开抢'
|
|
|
+ // 计算小时
|
|
|
+ if (this.conf.clock) {
|
|
|
+ var clockArr = this.conf.clock.split(':')
|
|
|
+ buttonText = '今日'+ clockArr[0] +'点开抢'
|
|
|
+ } else {
|
|
|
+ buttonText = '今日10点开抢'
|
|
|
+ }
|
|
|
// 创建定时器刷新倒计时
|
|
|
this.yureInfo.timerId = setInterval(function () {
|
|
|
var d = yureCouponStartStamp - Date.now()
|
|
@@ -531,8 +580,8 @@ var task = new Vue({
|
|
|
if (this.yureInfo.buttonDisabled) {
|
|
|
this.$toast('活动尚未开始,敬请期待')
|
|
|
} else if (this.yureInfo.buttonText === '去查看') {
|
|
|
- // 领过了
|
|
|
- this.toBuyVip()
|
|
|
+ // 领过了,跳转订单列表
|
|
|
+ this.toOrderPage()
|
|
|
} else {
|
|
|
// 没领过
|
|
|
this.receiveYuReCouponAjax()
|
|
@@ -547,6 +596,7 @@ var task = new Vue({
|
|
|
success: function (res) {
|
|
|
if (res.data) {
|
|
|
_this.getYuReCouponCount()
|
|
|
+ _this.$toast('领取成功')
|
|
|
// 刷新我的奖励列表
|
|
|
_this.getMissionList()
|
|
|
}
|
|
@@ -602,6 +652,7 @@ var task = new Vue({
|
|
|
item.IsReceive = false
|
|
|
}
|
|
|
})
|
|
|
+ _this.$toast('领取成功')
|
|
|
// 刷新我的奖励列表
|
|
|
_this.getMissionList()
|
|
|
}
|
|
@@ -679,8 +730,6 @@ var task = new Vue({
|
|
|
var baseX = -1.2 * rootFontSize
|
|
|
var baseY = 0.6 * rootFontSize
|
|
|
|
|
|
- console.log(baseX, baseY)
|
|
|
-
|
|
|
// 终点坐标
|
|
|
var current = {
|
|
|
x: baseX + $('.progress-bar-content').width(),
|
|
@@ -695,11 +744,7 @@ var task = new Vue({
|
|
|
},
|
|
|
onClickListItem: function (item) {
|
|
|
if (item.icon === 'jy-svip') {
|
|
|
- if (utils.isWeiXinBrowser) {
|
|
|
- location.href = '/weixin/pay/toMyWxOrder?active=0'
|
|
|
- } else {
|
|
|
- location.href = '/jyapp/front/myOrder/toMyOrder?active=0'
|
|
|
- }
|
|
|
+ this.toOrderPage()
|
|
|
} else if (item.icon === 'jy-coin') {
|
|
|
location.href = '/page_points_mobile/list'
|
|
|
} else {
|
|
@@ -920,7 +965,7 @@ var task = new Vue({
|
|
|
},
|
|
|
scrollTo: function (className) {
|
|
|
setTimeout(function () {
|
|
|
- var offsetTop = $(className)[0].offsetTop - $('.jy-app-header').outerHeight() * 2
|
|
|
+ var offsetTop = $(className)[0].offsetTop
|
|
|
$('#main-app').scrollTop(offsetTop)
|
|
|
}, 100)
|
|
|
},
|
|
@@ -928,7 +973,7 @@ var task = new Vue({
|
|
|
var _this = this
|
|
|
var fixedTop = $('.fixed-top.top-timeline')
|
|
|
var scrollDOM = $('#main-app')
|
|
|
- var height = $('.header-banner').height() - $('.jy-app-header').outerHeight() * 2
|
|
|
+ var height = $('.header-banner').height()
|
|
|
var showHide = function () {
|
|
|
var scrollTop = scrollDOM.scrollTop()
|
|
|
if (scrollTop > height) {
|
|
@@ -947,6 +992,31 @@ var task = new Vue({
|
|
|
_this.scrollTo('.' + className)
|
|
|
})
|
|
|
},
|
|
|
+ headerTransparent: function () {
|
|
|
+ if (utils.isWeiXinBrowser) return
|
|
|
+ $('#main-app').on('scroll', function () {
|
|
|
+ var headerDOM = $('.j-header.jy-app-header')
|
|
|
+ var scrollTop = this.scrollTop
|
|
|
+
|
|
|
+ // 是否有header-transparent这个类名
|
|
|
+ var hasClassT = headerDOM.hasClass('transparent-header')
|
|
|
+
|
|
|
+ if (scrollTop >= 75) {
|
|
|
+ if (!hasClassT) return
|
|
|
+ headerDOM.removeClass('transparent-header')
|
|
|
+ }else {
|
|
|
+ if (hasClassT) return
|
|
|
+ headerDOM.addClass('transparent-header')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ toOrderPage: function () {
|
|
|
+ if (utils.isWeiXinBrowser) {
|
|
|
+ location.href = '/weixin/pay/toMyWxOrder?active=0'
|
|
|
+ } else {
|
|
|
+ location.href = '/jyapp/front/myOrder/toMyOrder?active=0'
|
|
|
+ }
|
|
|
+ },
|
|
|
toMemberPage: function () {
|
|
|
if (utils.isWeiXinBrowser) {
|
|
|
location.href = '/big/wx/page/landingPage'
|