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

122 lines
3.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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})
}
}
})