cmy před 1 rokem
rodič
revize
ca01f5586f

+ 4 - 3
App.vue

@@ -299,9 +299,6 @@
 					});
 			}
 			// #endif
-			// #ifdef APP
-			getUpApp();
-			// #endif
 		},
 		onShow(options) {
 			let that = this;
@@ -320,6 +317,10 @@
 			// 		})
 			// }
 			// #endif
+			// #ifdef APP
+			// 升级App
+			getUpApp();
+			// #endif
 		},
 		mounted() {
 			// setTimeout((e) => {

+ 7 - 0
api/api.js

@@ -476,5 +476,12 @@ export function getCategoryVersion() {
 }
 
 
+/**
+ * 商品分类类版本
+ */
+export function getAppVersion() {
+	return request.get('version');
+}
+
 
 

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
     "name" : "壹柒科技",
     "appid" : "__UNI__B0B5BE7",
     "description" : "壹柒科技",
-    "versionName" : "2.6.2",
-    "versionCode" : 265,
+    "versionName" : "2.6.4",
+    "versionCode" : 266,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {

+ 142 - 71
pages/index/index.vue

@@ -1,33 +1,52 @@
 <template>
-  <!-- 首页 -->
+	<!-- 首页 -->
 	<view v-if="pageShow" class="page"
 		:class="bgTabVal==2?'fullsize noRepeat':bgTabVal==1?'repeat ysize':'noRepeat ysize'"
 		:style="'background-color:'+bgColor+';background-image: url('+bgPic+');min-height:'+windowHeight+'px;'">
+		<!-- #ifdef H5 -->
+		<view class="titleBox titleflex" v-if="showDom">
+			<view class="title">
+				是否下载app
+			</view>
+			<view class="titleflex right">
+				<view class="buttom domApp" @click="domApp">
+					下载App
+				</view>
+				<view class="buttom out" @click="showDom=false">
+					关闭
+				</view>
+			</view>
+
+		</view>
+		<!-- #endif -->
 		<view v-if="!errorNetwork" :style="colorStyle">
 			<skeletons v-if="showSkeleton"></skeletons>
 			<view class="index">
 				<!-- #ifdef H5 -->
 				<view v-for="(item, index) in styleConfig" :key="index">
 					<component :is="item.name" :index="index" :dataConfig="item" @changeBarg="changeBarg"
-						@detail="goDetail" :isSortType="isSortType" @bindSortId="bindSortId" @changeLogin="changeLogin" 
-						@bindHeight="bindHeight" :isFixed="isFixed" :productVideoStatus='product_video_status' :isScrolled="isScrolled">
+						@detail="goDetail" :isSortType="isSortType" @bindSortId="bindSortId" @changeLogin="changeLogin"
+						@bindHeight="bindHeight" :isFixed="isFixed" :productVideoStatus='product_video_status'
+						:isScrolled="isScrolled">
 					</component>
 				</view>
 				<!-- #endif -->
-				
+
 				<!-- #ifdef MP || APP-PLUS -->
-        <!-- 自定义样式 -->
+				<!-- 自定义样式 -->
 				<block v-for="(item, index) in styleConfig" :key="index">
-					<homeComb v-if="item.name == 'homeComb'" :dataConfig="item" @bindSortId="bindSortId" :isScrolled="isScrolled"></homeComb>
+					<homeComb v-if="item.name == 'homeComb'" :dataConfig="item" @bindSortId="bindSortId"
+						:isScrolled="isScrolled"></homeComb>
 					<shortVideo v-if="item.name == 'shortVideo'" :dataConfig="item" :isSortType="isSortType">
 					</shortVideo>
-					<userInfor v-if="item.name == 'userInfor'" :dataConfig="item" :isSortType="isSortType" @changeLogin="changeLogin">
+					<userInfor v-if="item.name == 'userInfor'" :dataConfig="item" :isSortType="isSortType"
+						@changeLogin="changeLogin">
 					</userInfor>
 					<newVip v-if="item.name == 'newVip'" :dataConfig="item" :isSortType="isSortType">
 					</newVip>
 					<activeParty v-if="item.name == 'activeParty'" :dataConfig="item" :isSortType="isSortType">
 					</activeParty>
-          <!-- 文章列表 -->
+					<!-- 文章列表 -->
 					<articleList v-if="item.name == 'articleList'" :dataConfig="item" :isSortType="isSortType">
 					</articleList>
 					<bargain v-if="item.name == 'bargain'" :dataConfig="item" @changeBarg="changeBarg"
@@ -35,38 +54,40 @@
 					<blankPage v-if="item.name == 'blankPage'" :dataConfig="item" :isSortType="isSortType"></blankPage>
 					<combination v-if="item.name == 'combination'" :dataConfig="item" :isSortType="isSortType">
 					</combination>
-          <!-- 优惠券 -->
-					<coupon v-if="item.name == 'coupon'" :dataConfig="item" :isSortType="isSortType" @changeLogin="changeLogin"></coupon>
-          <!-- 客户服务 -->
+					<!-- 优惠券 -->
+					<coupon v-if="item.name == 'coupon'" :dataConfig="item" :isSortType="isSortType"
+						@changeLogin="changeLogin"></coupon>
+					<!-- 客户服务 -->
 					<customerService v-if="item.name == 'customerService'" :dataConfig="item" :isSortType="isSortType">
 					</customerService>
-          <!-- 商品列表 -->
+					<!-- 商品列表 -->
 					<goodList v-if="item.name == 'goodList'" :dataConfig="item" @detail="goDetail"
 						:isSortType="isSortType"></goodList>
 					<guide v-if="item.name == 'guide'" :dataConfig="item" :isSortType="isSortType"></guide>
-          <!-- 顶部搜索框 -->
+					<!-- 顶部搜索框 -->
 					<headerSerch v-if="item.name == 'headerSerch'" :dataConfig="item"></headerSerch>
-          <!-- 直播模块 -->
+					<!-- 直播模块 -->
 					<liveBroadcast v-if="item.name == 'liveBroadcast'" :dataConfig="item" :isSortType="isSortType">
 					</liveBroadcast>
 					<menus v-if="item.name == 'menus'" :dataConfig="item" :isSortType="isSortType"></menus>
-          <!-- 实时消息 -->
+					<!-- 实时消息 -->
 					<news v-if="item.name == 'news'" :dataConfig="item" :isSortType="isSortType"></news>
-          <!-- 图片库 -->
+					<!-- 图片库 -->
 					<pictureCube v-if="item.name == 'pictureCube'" :dataConfig="item" :isSortType="isSortType">
 					</pictureCube>
-          <!-- 促销列表 -->
-					<promotionList v-if="item.name == 'promotionList'" :dataConfig="item" @detail="goDetail" :isSortType="isSortType" :productVideoStatus='product_video_status'>
+					<!-- 促销列表 -->
+					<promotionList v-if="item.name == 'promotionList'" :dataConfig="item" @detail="goDetail"
+						:isSortType="isSortType" :productVideoStatus='product_video_status'>
 					</promotionList>
 					<richText v-if="item.name == 'richText'" :dataConfig="item" :isSortType="isSortType"></richText>
 					<seckill v-if="item.name == 'seckill'" :dataConfig="item" :isSortType="isSortType"></seckill>
-          <!-- 轮播图-->
+					<!-- 轮播图-->
 					<swiperBg v-if="item.name == 'swiperBg'" :dataConfig="item" :isSortType="isSortType"></swiperBg>
 					<swipers v-if="item.name == 'swipers'" :dataConfig="item" :isSortType="isSortType"></swipers>
-          <!-- 顶部选项卡 -->
+					<!-- 顶部选项卡 -->
 					<tabNav v-if="item.name == 'tabNav'" :dataConfig="item" @bindHeight="bindHeighta"
 						@bindSortId="bindSortId" :isFixed="isFixed"></tabNav>
-            <!-- 标题 -->
+					<!-- 标题 -->
 					<titles v-if="item.name == 'titles'" :dataConfig="item" :isSortType="isSortType"></titles>
 				</block>
 				<!-- #endif -->
@@ -83,7 +104,7 @@
 							</view>
 						</view>
 					</scroll-view>
-          <!-- 首页商品列表 -->
+					<!-- 首页商品列表 -->
 					<view class="product-list" v-if="goodList.length">
 						<view class="product-item" v-for="(item, index) in goodList" @click="goGoodsDetail(item)">
 							<image :src="item.image" mode="aspectFill"></image>
@@ -113,7 +134,7 @@
 				</view>
 				<!-- #endif -->
 				<!-- #ifndef  APP-PLUS -->
-        <!-- 商品排序 -->
+				<!-- 商品排序 -->
 				<view class="sort-product" v-if="isSortType == 1" :style="{ marginTop: sortMpTop + 'px' }">
 					<scroll-view scroll-x="true" class="sort-scroll">
 						<view class="sort-box" v-if="sortList.children && sortList.children.length">
@@ -125,7 +146,7 @@
 							</view>
 						</view>
 					</scroll-view>
-          <!-- 首页底部商品列表 -->
+					<!-- 首页底部商品列表 -->
 					<view class="product-list" v-if="goodList.length">
 						<view class="product-item" v-for="(item, index) in goodList" @click="goGoodsDetail(item)">
 							<view class="pictrue">
@@ -136,7 +157,8 @@
 									v-if="item.activity && item.activity.type === '2'">砍价</span>
 								<span class="pictrue_log_big pictrue_log_class"
 									v-if="item.activity && item.activity.type === '3'">拼团</span>
-								<view class="activityFrame" v-if="item.activity_frame.image" :style="'background-image: url('+item.activity_frame.image+');'"></view>
+								<view class="activityFrame" v-if="item.activity_frame.image"
+									:style="'background-image: url('+item.activity_frame.image+');'"></view>
 							</view>
 							<view class="info">
 								<view class="title line1">{{ item.store_name }}</view>
@@ -247,13 +269,14 @@
 	import {
 		getDiy,
 		getIndexData,
-		getDiyVersion
+		getDiyVersion,
+		getAppVersion
 	} from '@/api/api.js';
 	import {
 		getCategoryList,
 		getProductslist,
 		getProductHot,
-    diyProduct
+		diyProduct
 	} from '@/api/store.js';
 	import {
 		goShopDetail
@@ -261,7 +284,9 @@
 	import {
 		toLogin
 	} from '@/libs/login.js';
-	import {HTTP_REQUEST_URL} from '@/config/app';
+	import {
+		HTTP_REQUEST_URL
+	} from '@/config/app';
 	import pageFooter from '@/components/pageFooter/index.vue';
 	import Loading from '@/components/Loading/index.vue';
 	import recommend from '@/components/recommend';
@@ -274,7 +299,7 @@
 			Loading,
 			pageFooter,
 			couponWindow,
-    
+
 			// #ifdef H5
 			...mConfig,
 			// #endif
@@ -308,6 +333,9 @@
 		},
 		data() {
 			return {
+				// #ifdef H5
+				showDom: true,
+				// #endif
 				showSkeleton: true, //骨架屏显示隐藏
 				styleConfig: [],
 				loading: false,
@@ -355,9 +383,9 @@
 				bgTabVal: '',
 				pageShow: true,
 				windowHeight: 0,
-				imgHost:HTTP_REQUEST_URL,
+				imgHost: HTTP_REQUEST_URL,
 				isShowAuth: false,
-				isScrolled:false,
+				isScrolled: false,
 				product_video_status: false,
 				confirm_video_status: false
 			};
@@ -376,7 +404,7 @@
 				state,
 				scope
 			} = options;
-			
+
 			this.diyData();
 			this.getIndexData();
 			// #ifdef H5
@@ -413,7 +441,7 @@
 				});
 			});
 		},
-		onUnload(){
+		onUnload() {
 			// 清除监听
 			uni.$off('activeFn');
 		},
@@ -438,7 +466,7 @@
 			if (this.cartNum > 0) {
 				uni.setTabBarBadge({
 					index: 3,
-					text: this.cartNum>99?'99+':this.cartNum+''
+					text: this.cartNum > 99 ? '99+' : this.cartNum + ''
 				})
 			} else {
 				uni.hideTabBarRedDot({
@@ -450,38 +478,48 @@
 			if (this.isLogin) {
 				this.getCoupon();
 			}
-        this.getdiyProduct()
+			this.getdiyProduct()
 		},
 		onReady() {},
 		methods: {
 			...mapMutations(['SET_AUTOPLAY']),
+			// #ifdef H5
+			domApp() {
+				getAppVersion().then((res)=>{
+					window.open(res.data.apk)
+				})
+			},
+			// #endif
 			// 授权关闭
 			authColse: function(e) {
-			  this.isShowAuth = e
+				this.isShowAuth = e
 			},
-      // div商品详情
-      getdiyProduct() {
-        diyProduct().then(res=>{
-          uni.setStorageSync('diyProduct',JSON.stringify(res.data.product_detail))
-          uni.setStorageSync('product_video_status',JSON.stringify(res.data.product_video_status))
-		  this.$eventHub.$emit('product_video_status', res.data.product_video_status);
-		  this.product_video_status = res.data.product_video_status;
-        })
-      },
-			getCopyRight(){
+			// div商品详情
+			getdiyProduct() {
+				diyProduct().then(res => {
+					uni.setStorageSync('diyProduct', JSON.stringify(res.data.product_detail))
+					uni.setStorageSync('product_video_status', JSON.stringify(res.data.product_video_status))
+					this.$eventHub.$emit('product_video_status', res.data.product_video_status);
+					this.product_video_status = res.data.product_video_status;
+				})
+			},
+			getCopyRight() {
 				copyRight().then(res => {
 					let data = res.data;
 					uni.setStorageSync('wechatStatus', data.wechat_status)
 					// #ifndef APP-PLUS
 					this.site_config = data.record_No;
 					// #endif
-					if(!data.copyrightContext && !data.copyrightImage){
+					if (!data.copyrightContext && !data.copyrightImage) {
 						data.copyrightImage = '/static/images/support.png'
 					}
 					uni.setStorageSync('copyNameInfo', data.copyrightContext);
 					uni.setStorageSync('copyImageInfo', data.copyrightImage);
 					// #ifdef MP
-					uni.setStorageSync('MPSiteData', JSON.stringify({site_logo:data.site_logo,site_name:data.site_name}));
+					uni.setStorageSync('MPSiteData', JSON.stringify({
+						site_logo: data.site_logo,
+						site_name: data.site_name
+					}));
 					// #endif
 				}).catch(err => {
 					return this.$util.Tips({
@@ -489,7 +527,7 @@
 					});
 				});
 			},
-			getOptions(options){
+			getOptions(options) {
 				let that = this;
 				// #ifdef MP
 				if (options.scene) {
@@ -603,7 +641,7 @@
 					});
 				}
 			},
-      // 商品列表
+			// 商品列表
 			getGoodsList() {
 				if (this.loading || this.loaded) return;
 				this.loading = true;
@@ -742,7 +780,7 @@
 					}
 					temp = arr;
 				});
-											
+
 				function sortNumber(a, b) {
 					return a.timestamp - b.timestamp;
 				}
@@ -778,12 +816,12 @@
 						let diyVersion = uni.getStorageSync('diyVersion');
 						if ((res.data.version + '0') === diyVersion) {
 							this.setDiyData(JSON.parse(diyData));
-						} else{
+						} else {
 							uni.setStorageSync('diyVersion', (res.data.version + '0'));
 							this.getDiyData();
 						}
 					});
-				} else{
+				} else {
 					this.getDiyData();
 				}
 				// getDiy(0).then(res => {
@@ -822,7 +860,7 @@
 				// 		}
 				// 		temp = arr;
 				// 	});
-				
+
 				// 	function sortNumber(a, b) {
 				// 		return a.timestamp - b.timestamp;
 				// 	}
@@ -847,10 +885,10 @@
 				// });
 			},
 			getIndexData() {},
-			changeLogin(){
+			changeLogin() {
 				this.getIsLogin();
 			},
-			getIsLogin(){
+			getIsLogin() {
 				// #ifndef MP
 				toLogin()
 				// #endif
@@ -878,14 +916,14 @@
 			// 微信分享;
 			setOpenShare: function() {
 				let that = this;
-				let uid = this.uid?this.uid:0;
+				let uid = this.uid ? this.uid : 0;
 				if (that.$wechat.isWeixin()) {
 					getShare().then(res => {
 						let data = res.data;
 						let configAppMessage = {
 							desc: data.synopsis,
 							title: data.title,
-							link: location.href+'?spid='+uid,
+							link: location.href + '?spid=' + uid,
 							imgUrl: data.img
 						};
 						that.$wechat.wechatEvevt(['updateAppMessageShareData', 'updateTimelineShareData',
@@ -898,8 +936,7 @@
 			// #endif
 		},
 		onReachBottom: function() {
-			if (this.isSortType == 0) {
-			} else {
+			if (this.isSortType == 0) {} else {
 				this.getGoodsList();
 			}
 		},
@@ -918,18 +955,18 @@
 				this.isFixed = false
 			}
 			// #endif
-			if(e.scrollTop>10){
+			if (e.scrollTop > 10) {
 				this.isScrolled = true;
-			}else{
+			} else {
 				this.isScrolled = false;
 			}
 		},
 		//#ifdef MP
 		onShareAppMessage() {
-			let uid = this.uid?this.uid:0;
+			let uid = this.uid ? this.uid : 0;
 			return {
 				title: this.shareInfo.title,
-				path: '/pages/index/index?spid='+uid,
+				path: '/pages/index/index?spid=' + uid,
 				imageUrl: this.shareInfo.img,
 				desc: this.shareInfo.synopsis
 			};
@@ -1087,9 +1124,11 @@
 			border-radius: 120rpx;
 		}
 	}
-.sort-scroll {
-  background-color: #fff;
-}
+
+	.sort-scroll {
+		background-color: #fff;
+	}
+
 	.sort-product {
 		margin-top: 20rpx;
 
@@ -1162,8 +1201,8 @@
 				border-radius: 10rpx;
 				margin-bottom: 20rpx;
 				overflow: hidden;
-				
-				.pictrue{
+
+				.pictrue {
 					position: relative;
 				}
 
@@ -1198,10 +1237,12 @@
 	.empty-box {
 		text-align: center;
 		padding-top: 50rpx;
-		.tips{
+
+		.tips {
 			color: #aaa;
 			font-size: 26rpx;
 		}
+
 		image {
 			width: 414rpx;
 			height: 304rpx;
@@ -1221,4 +1262,34 @@
 			width: 100%;
 		}
 	}
-</style>
+
+	.titleBox {
+		padding: 10rpx 30rpx;
+		background-color: #FFF;
+
+		.right {
+			.buttom {
+				padding: 10rpx 20rpx;
+				border: 1px solid #e3e3e3;
+				width: 150rpx;
+				flex-shrink: 0;
+				text-align: center;
+				margin-left: 10rpx;
+				font-size: 22rpx;
+				line-height: 1;
+
+				&.domApp {
+					color: #FFF;
+					background-color: $kf-theme;
+				}
+			}
+		}
+	}
+
+	.titleflex {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		flex-shrink: 0;
+	}
+</style>

+ 1 - 0
pages/users/promoter-list/index.vue

@@ -30,6 +30,7 @@
 							<view><text class='num font-num'>{{item.childCount ? item.childCount : 0}}</text>人</view>
 							<view><text class="num">{{item.orderCount ? item.orderCount : 0}}</text>单</view>
 							<view><text class="num">{{item.numberCount ? item.numberCount : 0}}</text>元</view>
+							<view><text class="num">{{item.achievement ? item.achievement : 0}}</text>业绩</view>
 						</view>
 					</view>
 				</block>

+ 29 - 6
pages/users/user_integral/itemuser.vue

@@ -1,5 +1,10 @@
 <template>
 	<view :style="colorStyle">
+		<view style="padding-top: 30rpx;">
+			<view class="money">
+				建议售价:{{greeMoney}}
+			</view>
+		</view>
 		<view class="promoter-list">
 			<view class='list' v-if="recordList.length">
 				<block v-for="(item,index) in recordList" :key="index">
@@ -37,6 +42,10 @@
 	import {
 		toLogin
 	} from '@/libs/login.js';
+	import {
+		getIndexData
+	} from '@/api/api.js';
+
 	import {
 		mapGetters
 	} from "vuex";
@@ -56,12 +65,16 @@
 				recordList: [],
 				isAuto: false, //没有授权的不会自动授权
 				isShowAuth: false, //是否隐藏授权
-				count:0,
-				status:false
+				count: 0,
+				status: false,
+				greeMoney: '',
 			};
 		},
 		computed: mapGetters(['isLogin']),
 		onLoad() {
+			getIndexData().then((res) => {
+				this.greeMoney = res.data.green_integral_price
+			});
 			if (this.isLogin) {
 				this.userSpreadNewList();
 			} else {
@@ -116,6 +129,13 @@
 </script>
 
 <style scoped lang="scss">
+	.money {
+		padding: 30rpx;
+		margin: 0 30rpx;
+		background-color: #FFF;
+		border-radius: 10rpx;
+	}
+
 	.promoter-list .nav {
 		background-color: #fff;
 		height: 86rpx;
@@ -251,15 +271,18 @@
 	.promoter-list .list .item .right .num {
 		margin-right: 7rpx;
 	}
-	.top_num{
+
+	.top_num {
 		padding: 30rpx;
 		font-size: 26rpx;
 		color: #666;
 	}
-	.main_color{
+
+	.main_color {
 		color: #E93323;
 	}
-	.radius15{
+
+	.radius15 {
 		border-radius: 14rpx 14rpx 0 0;
 	}
-</style>
+</style>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
unpackage/cache/wgt/__UNI__B0B5BE7/app-service.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
unpackage/cache/wgt/__UNI__B0B5BE7/app-view.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
unpackage/cache/wgt/__UNI__B0B5BE7/manifest.json


+ 16 - 12
utils/upApp.js

@@ -1,5 +1,5 @@
 import confige from '@/config/app.js'
-const getUpAppUrl =confige.HTTP_REQUEST_URL+ '/api/version'
+import {getAppVersion} from '@/api/api.js'
 const iosAppStroeUrl =
 	'https://apps.apple.com/cn/app/%E6%BB%A1%E5%9B%AD%E6%98%A5%E7%BA%BF%E4%B8%8A%E5%95%86%E5%9F%8E/id1524593346';
 
@@ -18,14 +18,10 @@ export function getUpApp () {
 		// 	value: app
 		// });
 	}
-	uni.request({
-		url: getUpAppUrl,
-		method: 'GET',
-		data: {},
-		success: res => {
-			console.log(res,'升级数据');
-			
-			let r = res.data.data;
+	console.log('开始升级');
+	getAppVersion().then((res)=>{
+		console.log(res,'回调');
+			let r = res.data;
 			plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
 				console.log(r.version,'获取版本');
 				// 保存线上版本号
@@ -85,14 +81,22 @@ export function getUpApp () {
 					}
 				}
 			});
-		},
-	});
+	}).catch((res)=>{
+		console.log(res);
+	})
 }
 // 下载app
 export function downApp (version) {
+	let url = '';
+	if(version.indexOf('http')>-1){
+		url = version;
+	}else{
+		url = confige.HTTP_REQUEST_URL+version
+	}
+	console.log(url);
 	plus.nativeUI.showWaiting('下载升级包...');
 	plus.downloader
-		.createDownload(confige.HTTP_REQUEST_URL+version, {}, (d, status) => {
+		.createDownload(url, {}, (d, status) => {
 			if (status == 200) {
 				installApp(d.filename); // 安装app
 			} else {

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů