cmy 5 months ago
parent
commit
809b6c37ad

+ 7 - 0
App.vue

@@ -9,6 +9,9 @@
 	import { getUserInfo } from "@/api/user.js" 
 	import { mapGetters } from "vuex"
 	import { silenceBindingSpread } from "@/utils/index.js";
+	// #ifdef APP
+	import { getUpApp } from './utils/upApp.js';
+		// #endif
 	// #ifdef MP
 	// let livePlayer = requirePlugin('live-player-plugin')
 	// #endif
@@ -338,6 +341,10 @@
 			// 		})
 			// }
 			// #endif
+			// #ifdef APP
+			// 升级App
+			getUpApp();
+			// #endif
 		},
 		methods: {
 			// 小程序静默授权

+ 10 - 1
api/api.js

@@ -486,4 +486,13 @@ export function getSign() {
 	return request.get('diy/sign', {}, {
 		noAuth: true
 	});
-}
+}
+/**
+ * 获取app版本
+ */
+export function getAppVersion() {
+	return request.get('version',{},{
+		noAuth: true
+	});
+}
+

+ 11 - 14
manifest.json

@@ -2,8 +2,8 @@
     "name" : "人人益生121",
     "appid" : "__UNI__70BC0AE",
     "description" : "人人益生121",
-    "versionName" : "3.0.2",
-    "versionCode" : 302,
+    "versionName" : "1.0.9",
+    "versionCode" : 109,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {
@@ -23,10 +23,7 @@
         /* 模块配置 */
         "modules" : {
             "VideoPlayer" : {},
-            "Share" : {},
-            "OAuth" : {},
             "Payment" : {},
-            "LivePusher" : {},
             "Barcode" : {},
             "Camera" : {}
         },
@@ -63,7 +60,7 @@
                     "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                 ],
-                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ],
                 "permissionExternalStorage" : {
                     "request" : "none",
                     "prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
@@ -72,7 +69,7 @@
                     "request" : "none",
                     "prompt" : "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许"
                 },
-                "minSdkVersion" : 30,
+                "minSdkVersion" : 28,
                 "targetSdkVersion" : 31
             },
             /* ios打包配置 */
@@ -90,7 +87,7 @@
                     "NSLocationAlwaysUsageDescription" : "根据客户地理位置推荐最近门店",
                     "NSCameraUsageDescription" : "上传用户头像保存分享海报"
                 },
-                "idfa" : true,
+                "idfa" : false,
                 "dSYMs" : false
             },
             /* SDK配置 */
@@ -98,8 +95,8 @@
                 "payment" : {
                     "weixin" : {
                         "__platform__" : [ "ios", "android" ],
-                        "appid" : "wx69a5bfe28c8b39e6",
-                        "UniversalLinks" : "https://pro.crmeb.net/uni-universallinks/__UNI__7E0054B/"
+                        "appid" : "wx5b8a8c7c5bb2393a",
+                        "UniversalLinks" : "https://www.rrys121.com/AppSample/"
                     },
                     "alipay" : {
                         "__platform__" : [ "ios", "android" ]
@@ -107,8 +104,8 @@
                 },
                 "share" : {
                     "weixin" : {
-                        "appid" : "wx69a5bfe28c8b39e6",
-                        "UniversalLinks" : "https://pro.crmeb.net/uni-universallinks/__UNI__7E0054B/"
+                        "appid" : "wx5b8a8c7c5bb2393a",
+                        "UniversalLinks" : "https://www.rrys121.com/AppSample/"
                     }
                 },
                 "push" : {},
@@ -120,9 +117,9 @@
                 },
                 "oauth" : {
                     "weixin" : {
-                        "appid" : "wx69a5bfe28c8b39e6",
+                        "appid" : "wx5b8a8c7c5bb2393a",
                         "appsecret" : "ee83a6c94edbc5dd7a5b4614316d85a7",
-                        "UniversalLinks" : "https://pro.crmeb.net/uni-universallinks/__UNI__7E0054B/"
+                        "UniversalLinks" : "https://www.rrys121.com/AppSample/"
                     },
                     "apple" : {}
                 },

+ 2 - 2
pages/annex/vip_paid/index.vue

@@ -77,9 +77,9 @@
 					</view>
 				</scroll-view>
 			</view>
-			<view class="px-20">
+			<!-- <view class="px-20">
 				<recommend class="recommend" title="SVIP商品推荐" :hostProduct="goodsList" saleShow></recommend>
-			</view>
+			</view> -->
 		</view>
 		<view class="footer">
 			<view class="acea-row">

File diff suppressed because it is too large
+ 1 - 1
pages/columnGoods/static/yhxy.html


File diff suppressed because it is too large
+ 940 - 789
pages/columnGoods/static/yszc.html


+ 168 - 124
pages/goods/cashier/index.vue

@@ -1,36 +1,29 @@
 <template>
 	<view :style="colorStyle">
 		<view class="flex-col flex-center py-78">
-			<baseMoney :money="payPriceShow" symbolSize="48" integerSize="64" decimalSize="48" color="#333" weight></baseMoney>
+			<baseMoney :money="payPriceShow" symbolSize="48" integerSize="64" decimalSize="48" color="#333" weight>
+			</baseMoney>
 			<view class="flex-y-center mt-20">
 				<text class="fs-24 text--w111-333 lh-36rpx pr-10">支付剩余时间</text>
-				<countDown
-				:is-day="false"
-				tip-text=" "
-				day-text=" "
-				hour-text=":"
-				minute-text=":"
-				second-text=" "
-				bgColor="#FFFFFF"
-				dotColor="var(--view-theme)"
-				:datatime="invalidTime"></countDown>
+				<countDown :is-day="false" tip-text=" " day-text=" " hour-text=":" minute-text=":" second-text=" "
+					bgColor="#FFFFFF" dotColor="var(--view-theme)" :datatime="invalidTime"></countDown>
 			</view>
 		</view>
 		<view class="px-20">
 			<view class="bg--w111-fff rd-24rpx pay_card">
-				<view class="flex-between-center pay_item"
-					v-for="(item, index) in payTypeList" :key="index"
-					 @tap="payType(item.value, index)">
+				<view class="flex-between-center pay_item" v-for="(item, index) in payTypeList" :key="index"
+					@tap="payType(item.value, index)">
 					<view class="flex-y-center">
 						<image class="w-52 h-52" :src="item.icon"></image>
 						<view class="pl-20">
 							<view class="text--w111-333 fs-28 lh-38rpx">{{item.name}}</view>
-							<view class="fs-22 text--w111-999 lh-30rpx mt-8"
-								v-if="item.value == 'yue'">可用余额¥{{now_money}}</view>
+							<view class="fs-22 text--w111-999 lh-30rpx mt-8" v-if="item.value == 'yue'">
+								可用余额¥{{now_money}}</view>
 							<view class="fs-22 text--w111-999 lh-30rpx mt-8" v-else>{{item.title}}</view>
 						</view>
 					</view>
-					<text class="iconfont fs-40 text--w111-999" :class="active==index ? 'icon-a-ic_CompleteSelect' : 'icon-ic_unselect'"></text>
+					<text class="iconfont fs-40 text--w111-999"
+						:class="active==index ? 'icon-a-ic_CompleteSelect' : 'icon-ic_unselect'"></text>
 				</view>
 			</view>
 		</view>
@@ -44,20 +37,28 @@
 <script>
 	import countDown from '@/components/countDown';
 	import colors from "@/mixins/color";
-	import { getCashierOrder, orderPay } from "@/api/order";
-	import { rechargePayAPi, memberCardPayApi } from "@/api/user.js"
-	import { HTTP_REQUEST_URL } from '@/config/app';
+	import {
+		getCashierOrder,
+		orderPay
+	} from "@/api/order";
+	import {
+		rechargePayAPi,
+		memberCardPayApi
+	} from "@/api/user.js"
+	import {
+		HTTP_REQUEST_URL
+	} from '@/config/app';
 	export default {
 		data() {
 			return {
 				invalidTime: 0,
-				checked:false,
+				checked: false,
 				orderId: 0,
 				fromType: '',
 				active: -1,
 				payPrice: 0,
 				payPriceShow: 0,
-				now_money:'',
+				now_money: '',
 				payPostage: 0,
 				offlinePostage: false,
 				invalidTime: 0,
@@ -67,8 +68,7 @@
 					msg: ''
 				},
 				formContent: '',
-				cartArr: [
-					{
+				cartArr: [{
 						"name": "微信支付",
 						"icon": HTTP_REQUEST_URL + "/statics/images/order/wx_pay.png",
 						value: 'weixin',
@@ -95,20 +95,33 @@
 						value: 'offline',
 						title: '选择线下付款方式',
 						payStatus: 2,
-					}
+					},
+					// {
+					// 	"name": "lakala",
+					// 	"icon": HTTP_REQUEST_URL + "/statics/images/order/xianxia_pay.png",
+					// 	value: 'lakala',
+					// 	title: '选择线lakala支付',
+					// 	payStatus: 1,
+					// }
 				],
-				paytype:''
+				paytype: '',
+				// #ifdef APP
+				showApp: false
+				// #endif
+				// #ifndef APP
+				showApp: true
+				// #endif
 			}
 		},
 		mixins: [colors],
 		components: {
 			countDown,
 		},
-		computed:{
-			payTypeList(){
+		computed: {
+			payTypeList() {
 				let list = [];
-				this.cartArr.forEach(item=>{
-					if(item.payStatus == 1){
+				this.cartArr.forEach(item => {
+					if (item.payStatus == 1) {
 						list.push(item);
 					}
 				})
@@ -117,6 +130,9 @@
 			}
 		},
 		onLoad(options) {
+			// #ifdef APP
+			this.showApp = uni.getStorageSync("showAppHistary") || false
+			// #endif
 			if (options.order_id) this.orderId = options.order_id;
 			if (options.from_type) this.fromType = options.from_type;
 			this.getCashierOrder();
@@ -136,7 +152,11 @@
 			getCashierOrder() {
 				getCashierOrder(this.orderId, this.fromType).then(res => {
 					//微信支付是否开启
-					this.cartArr[0].payStatus = res.data.pay_weixin_open || 0
+					if (this.showApp) {
+						this.cartArr[0].payStatus = res.data.pay_weixin_open || 0
+					} else {
+						this.cartArr[0].payStatus = 0
+					}
 					//支付宝是否开启
 					// #ifdef MP-WEIXIN
 					/*微信小程序环境中不允许支付宝支付*/
@@ -172,11 +192,11 @@
 					})
 				})
 			},
-			getShowPay(){
+			getShowPay() {
 				//付费会员购买和余额充值不允许使用线下支付和余额支付,未开启线上支付支付的话给出提示并且返回上一页
 				//检查支付类型列表数组的payStatus是不是都是0或者2
 				const isAllPayStatusZero = this.cartArr.every(item => item.payStatus == 0 || item.payStatus == 2);
-				if(isAllPayStatusZero && ['vip','recharge'].includes(this.fromType)){
+				if (isAllPayStatusZero && ['vip', 'recharge'].includes(this.fromType)) {
 					return this.$util.Tips({
 						title: '未开启线上支付,请联系管理员'
 					}, {
@@ -184,24 +204,25 @@
 					});
 				}
 			},
-			goPay(){
+			goPay() {
 				let that = this;
-				if(that.active == -1) return that.$util.Tips({
+				if (that.active == -1) return that.$util.Tips({
 					title: '请选择付款方式'
 				});
 				if (!that.orderId) return that.$util.Tips({
 					title: '请选择要支付的订单'
 				});
-				if (that.paytype == 'yue' && parseFloat(this.now_money) < parseFloat(that.payPriceShow)) return that.$util.Tips({
-					title: '余额不足'
-				});
+				if (that.paytype == 'yue' && parseFloat(this.now_money) < parseFloat(that.payPriceShow)) return that.$util
+					.Tips({
+						title: '余额不足'
+					});
 
 				uni.showLoading({
 					title: '支付中'
 				});
 
 				let funApi = '';
-				if(this.fromType == 'order'){
+				if (this.fromType == 'order') {
 					funApi = orderPay({
 						uni: that.orderId,
 						paytype: that.paytype,
@@ -212,13 +233,16 @@
 						'from': this.$wechat.isWeixin() ? 'weixin' : 'weixinh5',
 						// #endif
 						// #ifdef H5
-						quitUrl: location.port ? location.protocol + '//' + location.hostname + ':' + location.port + '/pages/goods/order_pay_status/index?order_id=' + this.orderId : location.protocol + '//' + location.hostname +'/pages/goods/order_pay_status/index?order_id=' + this.orderId
+						quitUrl: location.port ? location.protocol + '//' + location.hostname + ':' + location
+							.port + '/pages/goods/order_pay_status/index?order_id=' + this.orderId : location
+							.protocol + '//' + location.hostname +
+							'/pages/goods/order_pay_status/index?order_id=' + this.orderId
 						// #endif
 						// #ifdef APP-PLUS
 						quitUrl: '/pages/goods/order_pay_status/index?order_id=' + this.orderId
 						// #endif
 					})
-				}else if(this.fromType == 'recharge'){
+				} else if (this.fromType == 'recharge') {
 					funApi = rechargePayAPi({
 						uni: this.orderId,
 						paytype: that.paytype,
@@ -229,13 +253,15 @@
 						'from': this.$wechat.isWeixin() ? 'weixin' : 'weixinh5',
 						// #endif
 						// #ifdef H5
-						quitUrl: location.port ? location.protocol + '//' + location.hostname + ':' + location.port + '/pages/users/user_payment/index' : location.protocol + '//' + location.hostname +'/pages/users/user_payment/index'
+						quitUrl: location.port ? location.protocol + '//' + location.hostname + ':' + location
+							.port + '/pages/users/user_payment/index' : location.protocol + '//' + location
+							.hostname + '/pages/users/user_payment/index'
 						// #endif
 						// #ifdef APP-PLUS
 						quitUrl: '/pages/users/user_payment/index'
 						// #endif
 					})
-				}else if(this.fromType == 'vip'){
+				} else if (this.fromType == 'vip') {
 					funApi = memberCardPayApi({
 						uni: this.orderId,
 						paytype: this.paytype,
@@ -252,76 +278,90 @@
 					})
 				}
 
-				funApi.then(res=>{
+				// if(data.pay_type == 'lakala'){
+				// 						uni.navigateTo({
+				// 							url: goPages + '&status=1'
+				// 						})
+				// 						// #ifdef H5
+				// 						window.open(res.data.result.counter_url);
+				// 						// #endif
+				// 					   // #ifdef APP-PLUS
+				// 					  plus.runtime.openURL(res.data.result.counter_url);
+				// 					   // #endif
+				// 					}
+
+				funApi.then(res => {
+					console.log(res,"res")
 					let status = res.data.status,
-					orderId = res.data.result.order_id || '',
-					jsConfig = res.data.result.jsConfig;
+						orderId = res.data.result.order_id || '',
+						jsConfig = res.data.result.jsConfig;
 					//页面回调地址
 					let PageObj = {
-						'order': '/pages/goods/order_pay_status/index?order_id=' + this.orderId + '&msg=' +res.msg +'&type=3' + '&totalPrice=' + this.payPriceShow,
+						'order': '/pages/goods/order_pay_status/index?order_id=' + this.orderId + '&msg=' + res
+							.msg + '&type=3' + '&totalPrice=' + this.payPriceShow,
 						'recharge': '/pages/users/user_payment/index',
 						'vip': '/pages/annex/vip_paid/index',
 					};
 					let backUrl = PageObj[this.fromType];
-				switch (status) {
-					case 'ORDER_EXIST':
-					case 'EXTEND_ORDER':
-					case 'PAY_ERROR':
-						this.pageReject(res.msg,backUrl);
-						break;
-					case 'SUCCESS':
-						this.pageReject(res.msg,backUrl);
-						break;
-					case 'WECHAT_PAY':
-						this.wechatPayFun(jsConfig,backUrl);
-						break;
-					case 'PAY_DEFICIENCY':
-						uni.hideLoading();
-						this.pageReject(res.msg,backUrl);
-						break;
-					case "WECHAT_H5_PAY":
-						uni.hideLoading();
-						// that.$util.Tips({
-						// 	title: '订单创建成功!'
-						// });
-						setTimeout(() => {
-							location.href = res.data.result.jsConfig.mweb_url;
-						}, 500);
-						break;
+					switch (status) {
+						case 'ORDER_EXIST':
+						case 'EXTEND_ORDER':
+						case 'PAY_ERROR':
+							this.pageReject(res.msg, backUrl);
+							break;
+						case 'SUCCESS':
+							this.pageReject(res.msg, backUrl);
+							break;
+						case 'WECHAT_PAY':
+							this.wechatPayFun(jsConfig, backUrl);
+							break;
+						case 'PAY_DEFICIENCY':
+							uni.hideLoading();
+							this.pageReject(res.msg, backUrl);
+							break;
+						case "WECHAT_H5_PAY":
+							uni.hideLoading();
+							// that.$util.Tips({
+							// 	title: '订单创建成功!'
+							// });
+							setTimeout(() => {
+								location.href = res.data.result.jsConfig.mweb_url;
+							}, 500);
+							break;
 
-					case 'ALIPAY_PAY':
-						//#ifdef H5
-						uni.hideLoading();
-						that.formContent = res.data.result.jsConfig;
-						that.$nextTick(() => {
-							document.getElementById('alipaysubmit').submit();
-						})
-						//#endif
-						// #ifdef APP-PLUS
-						uni.requestPayment({
-							provider: 'alipay',
-							orderInfo: jsConfig,
-							success: (e) => {
-								that.pageReject('支付成功',backUrl);
-							},
-							fail: (e) => {
-								that.pageReject('支付失败',backUrl);
-							},
-							complete: () => {
-								uni.hideLoading();
-							},
-						});
-						// #endif
-						break;
+						case 'ALIPAY_PAY':
+							//#ifdef H5
+							uni.hideLoading();
+							that.formContent = res.data.result.jsConfig;
+							that.$nextTick(() => {
+								document.getElementById('alipaysubmit').submit();
+							})
+							//#endif
+							// #ifdef APP-PLUS
+							uni.requestPayment({
+								provider: 'alipay',
+								orderInfo: jsConfig,
+								success: (e) => {
+									that.pageReject('支付成功', backUrl);
+								},
+								fail: (e) => {
+									that.pageReject('支付失败', backUrl);
+								},
+								complete: () => {
+									uni.hideLoading();
+								},
+							});
+							// #endif
+							break;
 					}
-				}).catch(err=>{
+				}).catch(err => {
 					uni.hideLoading();
 					return that.$util.Tips({
 						title: err
 					});
 				})
 			},
-			wechatPayFun(jsConfig, backUrl){
+			wechatPayFun(jsConfig, backUrl) {
 				let that = this;
 				// #ifdef MP
 				uni.requestPayment({
@@ -332,23 +372,23 @@
 					paySign: jsConfig.paySign,
 					success: function(res) {
 						console.log("success");
-						that.pageReject('支付成功',backUrl);
+						that.pageReject('支付成功', backUrl);
 					},
 					fail: function(e) {
 						console.log("fail");
-						that.pageReject('支付失败',backUrl);
+						that.pageReject('支付失败', backUrl);
 					},
 				})
 				// #endif
 				// #ifdef H5
 				this.$wechat.pay(jsConfig).then(res => {
-					this.pageReject('支付成功',backUrl);
+					this.pageReject('支付成功', backUrl);
 				}).catch(res => {
 					if (!this.$wechat.isWeixin()) {
-						this.pageReject('支付失败',backUrl);
+						this.pageReject('支付失败', backUrl);
 					}
 					if (res.errMsg == 'chooseWXPay:cancel') {
-						this.pageReject('取消支付',backUrl);
+						this.pageReject('取消支付', backUrl);
 					}
 				})
 				// #endif
@@ -357,15 +397,15 @@
 					provider: 'wxpay',
 					orderInfo: jsConfig,
 					success: (e) => {
-						that.pageReject('支付成功',backUrl);
+						that.pageReject('支付成功', backUrl);
 					},
 					fail: (e) => {
-						that.pageReject('支付失败',backUrl);
+						that.pageReject('支付失败', backUrl);
 					},
 				});
 				// #endif
 			},
-			pageReject(msg,backUrl){
+			pageReject(msg, backUrl) {
 				uni.hideLoading();
 				return this.$util.Tips({
 					title: msg
@@ -379,21 +419,25 @@
 </script>
 
 <style lang="scss">
-/deep/ .styleAll{
-	padding: 0 6rpx;
-	border: 1rpx solid #DDDDDD;
-	border-radius: 8rpx;
-}
-.pay_card{
-	padding: 40rpx 32rpx;
-}
-.pay_item ~ .pay_item{
-	margin-top: 56rpx;
-}
-.icon-ic_unselect{
-	color: #ccc;
-}
-.icon-a-ic_CompleteSelect{
-	color: var(--view-theme)
-}
-</style>
+	/deep/ .styleAll {
+		padding: 0 6rpx;
+		border: 1rpx solid #DDDDDD;
+		border-radius: 8rpx;
+	}
+
+	.pay_card {
+		padding: 40rpx 32rpx;
+	}
+
+	.pay_item~.pay_item {
+		margin-top: 56rpx;
+	}
+
+	.icon-ic_unselect {
+		color: #ccc;
+	}
+
+	.icon-a-ic_CompleteSelect {
+		color: var(--view-theme)
+	}
+</style>

+ 1 - 1
pages/goods/goods_list/index.vue

@@ -114,7 +114,7 @@
 		<view class='px-20' v-if="productList.length==0 && where.page > 1">
 			<emptyPage :title="where.keyword ? '无搜索结果,换个词试试吧' : '暂无商品,去看点别的吧~'" 
 				:src="where.keyword ? '/statics/images/noSearch.gif' : '/statics/images/empty-box.gif'"></emptyPage>
-			<recommend :hostProduct="hostProduct"></recommend>
+			<!-- <recommend :hostProduct="hostProduct"></recommend> -->
 		</view>
 		<productWindow
 			:attr="attr" 

+ 1 - 1
pages/goods/goods_logistics/index.vue

@@ -69,7 +69,7 @@
 					</view>
 				</view>
 			</view>
-			<recommend :hostProduct='hostProduct'></recommend>
+			<!-- <recommend :hostProduct='hostProduct'></recommend> -->
 		</view>
 	</view>
 </template>

+ 1 - 1
pages/goods/order_pay_status/index.vue

@@ -70,7 +70,7 @@
           <view class="card_btn flex-center font-color fs-22" @tap="goOrderDetails">去使用</view>
         </view>
       </view>
-      <recommend :hostProduct='hostProduct'></recommend>
+      <!-- <recommend :hostProduct='hostProduct'></recommend> -->
     </view>
     <lotteryAleart
         :aleartStatus="aleartStatus"

+ 1 - 1
pages/goods_cate/template/template1.vue

@@ -83,7 +83,7 @@
 					</view>
 				</view>
 				<view class="h-96" v-if="productList.length && productList[navActive].children.length"></view>
-				<view v-if="imageShow">
+				<view v-show="imageShow">
 					<emptyPage title="暂无商品,去看点别的吧~" ></emptyPage>
 				</view>
 				<scroll-view scroll-y="true" scroll-with-animation='true'

+ 23 - 13
pages/goods_details/index.vue

@@ -1882,20 +1882,30 @@
 			//#ifdef APP-PLUS
 			savePosterPath() {
 				let that = this
-				uni.saveImageToPhotosAlbum({
-					filePath: that.posterImage,
-					success: function(res) {
-						that.posterImageClose();
-						that.$util.Tips({
-							title: '保存成功',
-							icon: 'success'
-						});
+				uni.showModal({
+					title: '申请相册权限',
+					content: '是否允许APP访问相册用于保存分享图片',
+					success: res => {
+						if(res.confirm){
+							uni.saveImageToPhotosAlbum({
+								filePath: that.posterImage,
+								success: function(res) {
+									that.posterImageClose();
+									that.$util.Tips({
+										title: '保存成功',
+										icon: 'success'
+									});
+								},
+								fail: function(res) {
+									that.$util.Tips({
+										title: '保存失败'
+									});
+								}
+							});
+						}
 					},
-					fail: function(res) {
-						that.$util.Tips({
-							title: '保存失败'
-						});
-					}
+					fail: () => {},
+					complete: () => {}
 				});
 			},
 			// #endif

+ 67 - 9
pages/index/index.vue

@@ -62,13 +62,13 @@
 					<hotspot v-if="item.name == 'hotspot'" :dataConfig="item"></hotspot>
 					<follow v-if="item.name == 'follow'" :dataConfig="item"></follow>
 				</block>
-				<view class="goodsTitle" v-if="joinList.length>0">
+				<view class="goodsTitle" v-if="joinList.length>0 && showApp">
 					<!-- <text class='borderBottom'>
 						抢购商品
 					</text> -->
 					<image class="bannerImg" src="../../static/img/indexGoods1.png" mode="aspectFill"></image>
 				</view>
-				<view class="goodsItem" v-if="joinList.length>0">
+				<view class="goodsItem" v-if="joinList.length>0 && showApp">
 					<view class="itemList" @click="addCartChange(item)" v-for="(item,index) in joinList">
 						<view class="itemImage">
 							<image class="imageBanner" :src="item.image" mode="aspectFill"></image>
@@ -89,13 +89,13 @@
 						</view>
 					</view>
 				</view>
-				<view class="goodsTitle" v-if="giveList.length>0">
+				<view class="goodsTitle" v-if="giveList.length>0 && showApp">
 					<!-- <text class='borderBottom'>
 						爆单商品
 					</text> -->
-					<image class="bannerImg2" src="../../static/img/indexGoods2.png" mode="scaleToFill"></image>
+					<image class="bannerImg" src="../../static/img/indexGoods2.png" mode="scaleToFill"></image>
 				</view>
-				<view class="goodsItem" v-if="giveList.length>0">
+				<view class="goodsItem" v-if="giveList.length>0 && showApp">
 					<view class="itemList" @click="addCartChange(item)" v-for="(item,index) in giveList">
 						<view class="itemImage">
 							<image class="imageBanner" :src="item.image" mode="aspectFill"></image>
@@ -122,8 +122,41 @@
 						</view>
 					</view>
 				</view>
+				<!-- 赠送绿积分 -->
+				<view class="goodsTitle" v-if="ljfList.length>0 && showApp">
+					<image class="bannerImg" style="" src="../../static/img/indexGoods4.png" mode="scaleToFill"></image>
+				</view>
+				<view class="goodsItem" v-if="ljfList.length>0 && showApp">
+					<view class="itemList" @click="addCartChange(item)" v-for="(item,index) in ljfList">
+						<view class="itemImage">
+							<image class="imageBanner" :src="item.image" mode="aspectFill"></image>
+						</view>
+						<view class="itemContent">
+							<view class="itemTitle">
+								{{item.store_name}}
+							</view>
+							<view class="itemMoney">
+								<baseMoney :money="item.price" symbolSize="24" integerSize="40" decimalSize="24" weight
+								           ></baseMoney>
+							</view>
+							<view class="greenIn" v-if="item.green_integral">
+								赠送
+								<text class="greenText">
+								{{item.give_green_integral}}
+								</text>
+								绿积分
+							</view>
+							<view class="bottomCart">
+								<view class="flex-center cart-btn">
+									<text class="iconfont icon-ic_increase fs-26"></text>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<!-- 平价商品 -->
 				<view class="goodsTitle" v-if="pjList.length>0">
-					<image class="bannerImg2" src="../../static/img/indexGoods3.png" mode="scaleToFill"></image>
+					<image class="bannerImg" src="../../static/img/indexGoods3.png" mode="scaleToFill"></image>
 				</view>
 				<view class="goodsItem" v-if="pjList.length>0">
 					<view class="itemList" @click="addCartChange(item)" v-for="(item,index) in pjList">
@@ -409,6 +442,13 @@
 				giveList: [], //爆单商品
 				joinList: [], //抢购商品
 				pjList: [], //平价商品
+				ljfList:[],//绿积分
+				// #ifdef APP
+				showApp:false
+				// #endif
+				// #ifndef APP
+				showApp:true
+				// #endif
 			};
 		},
 		onLoad(options) {
@@ -484,6 +524,12 @@
 			}
 		},
 		onShow() {
+			
+			// #ifdef APP
+			this.showApp = uni.getStorageSync("showAppHistary")||false
+			// #endif
+			
+			
 			if (this.cartNum > 0) {
 				uni.setTabBarBadge({
 					index: 3,
@@ -513,26 +559,34 @@
 			getInitGoods() {
 				getProductslist({
 					page: 1,
-					limit: 10,
+					limit: 1000,
 					give_award_range: 1,
 				}).then(res => {
 					this.giveList = res.data
 				});
 				getProductslist({
 					page: 1,
-					limit: 10,
+					limit: 1000,
 					join_games: 1,
 				}).then(res => {
 					this.joinList = res.data
 				});
 				getProductslist({
 					page: 1,
-					limit: 10,
+					limit: 1000,
 					give_award_range: 0,
 					join_games: 0,
+					give_green_integral:0
 				}).then(res => {
 					this.pjList = res.data
 				});
+				getProductslist({
+					page: 1,
+					limit: 1000,
+					give_green_integral: 1,
+				}).then(res => {
+					this.ljfList = res.data
+				});
 			},
 			getCopyRight() {
 				copyRight().then(res => {
@@ -1095,6 +1149,10 @@
 			width: 400rpx;
 			height: 36rpx;
 		}
+		.bannerImg3{
+			width: 550rpx;
+			height: 36rpx;
+		}
 		.borderBottom {
 			border-bottom: 4px solid #e93323;
 		}

+ 12 - 3
pages/user/index.vue

@@ -6,7 +6,7 @@
 				:balanceStatus="balanceStatus" :isScrolling="isScrolling"></user-member>
 			<view class="num-wrapper"
 				:class="[member_style==3?'unNum-wrapper':member_style==2?'Tnum-wrapper':'',((vip_type==2 && stu) || (vip_type==1 && memberStatus))?'':'height']"
-				v-if="userInfo.uid">
+				v-if="userInfo.uid&&showApp">
 				<!-- <view class="num-item" v-show="userInfo.balance_func_status"
 					@click="goMenuPage('/pages/users/user_money/index')">
 					<text class="num">{{userInfo.now_money || 0}}</text>
@@ -46,7 +46,7 @@
 			</view>
 			<view class="num-wrapper lexall"
 				:class="[member_style==3?'unNum-wrapper':member_style==2?'Tnum-wrapper':'',((vip_type==2 && stu) || (vip_type==1 && memberStatus))?'':'height']"
-				v-if="userInfo.uid">
+				v-if="userInfo.uid&&showApp">
 				<view class="num-item" style="flex-grow: 0;" @click="goMenuPage('/pages/users/user_integral/red')">
 					<view class="txt flex" >
 						<image class="userIcon" src="../../static/images/user03.png" mode="scaleToFill"></image>
@@ -300,7 +300,13 @@
 					]
 				},
 				codeImg: '',
-				indexData:''
+				indexData:{},
+				// #ifdef APP
+				showApp:false
+				// #endif
+				// #ifndef APP
+				showApp:true
+				// #endif
 			};
 		},
 		created() {
@@ -350,6 +356,9 @@
 			})
 		},
 		onShow() {
+			// #ifdef APP
+			this.showApp = uni.getStorageSync("showAppHistary")||false
+			// #endif
 			if (!this.isLogin) {
 				this.userInfo = '';
 				toLogin();

+ 49 - 32
pages/users/login/index.vue

@@ -28,8 +28,8 @@
 					:maxlength="11"></input>
 			</view>
 			<view class="item acea-row row-between-wrapper" v-if="!current">
-				<input type='password' placeholder='请输入密码' placeholder-class='placeholder'
-					class="codeIput" v-model="password"></input>
+				<input type='password' placeholder='请输入密码' placeholder-class='placeholder' class="codeIput"
+					v-model="password"></input>
 				<view class="line"></view>
 				<navigator class="code font-num" hover-class="none" url="/pages/users/retrievePassword/index">
 					忘记密码
@@ -45,12 +45,18 @@
 					{{ text }}
 				</button>
 			</view>
+			<view class="item">
+				<view class="acea-row row-middle">
+					<input type="text" placeholder="输入邀请码" v-model="spread_spid" maxlength="11" />
+				</view>
+			</view>
 			<view class="btn" @click="submitData">
 				立即登录
 			</view>
-			<view class="text-center fs-32 text--w111-999 mt-32" @click="current = !current">{{current ? '账号登录' :'手机号登录'}}</view>
+			<view class="text-center fs-32 text--w111-999 mt-32" @click="current = !current">
+				{{current ? '账号登录' :'手机号登录'}}</view>
 			<!-- #ifdef APP-PLUS -->
-			<view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
+			<!-- <view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
 				<view class="hds">
 					<span class="line"></span>
 					<p>其他方式登录</p>
@@ -64,7 +70,7 @@
 						<view class="iconfont icon-ic_apple"></view>
 					</view>
 				</view>
-			</view>
+			</view> -->
 			<!-- #endif -->
 		</view>
 		<view class="protocol">
@@ -112,7 +118,9 @@
 	const BACK_URL = "login_back_url";
 	import colors from '@/mixins/color.js';
 	import Verify from '../components/verify/verify.vue';
-	import { HTTP_REQUEST_URL } from '@/config/app';
+	import {
+		HTTP_REQUEST_URL
+	} from '@/config/app';
 	export default {
 		name: "Login",
 		components: {
@@ -142,7 +150,7 @@
 				appleUserInfo: null,
 				appleShow: false, // 苹果登录版本必须要求ios13以上的
 				keyLock: true,
-				copyrightContext:''
+				copyrightContext: ''
 			};
 		},
 		watch: {
@@ -154,7 +162,7 @@
 				}
 			}
 		},
-		onLoad() {
+		onLoad(res) {
 			let self = this
 			uni.getSystemInfo({
 				success: (res) => {
@@ -163,13 +171,19 @@
 					}
 				}
 			});
+			if (res.spid) {
+				this.spread_spid = res.spid;
+			}
 		},
 		mounted: function() {
 			// this.getCode();
 			this.getLogoImage();
+			if (!this.spread_spid) {
+				this.spread_spid = this.$Cache.get("spid");
+			}
 		},
 		methods: {
-			domainTap(url){
+			domainTap(url) {
 				// #ifdef H5
 				location.href = url
 				// #endif
@@ -329,10 +343,10 @@
 					}
 				});
 			},
-			submitData(){
-				if(this.current){
+			submitData() {
+				if (this.current) {
 					this.loginMobile()
-				}else{
+				} else {
 					this.submit()
 				}
 			},
@@ -473,7 +487,7 @@
 					loginMobile({
 							phone: that.account,
 							captcha: that.captcha,
-							spread_spid: that.$Cache.get("spid")
+							spread_spid: that.spread_spid
 						})
 						.then(res => {
 							let data = res.data;
@@ -502,7 +516,7 @@
 							});
 						});
 				}
-	
+
 			},
 			async register() {
 				let that = this;
@@ -542,8 +556,8 @@
 						});
 					});
 			},
-			async getCode(data){
-				console.log('data-------',data);
+			async getCode(data) {
+				console.log('data-------', data);
 				let that = this;
 				if (!that.account) return that.$util.Tips({
 					title: '请填写手机号码'
@@ -552,7 +566,7 @@
 					title: '请输入正确的手机号码'
 				});
 				if (that.formItem == 2) that.type = "register";
-	
+
 				await registerVerify({
 						phone: that.account,
 						type: that.type,
@@ -651,7 +665,7 @@
 			z-index: 0;
 			/* #ifdef H5 */
 			z-index: 0;
-	
+
 			/* #endif */
 			img {
 				width: 100%;
@@ -664,6 +678,7 @@
 			margin-left: 72rpx;
 			z-index: 2;
 			position: relative;
+
 			.title {
 				font-size: 48rpx;
 				font-weight: 500;
@@ -684,6 +699,7 @@
 			margin: 100rpx auto 0 auto;
 			z-index: 2;
 			position: relative;
+
 			.item {
 				width: 100%;
 				height: 88rpx;
@@ -827,33 +843,34 @@
 		transform: translate(-50%, -50%) scale(1);
 		-webkit-transform: translate(-50%, -50%) scale(1);
 	}
+
 	.appLogin {
 		margin-top: 60rpx;
-	
+
 		.hds {
 			display: flex;
 			justify-content: center;
 			align-items: center;
 			font-size: 24rpx;
 			color: #B4B4B4;
-	
+
 			.line {
 				width: 68rpx;
 				height: 1rpx;
 				background: #CCCCCC;
 			}
-	
+
 			p {
 				margin: 0 20rpx;
 			}
 		}
-	
+
 		.btn-wrapper {
 			display: flex;
 			align-items: center;
 			justify-content: center;
 			margin-top: 30rpx;
-	
+
 			.btn {
 				display: flex;
 				align-items: center;
@@ -862,7 +879,7 @@
 				height: 68rpx;
 				border-radius: 50%;
 			}
-	
+
 			.apple-btn {
 				display: flex;
 				align-items: center;
@@ -873,36 +890,36 @@
 				background: #EAEAEA;
 				border-radius: 34rpx;
 				font-size: 24rpx;
-	
+
 				.icon-s-pingguo {
 					color: #333;
 					margin-right: 10rpx;
 					font-size: 34rpx;
 				}
 			}
-	
+
 			.iconfont {
 				font-size: 40rpx;
 				color: #fff;
 			}
-	
+
 			.wx {
 				background-color: #61C64F;
 			}
-	
+
 			.mima {
 				background-color: #28B3E9;
 			}
-	
+
 			.yanzheng {
 				background-color: #F89C23;
 			}
-	
+
 			.pingguo {
 				margin-left: 60rpx;
 				background-color: #000;
 			}
-	
+
 		}
 	}
-</style>
+</style>

+ 58 - 34
pages/users/user_address/addClient.vue

@@ -7,11 +7,13 @@
 					<view class='list'>
 						<view class='item acea-row row-between-wrapper'>
 							<view class='name'>姓名</view>
-							<input type='text' placeholder='请输入姓名' name='real_name' :value="userAddress.real_name" placeholder-class='placeholder'></input>
+							<input type='text' placeholder='请输入姓名' name='real_name' :value="userAddress.real_name"
+								placeholder-class='placeholder'></input>
 						</view>
 						<view class='item acea-row row-between-wrapper'>
 							<view class='name'>联系电话</view>
-							<input type='number' maxlength="11" placeholder='请输入联系电话' name="phone" :value='userAddress.phone' placeholder-class='placeholder' pattern="\d*"></input>
+							<input type='number' maxlength="11" placeholder='请输入联系电话' name="phone"
+								:value='userAddress.phone' placeholder-class='placeholder' pattern="\d*"></input>
 						</view>
 						<view class='item acea-row row-between-wrapper'>
 							<view class='name'>所在地区</view>
@@ -30,7 +32,8 @@
 						<view class='item acea-row row-between-wrapper'>
 							<view class='name'>详细地址</view>
 							<view class="address">
-								<input type='text' placeholder='请填写具体地址' name='detail' placeholder-class='placeholder' :value='userAddress.detail' class="detail"></input>
+								<input type='text' placeholder='请填写具体地址' name='detail' placeholder-class='placeholder'
+									:value='userAddress.detail' class="detail"></input>
 							</view>
 						</view>
 					</view>
@@ -38,13 +41,19 @@
 				<button class='keepBnt' form-type="submit">立即保存</button>
 			</view>
 		</form>
-		<areaWindow ref="areaWindow" :display="display" :address="addressInfo" @submit="OnChangeAddress" @changeClose="changeClose"></areaWindow>
+		<areaWindow ref="areaWindow" :display="display" :address="addressInfo" @submit="OnChangeAddress"
+			@changeClose="changeClose"></areaWindow>
 	</view>
 </template>
 
 <script>
-	import {getGeocoder,getCityList} from '@/api/user.js';
-	import {mapGetters} from "vuex";
+	import {
+		getGeocoder,
+		getCityList
+	} from '@/api/user.js';
+	import {
+		mapGetters
+	} from "vuex";
 	import colors from '@/mixins/color.js';
 	import areaWindow from '@/components/areaWindow';
 	import AddressParse from '../components/zh-address-parse.min.js'
@@ -74,7 +83,7 @@
 			}
 		},
 		onLoad(options) {
-			
+
 		},
 		methods: {
 			changeRegion() {
@@ -92,33 +101,47 @@
 			// 获取选中位置
 			chooseLocation: function() {
 				let self = this;
-				uni.chooseLocation({
-					success: (res) => {
-						let latitude, longitude;
-						latitude = res.latitude.toString();
-						longitude = res.longitude.toString();
-						this.latitude = res.latitude
-						this.longitude = res.longitude
-						getGeocoder({
-							lat: latitude,
-							long: longitude
-						}).then(res => {
-							const data = res.data;
-							getCityList(data.address_component.province + '/' + data.address_component.city + '/' + data.address_component.district + '/' + (!data
-								.address_reference.town ? '' : data.address_reference.town.title)).then(res => {
-								self.addressInfo = res.data;
-								self.userAddress.detail = data.formatted_addresses.recommend;
-							}).catch(err => {
-								self.$util.Tips({
-									title: err
-								});
-							});
-						})
+				uni.showModal({
+					title: '定位权限申请',
+					content: '是否允许APP使用定位功能用于配送货',
+					success: res => {
+						if (res.confirm) {
+							uni.chooseLocation({
+								success: (res) => {
+									let latitude, longitude;
+									latitude = res.latitude.toString();
+									longitude = res.longitude.toString();
+									self.latitude = res.latitude
+									self.longitude = res.longitude
+									getGeocoder({
+										lat: latitude,
+										long: longitude
+									}).then(res => {
+										const data = res.data;
+										getCityList(data.address_component.province +
+												'/' + data.address_component.city +
+												'/' + data.address_component.district +
+												'/' + (!data
+													.address_reference.town ? '' : data
+													.address_reference.town.title))
+											.then(res => {
+												self.addressInfo = res.data;
+												self.userAddress.detail = data
+													.formatted_addresses.recommend;
+											}).catch(err => {
+												self.$util.Tips({
+													title: err
+												});
+											});
+									})
+								},
+								fail: (err) => {
+									console.log(err)
+								}
+							})
+						}
 					},
-					fail: (err) => {
-						console.log(err)
-					}
-				})
+				});
 			},
 			/**
 			 * 提交用户添加地址
@@ -152,7 +175,8 @@
 					city: regionArray[1].label,
 					district: regionArray[2].label,
 					street: regionArray[3] ? regionArray[3].label : '',
-					city_id: regionArray[regionArray.length - 1].id ? regionArray[regionArray.length - 1].id : that.city_id,
+					city_id: regionArray[regionArray.length - 1].id ? regionArray[regionArray.length - 1].id : that
+						.city_id,
 				};
 				uni.$emit("refresh", value)
 				uni.navigateBack()

+ 2 - 2
pages/users/user_distribution_level/index.vue

@@ -80,9 +80,9 @@
 					</view>
 				</view>
 			</view>
-			<view v-if="hostProduct.length" class="px-20">
+			<!-- <view v-if="hostProduct.length" class="px-20">
 				<recommend :hostProduct="hostProduct"></recommend>
-			</view>
+			</view> -->
 			<view class='growthValue' :class='growthValue==false?"on":""'>
 				<text class='iconfont icon-guanbi3' @click='growthValue = true'></text>
 				<view class='conter'>{{illustrate}}</view>

+ 1 - 1
pages/users/user_goods_collection/index.vue

@@ -102,7 +102,7 @@
 		</view>
 		<view class='px-20 mt-20' v-else-if="!collectProductList.length && page > 1">
 			<emptyPage title="暂无收藏,去看点别的吧~" src="/statics/images/noCollection.gif"></emptyPage>
-			<recommend :hostProduct="hostProduct"></recommend>
+			<!-- <recommend :hostProduct="hostProduct"></recommend> -->
 		</view>
 	</view>
 </template>

+ 23 - 6
pages/users/user_integral/red.vue

@@ -2,7 +2,7 @@
 	<!-- 积分详情 -->
 	<view>
 		<view class='integral-details' :style="colorStyle">
-			<view class='header'>
+			<view class='header' style="position: relative;">
 				<view class="headerBox">
 					<view>
 						<view class='currentScore'>当前红积分</view>
@@ -30,7 +30,7 @@
 					</view>
 				</view>
 				<view class='list'>
-					<view class='item' v-for="(item,index) in navList[current].list" :key="index">
+					<view class='item' @click="showAert(item)" v-for="(item,index) in navList[current].list" :key="index">
 						<view style="flex-grow: 1;">
 							<view class='state'>{{item.title}}</view>
 							<view>{{item.add_time}}</view>
@@ -42,7 +42,6 @@
 								余额:{{item.balance}}
 							</view>
 						</view>
-
 					</view>
 					<view class='loadingicon acea-row row-center-wrapper' v-if="navList[current].list.length>0">
 						<text class='loading iconfont icon-jiazai' :hidden='navList[current].loading==false'></text>{{navList[current].loadTitle}}
@@ -65,6 +64,7 @@
 	import {
 		getUserInfo,
 		getRedIntegralList,
+		loadIndexs
 	} from '@/api/user.js';
 	import dayjs from '@/plugin/dayjs/dayjs.min.js';
 	import {
@@ -125,7 +125,8 @@
 				isShowAuth: false, //是否隐藏授权
 				changeID: '',
 				changeMoney: '',
-				checkedType: 1
+				checkedType: 1,
+				indexData:{price:0}
 			};
 		},
 		computed: mapGetters(['isLogin']),
@@ -143,6 +144,12 @@
 			}
 		},
 		onLoad() {
+			loadIndexs().then(({data})=>{
+				this.indexData = data;
+				console.log(data,'data')
+			}).catch((err)=>{
+				console.log(err)
+			})
 			if (this.isLogin) {
 				this.getUserInfo();
 				this.getIntegralList();
@@ -165,6 +172,14 @@
 			this.getIntegralList();
 		},
 		methods: {
+			// 详情
+			showAert(item){
+				uni.showModal({
+					title: '显示详情',
+					content: item.mark,
+					showCancel: false,
+				});
+			},
 			/**
 			 * 授权回调
 			 */
@@ -425,7 +440,7 @@
 		font-size: 26rpx;
 		position: absolute;
 		right: 0rpx;
-		top: 150px;
+		bottom: 30rpx;
 		padding: 10rpx 30rpx;
 		display: flex;
 
@@ -440,7 +455,9 @@
 		font-weight: bold;
 		font-size: 24rpx;
 		padding-left: 30rpx;
-		padding-top: 40rpx;
+		position: absolute;
+		bottom: 40rpx;
+		left: 0;
 	}
 	
 </style>

+ 5 - 4
pages/users/user_integral/redTarget.vue

@@ -1,5 +1,5 @@
 <template>
-	<view :style="colorStyle">
+	<view class="pageBg" :style="colorStyle">
 		<!-- #ifdef MP -->
 		<view class="accountTitle">
 			<view :style="{height:getHeight.barTop+'px'}"></view>
@@ -23,7 +23,7 @@
 			<view class="payment">
 				<view class="tip">
 					<view class="title">转到佣金</view>
-					<view class='input acea-row row-middle'><text>¥</text><input @input='inputNum'
+					<view class='input acea-row row-middle'><input @input='inputNum'
 							:maxlength="moneyMaxLeng" placeholder="请输入转到佣金金额" type='digit'
 							placeholder-class='placeholder' v-model="number" name="number"></input></view>
 				</view>
@@ -228,6 +228,7 @@
 </script>
 
 <style lang="scss">
+	
 	.bgcolor {
 		background-color: var(--view-theme)
 	}
@@ -236,7 +237,7 @@
 		background-color: var(--view-minorColorT);
 		position: fixed;
 		left: 0;
-		top: 0;
+		top:  var(--status-bar-height);
 		width: 100%;
 		z-index: 99;
 
@@ -382,7 +383,7 @@
 
 	.paymentCon {
 		background: linear-gradient(180deg, var(--view-minorColorT) 0%, #f5f5f5 100%);
-		padding-top: 32rpx;
+		padding-top: calc(var(--status-bar-height) + 32rpx) ;
 	}
 
 	.payment-top {

+ 12 - 3
pages/users/user_money/index.vue

@@ -21,7 +21,7 @@
 								<view class='money'>{{userInfo.now_money || 0}}</view>
 							</view>
 							<!-- #ifdef APP-PLUS || H5 -->
-							<navigator url="/pages/users/user_payment/index" hover-class="none" class='recharge'>充值
+							<navigator v-if="showApp" url="/pages/users/user_payment/index" hover-class="none" class='recharge'>充值
 							</navigator>
 							<!-- #endif -->
 							<!-- #ifdef MP -->
@@ -103,7 +103,7 @@
 					</navigator>
 				</view>
 			</view>
-			<recommend :hostProduct="hostProduct"></recommend>
+			<!-- <recommend :hostProduct="hostProduct"></recommend> -->
 		</view>
 		<navigator url="/pages/users/user_payment/money">
 			<view class="brokerageMoney">
@@ -156,7 +156,13 @@
 				isShowAuth: false, //是否隐藏授权
 				hotScroll: false,
 				hotPage: 1,
-				hotLimit: 10
+				hotLimit: 10,
+				// #ifdef APP
+				showApp:false
+				// #endif
+				// #ifndef APP
+				showApp:true
+				// #endif
 			};
 		},
 		computed: mapGetters(['isLogin']),
@@ -181,6 +187,9 @@
 			}
 		},
 		onShow() {
+			// #ifdef APP
+			this.showApp = uni.getStorageSync("showAppHistary")||false
+			// #endif
 			uni.removeStorageSync('form_type_cart');
 		},
 		methods: {

+ 17 - 3
pages/users/user_spread_code/index.vue

@@ -150,7 +150,20 @@
 		},
 		async onReady() {
 			if (this.isLogin) {
+				// #ifdef APP-PLUS
+				this.val = `${HTTP_REQUEST_URL}/pages/users/login/register?spid=${this.uid}`
+				// #endif
+				// #ifndef APP
 				this.val = `${HTTP_REQUEST_URL}?spid=${this.uid}`
+				// #endif
+				// #ifdef H5
+				const bool = navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger';
+				if(bool){
+					this.val = `${HTTP_REQUEST_URL}?spid=${this.uid}`
+				}else{
+					this.val = `${HTTP_REQUEST_URL}/pages/users/login/index?spid=${this.uid}`
+				}
+				// #endif
 				// #ifdef MP
 				await this.spreadMsg()
 				// #endif
@@ -166,9 +179,9 @@
 				selector.fields({
 					size: true
 				}, data => {
-					console.log(data)
+					console.log(data,'data')
 					this.wd = data.width
-					// this.hg = data.height
+					this.hg = data.height
 				}).exec();
 			})
 		},
@@ -223,7 +236,8 @@
 					let followCode = res.data.qrcode?await this.imgToBase(res.data.qrcode):'';
 					// #ifdef H5
 					avatar = avatar?avatar:res.data.avatar
-					arr2 = [followCode || this.codeSrc, img, avatar]
+					arr2 = [followCode || this.codeSrc, img, avatar];
+					console.log(avatar,arr2,'avatar')
 					// #endif
 					// #ifdef MP
 					await this.routineCode();

+ 2 - 2
pages/users/user_vip/index.vue

@@ -110,9 +110,9 @@
 						</view>
 					</view>
 				</view>
-				<view v-if="hostProduct.length" class="px-20">
+				<!-- <view v-if="hostProduct.length" class="px-20">
 					<recommend :hostProduct="hostProduct" title="商品推荐"></recommend>
-				</view>
+				</view> -->
 			</view>
 			<view class='growthValue' :class='growthValue==false?"on":""'>
 				<view class='pictrue'>

+ 1 - 1
pages/users/visit_list/index.vue

@@ -67,7 +67,7 @@
 		</view>
 		<view class='px-20 mt-20' v-else-if="!visitList.length">
 			<emptyPage title="暂无记录,去看点别的吧~" src="/statics/images/noOrder.gif"></emptyPage>
-			<recommend :hostProduct="hostProduct"></recommend>
+			<!-- <recommend :hostProduct="hostProduct"></recommend> -->
 		</view>
 	</view>
 </template>

BIN
static/img/indexGoods1.png


BIN
static/img/indexGoods2.png


BIN
static/img/indexGoods3.png


BIN
static/img/indexGoods4.png


+ 0 - 1
unpackage/debug/.roid.ins

@@ -1 +0,0 @@
-forceInstall

BIN
unpackage/debug/android_debug.apk


BIN
unpackage/res/ios证书/rrysapp.mobileprovision


BIN
unpackage/res/ios证书/证书(2).p12


+ 3 - 0
unpackage/res/ios证书/账号密码.txt

@@ -0,0 +1,3 @@
+App ID Prefix (Team ID):8346YX59CJ
+Bundle ID (explicit):com.rrys.name
+密码:rrys159*

+ 149 - 0
utils/upApp.js

@@ -0,0 +1,149 @@
+import confige from '@/config/app.js'
+import {getAppVersion} from '@/api/api.js'
+const getIosUpAppUrl = 'https://itunes.apple.com/cn/lookup?id=6476127203'
+const iosAppStroeUrl =
+	'https://apps.apple.com/cn/app/%E7%A5%9E%E8%8B%B1%E4%BC%98%E9%80%89/id6476127203';
+
+// 获取app是否需要升级
+export function getUpApp () {
+	// 获取当前运行系统
+	let hj = uni.getSystemInfoSync().platform;
+	// 隐藏显示内容
+	uni.setStorageSync("showAppHistary",false)
+	// 获取仓库app数据对象
+	if (hj === 'ios') {
+		uni.request({
+			url: getIosUpAppUrl,
+			method: 'POST',
+			data: {},
+			success: res => {
+				console.log(res)
+				let r = res.data;
+				isUp(r, hj)
+			},
+			fail: res => {
+				// store.commit('changeState', true);
+				console.log(res, 'shib');
+			}
+		});
+		// 设置显示数据
+		return
+	}
+	// 当前系统为安卓则显示数据
+	if (hj === 'android') {
+		getAppVersion().then((res)=>{
+			let r = res.data;
+			console.log(r,'rr')
+			isUp(r, hj)
+		}).catch((res)=>{
+			console.log(res);
+		})
+	}
+}
+function isUp(r, hj) {
+	plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
+		let version = '';
+		let arr = '';
+		if (hj == "android") {
+			// 保存线上版本号
+			version =r.version;
+			// store.commit('setappversion',  r.version);
+			// 获取线上版本
+			arr = r.version.split('.');
+		}
+		if (hj == "ios") {
+			// 保存线上版本号
+			version = r.results[0].version;
+			// store.commit('setappversion', version);
+			// 获取线上版本
+			arr = r.results[0].version.split('.');
+		}
+		// 获取当前系统
+		const arr1 = wgtinfo.version.split('.');
+		for (let i = 0; i < arr.length; i++) {
+			// 线上版本号
+			const x = +arr[i];
+			// 本地版本号
+			const y = +arr1[i];
+			// 判断线上版本是否小于本地版本
+			console.log(x, y, '数据');
+			if (x < y) {
+				// 设置显示数据
+				uni.setStorageSync("showAppHistary",false)
+				console.log('222')
+				return
+			}
+			// 判断线上版本是否大于本地版本
+			else if (x > y) {
+				uni.setStorageSync("showAppHistary",true)
+				console.log('223')
+				uni.showModal({
+					title: '提示',
+					content: '请更新应用',
+					showCancel: false,
+					success(e) {
+						if (hj == "android") {
+							downApp(r.apk);
+						}
+						if (hj == "ios") {
+							plus.runtime.openURL(
+								iosAppStroeUrl
+							);
+						}
+					}
+				});
+				return
+			} 
+			// 判断是否本地版本等于线上版本
+			else if (x == y && i == arr.length - 1) {
+				uni.setStorageSync("showAppHistary",true)
+				console.log('===')
+				// store.commit('changeState', true);
+				return
+			}
+		}
+	});
+}
+// 下载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(url, {}, (d, status) => {
+			if (status == 200) {
+				installApp(d.filename); // 安装app
+			} else {
+				plus.nativeUI.alert('下载升级包失败!');
+			}
+			plus.nativeUI.closeWaiting();
+		})
+		.start();
+}
+// 安装app
+export function installApp (path) {
+	plus.nativeUI.showWaiting('安装升级包...');
+	plus.runtime.install(
+		path, {},
+		function() {
+			plus.nativeUI.closeWaiting();
+			uni.showToast({
+				icon: 'none',
+				title: '升级完成,准备重新载入'
+			});
+			setTimeout(_ => {
+				uni.hideToast();
+				plus.runtime.restart();
+			}, 1000);
+		},
+		function(e) {
+			plus.nativeUI.closeWaiting();
+			plus.nativeUI.alert('安装升级包失败[' + e.code + ']:' + e.message);
+		}
+	);
+}

+ 31 - 15
utils/util.js

@@ -618,20 +618,27 @@ export default {
 				// const WIDTH = res.width;
 				// const HEIGHT = res.height;
 				ctx.fillStyle = '#fff';
+				console.log(0, 0, w, h,'0, 0, w, h')
 				ctx.fillRect(0, 0, w, h);
 				ctx.drawImage(arr2[1], 0, 0, w, h);
 				ctx.save();
-
-
-				ctx.drawImage(arr2[0], w - 86, 386, 70, 70);
-				ctx.save();
-
 				ctx.setFontSize(16);
 				ctx.setFillStyle('#333');
-				ctx.fillText(nickname, 45, 414);
+				// #ifdef APP
+				ctx.fillText(nickname, w/18*3, h*0.82);
+				// #endif
+				// #ifndef APP
+				ctx.fillText(nickname, w/18*3, h*0.82);
+				// #endif
+				
+				// #ifdef APP
+				ctx.drawImage(arr2[0], w/2-50, h/2-50, 100, 100);
+				// #endif
+				// #ifndef APP
+				ctx.drawImage(arr2[0], w/2-50, h/2-50, 100, 100);
+				// #endif
+				ctx.save();
 				ctx.save();
-
-
 				const CONTENT_ROW_LENGTH = 25;
 				const store_name = '邀请您加入' + sitename;
 				let [contentLeng, contentArray, contentRows] = that.textByteLength(store_name,
@@ -649,16 +656,25 @@ export default {
 				let contentHh = 38;
 				for (let m = 0; m < contentArray.length; m++) {
 					if (m) {
-						ctx.fillText(contentArray[m], 16, 456);
+						ctx.fillText(contentArray[m],  w/18*3, h*0.85);
 					} else {
-						ctx.fillText(contentArray[m], 16, 440);
+						ctx.fillText(contentArray[m],  w/18*3, h*0.85);
 					}
 				}
 				ctx.save();
-
-				that.handleBorderRect(ctx, 16, 396, 24, 24, 12)
+				// #ifdef APP
+				that.handleBorderRect(ctx, w/18*1, h*0.80, 24, 24, 12)
+				// #endif
+				// #ifndef APP
+				that.handleBorderRect(ctx, w/18*1, h*0.80, 24, 24, 12)
+				// #endif
 				ctx.clip();
-				ctx.drawImage(arr2[2], 16, 396, 24, 24);
+				// #ifdef APP
+				ctx.drawImage(arr2[2],w/18*1, h*0.80, 24, 24);
+				// #endif
+				// #ifndef APP
+				ctx.drawImage(arr2[2], w/18*1, h*0.80, 24, 24);
+				// #endif
 				ctx.draw(true, function() {
 					uni.canvasToTempFilePath({
 						canvasId: 'myCanvas' + index,
@@ -825,8 +841,8 @@ export default {
 		if (boolad || plus.os.name == "iOS") {
 			upimg()
 		} else {
-			let title = '申请相册权限';
-			let content = "是否允许访问相册用于上传图片?"
+			let title = '申请相册及相机权限';
+			let content = "是否允许访问相册和相机用于拍摄上传图片?"
 			uni.showModal({
 				title,
 				content,

Some files were not shown because too many files changed in this diff