var t = require("../../../../utils/util.js"),
    ut = t,
    e = require("../../../../utils/common.js"),
    a = require("../../../../utils/wxParse/wxParse.js"),
    s = getApp(),
    i = s.request,
    rq = i,
    oo = s.globalData,
    o = s.globalData.setting,
    os = o;

let self = null;

//评价加载更多
var more = function (e) {
        return e && e.__esModule ? e : {
            default: e
        };
    }(require("../../../../utils/LoadMore.js")),
    n = new more.default();
var utils = require('../../../../utils/util.js');
var regeneratorRuntime = require('../../../../utils/runtime.js');

Page({
    data: {
        start_stop: 2, //秒杀开始 结束 的控制(1正在进行，2即将开始)
        color_type: 0, //线条控制
        color_type_one: 0,
        color_type_two: 1,
        is_share_text: 1,

        gid: "",
        stoid: o.stoid,
        url: o.url,
        resourceUrl: o.h5_url,  //公众号那边的图片文件域名
        iurl: o.imghost,
        defaultAvatar: o.resourceUrl + "/static/images/user68.jpg",

        data: null,
        content: "", //商品详情


        gallery: null, //图片滚动
        is_collect: 0,
        collect_id: 0,
        cartGoodsNum: 0,
        specSelect: 0,
        optionItemId: 0,
        goodsInputNum: 1,
        openSpecModal: !1,

        activeCategoryId: 0,
        supportPageScroll: !1,
        address: {
            address: "",
            district: 0,
        },
        shipping: "",
        shippingCost: 0,
        enterAddressPage: !1,
        categories: [{
            name: "卡项",
            id: 0
        }, {
            name: "详情",
            id: 1
        }, {
            name: "评价",
            id: 2
        }],
        activeCategoryId2: 0,
        categories2: [{
            name: "商品详情",
            id: 0
        }, {
            name: "规格参数",
            id: 1
        }],
        activeCategoryId3: 1, // 点击评价-全部、有图、好评、中评时对应的id
        categories3: [{
            name: "全部",
            id: 1,
            num: 0
        },
            {
                name: "有图",
                id: 5,
                num: 0
            },

            {
                name: "好评",
                id: 2,
                num: 0
            }, {
                name: "中评",
                id: 3,
                num: 0
            }, {
                name: "差评",
                id: 4,
                num: 0
            },
        ],

        select: {
            price: 0,
            stock: 0,
            specName: "",
            activity: null
        },


        //门店相关
        ismend: 0,
        is_sec_mend: 0,
        sto_sele_name: "", //选中的门店名称
        sto_sele_id: "", //选中的门店id
        sto_sele_keyid: '', //选中的门店线下
        sto_sele_distr: "", //选择的门店的配送方式
        is_show_sto_cat: 1, //是否显示门店分类
        only_pk: null,
        all_sto: null,
        sec_sto: null, //选择了的门店分类
        pickpu_list: null, //读出的所有门店list
        def_pickpu_list: null, //一开始5个门店list
        sec_pick_index: 0, //第二级门店选择ID
        fir_pick_index: 0, //第一级门店选择ID
        all_pick_list: null,//所有的门店先记录起来

        //联系电话
        mobile: '',
        //商品的活动类型 0普通  1秒杀 2团购 3优惠  4 积分购  6拼单
        timer: [],

        //商品的购买次数
        prom_buy_num: -1,
        g_buy_num: null,

        //会员自己的购买的拼单商品的情况
        //购买的订单
        buy_order: null,
        //1加入购物车  2立即购买
        openSpecModal_ind: 0,

        //---计时器开关----
        is_timer: 1,
        isshow: 0,
        bconfig: null, //基础配置

        //会员分享的头像
        share_head: "",
        share_goods_img: "",

        //----------视频图片data参数---------
        current: 0, //图片计数
        swiperCurrent: 0, //轮播的下标
        hiddenn: 0, //控制轮播计数显示

        currentTab: 0, // 选择器控制参数
        mapurl: "",
        mapurl_f_img: "",
        videopicture: 0, //视频图片的控制

        video: 0, //视频图片切换器
        index: 0,
        noon: 0, //开始视频的隐藏

        screenWidth: 0,
        canvasHidden: 1,

        //--推荐--
        store_config: null,
        is_show_pl: 0, //是否品类
        is_show_pp: 0, //是否品牌
        is_show_gb: 0, //是否国别
        is_closecoupon: 0,


        select_store: 0, //选择更多
        index: 1,
        more_store: 0, //选择门店
        sort_store: 0, //门店分类
        choice_sort_store: 0, //选择分类门店
        new_user: 0, //新用户

        def_pick_store: null, // 默认的门店
        fir_def_store: null,  //客户默认的门店的
        lat: null, //维度
        lon: null, //经度

        is_get_local_ok: 0, //获取坐标是否完成
        region_name: "门店分类", //区域的名字
        is_gps: 1,
        open_ind_store: 0, //哪里打开的门店列表的控制属性
        default_store: {}, //创建添加默认门店地址的对象

        comments_no_more: 0,

        is_collect_load: 0,     //是不是处理
        is_newsales_rules: 0,   //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存
        sales_rules: 1,	       //默认是线上销售

        wait_for_user_store: null,
        poster: null,      //自定义海报
        share_b_img: '',   //自定义分享的背景
        showPoster: false,
        hui_condition: null,
        sto_sele_name_1: '',//分享的门店名称

        // 秒杀
        prom_st: null,
        prom_r_null: 0,

        hiddenCS: true, //控制客服操作菜单显示和控制

        openSpecModal_flash_normal: 0,
        keyword: '', //门店搜索
        sec_i: -1,//选中分类门店 下标

        nav_frontColor: "#ffffff",
        nav_backgroundColor: "#ffffff",
        nav_type: 2,  //导航类型
        istop: 0, //是否置顶风格为1
        searchbox_transparent: 1,
    },

    //------初始化加载----------
    onLoad:async function (t) {
        self = this;


        t.prom_type=2;
        this.data.options=t;

        var ee = this,
            that = ee,
            th = ee,
            gid = t.goods_id,
            first_leader = t.first_leader,
            prom_type = 2,
            prom_id = t.prom_id,
            room_id = t.room_id,
            room_user_share = t.room_user_share; //如果是会员分享带有room_id的话，那么接下来会员分享就不传room_id

        var share_openid = t.share_openid;

        //检查测肤
        getApp().check_skin_face(t, 1, gid);

        //---获取手机地址坐标--
        //--如果tg_id是空的话，分享回来--
        if (gid == undefined || gid == null || gid == "") {
            var gid_str = decodeURIComponent(t.scene);
            gid_str = gid_str.split("_");
            gid = gid_str[0];
            this.data.options.goods_id=gid;
            if (gid_str.length > 1 && gid_str[1] && parseInt(gid_str[1]) > 0) {
                first_leader = gid_str[1];
            }
            //-- 如果有room_id的获取 --
            if (gid_str.length > 2 && gid_str[2] && parseInt(gid_str[2]) > 0) {
                room_id = gid_str[2];
                room_user_share = 1;
            }

            if (gid_str.length > 3 && gid_str[3] && parseInt(gid_str[3]) > 0) {
                this.data.options.prom_id = gid_str[3];
            }

        }

        //-- 设置顶部高度 --
        let height = getApp().globalData.navBarHeight;
        ee.setData({gid: gid, top_nav: height});

        if (first_leader > 0) {
            getApp().globalData.first_leader = first_leader;
            //调用接口判断是不是会员
            getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
                if (res.data.code == 0) {
                    getApp().globalData.guide_id = res.data.data.id;
                    getApp().globalData.guide_pick_id = res.data.data.pickup_id
                }
            })
        }

        //-- 如果有房间号 --
        if (room_id) {
            getApp().globalData.room_id = room_id;
            getApp().globalData.room_goods_id = gid;
            //如果是会员分享过来的要记录
            if (room_user_share)
                getApp().globalData.room_user_share = room_user_share;

            if (share_openid) {
                this.get_room_share_guide(share_openid);
            }
        }


        var c_guide_id = t.c_guide_id;
        if (c_guide_id) {
            th.data.c_guide_id = c_guide_id;
        }

        getApp().getConfig(function (e) {
            ee.setData({sto_sele_name_1: e.store_name})
        })

        var is_chat=0;
        await getApp().request.promiseGet("/api/weshop/recharge/storageRechargeDetail/get/"+os.stoid, {

        }).then(res => {
            if(res && res.data.code==0 && res.data.data){
              is_chat=1;
            }
        })

        //----获取系统参数-----
        getApp().getConfig2(function (e) {
            ee.setData({
                bconfig: e,
                sales_rules: e.sales_rules,
            });

            if (e.categoryset.indexOf("," + 1 + ",") != -1) {
                ee.setData({
                    is_show_pl: 1
                });
            }
            if (e.categoryset.indexOf("," + 3 + ",") != -1) {
                ee.setData({
                    is_show_pp: 1
                });
            }
            if (e.categoryset.indexOf("," + 2 + ",") != -1) {
                ee.setData({
                    is_show_gb: 1
                });
            }
            // console.log(e);
            var json_d = JSON.parse(e.switch_list);
            //如果商家未开通在线客服的话
            if(json_d && json_d.weapp_customertype==3 && !is_chat){
              json_d.weapp_customertype=0
            }
            ee.setData({
                store_config: e,
                sys_switch: json_d,
                is_closecoupon: json_d.is_closecoupon,
                is_newsales_rules: json_d.is_newsales_rules
            });
            ee.init(gid);

            //------几人评价-------
            //n.init(th, "", "comments");
            wx.pageScrollTo && th.setData({
                supportPageScroll: !0
            });

        }, 1);

        //获取用户设备信息，屏幕宽度
        wx.getSystemInfo({
            success: res => {
                that.setData({
                    screenWidth: res.screenWidth
                })
            }
        });

        //-- 自定义海报 --
        getApp().request.promiseGet("/api/weshop/goods/poster/page", {
            data: {store_id: os.stoid, type: 1, is_use: 1}
        }).then(res => {
            if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]) {

                var poster_data = res.data.data.pageData[0];
                var json_str = poster_data.jsonStr;

                if (json_str) {
                    var json_data = JSON.parse(json_str);
                    if (json_data.bg_img) {

                        //-- 把图片那到本地 --
                        wx.getImageInfo({
                            src: json_data.bg_img,
                            success: function (res) {
                                var path = res.path;
                                th.setData({share_b_img: path})
                            },
                            fail: function (res) {
                            }
                        });
                    }
                    th.setData({poster: json_data})

                }
            }
        })


    },

    //-- 获取直播的分享人的导购信息 --
    async get_room_share_guide(share_openid) {

        var url = "/api/weshop/users/page";
        var first_leader = 0;

        //调用接口判断是不是会员
        await getApp().request.promiseGet(url, {
            data: {
                stoid: os.stoid,
                weapp_openid: share_openid
            }
        }).then(res => {
            if (ut.ajax_ok(res)) {
                first_leader = res.data.data.pageData[0].user_id;
                getApp().globalData.guide_id = res.data.data.id;
            }
        })

        if (!first_leader) return false;

        getApp().globalData.first_leader = first_leader;

        //调用接口判断是不是会员
        await getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
            if (res.data.code == 0) {
                getApp().globalData.guide_id = res.data.data.id;
                getApp().globalData.guide_pick_id = res.data.data.pickup_id
            }
        })

    },


    onReady() {
        // 用于控制保障服务折叠图标的显示
        setTimeout(() => {
            wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
                if (res.length != 0) {
                    this.setData({
                        showFold: res[0].height < res[1].height,
                    });
                }
            }).exec();
        }, 1000);

    },


    //------------程序初始化入口-------------
    async init(gid) {
        var ee = this,
            th = ee,
            gallery = null,
            is_collect = 0,
            collect_id = 0,
            categories3 = ee.data.categories3,
            fir_com = null,
            fir_quan = null,
            mapurl = null,
            mapurl_f_img = null;


        //------是否收藏----------
        await getApp().request.promiseGet("/api/weshop/goodscollect/page", {
            data: {
                store_id: os.stoid,
                goods_id: gid,
                user_id: oo.user_id,
            }
        }).then(res => {
            var t = res;
            var data = t.data.data.pageData;
            if (data && data.length > 0) {
                //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, });
                is_collect = 1;
                collect_id = data[0].collect_id;
            }
        })

        //------获取评价的统计数量----
        await getApp().request.promiseGet("/api/weshop/serviceComment/countlist/", {
            data: {
                store_id: os.stoid,
                service_id: gid
            },
        }).then(res => {
            console.log('get评价统计数量', res.data.data);
            var t = res;
            var g = t.data.data[0];
            if (g != null && g != undefined) {
                var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5;
                var num2 = g.c4 + g.c5;
                var num3 = g.c3;
                var num4 = g.c0 + g.c1 + g.c2;

                var dd = ee.data.categories3;
                dd[0].num = allnum;
                dd[1].num = g.cimg;
                dd[2].num = num2;
                dd[3].num = num3;
                dd[4].num = num4;

                categories3 = dd;
            }
        });

        //----获取详情页的评价----
        await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", {
            data: {
                store_id: os.stoid,
                service_id: gid,
                pageSize: 3,
                parent_id: 0,
                page: 1,
                is_show: 1,
            },
        }).then(res => {
            console.log('get详情页评价', res.data.data);
            fir_com = res.data.data.pageData;
        });

        if (fir_com) {
            for (var ind in fir_com) {
                if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png";
                if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img);
                if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img);
            }
        }
        ;


        //this.getHistoryBuy(); //获取历史购买
        ee.setData({
            is_collect: is_collect,
            collect_id: collect_id,
            categories3: categories3,
            fir_quan: fir_quan,
            fir_comments: fir_com,
            // cardComments: fir_com,
        });

    },

    //检测有没有导购分享的门店
    check_guide(func) {
        var first_leader = getApp().globalData.first_leader;
        if (!first_leader) {
            func();
            return false;
        }
        if (this.data.is_geted_guide_pick) {
            func();
            return false;
        }

        if (getApp().globalData.guide_pick_id) {
            func();
            return false;
        }
        var th = this;
        getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
            if (res.data.code == 0) {
                getApp().globalData.guide_pick_id = res.data.data.pickup_id;
            }
            th.data.is_geted_guide_pick = 1;
            func();
        })
    },

    //---展示---
    // gid 在onload阶段已经保存在this.data中
    onShow: function () {

        getApp().check_can_share(this);
        //-- 看一下隐私政策要不要显示 --
        var privacy_pop = this.selectComponent("#privacy_pop"); //组件的id
        if (privacy_pop) {
            privacy_pop.check_pri_show();
        }

        var that = this;
        var th = this;
        var ee = this, gid = this.data.gid, i = getApp().request;

        th.data.is_timer = 1;
        //获取用户的默认门店
        th.check_guide(() => {
            getApp().get_user_store(function (e) {
                if (!e) {
                    th.data.fir_def_store = {}; //赋值空对象
                    return false;
                }

                if (getApp().globalData.is_dj_pk) th.setData({has_def: 1})

                var ee = JSON.parse(JSON.stringify(e));
                console.log(e);

                //--定时器推迟一下--
                var appd = getApp().globalData;
                var w_time = setInterval(function () {
                    if (that.data.is_get_local_ok == 0) return false;
                    if (!th.data.data) {
                        return false;
                    }
                    var ser_card = th.data.data;
                    //--如果默认门店不在等级卡的默认们店以内
                    if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(ee.keyid) == -1) {
                        ee.is_no_dis = 1;
                    }


                    clearInterval(w_time);
                    var distance = null;
                    var e = JSON.parse(JSON.stringify(ee));

                    //如果有开启近距离的话,同时距离优不一样了
                    if (that.data.lat != null) {
                        //如果经纬度有变化的话
                        if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
                            that.data.fir_def_store = e;
                            that.setData({
                                def_pick_store: e,
                                sto_sele_name: e.pickup_name,
                                sto_sele_id: e.pickup_id,
                                sto_sele_distr: e.distr_type,
                                sto_sele_keyid: e.keyid,
                            })
                        } else {
                            //要用接口是获取距离，js的计算不准
                            getApp().request.promiseGet("/api/weshop/pickup/list", {
                                data: {
                                    store_id: os.stoid,
                                    pickup_id: e.pickup_id,
                                    lat: th.data.lat,
                                    lon: th.data.lon,
                                    is_pos: 1
                                },
                            }).then(res => {
                                if (ut.ajax_ok(res)) {
                                    e = res.data.data.pageData[0];
                                    if (e) {
                                        e.is_no_dis = ee.is_no_dis;
                                        appd.pk_store = e;
                                        that.data.fir_def_store = e;

                                        console.log('get_user_store--2');
                                        console.log(e);

                                        that.setData({
                                            def_pick_store: e,
                                            sto_sele_name: e.pickup_name,
                                            sto_sele_id: e.pickup_id,
                                            sto_sele_distr: e.distr_type,
                                            sto_sele_keyid: e.keyid,
                                        })
                                    }

                                }
                            })
                        }

                        //e.distance = distance;
                        appd.lat = that.data.lat;
                        appd.lon = that.data.lon;

                    } else {
                        if (e) {

                            console.log('get_user_store3---');
                            console.log(e);

                            e.distance = null;
                            that.data.fir_def_store = e;
                            that.setData({
                                def_pick_store: e,
                                sto_sele_name: e.pickup_name,
                                sto_sele_id: e.pickup_id,
                                sto_sele_distr: e.distr_type,
                                sto_sele_keyid: e.keyid,
                            })
                        }
                    }
                }, 200)


            });
        })

        th.wait_for_store_config();

        i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, {
            failRollback: !0,
            success: function (t) {
                if (t.data.code == 0) {
                    // console.log('GET pic and video');
                    if (t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_url) {
                        that.setData({
                            mapurl: t.data.data.listServiceVideos[0].video_url,
                        });
                    }

                    if (t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_img) {
                        that.setData({
                            mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
                        });
                    }

                    if (t.data.data.listServiceImages) {
                        that.setData({
                            gallery: t.data.data.listServiceImages,
                        });
                    }

                    if (t.data.data.listServiceItem) {
                        that.setData({
                            listServiceItem: t.data.data.listServiceItem,
                        });
                    }

                    that.setData({
                        'data.goods_name': t.data.data.serviceName,
                        'data.shop_price': t.data.data.money,
                        'data.show_price': t.data.data.show_price,
                        'data.validDays': t.data.data.validDays,
                        'data.serviceContent': t.data.data.serviceContent,
                        'data.image_url': t.data.data.imgUrl,
                        'data.goods_id': t.data.data.id,
                        'data.id': t.data.data.id,
                        'data.sales_sum': t.data.data.sales_sum,
                        'data.storageId': t.data.data.storageId,
                        'data.service_sn': t.data.data.serviceSn,
                        'data.listServiceVideos': t.data.data.listServiceVideos,
                        // gallery: t.data.data.listServiceImages,
                        // mapurl: t.data.data.listServiceVideos[0].video_url,
                        // mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
                        //listServiceItem: t.data.data.listServiceItem,
                    });

                    that.getTaohe();
                    // ----> 秒杀
                    let prom_type = th.data.options.prom_type;

                    let goods_id = th.data.options.goods_id;
                    if (!goods_id) goods_id = th.data.data.goods_id;

                    let prom_id = th.data.options.prom_id;
                    // 检查活动是否开始
                    th.check_prom(goods_id, prom_type, prom_id);


                    getApp().deal_iframe(a, e, 'content', t.data.data.serviceContent, ee);

                    //获取重表
                    getApp().promiseGet("/api/weshop/serviceItem/list", {
                        data: {store_id: o.stoid, service_id: t.data.data.id}
                    }).then(res => {
                        if (res.data.code == 0) {
                            var list = res.data.data;
                            that.setData({service_list: list})
                        }
                    })

                } else {
                    wx.showModal({
                        title: t.data.msg,
                        showCancel: !1,
                        complete: function () {
                            wx.navigateBack();
                        }
                    });
                }
                ;
            }
        });

        th.data.enterAddressPage && (this.data.enterAddressPage = !1);
        //没有互动，就调用默认的门店
        if (!th.data.prom_type) th.get_sto();



    },

    enterAddress: function () {
        this.data.enterAddressPage = !0, wx.navigateTo({
            url: "/packageF/pages/user/address_list/address_list?operate=selectAddress"
        });
    },

    onUnload: function () {
        // for(var i = 1; i < 100; i++) {
        //   clearInterval(i);
        // }
    },

    onHide: function () {
        this.data.is_timer = 0;
        // for(var i = 1; i < 100; i++) {
        //   clearInterval(i);
        // }
    },
    //----------三个选项按钮-----------
    tabClick: function (t) {
        var e = t.currentTarget.id;
        this.setData({
            activeCategoryId: e
        }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment();
    },

    tabClick3: function (t) {
        var e = this;
        if (t.currentTarget.id != this.data.activeCategoryId3) {
            e.data.c_curr_p = 1;
            this.setData({
                activeCategoryId3: t.currentTarget.id,
                comments: null, comments_no_more: 0, get_c: 0,
            });
            this.requestComments_new();
        }
    },

    tabComment: function () {
        this.setData({
            activeCategoryId: 2, comments_no_more: 0, get_c: 0
        }), this.data.comments || this.requestComments_new();
    },

    //商品详情的时候调用
    tabGoodsContent: function () {
        var th = this,
            i = getApp().request;
        this.setData({
            activeCategoryId: 1
        });
    },


    //------------加入购物车--------------
    addCart: async function (t) {
        var th = this;
        var ind = t.currentTarget.dataset.openSpecModal_ind;
        var action = t.currentTarget.dataset.action;


        if (getApp().is_sp_hao() && action == 'add') {
            wx.showToast({
                title: "视频号商品不允许加入购物车",
                icon: 'none',
                duration: 2000
            });
            return false;
        }


        if (this.data.goodsInputNum == 0) {
            getApp().my_warnning('请输入购买数量', 1, th, 450);
            return false;
        }


        if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind;

        th.setData({
            open_ind_store: ind
        });

        if (!th.data.sto_sele_name) {
            getApp().my_warnning('请选择门店', 1, th, 450);
            return false;
        }

        // 库存
        var redisNums = 0;
        // 限购数
        var limitNum = 0;
        // 已购买数量
        var boughtNum = 0;
        var is_ok = 1;

        if(this.data.prom_type == 2) {

            // 获取redis当前可以购买的数量
            // 如果数量为0，设置和显示已抢光
            // 否则，进一步判断是否超出限购或超出库存
            await this.getactLen().then(async function (res) {
                redisNums = res;
                let curNum = th.data.goodsInputNum;
                // res: redis可购买数量
                console.log('当前可以购买的数量:', res);
                if (res <= 0) {
                    // 可购买数量<=0, 设置和显示已抢光
                    th.setData({
                        prom_r_null: 1,
                    });
                    getApp().my_warnning('超出活动库存', 0, self);
                    is_ok = 0;
                    return false;
                } else {

                    if (curNum > redisNums) {
                        getApp().my_warnning('超出活动库存', 0, self);
                        is_ok = 0;
                        return false;
                    }
                    // 可购买数量>0
                    // 计算自己还可以购买的数量
                    // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b
                    // 如果限购数量a>redis可购买数量d，当增加数量t>d, 提示超出库存
                    // 如果限购数量a<=redis可购买数量d, 当增加数量t>a，提示超出限购
                    let actInfo = th.data.sele_g;
                    if (actInfo.buy_limit > 0) {
                        await th.get_buy_num2().then(function (data) {
                            let limited = actInfo.buy_limit; // 限购数量a
                            let promcardbuynum = data.data.data.promcardbuynum;
                            let canBuyNum = limited - promcardbuynum; // 自己还可购买的数量c

                            limitNum = limited;
                            boughtNum = promcardbuynum;

                            if (canBuyNum <= 0) {
                                canBuyNum = 0;
                            }

                            if (curNum > canBuyNum) {
                                getApp().my_warnning('超出限购数量', 0, self);
                                th.setData({
                                    goodsInputNum: canBuyNum || 1,
                                });
                                is_ok = 0;
                                return false;
                            }
                        })
                    }
                }
            })
        }

        if (!is_ok) return false;


        if (action == "buy") {
            //--------------此时操作的数据------------
            var newd = {
                id: th.data.data.id,
                goods_num: th.data.goodsInputNum,
                pick_id: th.data.sto_sele_id,
                keyid: th.data.sto_sele_keyid,
            };
            newd['pick_name'] = th.data.sto_sele_name;
            newd['guide_id'] = getApp().globalData.guide_id;
            newd['guide_type'] = 0;

            if (getApp().globalData.groupchat_id) {
                newd['groupchat_id'] = getApp().globalData.groupchat_id;
            }
            if (this.data.prom_type) {
                newd['prom_type'] = this.data.prom_type;
                newd['prom_id'] = this.data.prom_id;
                newd['prom_price'] = this.data.prom_price;
            }
            th.buyNow(newd);
        } else {

            var newd = {
                service_id: th.data.data.id,
                service_sn: th.data.data.service_sn,
                service_name: th.data.data.goods_name,
                goods_num: th.data.goodsInputNum,
                pick_id: th.data.sto_sele_id,
                user_id: oo.user_id,
                store_id: os.stoid,
                money: th.data.data.shop_price,
            };
            if (getApp().globalData.guide_id) {
                newd['guide_id'] = getApp().globalData.guide_id;
                newd['guide_type'] = 0;
            }

            if (getApp().globalData.groupchat_id) {
                newd['groupchat_id'] = getApp().globalData.groupchat_id;
            }
            // 秒杀：单独购买的情况下，加入购物车显示的是零售价，否则显示秒杀活动价
            newd['prom_type'] = th.data.options.prom_type;
            newd['prom_id'] = th.data.options.prom_id;
            newd['money'] = th.data.prom_price;

            //----先看会员在购物车中是否加入了该商品-----
            getApp().request.get("/api/weshop/cartService/page", {
                data: {
                        store_id: os.stoid,
                        user_id: oo.user_id,
                        service_id: th.data.data.id,
                        pick_id: th.data.sto_sele_id
                },
                success: function (re) {
                    //-------如果购物车中有相关的数据---------
                    if (ut.ajax_ok(re)) {
                        var item = re.data.data.pageData[0];
                        // 多门店问题
                        var cartGoodsNum = 0;
                        const tmpObj = re.data.data.pageData;
                        for (let i = 0; i < tmpObj.length; i++) {
                            if (tmpObj[i].prom_id == th.data.prom_id && tmpObj[i].prom_type==2) {
                                cartGoodsNum += parseInt(tmpObj[i].goods_num);
                            }
                        }
                        // 以下为当前门店同类商品已经加入到购物车
                        var totalNum = th.data.goodsInputNum + cartGoodsNum
                        var snum = limitNum - boughtNum-totalNum;
                        if (snum < 0 && limitNum>0 ) {
                            getApp().my_warnning('购物车已经购买了该商品，超出活动限购数量', 0, self);
                            return false;
                        }
                        if (totalNum >= redisNums) {
                            getApp().my_warnning('购物车已经购买了该商品，超出活动数量', 0, self);
                            return false;
                        }
                        var updata = {
                            id: item.id,
                            goods_num: totalNum,
                            money: th.data.data.shop_price,
                            store_id: os.stoid,
                        };
                        updata['money'] = th.data.prom_price;

                        if (getApp().globalData.guide_id) {
                            updata['guide_id'] = getApp().globalData.guide_id;
                            updata['guide_type'] = 1;
                        }
                        if (getApp().globalData.groupchat_id) {
                            updata['groupchat_id'] = getApp().globalData.groupchat_id;
                        }
                        getApp().request.put("/api/weshop/cartService/update", {
                            data: updata,
                            success: function (t) {
                                getApp().my_warnning('加入购物车成功', 1, th, 450);
                                var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
                                th.setData({
                                    cartGoodsNum: c_num
                                });
                                th.closeSpecModal();
                            }
                        });
                    } else {
                        getApp().request.post("/api/weshop/cartService/save", {
                            data: newd,
                            success: function (t) {
                                getApp().my_warnning('加入购物车成功', 1, th, 450);
                                var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
                                th.setData({
                                    cartGoodsNum: c_num
                                });
                                th.closeSpecModal();
                            }
                        });
                    }
                }
            });

        }


    },

    //----------立即购买-----------
    buyNow: function (e) {
        getApp().globalData.service_now = e;
        wx.redirectTo({
            url: "/packageA/pages/cart2_ser/cart2_ser",
        });
    },
    //----------增加购买数量-----------
    addCartNum: function (t) {
        this.checkCartNum(this.data.goodsInputNum + 1);
    },
    //----------减少购买数量-----------
    subCartNum: function (t) {
        this.checkCartNum(this.data.goodsInputNum - 1);
    },
    //----------输入框输入购买数量-----------
    inputCartNum: function (t) {
        this.checkCartNum(Number(t.detail.value));
    },

    //------检查数量是不是超出限购------
    checkCartNum: async function (t) {
        var th = this;

        if (!th.data.def_pick_store) {
            wx.showModal({title: '请选择门店',});
            return false;
        }
        // 非秒杀活动
        if (this.data.prom_type != 1) {
            this.setData({
                goodsInputNum: t,
            });
        }

        //团购活动
        // 获取redis当前可以购买的数量
        // 如果数量为0，设置和显示已抢光
        // 否则，进一步判断是否超出限购或超出库存
        await this.getactLen().then(async function (res) {

            if (t > res) { // t当前增减的数量
                // wx.showModal({
                // 	title: '超出活动库存',
                // });
                getApp().my_warnning('超出活动库存', 0, self);
                th.setData({
                    goodsInputNum: res || 1,
                });
                return false;
            }


            // res: redis可购买数量
            // console.log('当前可以购买的数量:', res);
            if (res <= 0) {
                // 可购买数量<=0, 设置和显示已抢光
                th.setData({
                    prom_r_null: 1,
                });
            } else {
                // 可购买数量>0
                // 计算自己还可以购买的数量
                // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b
                // 如果限购数量a>redis可购买数量d，当增加数量t>d, 提示超出库存
                // 如果限购数量a<=redis可购买数量d, 当增加数量t>a，提示超出限购
                let actInfo = th.data.sele_g;
                await th.get_buy_num2().then(function (data) {
                    let limited = actInfo.buy_limit == 0 ? 100000 : actInfo.buy_limit; // 限购数量a
                    let promcardbuynum = data.data.data.promcardbuynum;
                    let buyedNum = promcardbuynum; // 自己已经购买的数量b
                    let canBuyNum = limited - buyedNum; // 自己还可购买的数量c

                    if (canBuyNum <= 0) {
                        canBuyNum = 0;
                    }

                    if (t > canBuyNum) {
                        // wx.showModal({
                        // 	title: '超出限购数量',
                        // });
                        getApp().my_warnning('超出限购数量', 0, self);
                        th.setData({
                            goodsInputNum: canBuyNum || 1,
                        });
                        return false;
                    }


                    th.setData({
                        goodsInputNum: t,
                    });
                });
            }

        })




    },


    closeSpecModal: function () {
        this.setData({
            openSpecModal: !1,
            openSpecModal_pt: !1,
            openSpecModal_flash_normal: !1,
        });
    },

    openSpecModel: function (t) {

        if (this.data.get_sto_ing) return false;

        var th = this;
        var open_store = t.currentTarget.dataset.ind;
        if (getApp().is_sp_hao() && open_store == 1) {
            wx.showToast({
                title: "视频号商品不允许加入购物车",
                icon: 'none',
                duration: 2000
            });
            return false;
        }


        //--先判断会员状态--
        var user_info = getApp().globalData.userInfo;
        if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
            wx.navigateTo({
                url: '/packageE/pages/togoin/togoin',
            })
            return false;
        }

        this.setData({
            store: 0,
            choice_sort_store: 0,
            sort_store: 0,
            open_ind_store: open_store,
        })


        var ind = t.currentTarget.dataset.ind;
        this.setData({
            openSpecModal: !0,
            openSpecModal_ind: ind,
        });

    },

    //---------点击收藏和不收藏------------
    collectGoods: function () {
        var t = this, i = getApp().request;
        var user_id = s.globalData.user_id;
        if (user_id == '') {
            getApp().getUserFir(function () {
            });
            getApp().showWarning("未登录");
            return false;
        } else {

            if (t.data.is_collect_load) return false;
            t.data.is_collect_load = 1;

            if (t.data.is_collect == 1) { //删除收藏
                i.delete("/api/weshop/goodscollect/del/" + o.stoid + "/" + t.data.collect_id, {
                    success: function (e) {
                        t.data.is_collect_load = 0;
                        if (e.data.code == 0) {
                            t.setData({
                                is_collect: 0,
                                collect_id: 0,
                            });
                            ut.m_toast('取消成功');
                        }
                    }
                });
            } else {
                var timestamp = Date.parse(new Date());
                timestamp = timestamp / 1000;
                var d = {
                    goods_id: t.data.data.goods_id,
                    user_id: s.globalData.user_id,
                    store_id: o.stoid,
                    add_time: timestamp,
                    type: 1,
                };
                //加入收藏夹就是导购的ID
                if (getApp().globalData.guide_id) {
                    d.guide_id = getApp().globalData.guide_id;
                    d.guide_type = 2;
                }
                if (getApp().globalData.groupchat_id) {
                    d.groupchat_id = getApp().globalData.groupchat_id;
                }
                i.post("/api/weshop/goodscollect/save", { //添加收藏
                    data: d,
                    success: function (e) {
                        t.data.is_collect_load = 0;
                        if (e.data.code == 0) {
                            t.setData({
                                is_collect: 1,
                                collect_id: e.data.data.collect_id,
                            });
                            ut.m_toast('收藏成功 在【我的-收藏夹】中查看');
                        }
                    }
                });
            }
        }
    },
    //---------联系客服------------
    contactService: function () {
        this.getTel()
            .then(() => {
                if (self.data.store_tel) {
                    wx.showModal({
                        title: '联系客服',
                        content: '客服热线:' + self.data.store_tel,
                        confirmText: '拨打',
                        success(res) {
                            if (res.confirm) {
                                wx.makePhoneCall({
                                    phoneNumber: self.data.store_tel,
                                })
                            }
                            ;
                        },
                    });
                }
                ;
            });
    },
    // 获取客服电话
    getTel() {
        return new Promise((resolve, reject) => {
            s.getConfig(function (t) {
                if (t.store_tel == undefined) {
                    getApp().request.get("/api/weshop/store/get/" + os.stoid, {
                        isShowLoading: 1,
                        data: {},
                        success: function (rs) {
                            getApp().globalData.config = rs.data.data;
                            if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
                                getApp().my_warnning("商家未设置电话", 0, th);
                                return false;
                            }
                            self.setData({
                                store_tel: rs.data.data.store_tel,
                            });
                            // s.confirmBox("请联系客服：" + rs.data.data.store_tel);
                        }
                    })
                } else {
                    self.setData({
                        store_tel: t.store_tel,
                    });
                    // s.confirmBox("请联系客服：" + t.store_tel);
                }
                ;
                resolve();
            });
        });
    },
    //-------获取购物车数量----------
    requestCardNum: function () {
        var t = this;
        getApp().request.get("/api/weshop/cart/page", {
            data: {
                store_id: o.stoid,
                user_id: s.globalData.user_id,
                state: 0,
                is_gift: 0
            },
            success: function (e) {
                var num = 0;
                for (var i = 0; i < e.data.data.pageData.length; i++) {
                    num += e.data.data.pageData[i].goods_num;
                }

                //-- 读取服务卡的数量 --
                getApp().promiseGet("/api/weshop/cartService/page", {
                    data: {
                        store_id: s.globalData.setting.stoid,
                        user_id: s.globalData.user_id,
                    }
                }).then(res => {
                    for (var i = 0; i < res.data.data.pageData.length; i++) {
                        num += res.data.data.pageData[i].goods_num;
                    }
                    t.setData({cartGoodsNum: num});
                })


            }
        });
    },

    //--点击分享事件---
    onShareAppMessage: function (t) {

        var th = this;
        var price = th.data.data.shop_price;
        if (th.data.prom_act) {
            price = th.data.prom_act.price;

        }
        var title = th.data.data.goods_name;
        var img = th.data.iurl + th.data.data.image_url;
        if (th.data.prom_type == 6) {
            title = th.data.prom_act.share_title;
            img = th.data.iurl + th.data.prom_act.share_imgurl;
        }


        var url = "/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id=" + th.data.gid+"&prom_id="+th.data.prom_id;
        if (getApp().globalData.user_id) {
            url += "&first_leader=" + getApp().globalData.user_id;
        }

        //-- 如果房间分享，且不是会员分享的 --
        if (getApp().globalData.room_id &&
            th.data.data.goods_id == getApp().globalData.room_goods_id &&
            !getApp().globalData.room_user_share
        ) {
            url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
        }


        var ob = {
            title: price + "元  " + title,
            path: url,
            imageUrl: img,
        };

        // 如果服务卡参加秒杀活动，且后台设置了分享标题和分享图片
        if (th.data.prom_type == 1) {
            if (th.data.sele_g && th.data.sele_g.share_title) {
                title = th.data.sele_g.share_title;
                ob.title = title;
            }
            ;
            if (th.data.sele_g && th.data.sele_g.share_imgurl) {
                img = th.data.iurl + th.data.sele_g.share_imgurl;
                ob.imageUrl = img;
            }
        }

        return ob;

    },

    //-----图片失败，默认图片-----
    bind_bnerr: function (e) {
        var _errImg = e.target.dataset.errorimg;
        var _errObj = {};
        _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif";
        this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
    },

    //-----图片失败，默认图片-----
    bind_bnerr2: function (e) {

        var _errImg = e.target.dataset.errorimg;
        var _errObj = {};
        _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png"
        this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
    },


    //---------拿出门店分类和门店------------
    get_sto(e) {
        var is_normal = e;
        var th = this, that = this;

        if (e == 1) {
            th.setData({
                is_normal: 1
            })
        } else {
            th.setData({
                is_normal: 0
            })
        }

        this.data.get_sto_ing = 1;

        var timer_get = setInterval(function () {
            if (th.data.is_get_local_ok == 0) return false;
            if (!th.data.fir_def_store) return false;
            var i = getApp().request;
            if (!th.data.data) return false;
            var dd = {
                store_id: o.stoid,
                isstop: 0,
                is_pos: 1,
                pageSize: 2000
            }
            //如果有距离的话
            if (th.data.lat != null) {
                dd.lat = th.data.lat;
                dd.lon = th.data.lon;
            }
            clearInterval(timer_get);

            //如果会员是有默认的门店话
            if (!th.data.def_pick_store && th.data.fir_def_store) {
                th.setData({def_pick_store: th.data.fir_def_store});
            }

            wx.showLoading({
                title: '加载中.'
            });
            //----------获取门店----------------
            getApp().request.promiseGet("/api/weshop/pickup/list", {
                data: dd,
            }).then(res => {
                var e = res;
                if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {

                    var his_cate_num = 0;
                    for (let i in e.data.data.pageData) {
                        let item = e.data.data.pageData[i];
                        if (item.category_id > 0) {
                            his_cate_num = 1;
                            break;
                        }
                    }
                    e.his_cate_num = his_cate_num;

                    //--普通门店排版,服务卡项有指定门店才能使用，所以要筛选一下--
                    setTimeout(function () {
                        var sto_list = th.data.data.storageId;
                        if (sto_list) {
                            for (var k = 0; k < e.data.data.pageData.length; k++) {
                                var it = e.data.data.pageData[k];
                                if (sto_list.indexOf(it.keyid) == -1) {
                                    //删除
                                    e.data.data.pageData.splice(k--, 1);
                                }
                            }

                        }

                        //如果有秒杀的指定门店
                        if (th.data.prom_type == 2 && th.data.prom_act && th.data.prom_act.pick_up_lists && e.data.data.pageData.length && !is_normal) {
                            var pick_up_lists = th.data.prom_act.pick_up_lists;
                            for (var kq = 0; kq < e.data.data.pageData.length; kq++) {
                                var it0 = e.data.data.pageData[kq];
                                var idx0 = pick_up_lists.findIndex(function (e) {
                                    return e.pickup_id == it0.pickup_id;
                                })
                                if (idx0 < 0) {
                                    //删除
                                    e.data.data.pageData.splice(kq--, 1);
                                }
                            }

                            if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
                                //-- 查找一下门店有没有在 --
                                var idx1 = pick_up_lists.findIndex(function (e) {
                                    return e.pickup_id == th.data.def_pick_store.pickup_id;
                                })
                                if (idx1 < 0) {
                                    //如果是秒杀的指定门店，就要设置秒杀的
                                    th.data.def_pick_store.is_no_dis_act = 1;
                                    that.setData({
                                        def_pick_store: th.data.def_pick_store
                                    })
                                }
                            }

                        }

                        //-- 如果门店过滤后，还会是数量 --
                        if (e.data.data.pageData.length) {
                            //如果有开启距离的功能，没有设置默认门店，要用最近的门店作为默认门店
                            if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
                                th.setData({
                                    def_pick_store: e.data.data.pageData[0],
                                    sto_sele_name: e.data.data.pageData[0].pickup_name,
                                    sto_sele_id: e.data.data.pageData[0].pickup_id,
                                    sto_sele_distr: e.data.data.pageData[0].distr_type,
                                    sto_sele_keyid: e.data.data.pageData[0].keyid,
                                });
                                th.data.fir_def_store = e.data.data.pageData[0];
                            }

                            //-- 如果有默认选择门店的时候，要把默认门店放在第一位，修改不要配送方式的判断 --
                            if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
                                for (var k = 0; k < e.data.data.pageData.length; k++) {
                                    if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
                                        e.data.data.pageData.splice(k, 1); //删除
                                        break;
                                    }
                                }
                                e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
                            }

                            th.setData({all_pick_list: e.data.data.pageData, isshow: 1});
                            th.deal_pickup(e);
                        } else {
                            th.data.get_sto_ing = 0;
                            th.setData({
                                isshow: 1
                            })
                            wx.hideLoading();
                        }


                    }, 800)

                }
            })
        }, 200)
    },
    //获取搜索门店输入的值
    input_store: function (e) {
        this.setData({
            keyword: e.detail.value
        })
    },
    //搜索门店
    searchfn() {
        let choice_sort_store = this.data.choice_sort_store
        if (choice_sort_store == 0) {  //全局搜索
            let all_pick_list = this.data.all_pick_list
            let def_pickpu_list = this.data.def_pickpu_list
            let keyword = this.data.keyword
            if (keyword) {
                let arr = all_pick_list.filter(item => {
                    let i = item.pickup_name.indexOf(keyword)
                    if (i > -1) {
                        return true
                    } else {
                        return false
                    }
                })
                if (arr && arr.length > 0) {
                    if (this.data.is_show_sto_cat == 1) {
                        this.setData({
                            def_pickpu_list: arr
                        })
                    } else {
                        this.setData({
                            only_pk: arr
                        })
                    }
                } else {
                    wx.showToast({
                        title: '没有搜索到门店',
                        icon: 'none',
                        duration: 2000
                    })
                }
            } else {
                if (this.data.is_show_sto_cat == 1) {
                    this.setData({
                        def_pickpu_list: all_pick_list.slice(0, 10)
                    })
                } else {
                    this.setData({
                        only_pk: all_pick_list
                    })
                }

            }
        } else {   //分类下搜索
            let sec_i = this.data.sec_i
            let all_sto = this.data.all_sto
            let old_all_sto = this.data.old_all_sto
            if (!old_all_sto) {
                this.setData({
                    old_all_sto: JSON.parse(JSON.stringify(all_sto))
                })
            }
            let sec_sto = this.data.sec_sto
            let sec_arr = this.data.old_all_sto[sec_i].s_arr
            let keyword = this.data.keyword
            let text = 'sec_sto.s_arr'
            if (keyword) {
                let arr = sec_arr.filter(item => {
                    let i = item.pickup_name.indexOf(keyword)
                    if (i > -1) {
                        return true
                    } else {
                        return false
                    }
                })
                if (arr && arr.length > 0) {
                    this.setData({
                        [text]: arr
                    })
                } else {
                    wx.showToast({
                        title: '没有搜索到门店',
                        icon: 'none',
                        duration: 2000
                    })
                }
            } else {
                if (this.data.old_all_sto) {
                    this.setData({
                        [text]: this.data.old_all_sto[sec_i].s_arr
                    })
                } else {
                    this.setData({
                        [text]: all_sto[sec_i].s_arr
                    })
                }
            }


        }
    },


    //------------处理门店---------------
    deal_pickup(e) {
        var th = this;
        if (!th.data.data) return false
        wx.hideLoading();
        //单总量超出5个的时候
        if (e.data.data.total > 10 && e.his_cate_num) {
            getApp().request.get("/api/weshop/storagecategory/page", {
                data: {
                    store_id: o.stoid,
                    pageSize: 1000,
                    orderField: "sort",
                    orderType: 'asc',
                },
                success: function (ee) {
                    if (ee.data.code == 0) {

                        var check_all_cate = 0;
                        if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
                            for (let i in ee.data.data.pageData) {
                                let item = ee.data.data.pageData[i];
                                if (item.is_show == 1) {
                                    check_all_cate = 1;
                                    break
                                }
                            }
                        }

                        if (check_all_cate) {


                            var sto_cate = ee.data.data.pageData;
                            var sto_arr = e.data.data.pageData;
                            var newarr = new Array();
                            var qita = new Array();

                            var is_del_pk = 0;

                            //----要进行门店分组--------
                            for (var i = 0; i < sto_arr.length; i++) {
                                //找一下这个门店有没有在分类数组内
                                var find2 = 0, find2name = "", sort = 0;
                                is_del_pk = 0;
                                for (var m = 0; m < sto_cate.length; m++) {
                                    if (sto_arr[i].category_id == sto_cate[m].cat_id) {
                                        if (sto_cate[m].is_show != 1) {
                                            is_del_pk = 1;
                                            sto_arr.splice(i, 1);
                                            i--;
                                        } else {
                                            find2 = sto_cate[m].cat_id;
                                            find2name = sto_cate[m].cat_name;
                                            sort = sto_cate[m].sort;
                                            is_del_pk = 0;
                                        }
                                        break;
                                    }
                                }
                                if (is_del_pk) continue;

                                if (newarr.length > 0) {
                                    var find = 0;
                                    //如果有找到，那门店就在这个分组内，否则，分类就要排在其他
                                    if (find2 != 0) {
                                        for (var ii = 0; ii < newarr.length; ii++) {
                                            if (sto_arr[i].category_id == newarr[ii].cat_id) {
                                                newarr[ii].s_arr.push(sto_arr[i]);
                                                find = 1;
                                                break;
                                            }
                                        }
                                        if (find == 0) {
                                            var arr0 = new Array();
                                            arr0.push(sto_arr[i]);
                                            var item = {
                                                cat_id: find2,
                                                name: find2name,
                                                sort: sort,
                                                s_arr: arr0
                                            };
                                            newarr.push(item);
                                        }
                                    } else {
                                        qita.push(sto_arr[i]);
                                    }
                                } else {
                                    //如果有找到，那门店就在这个分组内，否则，分类就要排在其他
                                    if (find2 != 0) {
                                        var arr0 = new Array();
                                        arr0.push(sto_arr[i]);
                                        var item = {
                                            cat_id: find2,
                                            name: find2name,
                                            sort: sort,
                                            s_arr: arr0
                                        };
                                        newarr.push(item);
                                    } else {
                                        qita.push(sto_arr[i]);
                                    }
                                }
                            }

                            var def_arr = new Array();
                            //-- 开始就看10个门店 --
                            for (var k = 0; k < 10; k++) {
                                if (k == sto_arr.length) break;
                                def_arr.push(sto_arr[k]);
                            }

                            th.setData({
                                def_pickpu_list: def_arr,
                                pickpu_list: ee.data.data.pageData
                            });

                            //门店分类要排序下
                            function compare(property) {
                                return function (a, b) {
                                    var value1 = a[property];
                                    var value2 = b[property];
                                    return value1 - value2;
                                }
                            }

                            if (newarr.length > 0)
                                newarr.sort(compare("sort"));

                            //----安排其他的分类-----
                            if (qita.length > 0) {
                                var item = {
                                    cat_id: -1,
                                    name: "其他",
                                    s_arr: qita
                                };
                                newarr.push(item);
                            }

                            var sd = {
                                all_sto: newarr,
                                is_show_sto_cat: 1
                            }
                            if (!sto_arr || sto_arr.length <= 10) {
                                sd.is_show_sto_cat = -1;
                                sd.only_pk = sto_arr;
                            }
                            th.setData(sd);

                        } else {
                            th.setData({
                                is_show_sto_cat: -1,
                                only_pk: e.data.data.pageData
                            });
                            //-----如果没有默认门店，要取第一个门店作为默认店.此时没有门店分类的情况------
                            if (!th.data.def_pick_store) {
                                th.setData({def_pick_store: e.data.data.pageData[0]})
                            }
                        }
                    } else {
                        th.setData({
                            is_show_sto_cat: -1,
                            only_pk: e.data.data.pageData
                        });
                        //-----如果没有默认门店，要取第一个门店作为默认店.此时没有门店分类的情况------
                        if (!th.data.def_pick_store) {
                            th.setData({def_pick_store: e.data.data.pageData[0]})
                        }
                    }
                    th.data.get_sto_ing = 0;
                }
            });
        } else {
            th.data.get_sto_ing = 0;

            th.setData({
                is_show_sto_cat: 0,
                only_pk: e.data.data.pageData
            });
            //-----如果没有默认门店，要取第一个门店作为默认店------
            if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {

                if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
                    th.setData({
                        def_pick_store: e.data.data.pageData[0],
                        sto_sele_name: e.data.data.pageData[0].pickup_name,
                        sto_sele_id: e.data.data.pageData[0].pickup_id,
                        sto_sele_distr: e.data.data.pageData[0].distr_type,
                        sto_sele_keyid: e.data.data.pageData[0].keyid,
                    })
                }

            }
        }
    },

    //加载更多是靠这个函数
    onReachBottom: function () {
        if (this.data.activeCategoryId == 2) {
            if (!this.data.comments_no_more) this.requestComments_new();
        }

        var goods_list = this.selectComponent("#goods_list"); //组件的id
        if (goods_list) goods_list.get_list();
    },


    //---小于10的格式化函数----
    timeFormat(param) {
        return param < 10 ? '0' + param : param;
    },


    // ----视频图片----
    // 图片计数器
    swiperChange: function (e) {
        var that = this;
        if (e.detail.current > 0) {
            that.setData({
                hiddenn: 1,
                videopicture: 1,
            })
        } else {
            that.setData({
                hiddenn: 0,
                videopicture: 0,
            })
        }
        if (e.detail.source == 'touch') {
            that.setData({
                current: e.detail.current
            })
        }
    },

    /*---视频相关--*/
    videopicture: function (e) {
        var vipi = e.currentTarget.dataset.vipi;
        this.setData({
            videopicture: vipi,
            swiperCurrent: vipi,
            noon: 0,
            current: 1
        });
    },

    videoPlay: function (e) {
        var _index = e.currentTarget.id
        this.setData({
            _index: _index,
            noon: 1
        })

        setTimeout(function () {
            //将点击视频进行播放
            var videoContext = wx.createVideoContext(_index)
            videoContext.play();
        }, 500)
    },

    //--获取头像的本地缓存,回调写法--
    get_head_temp: function (tt, func) {
        var ee = this;
        if (ee.data.share_head) {
            tt(func);
            return false;
        }
        //---获取分享图片的本地地址,头像和商品图片----
        var path2 = getApp().globalData.userInfo ? getApp().globalData.userInfo.head_pic : '';
        if (path2 == "") {
            ee.data.share_head = "../../../../images/share/hui_hear_pic.png";
            tt(func);
        } else {
            path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
            path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
            wx.getImageInfo({
                src: path2,
                success: function (res) {
                    //res.path是网络图片的本地地址
                    ee.data.share_head = res.path;
                    tt(func);
                },
                fail: function (res) {
                    ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
                    tt(func);
                }
            });
        }
    },

    //--获取商品图片的本地缓存，回调写法--
    get_goods_temp: function (tt) {
        var ee = this;
        if (ee.data.share_goods_img) {
            tt();
            return false;
        }

        var img = ee.data.iurl + ee.data.data.image_url;
        if (ee.data.prom_act && ee.data.prom_act.share_img) {
            img = ee.data.iurl + ee.data.prom_act.share_img;
        }

        //获取商品是分享图信息
        wx.getImageInfo({
            src: img,
            success: function (res) {
                //res.path是网络图片的本地地址
                ee.data.share_goods_img = res.path;
                tt();
            },
            fail: function (res) {
                //获取默认空白图
                wx.getImageInfo({
                    src: ee.data.iurl + '/miniapp/images/default_g_img.gif',
                    success: function (res) {
                        ee.data.share_goods_img = res.path; //分享的图片不能用网络的
                        tt();
                    }
                })

            }
        });
    },


    //--跳转到商品详情页面--
    go_goods: function (e) {
        var gid = e.currentTarget.dataset.gid;
        var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid;
        getApp().goto(url);
    },


    pop_err_img: function (e) {
        var txt = e.currentTarget.dataset.errorimg;
        var ob = {};
        ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif";
        this.setData(ob);
    },

    // 选择门店
    choice_store: function (ee) {
        this.setData({
            keyword: ''
        })
        var th = this;
        var ind = ee.currentTarget.dataset.ind;
        var bconfig = th.data.bconfig;

        //--先判断会员状态--
        var user_info = getApp().globalData.userInfo;
        // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
        //     wx.navigateTo({
        //         url: '/packageE/pages/togoin/togoin',
        //     })
        //     return false;
        // }


        //如果开启了，则不在选择门店
        if (this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) {
            return false;
        }
        if (!th.data.only_pk && !th.data.def_pickpu_list) {
            getApp().confirmBox("暂无可售门店", null, 25000, !1);
            return false;
        }

        if (th.data.only_pk && !th.data.only_pk.length) {
            getApp().confirmBox("暂无可售门店", null, 25000, !1);
            return false;
        }
        if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) {
            getApp().confirmBox("暂无可售门店", null, 25000, !1);
            return false;
        }


        if (bconfig && bconfig.is_sort_storage) {
            wx.getLocation({
                type: 'gcj02',
                success: function (res) {

                    th.data.lat = res.latitude;
                    th.data.lon = res.longitude;
                    th.data.is_get_local_ok = 1;
                    th.setData({is_gps: 1});
                    th.get_sto(th.data.is_normal);
                },
                fail: function (res) {

                    th.data.is_get_local_ok = 1;
                    th.get_sto(th.data.is_normal);
                    if (res.errCode == 2) {
                        th.setData({is_gps: 0});
                        if (th.data.is_gps == 0) {
                            getApp().confirmBox("请开启GPS定位", null, 25000, !1);
                        }
                    } else {
                        th.setData({is_gps: "3"});
                    }

                }
            })
        } else {
            th.data.is_get_local_ok = 1;
            th.get_sto(th.data.is_normal);
        }

        if (ind != undefined && ind != null) {
            this.setData({
                open_ind_store: ind,
                store: 1,
                openSpecModal: !1,
                openSpecModal_pt: !1
            })
        } else {
            this.setData({
                store: 1,
                openSpecModal: !1,
                openSpecModal_pt: !1
            })
        }
    },
    //关闭选择门店
    close_popup: function (e) {
        var th = this;
        this.setData({
            store: 0,
            choice_sort_store: 0,
            sort_store: 0,
            fir_pick_index: 0,
            sec_pick_index: 0
        })

        var openindstore = this.data.open_ind_store;
        if (openindstore == 1) {
            th.setData({
                openSpecModal: !0,
                openSpecModal_ind: openindstore,
            });
        } else if (openindstore == 2) {
            th.setData({
                openSpecModal: !0,
                openSpecModal_ind: openindstore,
            });
        } else if (openindstore == 4) { //4就是拼团
            th.setData({
                openSpecModal_pt: 1,      //打开拼团购买界面
                store: 0,                 //关闭门店
                choice_sort_store: 0,     //关闭门店2级
                sort_store: 0,             //关闭门店2级
            });
        } else {
            th.setData({
                store: 0,
                choice_sort_store: 0,
                sort_store: 0
            })
        }
    },

    //选择更多门店
    more_store: function () {
        this.setData({
            sort_store: 1
        });
    },

    sort_store: function () {
    },
    // 返回按钮
    returns: function () {
        this.setData({
            sort_store: 0,
            choice_sort_store: 0
        });
    },
    //---选择分类门店---
    choice_sort_store: function (e) {
        var index = e.currentTarget.dataset.index;
        var region_name = e.currentTarget.dataset.region;
        var item = this.data.all_sto[index];
        this.setData({
            region_name: region_name,
            sort_store: 0,
            choice_sort_store: 1,
            sec_sto: item,
            sec_i: index,
            sec_pick_index: 0
        });
    },

    choose_for_store_fir: function (e) {
        var index_c = e.currentTarget.dataset.ind;
        var th = this;
        th.setData({
            fir_pick_index: index_c
        })

    },

    //确定def_pick为选择的门店
    sure_pick: function (e) {
        var th = this;
        var item = null;
        var openindstore = th.data.open_ind_store;

        if (th.data.choice_sort_store == 0) {
            var index = th.data.fir_pick_index;
            if (th.data.is_show_sto_cat == 1) {
                item = th.data.def_pickpu_list[index];
            } else {
                item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
            }

        } else {
            var index = th.data.sec_pick_index;
            item = th.data.sec_sto.s_arr[index];
        }

        if (!item) return false;


        var ser_card = this.data.data;
        //判断门店的配送方式是不是匹配
        if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(item.keyid) == -1) {
            wx.showToast({
                title: "该门店无此服务项目，请重新选择！",
                icon: 'none',
                duration: 2000
            });
            return false;
        }

        if (!item) return false;

        th.setData({
            def_pick_store: item,
            sto_sele_name: item.pickup_name,
            sto_sele_id: item.pickup_id,
            sto_sele_keyid: item.keyid,
            sto_sele_distr: item.distr_type,
            store: 0,
            choice_sort_store: 0,
            fir_pick_index: 0
        });

        if (openindstore == 1) {
            th.setData({
                openSpecModal: !0,
                openSpecModal_ind: openindstore,
            });
        } else if (openindstore == 2) {
            th.setData({
                openSpecModal: !0,
                openSpecModal_ind: openindstore,
            });
        } else if (openindstore == 4) { //4就是拼团
            th.setData({
                openSpecModal_pt: 1,      //打开拼团购买界面
                store: 0,                 //关闭门店
                choice_sort_store: 0,     //关闭门店2级
                sort_store: 0,             //关闭门店2级
            });
        } else {
            th.setData({
                store: 0,
                choice_sort_store: 0,
                sort_store: 0
            })
        }
    },

    //---点击二级之后的选择---
    choose_for_store: function (e) {
        var index_c = e.currentTarget.dataset.ind;
        var th = this;
        th.setData({
            sec_pick_index: index_c,
            fir_pick_index: index_c
        })

    },
    //把选择的门店设置成默认的门店def_pick
    set_def_pick: function (e) {
        var th = this;
        var item = null;
        if (th.data.choice_sort_store == 0) {
            var index = th.data.fir_pick_index;
            if (th.data.is_show_sto_cat == 1) {
                item = th.data.def_pickpu_list[index];
            } else {
                item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
            }
        } else {
            var index = th.data.sec_pick_index;
            item = th.data.sec_sto.s_arr[index];
        }

        if (!item) return false;

        //判断门店的配送方式是不是匹配
        var ser_card = this.data.data;
        //判断门店的配送方式是不是匹配
        if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(item.keyid) == -1) {
            wx.showToast({
                title: "该门店无此服务项目，请重新选择！",
                icon: 'none',
                duration: 2000
            });
            return false;
        }


        var store_id = o.stoid;
        var user_id = getApp().globalData.user_id;
        var def_pickup_id = item.pickup_id;

        getApp().request.put('/api/weshop/users/update', {
            data: {
                user_id: user_id,
                def_pickup_id: def_pickup_id
            },
            success: function (res) {
                if (res.data.code == 0) {
                    if (th.data.choice_sort_store == 0) th.setData({
                        fir_pick_index: 0
                    });
                    getApp().globalData.pk_store = item;
                } else {
                    //s.showWarning("设置默认门店地址失败", null, 500, !1);
                    getApp().my_warnning("设置默认门店地址失败", 0, th)
                }

            }
        });


        if (!item) return false;

        th.setData({
            def_pick_store: item,
            sto_sele_name: item.pickup_name,
            sto_sele_id: item.pickup_id,
            sto_sele_keyid: item.keyid,
            sto_sele_distr: item.distr_type,
            store: 0,
            choice_sort_store: 0
        });

        var openindstore = th.data.open_ind_store;
        if (openindstore == 1) {
            th.setData({
                openSpecModal: !0,
                openSpecModal_ind: openindstore,
                store: 0,
                choice_sort_store: 0,
                sort_store: 0,
            });
        } else if (openindstore == 2) {
            th.setData({
                openSpecModal: !0,
                openSpecModal_ind: openindstore,
                store: 0,
                choice_sort_store: 0,
                sort_store: 0,
            });
        } else if (openindstore == 4) { //4就是拼团
            th.setData({
                openSpecModal_pt: 1,      //打开拼团购买界面
                store: 0,                 //关闭门店
                choice_sort_store: 0,     //关闭门店2级
                sort_store: 0,             //关闭门店2级
            });
        } else {
            th.setData({
                store: 0,
                choice_sort_store: 0,
                sort_store: 0,
            })
        }

    },

    wait_for_store_config: function () {
        var th = this;
        var t_time = setInterval(function () {
            if (th.data.bconfig == null) false;
            var e = th.data.bconfig;
            if (e && e.is_sort_storage) {
                wx.getLocation({
                    type: 'gcj02',
                    success: function (res) {
                        th.data.lat = res.latitude;
                        th.data.lon = res.longitude;
                        th.data.is_get_local_ok = 1;
                    },
                    fail: function (res) {
                        if (res.errCode == 2) {
                            th.setData({
                                is_gps: 0
                            });
                            if (th.data.is_gps == 0) {
                                getApp().confirmBox("请开启GPS定位", null, 10000, !1);
                            }

                        } else {
                            th.setData({
                                is_gps: "3"
                            });
                        }

                        th.data.is_get_local_ok = 1;
                    }
                })
            } else {
                th.data.is_get_local_ok = 1;
            }
            clearInterval(t_time);
        }, 500)
    },


    //-- 根据ID拿出门店 --
    get_pick_from_list(pid) {
        var all_pick_list = this.data.all_pick_list;
        for (var i in all_pick_list) {
            var item = all_pick_list[i];
            if (item.pickup_id == pid) {
                return item;
            }
        }
    },

    closePoster() {
        this.setData({
            showPoster: false,
        });
    },

    // 保存图片到手机
    savePic() {
        console.log('保存图片');
        var self = this;
        // 获取用户的当前设置，返回值中有小程序已经向用户请求过的权限
        this.getSetting().then((res) => {
            // 判断用户是否授权了保存到相册的权限，如果没有发起授权
            if (!res.authSetting['scope.writePhotosAlbum']) {
                this.authorize().then(() => {
                    // 同意授权后保存下载文件
                    this.saveImage(self.data.shareImgPath)
                        .then(() => {
                            self.setData({
                                showPoster: false
                            });
                        });
                })
            } else {
                // 如果已经授权，保存下载文件
                this.saveImage(self.data.shareImgPath)
                    .then(() => {
                        self.setData({showPoster: false});
                    });
            }

        })
    },

    // 获取用户已经授予了哪些权限
    getSetting() {
        return new Promise((resolve, reject) => {
            wx.getSetting({
                success: res => {
                    resolve(res)
                }
            })
        })
    },

    // 发起首次授权请求
    authorize() {
        // isFirst 用来记录是否为首次发起授权，
        // 如果首次授权拒绝后，isFirst赋值为1
        let isFirst = wx.getStorageSync('isFirst') || 0;
        return new Promise((resolve, reject) => {
            wx.authorize({
                scope: 'scope.writePhotosAlbum',
                // 同意授权
                success: () => {
                    resolve();
                },
                // 拒绝授权,这里是用户拒绝授权后的回调
                fail: res => {
                    if (isFirst === 0) {
                        wx.setStorageSync('isFirst', 1);
                        wx.showToast({
                            title: '保存失败',
                            icon: 'none',
                            duration: 1000
                        })
                    } else {
                        this.showModal();
                    }
                    console.log('拒绝授权');
                    reject();
                }
            })
        })
    },

    // 保存图片到系统相册
    saveImage(saveUrl) {
        var self = this;
        return new Promise((resolve, reject) => {
            wx.saveImageToPhotosAlbum({
                filePath: saveUrl,
                success: (res) => {
                    wx.showToast({
                        title: '保存成功',
                        duration: 1000,
                    });
                    self.setData({
                        showPlaybill: 'true'
                    });
                    resolve();
                },
                fail: () => {
                    wx.showToast({
                        title: '保存失败',
                        duration: 1000,
                    });
                }
            })
        })
    },

    previewImage() {
        getApp().pre_img(this.data.shareImgPath);
    },

    onShareTimeline() {
        getApp().globalData.no_clear = 1

        var th = this;
        var price = th.data.data.shop_price;
        if (th.data.prom_act) {
            price = th.data.prom_act.price;

        }
        var title = th.data.data.goods_name;
        // var img=th.data.data.original_img;
        var img = th.data.iurl + th.data.data.image_url;
        if (th.data.prom_type == 6) {
            title = th.data.prom_act.share_title;
            img = th.data.iurl + th.data.prom_act.share_imgurl;
        }

        var url = "goods_id=" + th.data.gid;
        if (getApp().globalData.user_id) {
            url += "&first_leader=" + getApp().globalData.user_id;
        }

        //-- 如果房间分享，且不是会员分享的 --
        if (getApp().globalData.room_id &&
            th.data.data.goods_id == getApp().globalData.room_goods_id &&
            !getApp().globalData.room_user_share
        ) {
            url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
        }

        // 如果服务卡参加秒杀活动，且后台设置了分享标题和分享图片
        if (th.data.prom_type == 1) {
            if (th.data.sele_g && th.data.sele_g.share_imgurl) {
                img = th.data.iurl + th.data.sele_g.share_imgurl;
            }
            ;
        }
        ;

        return {
            title: price + "元  " + title,
            imageUrl: img,
            query: url
        }
    },


    clickCollapse() {
        this.setData({
            flag: !this.data.flag,
        })
    },

    con_weixin: function () {
      getApp().con_wx(this);
    },

   customer_chat:function(){
       getApp().customer_chat(this.data.data.id,1);
   },

    //评论的调用
    requestComments_new: async function () {
        var e = this, th = e, ee = e;
        var tp = e.data.activeCategoryId3;
        var t = '/api/weshop/serviceComment/pageComment?page=' + e.data.c_curr_p;

        wx.showLoading();
        var req_where = {
            store_id: o.stoid, pageSize: 5, is_show: 1,
            parent_id: 0, goods_id: th.data.gid, commenttype: tp,
            service_id: this.data.gid,
        }
        if (getApp().globalData.userInfo) {
            req_where.userId = getApp().globalData.user_id;
        }

        var rs_data = null;
        await getApp().request.promiseGet(t, {data: req_where}).then(res => {
            var tot = res.data.data.total;
            e.data.c_curr_p++;
            e.setData({
                com_num: tot, //已经有加载
            });
            if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
                rs_data = res.data.data.pageData;
            } else {
                th.setData({comments_no_more: 1, auto: 1});
            }
        })

        if (rs_data) {
            //var cda = th.data.comments;
            var cda = rs_data, com_data = th.data.comments;
            for (var ind in cda) {
                var ep = cda[ind];
                if (cda[ind].head_pic == '') {
                    cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png";
                }
                if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) {
                    cda[ind].weapp_img = JSON.parse(ep.weapp_img);
                }
                if (ep.img != "" && ut.isString(ep.img)) {
                    cda[ind].img = ut.unserialize(ep.img);
                }

                //--测量多有字的宽带，计算有多少行--
                var widh = ut.measureText(ep.content, 30);
                var lines = widh / 712;
                cda[ind].seeMore = false;
                if (lines > 3) cda[ind].seeMore = true;

                await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", {
                    data: {
                        store_id: o.stoid,
                        parent_id: ep.comment_id,
                        service_id: this.data.gid,
                    }
                }).then(res => {
                    if (res.data.data.pageData && res.data.data.pageData.length > 0) {
                        cda[ind].replay_list = res.data.data.pageData;
                    }
                })
            }

            if (!com_data) com_data = cda;
            else com_data = com_data.concat(cda);

            th.setData({comments: com_data});
        }
        th.setData({get_c: 1});
        wx.hideLoading();
    },


    //--点赞功能--
    click_zan: function (e) {
        var com_id = e.currentTarget.dataset.com_id;
        var item_id = e.currentTarget.dataset.item_id;
        var app = getApp(),
            th = this;

        if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) {
            app.confirmBox("您还未登录");
            return false;
        }

        var iszan = th.data.comments[item_id].userZanNum;
        if (this.data.iszaning) return false;
        this.data.iszaning = 1;


        app.request.post("/api/weshop/serviceCommentZan/save", {
            data: {
                store_id: o.stoid,
                user_id: app.globalData.user_id,
                goods_id: th.data.gid,
                service_id: th.data.gid,
                comment_id: com_id
            },
            success: function (ee) {

                if (ee.data.code == "-1") {
                    app.my_warnning("不能给自己点赞", 0, th);
                    th.data.iszaning = 0;
                    return;
                }

                if (ee.data.code == 0 && iszan != 1) {
                    var num = th.data.comments[item_id].zan_num;
                    num++;
                    var text = "comments[" + item_id + "].zan_num";
                    var text1 = "comments[" + item_id + "].userZanNum";
                    var _errObj = {};
                    _errObj[text] = num;
                    _errObj[text1] = 1;
                    th.setData(_errObj);

                } else {
                    var num = th.data.comments[item_id].zan_num;
                    num--;
                    var text = "comments[" + item_id + "].zan_num";
                    var text1 = "comments[" + item_id + "].userZanNum";
                    var _errObj = {};
                    _errObj[text] = num;
                    _errObj[text1] = 0;
                    th.setData(_errObj);
                }

                setTimeout(function () {
                    th.data.iszaning = 0;
                }, 500)

            }
        })
    },


    //--外侧评价的点击效果---
    clik_evaluate: function (e) {
        var val = e.currentTarget.dataset.val;
        this.setData({
            activeCategoryId: 2,
            activeCategoryId3: val,
            comments: null
        });
        this.requestComments_new();
    },


    //显示全部
    toggleHandler: function (e) {
        var that = this,
            index = e.currentTarget.dataset.index;
        for (var i = 0; i < that.data.comments.length; i++) {
            if (index == i) {
                for (var i = 0; i < that.data.comments.length; i++) {
                    that.data.comments[index].auto = true;
                    that.data.comments[index].seeMore = false;
                }
            }
        }
        that.setData({
            comments: that.data.comments
        })
    },

    //收起更多
    toggleContent: function (e) {
        var that = this,
            index = e.currentTarget.dataset.index;
        for (var i = 0; i < that.data.comments.length; i++) {
            if (index == i) {
                that.data.comments[index].auto = true;
                that.data.comments[index].seeMore = true;
            }
        }
        that.setData({
            comments: that.data.comments
        })
    },

    //--查看评价--
    look_pj: function () {
        this.tabComment();
        this.doScrollTop();
    },

    previewCommentImgs_w: function (t) {
        var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img;
        var b = e.slice()
        // for (var i in b) {
        //   b[i] = this.data.iurl + e[i];
        // }
        this.data.show_prew_img = 1;
        wx.previewImage({
            current: b[t.currentTarget.dataset.id],
            urls: b
        });
    },


    // 判断是否开启美业，获取套盒列表
    getTaohe() {
        // 判断是否开启美业
        getApp().promiseGet('/api/weshop/store/getTabSys/' + os.stoid, {}).then(res => {
            if (res.data.code == 0) {
                let enableMeiye = res.data.data.EnableMeiye;
                self.setData({
                    enableMeiye,
                });

                if (enableMeiye) { // 开启美业
                    // 获取套盒列表
                    let url = '/api/weshop/serviceGoods/list'
                    let data = {
                        store_id: getApp().globalData.setting.stoid,
                        service_id: this.data.data.id,
                    };
                    // 请求数据
                    getApp().promiseGet(url, {
                        data: data,
                    }).then(res => {
                        if (res.data.code == 0) {
                            console.log('请求成功套盒列表', res);
                            self.setData({
                                taoheList: res.data.data,
                            });
                        } else {
                            throw (res);
                        }
                        ;
                    }).catch(err => {
                    });

                }
                ;
            }
            ;
        });
    },


    //---小于10的格式化函数----
    // timeFormat(param) {
    //     return param < 10 ? '0' + param : param;
    // },

    //----倒计时函数-----
    countDown(time, prom_st) {
        if (!this.data.is_timer) return false;
        var th = this;
        // 获取当前时间，同时得到活动结束时间数组
        var endTime = time;
        var newTime = ut.gettimestamp();
        // 对结束时间进行处理渲染到页面
        var obj = null;
        // 如果活动未结束，对时间进行处理
        if (endTime - newTime > 0) {
            var time = (endTime - newTime);
            // 获取天、时、分、秒
            var day = parseInt(time / (60 * 60 * 24));
            var hou = parseInt(time % (60 * 60 * 24) / 3600);
            var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
            var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
            obj = {
                day: this.timeFormat(day),
                hou: this.timeFormat(hou),
                min: this.timeFormat(min),
                sec: this.timeFormat(sec)
            }
        } else {
            if (th.data.prom_st == 0) {
                //var endTime2 = new Date(th.data.prom_end_time).getTime();
                var endTime2 = th.data.prom_act.end_time;
                th.setData({
                    prom_time_text: '距结束还剩:',
                    prom_st: 1
                })
                setTimeout(function () {
                    th.countDown(endTime2)
                }, 1000);
                return false;

            } else {
                //活动已结束，全部设置为'00'
                obj = {
                    day: '00',
                    hou: '00',
                    min: '00',
                    sec: '00'
                }
                th.setData({
                    prom_time_text: '活动已经结束:',
                    prom_st: 3
                })
                th.setData({
                    djs: obj
                });
                return false;
            }
        }

        th.setData({
            djs: obj
        });
        setTimeout(function () {
            th.countDown(endTime)
        }, 1000);
    },

    get_normal(gid) {
        this.setData({
            prom_type: 0,
            prom_id:0
        });
        this.get_sto();
        this.data.is_normal = 1;
    },

    //获取redis中的数量
    async getactLen() {
        let prom_type = this.data.options.prom_type;
        let prom_id = this.data.options.prom_id;
        return await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
            1: 1
        }).then(res => {
            if (res.data.code == 0) {
                // 当前可以购买的数量
                let r_num = res.data.data;
                return r_num;
            }
            ;
        })
    },


    //--------检查是否活动，活动是否开始，或者是否结束-------
    async check_prom(gid, prom_type, prom_id) {
        var ee = this, th = ee;
        var user_id = getApp().globalData.user_id;
        if (!user_id) user_id = 0;

        //-------判断团购活动是否抢光---------
        await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
            1: 1
        }).then(res => {
            var em = res;
            if (em.data.code == 0) {
                if (em.data.data <= 0) ee.setData({
                    prom_r_null: 1
                });
                //拿取价格并且判断时间--
                getApp().request.get("/api/weshop/goods/groupBuy/getNewActInfo/" + os.stoid + "/" + gid + "/" + prom_id+"/"+user_id, {
                    success: function (t) {
                        if (t.data.code != 0) {
                            ee.get_normal(gid);
                            return false;
                        }
                        //----已经结束-----
                        if (t.data.data.is_end == 1) {
                            ee.get_normal(gid);
                            return false;
                        }
                        //----已经过期-----
                        var now = ut.gettimestamp();
                        if (t.data.data.end_time < now || t.data.data.start_time > now) {
                            ee.get_normal(gid);
                            return false;
                        }

                        /*-- 还没有开始预热的也不显示 --*/
                        if (t.data.data.show_time > now) {
                            ee.get_normal(gid);
                            return false;
                        }

                        th.setData({
                            sele_g: t.data.data,
                        });

                        var t_gd = ee.data.data;
                        var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
                        var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");

                        ee.setData({
                            prom_price: t.data.data.price,
                            prom_type: 2,
                            f_prom_type: 2,
                            prom_id: prom_id,
                            prom_buy_limit: t.data.data.buy_limit,
                            prom_act: t.data.data,
                            prom_end_time: prom_end_time,
                            prom_start_time: prom_start_time,
                            isshow: 1,
                        });

                        ee.get_sto();
                        var newTime = ut.gettimestamp();
                        var endTime2 = t.data.data.end_time;
                        var endTime1 = t.data.data.start_time;
                        if (endTime1 > newTime) {
                            ee.setData({
                                prom_time_text: '距团购开始还有'
                            })
                            ee.countDown(endTime1, 0);
                        } else {
                            if (endTime2 > newTime) {
                                ee.setData({
                                    prom_time_text: '距团购结束还有',
                                    prom_st: 1
                                })
                                ee.countDown(endTime2);
                            }
                        }

                    }
                });
            }
        })
    },


    viewFlash(e) {
        let prom_type = e.currentTarget.dataset.promtype;
        let prom_id = e.currentTarget.dataset.promid;
        let goods_id = this.data.data.goods_id;
        let url = `/packageH/pages/goodsInfo/goodsInfo?goods_id=${goods_id}&prom_type=${prom_type}&prom_id=${prom_id}`;
        if (prom_type == 6) {
            url = `/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id=${goods_id}&prom_type=${prom_type}&prom_id=${prom_id}`;
        }
        getApp().goto(url);
    },



    //-------------获取购买数量的总函数----------------
    get_buy_num: function (gd, func) {
        // var map = this.data.g_buy_num,
        var th = this,
            user_id = getApp().globalData.user_id;
        if (user_id == null) {
            // map.set(gd.goods_id, 0);
            th.setData({
                // g_buy_num: map,
                prom_buy_num: 0,
            });
            "function" == typeof func && func();
            return false;
        }

        // if (map.has(gd.goods_id)) {
        //     "function" == typeof func && func();
        // } else {
        //----获取商品购买数----
        if (th.data.prom_type == 1) {
            //----获取活动购买数----
            getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
                data: {
                    store_id: os.stoid,
                    user_id: user_id,
                    card_id: th.data.options.goods_id,
                    prom_type: th.data.options.prom_type,
                    prom_id: th.data.options.prom_id
                },
                //-----获取-----
                success: function (tt) {
                    if (tt.data.code == 0) {
                        // map.set(gd.goods_id, g_buy_num);
                        th.setData({
                            // g_buy_num: map,
                            promcardbuynum: tt.data.data.promcardbuynum,
                            cardbuynum: tt.data.data.cardbuynum,
                        });
                        "function" == typeof func && func();
                    }
                }
            });
        } else {
            "function" == typeof func && func();
        }
    },

    get_buy_num2: async function () {
        var th = this, user_id = getApp().globalData.user_id;
        //----获取活动购买数----
        return await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
            data: {
                store_id: os.stoid,
                user_id: user_id,
                card_id: th.data.options.goods_id,
                prom_type: th.data.options.prom_type,
                prom_id: th.data.options.prom_id,
                isnew:1
            },
            //-----获取-----
            success: function (tt) {
                if (tt.data.code == 0) {
                    // map.set(gd.goods_id, g_buy_num);
                    th.setData({
                        // g_buy_num: map,
                        promcardbuynum: tt.data.data.promcardbuynum,
                        cardbuynum: tt.data.data.cardbuynum,
                    });
                }
            }
        });
    },


    // 促销 -> 送礼包 -> 查看详情
    viewLbDetails(e) {
        let id = e.currentTarget.dataset.id; // 获取礼包id
        let url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
        // console.log('myurl', url);
        getApp().goto(url);
    },

    go_more_ladder: function (e) {
        var prom_id = e.currentTarget.dataset.id;
        getApp().goto("/pages/goods/goodsList/goodsList?ladder_id=" + prom_id);
    },

    getHistoryBuy() {
        let _this = this;
        let req_data = {
            store_id: os.stoid,
            goods_id: this.data.gid,
            pay_status: 1,
            rndid: 1
        };
        getApp().request.promiseGet('/api/weshop/ordergoods/list', {
            data: req_data,
        })
            .then(res => {
                if (t.ajax_ok(res)) {
                    _this.setData({
                        historyBuyInfo: res.data.data.pageData,
                    })
                }
            })
    },


    //-- 秒杀的普通购买 --
    openSpecModel_Nor: function () {
        var th = this;

        if (th.data.get_sto_ing) return false;

        // 是否授权登陆
        var user_info = getApp().globalData.userInfo;
        if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
            wx.navigateTo({
                url: '/packageE/pages/togoin/togoin',
            })
            return false;
        }
        this.data.g_buy_num = new Map();
        var th = this;
        this.setData({open_ind_store: 5, goodsInputNum: 1});//拼团直接给4

        this.setData({openSpecModal_flash_normal: 1});
        this.get_sto(1)


        // if (th.data.sku_g_pt) {
        //     // this.get_sto(1)
        //     this.setData({openSpecModal_flash_normal: 1});
        // } else {
        //     th.get_sto(1);
        //     th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () {
        //         th.setData({
        //             openSpecModal_flash_normal: 1
        //         });
        //     });
        // }
        // this.check_is_youhui(th.data.gid, 1);
    },

    closeSpecModal_flash_normal: function () {
        this.setData({openSpecModal_flash_normal: 0, is_normal: 0});
    },


    //打开客服操作菜单
    openCS() {
        // 判断会员状态
        let user_info = getApp().globalData.userInfo;
        if (user_info == null || user_info.mobile == undefined || user_info.mobile == '' || user_info.mobile == null) {
            wx.navigateTo({
                url: '/packageE/pages/togoin/togoin',
            })
            return false;
        }
        ;
        // csType/在线客服设置：
        // 0关闭（如果有设置热线电话，则显示拨打热线电话）、
        // 1小程序客服、
        // 2企业微信客服
        if (this.data.sys_switch) {
            let csType = this.data.sys_switch.weapp_customertype;
            if (csType == 0) {
                // 拨打电话号码
                this.contactService();
            } else {
                this.getTel()
                    .then(() => {
                        self.setData({
                            hiddenCS: false,
                        });
                    });
            }
            ;
        }
        ;

    },

    //关闭客服操作菜单
    closeCS() {
        this.setData({
            hiddenCS: true,
        });
    },


    click_contact: function () {
        getApp().globalData.no_clear = 1;
    },

    //打开客服操作菜单
    openCS() {
        // csType/在线客服设置：
        // 0关闭（如果有设置热线电话，则显示拨打热线电话）、
        // 1小程序客服、
        // 2企业微信客服
        let csType = this.data.sys_switch.weapp_customertype;
        if (csType == 0) {
            // 获取电话号码
            this.contactService();
        } else {
            this.getTel()
                .then(() => {
                    self.setData({
                        hiddenCS: false,
                    });
                });

        }
        ;
    },

    //关闭客服操作菜单
    closeCS() {
        this.setData({
            hiddenCS: true,
        });
    },


    //-- 弹出框的同意的优化,重新获取定位 ---
    agree_pri: function () {
        var th = this;
        var bconfig = th.data.bconfig;
        if (bconfig && bconfig.is_sort_storage) {
            wx.getLocation({
                type: 'gcj02',
                success: function (res) {

                    th.data.lat = res.latitude;
                    th.data.lon = res.longitude;
                    th.data.is_get_local_ok = 1;
                    th.setData({is_gps: 1});
                    th.get_sto();
                },
                fail: function (res) {
                    th.data.is_get_local_ok = 1;
                    th.get_sto();
                    if (res.errCode == 2) {
                        th.setData({is_gps: 0});
                        if (th.data.is_gps == 0) {
                            getApp().confirmBox("请开启GPS定位", null, 25000, !1);
                        }
                    } else {
                        th.setData({is_gps: "3"});
                    }

                }
            })
        }
    },

    clickShare() {
        this.setData({
            share_hidden: true,
        });
    },
    send() {
        this.setData({
            share_hidden: false,
        });
    },
    cancel() {
        this.setData({
            share_hidden: false,
        });
    },


    saveImageFn() {
        if (this.data.share_b_img) {
            this.saveImageToPhotosAlbum()
        } else {
            this.saveImageToPhotosAlbumDef()
        }
    },


    //--定义的保存图片方法，分享团---
    saveImageToPhotosAlbum: function () {
        //--先判断会员状态--
        // var user_info = getApp().globalData.userInfo;
        // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
        //     //getApp().my_warnning("请先登录",0,this);
        //     wx.navigateTo({ url: '/packageE/pages/togoin/togoin', })
        //     return false;
        // }

        if (this.data.share_hidden) {
            this.setData({
                share_hidden: false,
            });
        }
        ;

        //类型  0普通商品 1秒杀商品  2商家和会员团  3阶梯团  4阶梯团
        var type = this.data.prom_type || 0;
        console.log('商品类型-----');
        console.log(type);
        // if (type == 2) type = -1;
        if (type == 4) type = 0;
        if (type == 8) type = 0;
        if (type == 2) type = 0;
        if (type == 6) type = 2; // 6拼团 2团购
        if (type == 10) type = -1;

        wx.showLoading({
            title: '生成中...',
        })
        var that = this,
            th = that;
        //设置画板显示，才能开始绘图
        that.setData({
            canvasHidden: false
        })

        var app = getApp();
        var unit = that.data.screenWidth / 750 * 1.35;  //基础单位，
        var path2 = that.data.data.original_img;

        var scene = th.data.gid;
        var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
        if (user_id > 0) {
            scene += "_" + user_id;
        }
        //-- 如果不是会员分享过来的要分享给别人 --
        if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
            //固定房间是第3个字符
            if (!user_id) scene += "_0";
            scene += "_" + getApp().globalData.room_id;
        } else {
            if (!user_id) scene += "_0";
            scene += "_0";
        }
        if (this.data.prom_id) {
            scene += "_" + th.data.prom_id;
        }

        ///二微码
        var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
            os.stoid + "?sceneValue=" + scene + "&pageValue=packageG/pages/group_buy/goodsInfo/goodsInfo";


        console.log(path3);

        //读取文件成功则OK--
        wx.getImageInfo({
            src: path3,
            success: function (res) {
                //回调写法
                th.get_head_temp(th.get_goods_temp, function () {
                    var vpath = res.path;
                    var context = wx.createCanvasContext('share');
                    //先画背景
                    var pg_path = "../../../../images/share/share_bg.png";

                    //-- 如果有自定义海报的时候，判断背景的图片 --
                    if (th.data.share_b_img) {
                        pg_path = th.data.share_b_img;
                    }
                    context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);

                    let nick = app.globalData.userInfo ? app.globalData.userInfo.nickname : '';

                    //-- 是自定义海报的情况下 --
                    if (th.data.poster && parseInt(th.data.poster.style) == 2) {
                        //在线上分享人的情况下
                        if (parseInt(th.data.poster.show_headpic)) {
                            //获取坐标
                            var x = parseFloat(th.data.poster.head_x) * 2;
                            var y = parseFloat(th.data.poster.head_y) * 2;
                            var x1 = (x + 90) * unit;
                            var y1 = (y + 50) * unit;
                            //--昵称---
                            context.setFontSize(24 * unit)
                            context.setFillStyle("black")
                            context.fillText(nick, x1, y1);
                            var width = 24 * nick.length * unit + 4 * unit;
                            //强烈推荐 改许程
                            var tj_path = "../../../../images/share/q_tj.png";
                            context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit);
                            context.setFontSize(16 * unit)
                            context.setLineJoin('round'); //交点设置成圆角
                            context.setFillStyle("white")
                            context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit);

                            //context.setFillStyle("black")
                            //context.setFontSize(24 * unit)
                            //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit);
                        }
                    } else {
                        //--昵称---
                        context.setFontSize(24 * unit)
                        context.setFillStyle("black")
                        context.fillText(nick, 152 * unit, 76 * unit);
                        var width = 24 * nick.length * unit + 2 * unit;
                        //强烈推荐 改许程
                        var tj_path = "../../../../images/share/q_tj.png";
                        context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);
                        context.setFontSize(16 * unit);
                        context.setLineJoin('round'); //交点设置成圆角
                        context.setFillStyle("white");
                        context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);
                    }

                    var share_title = th.data.data.goods_name;

                    if (th.data.prom_type == 1 || th.data.prom_type == 2 || th.data.prom_type == 6 || th.data.prom_type == 4) {
                        share_title = th.data.prom_act.share_title;
                        if (!share_title) share_title = th.data.prom_act.title;
                        if (th.data.prom_type == 4) share_title = th.data.prom_act.name;

                        //-- 显示活动时间 --
                        if (th.data.share_b_img) {
                            act_time = "截止时间：" + ut.formatTime(th.data.prom_act.end_time);
                        }
                    }

                    //---产品名称---
                    //文本换行 参数：1、canvas对象，2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度

                    context.setFillStyle("black");
                    context.setFontSize(21.3 * unit)
                    th.draw_Text(context, share_title,
                        80 * unit, 160 * unit, 200 * unit, 279 * unit, unit);

                    //------产品的价格-------
                    context.setFontSize(23 * unit)
                    context.setFillStyle("red")

                    // 7.商品价格
                    let price = th.data.data.shop_price;
                    if (th.data.card_field && th.data.data[th.data.card_field]) {
                        price = th.data.data[th.data.card_field];
                    }
                    if (th.data.prom_act) price = th.data.prom_price;
                    price = parseFloat(price).toFixed(2);

                    var wd1 = th.data.screenWidth - ut.measureText(price, 31 * unit) - 25;
                    context.fillText("￥", wd1 - 15, 160 * unit);
                    context.setFontSize(31 * unit)
                    context.fillText(price, wd1, 165 * unit);


                    //-- 零售价的优化 --
                    var wp = wd1;
                    var hp = 203 * unit;
                    if (th.data.prom_type != 4) wp -= 12;
                    th.draw_pos_price(context, wp, hp, th.data.data.show_price, unit);


                    //console.log(th.data.share_goods_img);
                    //let share_goods_img=th.data.presellForm.share_img;
                    //share_goods_img?share_goods_img:th.data.data.share_goods_img;
                    //---中间大图---
                    context.drawImage(th.data.share_goods_img, 70 * unit, 220 * unit, 408 * unit, 408 * unit);
                    //---自定义海报 产品质量保证
                    if (th.data.poster.show_quality == 1) {
                        var g_path = "../../../../images/share/s_gou.png";
                        context.drawImage(g_path, 56 * unit, 644 * unit, 22 * unit, 22 * unit);
                        context.setFillStyle("red")
                        context.setFontSize(18 * unit)
                        context.fillText("正品保证", 84 * unit, 664 * unit);

                        context.drawImage(g_path, 218 * unit, 644 * unit, 22 * unit, 22 * unit);
                        context.setFillStyle("red")
                        context.setFontSize(18 * unit)
                        context.fillText("纯实体店", 246 * unit, 664 * unit);

                        context.drawImage(g_path, 388 * unit, 644 * unit, 22 * unit, 22 * unit);
                        context.setFillStyle("red")
                        context.setFontSize(18 * unit)
                        context.fillText("官方验证", 420 * unit, 664 * unit);

                    }

                    //---画线---
                    // context.setLineWidth(1 * unit)
                    // context.moveTo(32 * unit, 662 * unit)
                    // context.lineTo(520 * unit, 662 * unit)
                    // context.stroke();

                    //-- 图片底部文字 --
                    switch (type) {
                        case 0:
                            //---文字---
                            //---文字---
                            context.setFillStyle("black");
                            context.setFontSize(22 * unit);

                            context.fillText("优惠乐翻天，精彩就在你身边", 40 * unit, 776 * unit);
                            context.fillText("长按识别二维码，立即开始抢购", 40 * unit, 826 * unit);

                            break;

                        case 1:

                            //画秒杀的图片
                            if (th.data.is_share_text) {
                                var miaos_path = '../../../../images/share/miao_share.png';
                                context.drawImage(miaos_path, 43 * unit, 690 * unit, 222 * unit, 40 * unit);
                            }

                            context.setFillStyle("black")
                            context.setFontSize(24 * unit)
                            context.fillText(th.data.sto_sele_name_1, 40 * unit, 770 * unit);
                            //---文字---
                            context.setFontSize(22 * unit)
                            context.setFillStyle("black")
                            if (th.data.is_share_text) {
                                context.fillText("特惠好物，限时秒杀", 40 * unit, 807 * unit);
                            }
                            context.fillText("长按识别二维码，立即开始抢购", 40 * unit, 844 * unit);

                            break;

                    }


                    //---二维吗图---
                    //-- 自定义海报 --
                    if (th.data.poster) {
                        var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
                        var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
                        context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
                    } else {
                        //---二维吗图---
                        context.drawImage(vpath, 390 * unit, 746 * unit, 130 * unit, 116 * unit);
                    }

                    //--- 如果是自定义海报的时候 ---
                    if (th.data.poster && parseInt(th.data.poster.style) == 2) {

                        //如果显示会员信息的话
                        if (parseInt(th.data.poster.show_headpic)) {
                            //获取坐标
                            var x = parseFloat(th.data.poster.head_x) * 2;
                            var y = parseFloat(th.data.poster.head_y) * 2;
                            //---绘制圆形要放在最后----
                            context.save();
                            context.beginPath();
                            var h_x = x * unit;
                            var h_y = y * unit;
                            var h_r = 40 * unit;
                            var cx = h_x + h_r;
                            var cy = h_y + h_r;
                            context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
                            context.closePath();
                            context.fill();
                            context.clip();
                            context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
                            context.restore();
                        }

                    } else {
                        //---绘制圆形要放在最后----
                        context.save();
                        context.beginPath();
                        var h_x = 60 * unit;
                        var h_y = 24 * unit;
                        var h_r = 40 * unit;
                        var cx = h_x + h_r;
                        var cy = h_y + h_r;
                        context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
                        context.closePath();
                        context.fill();
                        context.clip();
                        context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
                        context.restore();
                    }


                    if (th.data.poster.show_time == 1 && th.data.prom_act) {
                        var act_time = '';
                        act_time = "截止时间：" + ut.formatTime(th.data.prom_act.end_time);
                        context.setFillStyle("red")
                        getApp().draw_Text(context, act_time, 38 * unit, 880 * unit, 200 * unit, 340 * unit, unit);
                    }

                    //把画板内容绘制成图片，并回调 画板图片路径
                    context.draw(false, function () {
                        setTimeout(function () {
                            wx.canvasToTempFilePath({
                                x: 0,
                                y: 0,
                                width: 750,
                                height: 1217,
                                destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
                                destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
                                canvasId: 'share',
                                success: function (res) {

                                    that.setData({
                                        shareImgPath: res.tempFilePath,
                                        canvasHidden: true
                                    })

                                    if (!res.tempFilePath) {
                                        wx.showModal({
                                            title: '提示',
                                            content: '图片绘制中，请稍后重试',
                                            showCancel: false
                                        })
                                        return false;
                                    }

                                    // wx.previewImage({
                                    //   //将图片预览出来
                                    //   urls: [that.data.shareImgPath]
                                    // });
                                    that.setData({
                                        showPoster: true,
                                    });
                                    wx.hideLoading();
                                }
                            })
                        }, 500)

                    });
                });
            },
            fail: function (res) {
                console.log(res);
                wx.hideLoading();

            }
        });
    },
    //--定义的保存图片方法，分享团---
    saveImageToPhotosAlbumDef: function () {
        //--先判断会员状态--
        // var user_info = getApp().globalData.userInfo;
        // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
        //     //getApp().my_warnning("请先登录",0,this);
        //     wx.navigateTo({url: '/packageE/pages/togoin/togoin',})
        //     return false;
        // }

        if (this.data.share_hidden) {
            this.setData({share_hidden: false,});
        }
        ;

        //类型  0普通商品 1秒杀商品  2商家和会员团  3阶梯团  4阶梯团
        var type = this.data.prom_type || 0;
        console.log('商品类型-----');
        console.log(type);
        // if (type == 2) type = -1;
        if (type == 4) type = 0;
        if (type == 8) type = 0;
        if (type == 2) type = 0;
        if (type == 6) type = 2; // 6拼团 2团购
        if (type == 10) type = -1;

        if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
        console.log('商品类型。。。。。');
        console.log(type);
        wx.showLoading({title: '生成中...',})
        var that = this, th = that;
        //设置画板显示，才能开始绘图
        that.setData({
            canvasHidden: false
        })

        var app = getApp();
        var unit = that.data.screenWidth / 750 * 1.35;  //基础单位，
        var path2 = that.data.data.original_img;

        var scene = th.data.gid;
        var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
        if (user_id > 0) {
            scene += "_" + user_id;
        }
        //-- 如果不是会员分享过来的要分享给别人 --
        if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
            //固定房间是第3个字符
            if (!user_id) scene += "_0";
            scene += "_" + getApp().globalData.room_id;
        } else {
            if (!user_id) scene += "_0";
            scene += "_0";
        }
        if (this.data.prom_type) {
            scene += "_" + th.data.prom_id;
        }

        ///二微码
        var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
            os.stoid + "?sceneValue=" + scene + "&pageValue=packageG/pages/group_buy/goodsInfo/goodsInfo";

        console.log(path3);


        // 读取文件成功则OK--
        wx.getImageInfo({
            src: path3,
            success: function (res) {
                // 回调写法
                th.get_head_temp(th.get_goods_temp, function () {
                    var vpath = res.path;
                    var context = wx.createCanvasContext('share');
                    // 先画背景
                    var pg_path = "../../../../../images/share/share_bg.png";
                    th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);

                    //把画板内容绘制成图片，并回调 画板图片路径
                    context.draw(false, function () {
                        setTimeout(function () {
                            wx.canvasToTempFilePath({
                                x: 0,
                                y: 0,
                                width: 750,
                                height: 1217,
                                destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
                                destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
                                canvasId: 'share',
                                success: function (res) {

                                    that.setData({
                                        shareImgPath: res.tempFilePath,
                                        canvasHidden: true
                                    })

                                    if (!res.tempFilePath) {
                                        wx.showModal({
                                            title: '提示',
                                            content: '图片绘制中，请稍后重试',
                                            showCancel: false
                                        })
                                        return false;
                                    }

                                    that.setData({
                                        showPoster: true,
                                    });
                                    wx.hideLoading();
                                }
                            })
                        }, 500)

                    });
                });
            },
            fail: function (res) {
                console.log(res);
                wx.hideLoading();

            }
        });
    },

    //文本换行 参数：1、canvas对象，2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
    draw_Text: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) {
        var lineWidth = 0;
        var lastSubStrIndex = 0; //每次开始截取的字符串的索引
        var han = 0;
        for (let i = 0; i < str.length; i++) {
            if (han == 2) return;
            //lineWidth += ctx.measureText(str[i]).width;
            lineWidth += ut.measureText(str[i], 21.3 * unit);
            if (lineWidth > canvasWidth) {
                han++;

                if (han == 2)
                    ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分
                else
                    ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight);

                initHeight += 22; //22为字体的高度
                lineWidth = 0;
                lastSubStrIndex = i;
                titleHeight += 20;
            }
            if (i == str.length - 1) { //绘制剩余部分
                ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
            }
        }
    },

    drawPoster(context, unit, img, vpath, type) {
        // 1.灰色背景
        context.setFillStyle('#f2f1f6');
        context.rect(0, 0, 554 * unit, 899 * unit);
        context.fill();

        // 2.商城名称
        let shopName = this.data.sto_sele_name_1;
        context.setTextAlign('center');
        context.setFontSize(26 * unit);
        context.setFillStyle('black');
        context.fillText(shopName, 277 * unit, 60 * unit);

        // 3.推荐来源
        if (getApp().globalData.userInfo) {
            let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
            context.setTextAlign('center');
            context.setFontSize(22 * unit);
            context.setFillStyle('#96959a');
            context.fillText(fromText, 277 * unit, 105 * unit);
        }
        // 4.海报背景
        context.setFillStyle('white');
        context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);

        // 5.商品图片
        // 图片的x坐标
        let bg_x = 37 * unit
        // 图片的y坐标
        let bg_y = 157 * unit
        // 图片宽度
        let bg_w = 480 * unit
        // 图片高度
        let bg_h = 474 * unit
        // 图片圆角
        let bg_r = 4
        // 绘制海报背景图片圆角
        context.save()
        context.beginPath()
        context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
        context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
        context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
        context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
        context.clip()
        context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
        context.restore();

        // 6.强烈推荐
        let src = '';
        context.beginPath();
        if (type == 0) { // 普通
            src = '../../../../images/share/q_tj.png';
            context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
            context.setFontSize(16 * unit)
            context.setFillStyle("white")
            context.setTextAlign('left');
            context.fillText('强烈推荐', 64 * unit, 668 * unit);
        }
        if (type == 1) { // 秒杀

            if (this.data.is_share_text == 1) {
                src = '../../../../images/share/miao_share.png';
                context.drawImage(src, 54 * unit, 648 * unit, 200 * unit, 36 * unit);
            }
            context.setTextAlign('left');
        }


        // 7.商品价格
        let price = this.data.data.shop_price;
        if (this.data.card_field && this.data.data[this.data.card_field]) {
            price = this.data.data[this.data.card_field];
        }
        if (this.data.prom_act) price = this.data.prom_price;
        price = parseFloat(price).toFixed(2);
        context.setFontSize(32 * unit);
        context.setFillStyle('#DE1117');

        //price = this.data.presellList.presell_price
        context.fillText('￥' + price, 54 * unit, 735 * unit);
        //-- 零售价的优化 --
        var wp = 62 * unit + ut.measureText('￥' + price, 32 * unit);
        var hp = 735 * unit
        this.draw_pos_price(context, wp, hp, this.data.data.show_price, unit);


        // 8.商品标题
        context.setFontSize(20 * unit);
        context.setFillStyle('#898989');
        getApp().draw_Text(context, this.data.data.goods_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);

        // 9.小程序码
        context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
        context.setFontSize(16 * unit);
        context.setFillStyle('#777');
        context.fillText('长按识别二维码', 378 * unit, 810 * unit);

        // 10.竖线
        context.beginPath();
        context.setFillStyle('#eee');
        context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
        context.fill();
    },

    //---市场价划掉---
    draw_pos_price(context, w, h, market_price, unit) {

        if (!this.data.sys_switch) return false;
        if (!this.data.sys_switch.is_retail_price) return false;

        context.setFillStyle("gray")
        context.setFontSize(22 * unit)
        var pri0 = "￥" + market_price.toFixed(2);
        context.fillText(pri0, w, h);

        var c_h = h - 6;
        context.setStrokeStyle('gray');
        context.setLineWidth(1 * unit);
        context.moveTo(w - 5, c_h);
        context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
        context.stroke();

    },


    closePoster() {
        this.setData({
            showPoster: false,
        });
    },

    // 保存图片到手机
    savePic() {
        console.log('保存图片');
        var self = this;
        // 获取用户的当前设置，返回值中有小程序已经向用户请求过的权限
        this.getSetting().then((res) => {
            // 判断用户是否授权了保存到相册的权限，如果没有发起授权
            if (!res.authSetting['scope.writePhotosAlbum']) {
                this.authorize().then(() => {
                    // 同意授权后保存下载文件
                    this.saveImage(self.data.shareImgPath)
                        .then(() => {
                            self.setData({
                                showPoster: false
                            });
                        });
                })
            } else {
                // 如果已经授权，保存下载文件
                this.saveImage(self.data.shareImgPath)
                    .then(() => {
                        self.setData({
                            showPoster: false
                        });
                    });
            }

        })
    },

    // 发起首次授权请求
    authorize() {
        // isFirst 用来记录是否为首次发起授权，
        // 如果首次授权拒绝后，isFirst赋值为1
        let isFirst = wx.getStorageSync('isFirst') || 0;
        return new Promise((resolve, reject) => {
            wx.authorize({
                scope: 'scope.writePhotosAlbum',
                // 同意授权
                success: () => {
                    resolve();
                },
                // 拒绝授权,这里是用户拒绝授权后的回调
                fail: res => {
                    if (isFirst === 0) {
                        wx.setStorageSync('isFirst', 1);
                        wx.showToast({
                            title: '保存失败',
                            icon: 'none',
                            duration: 1000
                        })
                    } else {
                        this.showModal();
                    }
                    console.log('拒绝授权');
                    reject();
                }
            })
        })
    },


    // 保存图片到系统相册
    saveImage(saveUrl) {
        var self = this;
        return new Promise((resolve, reject) => {
            wx.saveImageToPhotosAlbum({
                filePath: saveUrl,
                success: (res) => {
                    wx.showToast({
                        title: '保存成功',
                        duration: 1000,
                    });
                    self.setData({
                        showPlaybill: 'true'
                    });
                    resolve();
                },
                fail: () => {
                    wx.showToast({
                        title: '保存失败',
                        duration: 1000,
                    });
                }
            })
        })
    },

    // 预览海报
    previewPoster() {
        getApp().globalData.no_clear = 1;
        wx.previewImage({
            current: this.data.shareImgPath, // 当前显示图片的http链接
            urls: [this.data.shareImgPath], // 需要预览的图片http链接列表
        });
    },


});


