Browse Source

反向代理

hwq 4 years ago
parent
commit
a6dc97c913
4 changed files with 454 additions and 513 deletions
  1. 1 1
      manifest.json
  2. 4 4
      pages/category/category.vue
  3. 418 497
      pages/user/user.vue
  4. 31 11
      utils/newRequest.js

+ 1 - 1
manifest.json

@@ -77,7 +77,7 @@
 		            // "changeOrigin": true,
 		            "pathRewrite" : {
 		                "/api" : "" // rewrite path
-		            } 
+		            }
 		        }
 		    }
 		}

+ 4 - 4
pages/category/category.vue

@@ -4,8 +4,8 @@
 			<view v-for="(item,index) in flist" :key="item.id" class="f-item b-b" :class="{ active: index === currentId }" @click="tabtap(item,index)">{{ item.cate_name }}</view>
 		</scroll-view>
 		<scroll-view :scroll-with-animation="scrollAnimation" scroll-y class="right-aside" :scroll-top="tabScrollTop" @scrolltolower="getProductsList(flist[currentId])">
-			<view class="t-list ">
-				<view @click="navToList(item.id, titem.id)" class="t-item" v-for="titem in flist[currentId].list" :key="titem.id">
+			<view class="t-list">
+				<view @click="navToList(item.id, titem.id)" class="t-item"  v-for="titem in flist[currentId].list" :key="titem.id">
 					<view class=""><image :src="titem.pic"></image></view>
 
 					<view class="titem-right">
@@ -28,8 +28,8 @@ export default {
 		return {
 			sizeCalcState: false,
 			tabScrollTop: 0,
-			currentId: 1,
-			flist: [],
+			currentId: 0,
+			flist: ['list'],
 			scrollAnimation: true //是否开启动画
 		};
 	},

+ 418 - 497
pages/user/user.vue

@@ -3,31 +3,20 @@
 		<view class="vheigh"></view>
 		<scroll-view class="content-box" scroll-y="true">
 			<view class="user-section">
-				<view class="bg">
-					<image src="../../static/user/bg.png" mode=""></image>
-				</view>
+				<view class="bg"><image src="../../static/user/bg.png" mode=""></image></view>
 				<view class="user-info-box ">
 					<view class="detail flex" @click="navTo('/pages/set/userinfo')">
-						<view class="portrait-box">
-							<image class="portrait" :src="userInfo.avatar || '/static/error/missing-face.png'"></image>
-						</view>
+						<view class="portrait-box"><image class="portrait" :src="userInfo.avatar || '/static/error/missing-face.png'"></image></view>
 						<view class="info-box">
 							<view class="username">{{ userInfo.nickname || '游客' }}111111</view>
-							<view class="phone">
-								18952592739
-							</view>
+							<view class="phone">18952592739</view>
 						</view>
 					</view>
 					<view class="config iconfont">
-						<view class="config-img">
-							<image src="../../static/user/set.png" mode=""></image>
-						</view>
+						<view class="config-img"><image src="../../static/user/set.png" mode=""></image></view>
 						<text class="setting " @click="navTo('/pages/set/set')">设置</text>
-
 					</view>
 				</view>
-
-
 			</view>
 			<view class="order-box">
 				<view class="order">
@@ -36,107 +25,67 @@
 				</view>
 				<view class="order1">
 					<view class="order-content1">
-						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon1">
-								<image class="icon-img1" src="/static/user/user01.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon1"><image class="icon-img1" src="/static/user/user01.png" mode="aspectFit"></image></view>
 							<text>待付款</text>
 						</view>
 					</view>
 					<view class="order-content1">
-						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon1">
-								<image class="icon-img1" src="/static/user/user02.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon1"><image class="icon-img1" src="/static/user/user02.png" mode="aspectFit"></image></view>
 							<text>待发货</text>
 						</view>
 					</view>
 					<view class="order-content1">
-						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon1">
-								<image class="icon-img1" src="/static/user/user03.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon1"><image class="icon-img1" src="/static/user/user03.png" mode="aspectFit"></image></view>
 							<text>待收货</text>
 						</view>
 					</view>
 					<view class="order-content1">
-						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon1">
-								<image class="icon-img1" src="/static/user/user04.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item1" @click="navTo('/pages/money/wallet')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon1"><image class="icon-img1" src="/static/user/user04.png" mode="aspectFit"></image></view>
 							<text>已完成</text>
 						</view>
 					</view>
 				</view>
 			</view>
 
-			<view class="cover-container" @touchstart="coverTouchstart" @touchmove="coverTouchmove"
-				@touchend="coverTouchend">
+			<view class="cover-container" @touchstart="coverTouchstart" @touchmove="coverTouchmove" @touchend="coverTouchend">
 				<!-- <image class="arc" src="/static/img/arc.png"></image> -->
 
-
-
-
-
 				<view class="item-box">
 					<!-- <view class="box-title flex borde-b">
 						<view class="title"><text>我的资产</text></view>
 					</view> -->
 					<view class="order-section">
-						<view class="order-item" @click="navTo('/pages/user/balance')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon">
-								<image class="icon-img" src="/static/user/user09.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item" @click="navTo('/pages/user/balance')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon"><image class="icon-img" src="/static/user/user09.png" mode="aspectFit"></image></view>
 							<text>我的余额</text>
 						</view>
-						<view class="order-item" @click="navTo('/pages/user/yongjin')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon">
-								<image class="icon-img" src="/static/user/user06.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item" @click="navTo('/pages/user/yongjin')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon"><image class="icon-img" src="/static/user/user06.png" mode="aspectFit"></image></view>
 							<text>我的佣金</text>
 						</view>
-						<view class="order-item" @click="navTo('/pages/user/scoreAccumulate')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon">
-								<image class="icon-img" src="/static/user/user18.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item" @click="navTo('/pages/user/scoreAccumulate')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon"><image class="icon-img" src="/static/user/user18.png" mode="aspectFit"></image></view>
 							<text>我的积分</text>
 						</view>
-						<view class="order-item" @click="navTo('/pages/user/jifen')" hover-class="common-hover"
-							:hover-stay-time="50">
-							<view class="icon">
-								<image class="icon-img" src="/static/user/user07.png" mode="aspectFit"></image>
-							</view>
+						<view class="order-item" @click="navTo('/pages/user/jifen')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon"><image class="icon-img" src="/static/user/user07.png" mode="aspectFit"></image></view>
 							<text>购物积分</text>
 						</view>
 					</view>
 				</view>
 
-
 				<view class="history-section icon">
-
-
 					<uni-list>
-						<uni-list-item title="我的推广" @click="navTo('/pages/money/wallet')"
-							thumb="/static/user/user12.png"></uni-list-item>
-						<uni-list-item title="USDT专区" @click="navTo('/pages/money/USDT')"
-							thumb="/static/user/user16.png">
-						</uni-list-item>
-						<uni-list-item title="收款方式" @click="navTo('/pages/collection/collection')"
-							thumb="/static/user/user15.png"></uni-list-item>
-						<uni-list-item title="邀请好友" @click="navTo('/pages/user/invite')"
-							thumb="/static/user/user11.png">
-						</uni-list-item>
-						<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')"
-							thumb="/static/user/user14.png"></uni-list-item>
-						<uni-list-item title="收货地址" @click="navTo('/pages/set/address')"
-							thumb="/static/user/user13.png"></uni-list-item>
+						<uni-list-item title="我的推广" @click="navTo('/pages/money/wallet')" thumb="/static/user/user12.png"></uni-list-item>
+						<uni-list-item title="USDT专区" @click="navTo('/pages/money/USDT')" thumb="/static/user/user16.png"></uni-list-item>
+						<uni-list-item title="收款方式" @click="navTo('/pages/collection/collection')" thumb="/static/user/user15.png"></uni-list-item>
+						<uni-list-item title="邀请好友" @click="navTo('/pages/user/invite')" thumb="/static/user/user11.png"></uni-list-item>
+						<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/user14.png"></uni-list-item>
+						<uni-list-item title="收货地址" @click="navTo('/pages/set/address')" thumb="/static/user/user13.png"></uni-list-item>
 					</uni-list>
 				</view>
 			</view>
@@ -144,505 +93,477 @@
 	</view>
 </template>
 <script>
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import uniList from '@/components/uni-list/uni-list.vue';
-	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-	import {
-		orderData,
-		userinfo
-	} from '@/api/user.js';
-	import {
-		saveUrl,
-		interceptor
-	} from '@/utils/loginUtils.js';
-	let startY = 0,
-		moveY = 0,
-		pageAtTop = true;
-	export default {
-		components: {
-			uniList,
-			uniListItem
-		},
-		data() {
-			return {
-				coverTransform: 'translateY(0px)',
-				coverTransition: '0s',
-				moving: false,
-				userDowm: 0, //卡片升级专属高度
-				userMaxDowm: 0 //卡片最高高度
-			};
+import { mapState, mapMutations } from 'vuex';
+import uniList from '@/components/uni-list/uni-list.vue';
+import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+import { orderData, userinfo } from '@/api/user.js';
+import { saveUrl, interceptor } from '@/utils/loginUtils.js';
+let startY = 0,
+	moveY = 0,
+	pageAtTop = true;
+export default {
+	components: {
+		uniList,
+		uniListItem
+	},
+	data() {
+		return {
+			coverTransform: 'translateY(0px)',
+			coverTransition: '0s',
+			moving: false,
+			userDowm: 0, //卡片升级专属高度
+			userMaxDowm: 0 //卡片最高高度
+		};
+	},
+	onShow() {
+		// 判断是否已经登录
+		if (this.hasLogin) {
+			this.loadBaseData();
+		}
+	},
+	onReady() {
+		// 初始化获取页面宽度
+		uni.createSelectorQuery()
+			.select('.container')
+			.fields(
+				{
+					size: true
+				},
+				data => {
+					// 计算最多下拉的高度
+					this.userDowm = Math.floor((data.width / 750) * 185);
+					// 计算最大触发修改高度事件
+					this.userMaxDowm = Math.floor((data.width / 750) * 250);
+				}
+			)
+			.exec();
+	},
+	// #ifndef MP
+	// onNavigationBarButtonTap(e) {
+	// 	const index = e.index;
+	// 	if (index === 0) {
+	// 		this.navTo('/pages/set/set');
+	// 	} else if (index === 1) {
+	// 		// #ifdef APP-PLUS
+	// 		const pages = getCurrentPages();
+	// 		const page = pages[pages.length - 1];
+	// 		const currentWebview = page.$getAppWebview();
+	// 		currentWebview.hideTitleNViewButtonRedDot({
+	// 			index
+	// 		});
+	// 		// #endif
+	// 		uni.navigateTo({
+	// 			url: '/pages/user/notice'
+	// 		});
+	// 	}
+	// },
+	// #endif
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
+	methods: {
+		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+		// 加载初始数据
+		loadBaseData() {
+			userinfo({})
+				.then(({ data }) => {
+					this.setUserInfo(data);
+					// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
+					orderData({})
+						.then(({ data }) => {
+							this.setOrderInfo(data);
+						})
+						.catch(e => {
+							this.setOrderInfo({
+								complete_count: 0, //完成
+								received_count: 0, //待收货
+								unshipped_count: 0, //待发货
+								order_count: 0, //订单总数
+								unpaid_count: 0 //待付款
+							});
+						});
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		},
-		onShow() {
-			// 判断是否已经登录
-			if (this.hasLogin) {
-				this.loadBaseData();
+		/**
+		 * 统一跳转接口,拦截未登录路由
+		 * navigator标签现在默认没有转场动画,所以用view
+		 */
+		navTo(url) {
+			if (!this.hasLogin) {
+				// 保存地址
+				saveUrl();
+				// 登录拦截
+				interceptor();
+			} else {
+				uni.navigateTo({
+					url
+				});
 			}
 		},
-		onReady() {
-			// 初始化获取页面宽度
-			uni.createSelectorQuery()
-				.select('.container')
-				.fields({
-						size: true
-					},
-					data => {
-						// 计算最多下拉的高度
-						this.userDowm = Math.floor((data.width / 750) * 185);
-						// 计算最大触发修改高度事件
-						this.userMaxDowm = Math.floor((data.width / 750) * 250);
-					}
-				)
-				.exec();
-		},
-		// #ifndef MP
-		// onNavigationBarButtonTap(e) {
-		// 	const index = e.index;
-		// 	if (index === 0) {
-		// 		this.navTo('/pages/set/set');
-		// 	} else if (index === 1) {
-		// 		// #ifdef APP-PLUS
-		// 		const pages = getCurrentPages();
-		// 		const page = pages[pages.length - 1];
-		// 		const currentWebview = page.$getAppWebview();
-		// 		currentWebview.hideTitleNViewButtonRedDot({
-		// 			index
-		// 		});
-		// 		// #endif
-		// 		uni.navigateTo({
-		// 			url: '/pages/user/notice'
-		// 		});
-		// 	}
-		// },
-		// #endif
-		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-		},
-		methods: {
-			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
-			// 加载初始数据
-			loadBaseData() {
-				userinfo({})
-					.then(({
-						data
-					}) => {
-						this.setUserInfo(data);
-						// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
-						orderData({})
-							.then(({
-								data
-							}) => {
-								this.setOrderInfo(data);
-							})
-							.catch(e => {
-								this.setOrderInfo({
-									complete_count: 0, //完成
-									received_count: 0, //待收货
-									unshipped_count: 0, //待发货
-									order_count: 0, //订单总数
-									unpaid_count: 0 //待付款
-								});
-							});
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			/**
-			 * 统一跳转接口,拦截未登录路由
-			 * navigator标签现在默认没有转场动画,所以用view
-			 */
-			navTo(url) {
-				if (!this.hasLogin) {
-					// 保存地址
-					saveUrl();
-					// 登录拦截
-					interceptor();
-				} else {
-					uni.navigateTo({
-						url
-					});
-				}
-			},
-
-			/**
-			 *  会员卡下拉和回弹
-			 *  1.关闭bounce避免ios端下拉冲突
-			 *  2.由于touchmove事件的缺陷(以前做小程序就遇到,比如20跳到40,h5反而好很多),下拉的时候会有掉帧的感觉
-			 *    transition设置0.1秒延迟,让css来过渡这段空窗期
-			 *  3.回弹效果可修改曲线值来调整效果,推荐一个好用的bezier生成工具 http://cubic-bezier.com/
-			 */
-			coverTouchstart(e) {
-				// console.log(e);
-				if (pageAtTop === false) {
-					return;
-				}
 
-				this.coverTransition = 'transform .1s linear';
-				startY = e.touches[0].clientY;
-			},
-			coverTouchmove(e) {
-				// console.log(e);
-				moveY = e.touches[0].clientY;
-				let moveDistance = moveY - startY;
-				let maxDowm = this.userMaxDowm;
-				let Dowm = this.userDowm;
-				if (moveDistance < 0) {
-					this.moving = false;
-					return;
-				}
-				this.moving = true;
-				if (moveDistance >= Dowm && moveDistance < maxDowm) {
-					moveDistance = Dowm;
-				}
+		/**
+		 *  会员卡下拉和回弹
+		 *  1.关闭bounce避免ios端下拉冲突
+		 *  2.由于touchmove事件的缺陷(以前做小程序就遇到,比如20跳到40,h5反而好很多),下拉的时候会有掉帧的感觉
+		 *    transition设置0.1秒延迟,让css来过渡这段空窗期
+		 *  3.回弹效果可修改曲线值来调整效果,推荐一个好用的bezier生成工具 http://cubic-bezier.com/
+		 */
+		coverTouchstart(e) {
+			// console.log(e);
+			if (pageAtTop === false) {
+				return;
+			}
 
-				if (moveDistance > 0 && moveDistance <= Dowm) {
-					this.coverTransform = `translateY(${moveDistance}px)`;
-				}
-			},
-			coverTouchend() {
-				if (this.moving === false) {
-					return;
-				}
+			this.coverTransition = 'transform .1s linear';
+			startY = e.touches[0].clientY;
+		},
+		coverTouchmove(e) {
+			// console.log(e);
+			moveY = e.touches[0].clientY;
+			let moveDistance = moveY - startY;
+			let maxDowm = this.userMaxDowm;
+			let Dowm = this.userDowm;
+			if (moveDistance < 0) {
 				this.moving = false;
-				this.coverTransition = 'transform 0.3s cubic-bezier(.21,1.93,.53,.64)';
-				this.coverTransform = 'translateY(0px)';
+				return;
 			}
+			this.moving = true;
+			if (moveDistance >= Dowm && moveDistance < maxDowm) {
+				moveDistance = Dowm;
+			}
+
+			if (moveDistance > 0 && moveDistance <= Dowm) {
+				this.coverTransform = `translateY(${moveDistance}px)`;
+			}
+		},
+		coverTouchend() {
+			if (this.moving === false) {
+				return;
+			}
+			this.moving = false;
+			this.coverTransition = 'transform 0.3s cubic-bezier(.21,1.93,.53,.64)';
+			this.coverTransform = 'translateY(0px)';
 		}
-	};
+	}
+};
 </script>
 <style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	%flex-center {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
+page {
+	height: 100%;
+}
+
+%flex-center {
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	align-items: center;
+}
+
+%section {
+	display: flex;
+	justify-content: space-around;
+	align-content: center;
+	background: #fff;
+	border-radius: 10rpx;
+}
+
+.container {
+	height: 100%;
+	background-color: $page-color-base;
+}
+
+.user-section {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	position: relative;
+	top: 0;
+	left: 0;
+	right: 0;
+
+	.bg {
+		width: 100%;
+		height: 400rpx;
+
+		image {
+			width: 100%;
+			height: 100%;
+		}
 	}
 
-	%section {
-		display: flex;
-		justify-content: space-around;
-		align-content: center;
-		background: #fff;
-		border-radius: 10rpx;
-	}
+	.user-info-box {
+		width: 100%;
 
-	.container {
-		height: 100%;
-		background-color: $page-color-base;
-	}
+		position: absolute;
 
-	.user-section {
 		display: flex;
-		align-items: center;
 		justify-content: space-between;
-		position: relative;
-		top: 0;
-		left: 0;
-		right: 0;
-
-		.bg {
-
-			width: 100%;
-			height: 400rpx;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
-
-		.user-info-box {
-			width: 100%;
-
-			position: absolute;
-
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
+		align-items: center;
 
+		.detail {
+			margin-left: 20rpx;
 
-			.detail {
-				margin-left: 20rpx;
+			.portrait-box {
+				width: 127rpx;
+				height: 127rpx;
+				border-radius: 50%;
 
-				.portrait-box {
-					width: 127rpx;
-					height: 127rpx;
+				.portrait {
+					width: 100%;
+					height: 100%;
 					border-radius: 50%;
-
-					.portrait {
-						width: 100%;
-						height: 100%;
-
-					}
-				}
-
-				.info-box {
-					padding-left: 15rpx;
-					display: flex;
-					flex-direction: column;
-					justify-content: center;
-
-					.username {
-						font-size: 34rpx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FFFFFF;
-						line-height: 44rpx;
-					}
-
-					.phone {
-						font-size: 26rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #FFFFFF;
-						line-height: 44rpx;
-					}
 				}
 			}
 
-			.config {
-				width: 165rpx;
-				height: 64rpx;
-				background: #FFFFFF;
-				border-radius: 32px 0px 0px 32px;
+			.info-box {
+				padding-left: 15rpx;
 				display: flex;
+				flex-direction: column;
 				justify-content: center;
-				align-items: center;
 
-				.config-img {
-					width: 32rpx;
-					height: 32rpx;
-					margin-right: 5rpx;
-
-					image {
-						width: 100%;
-						height: 100%;
-					}
+				.username {
+					font-size: 34rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #ffffff;
+					line-height: 44rpx;
 				}
 
-				.setting {
-					margin-left: 5rpx;
-					font-size: 28rpx;
+				.phone {
+					font-size: 26rpx;
 					font-family: PingFang SC;
 					font-weight: 500;
-					color: #438BED;
-					line-height: 72rpx;
+					color: #ffffff;
+					line-height: 44rpx;
 				}
 			}
 		}
-	}
-
-
-
-
-
-	.content-box {
-		height: 100%;
-	}
 
-	.vheigh {
-		height: var(--status-bar-height);
-		background-color: $base-color;
-	}
+		.config {
+			width: 165rpx;
+			height: 64rpx;
+			background: #ffffff;
+			border-radius: 32px 0px 0px 32px;
+			display: flex;
+			justify-content: center;
+			align-items: center;
 
-	.cover-container {
-		background: $page-color-base;
+			.config-img {
+				width: 32rpx;
+				height: 32rpx;
+				margin-right: 5rpx;
 
-		padding: 0 20rpx;
-		position: relative;
-		background: #f5f5f5;
-		padding-bottom: 20rpx;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
 
-		.arc {
-			position: absolute;
-			left: 0;
-			top: -34rpx;
-			width: 100%;
-			height: 36rpx;
+			.setting {
+				margin-left: 5rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #438bed;
+				line-height: 72rpx;
+			}
 		}
 	}
+}
 
-	.order-box {
-		position: relative;
-		margin: -80rpx 20rpx 0 20rpx;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		width: 710rpx;
-		height: 221rpx;
-		background: #FFFFFF;
-		box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
-		border-radius: 20rpx;
-
-		.order {
-
-			width: 100%;
-			height: 80rpx;
-			padding: 0 35rpx;
-			border-bottom: #F5F5F5 solid 2rpx;
-
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
+.content-box {
+	height: 100%;
+}
 
+.vheigh {
+	height: var(--status-bar-height);
+	background-color: $base-color;
+}
 
+.cover-container {
+	background: $page-color-base;
 
-			.order-font {
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #333333;
+	padding: 0 20rpx;
+	position: relative;
+	background: #f5f5f5;
+	padding-bottom: 20rpx;
 
+	.arc {
+		position: absolute;
+		left: 0;
+		top: -34rpx;
+		width: 100%;
+		height: 36rpx;
+	}
+}
+
+.order-box {
+	position: relative;
+	margin: -80rpx 20rpx 0 20rpx;
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	width: 710rpx;
+	height: 221rpx;
+	background: #ffffff;
+	box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+
+	.order {
+		width: 100%;
+		height: 80rpx;
+		padding: 0 35rpx;
+		border-bottom: #f5f5f5 solid 2rpx;
 
-			}
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
 
-			image {
-				width: 12rpx;
-				height: 22rpx;
-			}
+		.order-font {
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
 		}
 
-		.order1 {
-			display: flex;
-			align-items: center;
-			height: 170rpx;
-
-			.order-content1 {
-				width: 25%;
-
+		image {
+			width: 12rpx;
+			height: 22rpx;
+		}
+	}
 
+	.order1 {
+		display: flex;
+		align-items: center;
+		height: 170rpx;
 
-				.order-item1 {
-					display: flex;
-					flex-direction: column;
+		.order-content1 {
+			width: 25%;
 
-					align-items: center;
+			.order-item1 {
+				display: flex;
+				flex-direction: column;
 
+				align-items: center;
 
-					.icon1 {
-						width: 42rpx;
-						height: 38rpx;
+				.icon1 {
+					width: 42rpx;
+					height: 38rpx;
 
-						.icon-img1 {
-							width: 100%;
-							height: 100%;
-						}
+					.icon-img1 {
+						width: 100%;
+						height: 100%;
 					}
+				}
 
-					text {
-						font-size: 24rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #333333;
-						line-height: 54rpx;
-					}
+				text {
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #333333;
+					line-height: 54rpx;
 				}
 			}
 		}
 	}
+}
 
+.item-box {
+	border-radius: 10rpx;
+	background-color: white;
+	margin-top: 20rpx;
 
+	.box-title {
+		line-height: 1;
+		padding: 20rpx;
 
-	.item-box {
-		border-radius: 10rpx;
-		background-color: white;
-		margin-top: 20rpx;
+		.title {
+			font-size: $font-lg;
+			font-weight: bold;
+		}
 
-		.box-title {
-			line-height: 1;
-			padding: 20rpx;
+		.link {
+			font-size: $font-base - 2rpx;
+			color: $font-color-light;
+		}
+	}
 
-			.title {
-				font-size: $font-lg;
-				font-weight: bold;
-			}
+	.order-section {
+		@extend %section;
+		padding: 28rpx 0;
 
-			.link {
-				font-size: $font-base - 2rpx;
-				color: $font-color-light;
-			}
+		.order-item {
+			@extend %flex-center;
+			width: 120rpx;
+			height: 120rpx;
+			border-radius: 10rpx;
+			font-size: $font-sm;
+			color: $font-color-dark;
 		}
 
-		.order-section {
-			@extend %section;
-			padding: 28rpx 0;
-
-			.order-item {
-				@extend %flex-center;
-				width: 120rpx;
-				height: 120rpx;
-				border-radius: 10rpx;
-				font-size: $font-sm;
-				color: $font-color-dark;
-			}
-
-			.iconfont {
-				font-size: 48rpx;
-				margin-bottom: 18rpx;
-				color: #fa436a;
-			}
+		.iconfont {
+			font-size: 48rpx;
+			margin-bottom: 18rpx;
+			color: #fa436a;
+		}
 
-			.icon-shouhoutuikuan {
-				font-size: 44rpx;
-			}
+		.icon-shouhoutuikuan {
+			font-size: 44rpx;
+		}
 
-			.icon {
-				height: 90rpx;
-				width: 90rpx;
-				margin-bottom: 18rpx;
-				background-size: 100%;
-				background-repeat: no-repeat;
-				background-position: center;
+		.icon {
+			height: 90rpx;
+			width: 90rpx;
+			margin-bottom: 18rpx;
+			background-size: 100%;
+			background-repeat: no-repeat;
+			background-position: center;
 
-				.icon-img {
-					width: 100%;
-					height: 100%;
-				}
+			.icon-img {
+				width: 100%;
+				height: 100%;
 			}
 		}
 	}
+}
 
-	.history-section {
-		// padding: 30rpx 0 0;
-		margin-top: 20rpx;
-		background: #fff;
-		border-radius: 10rpx;
+.history-section {
+	// padding: 30rpx 0 0;
+	margin-top: 20rpx;
+	background: #fff;
+	border-radius: 10rpx;
 
-		.sec-header {
-			display: flex;
-			align-items: center;
-			font-size: $font-base;
-			color: $font-color-dark;
+	.sec-header {
+		display: flex;
+		align-items: center;
+		font-size: $font-base;
+		color: $font-color-dark;
+		line-height: 40rpx;
+		margin-left: 30rpx;
+		padding-top: 30rpx;
+
+		.iconfont {
+			font-size: 44rpx;
+			color: $color-red;
+			margin-right: 16rpx;
 			line-height: 40rpx;
-			margin-left: 30rpx;
-			padding-top: 30rpx;
-
-			.iconfont {
-				font-size: 44rpx;
-				color: $color-red;
-				margin-right: 16rpx;
-				line-height: 40rpx;
-			}
 		}
+	}
 
-		.h-list {
-			white-space: nowrap;
-			padding: 30rpx 30rpx 0;
+	.h-list {
+		white-space: nowrap;
+		padding: 30rpx 30rpx 0;
 
-			.h-list-image {
-				display: inline-block;
-				width: 160rpx;
-				height: 160rpx;
-				margin-right: 20rpx;
-				border-radius: 10rpx;
-			}
+		.h-list-image {
+			display: inline-block;
+			width: 160rpx;
+			height: 160rpx;
+			margin-right: 20rpx;
+			border-radius: 10rpx;
 		}
 	}
+}
 </style>

+ 31 - 11
utils/newRequest.js

@@ -1,4 +1,4 @@
-import store from '../store'
+import store from '../store';
 import md5 from 'js-md5'
 let service = {
 	baseURL: store.state.baseURL, // 请求头
@@ -44,18 +44,26 @@ let service = {
 	open: async function(data) {
 		return await new Promise(function(resolve, reject) {
 			let requestData = ''; //保存处理完成后请求数据
+			let url =''//保存链接地址
+			//console.log(data);
 			// 请求前数据处理
 			requestData = service.request.success(data);
-			// 数据复制用于请求
-			let url = '';
-			if (requestData.url.indexOf('http') > -1) {
-				url = requestData.url
-			} else {
-				url = service.baseURL + requestData.url
+			// #ifdef H5
+			
+			if(process.env.NODE_ENV === 'development'){
+				url= requestData.url;
+			    console.log('开发环境')
+			}else{
+				url=service.baseURL + requestData.url;
+			    console.log('生产环境')
 			}
+			// #endif
+			// #ifndef H5
+			url=service.baseURL + requestData.url;
+			// #endif
 			// 数据复制用于请求
 			uni.request({
-				url,
+				url:url,
 				method: requestData.method || 'GET',
 				data: requestData.data,
 				header: data.header || service.header,
@@ -80,6 +88,7 @@ let service = {
 	upFilse: async function(data) {
 		return await new Promise(function(resolve, reject) {
 			let requestData = ''; //保存处理完成后请求数据
+			let url = '' //保存请求地址
 			try {
 				// 请求前数据处理
 				requestData = service.request.success(data);
@@ -87,9 +96,21 @@ let service = {
 				// 请求报错拦截
 				service.request.error(e);
 			}
+			// #ifdef H5
+			if(process.env.NODE_ENV === 'development'){
+				url= requestData.url;
+			    console.log('开发环境')
+			}else{
+				url=service.baseURL + requestData.url;
+			    console.log('生产环境')
+			}
+			// #endif
+			// #ifndef H5
+			url=service.baseURL + requestData.url;
+			// #endif
 			let config = {
 				// 上传图片的API
-				upload_img_url: service.baseURL + requestData.url
+				upload_img_url:url
 			}
 
 			let Uploader = {
@@ -98,8 +119,6 @@ let service = {
 					return new Promise((resolve, reject) => {
 						uni.chooseImage({
 							count: num,
-							sourceType:['album'],
-							sizeType:'compressed',
 							success(res) {
 								// console.log(res);
 								// 缓存文件路径
@@ -111,6 +130,7 @@ let service = {
 							}
 						})
 					})
+
 				},
 				// 上传图片
 				upload_one(path) {