EP-WachatApp/eaterplanet_ecommerce/components/ad-alert/index.js

122 lines
3.6 KiB
JavaScript
Raw Normal View History

2023-03-24 11:24:28 +08:00
// eaterplanet_ecommerce/components/ad-alert/index.js
Component({
/**
* 组件的属性列表
* pop_page 投放页面类型0商城首页1商品分类2商城购物车3商城个人中心
*/
properties: {
pop_page: {
type: Number,
value: ''
}
},
data: {
imgheights: [],//所有图片的高度
current:0,
visible: false,
adv_list: []
},
attached: function() {
// this.getData();
},
pageLifetimes: {
show: function () {
this.getData();
}
},
methods: {
getData: function(){
let token = wx.getStorageSync('token');
let pop_page = this.data.pop_page;
getApp().util.ProReq('popadv.popadv_list', {token, pop_page}).catch(res=>{
console.log(res.popadvs)
if(res.popadvs) {
let adv_list = res.popadvs.adv_list || [];
this.setData({
adv_list,
visible: adv_list.length>0
})
}
})
},
imageLoad(e){
//当图片载入完毕时
var imgwidth = e.detail.width,
imgheight = e.detail.height,
//宽高比
ratio = imgwidth / imgheight;
console.log(imgwidth, imgheight)
// 计算的高度值
var viewHeight = 600 / ratio;
var imgheight = viewHeight;
var imgheights = this.data.imgheights;
//把每一张图片的对应的高度记录到数组里
imgheights[e.target.dataset.id] = imgheight;
console.log('图片的高度:'+imgheights)
this.setData({
imgheights: imgheights
})
},
bindchange: function (e) {
// current 改变时会触发 change 事件
this.setData({ current: e.detail.current })
},
close: function() {
this.setData({ visible: false })
},
popclick: function(e){
let idx = e.currentTarget.dataset.idx;
if(idx!=='') {
let adv_list = this.data.adv_list;
let linktype = adv_list[idx].linktype;
let url = adv_list[idx].link;
let ad_id = adv_list[idx].ad_id;
if (linktype == 0) {
// 跳转webview
wx.navigateTo({
url: '/eaterplanet_ecommerce/pages/web-view?url=' + encodeURIComponent(url),
})
} else if (linktype == 1) {
let tabUrls = ['/eaterplanet_ecommerce/pages/index/index', '/eaterplanet_ecommerce/pages/order/shopCart', '/eaterplanet_ecommerce/pages/user/me', '/eaterplanet_ecommerce/pages/type/index'];
if (tabUrls.indexOf(url) != -1) {
url && wx.switchTab({ url: url })
} else {
url && wx.navigateTo({ url: url })
}
} else if (linktype == 2) {
// 跳转小程序
let appId = adv_list[idx].appid;
appId && wx.navigateToMiniProgram({
appId,
path: url,
extraData: {},
envVersion: 'release',
success(res) {
console.log(`弹窗广告:打开外链 appId:${appId} url:${url} 成功`)
},
fail(error) {
console.log(`弹窗广告:打开外链 appId:${appId} url:${url} 失败`)
console.log('失败原因:' + error.errMsg)
if(error.errMsg == 'navigateToMiniProgram:fail invalid appid') {
wx.showToast({
icon: 'none',
title: 'appid验证失败请检查',
})
}
}
})
}
//添加点击量
this.addview(ad_id);
}
},
addview: function(id){
getApp().util.ProReq('popadv.popadv_click', {id})
}
}
})