122 lines
3.6 KiB
JavaScript
122 lines
3.6 KiB
JavaScript
// 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})
|
||
}
|
||
}
|
||
})
|