var auth = require("../../../utils/auth.js"), rq = require("../../../utils/request.js"); var e = getApp(), app = e, i = require("../../../utils/util.js"), ut = i, s = e.globalData.setting, os = s, app_d = e.globalData; var invalidSetTime = null var regeneratorRuntime = require('../../../utils/runtime.js'); var com = require("../../giftpack/public/buy_com.js"); Page({ /** * 页面的初始数据 */ data: { swpie_img: s.imghost + "/miniapp/images/user_index_powder.jpg", defaultAvatar: s.imghost + "/miniapp/images/no-head.jpg",//助力头像的默认图 sw_index: 0, //轮播的下标控制 url: s.url, //接口网址 iurl: s.imghost, endDate: "", //活动结束时间 activity_data: "25:20:59", //活动剩余时间 task_number: 0, //任务数 giftQty:0, //库存设置数 is_task: 0, //历史记录与任务 aitem: "", //活动的轮播图数据 switch_head: 0, //0:我的任务,1:记录 help_id: "", //活动的id canvasHidden: 0, //分享图片是否已经生成 gid: "", timer: null, //全局的定时器 user_task_list: [], //会员列表 taskid: "", //任务id usercount: 0, //参与的人数 dismantle: [], //帮拆记录数据集 is_user_task: null, //判断是不是领取的任务 zzjx_id: "", //真正进行的任务id is_show: 0, //任务的加载更多 is_bc_show: 0, //帮拆的加载更多 bc_page: 1, //帮拆的页码 rw_page: 1, //任务的页码 block: 0, //阻断助力的我的任务在当前位置多次点击 is_dismantle: 0, //阻断助力的帮拆记录在当前位置多次点击 is_clik: 0,//点击的时候控制划动 is_dis_list: 0,//多个数据的时候 is_user_list: 0,//我的任务点击加载更多的后 //*********************************************start钱 canvasHidden: 1, //分享图片是否已经生成 is_share: 0, //是否显示画布 shareImgPath: [], //生成的图片 screenWidth: "", //用户的屏幕宽度 gid: "", images: ["miniapp/images/friendhelp/help.png", "miniapp/images/friendhelp/background.png", "miniapp/images/friendhelp/no_check.png", "miniapp/images/friendhelp/check.png", "miniapp/images/friendhelp/unfinished.png", "miniapp/images/xc_ellipsis.png" ], //固的分享图片 dynamic: null, //已助力的微信头像数组 head_pic_arr: [], //助力的头像 share_lb_img: "", //分享的礼包图片 is_generate: 0, //是否重复点击拆一拆 already: 0, //已有几人助力 lack: 0, //还差几人助力 zltime: "", //助力时间 djs: "", //定时器的显示 //*********************************************end //距离失效------ invalidTime:0, invalidState:true, invalidObj:{ h:'00', m:'00', s:'00' }, //-------------- // Hei: 0, max_sw_height: 0, imageUrl:'', btn_color:'', bg_color:'', font_color:'', //-- 屏幕实际的高度 -- r_heght:'', //门店相关 ismend: 0, is_sec_mend: 0, sto_sele_name: "", //选中的门店名称 sto_sele_id: "", //选中的门店id 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,//所有的门店先记录起来 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: {}, //创建添加默认门店地址的对象 store: 0, openSpecModal: 0, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var th = this; var help_id = options.help_id; var nav_b = th.selectComponent("#nav_b"); //组件的id nav_b.set_name("助力", "/pages/user/assistance/assistance"); th.setData({ help_id: help_id, buyType:4 }); //start 钱 if (options.gid != undefined) { th.setData({ gid: options.gid }) } if (options.taskid != undefined) { th.setData({taskid:options.taskid}) } //-- 获取分享人的ID -- var first_leader = options.first_leader || getApp().globalData.first_leader; if (first_leader) { this.setData({ first_leader, }) //-- user_id代过来免登录 -- 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 } }) } console.log('aaaa'); th.syinfo(); th.close(); th.imageinfo(); getApp().getConfig2(function (e) { var json_d = JSON.parse(e.switch_list); th.setData({ bconfig: e, sys_switch: json_d, is_retail_price: json_d.is_retail_price || 0 }); }) }, check_guide(func){ var first_leader=this.data.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(); }) }, //选中任务 add_onlicke:function (e){ this.data.tg_dd=e; var th=this; if(this.data.is_nd_pk){ th.setData({ openSpecModal: 1 }) th.pp_bacK_func=th.add_onlicke_next; //设置回调函数 }else{ th.add_onlicke_next(); } }, //选中任务保存下一步 add_onlicke_next: function () { if(!this.data.tg_dd){ return false; } let e=JSON.parse(JSON.stringify(this.data.tg_dd)); this.data.tg_dd=null; var th = this; var taskid = e.target.dataset.taskid; var help_id = th.data.help_id; var user_id = getApp().globalData.user_id; var stoid = os.stoid var insert_dd={ helpId: help_id, userId: user_id, storeId: stoid, taskId: taskid }; //-- 如果需要门店的时候 -- if( th.data.is_nd_pk==1){ insert_dd.pickupId=th.data.def_pick_store.pickup_id; } getApp().request.json_post("/api/weshop/marketing/help/help/task/insert", insert_dd, function (res) { if (res.data.code == 0) { getApp().my_warnning(res.data.data, 1, th); //判断是不是领取的任务 th.get_user_task(); //会员任务列表 th.user_task_list(); } else { getApp().my_warnning(res.data.msg, 0, th); } th.setData({submit:0}) th.closeSpecModal(); } ) }, /** * 生命周期函数--监听页面显示 */ onShow: function () { getApp().check_can_share(); //--先判断会员状态-- var user_info = getApp().globalData.userInfo; if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { getApp().goto('/packageE/pages/togoin/togoin'); return false; } this.data.is_timer = 1; var th = this; var help_id = th.data.help_id; var user_id = getApp().globalData.user_id; /*-----助力活动(判断)-----*/ rq.get("/api/weshop/marketing/help/act/judge", { data: { userId: user_id, storeId: os.stoid }, success: function (res) { if (res.data.code == 0) { var help_data = res.data.data; help_data.giftTitle=help_data.actName; help_data.lbUrl=help_data.imageUrl; let sData={ endDate: help_data.endDate, btn_color: help_data.btn_color, bg_color: help_data.bg_color, font_color: help_data.font_color, imageUrl: help_data.imageUrl, sele_g:help_data }; if(help_data.is_pickup){ sData.pickup_list=help_data.pickup_list; } th.setData(sData); /*-----获取助力活动的任务-----*/ rq.get("/api/weshop/marketing/help/help/task/page", { data: { helpId: help_id, storeId: os.stoid }, success: function (su) { var data = su.data; if (data.code != 0) { getApp().my_warnning(data.msg, 0, th); return false; } if (data.code == 0 && data.data && data.data.pageData && data.data.pageData.length>0) { //轮播图的数据 var data_aissa = data.data.pageData; //当前时间戳 var nt = ut.gettimestamp(); data_aissa.forEach(function (val, ind) { //已开始 if (val.start_time < nt && val.end_time > nt) data_aissa[ind].status = 0; //未开始 else if (val.start_time > nt && val.end_time > nt) data_aissa[ind].status = 1; //已结束 else if (val.start_time < nt && val.end_time < nt) data_aissa[ind].status = 2; }); var task_number = data_aissa[0].giftQty - data_aissa[0].useGiftQty; var taskid = data_aissa[0].id; if(th.data.taskid) { th.setData({ aitem: data_aissa, task_number: task_number, giftQty:data_aissa[0].giftQty, }); th.go_to_task(th.data.taskid); }else{ th.setData({ aitem: data_aissa, task_number: task_number, taskid: taskid, giftQty:data_aissa[0].giftQty, }); //判断是不是领取的任务 th.get_user_task(); th.get_user_task_num(); } } } }) //任务时间 设置全局定时器 th.setData({ timer: setInterval(function () { th.countDown(); }, 1000) }) } } }); //会员任务列表 this.user_task_list(); //获取助力活动参与的人数 }, //记录加载更多 dismantle_record_list: function () { this.setData({ is_dismantle: 0 }); this.dismantle_record(); }, dismantle_record_click(){ if(this.data.switch_head==1) return false; this.setData({ is_dismantle: 0 }); this.dismantle_record(); }, //帮拆记录的 dismantle_record: function (e) { //优化 if (this.data.is_dismantle == 1) { return false; } var aitem = this.data.aitem; //任务的数据集 var sw_index = this.data.sw_index; //轮播的下标 //任务id var taskid = aitem[sw_index].id; var th = this; var index = 1; //获取当前选择的是任务还是活动说明 var is_task = this.data.is_task; //0任务,1帮拆 if (is_task == undefined || is_task == null) { is_task = 1; } var switch_head = this.data.switch_head; if (switch_head == undefined || switch_head == null) { switch_head = 1; } this.setData({ is_task: 1, switch_head: 1, block: 0, }); var bc_page = th.data.bc_page; rq.get("/api/weshop/marketing/help/help/task/involve/page", { data: { page: bc_page, pageSize: 5, taskId: taskid, userId: getApp().globalData.user_id, storeId: os.stoid }, success: function (res) { if (res.data.code == 0) { th.setData({ is_dismantle: 1 }); var dismantle = res.data.data.pageData[0].zlHelpUser; if (res.data.data.total > 5) { var bc_page = th.data.bc_page + 1; var dismantle_s = th.data.dismantle.concat(dismantle); th.setData({ bc_page: bc_page, is_bc_show: 1, dismantle: dismantle_s, is_dis_list: 1 }) } else { th.setData({ dismantle: dismantle, is_dis_list: 0 }); } var dis_len = th.data.dismantle.length; if (res.data.data.total == dis_len) { th.setData({ is_dis_list: 0, }) } th.setData({ is_clik: 0, }); } else { th.setData({ dismantle: null }); } } }) }, // 领取礼包 get_libao: function (e) { var libao_id = e.currentTarget.dataset.libaoid; //礼包id var taskid = e.currentTarget.dataset.taskid; var taskingid = e.currentTarget.dataset.taskingid; getApp().goto("/pages/user/assistance/giftpacklist?help_id=" + this.data.help_id + "&is_libao=" + 1 + "&taskId=" + taskid + "&id=" + taskingid); }, //查看礼包id select_libao: function (e) { var orderSn = e.currentTarget.dataset.ordersn; getApp().goto("/pages/user/assistance/giftpacklist?orderSn=" + orderSn); }, //划动的时候监听 onSli: function (e) { var arr = []; this.setData({ dismantle: arr }); var th = this; var ind = e.detail.current; var aitem = this.data.aitem; var task_number = aitem[ind].giftQty - aitem[ind].useGiftQty; var task_id = aitem[ind].id; th.setData({ sw_index: ind, task_number: task_number, taskid: task_id, is_dismantle: 0, bc_page: 1, giftQty:aitem[ind].giftQty, }); if (this.data.switch_head == 1 && th.data.is_clik == 0) { //判断有没有帮拆记录 this.dismantle_record(); } //判断是不是领取的任务 th.get_user_task(); th.get_user_task_num(); }, //导航球 close: function () { var th = this; var nav_b = th.selectComponent("#nav_b"); //组件的id nav_b.close_box(); }, //我的任务点击加载更多 task_list: function () { this.setData({ block: 0 }); this.user_task_list(); }, // 获取会员的参与的任务列表 我的任务 user_task_list: function (e) { var th = this; //防止已经当前位置的时候多次点击 if (th.data.block == 1) { return false; } th.data.block=1; var index = 0; var is_task = this.data.is_task; //0任务,1帮拆 if (is_task == undefined || is_task == null) { is_task = 0; } var switch_head = this.data.switch_head; if (switch_head == undefined || switch_head == null) { switch_head = 0; } this.setData({ is_task: index, switch_head: index, user_task_list:[], }); var help_id = th.data.help_id; var user_id = getApp().globalData.user_id; var rw_page = th.data.rw_page; if(rw_page==1)th.data.zl_user_list=[]; var r=Math.random()*100; rq.get("/api/weshop/marketing/help/help/user/page", { data: { page: rw_page, pageSize: 5, helpId: help_id, storeId: os.stoid, userId: user_id, r:r, }, success: function (su) { th.data.block=0 if (su.data.code == 0) { if (su.data.data.total > 5) { var rw_page = th.data.rw_page + 1; th.setData({ rw_page: rw_page, is_show: 1 }) } var user_list = su.data.data.pageData; var user_lists = th.data.user_task_list.concat(user_list); th.setData({ user_task_list: user_lists }); } else { th.setData({ is_user_list: 1 }); //getApp().my_warnning(su.data.msg, 0, th); } } }) }, //判断是否有领取任务 获取正在进行中的任务 get_user_task: function () { invalidSetTime ? clearTimeout(invalidSetTime) :'' this.setData({ invalidObj:{ h:'00', m:'00',s:'00'}, invalidState:true, invalidTime:0 }) var user_id = getApp().globalData.user_id; var th = this; var aitem = th.data.aitem; var sw_index = th.data.sw_index; var taskid = aitem[sw_index].id //-- 判断一下要不要弹出框,选择门店,只有在礼包含有礼品的时候 -- getApp().promiseGet('/api/weshop/marketing/help/help/task/getlbtype?storeId='+os.stoid+'&Id='+taskid,{}).then(gNew=>{ if(gNew && gNew.data.code==0 && gNew.data.data){ if(th.data.pickup_list && gNew.data.data.lb_type.indexOf(',1,')>-1){ th.data.is_nd_pk=1; //-- 检测一下有没有门店 -- th.check_guide(function (){ com.wait_for_store_config(th); com.set_user_mo_store(th, os, function () { if (sele_g.pickup_list && th.data.def_pick_store) { com.check_def_pk(th); } }); com.get_sto(th, os); }) } } }) rq.get("/api/weshop/marketing/help/help/task/get", { data: { storeId: os.stoid, userId: user_id, taskId: taskid }, success: function (res) { console.log('任务---------------------------------------'); console.log(res); if (res.data.code == 0) { var is_usertask = res.data.data; th.setData({ is_user_task: is_usertask, }); th.getInvalidTime(taskid) } } }) }, //获取失效时间 getInvalidTime(taskid){ let th = this; let _this2=this; rq.get("/api/weshop/marketing/giftbag/helpinfo/get", { data: { storeId: os.stoid, // userId: user_id, taskId: taskid, helpId:th.data.help_id }, success:async function (res) { console.log('获取失效时间------'); console.log(res); if (res.data.code == 0) { let openTime =th.data.is_user_task ? th.data.is_user_task.openTime : 0 let validTime=res.data.data.validTime let invalidTime =0 if (openTime && validTime > 0) { invalidTime = openTime*1 + validTime*60*60 } th.setData({ invalidTime }); th.invalid_count_down() //失效倒计时 } } }) }, // 距离失效倒计时 invalid_count_down(){ let invalidTime = this.data.invalidTime let nowTime = parseInt((new Date().getTime())/1000) if (invalidTime) { let disTime = invalidTime - nowTime if (disTime>0) { let h = parseInt(disTime/(60*60)) h = h*1 < 10 ? '0'+ h : h let m= parseInt((disTime/60)%60) m = m*1 < 10 ? '0' + m : m let s = disTime % 60 s = s*1 < 10 ? '0'+s : s this.setData({ 'invalidObj.h':h, 'invalidObj.m':m, 'invalidObj.s':s, }) invalidSetTime=setTimeout(this.invalid_count_down,1000) }else{ this.setData({ invalidObj:{ h:'00', m:'00',s:'00'}, invalidState:false }) } }else{ this.setData({ invalidObj:{h:'00', m:'00',s:'00'} }) } }, //获取助力活动参与的人数 get_user_task_num: function () { var th = this; var help_id = th.data.help_id; var aitem = this.data.aitem; //任务的数据集 var sw_index = this.data.sw_index; //轮播的下标 //任务id var taskid = aitem[sw_index].id; rq.get("/api/weshop/marketing/help/involve/help/act/people/count", { data: { helpId: help_id, storeId: os.stoid, taskId: taskid }, success: function (su) { if (su.data.code == 0) { var usercount = su.data.data.countAll; th.setData({ usercount: usercount }); } } }) }, //轮播卡死的重置 changeGoodsSwip: function (detail) { if (detail.detail.source == "touch") { //当页面卡死的时候,current的值会变成0 if (detail.detail.current == 0) { //有时候这算是正常情况,所以暂定连续出现3次就是卡了 let swiperError = this.data.swiperError swiperError += 1 this.setData({ swiperError: swiperError }) if (swiperError >= 3) { //在开关被触发3次以上 this.setData({ sw_index: this.data.preIndex }); //,重置current为正确索引 this.setData({ swiperError: 0 }) } } else { //正常轮播时,记录正确页码索引 this.setData({ preIndex: detail.detail.current }); //将开关重置为0 this.setData({ swiperError: 0 }) } } }, // 轮播图点击左边 click_pre: function () { var arr = []; this.setData({ dismantle: arr }); var index = this.data.sw_index; index--; if (index < 0) return; var aitem = this.data.aitem; var task_number = aitem[index].giftQty - aitem[index].useGiftQty; var task_id = aitem[index].id; this.setData({ sw_index: index, task_number: task_number, taskid: task_id, is_dismantle: 0, is_clik: 1, bc_page: 1, giftQty:aitem[index].giftQty }) if (this.data.switch_head == 1) { //判断有没有帮拆记录 console.log("往左点////////////////////"); this.dismantle_record(); } if (this.data.switch_head == 0) { //判断有没有领取任务 this.get_user_task(); } }, //轮播图点击右边 click_next: function () { var arr = []; this.setData({ is_clik: 1, dismantle: arr }); var index = this.data.sw_index; index++; if (index >= this.data.aitem.length) return; var aitem = this.data.aitem; var task_number = aitem[index].giftQty - aitem[index].useGiftQty; var task_id = aitem[index].id; this.setData({ sw_index: index, task_number: task_number, taskid: task_id, is_dismantle: 0, bc_page: 1, giftQty:aitem[index].giftQty }) if (this.data.switch_head == 1) { this.dismantle_record(); } }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { //--清理定时器-- clearInterval(this.data.timer); }, //----助力任务的时间----- countDown() { if (!this.data.is_timer) return false; var th = this; // 获取当前时间,同时得到活动结束时间数组 var newTime = ut.gettimestamp(); // 对结束时间进行处理渲染到页面 // var o = endTimeList[i]; var endTime = th.data.endDate; // if (o.status == 0) endTime = o.start_time 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 { //活动已结束,全部设置为'00' obj = { day: '00', hou: '00', min: '00', sec: '00' } } var txt = "aitem[" + 0 + "].djs"; th.setData({ [txt]: obj }); }, //---小于10的格式化函数---- timeFormat(param) { return param < 10 ? '0' + param : param; }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { getApp().globalData.no_clear=1 }, preview: function () { var th = this; var shareImgPath = th.data.shareImgPath; getApp().globalData.no_clear=1; wx.previewImage({ url: shareImgPath[0], urls: shareImgPath }) }, //关闭分享显示 close_share: function () { var th = this; th.setData({ is_share: 0 }) }, syinfo: function () { console.log('bbb----------'); var th = this; //获取用户设备信息,屏幕宽度 wx.getSystemInfo({ success: res => { var rpxR = 750 / res.screenWidth; var r_height=res.windowHeight*rpxR; console.log(r_height,'11111') th.setData({ screenWidth: res.screenWidth, r_heght:r_height }) } }) }, //************************ */ shareFrends: function (e) { var th = this; if (th.data.is_generate) return; th.data.is_generate = 1; th.setData({canvasHidden:0}); var scene = this.data.is_user_task.id; ///二微码 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/user/assistance/friend_assistance"; console.log('二维码路径'); console.log(path3); //读取文件成功则OK-- wx.getImageInfo({ src: path3, success: function (res) { var ewm_path = res.path; // //var act_time="2019.06.26 - 2019.07.02"; //活动的时间 var bg_time = ut.formar_no_full(th.data.dynamic.beginDate,'.'); var end_time = ut.formar_no_full(th.data.dynamic.endDate,'.'); var act_time = bg_time + "-" + end_time; var iurl = th.data.iurl; //图片地址前缀 const ctx = wx.createCanvasContext('share_id'); //绘图上下文 var unit = th.data.screenWidth / 750 * (750/445); var numsize = 20 * unit; //几人助力字体大小 var head_list_img = th.data.head_pic_arr; var num = th.data.head_pic_arr.length; //已有几位好友助力 var aitem = th.data.aitem; //任务的数据集 var sw_index = th.data.sw_index; //轮播的下标 //任务id var help_num = aitem[sw_index].helpNum; var q_num = help_num - num; //还差几位好友助力 var already = num.toString().length + 1; //已有几位好友助力 var lack = q_num.toString().length + 1; //还差几位好友助力 var size = 15 * unit; var imagesize = 40 * unit; //助力人的图片大小 var left = 74 * unit; //助力人头像跟左边的距离 var spacing = 12 * unit; //助力人图片间距 var images = th.data.images; ctx.drawImage(images[0], 0, 0, 445 * unit, 1200 * th.data.screenWidth / 750); //分享的背景图片 ctx.drawImage(images[1], 37 * unit, 185 * unit, 370 * unit, 377 * unit); //分享的背景图片 console.log(111); console.log(th.data.share_lb_img); ctx.drawImage(th.data.share_lb_img, 90 * unit, 231 * unit, 266 * unit, 160 * unit); //分享的礼包的背景图片 ctx.setFillStyle("rgb(221,153,116)"); ctx.setFontSize(size) ctx.fillText("已有", 77 * unit, 430 * unit); ctx.setFillStyle("#FF4746"); ctx.setFontSize(numsize) ctx.fillText(num + "位", 108 * unit, 430 * unit); ctx.setFillStyle("rgb(221,153,116)"); ctx.setFontSize(size) ctx.fillText("好友助力,还差", 116 * unit + already * numsize * unit, 430 * unit); ctx.setFillStyle("#FF4746"); ctx.setFontSize(numsize); ctx.fillText(q_num + "位", 223 * unit + already * numsize * unit, 430 * unit); ctx.setFillStyle("rgb(221,153,116)"); ctx.setFontSize(size); ctx.fillText("达成助力", 230 * unit + lack * numsize * unit + already * numsize * unit, 430 * unit); var c = num / help_num; ctx.drawImage(images[2], 65 * unit, 445 * unit, 320 * unit, 12 * unit); ctx.drawImage(images[3], 65 * unit, 445 * unit, 320 * unit * c, 12 * unit); var head_list_num = 30; var is_head_list = 0; //当需要助力人数小与6个 if (help_num < 6) { var pos_arr = ut.get_box_arr(help_num, 225.25 * unit, 505 * unit, spacing, imagesize / 2); var now_ind = 0; //--判断已助力的人数-- for (var a = 0; a < head_list_img.length; a++) { var pos = pos_arr[now_ind]; ut.draw_circle(ctx, pos.x, pos.y, imagesize / 2, head_list_img[a], 'red', unit); now_ind++; } //--显示还差的人数-- if (help_num - head_list_img.length > 0) { var neednum = help_num - head_list_img.length; //这个是还未助力的位置 for (var i = 0; i < neednum; i++) { var pos = pos_arr[now_ind]; now_ind++; // 助力人的头像 ctx.drawImage(images[4], pos.x - imagesize / 2, pos.y - imagesize / 2, imagesize, imagesize); //分享的背景图片 } } } else if (help_num > 7) { //助力头像数量, 是不是要显示省略图 var zl_head = 0, is_sheng = 0; if (head_list_img.length >= 6) { zl_head = 5; is_sheng = 1; } else { zl_head = head_list_img.length; } //判断已助力的人数 for (var a = 0; a < zl_head; a++) { //绘制头像 ut.draw_circle(ctx, left + imagesize / 2, 505 * unit, imagesize / 2, head_list_img[a], 'red', unit); left += imagesize + spacing; } //如果是省略号的话 if (is_sheng) { ctx.drawImage(images[5], left, 505 * unit - imagesize / 2, imagesize, imagesize); //头像的省略图片 } else { //这个是还未助力的位置 for (var i = 0; i < 6 - head_list_img.length; i++) { // 助力人的头像 ctx.drawImage(images[4], left, 505 * unit - imagesize / 2, imagesize, imagesize); //分享的?号图片 left += imagesize + spacing; } } } else { // 判断已助力的人数 for (var a = 0; a < head_list_img.length; a++) { ctx.save(); ctx.beginPath(); //开始绘制 ctx.arc(left + imagesize / 2, 505 * unit, imagesize / 2, 0, 2 * Math.PI); ctx.setLineWidth(4 * unit); ctx.setStrokeStyle('red'); ctx.setFillStyle("white"); ctx.fill(); ctx.clip(); ctx.drawImage(head_list_img[a], left, 505 * unit - imagesize / 2, imagesize, imagesize); ctx.restore(); left += imagesize + spacing; } if (6 - head_list_img.length > 0) { var neednum = 6 - head_list_img.length; if(neednum>6) neednum=6; //这个是还未助力的位置 for (var i = 0; i < neednum; i++) { // 助力人的头像 ctx.drawImage(images[4], left, 505 * unit - imagesize / 2, imagesize, imagesize); //分享的背景图片 left += imagesize + spacing; } } } ctx.setFillStyle("rgb(255,255,255)"); ctx.setFontSize(size); ctx.fillText("优惠乐翻天,精彩就在你身边!", 37 * unit, 595 * unit); ctx.setFillStyle("rgb(255,255,255)"); ctx.setFontSize(size); ctx.fillText(act_time, 37 * unit, 620 * unit); //绘制活动是时间 ctx.setFillStyle("rgb(255,255,255)"); ctx.setFontSize(size); ctx.fillText("长按识别二维码,可帮我助力!", 37 * unit, 660 * unit); ctx.drawImage(ewm_path, 325 * unit, 585 * unit, 77 * unit, 77 * unit); //分享的背景图片 ctx.save(); //读取文件成功则OK-- // wx.getImageInfo({ // src: path3, // success: function (res) { //把画板内容绘制成图片,并回调 画板图片路径 ctx.draw(false, function () { setTimeout(function () { wx.canvasToTempFilePath({ x: 0, y: 0, width: 750, height: 1200, destWidth:1.2* 750 * 750 / th.data.screenWidth, destHeight:1.2 *1200* 750 / th.data.screenWidth, canvasId: 'share_id', success: function (res) { wx.hideLoading(); var shareImgPath = th.data.shareImgPath; shareImgPath[0] = res.tempFilePath; th.setData({ shareImgPath: shareImgPath, canvasHidden: 1, is_share: 1, is_generate: 0, }) if (!res.tempFilePath) { wx.showModal({ title: '提示', content: '图片绘制中,请稍后重试', showCancel: false }) return false; } }, fail(r) { } }, 500) }) }) } }) }, preview: function () { var th = this; var shareImgPath = th.data.shareImgPath; getApp().globalData.no_clear=1; wx.previewImage({ url: shareImgPath[0], urls: shareImgPath }) th.setData({ is_share: 0 }) }, //关闭分享显示 close_share: function () { var th = this; wx.hideLoading(); th.setData({ is_share: 0 }) }, //把固定的图片加载到本地 imageinfo: async function () { var th = this; var images = th.data.images; var iurl = th.data.iurl; for (var i in images) { var img_path = iurl + images[i]; await getApp().request.promise_downimg(img_path).then(res => { images[i] = res; }) } th.data.images = images; }, //好友猜一猜 save_share: function (e) { if (!this.data.invalidState) { getApp().showWarning("该任务已失效"); return } var th = this; var aitem = this.data.aitem; //任务的数据集 var sw_index = this.data.sw_index; //轮播的下标 var sw_item = aitem[sw_index]; //任务id var taskid = sw_item.id; th.setData({ is_share: 1 }) wx.showLoading({ title: "加载中", }) var url = "/api/weshop/marketing/help/help/task/involve/page"; getApp().request.promiseGet(url, { isShowLoading: false, data: { storeId: os.stoid, taskId: taskid, userId: getApp().globalData.user_id } }).then(res => { if (res.data.code == 0) { var data = res.data.data.pageData; //帮拆数组 if (data.length > 0) { th.data.dynamic = data[0]; var path = th.data.iurl + (sw_item.giftBagUrl?sw_item.giftBagUrl:'/miniapp/images/no-head.jpg'); //先获取礼包分享时的本地路径 getApp().request.promise_downimg(path).then(res => { th.data.share_lb_img = res; //先获取会员的头像 th.info_head(th.shareFrends); }); } } else { wx.hideLoading(); getApp().my_warnning(res.data.msg, 0, th); } }) }, //把已助力好友头像下载到本地 info_head: async function (func) { var th = this; var images = th.data.dynamic.zlHelpUser; var arr = new Array(); var block = th.data.block; if (images) { th.data.head_pic_arr.length = 0; for (var i in images) { var img_path = images[i].headPic; img_path=img_path.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); img_path=img_path.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); await getApp().request.promise_downimg(img_path).then(res => { th.data.head_pic_arr.push(res); }) } } func(); }, //立即兑换 redeem_now: function (e) { var libao_id = e.currentTarget.dataset.libaoid; var sw_index = this.data.sw_index; var aitem = this.data.aitem; var taskid = aitem[sw_index].id; var taskingid = e.currentTarget.dataset.taskingid; getApp().goto("/pages/user/assistance/giftpacklist?help_id=" + this.data.help_id + "&is_libao=" + 1 + "&taskId=" + taskid + "&id=" + taskingid); }, //礼包的详情 轮播图 libao_details: function (e) { var th = this; var help_id = th.data.help_id; //活动id var taskId = e.currentTarget.dataset.taskid; //任务id getApp().goto("/pages/user/assistance/giftpacklist?help_id=" + help_id + "&is_libao=" + 0 + "&taskId=" + taskId); }, user_task_list_click:function(){ if (this.data.switch_head==0) return false; this.data.block=0; this.user_task_list(); }, go_task:function(e){ var taskid=e.currentTarget.dataset.taskid; this.go_to_task(taskid); }, go_to_task(task_id){ var index = 0; var aitem = this.data.aitem; for(var i=0;i{ 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 }) } } } }, })