信达小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

103 lines
2.0 KiB

const app = getApp<IAppOption>()
// pages/story/a.ts
Component({
/**
* 组件的属性列表
*/
properties: {
detailId: {
type: String,
value: '0',
},
asideOut: {
type: Boolean,
value: false,
},
asideType: {
type: String,
value: '',
},
timeToast: {
type: Boolean,
value: false,
},
timeToastType: {
type: String,
value: '',
},
timeToastParams: {
type: Object,
value() {
return {}
},
},
},
observers: {
asideOut(asideOut) {
if (asideOut) {
setTimeout(() => {
this.countDown()
}, 1000)
}
},
},
lifetimes: {
attached() {
const systemInfo = wx.getSystemInfoSync()
this.setData({
sliderTop: systemInfo.screenHeight - 250,
})
},
detached() {
if (this.timer)
clearInterval(this.timer)
},
},
data: {
imageUrl: app.globalData.imageUrl,
Timestamp: app.globalData.Timestamp,
rewardScore: 0,
circleVal: 100,
centerVal: 9,
sliderTop: 450,
},
methods: {
timer: null as any,
countDown() {
const that = this
if (that.timer)
return
let circle = 100
that.timer = setInterval(() => {
circle--
that.setData({
circleVal: circle,
centerVal: Math.floor(circle / 10),
})
if (circle <= 0) {
clearInterval(that.timer)
this.handleAsideOut()
}
}, 100)
},
handleAsideOut() {
wx.ajax({
method: 'POST',
url: '?r=xd/score/send-score',
data: {
Type: this.data.asideType,
Id: this.data.detailId,
},
}).then((res) => {
if (!Array.isArray(res)) {
this.setData({
rewardScore: res.rewardScore,
})
}
})
},
},
})