123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560 |
- var util = require('../../utils/util.js');
- var status = require('../../utils/index.js');
- var a = require("../../utils/public");
- var e = require('../../wxParse/wxParse.js');
- var countDownInit = require("../../utils/countDown");
- var wcache = require('../../utils/wcache.js');
- var app = getApp();
- var timerOut = '';
- Page(Object.assign({}, countDownInit.default, {
- data: {
- needAuth: false,
- stopClick: false,
- community: {},
- rushList: [],
- commingList: [],
- countDownMap: [],
- actEndMap: [],
- skuList: [],
- pageNum: 1,
- notice_list: [],
- slider_list: [],
- shop_info: {},
- showEmpty: false,
- indexBottomImage: '',
- classification: {
- tabs: [],
- activeIndex: 0
- },
- commingClassification: {
- tabs: [],
- activeIndex: 0
- },
- isShowCommingClassification: true,
- isShowClassification: true,
- showChangeCommunity: false,
- isTipShow: false,
- isShowGuide: false,
- index_lead_image: '',
- theme: 0,
- cartNum: 0,
- navigat: [],
- tabIdx: 0,
- scrollDirect: "",
- isSticky: false,
- showCommingEmpty: false,
- stopNotify: true,
- reduction: {},
- is_share_html: true,
- commingNum: 0,
- couponRefresh: false,
- index_change_cate_btn: 0,
- newComerRefresh: false,
- showNewCoupon: false,
- copy_text_arr: [],
- showCopyText: false
- },
- isFirst: 0,
- $data: {
- stickyFlag: false,
- scrollTop: 0,
- overPageNum: 1,
- loadOver: false,
- hasOverGoods: false,
- countDownMap: {},
- actEndMap: {},
- timer: {},
- scrollHeight: 1300,
- stickyTop: 0,
- hasCommingGoods: true,
- groupInfo: {
- group_name: '社区',
- owner_name: '团长'
- },
- },
- tpage: 1,
- hasRefeshin: false,
- postion: {},
- options: '',
- /**
- * 监控滚动事件
- */
- onPageScroll: function (t) {
- if (!this.$data.isLoadData) {
- if (t.scrollTop < this.$data.scrollHeight) {
- if (t.scrollTop > this.$data.scrollTop) {
- "down" !== this.data.scrollDirect && this.setData({
- scrollDirect: "down"
- })
- } else {
- "up" != this.data.scrollDirect && this.setData({
- scrollDirect: "up"
- })
- }
- } else {
- "down" !== this.data.scrollDirect && this.setData({
- scrollDirect: "down"
- })
- }
- if (t.scrollTop > this.$data.stickyTop) {
- this.data.isSticky || (this.setData({
- isSticky: true
- }), this.$data.stickyFlag = true)
- } else {
- t.scrollTop < this.$data.stickyBackTop && this.data.isSticky && (this.setData({
- isSticky: false
- }), this.$data.stickyFlag = false)
- }
- this.$data.scrollTop = t.scrollTop
- }
- },
- onLoad: function(options) {
- console.log('options', options);
- wx.hideTabBar();
- var that = this;
- status.setNavBgColor();
- that.setData({ systemInfo: app.globalData.systemInfo });
- status.setGroupInfo().then((groupInfo) => { that.setData({ groupInfo }) });
- console.log('step1');
- if (options && Object.keys(options).length != 0) {
- console.log('step2');
- var scene = decodeURIComponent(options.scene);
- let community = wx.getStorageSync('community');
- let community_id = community.communityId;
- if (scene != 'undefined') {
- //$share_id.'_'.$member_id
- var opt_arr = scene.split("_");
- options.community_id = opt_arr[0];
- wcache.put('share_id', opt_arr[1]);
- }
- that.options = options;
- if (options.share_id != 'undefined' && options.share_id > 0) wcache.put('share_id', options.share_id);
- if (options.community_id != 'undefined' && options.community_id > 0) {
- console.log('step3');
- app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.get_community_info',
- 'community_id': options.community_id
- },
- dataType: 'json',
- success: function(res) {
- var token = wx.getStorageSync('token');
- if (res.data.code == 0) {
- console.log('step4');
- var community = res.data.data;
- if (options.community_id != community_id) {
- that.setData({
- showChangeCommunity: true,
- changeCommunity: community
- })
- }
- that.loadPage();
- that.setData({
- hidetip: false,
- token: token,
- showEmpty: false
- })
- } else {
- console.log('step5');
- that.loadPage();
- that.setData({
- hidetip: false,
- token: token,
- showEmpty: false
- })
- }
- token && that.addhistory();
- }
- })
- } else {
- console.log('step6');
- that.loadPage();
- }
- } else {
- console.log('step7');
- that.loadPage();
- var token = wx.getStorageSync('token');
- that.setData({
- hidetip: false,
- token: token,
- showEmpty: false
- })
- }
- },
- addhistory: function (id=0) {
- console.log('step13');
- let community_id = 0;
- if (id==0) {
- var community = wx.getStorageSync('community');
- community_id = community.communityId;
- } else {
- community_id = id;
- }
- console.log('history community_id=' + community_id);
- var token = wx.getStorageSync('token');
- let that = this;
- community_id !==void 0 && app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.addhistory_community',
- community_id: community_id,
- 'token': token
- },
- dataType: 'json',
- success: function(res) {
- if(id!=0) that.getHistoryCommunity(), console.log('addhistory+id', id);
- }
- })
- },
- loadPage: function() {
- wx.showLoading();
- console.log('step8');
- let that = this;
- that.get_index_info();
- that.getNavigat();
- status.loadStatus().then(function() {
- let appLoadStatus = app.globalData.appLoadStatus;
- console.log('appLoadStatus',appLoadStatus)
- if (appLoadStatus == 0) {
- wx.hideLoading();
- that.setData({ needAuth: true });
- } else if (appLoadStatus == 2) {
- console.log('step9');
- that.getHistoryCommunity();
- } else {
- console.log('step12');
- let community = wx.getStorageSync('community');
- community || (community=app.globalData.community);
- if (!community){
- util.getCommunityInfo().then((res) => {
- that.setData({
- community: that.fliterCommunity(res)
- })
- })
- } else {
- that.setData({
- community: that.fliterCommunity(community)
- })
- }
- console.log('step18');
- that.load_goods_data();
- }
- });
- },
- // 不显示社区省份
- fliterCommunity: function (community){
- let resArr = community && community.fullAddress && community.fullAddress.split('省');
- let newCommunity = Object.assign({}, community, { address: resArr[1] || resArr[0] });
- return newCommunity;
- },
- onShow: function() {
- // 页面显示
- let that = this;
- console.log('isFirst',that.isFirst)
- this.setData({ stopNotify: false, couponRefresh: true, tabbarRefresh: true })
- if (util.check_login()) {
- this.setData({ needAuth: false })
- } else {
- this.setData({ needAuth: true });
- }
- app.globalData.timer.start();
- (0, status.cartNum)('', true).then((res)=>{
- res.code == 0 && that.setData({ cartNum: res.data })
- });
- if (app.globalData.changedCommunity) {
- console.log('change')
- app.globalData.goodsListCarCount = [];
- let community = app.globalData.community;
- this.setData({
- community: that.fliterCommunity(community),
- newComerRefresh: false
- });
- this.getCommunityPos(community.communityId);
- this.hasRefeshin = false;
- this.setData({
- newComerRefresh: true,
- rushList: [],
- pageNum: 1,
- classificationId: null,
- "classification.activeIndex": -1
- }, () => {
- this.setData({
- "classification.activeIndex": 0
- })
- })
- this.$data = {
- ...this.$data, ...{
- overPageNum: 1,
- loadOver: false,
- hasOverGoods: false,
- countDownMap: {},
- actEndMap: {},
- timer: {},
- stickyFlag: false,
- hasCommingGoods: true
- }
- }
- app.globalData.changedCommunity = false, this.get_index_info(), this.addhistory();
- this.load_goods_data();
- } else {
- console.log('nochange')
- if (that.isFirst>=1){
- this.setData({ loadOver: true })
- let goodsListCarCount = app.globalData.goodsListCarCount; //[{ actId: 84, num: 2}]
- let rushList = this.data.rushList;
- if (goodsListCarCount.length > 0 && rushList.length>0){
- let newRushList = [];
- let changeCarCount = false;
- goodsListCarCount.forEach(function(item){
- let k = rushList.findIndex((n) => n.actId == item.actId);
- if (k != -1 && rushList[k].skuList.length === 0) {
- let newNum = item.num * 1;
- rushList[k].car_count = newNum >= 0 ? newNum : 0;
- changeCarCount = true;
- }
- })
- this.setData({ rushList, changeCarCount })
- // app.globalData.goodsListCarCount = [];
- }
- }
- }
- that.isFirst++;
- },
- onHide: function() {
- this.setData({ stopNotify: true, couponRefresh: false, tabbarRefresh: false, changeCarCount: false })
- console.log('详情页', this.data.stopNotify)
- app.globalData.timer.stop();
- console.log('onHide')
- },
- /**
- * 授权成功回调
- */
- authSuccess: function() {
- console.log('authSuccess');
- let that = this;
- this.tpage = 1;
- this.hasRefeshin = false;
- this.setData({
- rushList: [],
- pageNum: 1,
- needAuth: false
- })
- this.$data = {
- ...this.$data, ...{
- overPageNum: 1,
- loadOver: false,
- hasOverGoods: false,
- countDownMap: {},
- actEndMap: {},
- timer: {},
- hasCommingGoods: true
- }
- }
- status.getInNum().then((isCan) => {
- if (isCan) {
- that.setData({ isTipShow: true })
- timerOut = setTimeout(() => { that.setData({ isTipShow: false }) }, 7000);
- }
- })
- this.loadPage();
- this.data.isTipShow && (timerOut = setTimeout(() => { that.setData({ isTipShow: false }) }, 7000));
- },
- //获取历史社区
- getHistoryCommunity: function () {
- let that = this;
- var token = wx.getStorageSync('token');
- app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.load_history_community',
- token: token
- },
- dataType: 'json',
- success: function (res) {
- console.log('step14');
- if (res.data.code == 0) {
- console.log('getHistoryCommunity');
- let history_communities = res.data.list;
- let isNotHistory = false;
- if (Object.keys(history_communities).length == 0 || history_communities.communityId == 0) isNotHistory = true;
-
- let resArr = history_communities && history_communities.fullAddress && history_communities.fullAddress.split('省');
- history_communities = Object.assign({}, history_communities, { address: resArr[1] })
- that.setData({
- community: history_communities
- })
- wcache.put('community', history_communities);
- app.globalData.community = history_communities;
- that.setData({
- community: app.globalData.community
- })
- that.load_goods_data();
- } else {
- let options = that.options;
- if (options !== void 0 && options.community_id) {
- console.log('新人加入分享进来的社区id:', that.options);
- that.addhistory(options.community_id);
- } else {
- wx.redirectTo({
- url: "/lionfish_comshop/pages/position/community"
- })
- }
- }
- }
- })
- },
-
- getScrollHeight: function () {
- wx.createSelectorQuery().select('.rush-list-box').boundingClientRect((rect) => {
- rect && rect.height && (this.$data.scrollHeight = rect.height || 1300);
- console.log(this.$data.scrollHeight)
- }).exec()
- },
- /**
- * 引导页切换
- */
- handleProxy: function(){
- clearTimeout(timerOut);
- this.setData({
- isTipShow: false,
- isShowGuide: true
- })
- wcache.put('inNum', 4);
- },
- handleHideProxy: function(){
- this.setData({
- isTipShow: false,
- isShowGuide: false
- })
- },
- /**
- * 获取首页信息
- */
- get_index_info: function() {
- let that = this;
- let community = wx.getStorageSync('community');
- let communityId = community && community.communityId || '';
- let token = wx.getStorageSync('token');
- app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.index_info',
- communityId,
- token
- },
- dataType: 'json',
- success: function(res) {
- let rdata = res.data;
- if (rdata.code == 0) {
- if (!res.data.is_community && communityId && !that.data.needAuth) {
- wx.showModal({
- title: '提示',
- content: '该小区不在,请重新选择小区',
- showCancel: false,
- confirmColor: '#F75451',
- success(res) {
- if (res.confirm) {
- wx.redirectTo({
- url: '/lionfish_comshop/pages/position/community',
- })
- }
- }
- })
- }
- let notice_list = rdata.notice_list;
- let slider_list = rdata.slider_list;
- let index_lead_image = rdata.index_lead_image;
- if(index_lead_image){
- status.getInNum().then((isCan)=>{
- if (isCan) {
- that.setData({ isTipShow: true },()=>{
- timerOut = setTimeout(() => { that.setData({ isTipShow: false }) }, 9000);
- })
- }
- })
- } else {
- that.setData({ isTipShow: false })
- }
- let common_header_backgroundimage = rdata.common_header_backgroundimage;
- app.globalData.common_header_backgroundimage = common_header_backgroundimage;
- let order_notify_switch = rdata.order_notify_switch;
- let index_list_top_image_on = rdata.index_list_top_image_on || 1;
- let index_change_cate_btn = rdata.index_change_cate_btn || 0;
- let default_img = '../../images/rush-title.png';
- if (index_list_top_image_on == 1) default_img='';
- let index_list_top_image = rdata.index_list_top_image ? rdata.index_list_top_image : default_img;
- let shop_info = {
- shoname: rdata.shoname,
- shop_index_share_image: rdata.shop_index_share_image,
- index_list_top_image: index_list_top_image,
- title: rdata.title,
- common_header_backgroundimage,
- order_notify_switch,
- index_top_img_bg_open: rdata.index_top_img_bg_open || 0,
- index_top_font_color: rdata.index_top_font_color || '#fff'
- }
- app.globalData.placeholdeImg = rdata.index_loading_image || '';
- wcache.put('shopname', rdata.shoname);
- wx.setNavigationBarTitle({ title: rdata.shoname });
- let category_list = rdata.category_list || [];
- let index_type_first_name = rdata.index_type_first_name || '全部';
- if (category_list.length > 0) {
- category_list.unshift({
- name: index_type_first_name,
- id: 0
- })
- that.setData({
- isShowClassification: true,
- "classification.tabs": category_list
- })
- } else {
- that.setData({
- isShowClassification: false
- })
- }
- let theme = rdata.theme || 0;
- let rushEndTime = rdata.rushtime*1000 || 0;
- let isShowShareBtn = rdata.index_share_switch || 0;
- let isShowListCount = rdata.is_show_list_count || 0;
- let isShowListTimer = rdata.is_show_list_timer || 0;
- let isShowContactBtn = rdata.index_service_switch || 0;
- let index_switch_search = rdata.index_switch_search || 0;
- if (rdata.is_comunity_rest == 1 && !that.data.needAuth) {
- wx.showModal({
- title: '温馨提示',
- content: '团长休息中,欢迎下次光临!',
- showCancel: false,
- confirmColor: '#F75451',
- confirmText: '好的',
- success(res) { }
- })
- }
- that.postion = rdata.postion;
- that.setData({
- notice_list,
- slider_list,
- index_lead_image,
- theme,
- indexBottomImage: rdata.index_bottom_image || '',
- shop_info: shop_info,
- loadOver: true,
- rushEndTime,
- commingNum: rdata.comming_goods_total,
- isShowShareBtn,
- isShowListCount,
- isShowListTimer,
- is_comunity_rest: rdata.is_comunity_rest,
- index_change_cate_btn,
- isShowContactBtn,
- index_switch_search,
- is_show_new_buy: rdata.is_show_new_buy || 0,
- qgtab: res.data.qgtab || {},
- notice_setting: rdata.notice_setting || {},
- index_hide_headdetail_address: rdata.index_hide_headdetail_address || 0,
- is_show_spike_buy: rdata.is_show_spike_buy || 0,
- hide_community_change_btn: rdata.hide_community_change_btn || 0,
- hide_top_community: rdata.hide_top_community || 0,
- index_qgtab_text: rdata.index_qgtab_text,
- ishow_index_copy_text: rdata.ishow_index_copy_text || 0
- })
- }
- }
- })
- },
- /**
- * 跳转地址选择
- */
- goSelectCommunity: function() {
- wx.redirectTo({
- url: '/lionfish_comshop/pages/position/community',
- })
- },
- /**
- * 确认切换社区
- */
- confrimChangeCommunity: function() {
- let community = this.data.changeCommunity;
- app.globalData.community = community;
- wcache.put('community', community);
- this.$data = {
- ...this.$data, ...{
- overPageNum: 1,
- loadOver: false,
- hasOverGoods: false,
- countDownMap: {},
- actEndMap: {},
- timer: {},
- stickyFlag: false
- }
- }
- this.hasRefeshin = false;
- this.setData({
- showChangeCommunity: false,
- community: community,
- rushList: [],
- pageNum: 1
- }, () => {
- this.loadPage();
- this.addhistory();
- })
- },
- /**
- * 关闭切换社区
- */
- closeChangeCommunity: function(){
- this.setData({
- showChangeCommunity: false
- })
- },
- /**
- * 获取商品列表
- */
- load_goods_data: function() {
- var token = wx.getStorageSync('token');
- var that = this;
- var cur_community = wx.getStorageSync('community');
- var gid = that.data.classificationId;
- this.$data.isLoadData = true;
- console.log('load_goods_begin ');
- if (!that.hasRefeshin && !that.$data.loadOver) {
- console.log('load_goods_in ');
- this.hasRefeshin = true;
- that.setData({
- loadMore: true
- });
- app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.load_gps_goodslist',
- token: token,
- pageNum: that.data.pageNum,
- head_id: cur_community.communityId,
- gid
- },
- dataType: 'json',
- success: function(res) {
- if (res.data.code == 0) {
- let rushList = '';
- if (res.data.is_show_list_timer==1) {
- rushList = that.transTime(res.data.list);
- for (let s in that.$data.countDownMap) that.initCountDown(that.$data.countDownMap[s]);
- } else {
- let oldRushList = that.data.rushList;
- rushList = oldRushList.concat(res.data.list);
- }
- let rdata = res.data;
- let reduction = { full_money: rdata.full_money, full_reducemoney: rdata.full_reducemoney, is_open_fullreduction: rdata.is_open_fullreduction }
- if (that.data.pageNum==1) that.setData({ copy_text_arr: rdata.copy_text_arr || [] })
- that.hasRefeshin = false;
- that.setData({
- rushList: rushList,
- pageNum: that.data.pageNum + 1,
- loadMore: false,
- reduction,
- tip: ''
- }, ()=>{
- if (that.isFirst == 1) {
- that.isFirst++;
- if (rushList.length && !that.$data.stickyTop) {
- wx.createSelectorQuery().select(".tab-nav").boundingClientRect(function (t) {
- if (t && t.top){
- wcache.put('tabPos', t);
- that.$data.stickyTop = t.top + t.height, that.$data.stickyBackTop = t.top;
- } else {
- let tabpos = wcache.get('tabPos', false);
- if (tabpos) that.$data.stickyTop = tabpos.top + tabpos.height, that.$data.stickyBackTop = tabpos.top;
- }
- }).exec();
- that.$data.scrollTop > that.$data.stickyTop && wx.pageScrollTo({
- duration: 0,
- scrollTop: that.$data.stickyTop + 4
- });
- }
- }
- that.getScrollHeight();
- if (that.data.pageNum == 2 && res.data.list.length < 10) {
- console.log('load_over_goods_list_begin')
- that.$data.loadOver = true;
- that.hasRefeshin = true;
- that.setData({
- loadMore: true
- }, () => {
- that.load_over_gps_goodslist();
- });
- }
- });
- } else if (res.data.code == 1) {
- that.$data.loadOver = true;
- that.load_over_gps_goodslist();
- } else if (res.data.code == 2) {
- //no login
- that.setData({ needAuth: true })
- }
- },
- complete: function() {
- that.$data.isLoadData = false;
- wx.hideLoading();
- }
- })
- } else {
- that.load_over_gps_goodslist();
- }
- },
- /**
- * 组合倒计时时间
- */
- transTime: function(list) {
- let that = this;
- e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
- e === 0 && list.map(function(t) {
- t.end_time *= 1000;
- that.$data.countDownMap[t.end_time] = t.end_time, that.$data.actEndMap[t.end_time] = t.end_time <= new Date().getTime() || t.spuCanBuyNum == 0;
- })
- return that.data.rushList.concat(list);
- },
- /**
- * 获取售罄商品
- */
- load_over_gps_goodslist: function() {
- var token = wx.getStorageSync('token');
- var that = this;
- var cur_community = wx.getStorageSync('community');
- var gid = that.data.classificationId;
- if (!that.$data.hasOverGoods && that.$data.loadOver) {
- that.$data.hasOverGoods = true;
- that.setData({
- loadMore: true
- });
- app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.load_over_gps_goodslist',
- token: token,
- pageNum: that.$data.overPageNum,
- head_id: cur_community.communityId,
- gid
- },
- dataType: 'json',
- success: function(res) {
- if (res.data.code == 0) {
- let rushList = that.transTime(res.data.list);
- for (let s in that.$data.countDownMap) that.initCountDown(that.$data.countDownMap[s]);
- that.$data.hasOverGoods = false;
- that.$data.overPageNum += 1;
- that.setData({
- rushList: rushList,
- loadMore: false,
- tip: ''
- }, ()=>{
- if (that.isFirst == 1) {
- that.isFirst++;
- if (rushList.length && !that.$data.stickyTop) {
- wx.createSelectorQuery().select(".tab-nav").boundingClientRect(function (t) {
- if (t && t.top) {
- wcache.put('tabPos', t);
- that.$data.stickyTop = t.top + t.height, that.$data.stickyBackTop = t.top;
- } else {
- let tabpos = wcache.get('tabPos', false);
- if (tabpos) that.$data.stickyTop = tabpos.top + tabpos.height, that.$data.stickyBackTop = tabpos.top;
- }
- }).exec();
- that.$data.scrollTop > that.$data.stickyTop && wx.pageScrollTo({
- duration: 0,
- scrollTop: that.$data.stickyTop + 4
- });
- }
- }
- that.getScrollHeight();
- });
- } else if (res.data.code == 1) {
- if (that.$data.overPageNum == 1 && that.data.rushList.length == 0) that.setData({
- showEmpty: true
- })
- that.setData({
- loadMore: false,
- tip: '^_^已经到底了'
- })
- } else if (res.data.code == 2) {
- that.setData({ needAuth: true })
- }
- that.$data.isLoadData = false;
- }
- })
- } else {
- that.$data.isLoadData = false;
- }
- },
- /**
- * 监控分类导航
- */
- classificationChange: function(t) {
- console.log(t.detail.e)
- wx.showLoading();
- var that = this;
- this.$data = {...this.$data, ...{
- overPageNum: 1,
- loadOver: false,
- hasOverGoods: false,
- countDownMap: {},
- actEndMap: {},
- timer: {}
- }
- }, this.hasRefeshin = false, this.setData({
- rushList: [],
- showEmpty: false,
- pageNum: 1,
- "classification.activeIndex": t.detail.e,
- classificationId: t.detail.a
- }, function() {
- if (this.$data.stickyFlag && (that.$data.scrollTop != that.$data.stickyTop+5)){
- wx.pageScrollTo({ scrollTop: that.$data.stickyTop + 5, duration: 0 })
- }
- that.load_goods_data();
- });
- },
- /**
- * 监控即将抢购分类导航
- */
- commingClassificationChange: function (t) {
- wx.showLoading();
- var that = this;
- that.tpage = 1;
- this.$data = {...this.$data, ...{hasCommingGoods: true} },
- this.setData({
- showCommingEmpty: false,
- commingList: [],
- "commingClassification.activeIndex": t.detail.e,
- commingClassificationId: t.detail.a
- }, function () {
- if (this.$data.stickyFlag && (that.$data.scrollTop != that.$data.stickyTop + 5)) {
- wx.pageScrollTo({ scrollTop: that.$data.stickyTop + 5, duration: 0 })
- }
- that.getCommingList();
- });
- },
- // 抢购切换
- tabSwitch: function (t) {
- var that = this;
- var tabIdx = 1 * t.currentTarget.dataset.idx;
- this.setData({ tabIdx: tabIdx }, ()=>{
- if (tabIdx == 1) {
- if (that.$data.stickyFlag && (that.$data.scrollTop != that.$data.stickyTop + 5)) {
- wx.pageScrollTo({ scrollTop: that.$data.stickyTop + 5, duration: 0 })
- }
- if (that.tpage == 1) {
- that.getCommingList();
- }
- }
- })
- },
- /**
- * 即将开抢列表
- */
- getCommingList: function(){
- this.data.commigLoadMore && wx.showLoading();
- var token = wx.getStorageSync('token');
- var that = this;
- var cur_community = wx.getStorageSync('community');
- var gid = this.data.commingClassificationId || 0;
- that.$data.isLoadData = true;
- if (that.$data.hasCommingGoods) {
- that.$data.hasCommingGoods = false;
- that.setData({ commigLoadMore: true });
- app.util.request({
- url: 'entry/wxapp/index',
- data: {
- controller: 'index.load_comming_goodslist',
- token: token,
- pageNum: that.tpage,
- head_id: cur_community.communityId,
- gid
- },
- dataType: 'json',
- success: function (res) {
- wx.hideLoading();
- if (res.data.code == 0) {
- let commingList = res.data.list;
- commingList = that.data.commingList.concat(commingList);
- that.$data.hasCommingGoods = true;
- that.tpage += 1;
- that.setData({
- commingList: commingList,
- commigLoadMore: false,
- commigTip: ''
- },()=>{
- that.getScrollHeight();
- });
- } else if (res.data.code == 1) {
- if (that.tpage == 1 && that.data.commingList.length == 0) that.setData({
- showCommingEmpty: true
- })
- that.setData({
- commigLoadMore: false,
- commigTip: '^_^已经到底了'
- })
- } else if (res.data.code == 2) {
- that.setData({ needAuth: true })
- }
- that.$data.isLoadData = false;
- }
- })
- } else{
- that.$data.isLoadData = false;
- !that.data.commigLoadMore && wx.hideLoading();
- }
- },
- openSku: function(t) {
- var that = this,
- e = t.detail;
- var goods_id = e.actId;
- var options = e.skuList;
- that.setData({
- addCar_goodsid: goods_id
- })
- let list = options.list || [];
- let arr = [];
- if (list.length > 0) {
- for (let i = 0; i < list.length; i++) {
- let sku = list[i]['option_value'][0];
- let temp = {
- name: sku['name'],
- id: sku['option_value_id'],
- index: i,
- idx: 0
- };
- arr.push(temp);
- }
- //把单价剔除出来begin
- var id = '';
- for (let i = 0; i < arr.length; i++) {
- if (i == arr.length - 1) {
- id = id + arr[i]['id'];
- } else {
- id = id + arr[i]['id'] + "_";
- }
- }
- var cur_sku_arr = options.sku_mu_list[id];
- that.setData({
- sku: arr,
- sku_val: 1,
- cur_sku_arr: cur_sku_arr,
- skuList: e.skuList,
- visible: true,
- showSku: true
- });
- } else {
- let goodsInfo = e.allData;
- that.setData({
- sku: [],
- sku_val: 1,
- skuList: [],
- cur_sku_arr: goodsInfo
- })
- let formIds = {
- detail: {
- formId: ""
- }
- };
- formIds.detail.formId = "the formId is a mock one";
- that.gocarfrom(formIds);
- //todo...addcart
- }
- },
- focus: function() {
- this.data.focusFlag = true;
- },
- canBuyFn: function(a, e) {
- var u = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
- i = this.data.skuList[e].canBuyNum - a,
- s = {
- value: a
- };
- i <= 10 && (s.canBuyMsg = "还可以购买 " + i + " 件"), this.data.canBuyMsg && i > 10 && (s.canBuyMsg = ""),
- this.setData(t({}, s, u));
- },
- changeNumber: function(t) {
- var a = t.detail;
- this.data.focusFlag = false, a && this.canBuyFn(a.value, this.data.current);
- },
- goOrder: function() {
- var that = this;
- if (that.data.can_car) {
- that.data.can_car = false;
- }
- var token = wx.getStorageSync('token');
- var community = wx.getStorageSync('community');
- var goods_id = that.data.addCar_goodsid;
- var community_id = community.communityId;
- var quantity = that.data.sku_val;
- var cur_sku_arr = that.data.cur_sku_arr;
- var sku_str = '';
- var is_just_addcar = 1;
- if (cur_sku_arr && cur_sku_arr.option_item_ids) {
- sku_str = cur_sku_arr.option_item_ids;
- }
- //addCar_goodsid: goods_id
- app.util.request({
- 'url': 'entry/wxapp/user',
- 'data': {
- controller: 'car.add',
- 'token': token,
- "goods_id": goods_id,
- "community_id": community_id,
- "quantity": quantity,
- "sku_str": sku_str,
- "buy_type": 'dan',
- "pin_id": 0,
- "is_just_addcar": is_just_addcar
- },
- dataType: 'json',
- method: 'POST',
- success: function(res) {
- //console.log(res);
- if (res.data.code == 3) {
- wx.showToast({
- title: res.data.msg,
- icon: 'none',
- duration: 2000
- })
- } else if (res.data.code == 4) {
- wx.showToast({
- title: '您未登录',
- duration: 2000,
- success: () => {
- that.setData({ needAuth: true })
- }
- })
- } else if (res.data.code == 6) {
- let max_quantity = res.data.max_quantity || '';
- (max_quantity > 0) && that.setData({ sku_val: max_quantity })
- var msg = res.data.msg;
- wx.showToast({
- title: msg,
- icon: 'none',
- duration: 2000
- })
- } else {
- if (is_just_addcar == 1) {
- that.closeSku();
- (0, status.cartNum)(res.data.total);
- that.setData({ cartNum: res.data.total })
- wx.showToast({
- title: "已加入购物车",
- image: "../../images/addShopCart.png"
- })
- } else {
- var pages_all = getCurrentPages();
- if (pages_all.length > 3) {
- wx.redirectTo({
- url: '/lionfish_comshop/pages/buy/index?type=' + that.data.order.buy_type
- })
- } else {
- wx.navigateTo({
- url: '/lionfish_comshop/pages/buy/index?type=' + that.data.order.buy_type
- })
- }
- }
- }
- }
- })
- },
- /**
- * 确认加入购物车
- */
- gocarfrom: function(e) {
- var that = this;
- var is_just_addcar = 1;
- wx.showLoading();
- a.collectFormIds(e.detail.formId);
- that.goOrder();
- },
- /**
- * 关闭购物车选项卡
- */
- closeSku: function() {
- this.setData({
- visible: 0,
- stopClick: false,
- });
- },
- selectSku: function(event) {
- var that = this;
- let str = event.currentTarget.dataset.type;
- let obj = str.split("_");
- let arr = that.data.sku;
- let temp = {
- name: obj[3],
- id: obj[2],
- index: obj[0],
- idx: obj[1]
- };
- arr.splice(obj[0], 1, temp);
- that.setData({
- sku: arr
- })
- var id = '';
- for (let i = 0; i < arr.length; i++) {
- if (i == arr.length - 1) {
- id = id + arr[i]['id'];
- } else {
- id = id + arr[i]['id'] + "_";
- }
- }
- var options = this.data.skuList;
- var cur_sku_arr = options.sku_mu_list[id];
- that.setData({
- cur_sku_arr: cur_sku_arr
- });
- console.log(id);
- },
- /**
- * 数量加减
- */
- setNum: function(event) {
- let types = event.currentTarget.dataset.type;
- var that = this;
- var num = 1;
- let sku_val = this.data.sku_val * 1;
- if (types == 'add') {
- num = sku_val + 1;
- } else if (types == 'decrease') {
- if (sku_val > 1) {
- num = sku_val - 1;
- }
- }
- let arr = that.data.sku;
- var options = this.data.skuList;
- if (arr.length > 0) {
- var id = '';
- for (let i = 0; i < arr.length; i++) {
- if (i == arr.length - 1) {
- id = id + arr[i]['id'];
- } else {
- id = id + arr[i]['id'] + "_";
- }
- }
- }
- if (options.length > 0) {
- let cur_sku_arr = options.sku_mu_list[id];
- if (num > cur_sku_arr['canBuyNum']) {
- num = num - 1;
- }
- } else {
- let cur_sku_arr = this.data.cur_sku_arr;
- if (num > cur_sku_arr['canBuyNum']) {
- num = num - 1;
- }
- }
- this.setData({
- sku_val: num
- })
- },
-
- skuConfirm: function() {
- this.closeSku(), (0, status.cartNum)().then((res) => {
- res.code == 0 && that.setData({ cartNum: res.data })
- });
- },
- /**
- * 返回顶部
- */
- backTop: function() {
- this.stickyFlag = false, wx.pageScrollTo({
- scrollTop: 0
- });
- },
- goLink: function(event) {
- let url = event.currentTarget.dataset.link;
- wx.redirectTo({
- url: url
- })
- },
- goGoods: function(goods_id) {
- let id = goods_id;
- if (!util.check_login()) {
- util.login('/Snailfish_shop/pages/goods/index?id=' + id);
- return false;
- }
- var pages_all = getCurrentPages();
- if (pages_all.length > 3) {
- wx.redirectTo({
- url: '/Snailfish_shop/pages/goods/index?id=' + id
- })
- } else {
- wx.navigateTo({
- url: '/Snailfish_shop/pages/goods/index?id=' + id
- })
- }
- },
- /**
- * 导航小图标
- */
- getNavigat: function(){
- let that = this;
- app.util.request({
- 'url': 'entry/wxapp/index',
- 'data': {
- controller: 'index.get_navigat'
- },
- dataType: 'json',
- success: function (res) {
- if (res.data.code == 0) {
- let navigat = res.data.data || []
- that.setData({ navigat })
- }
- }
- })
- },
-
- /**
- * 导航图标跳转
- */
- goNavUrl: function(t) {
- let idx = t.currentTarget.dataset.idx;
- let navigat = this.data.navigat;
- if (navigat.length > 0) {
- let url = navigat[idx].link;
- let type = navigat[idx].type;
- if (type== 0){
- // 跳转webview
- wx.navigateTo({
- url: '/lionfish_comshop/pages/web-view?url=' + encodeURIComponent(url),
- })
- } else if (type==1) {
- if (url.indexOf('lionfish_comshop/pages/index/index') != -1 || url.indexOf('lionfish_comshop/pages/order/shopCart') != -1 || url.indexOf('lionfish_comshop/pages/user/me') != -1 || url.indexOf('lionfish_comshop/pages/type/index') != -1) {
- wx.switchTab({ url: url })
- } else {
- wx.navigateTo({ url: url })
- }
-
- } else if (type==2){
- // 跳转小程序
- let appid = navigat[idx].appid;
- appid && wx.navigateToMiniProgram({
- appId: navigat[idx].appid,
- path: url,
- extraData: {},
- envVersion: 'release',
- success(res) {
- // 打开成功
- },
- fail(error) {
- console.log(error)
- }
- })
- } else if (type == 3){
- //首页分类
- // t.detail.e 选中索引
- // t.detail.a 选中id
- let classification = this.data.classification;
- let tabs = classification && classification.tabs;
- let cid = url;
- let activeIdx = tabs.findIndex((p) => { return p.id == cid });
- if (activeIdx!=-1) {
- let cateInfo = {
- detail: { e: activeIdx, a: cid }
- };
- this.classificationChange(cateInfo);
- }
- } else if (type == 4) {
- //独立分类
- app.globalData.typeCateId = url;
- wx.switchTab({
- url: '/lionfish_comshop/pages/type/index'
- })
- }
- }
- },
- /**
- * 幻灯片跳转
- */
- goBannerUrl: function (t) {
- let idx = t.currentTarget.dataset.idx;
- let slider_list = this.data.slider_list;
- if (slider_list.length > 0) {
- let url = slider_list[idx].link;
- let type = slider_list[idx].linktype;
- if (type == 0) {
- // 跳转webview
- url && wx.navigateTo({ url: '/lionfish_comshop/pages/web-view?url=' + encodeURIComponent(url) })
- } else if (type == 1) {
- if (url.indexOf('lionfish_comshop/pages/index/index') != -1 || url.indexOf('lionfish_comshop/pages/order/shopCart') != -1 || url.indexOf('lionfish_comshop/pages/user/me') != -1 || url.indexOf('lionfish_comshop/pages/type/index') != -1) {
- url && wx.switchTab({ url: url })
- } else {
- url && wx.navigateTo({ url: url })
- }
- } else if (type == 2) {
- // 跳转小程序
- let appid = slider_list[idx].appid;
- appid && wx.navigateToMiniProgram({
- appId: slider_list[idx].appid,
- path: url,
- extraData: {},
- envVersion: 'release',
- success(res) {
- // 打开成功
- },
- fail(error) {
- console.log(error)
- }
- })
- }
- }
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- this.setData({ couponRefresh: false, newComerRefresh: false });
- this.tpage = 1;
- this.$data = {
- ...this.$data, ...{
- overPageNum: 1,
- loadOver: false,
- hasOverGoods: false,
- countDownMap: {},
- actEndMap: {},
- timer: {},
- stickyFlag: false,
- hasCommingGoods: true
- }
- }
- this.hasRefeshin = false;
- this.setData({
- rushList: [],
- commingList: [],
- tabIdx: 0,
- pageNum: 1,
- couponRefresh: true,
- newComerRefresh: true
- }, ()=>{
- this.loadPage();
- })
- wx.stopPullDownRefresh();
- console.log(111)
- },
- onReachBottom: function(e) {
- if (this.data.tabIdx==0){
- this.load_goods_data();
- } else {
- this.getCommingList();
- }
- },
- /**
- * 获取团长位置
- */
- getCommunityPos: function (community_id){
- let that = this;
- app.util.request({
- 'url': 'entry/wxapp/user',
- 'data': {
- controller: 'index.get_community_position',
- communityId: community_id
- },
- dataType: 'json',
- method: 'POST',
- success: function (res) {
- if (res.data.code == 0) {
- that.postion = res.data.postion;
- }
- }
- })
- },
- /**
- * 查看地图
- */
- gotoMap: function () {
- let community = this.data.community;
- let postion = this.postion || {lat: 0, lon: 0};
- let longitude = parseFloat(postion.lon),
- latitude = parseFloat(postion.lat),
- name = community.disUserName,
- address = `${community.fullAddress}(${community.communityName})`;
- wx.openLocation({
- latitude: latitude,
- longitude: longitude,
- name: name,
- address: address,
- scale: 28
- })
- },
- share_handler: function () {
- this.setData({
- is_share_html: false
- })
- },
- hide_share_handler: function () {
- this.setData({
- is_share_html: true
- })
- },
- // 搜索
- goResult: function (e) {
- let keyword = e.detail.value.replace(/\s+/g, '');
- if (!keyword) {
- wx.showToast({
- title: '请输入关键词',
- icon: 'none'
- })
- return;
- }
- wx.navigateTo({
- url: '/lionfish_comshop/pages/type/result?keyword=' + keyword,
- })
- },
- /**
- * 新人优惠券显示开关
- */
- toggleCoupon: function(){
- this.setData({
- showNewCoupon: !this.data.showNewCoupon
- })
- },
- changeCartNum: function(t) {
- let that = this;
- let e = t.detail;
- (0, status.cartNum)(that.setData({ cartNum: e }));
- },
- /**
- * 一键复制文本
- */
- copyText: function (e) {
- let copy_text_arr = this.data.copy_text_arr;
- let community = this.data.community;
- let communityName = community.communityName;
- let disUserName = community.disUserName;
- let communityAddress = community.address || community.communityAddress || community.fullAddress;
- let data = '-团长信息-\r\n小区:' + communityName + '\r\n团长:' + disUserName + '\r\n自提点:' + communityAddress + '\r\n\r\n今日推荐\r\n';
- if (copy_text_arr.length) {
- copy_text_arr.forEach(function(item, index){
- data += (index + 1) + '.【' + item.goods_name + '】 团购价' + item.price + '\r\n';
- data += '~~~~~~~~~~~~~~~~~~~~\r\n';
- })
- }
- let that = this;
- wx.setClipboardData({
- data: data,
- success: function (res) {
- wx.getClipboardData({
- success: function (res) {
- that.setData({ showCopyText: false })
- wx.showToast({
- title: '复制成功'
- })
- }
- })
- }
- })
- },
- /**
- * 显示关闭复制文本
- */
- showCopyTextHandle: function(e){
- let showCopyText = e.currentTarget.dataset.status;
- this.setData({ showCopyText })
- },
- onShareAppMessage: function(res) {
- this.setData({ is_share_html: true });
- var community = wx.getStorageSync('community');
- var community_id = community.communityId;
- var member_id = wx.getStorageSync('member_id');
- console.log('首页分享地址:');
- console.log(community_id, member_id);
- return {
- title: this.data.shop_info.title,
- path: "lionfish_comshop/pages/index/index?community_id=" + community_id + '&share_id=' + member_id,
- imageUrl: this.data.shop_info.shop_index_share_image,
- success: function() {},
- fail: function() {}
- };
- }
- }))
|