diff --git a/app.js b/app.js
index fc1f971..6bf2f79 100644
--- a/app.js
+++ b/app.js
@@ -115,6 +115,14 @@ App({
                         } else {
                             app.globalData.userInfo = user;
                             app.globalData.user_id = user.user_id;
+
+                            //调用接口判断是不是会员
+                            app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + user.user_id, {}).then(res => {
+                                if (res.data.code == 0) {
+                                    getApp().globalData.guide_id = res.data.data.id;
+                                }
+                            })
+
                         }
                         wx.setStorageSync("userinfo", user);
                     } else {
@@ -474,6 +482,7 @@ App({
             "/pages/goods/categoryList/categoryList?type=1",
             "/pages/cart/cart/cart", "/pages/user/index/index",
             "/pages/distribution/distribution"];
+
         if (arr_tabbar.indexOf(url) != -1) {
             if (url.indexOf("categoryList?type=1") != -1) this.globalData.cat_type = 1;
             if (url.indexOf("categoryList?type=2") != -1) this.globalData.cat_type = 2;
@@ -1033,17 +1042,31 @@ App({
     },
 
     //获取佣金的比例
-    get_commission(first_money,second_money,third_money,th) {
+    get_commission(dis_config,gd_data,goods_num) {
+
+        var fir_num=0;
+        var sec_num=0;
+        var thi_num=0;
+        if(dis_config.pattern==1){
+            fir_num=(gd_data.fir_rate || 0)*goods_num;
+            sec_num=(gd_data.sec_rate || 0)*goods_num;
+            thi_num=(gd_data.thi_rate || 0)*goods_num;
+        }else{
+            fir_num=parseFloat((gd_data.commission || 0) *goods_num*(dis_config.firstRate || 0)/100).toFixed(2);
+            sec_num=parseFloat((gd_data.commission || 0)*goods_num*(dis_config.secondRate || 0)/100).toFixed(2);
+            thi_num=parseFloat((gd_data.commission || 0)*goods_num*(dis_config.thirdRate || 0)/100).toFixed(2);
+        }
+
         if(getApp().globalData.userInfo.is_distribut){
-            var pattern = th.data.dis_config.pattern;         // 分销模式
-            var first_rate = th.data.dis_config.first_rate;      // 一级比例
-            var second_rate = th.data.dis_config.second_rate;    // 二级比例
-            var third_rate = th.data.dis_config.third_rate;      // 三级比例
+            var pattern = dis_config.pattern;         // 分销模式
+            var first_rate = dis_config.first_rate;      // 一级比例
+            var second_rate = dis_config.second_rate;    // 二级比例
+            var third_rate = dis_config.third_rate;      // 三级比例
 
             if(this.globalData.userInfo.first_leader){
                 return parseFloat(parseFloat(first_money).toFixed(2));
             }else{
-                return parseFloat((parseFloat(first_money)+parseFloat(second_money)+parseFloat(third_money)).toFixed(2));
+                return parseFloat((parseFloat(fir_num)+parseFloat(sec_num)+parseFloat(thi_num)).toFixed(2));
             }
         }
     },
diff --git a/app.json b/app.json
index e515f34..cf63bc6 100644
--- a/app.json
+++ b/app.json
@@ -33,7 +33,6 @@
         "pages/cart/cart_wk/cart_wk",
        
         
-   
         "pages/user/userqy/userqy",
         "pages/user/user_spsy/user_spsy",
         "pages/user/user_fw/user_fw",
diff --git a/packageB/pages/luckactivity/luckinfo/luckinfo.js b/packageB/pages/luckactivity/luckinfo/luckinfo.js
index 33feeae..f7460c2 100644
--- a/packageB/pages/luckactivity/luckinfo/luckinfo.js
+++ b/packageB/pages/luckactivity/luckinfo/luckinfo.js
@@ -1161,8 +1161,7 @@ Page({
 		// 	'list.pageData': this.data.record,
 		// 	// record: self.data.list.pageData,
 		// });
-		
-		
+
 	},
 	
 	closePopup() {
diff --git a/packageB/pages/luckactivity/luckinfo/luckinfo.wxml b/packageB/pages/luckactivity/luckinfo/luckinfo.wxml
index f2d3a23..7b8e08f 100644
--- a/packageB/pages/luckactivity/luckinfo/luckinfo.wxml
+++ b/packageB/pages/luckactivity/luckinfo/luckinfo.wxml
@@ -187,7 +187,6 @@
 	
 
 
-
 
 	
 		
diff --git a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js
index a446e4e..791e62c 100644
--- a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js
+++ b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js
@@ -630,7 +630,7 @@ Page({
                         
                         if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
 
-							if (item['exp_sum_type'] == 2) {
+							if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                                 if (goods_weight < 0) goods_weight = 0;
 								goods_weight += item['weight'] * item['buynum'];
                                 cut_good_weight += item['weight'] * item['buynum'];
diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js
index 4d8c024..445639e 100644
--- a/packageC/pages/presell/cart/cart.js
+++ b/packageC/pages/presell/cart/cart.js
@@ -1913,7 +1913,7 @@ Page({
                            
                             if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
 
-                                if (item['exp_sum_type'] == 2) {
+                                if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                                     if (goods_weight < 0) goods_weight = 0;
                                     goods_weight += item['weight'] * item['buynum'];
 								 	cut_good_weight += item['weight'] * item['buynum'];
diff --git a/packageC/pages/presell/cart/cart2.js b/packageC/pages/presell/cart/cart2.js
index 0280add..102d2f7 100644
--- a/packageC/pages/presell/cart/cart2.js
+++ b/packageC/pages/presell/cart/cart2.js
@@ -769,7 +769,7 @@ Page({
                             
                             if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
 
-                                if (item['exp_sum_type'] == 2) {
+                                if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                                      if (goods_weight < 0) goods_weight = 0;
                                      cut_good_weight += item['weight'] * item['buynum'];
 									 goods_weight += item['weight'] * item['buynum'];
diff --git a/packageC/pages/presell/cart/cart2_pre.js b/packageC/pages/presell/cart/cart2_pre.js
index 8c92d21..e9b2809 100644
--- a/packageC/pages/presell/cart/cart2_pre.js
+++ b/packageC/pages/presell/cart/cart2_pre.js
@@ -391,7 +391,7 @@ Page({
                         let item = data[i];
                       
                         if (back_data && back_data['is_by_all'] &&  (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
-                            if (item['exp_sum_type'] == 2) {
+                            if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
 								goods_weight += item['weight'] * item['buynum'];
                                 cut_good_weight += item['weight'] * item['buynum'];								
                             }
diff --git a/packageD/pages/user/coupons/coupons.js b/packageD/pages/user/coupons/coupons.js
index 24bd321..8d07154 100644
--- a/packageD/pages/user/coupons/coupons.js
+++ b/packageD/pages/user/coupons/coupons.js
@@ -42,16 +42,23 @@ Page({
 	by_list:[],
 	isloading:0,
 	pageNum: 1,
+	  currentIndex:0
   },
   /**
    * 生命周期函数--监听页面加载
    */
   onLoad: function (options) {
-		_this = this;
-    this.setData({
-      details: []
-    });
-    this.wjquery();
+	  // _this = this;
+	  // this.setData({
+		//   details: []
+	  // });
+	  // this.wjquery();
+      if(options.index){
+		  this.setData({currentIndex:options.index});
+	  }
+
+
+
   },
   /**
      * 生命周期函数--监听页面显示
@@ -68,18 +75,26 @@ Page({
 		 * by sty
 		 */
 		getApp().getConfig2(function (ee) {
-		  var json_d = JSON.parse(ee.switch_list);
+			var json_d = JSON.parse(ee.switch_list);
 			let is_show_dhwz = json_d.dhwz_switch;
 			let grades = th.data.grades;
 			// console.log('is_show_dhwz----------------------------',is_show_dhwz);
-			if(is_show_dhwz) {
-				if(grades.indexOf('微券兑换') == -1) {
+			if (is_show_dhwz) {
+				if (grades.indexOf('微券兑换') == -1) {
 					grades.push('微券兑换');
-					th.setData({ grades });
-				};
-			};
-		  th.setData({ is_show_dhwz });
+					th.setData({grades});
+				}
+
+			}
+
+			th.setData({is_show_dhwz});
+			th.init_data(th.data.currentIndex);
+
 		},1);
+
+
+
+
   },
 	
 
@@ -155,6 +170,30 @@ Page({
 			this.wjquery();
 		};
 	},
+
+	init_data(idx){
+
+		var name=this.data.grades[idx];
+		this.setData({
+			is_get: 0,
+			pageNum: 1,
+			grade_name: name,
+			currentIndex: idx,
+			is_no_more: 0,
+			current_page: 1,
+			noMore: false,
+			details: [],
+			by_list: [],
+			showQr: false,
+		});
+
+		if(idx == 3) {//微券兑换
+			this.exchange();
+		} else {//其他
+			this.wjquery();
+		};
+	},
+
 	
 	/**
 	 * 点击"立即使用"
diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js
index f67c2a8..6fcc4ab 100644
--- a/pages/cart/cart/cart.js
+++ b/pages/cart/cart/cart.js
@@ -50,13 +50,7 @@ Page({
     onLoad: function () {
         var a = this,
             ee = a;
-        //----获取系统参数-----
-        // getApp().getConfig2(function (e) {
-        //     ee.setData({
-        //         bconfig: e,
-        //         sales_rules: e.sales_rules
-        //     });
-        // })
+      
 
         wx.setNavigationBarTitle({
             title: "购物车",
@@ -122,7 +116,7 @@ Page({
 		    enabled: 1
 		  }
 		}).then(res => {
-			if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
+			if( ut.ajax_ok(res)){
 				var a = res.data.data.pageData;
 				var narr=[];
 				for(var i in a){
@@ -150,7 +144,7 @@ Page({
                 getApp().request.promiseGet("/api/ms/flash_sale/spikepage", {
                     data: req_d,
                 }).then(res => {
-                    if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) {
+                    if (ut.ajax_ok(res)) {
                         th.setData({
                             is_has_flash: 1
                         })
@@ -269,7 +263,7 @@ Page({
 
                         },
                     }).then(res => {
-                        if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
+                        if(ut.ajax_ok2(res)) {
                             by_map = {};
                             for (let i in res.data.data) {
                                 let item = res.data.data[i];
diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js
index 42b4f98..7807ca8 100644
--- a/pages/cart/cart2/cart2.js
+++ b/pages/cart/cart2/cart2.js
@@ -1267,19 +1267,8 @@ Page({
                                     //-- 计算获得佣金的金额 --
                                     if( getApp().globalData.userInfo.is_distribut
                                         && th.data.dis_config && th.data.dis_config.is_yongjin_dk){
-                                        var fir_num=0;
-                                        var sec_num=0;
-                                        var thi_num=0;
-                                        if(th.data.dis_config.pattern==1){
-                                            fir_num=(t.data.data.fir_rate || 0)*gg.goods_num;
-                                            sec_num=(t.data.data.sec_rate || 0)*gg.goods_num;
-                                            thi_num=(t.data.data.thi_rate || 0)*gg.goods_num;
-                                        }else{
-                                            fir_num=parseFloat((t.data.data.commission || 0) *gg.goods_num*(th.data.dis_config.firstRate || 0)/100).toFixed(2);
-                                            sec_num=parseFloat((t.data.data.commission || 0)*gg.goods_num*(th.data.dis_config.secondRate || 0)/100).toFixed(2);
-                                            thi_num=parseFloat((t.data.data.commission || 0)*gg.goods_num*(th.data.dis_config.thirdRate || 0)/100).toFixed(2);
-                                        }
-                                        var c_num=getApp().get_commission(fir_num,sec_num,thi_num,th);
+
+                                        var c_num=getApp().get_commission(th.data.dis_config,t.data.data,gg.goods_num);
 
                                         gd.use_commission=c_num;
                                         t.data.data.use_commission=c_num;
@@ -1327,19 +1316,8 @@ Page({
                                     //-- 计算获得佣金的金额 --
                                     if( getApp().globalData.userInfo.is_distribut
                                         && th.data.dis_config && th.data.dis_config.is_yongjin_dk){
-                                        var fir_num=0;
-                                        var sec_num=0;
-                                        var thi_num=0;
-                                        if(th.data.dis_config.pattern==1){
-                                            fir_num=(t.data.data.fir_rate || 0)*gg.goods_num;
-                                            sec_num=(t.data.data.sec_rate || 0)*gg.goods_num;
-                                            thi_num=(t.data.data.thi_rate || 0)*gg.goods_num;
-                                        }else{
-                                            fir_num=parseFloat((t.data.data.commission || 0) *gg.goods_num*(th.data.dis_config.firstRate || 0)/100).toFixed(2);
-                                            sec_num=parseFloat((t.data.data.commission || 0)*gg.goods_num*(th.data.dis_config.secondRate || 0)/100).toFixed(2);
-                                            thi_num=parseFloat((t.data.data.commission || 0)*gg.goods_num*(th.data.dis_config.thirdRate || 0)/100).toFixed(2);
-                                        }
-                                        var c_num=getApp().get_commission(fir_num,sec_num,thi_num,th);
+
+                                        var c_num=getApp().get_commission(th.data.dis_config,t.data.data,gg.goods_num);
 
                                         gd.use_commission=c_num;
                                         t.data.data.use_commission=c_num;
@@ -2007,7 +1985,7 @@ Page({
                             	
                             if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item[j].goods_id) == -1)) {
 
-								if (item[j]['exp_sum_type'] == 2) {
+								if (item[j]['exp_sum_type'] == 2 && back_data.weight_free>0) {
                                     if (goods_weight < 0) goods_weight = 0;
                                     cut_good_weight += item[j]['weight'] * item[j]['goods_num'];
 									goods_weight += item[j]['weight'] * item[j]['goods_num'];
@@ -2533,7 +2511,7 @@ Page({
 
                                 if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
 
-                                    if (item['exp_sum_type'] == 2) {
+                                    if (item['exp_sum_type'] == 2 && back_data.weight_free>0) {
                                         if (goods_weight < 0) goods_weight = 0;
                                         goods_weight += item['weight'] * item['buynum'];
 										cut_good_weight += item['weight'] * item['buynum'];										
@@ -2565,7 +2543,7 @@ Page({
                                     case 3:
                                         if (goods_piece < 0) goods_piece = 0;
                                         //累积商品数量
-                                        goods_piece += item['buynum'];
+                                        goods_piece += parseInt(item['buynum']) ;
                                         break;
                                 }
                             }
diff --git a/pages/cart/cart2_inte/cart2_inte.js b/pages/cart/cart2_inte/cart2_inte.js
index c72737e..ece1c07 100644
--- a/pages/cart/cart2_inte/cart2_inte.js
+++ b/pages/cart/cart2_inte/cart2_inte.js
@@ -401,20 +401,7 @@ Page({
                       //-- 计算获得佣金的金额 --
                       if (getApp().globalData.userInfo.is_distribut
                           && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
-                          var fir_num = 0;
-                          var sec_num = 0;
-                          var thi_num = 0;
-                          if (th.data.dis_config.pattern == 1) {
-                              fir_num = (inte_data.fir_rate || 0) * gg.goods_num;
-                              sec_num = (inte_data.sec_rate || 0) * gg.goods_num;
-                              thi_num = (inte_data.thi_rate || 0) * gg.goods_num;
-                          } else {
-                              fir_num = parseFloat((inte_data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
-                              sec_num = parseFloat((inte_data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
-                              thi_num = parseFloat((inte_data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
-                          }
-                          var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);
-
+                          var c_num = getApp().get_commission(th.data.dis_config,inte_data, gg.goods_num);
                           t.data.data.use_commission = c_num;
 
                       }
@@ -525,7 +512,7 @@ Page({
               
                 if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1) ) {
 
-                    if (item['exp_sum_type'] == 2) {
+                    if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                         if (goods_weight < 0) goods_weight = 0;
 						goods_weight += item['weight'] * item['buynum'];
                         cut_good_weight += item['weight'] * item['buynum'];
diff --git a/pages/cart/cart2_pt/cart2_pt.js b/pages/cart/cart2_pt/cart2_pt.js
index 9faac8c..46cb45e 100644
--- a/pages/cart/cart2_pt/cart2_pt.js
+++ b/pages/cart/cart2_pt/cart2_pt.js
@@ -283,19 +283,8 @@ Page({
                     //-- 计算获得佣金的金额 --
                     if (getApp().globalData.userInfo.is_distribut
                         && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
-                        var fir_num = 0;
-                        var sec_num = 0;
-                        var thi_num = 0;
-                        if (th.data.dis_config.pattern == 1) {
-                            fir_num = (t.data.data.fir_rate || 0) * gg.goods_num;
-                            sec_num = (t.data.data.sec_rate || 0) * gg.goods_num;
-                            thi_num = (t.data.data.thi_rate || 0) * gg.goods_num;
-                        } else {
-                            fir_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
-                            sec_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
-                            thi_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
-                        }
-                        var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);
+
+                        var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num);
 
                         gd.use_commission = c_num;
                         t.data.data.use_commission = c_num;
@@ -553,7 +542,7 @@ Page({
 
                 if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
 
-                    if (item['exp_sum_type'] == 2) {
+                    if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                         if (goods_weight < 0) goods_weight = 0;
                         cut_good_weight += item['weight'] * item['buynum'];
                         goods_weight += item['weight'] * item['buynum'];
diff --git a/pages/cart/cart_wk/cart_wk.js b/pages/cart/cart_wk/cart_wk.js
index 07a1950..ddca7b3 100644
--- a/pages/cart/cart_wk/cart_wk.js
+++ b/pages/cart/cart_wk/cart_wk.js
@@ -625,7 +625,7 @@ Page({
                 
                 if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
 
-                  if (item['exp_sum_type'] == 2) {
+                  if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                         if (goods_weight < 0) goods_weight = 0;
                         goods_weight += item['weight'] * item['buynum'];
 						cut_good_weight += item['weight'] * item['buynum'];
diff --git a/pages/giftpack/giftpacklist/giftpacklist.js b/pages/giftpack/giftpacklist/giftpacklist.js
index 39044b3..151aa6d 100644
--- a/pages/giftpack/giftpacklist/giftpacklist.js
+++ b/pages/giftpack/giftpacklist/giftpacklist.js
@@ -114,7 +114,7 @@ Page({
         })
 
         if(!options.lbId && options.scene){
-            var gid_str = decodeURIComponent(t.scene);
+            var gid_str = decodeURIComponent(options.scene);
             gid_str = gid_str.split("_");
 
             options.lbId=gid_str[0];
@@ -957,9 +957,6 @@ Page({
         var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
             os.stoid + "?sceneValue=" + scene + "&pageValue=pages/giftpack/giftpacklist/giftpacklist";
 
-        console.log("11111");
-        console.log(path3);
-
         // 读取文件成功则OK--
         wx.getImageInfo({
             src: path3,
@@ -982,9 +979,6 @@ Page({
                                 canvasId: 'share',
                                 success: function (res) {
 
-
-                                    console.log(res.tempFilePath)
-
                                     that.setData({
                                         shareImgPath: res.tempFilePath,
                                         canvasHidden: true
@@ -1147,6 +1141,14 @@ Page({
     savePic() {
         getApp().savePic(this);
     },
+    // 预览海报
+    previewPoster() {
+        getApp().globalData.no_clear=1;
+        wx.previewImage({
+            current: this.data.shareImgPath, // 当前显示图片的http链接
+            urls: [this.data.shareImgPath] ,// 需要预览的图片http链接列表
+        });
+    },
 
 
 
diff --git a/pages/goods/categoryList/categoryList.js b/pages/goods/categoryList/categoryList.js
index 55f8ed5..d245ad4 100644
--- a/pages/goods/categoryList/categoryList.js
+++ b/pages/goods/categoryList/categoryList.js
@@ -604,7 +604,7 @@ Page({
 					}
 				  				  
 				  //进行排序,只有是默认排序的时候,才按首字母排序
-				  if(parseInt(s.data.is_used_share)!=0) continue;
+				  // if(parseInt(s.data.is_used_share)!=0) continue;
 				  
 				  if (arr.length>0){
 					var find = 0;
@@ -625,14 +625,14 @@ Page({
 					  arr.push(item);
 				  }
 			  }  			  
-			  if(parseInt(s.data.is_used_share)==0){
-				  arr.sort(compare("zm"));		
-			  }else{
-				  var ob={array:dda};
-				  arr.push(ob);
-			  }
+			  // if(parseInt(s.data.is_used_share)==0){
+				 //  arr.sort(compare("zm"));		
+			  // }else{
+				 //  var ob={array:dda};
+				 //  arr.push(ob);
+			  // }
 			  
-	
+				arr.sort(compare("zm"));
 		         
           s.setData({ groups: arr });              
           //console.log(s.data.groups)
diff --git a/pages/goods/categoryList/categoryList.wxml b/pages/goods/categoryList/categoryList.wxml
index 4db77d3..f343d68 100644
--- a/pages/goods/categoryList/categoryList.wxml
+++ b/pages/goods/categoryList/categoryList.wxml
@@ -82,6 +82,9 @@
             
 
             
+
+									
+							
               
                 {{item.zm}}
@@ -226,7 +229,7 @@
         
         
         
-        
+
+				
+					
+						
+							 {{classify_name}}
+						
+						
+							{{brand_list.zm}}
+								
+								
+									
+										 
+											{{user.name}}2
+									
+								
+							
+						
+					
+					
+						
+						
+							{{item.zm}}
+						
+					
+				
+				
+				
+				
 				
 				
 				
@@ -462,7 +494,7 @@
 				
 				
         
-        
+
+								
+				
+				
+					
+						
+							 {{classify_name}}
+						
+						
+							{{brand_list.zm}}
+								
+								
+									
+										 
+											{{user.name}}
+									
+								
+							
+						
+					
+					
+						
+						
+						
+							{{item.zm}}
+						
+					
+				
+				
+				
 				
 				
 				
diff --git a/pages/goods/categoryList/categoryList.wxss b/pages/goods/categoryList/categoryList.wxss
index 2ece175..5115230 100644
--- a/pages/goods/categoryList/categoryList.wxss
+++ b/pages/goods/categoryList/categoryList.wxss
@@ -329,6 +329,15 @@ width: 60%;
 		flex-wrap:wrap;
 		overflow-y:scroll;
 	}
+	
+	.classify_content-frame2{
+		box-sizing: border-box;
+		width: 100%;
+		padding: 0 12rpx;
+		flex-wrap:wrap;
+	}
+	
+	
  .country_img-frame{
    width: 48%;
    height: 140rpx;
diff --git a/pages/goods/goodsList/goodsList.js b/pages/goods/goodsList/goodsList.js
index 0135340..ba08ae0 100644
--- a/pages/goods/goodsList/goodsList.js
+++ b/pages/goods/goodsList/goodsList.js
@@ -333,7 +333,7 @@ Page({
                       await getApp().request.promiseGet(url, {}).then(res => {
                           var prom =null;
                           if(res && res.data) prom=res.data.data;
-                          if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_timenow && (prom.start_time now && (prom.start_time < now || (prom.show_time && prom.show_time < now))) {
+                                if (prom != null && prom.is_end == 0 && prom.end_time > now && (prom.start_time < now || (prom_type!=2 && prom.show_time && prom.show_time < now))) {
                                     item.prom_price = res.data.data.price;
                                     if (res.data.data.user_price) item.prom_price = res.data.data.user_price;
                                     var vNum = prom.virtual_num ? prom.virtual_num : 0;
diff --git a/pages/index/index/full_screen.js b/pages/index/index/full_screen.js
index 8b7d8aa..bdbb51d 100644
--- a/pages/index/index/full_screen.js
+++ b/pages/index/index/full_screen.js
@@ -13,14 +13,18 @@
 		getApp().promiseGet("/api/weshop/ad/page?pid=1001&store_id=" + stoid,{
 			data: { enabled: 1 }
 		}).then(res=>{
+
 			//判断是不是有全屏广告
+			// res.data.data.pageData[0].show_type=1
 			if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){
 				getApp().globalData.full_screen=res.data.data.pageData[0];
 				th.setData({
 					is_full_screen_show:1,
 					full_ad:res.data.data.pageData[0],
+					sec_show: res.data.data.pageData[0].show_second || 3
 				})
-				//--定时关闭--
+				//--定时关闭-- 
+				console.log(th.data.sec_show)
 				th.data.full_screen=setInterval(function(){
 					if(!th.data.sec_show) {
 						clearInterval(th.data.full_screen);
@@ -30,6 +34,10 @@
 					th.data.sec_show--;
 					th.setData({sec_show:th.data.sec_show});
 				},1000)
+				
+				if(res.data.data.pageData[0].show_type==1){
+					clearInterval(th.data.full_screen);
+				}
 			}else{
 				getApp().globalData.full_screen=true;
 			}
diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml
index 1cb2746..d30a627 100644
--- a/pages/index/index/index.wxml
+++ b/pages/index/index/index.wxml
@@ -1,11 +1,17 @@
-
-
 
-
-
-	 跳过 {{sec_show}}
+        
+
+    跳过 {{sec_show}}
 
 
+        
+
+    
+    
+    
+
+
+
 
 
 
@@ -27,10 +33,6 @@
 		
 		  
 		    
-				
-		    
 		  
 		  
 		    
@@ -40,7 +42,6 @@
 		  
 		  
 		    
-		    
 		  
 		
 	
@@ -59,33 +60,8 @@
       
     
 
-    
   
-  
-	
-	
+
 
   
   
@@ -153,9 +129,6 @@
   
   
 
-  
-
-
 	
 	
 		
@@ -185,17 +158,13 @@
 								
 								
 									¥{{aitem.price}}
-
 								
 						
 				
 					
 				
 			
-			
+
 		
 	
 	
@@ -364,10 +333,6 @@
         
       
 
-      
     
   
 
@@ -392,13 +357,6 @@
         
       
 
-      
-      
-
     
     
     
@@ -434,17 +392,7 @@
 	  	  
   
   	
-  
-       
-       
-	         
-  
+  
   
   
     
@@ -536,11 +484,7 @@
     
 
   
-	
-	
-	
-	
-	
+
 	
 	
 		提供技术支持
diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss
index dedb960..1172f86 100644
--- a/pages/index/index/index.wxss
+++ b/pages/index/index/index.wxss
@@ -1215,3 +1215,22 @@ page {
 	background-color: #ccc;
 }
 
+
+/* 居中广告 */
+.full_img_main{
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	flex-direction: column;
+}
+
+.full_img_close{
+	width: 80rpx;
+	height: 80rpx;
+	border-radius: 100%;
+	border: 2rpx solid #000;
+	background-color: #fff;
+	display: flex;
+	align-items: center;
+	justify-items: center;
+}
diff --git a/pages/store/index.js b/pages/store/index.js
index 6738480..de6d033 100644
--- a/pages/store/index.js
+++ b/pages/store/index.js
@@ -15,10 +15,6 @@ Page({
 	  islading:0,
   },	
 
-  onShow:function(){
-	   
-  },
- 
   //调用视频接口
   onLoad:function(e){
 	  var th=this;
diff --git a/pages/team/team_success/team_success.js b/pages/team/team_success/team_success.js
index c1d4bfd..29e6e84 100644
--- a/pages/team/team_success/team_success.js
+++ b/pages/team/team_success/team_success.js
@@ -323,7 +323,6 @@ Page({
                   ee.setData({is_pay_wk:1});
              }
     }else{
-      console.log("239什么鬼", teamlist);
         //设置值
       ee.setData({
         ordertx2: ordertx2, ordertx: ordertx, teamlist: teamlist, teamgroup: teamgroup,
@@ -508,9 +507,7 @@ Page({
                     context.setFillStyle("black");
 
 
-
-
-                    th.draw_Text(context,share_title,
+                    getApp().draw_Text(context,share_title,
                         38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
                     //------产品的价格-------
                     context.setFontSize(24 * unit)
@@ -728,34 +725,6 @@ Page({
     },
 
 
-  //文本换行 参数: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);
-      }
-    }
-  },  
 
   //c点击打开拼团弹窗
   cpd: function() {
@@ -906,101 +875,11 @@ Page({
     // 保存图片到手机
     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
-                        });
-                    });
-            }
+        getApp().savePic(this);
 
-        })
     },
 
 
-    // 保存图片到系统相册
-    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,
-                    });
-                }
-            })
-        })
-    },
-
-    // 获取用户已经授予了哪些权限
-    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();
-                }
-            })
-        })
-    },
 
 
 
diff --git a/pages/togoin/togoin.js b/pages/togoin/togoin.js
index 1a0d100..5c124bd 100644
--- a/pages/togoin/togoin.js
+++ b/pages/togoin/togoin.js
@@ -122,6 +122,14 @@ Page({
 						 //把会员的信息存在内存
 						 wx.setStorageSync("userinfo",e.data.data);
 
+						 //调用接口判断是不是会员
+						 app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + user.user_id, {}).then(res => {
+							 if (res.data.code == 0) {
+								 getApp().globalData.guide_id = res.data.data.id;
+							 }
+						 })
+
+
 		                 setTimeout(function () {
                              getApp().globalData.login_back=1;
 		                     wx.navigateBack({ delta: 1})  //返回上一页
@@ -258,7 +266,15 @@ Page({
               getApp().globalData.login_back=1;
               wx.setStorageSync("userinfo",e.data.data);
               wx.setStorageSync("isAuth", !0), app.globalData.userInfo = e.data.data, app.globalData.userInfo.head_pic = t.getFullUrl(app.globalData.userInfo.head_pic);
-              wx.navigateBack({ delta: 1})
+
+			  //调用接口判断是不是会员
+			  app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
+				  if (res.data.code == 0) {
+					  getApp().globalData.guide_id = res.data.data.id;
+				  }
+			  })
+
+			  wx.navigateBack({ delta: 1})
 
           },
           failStatus: function (t) {
@@ -321,6 +337,14 @@ Page({
 	  				 //把会员的信息存在内存
 	  				 wx.setStorageSync("userinfo",e.data.data);
 
+					   //调用接口判断是不是会员
+					   app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
+						   if (res.data.code == 0) {
+							   getApp().globalData.guide_id = res.data.data.id;
+						   }
+					   })
+
+
 	                   setTimeout(function () {
                            getApp().globalData.login_back=1;
 	                       wx.navigateBack({ delta: 1})  //返回上一页
diff --git a/pages/user/index/index.js b/pages/user/index/index.js
index 68d8e0e..62bb0db 100644
--- a/pages/user/index/index.js
+++ b/pages/user/index/index.js
@@ -47,6 +47,9 @@ Page({
     add_card_data: '',  //等级卡的内容
     getusercode_vailtime:10,//会员二维码时效
 		hiddenCS: true,
+
+		is_show_recommend:false
+
 	},
 	goto_nav: function (e) {
 		var th = this;
@@ -152,24 +155,7 @@ Page({
 		})
 		var th = this;
 
-		// 判断是否开启美业
-		getApp().promiseGet('/api/weshop/store/getTabSys/' + os.stoid, {}).then(res => {
-			if (res.data.code == 0) {
-				th.setData({
-					enableMeiye: res.data.data.EnableMeiye,
-				});
-			};
-		});
-
 
-		getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + os.stoid, {}).then(res => {
-			if (res.data.code == 0) {
-				var plusCard = res.data.data;
-				for (var i = 0; i < plusCard.length; i++) {
-					if (!plusCard[i].IsStopBuy) { th.setData({ show_buy_plus: 1 }); break; }
-				}
-			}
-		})
 
 		if (typeof this.getTabBar === 'function' && this.getTabBar()) {
 			var index = getApp().getPageIndex(this);
@@ -189,6 +175,26 @@ Page({
 		var e = getApp().globalData.userInfo;
 		if (e != undefined && e != null && e.mobile) {
 
+
+			// 判断是否开启美业
+			getApp().promiseGet('/api/weshop/store/getTabSys/' + os.stoid, {}).then(res => {
+				if (res.data.code == 0) {
+					th.setData({
+						enableMeiye: res.data.data.EnableMeiye,
+					});
+				};
+			});
+
+			getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + os.stoid, {}).then(res => {
+				if (res.data.code == 0) {
+					var plusCard = res.data.data;
+					for (var i = 0; i < plusCard.length; i++) {
+						if (!plusCard[i].IsStopBuy) { th.setData({ show_buy_plus: 1 }); break; }
+					}
+				}
+			})
+
+
 			this.birthday();
 			this.is_assistance();
 
@@ -451,15 +457,22 @@ Page({
 				}
 			})
 			//th.requestRecommend();
+
+			//自定义组件一定要等到页面加载完了,才来调用selectComponnent
+			setTimeout(function () {
+
+				th.setData({ is_show_recommend:true })
+
+				if (getApp().globalData.user_id) getApp().requestCardNum(th);
+				var goods_list = th.selectComponent("#goods_recommend"); //组件的id
+				goods_list.init();
+				goods_list.get_list();
+			}, 800)
 		}
 
-		//自定义组件一定要等到页面加载完了,才来调用selectComponnent
-		setTimeout(function () {
-			if (getApp().globalData.user_id) getApp().requestCardNum(th);
-			var goods_list = th.selectComponent("#goods_recommend"); //组件的id
-			goods_list.init();
-			goods_list.get_list();
-		}, 800)
+
+
+
 	},
 
 	//判断会员是后有改服务项目
@@ -498,11 +511,14 @@ Page({
 	 */
 	onReachBottom: function () {
 		//!this.nomore && this.requestRecommend();
-		var goods_list = this.selectComponent("#goods_recommend"); //组件的id
-		goods_list.init();
-		setTimeout(function () {
-			goods_list.get_list();
-		}, 300)
+		var e = getApp().globalData.userInfo;
+		if (e != undefined && e != null && e.mobile) {
+			var goods_list = this.selectComponent("#goods_recommend"); //组件的id
+			goods_list.init();
+			setTimeout(function () {
+				goods_list.get_list();
+			}, 300)
+		}
 	},
 
 	/**
diff --git a/pages/user/index/index.wxml b/pages/user/index/index.wxml
index cb78f98..700dfda 100644
--- a/pages/user/index/index.wxml
+++ b/pages/user/index/index.wxml
@@ -296,7 +296,9 @@
 
     
   
-  
+
+  
+  
     
 
       
@@ -318,7 +320,9 @@
 
   
   
+  
   
+  
 
   
   
diff --git a/utils/common.js b/utils/common.js
index 2af9ffd..503da19 100644
--- a/utils/common.js
+++ b/utils/common.js
@@ -13,7 +13,6 @@ module.exports = {
     app: function() {
         return getApp();
     },
-
     //------------获取全路径的图片地址-----------
     getFullUrl: function(e) {
        if(e==undefined || e=="") return "";
@@ -21,11 +20,7 @@ module.exports = {
        e=this.app().globalData.setting.imghost + e;
        return e;
     },
-    getConfigByName: function(e, t, r) {
-        for (var a = 0; a < e.length; a++) if (e[a].name === t && (void 0 === r || void 0 !== r && e[a].inc_type === r)) return e[a].value;
-        return console.warn(t), console.warn(e), null;
-    },
-   
+
     //--------跳转到支付页面--------
     jumpToCart4: function(e, r) {
         var a = {
@@ -43,9 +38,6 @@ module.exports = {
             url: n
         });
     },
-    getCapache: function() {
-        return this.app().request.modifyUrl("/api/user/verify?is_image=1&t=" + Date.parse(new Date()));
-    },
     wxParseAddFullImageUrl: function(t, r) {
         if (void 0 !== t.data[r].images) {
             for (var a = t.data[r], n = 0; n < a.images.length; n++) a.images[n].attr.src = this.getFullUrl(a.images[n].attr.src), 
@@ -53,35 +45,6 @@ module.exports = {
             console.log(a), t.setData(e({}, r, a));
         }
     },
-    sendSmsCode: function(e, t, r) {
-        a = this;
-        if (!e) return a.app().showWarning("手机号码不能为空");
-        void 0 !== t && null !== t || (t = 6);
-        var a = this;
-        this.app().request.post("/home/api/send_validate_code", {
-            data: {
-                mobile: e,
-                scene: t,
-                type: "mobile"
-            },
-            success: function(e) {
-                "function" == typeof r && r(), a.app().confirmBox(e.data.msg);
-            }
-        });
-    },
-    sendBindSmsCode: function(e, t) {
-        r = this;
-        if (!e) return r.app().showWarning("手机号码不能为空");
-        var r = this;
-        this.app().request.post("/home/api/send_validate_code", {
-            data: {
-                mobile: e,
-                scene: "1",
-                type: "user_reg"
-            },
-            success: function(e) {
-                "function" == typeof t && t(), r.app().confirmBox(e.data.msg);
-            }
-        });
-    }
+
+
 };
\ No newline at end of file
diff --git a/utils/phpSerializer.js b/utils/phpSerializer.js
deleted file mode 100644
index 59f9aa3..0000000
--- a/utils/phpSerializer.js
+++ /dev/null
@@ -1,298 +0,0 @@
-// {{{ HTML_AJAX_Serialize_PHP
-/**
- * PHP serializer
- *
- * This class can be used to serialize and unserialize data in a
- * format compatible with PHP's native serialization functions.
- *
- * @version	0.0.3
- * @copyright	2005 Arpad Ray 
- * @license	http://www.opensource.org/licenses/lgpl-license.php  LGPL
- *
- * See Main.js for Author/license details
- */
-
-function utf16to8(str) {
-  var out, i, len, c;
-
-  out = "";
-  len = str.length;
-  for (i = 0; i < len; i++) {
-    c = str.charCodeAt(i);
-    if ((c >= 0x0001) && (c <= 0x007F)) {
-      out += str.charAt(i);
-    } else if (c > 0x07FF) {
-      out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
-      out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
-      out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
-    } else {
-      out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
-      out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
-    }
-  }
-  return out;
-}
-
-function utf8to16(str) {
-  var out, i, len, c;
-  var char2, char3;
-
-  out = "";
-  len = str.length;
-  i = 0;
-  while (i < len) {
-    c = str.charCodeAt(i++);
-    switch (c >> 4) {
-      case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
-        // 0xxxxxxx  
-        out += str.charAt(i - 1);
-        break;
-      case 12: case 13:
-        // 110x xxxx   10xx xxxx  
-        char2 = str.charCodeAt(i++);
-        out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
-        break;
-      case 14:
-        // 1110 xxxx  10xx xxxx  10xx xxxx  
-        char2 = str.charCodeAt(i++);
-        char3 = str.charCodeAt(i++);
-        out += String.fromCharCode(((c & 0x0F) << 12) |
-          ((char2 & 0x3F) << 6) |
-          ((char3 & 0x3F) << 0));
-        break;
-    }
-  }
-  return out;
-}  
-
-
-function HTML_AJAX_Serialize_PHP() {}
-HTML_AJAX_Serialize_PHP.prototype = {
-	error: false,
-	message: "",
-	cont: "",
-	defaultEncoding: 'UTF-8',
-	contentType: 'application/php-serialized; charset: UTF-8',
-	// {{{ serialize
-	/**
-	*  Serializes a variable
-	*
-	*  @param	mixed  inp the variable to serialize
-	*  @return	string   a string representation of the input, 
-	*					  which can be reconstructed by unserialize()
-	*  @author Arpad Ray 
-	*  @author David Coallier 
-	*/
-	serialize: function(inp) {
-		var type = HTML_AJAX_Util.getType(inp);
-		var val;
-		switch (type) {
-			case "undefined":
-				val = "N";
-				break;
-			case "boolean":
-				val = "b:" + (inp ? "1" : "0");
-				break;
-			case "number":
-				val = (Math.round(inp) == inp ? "i" : "d") + ":" + inp;
-				break;
-			case "string":
-				val = "s:" + inp.length + ":\"" + inp + "\"";
-				break;
-			case "array":
-				val = "a";
-			case "object":
-				if (type == "object") {
-					var objname = inp.constructor.toString().match(/(\w+)\(\)/);
-					if (objname == undefined) {
-						return;
-					}
-					objname[1] = this.serialize(objname[1]);
-					val = "O" + objname[1].substring(1, objname[1].length - 1);
-				}
-				var count = 0;
-				var vals = "";
-				var okey;
-				for (key in inp) {
-					okey = (key.match(/^[0-9]+$/) ? parseInt(key) : key);
-					vals += this.serialize(okey) + 
-							this.serialize(inp[key]);
-					count++;
-				}
-				val += ":" + count + ":{" + vals + "}";
-				break;
-		}
-		if (type != "object" && type != "array") val += ";";
-		return val;
-	},
-	// }}} 
-	// {{{ unserialize
-	/**
-	 *  Reconstructs a serialized variable
-	 *
-	 *  @param	string inp the string to reconstruct
-	 *  @return   mixed the variable represented by the input string, or void on failure
-	 */
-	unserialize: function(inp) {
-		this.error = 0;
-		if (inp == "" || inp.length < 2) {
-			this.raiseError("input is too short");
-			return;
-		}
-		var val, kret, vret, cval;
-		var type = inp.charAt(0);
-		var cont = inp.substring(2);
-		var size = 0, divpos = 0, endcont = 0, rest = "", next = "";
-
-		switch (type) {
-		case "N": // null
-			if (inp.charAt(1) != ";") {
-				this.raiseError("missing ; for null", cont);
-			}
-			// leave val undefined
-			rest = cont;
-			break;
-		case "b": // boolean
-			if (!/[01];/.test(cont.substring(0,2))) {
-				this.raiseError("value not 0 or 1, or missing ; for boolean", cont);
-			}
-			val = (cont.charAt(0) == "1");
-			rest = cont.substring(1);
-			break;
-		case "s": // string
-			val = "";
-			divpos = cont.indexOf(":");
-			if (divpos == -1) {
-				this.raiseError("missing : for string", cont);
-				break;
-			}
-			size = parseInt(cont.substring(0, divpos));
-			if (size == 0) {
-				if (cont.length - divpos < 4) {
-					this.raiseError("string is too short", cont);
-					break;
-				}
-				rest = cont.substring(divpos + 4);
-				break;
-			}
-			if ((cont.length - divpos - size) < 4) {
-				this.raiseError("string is too short", cont);
-				break;
-			}
-			if (cont.substring(divpos + 2 + size, divpos + 4 + size) != "\";") {
-				this.raiseError("string is too long, or missing \";", cont);
-			}
-			val = cont.substring(divpos + 2, divpos + 2 + size);
-			rest = cont.substring(divpos + 4 + size);
-			break;
-		case "i": // integer
-		case "d": // float
-			var dotfound = 0;
-			for (var i = 0; i < cont.length; i++) {
-				cval = cont.charAt(i);
-				if (isNaN(parseInt(cval)) && !(type == "d" && cval == "." && !dotfound++)) {
-					endcont = i;
-					break;
-				}
-			}
-			if (!endcont || cont.charAt(endcont) != ";") {
-				this.raiseError("missing or invalid value, or missing ; for int/float", cont);
-			}
-			val = cont.substring(0, endcont);
-			val = (type == "i" ? parseInt(val) : parseFloat(val));
-			rest = cont.substring(endcont + 1);
-			break;
-		case "a": // array
-			if (cont.length < 4) {
-				this.raiseError("array is too short", cont);
-				return;
-			}
-			divpos = cont.indexOf(":", 1);
-			if (divpos == -1) {
-				this.raiseError("missing : for array", cont);
-				return;
-			}
-			size = parseInt(cont.substring(0, divpos));
-			cont = cont.substring(divpos + 2);
-			val = new Array();
-			if (cont.length < 1) {
-				this.raiseError("array is too short", cont);
-				return;
-			}
-			for (var i = 0; i < size; i++) {
-				kret = this.unserialize(cont, 1);
-				if (this.error || kret[0] == undefined || kret[1] == "") {
-					this.raiseError("missing or invalid key, or missing value for array", cont);
-					return;
-				}
-				vret = this.unserialize(kret[1], 1);
-				if (this.error) {
-					this.raiseError("invalid value for array", cont);
-					return;
-				}
-				val[kret[0]] = vret[0];
-				cont = vret[1];
-			}
-			if (cont.charAt(0) != "}") {
-				this.raiseError("missing ending }, or too many values for array", cont);
-				return; 
-			}
-			rest = cont.substring(1);
-			break;
-		case "O": // object
-			divpos = cont.indexOf(":");
-			if (divpos == -1) {
-				this.raiseError("missing : for object", cont);
-				return;
-			}
-			size = parseInt(cont.substring(0, divpos));
-			var objname = cont.substring(divpos + 2, divpos + 2 + size);
-			if (cont.substring(divpos + 2 + size, divpos + 4 + size) != "\":") {
-				this.raiseError("object name is too long, or missing \":", cont);
-				return;
-			}
-			var objprops = this.unserialize("a:" + cont.substring(divpos + 4 + size), 1);
-			if (this.error) {
-				this.raiseError("invalid object properties", cont);
-				return;
-			}
-			rest = objprops[1];
-			var objout = "function " + objname + "(){";
-			for (key in objprops[0]) {
-				objout += "this." + key + "=objprops[0]['" + key + "'];";
-			}
-			objout += "}val=new " + objname + "();";
-			eval(objout);
-			break;
-		default:
-			this.raiseError("invalid input type", cont);
-		}
-		return (arguments.length == 1 ? val : [val, rest]);
-	},
-	// }}}
-	// {{{ getError
-	/**
-	*  Gets the last error message
-	*
-	*  @return	string   the last error message from unserialize()
-	*/	
-	getError: function() {
-		return this.message + "\n" + this.cont;
-	},
-	// }}}
-	// {{{ raiseError
-	/**
-	*  Raises an eror (called by unserialize().)
-	*
-	*  @param	string	message	the error message
-	*  @param	string	cont	   the remaining unserialized content
-	*/	
-	raiseError: function(message, cont) {
-		this.error = 1;
-		this.message = message;
-		this.cont = cont;
-	}
-	// }}}
-}
-// }}}
-
diff --git a/utils/weapp-icon.wxss b/utils/weapp-icon.wxss
index 7d685e4..3a02023 100644
--- a/utils/weapp-icon.wxss
+++ b/utils/weapp-icon.wxss
@@ -6,21 +6,9 @@
     background-position: center;
     background-size: 100%;
 }
-
-
-
 .t-icon-gowudai {
     background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gowudai%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M150.72-1.06666667l-5.86666667%20169.49333334%20738.13333334%2016.53333333L870.4-1.06666667z%22%20fill%3D%22%23cdcdcd%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M150.72-1.06666667l72.64%2049.38666667-78.50666667%20106.56z%22%20fill%3D%22%23A2A2A2%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M120.64%201025.70666667L69.33333333%20969.49333333h884.37333334l-54.29333334%2056.21333334z%22%20fill%3D%22%23bfbfbf%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M223.36%2047.36l-20.37333333%20113.38666667-103.57333334-8.74666667z%22%20fill%3D%22%23AEADAD%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M870.4-1.06666667l-71.68%2049.38666667%2084.26666667%20108.48z%22%20fill%3D%22%23A2A2A2%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M798.72%2048.32l20.37333333%20112.42666667%20105.49333334-8.74666667z%22%20fill%3D%22%23AEADAD%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M99.41333333%20152h825.17333334L954.66666667%20969.49333333H69.33333333z%22%20fill%3D%22%23dbdbdb%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M718.82666667%20256.10666667H770.13333333v255.68c0%20141.22666667-114.45333333%20255.68-255.68%20255.68S258.66666667%20653.01333333%20258.66666667%20511.78666667V256.10666667h51.30666666v255.68c0%20112.85333333%2091.52%20204.37333333%20204.37333334%20204.37333333s204.37333333-91.52%20204.37333333-204.37333333V256.10666667z%22%20fill%3D%22%23A5A5A5%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M718.82666667%20312.32H770.13333333v149.12c0%20141.22666667-114.45333333%20255.68-255.68%20255.68S258.66666667%20602.66666667%20258.66666667%20461.44V312.32h51.30666666v149.12c0%20112.85333333%2091.52%20204.37333333%20204.37333334%20204.37333333s204.37333333-91.52%20204.37333333-204.37333333V312.32z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
 }
-
-/* .t-icon-liwu {
-    background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-liwu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M85.93%20950.016c0%2024.576%207.126%2031.317%2029.44%2031.317h353.366V511.744H85.931v438.272z%20m469.334%2031.317h353.365c22.358%200%2029.44-6.698%2029.44-31.317V511.744H555.221v469.59zM938.667%20256H725.333c51.499-11.733%20105.899-49.707%20112.598-94.293%207.85-50.859-52.566-127.958-125.654-118.187-87.424%2012.117-151.509%2089.259-196.736%20149.077C470.656%20133.931%20412.16%2065.408%20328.363%2045.483c-81.152-19.2-136.747%2064.938-135.254%20116.992%201.451%2044.245%2052.608%2081.834%20105.558%2093.525H85.333c-26.368%200-42.666%2014.848-42.666%2042.667v170.581l426.666%200.085V256h85.334v213.333l426.666-0.085V298.667c0-27.819-16.341-42.667-42.666-42.667z%20m-687.019-77.824c-14.763-16.427-4.779-38.741%204.48-55.595%2017.024-29.696%2040.747-47.744%2081.152-30.933%2056.32%2023.51%2097.792%2073.216%20131.584%20117.803-71.552%207.893-178.304%2010.965-217.216-31.275z%20m311.296%2030.507c34.816-44.63%2075.221-89.942%20131.157-117.803%2058.582-28.97%20113.024%2049.323%2085.206%2086.912-21.419%2028.544-89.259%2031.232-125.91%2032.853-30.08%201.536-60.501%200.811-90.453-1.962z%22%20fill%3D%22%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
-}
-
-.t-icon-echarts {
-    background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-echarts%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M436.59925293%20533.33333333c0-65.04312613%2035.34952507-123.72333775%2088.37381267-153.41693881l-206.44122641-353.49525068c-282.79620057%20159.07286282-376.82593725%20518.22403753-217.75307443%20801.02023808l359.15117471-206.44122642c-11.31184801-22.62369604-23.33068654-52.31729711-23.33068654-87.66682217z%22%20fill%3D%22%23DADADA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M613.34687829%20356.58570799c65.04312613%200%20123.72333775%2035.34952507%20153.41693879%2088.37381266l253.1025995-147.05402428C890.48715482%2073.78950741%20602.03503025-2.56546674%20377.91904132%20126.81379502l147.05402428%20253.1025995c24.03767705-11.31184801%2059.38720211-23.33068654%2088.37381269-23.33068653z%22%20fill%3D%22%23EBEBEB%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M701.72069095%20686.75027214c-23.33068654%2017.67476253-58.68021163%2023.33068654-88.37381266%2023.33068653-65.04312613%200-123.72333775-35.34952507-153.41693882-88.37381266L201.17141596%20775.12408481c41.00544908%2070.69905013%20100.3926512%20129.37926176%20171.09170135%20171.09170134%20153.41693881%2088.37381268%20335.82048816%2082.71788866%20477.21858844-5.65592402l-147.7610148-253.80958999z%22%20fill%3D%22%23B8B8B8%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M920.18075589%20356.58570799L766.76381708%20444.95952065c12.01883853%2029.69360106%2023.33068654%2058.68021163%2023.33068654%2088.37381268%200%2065.04312613-35.34952507%20123.72333775-88.37381267%20153.41693881l88.37381267%20153.41693881c171.09170134-100.3926512%20229.77191295-312.48980161%20130.08625227-483.58150296z%22%20fill%3D%22%23C7C7C7%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
-} */
-
 .t-icon-sort-up {
     background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-sort-up%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M-109.37837037-109.37837037h1242.75674074v1242.75674074H-109.37837037z%22%20fill%3D%22%23FFFFFF%22%20fill-opacity%3D%220%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M242.7360391%20615.56306132h538.5279218a20.71261275%2020.71261275%200%200%201%2016.57008947%2033.14018016l-269.2639609%20359.05313542a20.71261275%2020.71261275%200%200%201-33.14017894%200L226.16594963%20648.70324148A20.71261275%2020.71261275%200%200%201%20242.7360391%20615.56306132z%22%20fill%3D%22%23C7C7C7%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M528.57008947%2016.2436231l269.2639609%20359.05313542A20.71261275%2020.71261275%200%200%201%20781.2639609%20408.43693868H242.7360391a20.71261275%2020.71261275%200%200%201-16.57008947-33.14018016l269.2639609-359.05313542a20.71261275%2020.71261275%200%200%201%2033.14017894%200z%22%20fill%3D%22%235A5A5A%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
 }