294 lines
6.8 KiB
JavaScript
294 lines
6.8 KiB
JavaScript
|
const app = getApp()
|
||
|
var util = require('../../utils/util.js');
|
||
|
var status = require('../../utils/index.js');
|
||
|
|
||
|
Page({
|
||
|
mixins: [require('../../mixin/compoentCartMixin.js')],
|
||
|
data: {
|
||
|
info: {},
|
||
|
fmShow: true,
|
||
|
canvasWidth: 375,
|
||
|
canvasHeight: 300
|
||
|
},
|
||
|
gid: 0,
|
||
|
goodsImg: '',
|
||
|
imageUrl: '',
|
||
|
handlerGobackClick(delta) {
|
||
|
const pages = getCurrentPages();
|
||
|
if (pages.length >= 2) {
|
||
|
wx.navigateBack({
|
||
|
delta: delta
|
||
|
});
|
||
|
} else {
|
||
|
wx.switchTab({
|
||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
handlerGohomeClick(url) {
|
||
|
wx.switchTab({
|
||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||
|
});
|
||
|
},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面加载
|
||
|
*/
|
||
|
onLoad: function (options) {
|
||
|
app.setShareConfig();
|
||
|
let gid = options.id || '';
|
||
|
this.gid = gid;
|
||
|
this.getData(gid);
|
||
|
let showBackBtn = false;
|
||
|
let pages_all = getCurrentPages();
|
||
|
if (pages_all.length > 1) {
|
||
|
showBackBtn = true;
|
||
|
}
|
||
|
this.setData({ showBackBtn })
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面显示
|
||
|
*/
|
||
|
onShow: function () {
|
||
|
const that = this;
|
||
|
util.check_login_new().then((res) => {
|
||
|
let needAuth = !res;
|
||
|
that.setData({ needAuth })
|
||
|
if (res) {
|
||
|
(0, status.cartNum)('', true).then((res) => {
|
||
|
res.code == 0 && that.setData({
|
||
|
cartNum: res.data
|
||
|
})
|
||
|
});
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
|
||
|
onReady: function (res) {
|
||
|
this.videoContext = wx.createVideoContext('myVideo');
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 授权成功回调
|
||
|
*/
|
||
|
authSuccess: function () {
|
||
|
const that = this;
|
||
|
let gid = this.gid;
|
||
|
this.setData({
|
||
|
needAuth: false,
|
||
|
showAuthModal: false
|
||
|
}, () => {
|
||
|
that.getData(gid);
|
||
|
})
|
||
|
},
|
||
|
|
||
|
vipModal: function(t) {
|
||
|
this.setData(t.detail)
|
||
|
},
|
||
|
|
||
|
imageLoad: function (e) {
|
||
|
var imageSize = util.imageUtil(e)
|
||
|
this.setData({
|
||
|
imageSize
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 播放视频隐藏封面图
|
||
|
*/
|
||
|
btnPlay: function () {
|
||
|
this.setData({
|
||
|
fmShow: false
|
||
|
})
|
||
|
this.videoContext.play();
|
||
|
},
|
||
|
|
||
|
videEnd: function () {
|
||
|
this.setData({
|
||
|
fmShow: true
|
||
|
})
|
||
|
},
|
||
|
|
||
|
endPlay: function () {
|
||
|
this.videoContext.pause();
|
||
|
this.setData({
|
||
|
fmShow: true
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 获取信息
|
||
|
*/
|
||
|
getData: function (id) {
|
||
|
let that = this;
|
||
|
let token = wx.getStorageSync('token');
|
||
|
let community = wx.getStorageSync('community');
|
||
|
let head_id = community.communityId || '';
|
||
|
|
||
|
wx.showLoading();
|
||
|
app.util.request({
|
||
|
'url': 'entry/wxapp/index',
|
||
|
'data': {
|
||
|
controller: 'recipe.get_recipe_detail',
|
||
|
token,
|
||
|
id,
|
||
|
head_id
|
||
|
},
|
||
|
dataType: 'json',
|
||
|
success: function (res) {
|
||
|
if (res.data.code==0) {
|
||
|
let info = res.data.data || {};
|
||
|
let is_open_recipe_full_video = res.data.is_open_recipe_full_video;
|
||
|
let showCoverVideo = (is_open_recipe_full_video==1) && info.video;
|
||
|
that.setData({ info, showCoverVideo }, ()=>{
|
||
|
let shareImg = info.images;
|
||
|
info.video && shareImg && status.download(shareImg + "?imageView2/1/w/500/h/400").then(function (a) {
|
||
|
that.goodsImg = a.tempFilePath, that.drawImg();
|
||
|
});
|
||
|
})
|
||
|
}
|
||
|
wx.hideLoading();
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 点赞
|
||
|
*/
|
||
|
agree: function () {
|
||
|
if (!this.authModal()) return;
|
||
|
let that = this;
|
||
|
let item = this.data.info;
|
||
|
let token = wx.getStorageSync('token');
|
||
|
|
||
|
app.util.request({
|
||
|
'url': 'entry/wxapp/index',
|
||
|
'data': {
|
||
|
controller: 'recipe.fav_recipe_do',
|
||
|
token: token,
|
||
|
id: item.id
|
||
|
},
|
||
|
dataType: 'json',
|
||
|
success: function (res) {
|
||
|
if (res.data.code == 0) {
|
||
|
//成功
|
||
|
wx.showToast({
|
||
|
title: '已喜欢~',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
item.fav_count = res.data.fav_count;
|
||
|
item.has_fav = 1;
|
||
|
that.setData({ info: item })
|
||
|
} else if (res.data.code == 1) {
|
||
|
//未登录
|
||
|
that.setData({ needAuth: true });
|
||
|
} else if (res.data.code == 2) {
|
||
|
//取消收藏
|
||
|
item.fav_count = res.data.fav_count;
|
||
|
item.has_fav = 0;
|
||
|
that.setData({ info: item })
|
||
|
wx.showToast({
|
||
|
title: '取消喜欢~',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
|
||
|
goLink: function(e){
|
||
|
let link = e.currentTarget.dataset.link;
|
||
|
app.util.navTo(link);
|
||
|
},
|
||
|
|
||
|
drawImg: function () {
|
||
|
var t = this;
|
||
|
wx.createSelectorQuery().select(".canvas-img").boundingClientRect(function () {
|
||
|
const context = wx.createCanvasContext("myCanvas");
|
||
|
context.drawImage(t.goodsImg, 0, 0, status.getPx(375), status.getPx(300));
|
||
|
context.drawImage("../../images/play.png", status.getPx(127.5), status.getPx(70), status.getPx(120), status.getPx(120));
|
||
|
context.save();
|
||
|
context.draw(false, t.checkCanvas());
|
||
|
}).exec();
|
||
|
},
|
||
|
|
||
|
checkCanvas: function () {
|
||
|
var that = this;
|
||
|
setTimeout(() => {
|
||
|
wx.canvasToTempFilePath({
|
||
|
canvasId: "myCanvas",
|
||
|
success: function (res) {
|
||
|
res.tempFilePath ? that.imageUrl = res.tempFilePath : that.drawImg();
|
||
|
console.log('我画完了')
|
||
|
},
|
||
|
fail: function (a) {
|
||
|
that.drawImg();
|
||
|
}
|
||
|
})
|
||
|
}, 500)
|
||
|
},
|
||
|
|
||
|
clickStore: function() {
|
||
|
this.setData({ showStore: !this.data.showStore })
|
||
|
},
|
||
|
|
||
|
coverVideoEnd: function(){
|
||
|
this.setData({
|
||
|
showCoverVideo: false
|
||
|
})
|
||
|
},
|
||
|
|
||
|
_backhome: function() {
|
||
|
wx.switchTab({
|
||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 用户点击右上角分享
|
||
|
*/
|
||
|
onShareAppMessage: function () {
|
||
|
let info = this.data.info;
|
||
|
var community = wx.getStorageSync('community');
|
||
|
var gid = info.id;
|
||
|
var community_id = community.communityId;
|
||
|
var share_title = info.recipe_name;
|
||
|
var share_id = wx.getStorageSync('member_id');
|
||
|
var share_path = `eaterplanet_ecommerce/moduleA/menu/details?id=${gid}&share_id=${share_id}&community_id=${community_id}`;
|
||
|
console.log('分享地址:', share_path);
|
||
|
return {
|
||
|
title: share_title,
|
||
|
path: share_path,
|
||
|
imageUrl: this.imageUrl,
|
||
|
success: function (res) {
|
||
|
// 转发成功
|
||
|
},
|
||
|
fail: function (res) {
|
||
|
// 转发失败
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
onShareTimeline: function () {
|
||
|
let info = this.data.info;
|
||
|
var community = wx.getStorageSync('community');
|
||
|
var gid = info.id;
|
||
|
var community_id = community.communityId;
|
||
|
var share_title = info.recipe_name;
|
||
|
var share_id = wx.getStorageSync('member_id');
|
||
|
var query= `id=${gid}&share_id=${share_id}&community_id=${community_id}`;
|
||
|
|
||
|
return {
|
||
|
title: share_title,
|
||
|
query,
|
||
|
imageUrl: this.imageUrl,
|
||
|
success: function (res) {
|
||
|
// 转发成功
|
||
|
},
|
||
|
fail: function (res) {
|
||
|
// 转发失败
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|