lhl 3 سال پیش
والد
کامیت
b8764eb734
100فایلهای تغییر یافته به همراه2791 افزوده شده و 1334 حذف شده
  1. 4 0
      .hbuilderx/launch.json
  2. BIN
      appbase/1080.png
  3. BIN
      appbase/480.png
  4. BIN
      appbase/720.png
  5. 2 0
      appbase/cartinfo.txt
  6. BIN
      appbase/down.png
  7. BIN
      appbase/lgo.png
  8. BIN
      appbase/logo2.png
  9. BIN
      appbase/xhg.keystore
  10. 40 0
      manifest.json
  11. 9 131
      pages.json
  12. 0 2
      pages/cart/cart.vue
  13. 7 2
      pages/index/index.vue
  14. 0 173
      pages/order/createOrder.vue
  15. 447 620
      pages/product/list.vue
  16. 3 0
      pages/user/greenJf.vue
  17. 3 0
      pages/user/mallJf.vue
  18. 3 0
      pages/user/purpleJf.vue
  19. 4 1
      pages/user/shopJf.vue
  20. 384 354
      pages/user/team.vue
  21. 6 2
      pages/user/user.vue
  22. 4 1
      pages/user/wenpiao.vue
  23. 3 0
      pages/user/whiteJf.vue
  24. 48 48
      store/index.js
  25. 0 0
      unpackage/dist/dev/.automator/app-plus/.automator.json
  26. 0 0
      unpackage/dist/dev/app-plus/__uniappchooselocation.js
  27. BIN
      unpackage/dist/dev/app-plus/__uniapperror.png
  28. 0 0
      unpackage/dist/dev/app-plus/__uniappes6.js
  29. 0 0
      unpackage/dist/dev/app-plus/__uniappopenlocation.js
  30. 0 0
      unpackage/dist/dev/app-plus/__uniapppicker.js
  31. 6 0
      unpackage/dist/dev/app-plus/__uniappquill.js
  32. 0 0
      unpackage/dist/dev/app-plus/__uniappquillimageresize.js
  33. 0 0
      unpackage/dist/dev/app-plus/__uniappscan.js
  34. BIN
      unpackage/dist/dev/app-plus/__uniappsuccess.png
  35. 25 0
      unpackage/dist/dev/app-plus/__uniappview.html
  36. 3 0
      unpackage/dist/dev/app-plus/app-config-service.js
  37. 154 0
      unpackage/dist/dev/app-plus/app-config.js
  38. 9 0
      unpackage/dist/dev/app-plus/app-service.js
  39. 1076 0
      unpackage/dist/dev/app-plus/app-view.js
  40. 0 0
      unpackage/dist/dev/app-plus/manifest.json
  41. 551 0
      unpackage/dist/dev/app-plus/static/css/cmy.css
  42. BIN
      unpackage/dist/dev/app-plus/static/error/emptyCart.png
  43. BIN
      unpackage/dist/dev/app-plus/static/error/errorImage.jpg
  44. BIN
      unpackage/dist/dev/app-plus/static/error/missing-face.png
  45. BIN
      unpackage/dist/dev/app-plus/static/game/game01.png
  46. BIN
      unpackage/dist/dev/app-plus/static/game/game02.png
  47. BIN
      unpackage/dist/dev/app-plus/static/game/game03.png
  48. BIN
      unpackage/dist/dev/app-plus/static/game/game04.png
  49. BIN
      unpackage/dist/dev/app-plus/static/game/game05.png
  50. BIN
      unpackage/dist/dev/app-plus/static/game/game06.png
  51. BIN
      unpackage/dist/dev/app-plus/static/game/game07.png
  52. BIN
      unpackage/dist/dev/app-plus/static/game/game08.png
  53. BIN
      unpackage/dist/dev/app-plus/static/game/reb01.png
  54. BIN
      unpackage/dist/dev/app-plus/static/game/reb02.png
  55. BIN
      unpackage/dist/dev/app-plus/static/game/reb03.png
  56. BIN
      unpackage/dist/dev/app-plus/static/game/reb04.png
  57. BIN
      unpackage/dist/dev/app-plus/static/game/微信.lnk
  58. BIN
      unpackage/dist/dev/app-plus/static/icon/add.png
  59. BIN
      unpackage/dist/dev/app-plus/static/icon/appleIcon.png
  60. BIN
      unpackage/dist/dev/app-plus/static/icon/bdsj.png
  61. BIN
      unpackage/dist/dev/app-plus/static/icon/c3.png
  62. BIN
      unpackage/dist/dev/app-plus/static/icon/c5.png
  63. BIN
      unpackage/dist/dev/app-plus/static/icon/c6.png
  64. BIN
      unpackage/dist/dev/app-plus/static/icon/c7.png
  65. BIN
      unpackage/dist/dev/app-plus/static/icon/c8.png
  66. BIN
      unpackage/dist/dev/app-plus/static/icon/dsjh.png
  67. BIN
      unpackage/dist/dev/app-plus/static/icon/fanhui.png
  68. BIN
      unpackage/dist/dev/app-plus/static/icon/goto.png
  69. BIN
      unpackage/dist/dev/app-plus/static/icon/i1.png
  70. BIN
      unpackage/dist/dev/app-plus/static/icon/i2.png
  71. BIN
      unpackage/dist/dev/app-plus/static/icon/i3.png
  72. BIN
      unpackage/dist/dev/app-plus/static/icon/i4.png
  73. BIN
      unpackage/dist/dev/app-plus/static/icon/i5.png
  74. BIN
      unpackage/dist/dev/app-plus/static/icon/i6.png
  75. BIN
      unpackage/dist/dev/app-plus/static/icon/i7.png
  76. BIN
      unpackage/dist/dev/app-plus/static/icon/i8.png
  77. BIN
      unpackage/dist/dev/app-plus/static/icon/img01.png
  78. BIN
      unpackage/dist/dev/app-plus/static/icon/img02.png
  79. BIN
      unpackage/dist/dev/app-plus/static/icon/img03.png
  80. BIN
      unpackage/dist/dev/app-plus/static/icon/img04.png
  81. BIN
      unpackage/dist/dev/app-plus/static/icon/img05.png
  82. BIN
      unpackage/dist/dev/app-plus/static/icon/img06.png
  83. BIN
      unpackage/dist/dev/app-plus/static/icon/img07.png
  84. BIN
      unpackage/dist/dev/app-plus/static/icon/img08.png
  85. BIN
      unpackage/dist/dev/app-plus/static/icon/img09.png
  86. BIN
      unpackage/dist/dev/app-plus/static/icon/img10.png
  87. BIN
      unpackage/dist/dev/app-plus/static/icon/img11.png
  88. BIN
      unpackage/dist/dev/app-plus/static/icon/img12.png
  89. BIN
      unpackage/dist/dev/app-plus/static/icon/kf.png
  90. BIN
      unpackage/dist/dev/app-plus/static/icon/mygx.png
  91. BIN
      unpackage/dist/dev/app-plus/static/icon/myjd.png
  92. BIN
      unpackage/dist/dev/app-plus/static/icon/myqb.png
  93. BIN
      unpackage/dist/dev/app-plus/static/icon/mytg.png
  94. BIN
      unpackage/dist/dev/app-plus/static/icon/myyj.png
  95. BIN
      unpackage/dist/dev/app-plus/static/icon/reduce.png
  96. BIN
      unpackage/dist/dev/app-plus/static/icon/search-h.png
  97. BIN
      unpackage/dist/dev/app-plus/static/icon/select.png
  98. BIN
      unpackage/dist/dev/app-plus/static/icon/selected.png
  99. BIN
      unpackage/dist/dev/app-plus/static/icon/shdz.png
  100. BIN
      unpackage/dist/dev/app-plus/static/icon/tghb.png

+ 4 - 0
.hbuilderx/launch.json

@@ -2,6 +2,10 @@
   // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
     "version": "0.0",
     "configurations": [{
+     	"app-plus" : 
+     	{
+     		"launchtype" : "remote"
+     	},
      	"default" : 
      	{
      		"launchtype" : "remote"

BIN
appbase/1080.png


BIN
appbase/480.png


BIN
appbase/720.png


+ 2 - 0
appbase/cartinfo.txt

@@ -0,0 +1,2 @@
+证书别名: com.xhg.inc
+证书密码: 112233

BIN
appbase/down.png


BIN
appbase/lgo.png


BIN
appbase/logo2.png


BIN
appbase/xhg.keystore


+ 40 - 0
manifest.json

@@ -49,6 +49,46 @@
 						"UniversalLinks": ""
 					}
 				}
+			},
+			"icons": {
+				"android": {
+					"hdpi": "unpackage/res/icons/72x72.png",
+					"xhdpi": "unpackage/res/icons/96x96.png",
+					"xxhdpi": "unpackage/res/icons/144x144.png",
+					"xxxhdpi": "unpackage/res/icons/192x192.png"
+				},
+				"ios": {
+					"appstore": "unpackage/res/icons/1024x1024.png",
+					"ipad": {
+						"app": "unpackage/res/icons/76x76.png",
+						"app@2x": "unpackage/res/icons/152x152.png",
+						"notification": "unpackage/res/icons/20x20.png",
+						"notification@2x": "unpackage/res/icons/40x40.png",
+						"proapp@2x": "unpackage/res/icons/167x167.png",
+						"settings": "unpackage/res/icons/29x29.png",
+						"settings@2x": "unpackage/res/icons/58x58.png",
+						"spotlight": "unpackage/res/icons/40x40.png",
+						"spotlight@2x": "unpackage/res/icons/80x80.png"
+					},
+					"iphone": {
+						"app@2x": "unpackage/res/icons/120x120.png",
+						"app@3x": "unpackage/res/icons/180x180.png",
+						"notification@2x": "unpackage/res/icons/40x40.png",
+						"notification@3x": "unpackage/res/icons/60x60.png",
+						"settings@2x": "unpackage/res/icons/58x58.png",
+						"settings@3x": "unpackage/res/icons/87x87.png",
+						"spotlight@2x": "unpackage/res/icons/80x80.png",
+						"spotlight@3x": "unpackage/res/icons/120x120.png"
+					}
+				}
+			},
+			"splashscreen": {
+				"androidStyle": "default",
+				"android": {
+					"hdpi": "appbase/480.png",
+					"xhdpi": "appbase/720.png",
+					"xxhdpi": "appbase/1080.png"
+				}
 			}
 		}
 	},

+ 9 - 131
pages.json

@@ -92,6 +92,7 @@
 		{
 			"path": "pages/user/team",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "我的推广"
 			}
 		},
@@ -104,36 +105,42 @@
 		{
 			"path": "pages/user/whiteJf",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "白积分"
 			}
 		},
 		{
 			"path": "pages/user/greenJf",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "绿积分"
 			}
 		},
 		{
 			"path": "pages/user/purpleJf",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "紫积分"
 			}
 		},
 		{
 			"path": "pages/user/mallJf",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "商城积分"
 			}
 		},
 		{
 			"path": "pages/user/shopJf",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "商家积分"
 			}
 		},
 		{
 			"path": "pages/user/wenpiao",
 			"style": {
+				"navigationStyle": "custom",
 				"navigationBarTitleText": "文票"
 			}
 		},
@@ -149,64 +156,6 @@
 				"navigationBarTitleText": "转账"
 			}
 		},
-		{
-			"path": "pages/product/groupBooking/index",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "超值拼团"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/detail",
-			"style": {
-				"navigationBarTitleText": "拼团列表",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/productCollage", //拼团商品
-			"style": {
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				},
-				"navigationBarTitleText": "商品详情"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/inviteImg",
-			"style": {
-				"navigationBarTitleText": "拼团邀请图",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/productGroup",
-			"style": {
-				"navigationBarTitleText": "拼团详情展示",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		// {
-		// 	"path": "pages/product/groupBooking/groupdetails",
-		// 	"style": {
-		// 		"navigationBarTitleText": "拼团详情",
-		// 		"app-plus": {
-		// 			"titleNView": false
-		// 		}
-		// 	}
-		// },
 		{
 			"path": "pages/product/reply",
 			"style": {
@@ -337,29 +286,6 @@
 			"style": {
 				// #ifndef MP-WEIXIN
 				"navigationStyle": "custom",
-				// "app-plus": {
-				// 	"bounce": "none",
-				// 	"titleNView": {
-				// 		"type": "transparent",
-				// 		"buttons": [{
-				// 				"fontSrc": "/static/yticon.ttf",
-				// 				"text": "\ue60f",
-				// 				"fontSize": "24",
-				// 				"color": "#303133",
-				// 				"width": "46px",
-				// 				"background": "rgba(0,0,0,0)"
-				// 			},
-				// 			{
-				// 				"fontSrc": "/static/yticon.ttf",
-				// 				"text": "\ue744",
-				// 				"fontSize": "28",
-				// 				"color": "#303133",
-				// 				"background": "rgba(0,0,0,0)",
-				// 				"redDot": true
-				// 			}
-				// 		]
-				// 	}
-				// },
 				// #endif
 				"navigationBarTitleText": "个人中心"
 			}
@@ -398,18 +324,6 @@
 				"navigationBarTitleText": "我的卡卷"
 			}
 		},
-		{
-			"path": "pages/user/scoreAccumulate",
-			"style": {
-				"navigationBarTitleText": "响亮积分明细"
-			}
-		},
-		{
-			"path": "pages/user/mygx",
-			"style": {
-				"navigationBarTitleText": "我的贡献"
-			}
-		},
 		{
 			"path": "pages/order/order",
 			"style": {
@@ -419,7 +333,6 @@
 				}
 			}
 		},
-
 		{
 			"path": "pages/order/expressInfo",
 			"style": {
@@ -561,50 +474,15 @@
 			"path": "pages/game/gameDetail",
 			"style": {
 				"navigationBarTitleText": "打小怪兽"
-				// "enablePullDownRefresh": false
 			}
 
 		}
 	],
-	"subPackages": [{
-		"root": "pages/activity",
-		"name": "activity",
-		"pages": [{
-				"path": "goods_bargain/index",
-				"style": {
-					"navigationStyle": "custom"
-						// #ifdef MP
-						,
-					"navigationBarTextStyle": "#fff"
-					// #endif
-				}
-			},
-			{
-				"path": "goods_bargain_details/index",
-				"style": {
-					"navigationStyle": "custom"
-						// #ifdef MP
-						,
-					"navigationBarTextStyle": "#fff"
-					// #endif
-				}
-			},
-			{
-				"path": "bargain/index",
-				"style": {
-					"navigationBarTitleText": "砍价记录"
-				}
-			}
-		]
-	}],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "响亮商城",
+		"navigationBarTitleText": "喜嗨购",
 		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#f8f8f8",
-		//#ifdef H5
-		"navigationStyle": "custom"
-		//#endif
+		"backgroundColor": "#f8f8f8"
 	},
 	"tabBar": {
 		"color": "#666666",

+ 0 - 2
pages/cart/cart.vue

@@ -79,7 +79,6 @@
 </template>
 
 <script>
-	import weixinObj from '@/plugin/jweixin-module/index.js';
 	import {
 		getCartList,
 		getCartNum,
@@ -115,7 +114,6 @@
 			if (this.hasLogin) {
 				this.loadData();
 			}
-			weixinObj.hideAllNonBaseMenuItem();
 		},
 		watch: {
 			//显示空白页

+ 7 - 2
pages/index/index.vue

@@ -30,7 +30,7 @@
 		</view>
 		<view class="navbar">
 			<view class="navbar-box flex">
-				<view class="navbar-item" @click="navTo('/pages/product/list')">
+				<view class="navbar-item" @click="navTo('/pages/category/category')">
 					<image class="nitem-image" src="../../static/index/index03.png" mode=""></image>
 					<view class="nitem-font">全部商品</view>
 				</view>
@@ -317,7 +317,12 @@
 					this.$api.msg('暂未开通,敬请期待');
 				} else {
 					uni.navigateTo({
-						url
+						url,
+						fail() {
+							uni.switchTab({
+								url
+							})
+						}
 					});
 				}
 			},

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 173
pages/order/createOrder.vue


+ 447 - 620
pages/product/list.vue

@@ -1,621 +1,448 @@
-<template>
-	<view class="content">
-		<view class="navbar" :style="{ position: headerPosition, top: headerTop }">
-			<view class="nav-item" :class="{ current: filterIndex === 0 }" @click="tabClick(0)">综合排序</view>
-			<view class="nav-item" :class="{ current: filterIndex === 1 }" @click="tabClick(1)">
-				<text>销量优先</text>
-				<view class="p-box">
-					<text :class="{ active: numberOrder === 1 && filterIndex === 1 }" class="iconfont iconfold"></text>
-					<text :class="{ active: numberOrder === 2 && filterIndex === 1 }" class="iconfont iconfold xia"></text>
-				</view>
-			</view>
-			<view class="nav-item" :class="{ current: filterIndex === 2 }" @click="tabClick(2)">
-				<text>价格</text>
-				<view class="p-box">
-					<text :class="{ active: priceOrder === 1 && filterIndex === 2 }" class="iconfont iconfold"></text>
-					<text :class="{ active: priceOrder === 2 && filterIndex === 2 }" class="iconfont iconfold xia"></text>
-				</view>
-			</view>
-			<text class="cate-item iconfont iconapps" @click="toggleCateMask('show')"></text>
-		</view>
-		<view class="goods-list">
-			<view v-for="(item, index) in goodsList" :key="index" class="goods-item" @click="navToDetailPage(item)">
-				<view class="image-wrapper">
-					<image :src="item.image" mode="aspectFill"></image>
-					<view class="fanli" v-if="item.give_integral != 0">
-						<view class="fanli-bg"><image src="../../static/img/index-fanl.png" mode=""></image></view>
-						<view class="fanli-font flex">
-							<view class="font-left">获得响亮积分</view>
-							<view class="font-right">{{ item.give_integral * 1 }}</view>
-						</view>
-					</view>
-				</view>
-				<text class="title clamp">{{ item.store_name }}</text>
-				<view class="price-box">
-					<text class="price">{{ item.price }}</text>
-					<text>已售 {{ item.sales }}</text>
-				</view>
-			</view>
-		</view>
-		<uni-load-more :status="loadingType"></uni-load-more>
-
-		<view class="cate-mask" :class="cateMaskState === 0 ? 'none' : cateMaskState === 1 ? 'show' : ''" @click="toggleCateMask">
-			<view class="cate-content">
-				<scroll-view scroll-y class="left-aside">
-					<view v-for="item in cateList" :key="item.id" class="f-item b-b" :class="{ active: item.id === currentId }" @click.stop="tabtap(item)">{{ item.cate_name }}</view>
-				</scroll-view>
-				<scroll-view scroll-with-animation scroll-y class="right-aside" @scroll="asideScroll" :scroll-top="tabScrollTop">
-					<view v-for="item in cateList" :key="item.id" class="s-list" :id="'main-' + item.id">
-						<text class="s-item">{{ item.cate_name }}</text>
-						<view class="t-list ">
-							<view @click.stop="changeCate(titem)" class="t-item" v-for="titem in item.children" :key="titem.id">
-								<image :src="titem.pic"></image>
-								<text>{{ titem.cate_name }}</text>
-							</view>
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-			<!-- <view class="cate-content" @click.stop.prevent="stopPrevent" @touchmove.stop.prevent="stopPrevent">
-				<scroll-view scroll-y class="cate-list">
-					<view v-for="item in cateList" :key="item.id">
-						<view class="cate-item b-b two">{{ item.cate_name }}</view>
-						<view v-for="tItem in item.children" :key="tItem.id" class="cate-item b-b" :class="{ active: tItem.id == cateId }" @click="changeCate(tItem)">
-							{{ tItem.cate_name }}
-						</view>
-					</view>
-				</scroll-view>
-			</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import { getProducts } from '@/api/product.js';
-import { getCategoryList } from '@/api/product.js';
-export default {
-	components: {
-		uniLoadMore
-	},
-	data() {
-		return {
-			currentId: '',
-			tabScrollTop: 0,
-			cateMaskState: 0, //分类面板展开状态
-			headerPosition: 'fixed',
-			headerTop: '0px',
-			loadingType: 'more', //加载更多状态
-			filterIndex: 0, //查询类型
-			numberOrder: 0, //1 销量从低到高 2销量从高到低
-			limit: 6, //每次加载数据条数
-			page: 1, //当前页数
-			cateId: 0, //已选三级分类id
-			priceOrder: 0, //1 价格从低到高 2价格从高到低
-			cateList: [], //分类列表
-			goodsList: [] //商品列表
-		};
-	},
-
-	onLoad(options) {
-		// #ifdef H5
-		// this.headerTop = document.getElementsByTagName('uni-page-head')[0].offsetHeight + 'px';
-		// #endif
-		this.cateId = options.tid;
-		this.loadCateList(options.fid, options.sid);
-		this.loadData();
-	},
-	onPageScroll(e) {
-		//兼容iOS端下拉时顶部漂移
-		if (e.scrollTop >= 0) {
-			this.headerPosition = 'fixed';
-		} else {
-			this.headerPosition = 'absolute';
-		}
-	},
-	//下拉刷新
-	onPullDownRefresh() {
-		this.loadData('refresh');
-	},
-	//监听页面是否滚动到底部加载更多
-	onReachBottom() {
-		this.loadData();
-	},
-	methods: {
-		//加载分类
-		async loadCateList(fid, sid) {
-			let obj = this;
-			getCategoryList({}).then(function(e) {
-				obj.cateList = e.data.filter(e => {
-					return e.id != 1;
-				});
-				obj.currentId = obj.cateList[0].id
-				console.log(obj.cateList, '123456789');
-			});
-		},
-		//一级分类点击
-		tabtap(item) {
-			console.log(item);
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			// 获取当前点击的id
-			this.currentId = item.id;
-			console.log(item.top);
-			this.tabScrollTop = item.top;
-			console.log(this.tabScrollTop);
-		},
-		//右侧栏滚动
-		asideScroll(e) {
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			let scrollTop = e.detail.scrollTop;
-			let box = 0; //列表包裹框高度初始化
-			let bottom = 10; //距离页面底部多少像素左侧列表切换到最后一个一级分类
-			// 查询当前页面对象
-			let view = uni.createSelectorQuery().select('.content');
-			view.fields(
-				{
-					id: true,
-					dataset: true,
-					rect: true,
-					size: true,
-					scrollOffset: true
-				},
-				function(e) {
-					// 保存包裹框高度
-					box = e.height;
-				}
-			).exec();
-			// 获取所有距离顶部大于滚轮距离页面高度的所有分类
-			let tabs = this.cateList.filter(item =>( item.top-10) <= scrollTop).reverse();
-			if (tabs.length > 0) {
-				// 判断是否已经到达滚轮底部
-				if (box + scrollTop + bottom >= e.detail.scrollHeight) {
-					this.currentId = this.cateList[this.cateList.length - 1].id;
-				} else {
-					this.currentId = tabs[0].id;
-				}
-			}
-		},
-		//计算右侧栏每个tab的高度等信息
-		calcSize() {
-			let h = 0;
-			this.cateList.forEach(item => {
-				let view = uni.createSelectorQuery().select('#main-' + item.id);
-				view.fields(
-					{
-						size: true
-					},
-					data => {
-						item.top = h;
-						h += data.height;
-						item.bottom = h;
-					}
-				).exec();
-			});
-			this.sizeCalcState = true;
-		},
-		//加载商品 ,带下拉刷新和上滑加载
-		async loadData(type = 'add', loading) {
-			let obj = this;
-			let data = {
-				page: obj.page,
-				limit: obj.limit,
-				sid: obj.cateId //分类id
-			};
-			//没有更多直接返回
-			if (type === 'add') {
-				if (obj.loadingType === 'nomore') {
-					return;
-				}
-				obj.loadingType = 'loading';
-			} else {
-				obj.loadingType = 'more';
-			}
-			if (type === 'refresh') {
-				// 清空数组
-				obj.goodsList = [];
-				obj.page = 1;
-			}
-			if (this.filterIndex == 1) {
-				console.log(obj.salesOrder);
-				data.salesOrder = obj.numberOrder == 1 ? 'asc' : 'desc';
-			}
-			if (this.filterIndex == 2) {
-				console.log(obj.priceOrder);
-				data.priceOrder = obj.priceOrder == 1 ? 'asc' : 'desc';
-			}
-			getProducts(data).then(function(e) {
-				console.log(e.data);
-				let arr = e.data.filter(info => {
-					return info.cate_id != 2;
-				});
-				obj.goodsList = obj.goodsList.concat(arr);
-				//判断是否还有下一页,有是more  没有是nomore
-				if (obj.limit == e.data.length) {
-					obj.page++;
-					obj.loadingType = 'more';
-				} else {
-					obj.loadingType = 'nomore';
-				}
-				if (type === 'refresh') {
-					if (loading == 1) {
-						uni.hideLoading();
-					} else {
-						uni.stopPullDownRefresh();
-					}
-				}
-			});
-		},
-		//筛选点击
-		tabClick(index) {
-			// 防止重复点击综合排序
-			if (this.filterIndex === 0 && this.filterIndex === index) {
-				return;
-			}
-			this.filterIndex = index;
-			// 判断是否为销量优先
-			if (index === 1) {
-				this.numberOrder = this.numberOrder === 1 ? 2 : 1;
-			}
-			// 判断是否为价格优先
-			if (index === 2) {
-				this.priceOrder = this.priceOrder === 1 ? 2 : 1;
-			}
-			// 初始化页数
-			this.page = 1;
-			// 初始化数组
-			uni.pageScrollTo({
-				duration: 300,
-				scrollTop: 0
-			});
-			this.loadData('refresh', 1);
-			uni.showLoading({
-				title: '正在加载'
-			});
-		},
-		//显示分类面板
-		toggleCateMask(type) {
-			let timer = type === 'show' ? 10 : 300;
-			let state = type === 'show' ? 1 : 0;
-			this.cateMaskState = 2;
-			setTimeout(() => {
-				this.cateMaskState = state;
-			}, timer);
-		},
-		//分类点击
-		changeCate(item) {
-			this.cateId = item.id;
-			// 显示右侧分类
-			this.toggleCateMask();
-			// 滚轮返回顶部
-			uni.pageScrollTo({
-				duration: 300,
-				scrollTop: 0
-			});
-			// 初始化查询页数
-			this.page = 1;
-			// 重新加载数据
-			this.loadData('refresh', 1);
-			uni.showLoading({
-				title: '正在加载'
-			});
-		},
-		//详情
-		navToDetailPage(item) {
-			let id = item.id;
-			uni.navigateTo({
-				url: `/pages/product/product?id=${id}`
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	background: $page-color-base;
-}
-.content {
-	padding-top: 96rpx;
-}
-
-.navbar {
-	position: fixed;
-	left: 0;
-	top: var(--window-top);
-	display: flex;
-	width: 100%;
-	height: 80rpx;
-	background: #fff;
-	box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.06);
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 30rpx;
-		color: $font-color-dark;
-		position: relative;
-		&.current {
-			color: #ff4c4c;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 150rpx;
-				height: 0;
-				border-bottom: 4rpx solid #ff4c4c;
-			}
-		}
-	}
-	.p-box {
-		display: flex;
-		flex-direction: column;
-		.iconfont {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 30rpx;
-			height: 14rpx;
-			line-height: 1;
-			margin-left: 4rpx;
-			font-size: 26rpx;
-			color: #888;
-			&.active {
-				color: $base-color;
-			}
-		}
-		.xia {
-			transform: scaleY(-1);
-		}
-	}
-	.cate-item {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		width: 80rpx;
-		position: relative;
-		font-size: 44rpx;
-		&:after {
-			content: '';
-			position: absolute;
-			left: 0;
-			top: 50%;
-			transform: translateY(-50%);
-			border-left: 1px solid #ddd;
-			width: 0;
-			height: 36rpx;
-		}
-	}
-}
-
-/* 分类 */
-.cate-mask {
-	position: fixed;
-	left: 0;
-	top: var(--window-top);
-	bottom: 0;
-	width: 100%;
-	background: rgba(0, 0, 0, 0);
-	z-index: 95;
-	transition: 0.3s;
-
-	.cate-content {
-		width: 630rpx;
-		height: 100%;
-		background: #fff;
-		float: right;
-		transform: translateX(100%);
-		transition: 0.3s;
-		display: flex;
-		.left-aside {
-			flex-shrink: 0;
-			width: 200rpx;
-			height: 100%;
-			background-color: #fff;
-		}
-		.f-item {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 100%;
-			height: 100rpx;
-			font-size: 28rpx;
-			color: $font-color-base;
-			position: relative;
-			&.active {
-				color: $base-color;
-				background: #f8f8f8;
-				&:before {
-					content: '';
-					position: absolute;
-					left: 0;
-					top: 50%;
-					transform: translateY(-50%);
-					height: 36rpx;
-					width: 8rpx;
-					background-color: $base-color;
-					border-radius: 0 4px 4px 0;
-					opacity: 0.8;
-				}
-			}
-		}
-		
-		.right-aside {
-			flex: 1;
-			overflow: hidden;
-			padding-left: 20rpx;
-			padding-right: 20rpx;
-		}
-		.s-item {
-			display: flex;
-			align-items: center;
-			height: 70rpx;
-			padding-top: 8rpx;
-			font-size: 28rpx;
-			color: $font-color-dark;
-		}
-		.t-list {
-			display: flex;
-			flex-wrap: wrap;
-			border-radius: 15rpx;
-			width: 100%;
-			background: #fff;
-			padding-top: 12rpx;
-			&:after {
-				content: '';
-				flex: 99;
-				height: 0;
-			}
-		}
-		.t-item {
-			flex-shrink: 0;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			flex-direction: column;
-			width: 171rpx;
-			font-size: 26rpx;
-			color: #666;
-			padding-bottom: 20rpx;
-		
-			image {
-				width: 140rpx;
-				height: 140rpx;
-			}
-		}
-	}
-	&.none {
-		display: none;
-	}
-	&.show {
-		background: rgba(0, 0, 0, 0.4);
-
-		.cate-content {
-			transform: translateX(0);
-		}
-	}
-}
-.cate-list {
-	display: flex;
-	flex-direction: column;
-	height: 100%;
-	.cate-item {
-		display: flex;
-		align-items: center;
-		height: 90rpx;
-		padding-left: 30rpx;
-		font-size: 28rpx;
-		color: #555;
-		position: relative;
-	}
-	.two {
-		height: 64rpx;
-		color: #303133;
-		font-size: 30rpx;
-		background: #f8f8f8;
-	}
-	.active {
-		color: $base-color;
-	}
-}
-
-/* 商品列表 */
-.goods-list {
-	display: flex;
-	flex-wrap: wrap;
-	padding: 0 30rpx;
-	background: #fff;
-	.goods-item {
-		display: flex;
-		flex-direction: column;
-		width: 48%;
-		padding-bottom: 40rpx;
-		&:nth-child(2n + 1) {
-			margin-right: 4%;
-		}
-	}
-	.image-wrapper {
-		width: 100%;
-		height: 330rpx;
-		border-radius: 3px;
-		overflow: hidden;
-		position: relative;
-		image {
-			width: 100%;
-			height: 100%;
-			opacity: 1;
-		}
-		.fanli {
-			position: absolute;
-			bottom: 0;
-			left: 0;
-			width: 344rpx;
-			height: 96rpx;
-			.fanli-bg {
-				position: absolute;
-				bottom: 0;
-				left: 0;
-				width: 344rpx;
-				height: 96rpx;
-			}
-			.fanli-font {
-				position: relative;
-				z-index: 10;
-				color: #ffffff;
-				height: 96rpx;
-				align-items: flex-end;
-				padding: 36rpx 10rpx 10rpx;
-				.font-left {
-					width: 226rpx;
-					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #ffffff;
-				}
-				.font-right {
-					width: 118rpx;
-					text-align: center;
-					font-size: 36rpx;
-					font-family: Microsoft YaHei;
-					font-weight: bold;
-					color: #ffffff;
-				}
-			}
-		}
-	}
-	.title {
-		font-size: $font-lg;
-		color: $font-color-dark;
-		line-height: 80rpx;
-	}
-	.price-box {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		padding-right: 10rpx;
-		font-size: 24rpx;
-		color: $font-color-light;
-	}
-	.price {
-		font-size: $font-lg;
-		color: #ff4c4c;
-		line-height: 1;
-		&:before {
-			content: '¥';
-			font-size: 26rpx;
-		}
-	}
-}
+<template>
+	<view class="content">
+		<view class="navbar" :style="{ position: headerPosition, top: headerTop }">
+			<view class="nav-item" :class="{ current: filterIndex === 0 }" @click="tabClick(0)">综合排序</view>
+			<view class="nav-item" :class="{ current: filterIndex === 1 }" @click="tabClick(1)">
+				<text>销量优先</text>
+				<view class="p-box">
+					<text :class="{ active: numberOrder === 1 && filterIndex === 1 }" class="iconfont iconfold"></text>
+					<text :class="{ active: numberOrder === 2 && filterIndex === 1 }"
+						class="iconfont iconfold xia"></text>
+				</view>
+			</view>
+			<view class="nav-item" :class="{ current: filterIndex === 2 }" @click="tabClick(2)">
+				<text>价格</text>
+				<view class="p-box">
+					<text :class="{ active: priceOrder === 1 && filterIndex === 2 }" class="iconfont iconfold"></text>
+					<text :class="{ active: priceOrder === 2 && filterIndex === 2 }"
+						class="iconfont iconfold xia"></text>
+				</view>
+			</view>
+			<text class="cate-item iconfont iconapps" @click="toggleCateMask('show')"></text>
+		</view>
+		<view class="goods-list">
+			<view v-for="(item, index) in goodsList" :key="index" class="goods-item" @click="navToDetailPage(item)">
+				<view class="image-wrapper">
+					<image :src="item.image" mode="aspectFill"></image>
+				</view>
+				<text class="title clamp">{{ item.title }}</text>
+				<view class="price-box">
+					<text class="price">{{ item.price }}</text>
+					<text>已售 {{ item.sales }}</text>
+				</view>
+			</view>
+		</view>
+		<uni-load-more :status="loadingType"></uni-load-more>
+
+		<view class="cate-mask" :class="cateMaskState === 0 ? 'none' : cateMaskState === 1 ? 'show' : ''"
+			@click="toggleCateMask">
+			<view class="cate-content" @click.stop.prevent="stopPrevent" @touchmove.stop.prevent="stopPrevent">
+				<scroll-view scroll-y class="cate-list">
+					<view v-for="item in cateList" :key="item.id">
+						<view class="cate-item b-b two">{{ item.cate_name }}</view>
+						<view v-for="tItem in item.children" :key="tItem.id" class="cate-item b-b"
+							:class="{ active: tItem.id == cateId }" @click="changeCate(tItem)">
+							{{ tItem.cate_name }}
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import {
+		getProducts
+	} from '@/api/product.js';
+	import {
+		getCategoryList
+	} from '@/api/product.js';
+	export default {
+		components: {
+			uniLoadMore
+		},
+		data() {
+			return {
+				cateMaskState: 0, //分类面板展开状态
+				headerPosition: 'fixed',
+				headerTop: '0px',
+				loadingType: 'more', //加载更多状态
+				filterIndex: 0, //查询类型
+				numberOrder: 0, //1 销量从低到高 2销量从高到低
+				limit: 6, //每次加载数据条数
+				page: 0, //当前页数
+				cateId: 0, //已选三级分类id
+				priceOrder: 0, //1 价格从低到高 2价格从高到低
+				cateList: [], //分类列表
+				goodsList: [] //商品列表
+			};
+		},
+
+		onLoad(options) {
+			// #ifdef H5
+			this.headerTop = document.getElementsByTagName('uni-page-head')[0].offsetHeight + 'px';
+			// #endif
+			this.cateId = options.tid;
+			this.loadCateList(options.fid, options.sid);
+			this.loadData();
+		},
+		onPageScroll(e) {
+			//兼容iOS端下拉时顶部漂移
+			if (e.scrollTop >= 0) {
+				this.headerPosition = 'fixed';
+			} else {
+				this.headerPosition = 'absolute';
+			}
+		},
+		//下拉刷新
+		onPullDownRefresh() {
+			this.loadData('refresh');
+		},
+		//监听页面是否滚动到底部加载更多
+		onReachBottom() {
+			this.loadData();
+		},
+		methods: {
+			//加载分类
+			async loadCateList(fid, sid) {
+				let obj = this;
+				getCategoryList({}).then(function(e) {
+					console.log(e);
+					e.data.forEach(function(e) {
+						if (e.id == fid) {
+							obj.cateList = e.children;
+							return;
+						}
+					});
+					console.log(obj.cateList);
+				});
+			},
+			//加载商品 ,带下拉刷新和上滑加载
+			async loadData(type = 'add', loading) {
+				let obj = this;
+				let data = {
+					page: obj.page,
+					limit: obj.limit,
+					sid: obj.cateId //分类id
+				};
+				//没有更多直接返回
+				if (type === 'add') {
+					if (obj.loadingType === 'nomore') {
+						return;
+					}
+					obj.loadingType = 'loading';
+				} else {
+					obj.loadingType = 'more';
+				}
+				if (type === 'refresh') {
+					// 清空数组
+					obj.goodsList = [];
+					obj.page = 1
+				}
+				if (this.filterIndex == 1) {
+					console.log(obj.salesOrder);
+					data.salesOrder = obj.numberOrder == 1 ? 'asc' : 'desc';
+				}
+				if (this.filterIndex == 2) {
+					console.log(obj.priceOrder);
+					data.priceOrder = obj.priceOrder == 1 ? 'asc' : 'desc';
+				}
+				getProducts(data).then(function(e) {
+					console.log(e.data);
+					obj.goodsList = obj.goodsList.concat(e.data);
+					//判断是否还有下一页,有是more  没有是nomore
+					if (obj.limit == e.data.length) {
+						obj.page++
+						obj.loadingType = 'more'
+					} else {
+						obj.loadingType = 'nomore'
+					}
+					if (type === 'refresh') {
+						if (loading == 1) {
+							uni.hideLoading();
+						} else {
+							uni.stopPullDownRefresh();
+						}
+					}
+				});
+			},
+			//筛选点击
+			tabClick(index) {
+				// 防止重复点击综合排序
+				if (this.filterIndex === 0 && this.filterIndex === index) {
+					return;
+				}
+				this.filterIndex = index;
+				// 判断是否为销量优先
+				if (index === 1) {
+					this.numberOrder = this.numberOrder === 1 ? 2 : 1;
+				}
+				// 判断是否为价格优先
+				if (index === 2) {
+					this.priceOrder = this.priceOrder === 1 ? 2 : 1;
+				}
+				// 初始化页数
+				this.page = 1;
+				// 初始化数组
+				uni.pageScrollTo({
+					duration: 300,
+					scrollTop: 0
+				});
+				this.loadData('refresh', 1);
+				uni.showLoading({
+					title: '正在加载'
+				});
+			},
+			//显示分类面板
+			toggleCateMask(type) {
+				let timer = type === 'show' ? 10 : 300;
+				let state = type === 'show' ? 1 : 0;
+				this.cateMaskState = 2;
+				setTimeout(() => {
+					this.cateMaskState = state;
+				}, timer);
+			},
+			//分类点击
+			changeCate(item) {
+				this.cateId = item.id;
+				// 显示右侧分类
+				this.toggleCateMask();
+				// 滚轮返回顶部
+				uni.pageScrollTo({
+					duration: 300,
+					scrollTop: 0
+				});
+				// 初始化查询页数
+				this.page = 1
+				// 重新加载数据
+				this.loadData('refresh', 1);
+				uni.showLoading({
+					title: '正在加载'
+				});
+			},
+			//详情
+			navToDetailPage(item) {
+				let id = item.id;
+				uni.navigateTo({
+					url: `/pages/product/product?id=${id}`
+				});
+			},
+			stopPrevent() {}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page,
+	.content {
+		background: $page-color-base;
+	}
+
+	.content {
+		padding-top: 96rpx;
+	}
+
+	.navbar {
+		position: fixed;
+		left: 0;
+		top: var(--window-top);
+		display: flex;
+		width: 100%;
+		height: 80rpx;
+		background: #fff;
+		box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.06);
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 30rpx;
+			color: $font-color-dark;
+			position: relative;
+
+			&.current {
+				color: $base-color;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 120rpx;
+					height: 0;
+					border-bottom: 4rpx solid $base-color;
+				}
+			}
+		}
+
+		.p-box {
+			display: flex;
+			flex-direction: column;
+
+			.iconfont {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 30rpx;
+				height: 14rpx;
+				line-height: 1;
+				margin-left: 4rpx;
+				font-size: 26rpx;
+				color: #888;
+
+				&.active {
+					color: $base-color;
+				}
+			}
+
+			.xia {
+				transform: scaleY(-1);
+			}
+		}
+
+		.cate-item {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			width: 80rpx;
+			position: relative;
+			font-size: 44rpx;
+
+			&:after {
+				content: '';
+				position: absolute;
+				left: 0;
+				top: 50%;
+				transform: translateY(-50%);
+				border-left: 1px solid #ddd;
+				width: 0;
+				height: 36rpx;
+			}
+		}
+	}
+
+	/* 分类 */
+	.cate-mask {
+		position: fixed;
+		left: 0;
+		top: var(--window-top);
+		bottom: 0;
+		width: 100%;
+		background: rgba(0, 0, 0, 0);
+		z-index: 95;
+		transition: 0.3s;
+
+		.cate-content {
+			width: 630rpx;
+			height: 100%;
+			background: #fff;
+			float: right;
+			transform: translateX(100%);
+			transition: 0.3s;
+		}
+
+		&.none {
+			display: none;
+		}
+
+		&.show {
+			background: rgba(0, 0, 0, 0.4);
+
+			.cate-content {
+				transform: translateX(0);
+			}
+		}
+	}
+
+	.cate-list {
+		display: flex;
+		flex-direction: column;
+		height: 100%;
+	
+	.cate-item {
+			display: flex;
+			align-items: center;
+			height: 90rpx;
+			padding-left: 30rpx;
+			font-size: 28rpx;
+			color: #555;
+			position: relative;
+		}
+
+		.two {
+			height: 64rpx;
+			color: #303133;
+			font-size: 30rpx;
+			background: #f8f8f8;
+		}
+
+		.active {
+			color: $base-color;
+		}
+	}
+
+	/* 商品列表 */
+	.goods-list {
+		display: flex;
+		flex-wrap: wrap;
+		padding: 0 30rpx;
+		background: #fff;
+
+		.goods-item {
+			display: flex;
+			flex-direction: column;
+			width: 48%;
+			padding-bottom: 40rpx;
+
+			&:nth-child(2n + 1) {
+				margin-right: 4%;
+			}
+		}
+
+		.image-wrapper {
+			width: 100%;
+			height: 330rpx;
+			border-radius: 3px;
+			overflow: hidden;
+
+			image {
+				width: 100%;
+				height: 100%;
+				opacity: 1;
+			}
+		}
+
+		.title {
+			font-size: $font-lg;
+			color: $font-color-dark;
+			line-height: 80rpx;
+		}
+
+		.price-box {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			padding-right: 10rpx;
+			font-size: 24rpx;
+			color: $font-color-light;
+		}
+
+		.price {
+			font-size: $font-lg;
+			color: $uni-color-primary;
+			line-height: 1;
+
+			&:before {
+				content: '¥';
+				font-size: 26rpx;
+			}
+		}
+	}
 </style>

+ 3 - 0
pages/user/greenJf.vue

@@ -335,7 +335,10 @@
 		padding-top: 70rpx;
 		color: #ffffff;
 		text-align: center;
+		/* #ifdef APP-PLUS */
+		padding-top: 30rpx;
 
+		/* #endif */
 		.money {
 			font-size: 72rpx;
 			font-family: PingFang SC;

+ 3 - 0
pages/user/mallJf.vue

@@ -345,7 +345,10 @@
 		padding-top: 70rpx;
 		color: #ffffff;
 		text-align: center;
+		/* #ifdef APP-PLUS */
+		padding-top: 30rpx;
 
+		/* #endif */
 		.money {
 			font-size: 72rpx;
 			font-family: PingFang SC;

+ 3 - 0
pages/user/purpleJf.vue

@@ -343,6 +343,9 @@
 		position: relative;
 		z-index: 2;
 		padding-top: 70rpx;
+		/* #ifdef APP-PLUS */
+		padding-top: 30rpx;
+		/* #endif */
 		color: #ffffff;
 		text-align: center;
 

+ 4 - 1
pages/user/shopJf.vue

@@ -1,9 +1,12 @@
 <template>
 	<view class="content">
 		<view class="content-money">
+			<!-- #ifndef APP-PLUS -->
 			<view class="status_bar">
 				<!-- 这里是状态栏 -->
 			</view>
+			<!-- #endif -->
+
 			<view class="body-title">
 				<view class="goback-box" @click="toBack">
 					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
@@ -14,7 +17,7 @@
 				<image src="../../static/img/myyue.png" mode=""></image>
 			</view>
 			<view class="money-box">
-				<view class="money">{{userInfo.green_integral | getMoneyStyle}}</view>
+				<view class="money">{{userInfo.business_integral | getMoneyStyle}}</view>
 				<view>当前余额</view>
 			</view>
 			<view class="moneybtn-box">

+ 384 - 354
pages/user/team.vue

@@ -1,355 +1,385 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="status_bar"><!-- 这里是状态栏 --></view>
-			<view class="body-title">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">我的推广</view>
-			</view>
-			<view class="content-bg"><image src="../../static/img/promotion-bg.png" mode=""></image></view>
-			<view class="money-box">
-				<view class="money">{{ all }}</view>
-				<view>我的推广人数</view>
-			</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view class="list-scroll-content" :style="{ height: maxheight }" scroll-y @scrolltolower="loadData">
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-
-					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
-						<view class="title-box flex_item">
-							<view class="title-avatar"><image :src="item.avatar"></image></view>
-							<view class="list_tpl">
-								<view class="title">
-									<view class="title-name clamp">{{ item.nickname }}</view>
-								</view>
-								<view class="time">
-									<text>{{ item.time }}</text>
-								</view>
-							</view>
-							<view class="money">
-								<text>{{ item.self_achievement == null ? '未购买' : item.self_achievement + '元' }}</text>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-<script>
-import { myspread } from '@/api/user.js';
-import { mapState, mapMutations } from 'vuex';
-export default {
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.maxheight = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			navList: [
-				{
-					state: 0,
-					text: '直接推荐',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-			all: '',
-			list: '',
-		};
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			if (navItem.loadingType === 'noMore') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-			myspread({
-				page: navItem.page,
-				limit: navItem.limit
-			})
-				.then(({ data }) => {
-					console.log(data);
-					this.all = data.total;
-					if (data.list.length > 0) {
-						this.list = data.list;
-						navItem.orderList = navItem.orderList.concat(data.list);
-						navItem.page++;
-					}
-					this.$nextTick(function() {
-						if (navItem.limit == data.list.length) {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'more';
-							return;
-						} else {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'noMore';
-						}
-					});
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		},
-		// 点击返回 我的页面
-		toBack() {
-			uni.switchTab({
-				url: '/pages/user/user'
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #f8f8f8;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-	background: #5dbc7c;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
-		position: relative;
-		.header {
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
-			height: 80rpx;
-			display: flex;
-			align-items: center;
-		}
-
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
-		}
-	}
-}
-
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-
-.order-item {
-	padding: 20rpx 30rpx;
-	line-height: 1.5;
-
-	.title-box {
-		width: 100%;
-
-		.title-avatar {
-			flex-shrink: 0;
-			width: 100rpx;
-			height: 100rpx;
-			margin-right: 25rpx;
-			border-radius: 100%;
-			image {
-				width: 100%;
-				height: 100%;
-				border-radius: 100%;
-			}
-		}
-
-		.list_tpl {
-			width: 85%;
-
-			.title {
-				display: flex;
-				justify-content: flex-start;
-				font-size: $font-lg;
-				color: $font-color-base;
-				overflow: hidden; //超出的文本隐藏
-				text-overflow: ellipsis; //溢出用省略号显示
-				white-space: nowrap;
-				line-height: 1;
-				text-align: center;
-				.title-name {
-					max-width: 40%;
-				}
-				.dl {
-					margin-left: 10rpx;
-					width: 93rpx;
-					height: 32rpx;
-					border-radius: 16rpx;
-					image {
-						width: 93rpx;
-						height: 32rpx;
-						border-radius: 16rpx;
-					}
-				}
-				.class {
-					display: inline-block;
-					margin-left: 10rpx;
-					padding: 6rpx;
-					text-align: center;
-					border: 1px solid #2e58ff;
-					border-radius: 16rpx;
-					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #2e58ff;
-				}
-			}
-
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
-			}
-		}
-	}
-
-	.money {
-		width: 50%;
-		text-align: right;
-		color: #db1935;
-		font-size: $font-lg;
-	}
-}
-.yeji {
-	position: relative;
-	margin: -72rpx auto 0;
-	width: 690rpx;
-	height: 143rpx;
-	background: #ffffff;
-	box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
-	border-radius: 10rpx;
-	display: flex;
-	align-items: center;
-
-	.yeji-a {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-
-		.yeji-top {
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-		}
-
-		.yeji-buttom {
-			font-size: 42rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-		}
-	}
-
-	.border {
-		width: 1rpx;
-		height: 51rpx;
-		background: #dddddd;
-	}
-}
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="status_bar">
+				<!-- 这里是状态栏 -->
+			</view>
+			<view class="body-title">
+				<view class="goback-box" @click="toBack">
+					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+				</view>
+				<view class="header">我的推广</view>
+			</view>
+			<view class="content-bg">
+				<image src="../../static/img/promotion-bg.png" mode=""></image>
+			</view>
+			<view class="money-box">
+				<view class="money">{{ all }}</view>
+				<view>我的推广人数</view>
+			</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300"
+			@change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view class="list-scroll-content" :style="{ height: maxheight }" scroll-y
+					@scrolltolower="loadData">
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
+						<view class="title-box flex_item">
+							<view class="title-avatar">
+								<image :src="item.avatar"></image>
+							</view>
+							<view class="list_tpl">
+								<view class="title">
+									<view class="title-name clamp">{{ item.nickname }}</view>
+								</view>
+								<view class="time">
+									<text>{{ item.time }}</text>
+								</view>
+							</view>
+							<!-- <view class="money">
+								<text>{{ item.self_achievement == null ? '未购买' : item.self_achievement + '元' }}</text>
+							</view> -->
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+<script>
+	import {
+		myspread
+	} from '@/api/user.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	export default {
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.maxheight = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		data() {
+			return {
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				navList: [{
+					state: 0,
+					text: '直接推荐',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				}],
+				all: '',
+				list: '',
+			};
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		onLoad(options) {},
+		onShow() {
+			this.loadData();
+		},
+		methods: {
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				if (navItem.loadingType === 'noMore') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+				myspread({
+						page: navItem.page,
+						limit: navItem.limit
+					})
+					.then(({
+						data
+					}) => {
+						console.log(data);
+						this.all = data.total;
+						if (data.list.length > 0) {
+							this.list = data.list;
+							navItem.orderList = navItem.orderList.concat(data.list);
+							navItem.page++;
+						}
+						this.$nextTick(function() {
+							if (navItem.limit == data.list.length) {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'more';
+								return;
+							} else {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'noMore';
+							}
+						});
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			},
+			// 点击返回 我的页面
+			toBack() {
+				uni.switchTab({
+					url: '/pages/user/user'
+				});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		background: #f8f8f8;
+		height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+		background: #5dbc7c;
+	}
+
+	.content-money {
+		position: relative;
+		height: 480rpx;
+
+		.content-bg {
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.body-title {
+			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
+		}
+	}
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 90rpx;
+		color: #ffffff;
+		text-align: center;
+
+		.money {
+			font-size: 72rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+
+		.text {
+			font-size: 30rpx;
+		}
+	}
+
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+
+		.title-box {
+			width: 100%;
+
+			.title-avatar {
+				flex-shrink: 0;
+				width: 100rpx;
+				height: 100rpx;
+				margin-right: 25rpx;
+				border-radius: 100%;
+
+				image {
+					width: 100%;
+					height: 100%;
+					border-radius: 100%;
+				}
+			}
+
+			.list_tpl {
+				width: 85%;
+
+				.title {
+					display: flex;
+					justify-content: flex-start;
+					font-size: $font-lg;
+					color: $font-color-base;
+					overflow: hidden; //超出的文本隐藏
+					text-overflow: ellipsis; //溢出用省略号显示
+					white-space: nowrap;
+					line-height: 1;
+					text-align: center;
+
+					.title-name {
+						max-width: 40%;
+					}
+
+					.dl {
+						margin-left: 10rpx;
+						width: 93rpx;
+						height: 32rpx;
+						border-radius: 16rpx;
+
+						image {
+							width: 93rpx;
+							height: 32rpx;
+							border-radius: 16rpx;
+						}
+					}
+
+					.class {
+						display: inline-block;
+						margin-left: 10rpx;
+						padding: 6rpx;
+						text-align: center;
+						border: 1px solid #2e58ff;
+						border-radius: 16rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #2e58ff;
+					}
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
+			}
+		}
+
+		.money {
+			width: 50%;
+			text-align: right;
+			color: #db1935;
+			font-size: $font-lg;
+		}
+	}
+
+	.yeji {
+		position: relative;
+		margin: -72rpx auto 0;
+		width: 690rpx;
+		height: 143rpx;
+		background: #ffffff;
+		box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+		display: flex;
+		align-items: center;
+
+		.yeji-a {
+			width: 50%;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+
+			.yeji-top {
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+
+			.yeji-buttom {
+				font-size: 42rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+
+		.border {
+			width: 1rpx;
+			height: 51rpx;
+			background: #dddddd;
+		}
+	}
 </style>

+ 6 - 2
pages/user/user.vue

@@ -1,6 +1,9 @@
 <template>
 	<view class="container">
+		<!-- #ifdef APP-PLUS -->
 		<view class="vheigh"></view>
+		<!-- #endif -->
+
 		<!-- 用户头像设置 -->
 		<view class="user-wrap">
 			<view class="user-left">
@@ -80,7 +83,8 @@
 			</view>
 		</view>
 		<image src="../../static/img/sq-rz.png" mode="widthFix"
-			style="width: 691rpx;display: block;margin:0rpx auto 20rpx;" @click="navTo('/pages/user/joinShop')">
+			style="width: 691rpx;display: block;margin:0rpx auto 20rpx;" @click="navTo('/pages/user/joinShop')"
+			v-if="userInfo && userInfo.is_merchant == 0">
 		</image>
 		<!-- 订单 -->
 		<view class="item-box item-box-b">
@@ -398,7 +402,7 @@
 
 	.vheigh {
 		height: var(--status-bar-height);
-		background-color: $base-color;
+		// background-color: #fff;
 	}
 
 	.user-section {

+ 4 - 1
pages/user/wenpiao.vue

@@ -14,7 +14,7 @@
 				<image src="../../static/img/myyue.png" mode=""></image>
 			</view>
 			<view class="money-box">
-				<view class="money">{{userInfo.green_integral | getMoneyStyle}}</view>
+				<view class="money">{{userInfo.paper_ticket | getMoneyStyle}}</view>
 				<view>当前余额</view>
 			</view>
 			<!-- <view class="moneybtn-box">
@@ -336,7 +336,10 @@
 		padding-top: 70rpx;
 		color: #ffffff;
 		text-align: center;
+		/* #ifdef APP-PLUS */
+		padding-top: 30rpx;
 
+		/* #endif */
 		.money {
 			font-size: 72rpx;
 			font-family: PingFang SC;

+ 3 - 0
pages/user/whiteJf.vue

@@ -345,7 +345,10 @@
 		padding-top: 70rpx;
 		color: #ffffff;
 		text-align: center;
+		/* #ifdef APP-PLUS */
+		padding-top: 30rpx;
 
+		/* #endif */
 		.money {
 			font-size: 72rpx;
 			font-family: PingFang SC;

+ 48 - 48
store/index.js

@@ -1,49 +1,49 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
-import user from './model/user'
-//引入axios模块(先下载`axios`--)
-// import axios from 'axios'
-import axios from 'axios'
-//将axios挂载在vue原型链上
-// Vue.prototype.$axios = axios;
-Vue.prototype.$axios =axios
-Vue.use(Vuex)
-
-const store = new Vuex.Store({
-	state: {
-		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
-		baseURL:'https://xl.liuniu946.com',//请求地址配置 
-		// baseURL:'http://lnpt.frp.liuniu946.com/',//请求地址配置 
-		urlFile:'/index',//项目部署所在文件夹
-		userInfo: {}, //登录信息
-		loginInterceptor:false,//是否打开强制登录
-		// #ifdef H5 || MP-WEIXIN
-		weichatInfo:{},//保存微信注册信息
-		weichatObj:'',//微信对象
-		// #endif
-		latitude: '',
-		longitude: '',
-	},
-	mutations: {
-		//保存微信信息
-		setWeiChatInfo(state, provider) {
-			state.weichatInfo = provider;
-		},
-		//保存微信对象
-		setWeiChatObj(state, provider) {
-			state.weichatObj = provider;
-		},
-		setLat(state, provider) {
-			state.latitude = provider
-		},
-		setLon(state, provider) {
-			state.longitude = provider
-		},
-	},
-	modules:{
-		user
-	},
-	actions: {}
-})
-
+import Vue from 'vue'
+import Vuex from 'vuex'
+import user from './model/user'
+//引入axios模块(先下载`axios`--)
+// import axios from 'axios'
+import axios from 'axios'
+//将axios挂载在vue原型链上
+// Vue.prototype.$axios = axios;
+Vue.prototype.$axios = axios
+Vue.use(Vuex)
+
+const store = new Vuex.Store({
+	state: {
+		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
+		baseURL: 'http://xhg.frp.liuniu946.com', //请求地址配置 
+		// baseURL:'http://lnpt.frp.liuniu946.com/',//请求地址配置 
+		urlFile: '/index', //项目部署所在文件夹
+		userInfo: {}, //登录信息
+		loginInterceptor: false, //是否打开强制登录
+		// #ifdef H5 || MP-WEIXIN
+		weichatInfo: {}, //保存微信注册信息
+		weichatObj: '', //微信对象
+		// #endif
+		latitude: '',
+		longitude: '',
+	},
+	mutations: {
+		//保存微信信息
+		setWeiChatInfo(state, provider) {
+			state.weichatInfo = provider;
+		},
+		//保存微信对象
+		setWeiChatObj(state, provider) {
+			state.weichatObj = provider;
+		},
+		setLat(state, provider) {
+			state.latitude = provider
+		},
+		setLon(state, provider) {
+			state.longitude = provider
+		},
+	},
+	modules: {
+		user
+	},
+	actions: {}
+})
+
 export default store

+ 0 - 0
unpackage/dist/dev/.automator/app-plus/.automator.json


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappchooselocation.js


BIN
unpackage/dist/dev/app-plus/__uniapperror.png


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappes6.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappopenlocation.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/__uniapppicker.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 6 - 0
unpackage/dist/dev/app-plus/__uniappquill.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappquillimageresize.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappscan.js


BIN
unpackage/dist/dev/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/dev/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 3 - 0
unpackage/dist/dev/app-plus/app-config-service.js


+ 154 - 0
unpackage/dist/dev/app-plus/app-config.js

@@ -0,0 +1,154 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"app-config": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 9 - 0
unpackage/dist/dev/app-plus/app-service.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1076 - 0
unpackage/dist/dev/app-plus/app-view.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
unpackage/dist/dev/app-plus/manifest.json


+ 551 - 0
unpackage/dist/dev/app-plus/static/css/cmy.css

@@ -0,0 +1,551 @@
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.acea-row {
+	display: -webkit-box;
+	display: -moz-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-lines: multiple;
+	-moz-box-lines: multiple;
+	-o-box-lines: multiple;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+.acea-row.row-middle {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+.acea-row.row-right {
+	-webkit-box-pack: end;
+	-moz-box-pack: end;
+	-o-box-pack: end;
+	-ms-flex-pack: end;
+	-webkit-justify-content: flex-end;
+	justify-content: flex-end
+}
+
+.acea-row.row-between-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: justify;
+	-moz-box-pack: justify;
+	-o-box-pack: justify;
+	-ms-flex-pack: justify;
+	-webkit-justify-content: space-between;
+	justify-content: space-between
+}
+
+.acea-row.row-column-around {
+	-webkit-flex-direction: column;
+	-ms-flex-direction: column;
+	flex-direction: column;
+	justify-content: space-around;
+	-webkit-justify-content: space-around
+}
+
+.acea-row.row-center-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: center;
+	-moz-box-pack: center;
+	-o-box-pack: center;
+	-ms-flex-pack: center;
+	-webkit-justify-content: center;
+	justify-content: center
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
+}

BIN
unpackage/dist/dev/app-plus/static/error/emptyCart.png


BIN
unpackage/dist/dev/app-plus/static/error/errorImage.jpg


BIN
unpackage/dist/dev/app-plus/static/error/missing-face.png


BIN
unpackage/dist/dev/app-plus/static/game/game01.png


BIN
unpackage/dist/dev/app-plus/static/game/game02.png


BIN
unpackage/dist/dev/app-plus/static/game/game03.png


BIN
unpackage/dist/dev/app-plus/static/game/game04.png


BIN
unpackage/dist/dev/app-plus/static/game/game05.png


BIN
unpackage/dist/dev/app-plus/static/game/game06.png


BIN
unpackage/dist/dev/app-plus/static/game/game07.png


BIN
unpackage/dist/dev/app-plus/static/game/game08.png


BIN
unpackage/dist/dev/app-plus/static/game/reb01.png


BIN
unpackage/dist/dev/app-plus/static/game/reb02.png


BIN
unpackage/dist/dev/app-plus/static/game/reb03.png


BIN
unpackage/dist/dev/app-plus/static/game/reb04.png


BIN
unpackage/dist/dev/app-plus/static/game/微信.lnk


BIN
unpackage/dist/dev/app-plus/static/icon/add.png


BIN
unpackage/dist/dev/app-plus/static/icon/appleIcon.png


BIN
unpackage/dist/dev/app-plus/static/icon/bdsj.png


BIN
unpackage/dist/dev/app-plus/static/icon/c3.png


BIN
unpackage/dist/dev/app-plus/static/icon/c5.png


BIN
unpackage/dist/dev/app-plus/static/icon/c6.png


BIN
unpackage/dist/dev/app-plus/static/icon/c7.png


BIN
unpackage/dist/dev/app-plus/static/icon/c8.png


BIN
unpackage/dist/dev/app-plus/static/icon/dsjh.png


BIN
unpackage/dist/dev/app-plus/static/icon/fanhui.png


BIN
unpackage/dist/dev/app-plus/static/icon/goto.png


BIN
unpackage/dist/dev/app-plus/static/icon/i1.png


BIN
unpackage/dist/dev/app-plus/static/icon/i2.png


BIN
unpackage/dist/dev/app-plus/static/icon/i3.png


BIN
unpackage/dist/dev/app-plus/static/icon/i4.png


BIN
unpackage/dist/dev/app-plus/static/icon/i5.png


BIN
unpackage/dist/dev/app-plus/static/icon/i6.png


BIN
unpackage/dist/dev/app-plus/static/icon/i7.png


BIN
unpackage/dist/dev/app-plus/static/icon/i8.png


BIN
unpackage/dist/dev/app-plus/static/icon/img01.png


BIN
unpackage/dist/dev/app-plus/static/icon/img02.png


BIN
unpackage/dist/dev/app-plus/static/icon/img03.png


BIN
unpackage/dist/dev/app-plus/static/icon/img04.png


BIN
unpackage/dist/dev/app-plus/static/icon/img05.png


BIN
unpackage/dist/dev/app-plus/static/icon/img06.png


BIN
unpackage/dist/dev/app-plus/static/icon/img07.png


BIN
unpackage/dist/dev/app-plus/static/icon/img08.png


BIN
unpackage/dist/dev/app-plus/static/icon/img09.png


BIN
unpackage/dist/dev/app-plus/static/icon/img10.png


BIN
unpackage/dist/dev/app-plus/static/icon/img11.png


BIN
unpackage/dist/dev/app-plus/static/icon/img12.png


BIN
unpackage/dist/dev/app-plus/static/icon/kf.png


BIN
unpackage/dist/dev/app-plus/static/icon/mygx.png


BIN
unpackage/dist/dev/app-plus/static/icon/myjd.png


BIN
unpackage/dist/dev/app-plus/static/icon/myqb.png


BIN
unpackage/dist/dev/app-plus/static/icon/mytg.png


BIN
unpackage/dist/dev/app-plus/static/icon/myyj.png


BIN
unpackage/dist/dev/app-plus/static/icon/reduce.png


BIN
unpackage/dist/dev/app-plus/static/icon/search-h.png


BIN
unpackage/dist/dev/app-plus/static/icon/select.png


BIN
unpackage/dist/dev/app-plus/static/icon/selected.png


BIN
unpackage/dist/dev/app-plus/static/icon/shdz.png


BIN
unpackage/dist/dev/app-plus/static/icon/tghb.png


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است