shopHome.js 5.47 KB
// pages/reserve/shopHome.js
import App from '../../utils/api';
import util from '../../utils/util';
Page({

    /**
     * 页面的初始数据
     */
    data: {
        seller: {
            imgUrl: '',
            sellName: '',
            date: '',
            seller_tel: '',
            address: '',
            name: '',
            lat: '',
            long: '',
        },
        store: {},
        chef: {},
        signboard: {},
        home: {},
        sid: '',
        IsCollectionSeller: false,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        if (options.sid) {
            this.setData({
                sid: options.sid
            })
            this.getDetail(options.sid)
            this.getIsCollectionSellerFun(options.sid)
        }
    },
    // 获取商家是否收藏状态
    getIsCollectionSellerFun(sid) {
        App.Customer.IsCollectionSeller({
            sid,
            openid: getApp().openid
        }).then(res => {
            this.setData({
                IsCollectionSeller: res.data,
            })
        })
    },
    // 获取店铺详情
    getDetail(sid) {
        App.Customer.GetSellerDetail({
            openid: getApp().openid,
            sid
        }).then(res => {
            let reserev = res.data;
            this.setData({
                seller: {
                    sellName: reserev.sellername,
                    date: reserev.daily.morning + ' ' + reserev.daily.night + ' ' + reserev.daily.noon,
                    seller_tel: reserev.seller_tel.split(','),
                    address: reserev.map_address,
                    lat: reserev.lat,
                    long: reserev.long,
                }
            })
            console.log('sellerseller', {
                ...this.data.seller
            });
            setTimeout(() => {
                this.getSellerTemplateConfFun(reserev.id);
            }, 0);
        }).catch(res => {
            console.log(res, '详情请求失败');
        })
    },
    // 获取商家设置营销信息
    getSellerTemplateConfFun(sid) {
        App.Seller.GetSellerTemplateConf({
            sid
        }).then(res => {
            let data = res.data
            let home, chef, signboard, store;
            chef = util.determine(data.chef);
            signboard = util.determine(data.signboard);
            store = util.determine(data.store);
            home = util.determine(data.home);
            if (store && store.images.length > 0) store.images = util.determine(store.images);
            if (signboard && signboard.images) signboard.images = util.determine(signboard.images);
            let obj = {
                chef,
                signboard,
                store,
                home,
            }
            console.log('获取数据', {
                ...obj
            });
            this.setData({
                chef,
                signboard,
                store,
                home,
            })
        }).catch(res => {
            console.log('GetSellerTemplateConf请求失败');
        })
    },
    // 导航
    looklocation: function () {
        wx.reportMonitor('1015', 1)
        wx.openLocation({
            latitude: Number(this.data.seller.lat),
            longitude: Number(this.data.seller.long),
            scale: 17,
            address: this.data.seller.address,
            success: function (res) {
                console.log(res)
            }
        })
    },
    // 点击收藏按钮
    follow() {
        let param = {
            sid: this.data.sid,
            openid: getApp().openid,
        }
        if (this.data.IsCollectionSeller) { //已收藏
            param.cancel = 1
        }
        let hasFollow = !this.data.IsCollectionSeller
        App.Customer.SetCollectionRel(param).then(res => {
            if (res.ret == 200) {
                util.toast('设置成功', 'none')
                this.setData({
                    IsCollectionSeller: hasFollow
                })
            }
        })
    },
    // 分享
    sharesetting() {
        wx.reportMonitor('1017', 1)
        let parmdata = {
            sid: this.data.sid,
            fromid: getApp().openid
        }
        return {
            title: '向您推荐' + this.data.seller.sellName + ',快来看看吧!',
            path: util.http_build_query(parmdata, '/pages/reserve/shopHome'),
            imageUrl: this.data.home.image || 'http://nosqn.colorcun.com/reserve/images/3x/%E6%9A%82%E6%97%A0.png',
        }
    },
    // 拨打电话
    call(e) {
        let info = e.currentTarget.dataset['info'];
        wx.reportMonitor('1012', 1)
        wx.makePhoneCall({
            phoneNumber: info
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },
    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {
        return this.sharesetting();
    },
    /**
     * 监听用户点击分享到朋友圈按钮的操作
     */
    onShareTimeline() {
        return this.sharesetting();
    },
})