Browse Source

2023-8-14

hwq 1 year ago
parent
commit
3b00beb8e8
100 changed files with 2653 additions and 4503 deletions
  1. 190 165
      components/payment.vue
  2. 65 105
      components/show-result.vue
  3. 93 99
      components/u-parse/u-parse.vue
  4. 243 0
      components/uni-popup/uni-popup-dialog.vue
  5. 116 0
      components/uni-popup/uni-popup-message.vue
  6. 263 0
      components/uni-popup/uni-popup-ori.vue
  7. 282 0
      components/uni-popup/uni-popup-share.vue
  8. 263 0
      components/uni-popup/uni-popup.vue
  9. 279 0
      components/uni-transition/uni-transition.vue
  10. 18 11
      manifest.json
  11. 0 461
      pages - 副本.json
  12. 0 71
      pages.json
  13. 5 5
      pages/index/details.vue
  14. 0 153
      pages/index/newBox.vue
  15. 0 157
      pages/index/recommend.vue
  16. 0 182
      pages/index/service.vue
  17. 2 2
      pages/login/login.vue
  18. 14 4
      pages/login/register.vue
  19. 196 201
      pages/me/addSite.vue
  20. 67 71
      pages/me/address.vue
  21. 26 35
      pages/me/balance.vue
  22. 0 78
      pages/me/carpassList/carpassList.vue
  23. 69 72
      pages/me/coll.vue
  24. 0 169
      pages/me/goldDeposit.vue
  25. 0 443
      pages/me/myBox.vue
  26. 51 51
      pages/me/order-details.vue
  27. 81 84
      pages/me/order.vue
  28. 0 96
      pages/me/out.vue
  29. 0 96
      pages/me/passwordRecharge/passwordRecharge.vue
  30. 45 85
      pages/me/recharge.vue
  31. 46 49
      pages/me/record.vue
  32. 104 17
      pages/me/set.vue
  33. 29 29
      pages/me/wallet.vue
  34. 58 114
      pages/tabbar/index.vue
  35. 15 32
      pages/tabbar/me.vue
  36. 6 5
      pages/tabbar/shai.vue
  37. 0 31
      pagesA/pages/bannerMessage.vue
  38. 0 1288
      pagesA/pages/camera.vue
  39. 25 40
      pagesB/pages/server.vue
  40. BIN
      unpackage/cache/apk/__UNI__ED94684_cm.apk
  41. 1 1
      unpackage/cache/apk/apkurl
  42. 0 0
      unpackage/cache/apk/cmManifestCache.json
  43. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/apple-mobileprovision.mobileprovision
  44. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/apple-private.p12
  45. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/appstore.png
  46. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-app.png
  47. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-app@2x.png
  48. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-notification.png
  49. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-notification@2x.png
  50. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-proapp@2x.png
  51. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-settings.png
  52. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-settings@2x.png
  53. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-spotlight.png
  54. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-spotlight@2x.png
  55. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-app@2x.png
  56. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-app@3x.png
  57. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-notification@2x.png
  58. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-notification@3x.png
  59. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-settings@2x.png
  60. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-settings@3x.png
  61. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-spotlight@2x.png
  62. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-spotlight@3x.png
  63. BIN
      unpackage/cache/wgt/__UNI__ED94684/.manifest/storyboard-ios.zip
  64. 0 0
      unpackage/cache/wgt/__UNI__ED94684/__uniapppicker.js
  65. 0 0
      unpackage/cache/wgt/__UNI__ED94684/app-config-service.js
  66. 0 0
      unpackage/cache/wgt/__UNI__ED94684/app-service.js
  67. 0 0
      unpackage/cache/wgt/__UNI__ED94684/app-view.js
  68. 0 0
      unpackage/cache/wgt/__UNI__ED94684/manifest.json
  69. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/dizhi@2x.png
  70. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/fenxiang@2x.png
  71. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/hegui@2x.png
  72. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/jilu.png
  73. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/kf1.png
  74. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/shezhi@2x.png
  75. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/shoucang@2x.png
  76. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/me/yue@2x.png
  77. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/new_home/khan.png
  78. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/fenleixuanzhong@2x.png
  79. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/fenleixuanzhong@2x1.png
  80. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/shouyexuanzhong@2x.png
  81. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/tj.png
  82. BIN
      unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/wodeyixuanzhong@2x1.png
  83. 0 0
      unpackage/cache/wgt/__UNI__ED94684/view.css
  84. 0 0
      unpackage/cache/wgt/__UNI__ED94684/view.umd.min.js
  85. 0 0
      unpackage/dist/build/app-plus/app-config-service.js
  86. 0 0
      unpackage/dist/build/app-plus/app-service.js
  87. 0 0
      unpackage/dist/build/app-plus/app-view.js
  88. 0 0
      unpackage/dist/build/app-plus/manifest.json
  89. BIN
      unpackage/dist/build/h5/h5.rar
  90. 1 1
      unpackage/dist/build/h5/index.html
  91. BIN
      unpackage/dist/build/h5/static/image/me/dizhi@2x.png
  92. BIN
      unpackage/dist/build/h5/static/image/me/fenxiang@2x.png
  93. BIN
      unpackage/dist/build/h5/static/image/me/hegui@2x.png
  94. BIN
      unpackage/dist/build/h5/static/image/me/jilu.png
  95. BIN
      unpackage/dist/build/h5/static/image/me/kf1.png
  96. BIN
      unpackage/dist/build/h5/static/image/me/shezhi@2x.png
  97. BIN
      unpackage/dist/build/h5/static/image/me/shoucang@2x.png
  98. BIN
      unpackage/dist/build/h5/static/image/me/yue@2x.png
  99. BIN
      unpackage/dist/build/h5/static/image/new_home/khan.png
  100. BIN
      unpackage/dist/build/h5/static/image/tabbar/fenleixuanzhong@2x.png

+ 190 - 165
components/payment.vue

@@ -1,206 +1,232 @@
 <template>
 	<uni-popup ref="popup" type="bottom" :mask-click="false">
-		<view class="pay">
-		<view class="pay_close" @click="$refs.popup.close()">
-			<image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image>
-		</view>
-		<view class="pay_head">支付</view>
-			<view class="pay_shop flexs">
-				<view class="pay_shop_img">
-					<view class="pay_shop_img_top">
-						<view class="pay_shop_img_left">
-							<image :src="boxMessage.image" mode="aspectFill"></image>
-						</view>
-						<view class="pay_shop_img_right">
-							<image :src="item" mode="aspectFill" v-for="(item,index) in boxMessage.right" :key="index"></image>
-						</view>
-					</view>
-					<view class="pay_shop_img_bot">
-						<image :src="item" mode="aspectFill" v-for="(item,index) in boxMessage.bot" :key="index"></image>
+		<view class="zhifu">
+			<view class="zhifu-closebtn" @click="$refs.popup.close()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
+			<view class="zhifu-font">支付</view>
+			<view class="zhifu-main flexs">
+				<view class="zhifu-main-bg">
+					<view class="zhifu-main-top">
+						<view class="zhifu-main-topLeft"><image :src="boxMessage.image" mode="aspectFill"></image></view>
+						<view class="zhifu-main-topRight"><image :src="item" mode="aspectFill" v-for="(item, index) in boxMessage.right" :key="index"></image></view>
 					</view>
+					<view class="zhifu-main-topBot"><image :src="item" mode="aspectFill" v-for="(item, index) in boxMessage.bot" :key="index"></image></view>
 				</view>
-				<view class="pay_shop_main">
-					<view class="pay_shop_name">{{ boxMessage.box_name }}</view>
-					<view class="pay_shop_price flex">
-						<view class="pay_shop_price_l">{{ boxMessage.coin_amount }}金币</view>
-						<view class="pay_shop_price_btn center" v-if="boxMessage.coin_not_enough">金额不足</view>
+				<view class="zhifu-main-info">
+					<view class="zhifu-info-name">{{ boxMessage.box_name }}</view>
+					<view class="zhifu-info-money-box flex">
+						<view class="zhifu-info-jb">{{ boxMessage.coin_amount }}金币</view>
+						<view class="zhifu-info-yuee center" v-if="boxMessage.coin_not_enough">金额不足</view>
 					</view>
-
 				</view>
 			</view>
-			<view class="pay_attention">{{ boxMessage.notice }}</view>
-			<view class="pay_contant flexs">
-				<image @click="isConsent = !isConsent" :src="isConsent ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/publice/weixuanzhong1@2x.png' " mode=""></image>
-				<text @click="goBuyer">我已阅读并同意《喵喵开盒买家须知》</text>
+			<view class="zhifu-tip">{{ boxMessage.notice }}</view>
+			<view class="zhifu-xieyi flexs">
+				<image @click="isConsent = !isConsent" :src="isConsent ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/publice/weixuanzhong1@2x.png'" mode=""></image>
+				<text @click="goBuyer">
+					我已阅读并同意
+					<text style="color:#ff2947;">《喵喵开盒买家须知》</text>
+				</text>
 			</view>
-			<view class="pay_ul flex">
-				<button class="pay_gold" @click="goldPay" v-if="!boxMessage.coin_not_enough" hover-class="hover-view" :disabled="!payFlag">金币支付</button>
-				<button v-else class="pay_ul_btn" @click="recharge()" hover-class="hover-view">立即充值</button>
-				<!--button class="pay_ul_btn" @click="patternIndex(index)" hover-class="hover-view" v-for="(item,index) in 2" :key="index">{{ index == 0 ? '微信支付'+ boxMessage.rmb_amount +'金币' : '支付宝支付'+ boxMessage.rmb_amount +'金币' }}</button-->
-				<button class="pay_ul_btn" @click="balance()" hover-class="hover-view">余额支付</button>
-				<!-- <button class="pay_ul_btn" @click="cashPay()" hover-class="hover-view">现金支付</button> -->
+			<view class="zhifu-btn-box flex">
+				<button class="zhifu-btn-jb" @click="goldPay" v-if="!boxMessage.coin_not_enough" hover-class="hover-view" :disabled="!payFlag">金币支付</button>
+				<button v-else class="zhifu-btn-yuee" @click="recharge()" hover-class="hover-view">立即充值</button>
+				<button class="zhifu-btn-yuee" @click="balance()" hover-class="hover-view">余额支付</button>
 			</view>
 		</view>
 	</uni-popup>
 </template>
 
 <script>
-	export default {
-		name:"payment",
-		props:{
-			//盒子id
-			boxId: Number,
-			//支付页面
-			payPage: String
+export default {
+	name: 'payment',
+	props: {
+		//盒子id
+		boxId: Number,
+		//支付页面
+		payPage: String
+	},
+	data() {
+		return {
+			isConsent: false, //是否同意
+			boxMessage: {}, //盒子详情
+			payFlag: true, //支付锁 防止重复点击
+			payUrls: {} //支付链接
+		};
+	},
+	methods: {
+		/**
+		 * 打开页面
+		 *
+		 * @param {Object} type 开盒类型 1:试玩 其他:正式开盒
+		 * @param {Object} num 数量 1 5 9
+		 */
+		open(type, num) {
+			this.isConsent = false;
+			this.$api[type == 1 ? 'haveATry' : 'createOrder']({
+				box_id: this.boxId,
+				num: num,
+				msg: type == 1 ? '试玩' : '创建订单中'
+			}).then(({ code, data }) => {
+				if (code === 1) {
+					//创建订单成功
+					if (type != 1) {
+						//缓存订单id
+						uni.setStorageSync('order_id', data.order_id);
+						//正式开盒
+						this.$emit('success');
+						data.right = [];
+						data.bot = [];
+						data.image = data.images[0];
+						data.images.forEach((item, index) => {
+							if (index > 0 && index < 3) {
+								data.right.push(item);
+							}
+							if (index > 2) {
+								data.bot.push(item);
+							}
+						});
+						console.log(data, '订单信息');
+						this.boxMessage = data;
+						//支付链接
+						this.payUrls.alipay = data.alipay;
+						this.payUrls.wechat = data.wechat;
+						this.$refs.popup.open();
+					} else {
+						//返回结果
+						this.$emit('fail', data);
+					}
+				}
+			});
 		},
-		data() {
-			return {
-				isConsent: true,//是否同意
-				boxMessage: {} ,//盒子详情
-				payFlag: true, //支付锁 防止重复点击
-				payUrls: {}//支付链接
-			};
+		//买家须知
+		goBuyer() {
+			uni.navigateTo({ url: '/pagesA/pages/buyer' });
 		},
-		methods: {
-			/**
-			 * 打开页面
-			 * 
-			 * @param {Object} type 开盒类型 1:试玩 其他:正式开盒
-			 * @param {Object} num 数量 1 5 9
-			 */
-			open (type, num){
-				this.isConsent = true
-				this.$api[type == 1 ? 'haveATry' : 'createOrder']({
-					box_id: this.boxId,
-					num: num,
-					msg: type == 1 ? '试玩' : '创建订单中',
-				}).then( ({code, data}) => {
-					if (code === 1) {
-						//创建订单成功
-						if (type != 1) {
-							//缓存订单id
-							uni.setStorageSync('order_id', data.order_id)
-							//正式开盒
-							this.$emit("create-success")
-							data.right = []
-							data.bot = []
-							data.image = data.images[0]
-							data.images.forEach((item,index)=>{
-								if (index > 0 && index < 3) {
-									data.right.push(item)
-								}
-								if (index > 2) {
-									data.bot.push(item)
-								}
-							})
-							this.boxMessage = data
-							//支付链接
-							this.payUrls.alipay = data.alipay
-							this.payUrls.wechat = data.wechat
-							this.$refs.popup.open()
-						} else {
-							//返回结果
-							this.$emit("show-result", data)
-						}
-					}
-				})
-			},
-			//买家须知
-			goBuyer () {
-				uni.navigateTo({url:'/pagesA/pages/buyer'})
-			},
-			//金币支付
-			goldPay () {
-				if (!this.isConsent) return uni.showToast({title:'请阅读并勾选买家须知',icon:'none'})
-				if (!this.payFlag) return
-				this.payFlag = false
-				//访问后台支付
-				this.$api.coinPay({order_id: this.boxMessage.order_id}).then(({code, data}) => {
-					//解除支付锁
-					this.payFlag = true
-					if (code === 1) {
-						//关闭弹窗
-						this.$refs.popup.close()
-						//返回结果
-						this.$emit("show-result", data.prize)
+		//金币支付
+		goldPay() {
+			const obj = this;
+			if (!this.isConsent) return uni.showToast({ title: '请阅读并勾选买家须知', icon: 'none' });
+			if (!this.payFlag) return;
+			this.payFlag = false;
+			uni.showModal({
+				title: '提示',
+				content: '商品抽奖存在概率性,付费请谨慎,是否确认付费',
+				success: function(res) {
+					if (res.confirm) {
+						console.log(obj.$api.coinPay, '123456');
+						//访问后台支付
+						obj.$api.coinPay({ order_id: obj.boxMessage.order_id }).then(({ code, data }) => {
+							//解除支付锁
+							obj.payFlag = true;
+							if (code === 1) {
+								//关闭弹窗
+								obj.$refs.popup.close();
+								//返回结果
+								obj.$emit('show-result', data.prize);
+							}
+						});
+					} else if (res.cancel) {
+						console.log('用户点击取消');
 					}
-				})
-			},
-			//余额支付
-			balance () {
-				if (!this.isConsent) return uni.showToast({title:'请阅读并勾选买家须知',icon:'none'})
-				if (!this.payFlag) return
-				this.payFlag = false
-				//访问后台支付
-				this.$api.cmoneyPay({order_id: this.boxMessage.order_id}).then(({code, data}) => {
-					//解除支付锁
-					this.payFlag = true
-					if (code === 1) {
-						//关闭弹窗
-						this.$refs.popup.close()
-						//返回结果
-						this.$emit("show-result", data.prize)
+				}
+			});
+		},
+		//余额支付
+		balance() {
+			const obj = this;
+			if (!this.isConsent) return uni.showToast({ title: '请阅读并勾选买家须知', icon: 'none' });
+			if (!this.payFlag) return;
+			this.payFlag = false;
+			uni.showModal({
+				title: '提示',
+				content: '商品抽奖存在概率性,付费请谨慎,是否确认付费',
+				success: function(res) {
+					if (res.confirm) {
+						//访问后台支付
+						obj.$api.cmoneyPay({ order_id: obj.boxMessage.order_id }).then(({ code, data }) => {
+							//解除支付锁
+							obj.payFlag = true;
+							if (code === 1) {
+								//关闭弹窗
+								obj.$refs.popup.close();
+								//返回结果
+								obj.$emit('show-result', data.prize);
+							}
+						});
+					} else if (res.cancel) {
+						console.log('用户点击取消');
 					}
-				})
-			},
-			//去充值
-			recharge () {
-				if (!this.isConsent) return uni.showToast({title:'请阅读并勾选买家须知',icon:'none'})
-				uni.navigateTo({url:'/pages/me/recharge'})
-			},
-			//现金支付
-			cashPay(){
-				if (!this.isConsent) return uni.showToast({title:'请阅读并勾选买家须知',icon:'none'})
-				if (!this.payFlag) return
-				this.payFlag = false
-				uni.navigateTo({
-					url:`/pages/tabbar/cashPay/cashPay?alipay=${this.payUrls.alipay}&wechat=${this.payUrls.wechat}&payPage=${this.payPage}`,
-					complete: () => {
-						this.payFlag = true
+				}
+			});
+		},
+		//去充值
+		recharge() {
+			if (!this.isConsent) return uni.showToast({ title: '请阅读并勾选买家须知', icon: 'none' });
+			uni.navigateTo({ url: '/pages/me/recharge' });
+		},
+		//现金支付
+		cashPay() {
+			const obj = this;
+			if (!this.isConsent) return uni.showToast({ title: '请阅读并勾选买家须知', icon: 'none' });
+			if (!this.payFlag) return;
+			this.payFlag = false;
+			uni.showModal({
+				title: '提示',
+				content: '商品抽奖存在概率性,付费请谨慎,是否确认付费',
+				success: function(res) {
+					if (res.confirm) {
+						uni.navigateTo({
+							url: `/pages/tabbar/cashPay/cashPay?alipay=${obj.payUrls.alipay}&wechat=${obj.payUrls.wechat}&payPage=${obj.payPage}`,
+							complete: () => {
+								obj.payFlag = true;
+							}
+						});
+					} else if (res.cancel) {
+						console.log('用户点击取消');
 					}
-				})
-			}
+				}
+			});
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-.pay {
-	background: #FFFFFF;
+.zhifu {
+	background: #ffffff;
 	border-radius: 20rpx 20rpx 0rpx 0rpx;
 	padding: 0 50rpx 32rpx 50rpx;
 	position: relative;
-	.pay_close {
+	.zhifu-closebtn {
 		top: 30rpx;
 		right: 30rpx;
 		width: 44rpx;
 		height: 44rpx;
 		position: absolute;
 	}
-	.pay_head {
+	.zhifu-font {
 		text-align: center;
 		font-size: 30rpx;
 		font-weight: bold;
 		padding: 40rpx 0 50rpx 0;
 	}
-	.pay_shop {
-		
+	.zhifu-main {
 		margin-bottom: 40rpx;
-		.pay_shop_main {
+		.zhifu-main-info {
 			display: flex;
 			flex: 1;
 			height: 200rpx;
 			flex-direction: column;
 			justify-content: space-around;
 		}
-		.pay_shop_img {
+		.zhifu-main-bg {
 			width: 200rpx;
 			height: 200rpx;
 			padding: 12rpx;
-			.pay_shop_img_top {
+			.zhifu-main-top {
 				display: flex;
 				margin-bottom: 12rpx;
-				.pay_shop_img_left {
+				.zhifu-main-topLeft {
 					image {
 						width: 114rpx;
 						height: 114rpx;
@@ -208,7 +234,7 @@
 					}
 					margin-right: 12rpx;
 				}
-				.pay_shop_img_right {
+				.zhifu-main-topRight {
 					image {
 						width: 51rpx;
 						height: 51rpx;
@@ -219,7 +245,7 @@
 					}
 				}
 			}
-			.pay_shop_img_bot {
+			.zhifu-main-topBot {
 				display: flex;
 				justify-content: flex-end;
 				image {
@@ -234,27 +260,27 @@
 			}
 			margin-right: 30rpx;
 		}
-		.pay_shop_name {
+		.zhifu-info-name {
 			font-size: 28rpx;
 		}
-		.pay_shop_price_l {
-			color: #CF271B;
+		.zhifu-info-jb {
+			color: #cf271b;
 			font-size: 30rpx;
 		}
-		.pay_shop_price_btn {
+		.zhifu-info-yuee {
 			width: 183rpx;
 			height: 50rpx;
-			color: #FA7E48;
+			color: #fa7e48;
 			font-size: 30rpx;
 			font-weight: bold;
 			background: rgba(246, 175, 50, 0.5);
 			border-radius: 25rpx;
 		}
 	}
-	.pay_attention {
+	.zhifu-tip {
 		color: #666666;
 	}
-	.pay_contant {
+	.zhifu-xieyi {
 		margin: 24rpx 0 59rpx 0;
 		image {
 			width: 32rpx;
@@ -265,14 +291,14 @@
 			font-size: 26rpx;
 		}
 	}
-	.pay_gold {
+	.zhifu-btn-jb {
 		width: 310rpx;
 		height: 78rpx;
 		font-size: 26rpx;
 		background: -webkit-linear-gradient(60deg, #ffc8de 0%, #ff67a4 100%);
 		border-radius: 39rpx;
 	}
-	.pay_ul_btn {
+	.zhifu-btn-yuee {
 		width: 310rpx;
 		height: 78rpx;
 		font-size: 26rpx;
@@ -283,5 +309,4 @@
 		}
 	}
 }
-
 </style>

+ 65 - 105
components/show-result.vue

@@ -1,55 +1,49 @@
 <template>
-	<uni-popup class="result-popup-main" ref="prize" mode="top" :mask="false">
-		<view class="result-popup">
-			<view :class="['prize', explode && 'show']">
-				<view class="prize_box">
-					<view class="prize_close" @click="close()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
-					<!-- 					<view class="prize-top" :class="`prize-top-${mode}`">
-						<image src="/static/image/result/gaizi@2x.png" mode="aspectFit"></image>
-					</view -->
+	<uni-popup class="cartoon-main" ref="prize" mode="top" :mask="false">
+		<view class="cartoon">
+			<view :class="['payMoney', explode && 'xianshi']">
+				<view class="payMoneyBox">
+					<view class="close-btn" @click="payclose()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
 					>
 					<!-- 1开 -->
-					<view :class="['prize_shop', 'center', 'onebox', 'tag-' + tag, scale && 'prize_shop_scale']" v-if="mode == 0">
-						<view class="spining"></view>
-						<view class="left-top-tag">
-							<image class="tag-img" :src="tagImg" mode="aspectFit"></image>
-							<text class="tag-text">{{ tagText }}</text>
+					<view :class="['money-buniss', 'center', 'buy1', 'tag-' + tag, scale && 'money-buniss-balance']" v-if="mode == 0">
+						<view class="xuanzhuan"></view>
+						<view class="applybc">
+							<image class="xuanzhuanBg" :src="tagImg" mode="aspectFit"></image>
+							<text class="xuanzhuanFont">{{ tagText }}</text>
 						</view>
-						<image class="one" v-if="prizedata && prizedata.prizeInfo" :src="prizedata.prizeInfo[0].image" mode="widthFix"></image>
-						<text class="colorblack" v-if="prizedata && prizedata.prizeInfo">{{ prizedata.prizeInfo[0].goods_name }}</text>
-						<text class="colorblack" v-if="prizedata && prizedata.prizeInfo">¥{{ prizedata.prizeInfo[0].coin_price }}</text>
+						<image class="onlyone" v-if="prizedata && prizedata.prizeInfo" :src="prizedata.prizeInfo[0].image" mode="widthFix"></image>
+						<text class="box-font" v-if="prizedata && prizedata.prizeInfo">{{ prizedata.prizeInfo[0].goods_name }}</text>
+						<text class="box-font" v-if="prizedata && prizedata.prizeInfo">¥{{ prizedata.prizeInfo[0].coin_price }}</text>
 					</view>
 					<!-- 5开or10开 -->
-					<view class="prize_ul" :class="'prize_ul-' + mode" v-else>
-						<!-- <scroll-view scroll-x="true" class="scroll-view"> -->
-						<view :class="['prize_ul_li', 'twobox', 'flex', 'tag-' + tagFun(item)]" v-for="(item, index) in prizedata.prizeInfo" :key="index">
-							<view class="left-top-tag">
-								<image class="tag-img" :src="tagImgFun(item)" mode="aspectFit"></image>
-								<text class="tag-text">{{ tagTextFun(item) }}</text>
+					<view class="money-list" :class="'money-list-' + mode" v-else>
+						<view :class="['money-list-item', 'buy2', 'flex', 'tag-' + tagFun(item)]" v-for="(item, index) in prizedata.prizeInfo" :key="index">
+							<view class="applybc">
+								<image class="xuanzhuanBg" :src="tagImgFun(item)" mode="aspectFit"></image>
+								<text class="xuanzhuanFont">{{ tagTextFun(item) }}</text>
 							</view>
-							<image class="two" :src="item.image" mode="widthFix"></image>
-							<view class="a">{{ item.goods_name }}</view>
-							<view class="price">¥{{ item.coin_price }}</view>
+							<image class="hengduo" :src="item.image" mode="widthFix"></image>
+							<view class="name">{{ item.goods_name }}</view>
+							<view class="money">¥{{ item.coin_price }}</view>
 						</view>
-						<!-- </scroll-view> -->
 					</view>
-					<view class="prize_footer" :class="'prize_footer-' + mode" v-if="type == 0">
+					<view class="money-btnBox" :class="'money-btnBox-' + mode" v-if="type == 0">
 						<!-- 立即收下 -->
-						<view class="btn btn-1" @click="$emit('accept')">立即收下</view>
+						<view class="money-btn goumai" @click="shouxia()">立即收下</view>
 						<!-- 一键回收 -->
-						<view class="btn btn-0" @click="recycle()">一键回收</view>
+						<view class="money-btn huishou" @click="huishou()">一键回收</view>
 					</view>
-					<view class="shiwan center" v-else>试玩结果仅供展示哦~</view>
+					<view class="tryplay center" v-else>试玩结果仅供展示哦~</view>
 				</view>
 			</view>
-			<view v-show="!hide" class="loading-mask" @click="showAnimation">
-				<view :class="['animation-wrapper', explode && 'explode']">
+			<view v-show="!hide" class="donghua" @click="showAnimation">
+				<view :class="['donghua-box', explode && 'explode']">
 					<view :animation="boxAnimation"><image :src="boxImg" mode="heightFix" class="box"></image></view>
 					<image src="https://www.chaomangdao.com/image/result/halo.png" mode="heightFix" class="halo"></image>
 				</view>
 				<view class="shouzhi" v-if="!isopen"><image src="https://www.chaomangdao.com/image/ss.gif" mode=""></image></view>
 			</view>
-			<audio id="result-audio" src="https://www.chaomangdao.com/image/result/1.mp3"></audio>
 		</view>
 	</uni-popup>
 </template>
@@ -167,8 +161,6 @@ export default {
 		},
 		open(prizedata) {
 			prizedata.boxImg && (this.boxImg = prizedata.boxImg);
-			//播放音乐
-			// this.startAudio();
 			//打开结果
 			this.$refs.prize.open();
 			//加载动画
@@ -177,13 +169,6 @@ export default {
 			// 	this.showAnimation();
 			// });
 		},
-		//播放音乐
-		startAudio() {
-			setTimeout(() => {
-				let audio = document.getElementById('result-audio').querySelector('audio');
-				audio.play();
-			});
-		},
 		showAnimation() {
 			this.isopen = true;
 			let animation = uni.createAnimation();
@@ -222,7 +207,7 @@ export default {
 			}, 1300);
 		},
 		//关闭
-		close() {
+		payclose() {
 			this.animationTime = 0;
 			this.explode = false;
 			this.hide = false;
@@ -267,7 +252,11 @@ export default {
 				return 'https://www.chaomangdao.com/image/tag-4.png';
 			}
 		},
-		recycle() {
+		shouxia() {
+			this.$refs.prize.close();
+			this.$emit('accept');
+		},
+		huishou() {
 			this.$refs.prize.close();
 			uni.showModal({
 				cancelText: '取消',
@@ -281,39 +270,28 @@ export default {
 				}
 			});
 		}
-	},
-	created() {
-		// let animation = uni.createAnimation();
-		// this.animationTime = 0;
-		// this.animationTime += shake(animation);
-		// this.animationTime += compress(animation);
-		// this.animationTime += jump(animation);
-		// this.animation = animation;
-	},
-	destroyed() {
-		console.log(111);
 	}
 };
 </script>
 
 <style lang="scss">
-.onebox {
+.buy1 {
 	height: 372rpx;
 	width: 352rpx;
 	border-radius: 26rpx;
 	background-color: #fff;
 }
 
-.twobox {
+.buy2 {
 	width: 176rpx;
 	border-radius: 13rpx;
 	background-color: #fff;
 }
 
-.result-popup-main {
+.cartoon-main {
 	z-index: 9999;
 
-	.result-popup {
+	.cartoon {
 		background-image: url('https://www.chaomangdao.com/image/kjbg.jpg');
 		position: fixed;
 		bottom: 0;
@@ -323,7 +301,7 @@ export default {
 	}
 }
 
-.prize {
+.payMoney {
 	transform: scale(0);
 	opacity: 0;
 	transition: 0.2s;
@@ -332,12 +310,12 @@ export default {
 	display: flex;
 	justify-content: center;
 
-	&.show {
+	&.xianshi {
 		transform: scale(1);
 		opacity: 1;
 	}
 
-	.prize_box {
+	.payMoneyBox {
 		width: 100%;
 		height: 1120rpx;
 		position: relative;
@@ -347,7 +325,7 @@ export default {
 		background-position: top;
 		background-repeat: no-repeat;
 
-		.prize_close {
+		.close-btn {
 			width: 64rpx;
 			height: 64rpx;
 			top: 280rpx;
@@ -368,20 +346,20 @@ export default {
 			}
 		}
 
-		.prize_footer {
+		.money-btnBox {
 			width: 100%;
 
 			&-2 {
 				bottom: -200rpx;
 			}
 
-			.btn {
+			.money-btn {
 				height: 84rpx;
 				border-radius: 16rpx;
 				position: absolute;
 			}
 
-			.btn-1 {
+			.goumai {
 				bottom: 0rpx;
 				background-image: -webkit-linear-gradient(0deg, #89f7fe 0%, #66a6ff 100%);
 				font-size: 38rpx;
@@ -395,7 +373,7 @@ export default {
 				font-weight: bold;
 			}
 
-			.btn-0 {
+			.huishou {
 				bottom: 0rpx;
 				background-image: -webkit-linear-gradient(60deg, #ffc8de 0%, #ff67a4 100%);
 				font-size: 38rpx;
@@ -409,12 +387,12 @@ export default {
 		}
 	}
 
-	.shiwan {
+	.tryplay {
 		background: url(https://www.chaomangdao.com/image/open/tanchuangbeijing@2x.png) no-repeat;
 		background-size: cover;
 	}
 
-	.prize_ul {
+	.money-list {
 		width: 566rpx;
 		// padding: 0 92rpx;
 		display: flex;
@@ -437,7 +415,7 @@ export default {
 	// .scroll-view {
 	// 	width: 522rpx;
 	// 	white-space:nowrap;
-	.prize_ul_li {
+	.money-list-item {
 		margin-bottom: 16rpx;
 		position: relative;
 		width: 176rpx;
@@ -450,12 +428,12 @@ export default {
 		// margin-right: 20rpx;
 		box-sizing: border-box;
 
-		.two {
+		.hengduo {
 			width: 176rpx;
 			height: 176rpx;
 		}
 
-		.a {
+		.name {
 			font-size: 24rpx;
 			// font-family: PingFangSC-Medium, PingFang SC;
 			font-weight: 500;
@@ -466,14 +444,14 @@ export default {
 			text-overflow: ellipsis;
 		}
 
-		.price {
+		.money {
 			margin-top: 6rpx;
 			font-size: 24rpx;
 			font-weight: 500;
 			color: #171a20;
 		}
 
-		.left-top-tag {
+		.applybc {
 			position: absolute;
 			top: 0;
 			left: 0;
@@ -481,12 +459,12 @@ export default {
 			width: 3rem;
 			height: 3rem;
 
-			.tag-img {
+			.xuanzhuanBg {
 				width: 100%;
 				height: 100%;
 			}
 
-			.tag-text {
+			.xuanzhuanFont {
 				font-size: 0.6rem !important;
 				position: absolute;
 				position: absolute;
@@ -500,7 +478,7 @@ export default {
 	}
 
 	// }
-	.prize_shop {
+	.money-buniss {
 		transition: 1s;
 		position: absolute;
 		top: 336rpx;
@@ -508,7 +486,7 @@ export default {
 		display: flex;
 		flex-direction: column;
 
-		.spining {
+		.xuanzhuan {
 			z-index: -1;
 			height: 150vh;
 			width: 150vh;
@@ -536,14 +514,14 @@ export default {
 			text-align: center;
 		}
 
-		.colorblack {
+		.box-font {
 			font-size: 32rpx !important;
 			font-family: PingFangSC-Medium, PingFang SC;
 			font-weight: 500;
 			color: #171a20;
 		}
 
-		.left-top-tag {
+		.applybc {
 			position: absolute;
 			top: -2rpx;
 			left: -2rpx;
@@ -551,12 +529,12 @@ export default {
 			width: 5rem;
 			height: 5rem;
 
-			.tag-img {
+			.xuanzhuanBg {
 				width: 100%;
 				height: 100%;
 			}
 
-			.tag-text {
+			.xuanzhuanFont {
 				font-size: 1rem;
 				position: absolute;
 				top: 30%;
@@ -584,7 +562,7 @@ export default {
 		box-shadow: 0 0 40rpx 32rpx #fe615e;
 	}
 
-	.shiwan {
+	.tryplay {
 		width: 399rpx;
 		height: 48rpx;
 		color: #ffffff;
@@ -595,29 +573,11 @@ export default {
 	}
 }
 
-// .left-top-tag {
-// 	z-index: 999999;
-// 	position: absolute;
-// 	left: -2px;
-// 	top: -3px;
-// 	.tag-img {
-// 		height: 100% !important;
-// 		width: 100% !important;
-// 	}
-// 	.tag-text {
-// 		position: absolute;
-// 		top: 30%;
-// 		left: 30%;
-// 		color: #fff !important;
-// 		width: auto !important;
-// 		transform: translateX(-50%) translateY(-50%) rotate(-45deg);
-// 	}
-// }
-.prize_shop_scale {
+.money-buniss-balance {
 	transform: scale(1.3);
 }
 
-.loading-mask {
+.donghua {
 	z-index: 999;
 	position: fixed;
 	top: -180rpx;
@@ -633,7 +593,7 @@ export default {
 		width: 400rpx;
 		height: 400rpx;
 	}
-	.animation-wrapper {
+	.donghua-box {
 		margin-bottom: 10vh;
 
 		image {
@@ -673,7 +633,7 @@ export default {
 	}
 }
 
-.spining {
+.xuanzhuan {
 	transition: 0.3s;
 	animation: rotate 10s linear infinite;
 	/*开始动画后无限循环,用来控制rotate*/

+ 93 - 99
components/u-parse/u-parse.vue

@@ -7,12 +7,10 @@
  */-->
 
 <template>
-<!--基础元素-->
-<div class="wxParse" :class="className" v-if="!loading">
-  <block v-for="(node,index) of nodes" :key="index">
-    <wxParseTemplate :node="node" />
-  </block>
-</div>
+	<!--基础元素-->
+	<div class="wxParse" :class="className" v-if="!loading">
+		<block v-for="(node, index) of nodes" :key="index"><wxParseTemplate :node="node" /></block>
+	</div>
 </template>
 
 <script>
@@ -20,98 +18,94 @@ import HtmlToJson from './libs/html2json';
 import wxParseTemplate from './components/wxParseTemplate0';
 
 export default {
-  name: 'wxParse',
-  props: {
-    loading: {
-      type: Boolean,
-      default: false,
-    },
-    className: {
-      type: String,
-      default: '',
-    },
-    content: {
-      type: String,
-      default: '',
-    },
-    noData: {
-      type: String,
-      default: '',
-    },
-    startHandler: {
-      type: Function,
-      default() {
-        return (node) => {
-          node.attr.class = null;
-          node.attr.style = null;
-        };
-      },
-    },
-    endHandler: {
-      type: Function,
-      default: null,
-    },
-    charsHandler: {
-      type: Function,
-      default: null,
-    },
-    imageProp: {
-      type: Object,
-      default() {
-        return {
-          mode: 'aspectFit',
-          padding: 0,
-          lazyLoad: false,
-          domain: '',
-        };
-      },
-    },
-  },
-  components: {
-    wxParseTemplate,
-  },
-  data() {
-    return {
-      imageUrls: [],
-    };
-  },
-  computed: {
-    nodes() {
-      const {
-        content,
-        noData,
-        imageProp,
-        startHandler,
-        endHandler,
-        charsHandler,
-      } = this;
-      const parseData = content || noData;
-      const customHandler = {
-        start: startHandler,
-        end: endHandler,
-        chars: charsHandler,
-      };
-      const results = HtmlToJson(parseData, customHandler, imageProp, this);
-      this.imageUrls = results.imageUrls;
-      return results.nodes;
-    },
-  },
-  methods: {
-    navigate(href, $event) {
-      this.$emit('navigate', href, $event);
-    },
-    preview(src, $event) {
-      if (!this.imageUrls.length) return;
-      wx.previewImage({
-        current: src,
-        urls: this.imageUrls,
-      });
-      this.$emit('preview', src, $event);
-    },
-    removeImageUrl(src) {
-      const { imageUrls } = this;
-      imageUrls.splice(imageUrls.indexOf(src), 1);
-    },
-  },
+	name: 'wxParse',
+	props: {
+		loading: {
+			type: Boolean,
+			default: false
+		},
+		className: {
+			type: String,
+			default: ''
+		},
+		content: {
+			type: String,
+			default: ''
+		},
+		noData: {
+			type: String,
+			default: ''
+		},
+		startHandler: {
+			type: Function,
+			default() {
+				return node => {
+					node.attr.class = null;
+					node.attr.style = null;
+				};
+			}
+		},
+		endHandler: {
+			type: Function,
+			default: null
+		},
+		charsHandler: {
+			type: Function,
+			default: null
+		},
+		imageProp: {
+			type: Object,
+			default() {
+				return {
+					mode: 'aspectFit',
+					padding: 0,
+					lazyLoad: false,
+					domain: ''
+				};
+			}
+		}
+	},
+	components: {
+		wxParseTemplate
+	},
+	data() {
+		return {
+			imageUrls: []
+		};
+	},
+	created() {
+		console.log(this.content, 'main');
+	},
+	computed: {
+		nodes() {
+			const { content, noData, imageProp, startHandler, endHandler, charsHandler } = this;
+			const parseData = content || noData;
+			const customHandler = {
+				start: startHandler,
+				end: endHandler,
+				chars: charsHandler
+			};
+			const results = HtmlToJson(parseData, customHandler, imageProp, this);
+			this.imageUrls = results.imageUrls;
+			return results.nodes;
+		}
+	},
+	methods: {
+		navigate(href, $event) {
+			this.$emit('navigate', href, $event);
+		},
+		preview(src, $event) {
+			if (!this.imageUrls.length) return;
+			wx.previewImage({
+				current: src,
+				urls: this.imageUrls
+			});
+			this.$emit('preview', src, $event);
+		},
+		removeImageUrl(src) {
+			const { imageUrls } = this;
+			imageUrls.splice(imageUrls.indexOf(src), 1);
+		}
+	}
 };
 </script>

+ 243 - 0
components/uni-popup/uni-popup-dialog.vue

@@ -0,0 +1,243 @@
+<template>
+	<view class="uni-popup-dialog">
+		<view class="uni-dialog-title">
+			<text class="uni-dialog-title-text" :class="['uni-popup__'+dialogType]">{{title}}</text>
+		</view>
+		<view class="uni-dialog-content">
+			<text class="uni-dialog-content-text" v-if="mode === 'base'">{{content}}</text>
+			<input v-else class="uni-dialog-input" v-model="val" type="text" :placeholder="placeholder" :focus="focus" >
+		</view>
+		<view class="uni-dialog-button-group">
+			<view class="uni-dialog-button" @click="close">
+				<text class="uni-dialog-button-text">取消</text>
+			</view>
+			<view class="uni-dialog-button uni-border-left" @click="onOk">
+				<text class="uni-dialog-button-text uni-button-color">确定</text>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	/**
+	 * PopUp 弹出层-对话框样式
+	 * @description 弹出层-对话框样式
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
+	 * @property {String} value input 模式下的默认值
+	 * @property {String} placeholder input 模式下输入提示
+	 * @property {String} type = [success|warning|info|error] 主题样式
+	 *  @value success 成功
+	 * 	@value warning 提示
+	 * 	@value info 消息
+	 * 	@value error 错误
+	 * @property {String} mode = [base|input] 模式、
+	 * 	@value base 基础对话框
+	 * 	@value input 可输入对话框
+	 * @property {String} content 对话框内容
+	 * @property {Boolean} beforeClose 是否拦截取消事件
+	 * @event {Function} confirm 点击确认按钮触发
+	 * @event {Function} close 点击取消按钮触发
+	 */
+
+	export default {
+		name: "uniPopupDialog",
+		props: {
+			value: {
+				type: [String, Number],
+				default: ''
+			},
+			placeholder: {
+				type: [String, Number],
+				default: '请输入内容'
+			},
+			/**
+			 * 对话框主题 success/warning/info/error	  默认 success
+			 */
+			type: {
+				type: String,
+				default: 'error'
+			},
+			/**
+			 * 对话框模式 base/input
+			 */
+			mode: {
+				type: String,
+				default: 'base'
+			},
+			/**
+			 * 对话框标题
+			 */
+			title: {
+				type: String,
+				default: '提示'
+			},
+			/**
+			 * 对话框内容
+			 */
+			content: {
+				type: String,
+				default: ''
+			},
+			/**
+			 * 拦截取消事件 ,如果拦截取消事件,必须监听close事件,执行 done()
+			 */
+			beforeClose: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				dialogType: 'error',
+				focus: false,
+				val: ""
+			}
+		},
+		inject: ['popup'],
+		watch: {
+			type(val) {
+				this.dialogType = val
+			},
+			mode(val) {
+				if (val === 'input') {
+					this.dialogType = 'info'
+				}
+			},
+			value(val) {
+				this.val = val
+			}
+		},
+		created() {
+			// 对话框遮罩不可点击
+			this.popup.mkclick = false
+			if (this.mode === 'input') {
+				this.dialogType = 'info'
+				this.val = this.value
+			} else {
+				this.dialogType = this.type
+			}
+		},
+		mounted() {
+			this.focus = true
+		},
+		methods: {
+			/**
+			 * 点击确认按钮
+			 */
+			onOk() {
+				this.$emit('confirm', () => {
+					this.popup.close()
+					if (this.mode === 'input') this.val = this.value
+				}, this.mode === 'input' ? this.val : '')
+			},
+			/**
+			 * 点击取消按钮
+			 */
+			close() {
+				if (this.beforeClose) {
+					this.$emit('close', () => {
+						this.popup.close()
+					})
+					return
+				}
+				this.popup.close()
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.uni-popup-dialog {
+		width: 300px;
+		border-radius: 15px;
+		background-color: #fff;
+	}
+
+	.uni-dialog-title {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		justify-content: center;
+		padding-top: 15px;
+		padding-bottom: 5px;
+	}
+
+	.uni-dialog-title-text {
+		font-size: 16px;
+		font-weight: 500;
+	}
+
+	.uni-dialog-content {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		padding: 5px 15px 15px 15px;
+	}
+
+	.uni-dialog-content-text {
+		font-size: 14px;
+		color: #6e6e6e;
+	}
+
+	.uni-dialog-button-group {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		border-top-color: #f5f5f5;
+		border-top-style: solid;
+		border-top-width: 1px;
+	}
+
+	.uni-dialog-button {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+
+		flex: 1;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		height: 45px;
+	}
+
+	.uni-border-left {
+		border-left-color: #f0f0f0;
+		border-left-style: solid;
+		border-left-width: 1px;
+	}
+
+	.uni-dialog-button-text {
+		font-size: 14px;
+	}
+
+	.uni-button-color {
+		color: $uni-color-primary;
+	}
+
+	.uni-dialog-input {
+		flex: 1;
+		font-size: 14px;
+	}
+
+	.uni-popup__success {
+		color: $uni-color-success;
+	}
+
+	.uni-popup__warn {
+		color: $uni-color-warning;
+	}
+
+	.uni-popup__error {
+		color: $uni-color-error;
+	}
+
+	.uni-popup__info {
+		color: #909399;
+	}
+</style>

+ 116 - 0
components/uni-popup/uni-popup-message.vue

@@ -0,0 +1,116 @@
+<template>
+	<view class="uni-popup-message" :class="'uni-popup__'+[type]">
+		<text class="uni-popup-message-text" :class="'uni-popup__'+[type]+'-text'">{{message}}</text>
+	</view>
+</template>
+
+<script>
+	
+	/**
+	 * PopUp 弹出层-消息提示
+	 * @description 弹出层-消息提示
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
+	 * @property {String} type = [success|warning|info|error] 主题样式
+	 *  @value success 成功
+	 * 	@value warning 提示
+	 * 	@value info 消息
+	 * 	@value error 错误
+	 * @property {String} message 消息提示文字
+	 * @property {String} duration 显示时间,设置为 0 则不会自动关闭
+	 */
+	
+	export default {
+		name: 'UniPopupMessage',
+		props: {
+			/**
+			 * 主题 success/warning/info/error	  默认 success
+			 */
+			type: {
+				type: String,
+				default: 'success'
+			},
+			/**
+			 * 消息文字
+			 */
+			message: {
+				type: String,
+				default: ''
+			},
+			/**
+			 * 显示时间,设置为 0 则不会自动关闭
+			 */
+			duration: {
+				type: Number,
+				default: 3000
+			}
+		},
+		inject: ['popup'],
+		data() {
+			return {}
+		},
+		created() {
+			this.popup.childrenMsg = this
+		},
+		methods: {
+			open() {
+				if (this.duration === 0) return
+				clearTimeout(this.popuptimer)
+				this.popuptimer = setTimeout(() => {
+					this.popup.close()
+				}, this.duration)
+			},
+			close() {
+				clearTimeout(this.popuptimer)
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.uni-popup-message {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		background-color: #e1f3d8;
+		padding: 10px 15px;
+		border-color: #eee;
+		border-style: solid;
+		border-width: 1px;
+	}
+	.uni-popup-message-text {
+		font-size: 14px;
+		padding: 0;
+	}
+
+	.uni-popup__success {
+		background-color: #e1f3d8;
+	}
+
+	.uni-popup__success-text {
+		color: #67C23A;
+	}
+
+	.uni-popup__warn {
+		background-color: #faecd8;
+	}
+
+	.uni-popup__warn-text {
+		color: #E6A23C;
+	}
+
+	.uni-popup__error {
+		background-color: #fde2e2;
+	}
+
+	.uni-popup__error-text {
+		color: #F56C6C;
+	}
+
+	.uni-popup__info {
+		background-color: #F2F6FC;
+	}
+
+	.uni-popup__info-text {
+		color: #909399;
+	}
+</style>

+ 263 - 0
components/uni-popup/uni-popup-ori.vue

@@ -0,0 +1,263 @@
+<template>
+	<view v-if="showPopup" class="uni-popup" @touchmove.stop.prevent="clear">
+		<uni-transition :mode-class="['fade']" :styles="maskClass" :duration="duration" :show="showTrans" @click="onTap" />
+		<uni-transition :mode-class="ani" :styles="transClass" :duration="duration" :show="showTrans" @click="onTap">
+			<view class="uni-popup__wrapper-box" @click.stop="clear">
+				<slot />
+			</view>
+		</uni-transition>
+	</view>
+</template>
+
+<script>
+	import uniTransition from '../uni-transition/uni-transition.vue'
+
+	/**
+	 * PopUp 弹出层
+	 * @description 弹出层组件,为了解决遮罩弹层的问题
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
+	 * @property {String} type = [top|center|bottom] 弹出方式
+	 * 	@value top 顶部弹出
+	 * 	@value center 中间弹出
+	 * 	@value bottom 底部弹出
+	 * @property {Boolean} animation = [ture|false] 是否开启动画
+	 * @property {Boolean} maskClick = [ture|false] 蒙版点击是否关闭弹窗
+	 * @event {Function} change 打开关闭弹窗触发,e={show: false}
+	 */
+
+	export default {
+		name: 'UniPopup',
+		components: {
+			uniTransition
+		},
+		props: {
+			// 开启动画
+			animation: {
+				type: Boolean,
+				default: true
+			},
+			// 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层
+			type: {
+				type: String,
+				default: 'center'
+			},
+			// maskClick
+			maskClick: {
+				type: Boolean,
+				default: true
+			}
+		},
+		data() {
+			return {
+				duration: 300,
+				ani: [],
+				showPopup: false,
+				showTrans: false,
+				maskClass: {
+					'position': 'fixed',
+					'bottom': 0,
+					'top': 0,
+					'left': 0,
+					'right': 0,
+					'backgroundColor': 'rgba(0, 0, 0, 0.4)'
+				},
+				transClass: {
+					'position': 'fixed',
+					'left': 0,
+					'right': 0,
+				}
+			}
+		},
+		watch: {
+			type: {
+				handler: function(newVal) {
+					switch (this.type) {
+						case 'top':
+							this.ani = ['slide-top']
+							this.transClass = {
+								'position': 'fixed',
+								'left': 0,
+								'right': 0,
+							}
+							break
+						case 'bottom':
+							this.ani = ['slide-bottom']
+							this.transClass = {
+								'position': 'fixed',
+								'left': 0,
+								'right': 0,
+								'bottom': 0
+							}
+							break
+						case 'center':
+							this.ani = ['zoom-out', 'fade']
+							this.transClass = {
+								'position': 'fixed',
+								/* #ifndef APP-NVUE */
+								'display': 'flex',
+								'flexDirection': 'column',
+								/* #endif */
+								'bottom': 0,
+								'left': 0,
+								'right': 0,
+								'top': 0,
+								'justifyContent': 'center',
+								'alignItems': 'center'
+							}
+
+							break
+					}
+				},
+				immediate: true
+			}
+		},
+		created() {
+			if (this.animation) {
+				this.duration = 300
+			} else {
+				this.duration = 0
+			}
+		},
+		methods: {
+			clear(e) {
+				// TODO nvue 取消冒泡
+				e.stopPropagation()
+			},
+			open() {
+				this.showPopup = true
+				this.$nextTick(() => {
+					clearTimeout(this.timer)
+					this.timer = setTimeout(() => {
+						this.showTrans = true
+					}, 50);
+				})
+				this.$emit('change', {
+					show: true
+				})
+			},
+			close(type) {
+				this.showTrans = false
+				this.$nextTick(() => {
+					clearTimeout(this.timer)
+					this.timer = setTimeout(() => {
+						this.$emit('change', {
+							show: false
+						})
+						this.showPopup = false
+					}, 300)
+				})
+			},
+			onTap() {
+				if (!this.maskClick) return
+				this.close()
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.uni-popup {
+		position: fixed;
+		/* #ifdef H5 */
+		top: var(--window-top);
+		/* #endif */
+		/* #ifndef H5 */
+		top: 0;
+		/* #endif */
+		bottom: 0;
+		left: 0;
+		right: 0;
+		/* #ifndef APP-NVUE */
+		z-index: 99;
+		/* #endif */
+	}
+
+	.uni-popup__mask {
+		position: absolute;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		background-color: $uni-bg-color-mask;
+		opacity: 0;
+	}
+
+	.mask-ani {
+		transition-property: opacity;
+		transition-duration: 0.2s;
+	}
+
+	.uni-top-mask {
+		opacity: 1;
+	}
+
+	.uni-bottom-mask {
+		opacity: 1;
+	}
+
+	.uni-center-mask {
+		opacity: 1;
+	}
+
+	.uni-popup__wrapper {
+		/* #ifndef APP-NVUE */
+		display: block;
+		/* #endif */
+		position: absolute;
+	}
+
+	.top {
+		top: 0;
+		left: 0;
+		right: 0;
+		transform: translateY(-500px);
+	}
+
+	.bottom {
+		bottom: 0;
+		left: 0;
+		right: 0;
+		transform: translateY(500px);
+	}
+
+	.center {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		flex-direction: column;
+		/* #endif */
+		bottom: 0;
+		left: 0;
+		right: 0;
+		top: 0;
+		justify-content: center;
+		align-items: center;
+		transform: scale(1.2);
+		opacity: 0;
+	}
+
+	.uni-popup__wrapper-box {
+		/* #ifndef APP-NVUE */
+		display: block;
+		/* #endif */
+		position: relative;
+	}
+
+	.content-ani {
+		// transition: transform 0.3s;
+		transition-property: transform, opacity;
+		transition-duration: 0.2s;
+	}
+
+
+	.uni-top-content {
+		transform: translateY(0);
+	}
+
+	.uni-bottom-content {
+		transform: translateY(0);
+	}
+
+	.uni-center-content {
+		transform: scale(1);
+		opacity: 1;
+	}
+</style>

+ 282 - 0
components/uni-popup/uni-popup-share.vue

@@ -0,0 +1,282 @@
+<template>
+	<view>
+		<uni-popup-ori ref="showshare" type="bottom">
+			<view class="uni-share">
+				<text class="uni-share-title">分享到</text>
+				<view class="uni-share-content">
+					<view v-for="(item, index) in bottomData" :key="index" class="uni-share-content-box" @click="shareTo(item.name)">
+						<view class="uni-share-content-image"><image :src="item.icon" class="content-image" mode="widthFix" /></view>
+						<text class="uni-share-content-text">{{ item.text }}</text>
+					</view>
+				</view>
+				<text class="uni-share-btn" @click="cancel()">取消分享</text>
+			</view>
+		</uni-popup-ori>
+		<uni-popup-ori ref="showPast" type="center" class="popupPast">
+			<view class="backPop">
+				<view class="popPast">
+					<view class="popTitle">口令已复制</view>
+					<view class="popContent">
+						<view>{{ describe }}</view>
+					</view>
+					<view class="popBtn" @click="goWhere(1)" v-if="popType == 'wx'">
+						<!-- <image src="../../static/spend/wxin.png" mode="widthFix"></image> -->
+						<view>去微信粘贴给好友</view>
+					</view>
+					<view class="popBtn" @click="goWhere(2)" v-if="popType == 'timeline'">
+						<!-- <image src="../../static/spend/wechat.png" mode="widthFix"></image> -->
+						<view>粘贴到朋友圈</view>
+					</view>
+				</view>
+				<icon type="cancel" size="26" color="white" style="margin-top: 40rpx;" @click="cancelPo" />
+			</view>
+		</uni-popup-ori>
+	</view>
+</template>
+
+<script>
+import uniPopupOri from '@/components/uni-popup/uni-popup-ori.vue';
+import { mapState, mapMutations } from 'vuex';
+import { getActionPage } from '@/utils/loginUtils.js';
+export default {
+	name: 'SharePopup',
+	components: {
+		uniPopupOri
+	},
+	props: ['opt', 'type','option'],
+	data() {
+		return {
+			describe: '',
+			shareoption: '',
+			bottomData: [
+				{
+					text: '微信',
+					icon: '../../static/spend/wxin.png',
+					name: 'wx'
+				},
+				{
+					text: '朋友圈',
+					icon: '../../static/spend/wechat.png',
+					name: 'timeline'
+				}
+			],
+			popType: '',
+			uid: ''
+		};
+	},
+	computed: {
+		...mapState(['userInfo', 'baseURL'])
+	},
+	mounted() {},
+	methods: {
+		loadData() {
+			try {
+				let prePage = getActionPage();
+				var path = prePage.route;
+				this.uid = this.userInfo.uid;
+				//获取object转化成
+				var parm = '';
+				var i = 0;
+				var option = this.option; //其他页面传值
+				console.log(option,'option')
+				if(this.type == 4){
+					parm = parm + '?' + 'promo_code=' + option;
+				}else{
+					for (let item in option) {
+						//拼接参数
+						if (i == 0) {
+							parm = '?' + item + '=' + option[item];
+						} else {
+							parm = parm + '&' + item + '=' + option[item];
+						}
+						i++;
+					}
+				}
+				if(this.type == 4){
+					var url = 'pages/index/index' + parm;
+				}else{
+					var url = path + parm;
+				}
+				console.log(path,'path')
+				console.log(parm,'parm')
+				//用后台加密
+				//第一个参数是判断是不是我们的链接
+				//第二个参数是访问地址
+				//第三个参数是,类型,type:0商品,type=1拼团,type=2邀请注册,type=3邀请好友参团,type=4邀请好友助力
+				//第四个参数是share的id
+				console.log(option,'option')
+				if(this.type == 4){
+					this.describe = this.baseURL + '@' + url + '@' + this.type + '@' + this.uid + '@复制这段话进入美美赚,自动打开页面';
+				}else{
+					this.describe = this.baseURL + '@' + url + '@' + this.type + '@' + this.uid + '@复制这段话进入美美赚,自动打开页面';
+				}
+				console.log(this.describe);
+				let obj = this;
+				// #ifndef H5
+				uni.setClipboardData({
+					data: this.describe,
+					  success: function () {
+					        uni.hideToast();
+					    }
+				});
+				// #endif
+			} catch (e) {
+				console.log(e);
+				//TODO handle the exception
+			}
+		},
+		goWhere(type) {
+			this.$api.msg('复制成功');
+		},
+		cancelPo() {
+			this.$nextTick(() => {
+				this.$refs['showPast'].close();
+			});
+		},
+		shareTo(name) {
+			this.popType = name;
+			this.$nextTick(() => {
+				this.$refs.showPast.open();
+				this.$refs['showshare'].close();
+			});
+		},
+		cancel() {
+			this.$nextTick(() => {
+				this.$refs['showshare'].close();
+			});
+		},
+		open() {
+			this.$nextTick(() => {
+				this.$refs['showshare'].open();
+			});
+		}
+	}
+};
+</script>
+<style lang="scss" scoped>
+.backPop {
+	padding: 0rpx 25rpx;
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	align-items: center;
+}
+.popupPast {
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	align-items: center;
+	text-align: center;
+}
+.popPast {
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	padding: 40rpx 30rpx;
+	width: 90%;
+	background-color: white;
+	border-radius: 18rpx;
+	align-items: center;
+	.popTitle {
+		color: #2f2f2f;
+		font-size: 32rpx;
+		font-weight: bold;
+		margin-bottom: 40rpx;
+	}
+	.popContent {
+		background-color: #f4f4f4;
+		padding: 30rpx 24rpx;
+		border-radius: 16rpx;
+		view {
+			font-size: 24rpx;
+			color: #939393;
+		}
+		margin-bottom: 40rpx;
+	}
+	.popBtn {
+		display: flex;
+		align-items: center;
+		padding: 20rpx 40rpx;
+		background-color: #04be02;
+		border-radius: 60rpx;
+		image {
+			width: 36rpx;
+		}
+		view {
+			color: white;
+			font-size: 36rpx;
+			margin-left: 10rpx;
+		}
+	}
+}
+/* 底部分享 */
+.uni-share {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	flex-direction: column;
+	/* #endif */
+	background-color: #fff;
+}
+
+.uni-share-title {
+	line-height: 60rpx;
+	font-size: 24rpx;
+	padding: 15rpx 0;
+	text-align: center;
+}
+
+.uni-share-content {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: row;
+	flex-wrap: wrap;
+	justify-content: center;
+	padding: 15px;
+}
+
+.uni-share-content-box {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: column;
+	align-items: center;
+	width: 200rpx;
+}
+
+.uni-share-content-image {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: row;
+	justify-content: center;
+	align-items: center;
+	width: 60rpx;
+	height: 60rpx;
+	overflow: hidden;
+	border-radius: 10rpx;
+}
+
+.content-image {
+	width: 60rpx;
+	height: 60rpx;
+}
+
+.uni-share-content-text {
+	font-size: 26rpx;
+	color: #333;
+	padding-top: 5px;
+	padding-bottom: 10px;
+}
+
+.uni-share-btn {
+	height: 90rpx;
+	line-height: 90rpx;
+	font-size: 14px;
+	border-top-color: #f5f5f5;
+	border-top-width: 1px;
+	border-top-style: solid;
+	text-align: center;
+	color: #666;
+}
+</style>

+ 263 - 0
components/uni-popup/uni-popup.vue

@@ -0,0 +1,263 @@
+<template>
+	<view v-if="showPopup" class="uni-popup" @touchmove.stop.prevent="clear">
+		<uni-transition :mode-class="['fade']" :styles="maskClass" :duration="duration" :show="showTrans" @click="onTap" />
+		<uni-transition :mode-class="ani" :styles="transClass" :duration="duration" :show="showTrans" @click="onTap">
+			<view class="uni-popup__wrapper-box" @click.stop="clear">
+				<slot />
+			</view>
+		</uni-transition>
+	</view>
+</template>
+
+<script>
+	import uniTransition from '../uni-transition/uni-transition.vue'
+
+	/**
+	 * PopUp 弹出层
+	 * @description 弹出层组件,为了解决遮罩弹层的问题
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
+	 * @property {String} type = [top|center|bottom] 弹出方式
+	 * 	@value top 顶部弹出
+	 * 	@value center 中间弹出
+	 * 	@value bottom 底部弹出
+	 * @property {Boolean} animation = [ture|false] 是否开启动画
+	 * @property {Boolean} maskClick = [ture|false] 蒙版点击是否关闭弹窗
+	 * @event {Function} change 打开关闭弹窗触发,e={show: false}
+	 */
+
+	export default {
+		name: 'UniPopup',
+		components: {
+			uniTransition
+		},
+		props: {
+			// 开启动画
+			animation: {
+				type: Boolean,
+				default: true
+			},
+			// 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层
+			type: {
+				type: String,
+				default: 'center'
+			},
+			// maskClick
+			maskClick: {
+				type: Boolean,
+				default: true
+			}
+		},
+		data() {
+			return {
+				duration: 300,
+				ani: [],
+				showPopup: false,
+				showTrans: false,
+				maskClass: {
+					'position': 'fixed',
+					'bottom': 0,
+					'top': 0,
+					'left': 0,
+					'right': 0,
+					'backgroundColor': 'rgba(0, 0, 0, 0.4)'
+				},
+				transClass: {
+					'position': 'fixed',
+					'left': 0,
+					'right': 0,
+				}
+			}
+		},
+		watch: {
+			type: {
+				handler: function(newVal) {
+					switch (this.type) {
+						case 'top':
+							this.ani = ['slide-top']
+							this.transClass = {
+								'position': 'fixed',
+								'left': 0,
+								'right': 0,
+							}
+							break
+						case 'bottom':
+							this.ani = ['slide-bottom']
+							this.transClass = {
+								'position': 'fixed',
+								'left': 0,
+								'right': 0,
+								'bottom': 0
+							}
+							break
+						case 'center':
+							this.ani = ['zoom-out', 'fade']
+							this.transClass = {
+								'position': 'fixed',
+								/* #ifndef APP-NVUE */
+								'display': 'flex',
+								'flexDirection': 'column',
+								/* #endif */
+								'bottom': 0,
+								'left': 0,
+								'right': 0,
+								'top': 0,
+								'justifyContent': 'center',
+								'alignItems': 'center'
+							}
+
+							break
+					}
+				},
+				immediate: true
+			}
+		},
+		created() {
+			if (this.animation) {
+				this.duration = 300
+			} else {
+				this.duration = 0
+			}
+		},
+		methods: {
+			clear(e) {
+				// TODO nvue 取消冒泡
+				e.stopPropagation()
+			},
+			open() {
+				this.showPopup = true
+				this.$nextTick(() => {
+					clearTimeout(this.timer)
+					this.timer = setTimeout(() => {
+						this.showTrans = true
+					}, 50);
+				})
+				this.$emit('change', {
+					show: true
+				})
+			},
+			close(type) {
+				this.showTrans = false
+				this.$nextTick(() => {
+					clearTimeout(this.timer)
+					this.timer = setTimeout(() => {
+						this.$emit('change', {
+							show: false
+						})
+						this.showPopup = false
+					}, 300)
+				})
+			},
+			onTap() {
+				if (!this.maskClick) return
+				this.close()
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.uni-popup {
+		position: fixed;
+		/* #ifdef H5 */
+		top: var(--window-top);
+		/* #endif */
+		/* #ifndef H5 */
+		top: 0;
+		/* #endif */
+		bottom: 0;
+		left: 0;
+		right: 0;
+		/* #ifndef APP-NVUE */
+		z-index: 99;
+		/* #endif */
+	}
+
+	.uni-popup__mask {
+		position: absolute;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		background-color: $uni-bg-color-mask;
+		opacity: 0;
+	}
+
+	.mask-ani {
+		transition-property: opacity;
+		transition-duration: 0.2s;
+	}
+
+	.uni-top-mask {
+		opacity: 1;
+	}
+
+	.uni-bottom-mask {
+		opacity: 1;
+	}
+
+	.uni-center-mask {
+		opacity: 1;
+	}
+
+	.uni-popup__wrapper {
+		/* #ifndef APP-NVUE */
+		display: block;
+		/* #endif */
+		position: absolute;
+	}
+
+	.top {
+		top: 0;
+		left: 0;
+		right: 0;
+		transform: translateY(-500px);
+	}
+
+	.bottom {
+		bottom: 0;
+		left: 0;
+		right: 0;
+		transform: translateY(500px);
+	}
+
+	.center {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		flex-direction: column;
+		/* #endif */
+		bottom: 0;
+		left: 0;
+		right: 0;
+		top: 0;
+		justify-content: center;
+		align-items: center;
+		transform: scale(1.2);
+		opacity: 0;
+	}
+
+	.uni-popup__wrapper-box {
+		/* #ifndef APP-NVUE */
+		display: block;
+		/* #endif */
+		position: relative;
+	}
+
+	.content-ani {
+		// transition: transform 0.3s;
+		transition-property: transform, opacity;
+		transition-duration: 0.2s;
+	}
+
+
+	.uni-top-content {
+		transform: translateY(0);
+	}
+
+	.uni-bottom-content {
+		transform: translateY(0);
+	}
+
+	.uni-center-content {
+		transform: scale(1);
+		opacity: 1;
+	}
+</style>

+ 279 - 0
components/uni-transition/uni-transition.vue

@@ -0,0 +1,279 @@
+<template>
+	<view v-if="isShow" ref="ani" class="uni-transition" :class="[ani.in]" :style="'transform:' +transform+';'+stylesObject"
+	 @click="change">
+		 <slot></slot>
+	</view>
+</template>
+
+<script>
+	// #ifdef APP-NVUE
+	const animation = uni.requireNativePlugin('animation');
+	// #endif
+	/**
+	 * Transition 过渡动画
+	 * @description 简单过渡动画组件
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=985
+	 * @property {Boolean} show = [false|true] 控制组件显示或隐藏
+     * @property {Array} modeClass = [fade|slide-top|slide-right|slide-bottom|slide-left|zoom-in|zoom-out] 过渡动画类型
+     *  @value fade 渐隐渐出过渡
+     *  @value slide-top 由上至下过渡
+     *  @value slide-right 由右至左过渡
+     *  @value slide-bottom 由下至上过渡
+     *  @value slide-left 由左至右过渡
+     *  @value zoom-in 由小到大过渡
+     *  @value zoom-out 由大到小过渡
+	 * @property {Number} duration 过渡动画持续时间
+	 * @property {Object} styles 组件样式,同 css 样式,注意带’-‘连接符的属性需要使用小驼峰写法如:`backgroundColor:red`
+	 */
+	export default {
+		name: 'uniTransition',
+		props: {
+			show: {
+				type: Boolean,
+				default: false
+			},
+			modeClass: {
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			duration: {
+				type: Number,
+				default: 300
+			},
+			styles: {
+				type: Object,
+				default () {
+					return {}
+				}
+			}
+		},
+		data() {
+			return {
+				isShow: false,
+				transform: '',
+				ani: { in: '',
+					active: ''
+				}
+			};
+		},
+		watch: {
+			show: {
+				handler(newVal) {
+					if (newVal) {
+						this.open()
+					} else {
+						this.close()
+					}
+				},
+				immediate: true
+			}
+		},
+		computed: {
+			stylesObject() {
+				let styles = {
+					...this.styles,
+					'transition-duration': this.duration / 1000 + 's'
+				}
+				let transfrom = ''
+				for (let i in styles) {
+					let line = this.toLine(i)
+					transfrom += line + ':' + styles[i] + ';'
+				}
+				return transfrom
+			}
+		},
+		created() {
+			// this.timer = null
+			// this.nextTick = (time = 50) => new Promise(resolve => {
+			// 	clearTimeout(this.timer)
+			// 	this.timer = setTimeout(resolve, time)
+			// 	return this.timer
+			// });
+		},
+		methods: {
+			change() {
+				this.$emit('click', {
+					detail: this.isShow
+				})
+			},
+			open() {
+				clearTimeout(this.timer)
+				this.isShow = true
+				this.transform = ''
+				this.ani.in = ''
+				for (let i in this.getTranfrom(false)) {
+					if (i === 'opacity') {
+						this.ani.in = 'fade-in'
+					} else {
+						this.transform += `${this.getTranfrom(false)[i]} `
+					}
+				}
+				this.$nextTick(() => {
+					setTimeout(() => {
+						this._animation(true)
+					}, 50)
+				})
+
+			},
+			close(type) {
+				clearTimeout(this.timer)
+				this._animation(false)
+			},
+			_animation(type) {
+				let styles = this.getTranfrom(type)
+				// #ifdef APP-NVUE
+				if(!this.$refs['ani']) return
+				animation.transition(this.$refs['ani'].ref, {
+					styles,
+					duration: this.duration, //ms
+					timingFunction: 'ease',
+					needLayout: false,
+					delay: 0 //ms
+				}, () => {
+					if (!type) {
+						this.isShow = false
+					}
+					this.$emit('change', {
+						detail: this.isShow
+					})
+				})
+				// #endif
+				// #ifndef APP-NVUE
+				this.transform = ''
+				for (let i in styles) {
+					if (i === 'opacity') {
+						this.ani.in = `fade-${type?'out':'in'}`
+					} else {
+						this.transform += `${styles[i]} `
+					}
+				}
+				this.timer = setTimeout(() => {
+					if (!type) {
+						this.isShow = false
+					}
+					this.$emit('change', {
+						detail: this.isShow
+					})
+
+				}, this.duration)
+				// #endif
+
+			},
+			getTranfrom(type) {
+				let styles = {
+					transform: ''
+				}
+				this.modeClass.forEach((mode) => {
+					switch (mode) {
+						case 'fade':
+							styles.opacity = type ? 1 : 0
+							break;
+						case 'slide-top':
+							styles.transform += `translateY(${type?'0':'-100%'}) `
+							break;
+						case 'slide-right':
+							styles.transform += `translateX(${type?'0':'100%'}) `
+							break;
+						case 'slide-bottom':
+							styles.transform += `translateY(${type?'0':'100%'}) `
+							break;
+						case 'slide-left':
+							styles.transform += `translateX(${type?'0':'-100%'}) `
+							break;
+						case 'zoom-in':
+							styles.transform += `scale(${type?1:0.8}) `
+							break;
+						case 'zoom-out':
+							styles.transform += `scale(${type?1:1.2}) `
+							break;
+					}
+				})
+				return styles
+			},
+			_modeClassArr(type) {
+				let mode = this.modeClass
+				if (typeof(mode) !== "string") {
+					let modestr = ''
+					mode.forEach((item) => {
+						modestr += (item + '-' + type + ',')
+					})
+					return modestr.substr(0, modestr.length - 1)
+				} else {
+					return mode + '-' + type
+				}
+			},
+			// getEl(el) {
+			// 	console.log(el || el.ref || null);
+			// 	return el || el.ref || null
+			// },
+			toLine(name) {
+				return name.replace(/([A-Z])/g, "-$1").toLowerCase();
+			}
+		}
+	}
+</script>
+
+<style>
+	.uni-transition {
+		transition-timing-function: ease;
+		transition-duration: 0.3s;
+		transition-property: transform, opacity;
+	}
+
+	.fade-in {
+		opacity: 0;
+	}
+
+	.fade-active {
+		opacity: 1;
+	}
+
+	.slide-top-in {
+		/* transition-property: transform, opacity; */
+		transform: translateY(-100%);
+	}
+
+	.slide-top-active {
+		transform: translateY(0);
+		/* opacity: 1; */
+	}
+
+	.slide-right-in {
+		transform: translateX(100%);
+	}
+
+	.slide-right-active {
+		transform: translateX(0);
+	}
+
+	.slide-bottom-in {
+		transform: translateY(100%);
+	}
+
+	.slide-bottom-active {
+		transform: translateY(0);
+	}
+
+	.slide-left-in {
+		transform: translateX(-100%);
+	}
+
+	.slide-left-active {
+		transform: translateX(0);
+		opacity: 1;
+	}
+
+	.zoom-in-in {
+		transform: scale(0.8);
+	}
+
+	.zoom-out-active {
+		transform: scale(1);
+	}
+
+	.zoom-out-in {
+		transform: scale(1.2);
+	}
+</style>

+ 18 - 11
manifest.json

@@ -2,8 +2,8 @@
     "name" : "潮盲岛",
     "appid" : "__UNI__ED94684",
     "description" : "",
-    "versionName" : "1.0.6",
-    "versionCode" : 106,
+    "versionName" : "1.1.0",
+    "versionCode" : 110,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {
@@ -25,23 +25,21 @@
             /* android打包配置 */
             "android" : {
                 "permissions" : [
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                     "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
                     "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
                     "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                     "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                     "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
+                ],
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
             },
             /* ios打包配置 */
             "ios" : {
@@ -66,7 +64,15 @@
                     "alipay" : {
                         "__platform__" : [ "ios", "android" ]
                     }
-                }
+                },
+                "geolocation" : {},
+                "maps" : {},
+                "push" : {
+                    "unipush" : null
+                },
+                "share" : {},
+                "speech" : {},
+                "statics" : {}
             },
             "splashscreen" : {
                 "androidStyle" : "default",
@@ -158,7 +164,8 @@
             "https" : true
         },
         "router" : {
-            "base" : "/h5"
+            "base" : "/index/",
+            "mode" : "hash"
         },
         "title" : "潮盲岛",
         "domain" : "https://www.chaomangdao.com/"

+ 0 - 461
pages - 副本.json

@@ -1,461 +0,0 @@
-{
-	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-	{
-	      "path" : "pages/tabbar/index",
-	      "style" :                                                                                    
-	      {
-	          "enablePullDownRefresh": false,
-						"navigationStyle":"custom"
-	      }
-	      
-	  },
-		{
-			"path": "pages/index/index",
-			"style": {
-				"navigationBarTitleText": "uni-app"
-			}
-		},
-	   {
-	   	"path": "pages/index/hot",
-	   	"style": {
-	   		"navigationBarTitleText": "盲盒商城"
-	   	}
-	   }
-        ,{
-            "path" : "pages/index/help",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "新手帮助",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/flow",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "发货流程",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/more",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "盲盒商城",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/details",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-            }
-            
-        }
-				,{
-				    "path" : "pages/tabbar/classify",
-				    "style" :                                                                                    
-				    {
-				        "navigationBarTitleText": "",
-				        "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-				    }
-				    
-				}
-        ,{
-            "path" : "pages/login/register",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-            }
-            
-        },
-				{
-				    "path" : "pages/login/login",
-				    "style" :                                                                                    
-				    {
-				        "navigationBarTitleText": "登录",
-				        "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-				    }
-				    
-				},
-				{
-				    "path" : "pages/login/phoneLogin",
-				    "style" :                                                                                    
-				    {
-				        "navigationBarTitleText": "",
-				        "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-				    }
-				    
-				}
-        ,{
-            "path" : "pages/tabbar/box",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的盒柜",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/tabbar/me",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的",
-                "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/set",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "设置",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/address",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "收货地址",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/addSite",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/coll",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的收藏",
-                "enablePullDownRefresh": true
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/applyFaHuo",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "申请发货",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/record",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "开箱记录",
-                "enablePullDownRefresh": true
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/order",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的订单",
-                "enablePullDownRefresh": true
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/order-details",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "详情",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/logistics",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "物流信息",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/deposit",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "提现",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/balance",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的余额",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/out",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "转出到钱包",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/alipay",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "支付宝绑定",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/WeChat",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "微信绑定",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/wallet",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的钱包",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/recharge",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "充值",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/search",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "搜索",
-                "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-            }
-            
-        }
-				,{
-				    "path" : "pages/login/forgetPassword",
-				    "style" :                                                                                    
-				    {
-				        "navigationBarTitleText": "忘记密码",
-				        "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-				    }
-				    
-				},
-				{
-				    "path" : "pages/login/register",
-				    "style" :                                                                                    
-				    {
-				        "navigationBarTitleText": "注册账号",
-				        "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-				    }
-				    
-				}
-        ,{
-            "path" : "pages/index/shopList",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "商品列表",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/service",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "客服咨询",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/newBox",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "最新开箱",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/recommend",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "推荐盲盒",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/login/bindPhone",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "绑定手机号",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/me/myBox",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的盒柜",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-    ],
-		"subPackages":[{
-			"root":"pagesA",
-			"pages":[
-				{
-				    "path" : "pages/invite",
-				    "style" :                                                                                    
-				    {
-				        "navigationBarTitleText": "",
-				        "enablePullDownRefresh": false,
-								"navigationStyle":"custom"
-				    }
-				    
-				}
-			    ,{
-                    "path" : "pages/camera",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "",
-                    "enablePullDownRefresh": false,
-										"navigationStyle":"custom"
-                }
-                
-                }
-                ,{
-                    "path" : "pages/user",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "用户协议",
-                    "enablePullDownRefresh": false
-                }
-                
-                }
-                ,{
-                    "path" : "pages/privacy",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "隐私协议",
-                    "enablePullDownRefresh": false
-                }
-                
-                }
-                ,{
-                    "path" : "pages/buyer",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "买家须知",
-                    "enablePullDownRefresh": false
-                }
-                
-                }
-                ,{
-                    "path" : "pages/bannerMessage",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "详情",
-                    "enablePullDownRefresh": false
-                }
-                
-                }
-            ]
-		},{
-			"pages":[{
-                    "path" : "pages/server",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "联系客服",
-										"navigationStyle":"custom",
-                    "enablePullDownRefresh": false
-                }
-                
-                }
-            ],
-			"root":"pagesB"
-		}],
-	"globalStyle": {
-		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "盲盒商场",
-		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#F8F8F8"
-	},
-	"tabBar":{
-		"backgroundColor":"#FFFFFF",
-		"color":"#333333",
-		"selectedColor":"#F6AF32",
-		"list":[
-			{
-				"iconPath":"static/image/tabbar/shouyeweixuanzhong@2x.png",
-				"selectedIconPath":"static/image/tabbar/shouyexuanzhong@2x.png",
-				"pagePath":"pages/tabbar/index",
-				"text":"首页"
-			},
-			{
-				"iconPath":"static/image/tabbar/fenleiweixuanzhong@2x.png",
-				"selectedIconPath":"static/image/tabbar/fenleixuanzhong@2x.png",
-				"pagePath":"pages/tabbar/classify",
-				"text":"分类"
-			},
-			{
-				"iconPath":"static/image/tabbar/huishouweixuanzhong@2x.png",
-				"selectedIconPath":"static/image/tabbar/huishouyixuanzhong@2x.png",
-				"pagePath":"pages/tabbar/box",
-				"text":"回收"
-			},
-			{
-				"iconPath":"static/image/tabbar/wodeweixuanzhong@2x.png",
-				"selectedIconPath":"static/image/tabbar/wodeyixuanzhong@2x.png",
-				"pagePath":"pages/tabbar/me",
-				"text":"我的"
-			}
-		]
-	}
-}

+ 0 - 71
pages.json

@@ -315,13 +315,6 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/me/goldDeposit",
-			"style": {
-				"navigationBarTitleText": "金币提现",
-				"enablePullDownRefresh": false
-			}
-
 		}, {
 			"path": "pages/me/balance",
 			"style": {
@@ -329,13 +322,6 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/me/out",
-			"style": {
-				"navigationBarTitleText": "转出到钱包",
-				"enablePullDownRefresh": false
-			}
-
 		}, {
 			"path": "pages/me/alipay",
 			"style": {
@@ -395,27 +381,6 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/index/service",
-			"style": {
-				"navigationBarTitleText": "客服咨询",
-				"enablePullDownRefresh": false
-			}
-
-		}, {
-			"path": "pages/index/newBox",
-			"style": {
-				"navigationBarTitleText": "最新开箱",
-				"enablePullDownRefresh": false
-			}
-
-		}, {
-			"path": "pages/index/recommend",
-			"style": {
-				"navigationBarTitleText": "推荐盲盒",
-				"enablePullDownRefresh": false
-			}
-
 		}, {
 			"path": "pages/login/bindPhone",
 			"style": {
@@ -423,13 +388,6 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/me/myBox",
-			"style": {
-				"navigationBarTitleText": "我的盒柜",
-				"enablePullDownRefresh": false
-			}
-
 		}, {
 			"path": "pages/index/records",
 			"style": {
@@ -437,20 +395,6 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/me/passwordRecharge/passwordRecharge",
-			"style": {
-				"navigationBarTitleText": "充值卡密",
-				"enablePullDownRefresh": false
-			}
-
-		}, {
-			"path": "pages/me/carpassList/carpassList",
-			"style": {
-				"navigationBarTitleText": "卡密充值记录",
-				"enablePullDownRefresh": false
-			}
-
 		}
 	],
 	"subPackages": [{
@@ -464,14 +408,6 @@
 				"navigationStyle": "custom"
 			}
 
-		}, {
-			"path": "pages/camera",
-			"style": {
-				"navigationBarTitleText": "",
-				"enablePullDownRefresh": false,
-				"navigationStyle": "custom"
-			}
-
 		}, {
 			"path": "pages/user",
 			"style": {
@@ -491,13 +427,6 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/bannerMessage",
-			"style": {
-				"navigationBarTitleText": "详情",
-				"enablePullDownRefresh": false
-			}
-
 		}]
 	}, {
 		"root": "pagesB",

+ 5 - 5
pages/index/details.vue

@@ -141,7 +141,7 @@
 		</uni-popup>
 
 		<payment ref="payment" :box-id="box_id" :box-num="boxNum" :type="type" @create-success="closeNumPopup" @show-result="showResult"></payment>
-		<show-result ref="result-popup" :num="boxNum" @accept="toMyBox()" @recycle="recycle" :type="type"></show-result>
+		<show-result ref="resultPopup" :num="boxNum" @accept="toMyBox()" @recycle="recycle" :type="type"></show-result>
 		<recycle ref="recycle"></recycle>
 		<!-- <image src="https://www.chaomangdao.com/image/kxbz.png" mode=""></image> -->
 		<!-- 商品预览start -->
@@ -402,7 +402,7 @@ export default {
 		},
 		//跳转盒柜
 		toMyBox() {
-			this.$refs['result-popup'].close();
+			this.$refs['num-popup'].close();
 			uni.navigateTo({ url: '/pages/me/myBox' });
 		},
 		returnTop() {
@@ -448,14 +448,14 @@ export default {
 		showResult(result) {
 			//试玩
 			if (this.type == 1) {
-				this.$refs['result-popup'].open({ prizeInfo: result.goodsInfo });
+				this.$refs['resultPopup'].open({ prizeInfo: result.goodsInfo });
 				return;
 			}
-			this.$refs['result-popup'].open(result);
+			this.$refs['resultPopup'].open(result);
 		},
 		//回收
 		recycle(prizedata) {
-			this.$refs['result-popup'].close();
+			this.$refs['num-popup'].close();
 			this.$refs['recycle'].recycle(prizedata.prizeInfo);
 		},
 		//玩法规则

+ 0 - 153
pages/index/newBox.vue

@@ -1,153 +0,0 @@
-<template>
-	<view class="newBox">
-		<view class="home_recommend_ul flex">
-			<view class="home_recommend_li" v-for="(item,index) in shopList" :key="index" @click="goMessage(item,0)">
-				<view class="home_recommend_li_img">
-					<view class="home_recommend_li_img_top flex">
-						<view class="home_recommend_li_img_box">
-							<image :src="item.image" mode="aspectFill"></image>
-						</view>
-						<view class="home_recommend_li_img_right" v-if="item.right.length != 0">
-							<image :src="items" mode="aspectFill" v-for="(items,index) in item.right" :key="index"></image>
-						</view>
-					</view>
-					<view class="home_recommend_li_img_bot">
-						<image :src="items" mode="aspectFill" v-for="(items,index) in  item.bot" :key="index"></image>
-					</view>
-					
-				</view>
-				<view class="home_recommend_li_main">
-					<view class="home_recommend_li_price">价值:¥{{ item.price_min }}~¥{{ item.price_max }}</view>
-					<view class="home_recommend_li_name">{{ item.box_name }}</view>
-					<view class="home_recommend_li_glod flex">
-						<text>{{ item.coin_price }}金币</text>
-						<text>共{{ item.goods_num }}款商品</text>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				shopList:[],//商品列表
-			};
-		},
-		methods:{
-			//去详情
-			goMessage (item,type) {
-				uni.navigateTo({url:'/pages/index/details?id=' + item.box_id + '&type=' + type})
-			},
-			//最新开箱
-			getNewbox () {
-				this.$api.newestOpen().then(res=>{
-					if (res.code === 1) {
-						res.data.forEach(item=>{
-							item.image = item.goods_images[0]
-							item.right = []
-							item.bot = []
-							item.goods_images.forEach((em,index)=>{
-								if (index > 0 && index < 3) {
-									item.right.push(em)
-								}
-								if (index > 2) {
-									item.bot.push(em)
-								}
-							})
-						})
-						this.shopList = res.data
-					}
-				})
-			},
-		},
-		onLoad() {
-			this.getNewbox()
-		}
-	}
-</script>
-
-<style lang="scss">
-.home_recommend_ul {
-	flex-wrap: wrap;
-	padding: 0 28rpx;
-	padding-top: 30rpx;
-	.home_recommend_li {
-		width: 332rpx;
-		padding: 20rpx;
-		margin-bottom: 30rpx;
-		background: #FFFFFF;
-		box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(153, 153, 153, 0.1);
-		border-radius: 10rpx;
-		.home_recommend_li_img {
-			height: 295rpx;
-			.home_recommend_li_img_top {
-				align-items: flex-start;
-			}
-			.home_recommend_li_img_bot {
-				display: flex;
-				margin-top: 20rpx;
-				justify-content: flex-end;
-				image {
-					width: 85rpx;
-					height: 85rpx;
-					margin-left: 20rpx;
-					&:first-child {
-						margin-left: 0;
-					}
-					border-radius: 6rpx;
-				}
-			}
-			.home_recommend_li_img_box {
-				image {
-					width: 190rpx;
-					height: 190rpx;
-					border-radius: 6rpx;
-				}
-			}
-			.home_recommend_li_img_right {
-				image {
-					width: 85rpx;
-					height: 85rpx;
-					border-radius: 6rpx;
-					&:first-child {
-						margin-bottom: 20rpx;
-					}
-				}
-			}
-		}
-		.home_recommend_li_price {
-			// width: 280rpx;
-			height: 40rpx;
-			color: #FFFFFF;
-			margin: 20rpx 0;
-			font-size: 26rpx;
-			line-height: 40rpx;
-			padding-left: 18rpx;
-			background: #F6AF32;
-			border-radius: 20rpx;
-		}
-		.home_recommend_li_name {
-			font-size: 28rpx;
-			display: -webkit-box;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
-			height: 76rpx;
-		}
-		.home_recommend_li_glod {
-			margin-top: 30rpx;
-			text {
-				color: #CF271B;
-				font-size: 26tpx;
-				&:last-child {
-					color: #666666;
-					font-size: 24rpx;
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 157
pages/index/recommend.vue

@@ -1,157 +0,0 @@
-<template>
-	<view class="recommend">
-		<view class="home_recommend_ul flex">
-			<view class="home_recommend_li" v-for="(item,index) in shopList" :key="index" @click="goMessage(item,0)">
-				<view class="home_recommend_li_img">
-					<view class="home_recommend_li_img_top flex">
-						<view class="home_recommend_li_img_box">
-							<image :src="item.image" mode="aspectFill"></image>
-						</view>
-						<view class="home_recommend_li_img_right" v-if="item.right.length != 0">
-							<image :src="items" mode="aspectFill" v-for="(items,index) in item.right" :key="index"></image>
-						</view>
-					</view>
-					<view class="home_recommend_li_img_bot">
-						<image :src="items" mode="aspectFill" v-for="(items,index) in  item.bot" :key="index"></image>
-					</view>
-				</view>
-				<view class="home_recommend_li_main">
-					<view class="home_recommend_li_price">价值:¥{{ item.price_min }}~¥{{ item.price_max }}</view>
-					<view class="home_recommend_li_name">{{ item.box_name }}</view>
-					<view class="home_recommend_li_glod flex">
-						<text>{{ item.coin_price }}金币</text>
-						<text>共{{ item.goods_num }}款商品</text>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				page:1,
-				pages:0,//
-				shopList:[],//推荐列表
-			};
-		},
-		methods:{
-			//去详情
-			goMessage (item,type) {
-				uni.navigateTo({url:'/pages/index/details?id=' + item.box_id + '&type=' + type})
-			},
-			//获取推荐列表
-			getShopList () {
-				this.$api.recommend().then(res=>{
-					if (res.code === 1) {
-						res.data.data.forEach(item=>{
-							item.image = item.goods_images[0]
-							item.right = []
-							item.bot = []
-							item.goods_images.forEach((em,index)=>{
-								if (index > 0 && index < 3) {
-									item.right.push(em)
-								}
-								if (index > 2) {
-									item.bot.push(em)
-								}
-							})
-						})
-						this.shopList = this.page == 1 ? res.data.data : [...this.shopList,...res.data.data],
-						this.pages = res.data.last_page
-					}
-				})
-			},
-		},
-		onLoad() {
-			this.getShopList()
-		}
-	}
-</script>
-
-<style lang="scss">
-	.recommend {
-		padding-top: 30rpx;
-	}
-.home_recommend_ul {
-	flex-wrap: wrap;
-	padding: 0 28rpx;
-	.home_recommend_li {
-		width: 332rpx;
-		padding: 20rpx;
-		margin-bottom: 30rpx;
-		background: #FFFFFF;
-		box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(153, 153, 153, 0.1);
-		border-radius: 10rpx;
-		.home_recommend_li_img {
-			height: 295rpx;
-			.home_recommend_li_img_top {
-				align-items: flex-start;
-			}
-			.home_recommend_li_img_bot {
-				display: flex;
-				margin-top: 20rpx;
-				justify-content: flex-end;
-				image {
-					width: 85rpx;
-					height: 85rpx;
-					margin-left: 20rpx;
-					&:first-child {
-						margin-left: 0;
-					}
-					border-radius: 6rpx;
-				}
-			}
-			.home_recommend_li_img_box {
-				image {
-					width: 190rpx;
-					height: 190rpx;
-					border-radius: 6rpx;
-				}
-			}
-			.home_recommend_li_img_right {
-				image {
-					width: 85rpx;
-					height: 85rpx;
-					border-radius: 6rpx;
-					&:first-child {
-						margin-bottom: 20rpx;
-					}
-				}
-			}
-		}
-		.home_recommend_li_price {
-			// width: 280rpx;
-			height: 40rpx;
-			color: #FFFFFF;
-			margin: 20rpx 0;
-			font-size: 26rpx;
-			line-height: 40rpx;
-			padding-left: 18rpx;
-			background: #F6AF32;
-			border-radius: 20rpx;
-		}
-		.home_recommend_li_name {
-			font-size: 28rpx;
-			display: -webkit-box;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
-			height: 76rpx;
-		}
-		.home_recommend_li_glod {
-			margin-top: 30rpx;
-			text {
-				color: #CF271B;
-				font-size: 26tpx;
-				&:last-child {
-					color: #666666;
-					font-size: 24rpx;
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 182
pages/index/service.vue

@@ -1,182 +0,0 @@
-<template>
-	<view class="service">
-		<view class="service_ul">
-			<scroll-view scroll-y="true" refresher-default-style="none" @scrolltoupper="scrolltoupper" refresher-background="rgba(255,255,255,0)" id="scrollview" scroll-with-animation class="scroll-view" :scroll-top="scrollTop" :scroll-into-view="indexId">
-				<view id="msglistview">
-					<view class="service_ul_li" v-for="(item,index) in list" :key="index" >
-						<view class="service_ul_left flexs" v-if="index % 2 == 0" :id="'index' + index">
-							<view class="service_ul_left_ttx">这次工作很重要</view>
-							<view class="service_ul_li_img">
-								<image src="/static/logo.png" mode="aspectFill"></image>
-							</view>
-						</view>
-						<view class="service_ul_right flexs" v-else>
-							<view class="service_ul_li_img">
-								<image src="/static/logo.png" mode="aspectFill"></image>
-							</view>
-							<view class="service_ul_right_txt">您还有其他交代吗您还有其他交代吗您还有其他交代吗?</view>
-						</view>
-					</view>
-				</view>
-				
-			</scroll-view>
-		</view>
-		<view class="service_footer flex">
-			<view class="service_footer_ipt flexs">
-				<textarea auto-height maxlength="-1" v-model="keyword" @focus="changefocus" :focus="focus" hold-keyboard @confirm="submitSend" fixed confirm-type="send" />
-			</view>
-			<!-- <view class="service_footer_send center" @click="submitSend">发送</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				keyword:'',
-				focus:true,
-				indexId:'index0',
-				scrollTop:40,
-				list:[0,1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],//
-			};
-		},
-		methods:{
-			scrolltoupper (e) {
-				console.log(e);
-				this.list = [0,...this.list]
-			},
-			changefocus () {
-				 let u = navigator.userAgent, app = navigator.appVersion;
-				   let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
-				   if(isAndroid){
-				      setTimeout(function() {
-				      document.activeElement.scrollIntoViewIfNeeded();
-				      document.activeElement.scrollIntoView();
-				      }, 500);
-				   }
-			},
-			//获取页面高度
-			getHeight () {
-				setTimeout(()=>{
-					let that = this
-					let query = uni.createSelectorQuery()
-					query.select('#scrollview').boundingClientRect()
-					query.select('#msglistview').boundingClientRect()
-					query.exec((res) => {
-							if(res[1].height > res[0].height){
-									that.scrollTop = res[1].height
-							}
-					})
-				},100)
-			},
-			submitSend () {
-				this.list.push(0)
-				this.indexId = 'index' + (this.list.length - 1)
-				this.focus = true
-				this.keyword = ''
-				this.getHeight()
-			}
-		},
-		onLoad() {
-			this.getHeight()
-			setInterval(()=>{
-				this.list.push(0)
-				this.getHeight()
-			},3000)
-		}
-	}
-</script>
-
-<style lang="scss">
-	#msglistview {
-		overflow: hidden;
-	}
-	.service_ul {
-		
-		// padding-right: 30rpx;
-	}
-.scroll-view {
-	width: 770rpx;
-	overflow: hidden;
-	padding: 0 0 0 30rpx;
-	
-	background: #FAFAFA;
-	height: calc(100vh - 98rpx - 44px);
-	.service_ul_left {
-		display: flex;
-		justify-content: flex-end;
-	}
-	.service_ul_left_ttx {
-		padding: 20rpx;
-		font-size: 32rpx;
-		position: relative;
-		background: #95EC69;
-		border-radius: 10rpx;
-		margin-right: 20rpx;
-		&::after {
-			content: '';
-			top: 50%;
-			right: -17rpx;
-			transform: translateY(-50%);
-			position: absolute;
-			border-width: 9rpx;
-			border-color: transparent transparent transparent #95EC69;
-			border-style: dotted dotted dotted solid;
-		}
-	}
-	.service_ul_right_txt {
-		padding: 20rpx;
-		font-size: 32rpx;
-		position: relative;
-		background: #FFFFFF;
-		border-radius: 10rpx;
-		margin-left: 20rpx;
-		&::after {
-			content: '';
-			top: 50%;
-			left: -17rpx;
-			transform: translateY(-50%);
-			position: absolute;
-			border-width: 9rpx;
-			border-color: transparent  #FFFFFF transparent transparent ;
-			border-style: dotted dotted dotted solid;
-		}
-	}
-	.service_ul_li {
-		padding-right: 50rpx;
-		margin-bottom: 40rpx;
-		&:first-child {
-			margin-top: 40rpx;
-		}
-	}
-	.service_ul_li_img {
-		width: 80rpx;
-		height: 80rpx;
-		flex-shrink: 0;
-		image {
-			border-radius: 4rpx;
-		}
-		
-	}
-}
-.service_footer {
-	width: 100%;
-	position: fixed;
-	bottom: 0;
-	background: #FFFFFF;
-	padding: 20rpx 0 20rpx 30rpx;
-	.service_footer_ipt {
-		width: 605rpx;
-		min-height: 56rpx;
-		padding: 10rpx 20rpx;
-		background: #FAFAFA;
-		border-radius: 28rpx;
-	}
-	.service_footer_send {
-		font-size: 28rpx;
-		flex: 1;
-		height: 56rpx;
-	}
-}
-</style>

+ 2 - 2
pages/login/login.vue

@@ -29,7 +29,7 @@
 		</view> -->
 		<view class="register_consent center">
 			<image :src="isConsent ? '/static/image/publice/xuanzhong@2x.png' : '/static/image/publice/weixuanzhong1@2x.png'" mode="" @click="isConsent = !isConsent"></image>
-			<text>登录即表明同意</text>
+			<text>已阅读并同意</text>
 			<text class="blue" @click="goUser">《用户协议》</text>
 			<text>和</text>
 			<text class="blue" @click="goPrivacy">《隐私政策》</text>
@@ -43,7 +43,7 @@ export default {
 	data() {
 		return {
 			isPassword: false, //是否密码登录
-			isConsent: true, //是否同意
+			isConsent: false, //是否同意
 			flag: true,
 			codeTxt: '获取验证码',
 			sending: true,

+ 14 - 4
pages/login/register.vue

@@ -27,11 +27,11 @@
 		</view>
 		<button class="register_btn" hover-class="hover-view" @click="submit">注册并登录</button>
 		<view class="register_consent center">
-			<!-- 			<image src="/static/logo.png" mode=""></image> -->
-			<text>登录即表明同意</text>
-			<text class="blue">《用户协议》</text>
+			<image :src="isConsent ? '/static/image/publice/xuanzhong@2x.png' : '/static/image/publice/weixuanzhong1@2x.png'" mode="" @click="isConsent = !isConsent"></image>
+			<text>阅读并同意</text>
+			<text class="blue" @click="goUser">《用户协议》</text>
 			<text>和</text>
-			<text class="blue">《隐私政策》</text>
+			<text class="blue" @click="goPrivacy">《隐私政策》</text>
 		</view>
 	</view>
 </template>
@@ -41,6 +41,7 @@ import $DB from '../../http/debounce.js';
 export default {
 	data() {
 		return {
+			isConsent: false, //是否同意
 			form: {
 				mobile: '',
 				password: null,
@@ -97,6 +98,7 @@ export default {
 				});
 				return;
 			}
+			if (!this.isConsent) return uni.showToast({ title: '请阅读并同意用户和隐私协议', icon: 'none' });
 			this.$api.send({ mobile: this.form.mobile, msg: '发送中', event: 'register' }).then(res => {
 				this.sending = false;
 				this.disabled = true;
@@ -109,6 +111,14 @@ export default {
 				});
 			});
 		}),
+		//去隐私协议
+		goPrivacy() {
+			uni.navigateTo({ url: '/pagesA/pages/privacy' });
+		},
+		//去用户协议
+		goUser() {
+			uni.navigateTo({ url: '/pagesA/pages/user' });
+		},
 		timeDown() {
 			let result = setInterval(() => {
 				--this.second;

+ 196 - 201
pages/me/addSite.vue

@@ -1,203 +1,198 @@
-<template>
-	<view class="address">
-		<view class="address_head flex">
+<template>
+	<view class="address">
+		<view class="address-top flex">
 			<!-- <image src="/static/image/publice/fanhui@2x.png" mode="" @click="retutnTop"></image> -->
-			<image src="" mode="" @click="retutnTop"></image>
-			<text>{{ type == 0 ? '添加收货地址' : '修改收货地址' }}</text>
-			<image :src="type== 0 ? '' : '/static/image/me/shanchu@2x.png' " mode="" @click="delAddress"></image>
-		</view>
-		<view class="address_ul">
-			<view class="address_li">
-				<view class="address_name">收货人</view>
-				<view class="address_ipt flex">
-					<input type="text" maxlength="10" v-model="user.username" placeholder="请输入收货人姓名" placeholder-style="color:#999999" />
-				</view>
-			</view>
-			<view class="address_li">
-				<view class="address_name">手机号</view>
-				<view class="address_ipt flex">
-					<input type="number" maxlength="11" v-model="user.mobile" placeholder="请输入收货人手机号" placeholder-style="color:#999999" />
-				</view>
-			</view>
-			<pick-regions :defaultRegion="defaultRegionCode" @getRegion="handleGetRegion">
-				<view class="address_li">
-					<view class="address_name">所在地区</view>
-					<view class="address_ipt flex">
-						<input type="text" v-model="address" placeholder="请选择地区" disabled placeholder-style="color:#999999" />
-						<image src="/static/image/publice/jinruer@2x.png" mode=""></image>
-					</view>
-				</view>
-			</pick-regions>
-			
-			<view class="address_li">
-				<view class="address_name">详细地址</view>
-				<view class="address_ipt address_ipts flex">
-					<textarea placeholder="如:街道、楼牌号等" v-model="user.detail" placeholder-style="color:#999999" maxlength="-1"></textarea>
-				</view>
-			</view>
-		</view>
-		<view class="address_switch flex">
-			<text>设置为默认地址</text>
-			<switch color="#DEBB81" @change="changeSwitch" :checked="user.is_default == 1"></switch>
-		</view>
-		<button class="address_btn" hover-class="hover-view" @click="submit">保存收货地址</button>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				user:{
-					username:'',
-					mobile:'',
-					province:'',
-					city:'',
-					area:'',
-					detail:'',
-					is_default:0,
-					address_id:''
-				},
-				type:0,//添加还是编辑
-				flag:true,//
-				address:'',
-				defaultRegionCode:['河南省','郑州市','中原区']
-			};
-		},
-		methods:{
-			//删除地址
-			delAddress () {
-				uni.showModal({
-					content: '是否删除地址?',
-					success:  (res)=> {
-						if (res.confirm) {
-							this.$api.deleteAddress({address_id:this.user.address_id}).then(res=>{
-								if (res.code === 1) {
-									uni.showToast({title:res.msg})
-									setTimeout(()=>{
-										uni.navigateBack()
-									},800)
-								}
-							})
-						} 
-					}
-				});
-			},
-			//返回上一级
-			retutnTop () {
-				uni.navigateBack()
-			},
-			//选择地区
-			handleGetRegion (e) {
-				this.user.province = e[0].name
-				this.user.city = e[1].name
-				this.user.area = e[2].name
-				this.address = e[0].name + e[1].name + e[2].name
-			},
-			changeSwitch (e) {
-				this.user.is_default = e.detail.value ?  1 : 0 
-			},
-			submit () {
-				if (!this.user.username) return uni.showToast({title:'请输入收货人姓名',icon:'none'})
-				if (!this.user.mobile.match(/^(0|86|17951)?1[3456789]\d{9}$/)) return uni.showToast({title:'请输入正确的手机号',icon:'none'})
-				if (!this.address) return uni.showToast({title:'请选择地区',icon:'none'})
-				if (!this.user.detail) return uni.showToast({title:'请输入详细地址',icon:'none'})
-				if (!this.flag) return
-				this.flag = false
-				uni.showLoading({title:'数据提交中'})
-				this.$api[this.type == 0 ? 'addAddress' : 'editAddress']({...this.user}).then(res=>{
-					uni.hideLoading()
-					if (res.code === 1) {
-						uni.showToast({title:res.msg})
-						setTimeout(()=>{
-							uni.navigateBack()
-						},800)
-						this.type == 1 ? uni.removeStorageSync('editAddress') : ''
-					} else {
-						this.flag = true
-					}
-				})
-			}
-		},
-		onLoad ({type}) {
-			this.type = type
-		},
-		onShow() {
-			if (uni.getStorageSync('editAddress')) {
-				this.user = JSON.parse(uni.getStorageSync('editAddress'))
-				this.address = JSON.parse(uni.getStorageSync('editAddress')).province + JSON.parse(uni.getStorageSync('editAddress')).city + JSON.parse(uni.getStorageSync('editAddress')).area
-				this.user.is_default = JSON.parse(uni.getStorageSync('editAddress')).is_default ? 1 : 0
-			}
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	.address_head {
-		width: 100%;
-		height: 88rpx;
-		padding: 0 30rpx;
-		background: #FFFFFF;
-		image {
-			width: 44rpx;
-			height: 44rpx;
-		}
-		text {
-			font-size: 36rpx;
-			font-weight: bold;
-		}
-	}
-.address_ul {
-	padding: 20rpx 30rpx 0 30rpx;
-	.address_li {
-		
-		.address_name {
-			font-size: 30rpx;
-			font-weight: bold;
-			padding: 30rpx 0;
-		}
-		.address_ipt {
-			height: 80rpx;
-			padding: 0 30rpx;
-			background: #FFFFFF;
-			border-radius: 10rpx;
-			input {
-				font-size: 28rpx;
-			}
-			image {
-				width: 22rpx;
-				height: 22rpx;
-			}
-		}
-		.address_ipts {
-			padding: 30rpx;
-			height: 160rpx;
-			textarea {
-				font-size: 28rpx;
-			}
-		}
-	}
-}
-.address_switch {
-	height: 88rpx;
-	margin: 30rpx 0 84rpx 0;
-	padding: 0 30rpx;
-	background: #FFFFFF;
-	text {
-		font-size: 30rpx;
-		font-weight: bold;
-	}
-}
-.address_btn {
-	width: 690rpx;
-	height: 98rpx;
-	color: #333333;
-	margin: 0 auto;
-	font-size: 30rpx;
-	font-weight: bold;
-	background: #FFFFFF;
-	box-shadow: 0rpx 0rpx 121rpx 0rpx rgba(63, 52, 2, 0.12);
-	border-radius: 10rpx;
-}
+			<image src="" mode="" @click="retutnTop"></image>
+			<text>{{ type == 0 ? '添加收货地址' : '修改收货地址' }}</text>
+			<image :src="type == 0 ? '' : '/static/image/me/shanchu@2x.png'" mode="" @click="delAddress"></image>
+		</view>
+		<view class="address-info">
+			<view class="address-item">
+				<view class="address-font">收货人</view>
+				<view class="ainput flex"><input type="text" maxlength="10" v-model="user.username" placeholder="请输入收货人姓名" placeholder-style="color:#999999" /></view>
+			</view>
+			<view class="address-item">
+				<view class="address-font">手机号</view>
+				<view class="ainput flex"><input type="number" maxlength="11" v-model="user.mobile" placeholder="请输入收货人手机号" placeholder-style="color:#999999" /></view>
+			</view>
+			<pick-regions :defaultRegion="defaultRegionCode" @getRegion="handleGetRegion">
+				<view class="address-item">
+					<view class="address-font">所在地区</view>
+					<view class="ainput flex">
+						<input type="text" v-model="address" placeholder="请选择地区" disabled placeholder-style="color:#999999" />
+						<image src="/static/image/publice/jinruer@2x.png" mode=""></image>
+					</view>
+				</view>
+			</pick-regions>
+
+			<view class="address-item">
+				<view class="address-font">详细地址</view>
+				<view class="ainput ainputs flex">
+					<textarea placeholder="如:街道、楼牌号等" v-model="user.detail" placeholder-style="color:#999999" maxlength="-1"></textarea>
+				</view>
+			</view>
+		</view>
+		<view class="address-switch flex">
+			<text>设置为默认地址</text>
+			<switch color="#DEBB81" @change="changeSwitch" :checked="user.is_default == 1"></switch>
+		</view>
+		<button class="btn" hover-class="hover-view" @click="submit">保存收货地址</button>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			user: {
+				username: '',
+				mobile: '',
+				province: '',
+				city: '',
+				area: '',
+				detail: '',
+				is_default: 0,
+				address_id: ''
+			},
+			type: 0, //添加还是编辑
+			flag: true, //
+			address: '',
+			defaultRegionCode: ['河南省', '郑州市', '中原区']
+		};
+	},
+	methods: {
+		//删除地址
+		delAddress() {
+			uni.showModal({
+				content: '是否删除地址?',
+				success: res => {
+					if (res.confirm) {
+						this.$api.deleteAddress({ address_id: this.user.address_id }).then(res => {
+							if (res.code === 1) {
+								uni.showToast({ title: res.msg });
+								setTimeout(() => {
+									uni.navigateBack();
+								}, 800);
+							}
+						});
+					}
+				}
+			});
+		},
+		//返回上一级
+		retutnTop() {
+			uni.navigateBack();
+		},
+		//选择地区
+		handleGetRegion(e) {
+			this.user.province = e[0].name;
+			this.user.city = e[1].name;
+			this.user.area = e[2].name;
+			this.address = e[0].name + e[1].name + e[2].name;
+		},
+		changeSwitch(e) {
+			this.user.is_default = e.detail.value ? 1 : 0;
+		},
+		submit() {
+			if (!this.user.username) return uni.showToast({ title: '请输入收货人姓名', icon: 'none' });
+			if (!this.user.mobile.match(/^(0|86|17951)?1[3456789]\d{9}$/)) return uni.showToast({ title: '请输入正确的手机号', icon: 'none' });
+			if (!this.address) return uni.showToast({ title: '请选择地区', icon: 'none' });
+			if (!this.user.detail) return uni.showToast({ title: '请输入详细地址', icon: 'none' });
+			if (!this.flag) return;
+			this.flag = false;
+			uni.showLoading({ title: '数据提交中' });
+			this.$api[this.type == 0 ? 'addAddress' : 'editAddress']({ ...this.user }).then(res => {
+				uni.hideLoading();
+				if (res.code === 1) {
+					uni.showToast({ title: res.msg });
+					setTimeout(() => {
+						uni.navigateBack();
+					}, 800);
+					this.type == 1 ? uni.removeStorageSync('editAddress') : '';
+				} else {
+					this.flag = true;
+				}
+			});
+		}
+	},
+	onLoad({ type }) {
+		this.type = type;
+	},
+	onShow() {
+		if (uni.getStorageSync('editAddress')) {
+			this.user = JSON.parse(uni.getStorageSync('editAddress'));
+			this.address =
+				JSON.parse(uni.getStorageSync('editAddress')).province + JSON.parse(uni.getStorageSync('editAddress')).city + JSON.parse(uni.getStorageSync('editAddress')).area;
+			this.user.is_default = JSON.parse(uni.getStorageSync('editAddress')).is_default ? 1 : 0;
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.address-top {
+	width: 100%;
+	height: 88rpx;
+	padding: 0 30rpx;
+	background: #ffffff;
+	image {
+		width: 44rpx;
+		height: 44rpx;
+	}
+	text {
+		font-size: 36rpx;
+		font-weight: bold;
+	}
+}
+.address-info {
+	padding: 20rpx 30rpx 0 30rpx;
+	.address-item {
+		.address-font {
+			font-size: 30rpx;
+			font-weight: bold;
+			padding: 30rpx 0;
+		}
+		.ainput {
+			height: 80rpx;
+			padding: 0 30rpx;
+			background: #ffffff;
+			border-radius: 10rpx;
+			input {
+				font-size: 28rpx;
+			}
+			image {
+				width: 22rpx;
+				height: 22rpx;
+			}
+		}
+		.ainputs {
+			padding: 30rpx;
+			height: 160rpx;
+			textarea {
+				font-size: 28rpx;
+			}
+		}
+	}
+}
+.address-switch {
+	height: 88rpx;
+	margin: 30rpx 0 84rpx 0;
+	padding: 0 30rpx;
+	background: #ffffff;
+	text {
+		font-size: 30rpx;
+		font-weight: bold;
+	}
+}
+.btn {
+	width: 690rpx;
+	height: 98rpx;
+	color: #333333;
+	margin: 0 auto;
+	font-size: 30rpx;
+	font-weight: bold;
+	background: #ffffff;
+	box-shadow: 0rpx 0rpx 121rpx 0rpx rgba(63, 52, 2, 0.12);
+	border-radius: 10rpx;
+}
 </style>

+ 67 - 71
pages/me/address.vue

@@ -1,86 +1,84 @@
 <template>
 	<view class="address">
-		<view class="address_wu" v-if="addressList.length == 0">
-			<view class="address_wu_img center">
+		<view class="noaddress" v-if="addressList.length == 0">
+			<view class="noaddress-bg center">
 				<image src="/static/image/publice/zanwushouhuo@2x.png" mode=""></image>
 				<text>暂无收货地址</text>
 			</view>
-			<button class="address_wu_btn" hover-class="hover-view" @click="address(0)">添加收货地址</button>
+			<button class="btn-no" hover-class="hover-view" @click="navTo(0)">添加收货地址</button>
 		</view>
-		<view class="address_have" v-else>
-			<view class="address_have_ul">
-				<view class="address_have_li flex" v-for="(item,index) in addressList" :key="index" @click="selectAddress(item)">
-					<view class="address_have_li_main">
-						<view class="address_have_li_title">{{ item.province }} {{ item.city }} {{ item.area }}</view>
-						<view class="address_have_li_txt">{{ item.detail }}</view>
-						<view class="address_have_li_name flexs">
+		<view class="address-list" v-else>
+			<view class="address-list-main">
+				<view class="address-list-item flex" v-for="(item, index) in addressList" :key="index" @click="selectAddress(item)">
+					<view class="address-list-item-info">
+						<view class="address-list-scq">{{ item.province }} {{ item.city }} {{ item.area }}</view>
+						<view class="address-list-detail">{{ item.detail }}</view>
+						<view class="address-list-userInfo flexs">
 							<text>{{ item.username }}</text>
 							<text>{{ item.mobile }}</text>
 						</view>
 					</view>
-					<view class="address_have_li_edit" @click.stop="editAddress(item)">
-						<image src="/static/image/me/bianji@2x.png" mode=""></image>
-					</view>
+					<view class="edit" @click.stop="editAddress(item)"><image src="/static/image/me/bianji@2x.png" mode=""></image></view>
 				</view>
 			</view>
-			<button class="address_have_btn address_wu_btn" @click="address(0)">新增收货地址</button>
+			<button class="btn btn-no" @click="navTo(0)">新增收货地址</button>
 		</view>
 	</view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				type:1,//1回收选择地址
-				addressList:[]
-			};
+export default {
+	data() {
+		return {
+			type: 1, //1回收选择地址
+			addressList: []
+		};
+	},
+	methods: {
+		//编辑地址
+		editAddress(item) {
+			uni.setStorageSync('editAddress', JSON.stringify(item));
+			uni.navigateTo({ url: '/pages/me/addSite?type=1' });
 		},
-		methods:{
-			//编辑地址
-			editAddress (item) {
-				uni.setStorageSync('editAddress',JSON.stringify(item))
-				uni.navigateTo({url:'/pages/me/addSite?type=1'})
-			},
-			//选择地址
-			selectAddress (item) {
-				if (this.type == 1 || this.type ==  2) {
-					uni.setStorageSync(this.type == 1 ? 'applyAddress' : '',JSON.stringify(item))
-					uni.navigateBack()
-				}
-			},
-			address (type) {
-				uni.navigateTo({url:'/pages/me/addSite?type=' + type})
-			},
-			//获取收货地址
-			getAddressList () {
-				this.$api.myAddress().then(res=>{
-					if (res.code === 1) {
-						this.addressList = res.data
-						if (res.data.length == 0) {
-							uni.removeStorageSync('applyAddress')
-						}
-					}
-				})
+		//选择地址
+		selectAddress(item) {
+			if (this.type == 1 || this.type == 2) {
+				uni.setStorageSync(this.type == 1 ? 'applyAddress' : '', JSON.stringify(item));
+				uni.navigateBack();
 			}
 		},
-		onLoad ({type}) {
-			this.type = type
+		navTo(type) {
+			uni.navigateTo({ url: '/pages/me/addSite?type=' + type });
 		},
-		onShow () {
-			this.getAddressList()
+		//获取收货地址
+		loadData() {
+			this.$api.myAddress().then(res => {
+				if (res.code === 1) {
+					this.addressList = res.data;
+					if (res.data.length == 0) {
+						uni.removeStorageSync('applyAddress');
+					}
+				}
+			});
 		}
+	},
+	loadData({ type }) {
+		this.type = type;
+	},
+	onShow() {
+		this.loadData();
 	}
+};
 </script>
 
 <style lang="scss">
-.address_wu {
+.noaddress {
 	display: flex;
 	padding: 165rpx 30rpx 35rpx 30rpx;
 	flex-direction: column;
 	justify-content: space-between;
 	height: calc(100vh - 44px);
-	.address_wu_img {
+	.noaddress-bg {
 		flex-direction: column;
 		image {
 			width: 354rpx;
@@ -92,32 +90,31 @@
 			font-weight: bold;
 		}
 	}
-	
 }
-.address_wu_btn {
-		height: 98rpx;
-		color: #333333;
-		font-size: 30rpx;
-		font-weight: bold;
-		background: #FFFFFF;
-		box-shadow: 0rpx 0rpx 121rpx 0rpx rgba(63, 52, 2, 0.12);
-		border-radius: 10rpx;
-	}
-.address_have_ul {
+.btn-no {
+	height: 98rpx;
+	color: #333333;
+	font-size: 30rpx;
+	font-weight: bold;
+	background: #ffffff;
+	box-shadow: 0rpx 0rpx 121rpx 0rpx rgba(63, 52, 2, 0.12);
+	border-radius: 10rpx;
+}
+.address-list-main {
 	padding: 30rpx 30rpx 130rpx 30rpx;
-	.address_have_li {
+	.address-list-item {
 		padding: 30rpx;
 		margin-bottom: 30rpx;
-		background: #FFFFFF;
-		.address_have_li_title {
+		background: #ffffff;
+		.address-list-scq {
 			color: #666666;
 			font-size: 28rpx;
 		}
-		.address_have_li_txt {
+		.address-list-detail {
 			font-size: 26rpx;
 			margin: 20rpx 0;
 		}
-		.address_have_li_name {
+		.address-list-userInfo {
 			text {
 				color: #999999;
 				font-size: 30rpx;
@@ -127,18 +124,17 @@
 				}
 			}
 		}
-		.address_have_li_edit {
+		.edit {
 			width: 44rpx;
 			height: 44rpx;
 		}
 	}
 }
-.address_have_btn {
+.btn {
 	width: 690rpx;
 	left: 50%;
 	bottom: 34rpx;
 	transform: translateX(-50%);
 	position: fixed;
 }
-
 </style>

+ 26 - 35
pages/me/balance.vue

@@ -1,30 +1,25 @@
 <template>
 	<view class="balance">
-		<view class="balance_head">
-			<view class="balance_head_bj center">
+		<view class="balance-top">
+			<view class="balance-top-bg center">
 				<text>{{ balancePrice }}</text>
 				<text>余额</text>
 			</view>
-			<view class="balance_head_ul flex" style="justify-content: center;">
-				<!-- <view class="balance_head_li center" v-for="(item,index) in 2" :key='index' @click="changeBalance(index)"> {{ index == 0 ? '转到钱包' : '提现' }}</view> -->
-				<!-- <view class="balance_head_li center" @click="changeBalance(0)">转到钱包</view> -->
-				<!-- <view style="width: 10px;"></view> -->
-				<!-- <view class="balance_head_li center" @click="carpassList">卡密充值记录</view> -->
-			</view>
+			<view class="xian flex" style="justify-content: center;"></view>
 		</view>
-		<view class="balance_main">
-			<view class="balance_main_head flexs">
-				<view class="balance_main_li center" v-for="(item, index) in 2" :key="index" :class="{ active: index == i }" @click="changeI(index)">
+		<view class="main">
+			<view class="main-top flexs">
+				<view class="main-item center" v-for="(item, index) in 2" :key="index" :class="{ active: index == i }" @click="changeMoney(index)">
 					{{ index == 0 ? '收入' : '支出' }}
 				</view>
 			</view>
-			<view class="balance_main_list">
-				<view class="balance_main_list_li flex" v-for="(item, index) in balanceList" :key="index">
-					<view class="balance_main_list_li_con">
-						<view class="balance_main_list_li_name">{{ item.type }}</view>
-						<view class="balance_main_list_li_time">时间:{{ item.create_time }}</view>
+			<view class="main-list">
+				<view class="main-list-item flex" v-for="(item, index) in balanceList" :key="index">
+					<view class="main-list-main">
+						<view class="main-list-main-name">{{ item.type }}</view>
+						<view class="main-list-main-time">时间:{{ item.create_time }}</view>
 					</view>
-					<view class="balance_main_list_li_price" :class="{ blue: i == 1 }">{{ item.money }}</view>
+					<view class="main-list-main-price" :class="{ blue: i == 1 }">{{ item.money }}</view>
 				</view>
 			</view>
 		</view>
@@ -43,19 +38,15 @@ export default {
 		};
 	},
 	methods: {
-		//选择哪个
-		changeBalance(index) {
-			uni.navigateTo({ url: index == 0 ? '/pages/me/out' : '/pages/me/goldDeposit' });
-		},
 		//切换
-		changeI(index) {
+		changeMoney(index) {
 			this.i = index;
 			this.page = 1;
 			this.balanceList = [];
-			this.getBalanceList();
+			this.loadData();
 		},
 		//
-		getBalanceList() {
+		loadData() {
 			this.$api.myBalance({ page: this.page, type: this.i == 0 ? 'in' : 'out', msg: '数据加载中' }).then(res => {
 				uni.stopPullDownRefresh();
 				if (res.code === 1) {
@@ -73,7 +64,7 @@ export default {
 		}
 	},
 	onLoad() {
-		this.getBalanceList();
+		this.loadData();
 	},
 	onPullDownRefresh() {
 		this.page = 1;
@@ -92,8 +83,8 @@ export default {
 <style lang="scss">
 .balance {
 	padding: 0 30rpx;
-	.balance_head {
-		.balance_head_bj {
+	.balance-top {
+		.balance-top-bg {
 			height: 220rpx;
 			margin-bottom: 30rpx;
 			background: url(https://www.chaomangdao.com/image/yuebeijing@2x.png) no-repeat;
@@ -111,7 +102,7 @@ export default {
 				}
 			}
 		}
-		.balance_head_li {
+		.balance-top_li {
 			width: 330rpx;
 			height: 78rpx;
 			margin-bottom: 20rpx;
@@ -129,11 +120,11 @@ export default {
 		}
 	}
 }
-.balance_main_head {
+.main-top {
 	background: #ffffff;
 	border-radius: 10rpx 10rpx 0rpx 0rpx;
 	border-bottom: 2rpx solid #fafafa;
-	.balance_main_li {
+	.main-item {
 		width: 50%;
 		height: 80rpx;
 		font-size: 30rpx;
@@ -156,21 +147,21 @@ export default {
 		}
 	}
 }
-.balance_main_list {
+.main-list {
 	background: #ffffff;
 	border-radius: 0rpx 0rpx 10rpx 10rpx;
-	.balance_main_list_li {
+	.main-list-item {
 		padding: 20rpx 30rpx;
 		border-bottom: 2rpx solid #fafafa;
-		.balance_main_list_li_name {
+		.main-list-main-name {
 			color: #666666;
 			font-size: 26rpx;
 			margin-bottom: 20rpx;
 		}
-		.balance_main_list_li_time {
+		.main-list-main-time {
 			color: #999999;
 		}
-		.balance_main_list_li_price {
+		.main-list-main-price {
 			color: #ff4891;
 			font-size: 30rpx;
 		}

+ 0 - 78
pages/me/carpassList/carpassList.vue

@@ -1,78 +0,0 @@
-<template>
-	<view>
-		<view class="carpass-list">
-			<template v-for="carpass in carpassList">
-				<view class="carpass-item" :key="carpass.id">
-					<view class="carpass-item-top">
-						<view class="password">
-							卡密:{{carpass.password}}
-						</view>
-					</view>
-					<view class="carpass-item-bottom">
-						<view class="price">
-							<view class="symbol">¥</view>{{carpass.price}}
-						</view>
-						<view class="etime">
-							充值时间:{{carpass.etime}}
-						</view>
-					</view>
-				</view>
-			</template>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				carpassList: []
-			}
-		},
-		created(){
-			this.loadCarpassList()
-		},
-		methods: {
-			loadCarpassList(){
-				this.$api.carpassList().then( res => {
-					if(res.code === 1){
-						this.carpassList = res.data
-					}
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.carpass-item{
-		display: flex;
-		flex-direction: column;
-		margin: 0 10px;
-		margin-bottom: 10px;
-		background-color: white;
-		padding: 10px;
-		.password{
-			font-size: 16px;
-			font-weight: bold;
-			margin-bottom: 10px;
-		}
-		.price{
-			color: red;
-			font-weight: bold;
-			font-size: 14px;
-			.symbol{
-				display: inline-block;
-			}
-		}
-		.etime{
-			color: #7f7f7f;
-		}
-		> view{
-			display: flex;
-			> view{
-				flex: 1;
-			}
-		}
-	}
-</style>

+ 69 - 72
pages/me/coll.vue

@@ -1,16 +1,14 @@
 <template>
 	<view class="coll">
-		<view class="box_ul">
-			<view class="box_ul_li flexs" v-for="(item,index) in collList" :key="index" @click="goMessage(item,0)">
-				<view class="box_ul_li_img">
-					<image :src="item.image" mode="aspectFill"></image>
-				</view>
-				<view class="box_ul_li_main">
-					<view class="box_ul_li_name">{{ item.box_name }}</view>
-					<view class="box_ul_li_price">{{ item.coin_price }}金币</view>
-					<view class="box_ul_li_time flex">
+		<view class="collect">
+			<view class="collect-item flexs" v-for="(item, index) in collList" :key="index" @click="goMessage(item, 0)">
+				<view class="collect-item-icon"><image :src="item.image" mode="aspectFill"></image></view>
+				<view class="collect-item-main">
+					<view class="collect-name">{{ item.box_name }}</view>
+					<view class="collect-money">{{ item.coin_price }}金币</view>
+					<view class="collect-time flex">
 						<text>时间:{{ item.star_time }}</text>
-						<image src="/static/image/me/shanchu@2x.png" mode="" @click.stop="delStar(index,item)"></image>
+						<image src="/static/image/me/shanchu@2x.png" mode="" @click.stop="delStar(index, item)"></image>
 					</view>
 				</view>
 			</view>
@@ -19,75 +17,75 @@
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				page:1,
-				pages:null,
-				collList:[],//收藏列表
-			};
+export default {
+	data() {
+		return {
+			page: 1,
+			pages: null,
+			collList: [] //收藏列表
+		};
+	},
+	methods: {
+		//去详情
+		goMessage(item, type) {
+			uni.navigateTo({ url: '/pages/index/details?id=' + item.box_id + '&type=' + type });
 		},
-		methods:{
-			//去详情
-			goMessage (item,type) {
-				uni.navigateTo({url:'/pages/index/details?id=' + item.box_id + '&type=' + type})
-			},
-			//删除收藏
-			delStar (index,item) {
-				uni.showModal({
-				    title: '删除',
-				    content: '是否删除收藏?',
-				    success:  (res)=> {
-							if (res.confirm) {
-								this.$api.cancelStar({star_id:item.star_id,msg:'收藏删除中'}).then(res=>{
-									if (res.code === 1) {
-										uni.showToast({title:res.msg})
-										this.collList.splice(index,1)
-									}
-								})
-									console.log('用户点击确定');
-							} else if (res.cancel) {
-									console.log('用户点击取消');
+		//删除收藏
+		delStar(index, item) {
+			uni.showModal({
+				title: '删除',
+				content: '是否删除收藏?',
+				success: res => {
+					if (res.confirm) {
+						this.$api.cancelStar({ star_id: item.star_id, msg: '收藏删除中' }).then(res => {
+							if (res.code === 1) {
+								uni.showToast({ title: res.msg });
+								this.collList.splice(index, 1);
 							}
-				    }
-				});
-			},
-			//获取收藏列表
-			getCollList () {
-				this.$api.myStar({page:this.page}).then(res=>{
-					uni.stopPullDownRefresh()
-					if (res.code === 1) {
-						this.collList = this.page == 1 ? res.data.data : [...this.collList,...res.data.data]
-						this.pages = res.data.last_page
+						});
+						console.log('用户点击确定');
+					} else if (res.cancel) {
+						console.log('用户点击取消');
 					}
-				})
-			}
-		},
-		onLoad() {
-			this.getCollList()
+				}
+			});
 		},
-		onPullDownRefresh() {
-			this.page = 1
-			this.getCollList()
-		},
-		onReachBottom() {
-			if (this.page < this.pages) {
-				this.page++
-				this.getCollList()
-			}
+		//获取收藏列表
+		loadData() {
+			this.$api.myStar({ page: this.page }).then(res => {
+				uni.stopPullDownRefresh();
+				if (res.code === 1) {
+					this.collList = this.page == 1 ? res.data.data : [...this.collList, ...res.data.data];
+					this.pages = res.data.last_page;
+				}
+			});
+		}
+	},
+	onLoad() {
+		this.loadData();
+	},
+	onPullDownRefresh() {
+		this.page = 1;
+		this.loadData();
+	},
+	onReachBottom() {
+		if (this.page < this.pages) {
+			this.page++;
+			this.loadData();
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-.box_ul {
+.collect {
 	padding: 30rpx 30rpx 0 30rpx;
-	.box_ul_li {
+	.collect-item {
 		padding: 30rpx;
 		margin-bottom: 20rpx;
-		background: #FFFFFF;
+		background: #ffffff;
 		border-radius: 20rpx;
-		.box_ul_li_img {
+		.collect-item-icon {
 			image {
 				width: 168rpx;
 				height: 168rpx;
@@ -95,23 +93,22 @@
 			}
 			margin-right: 20rpx;
 		}
-		.box_ul_li_main {
+		.collect-item-main {
 			flex: 1;
 		}
-		.box_ul_li_name {
+		.collect-name {
 			font-size: 28rpx;
 			display: -webkit-box;
 			-webkit-box-orient: vertical;
 			-webkit-line-clamp: 2;
 			overflow: hidden;
 		}
-		.box_ul_li_price {
-			color: #CF271B;
+		.collect-money {
+			color: #cf271b;
 			font-size: 28rpx;
 			margin: 15rpx 0;
 		}
-		.box_ul_li_time {
-			
+		.collect-time {
 			text {
 				color: #999999;
 				font-size: 22rpx;

+ 0 - 169
pages/me/goldDeposit.vue

@@ -1,169 +0,0 @@
-<template>
-	<view class="deposit">
-		<view class="deposit_head">
-			<view class="deposit_head_name">提现金额</view>
-			<view class="deposit_head_main">
-				<view class="deposit_head_txt">提现比例1:1</view>
-				<view class="deposit_head_ipt flexs">
-					<text>¥</text>
-					<input type="digit" placeholder="请输入" v-model="amount" maxlength="9" placeholder-style="color:#999999" />
-				</view>
-			</view>
-		</view>
-		<view class="deposit_main">
-			<view class="deposit_main_name">选择提现方式</view>
-			<view class="deposit_main_ul">
-				<view class="deposit_main_li flex" v-for="(item,index) in payList" :key="index" @click="changePay(item.type)">
-					<view class="deposit_main_img flexs" @click.stop="bindAccount(index)">
-						<image :src="item.image" mode=""></image>
-						<text>{{ item.name }}{{ item.account ? '('+ item.account +')' : ' (请绑定)' }}</text>
-					</view>
-					<view class="deposit_main_li_select">
-						<image :src="item.type == payIndex ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/publice/weixuanzhong@2x.png'" mode=""></image>
-					</view>
-				</view>
-			</view>
-			<view class="deposit_main_txt"><u-parse :content="message" ></u-parse></view>
-		</view>
-		<button class="deposit_btn" hover-class="hover-view" @click="submit">提交</button>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				message:'',
-				amount:'',//提现金额
-				payIndex:0,//支付方式
-				payList:[
-					{
-						name:'微信提现',
-						type:'0',
-						account:'',
-						image:'/static/image/me/weixin@2x.png'
-					},
-					{
-						name:'支付宝提现',
-						type:'1',
-						account:'',
-						image:'/static/image/me/zhifubao@2x.png'
-					}
-				],//支付列表
-			};
-		},
-		methods:{
-			submit () {
-        // return uni.showToast({title:'不支持体现',icon:'none'})
-				if (!this.amount) return uni.showToast({title:'请输入金额',icon:'none'})
-				if (!this.payList[this.payIndex].account) return uni.showToast({title:'请绑定' + (this.payIndex == 0 ?'微信' : '支付宝') +'账号',icon:'none'})
-				if (this.amount == 0) return
-				this.$api.goldDeposit({amount:this.amount,type:this.payIndex == 0 ? 'wechat' : 'alipay'}).then(res=>{
-					if (res.code === 1) {
-						uni.showToast({title:res.msg})
-						this.amount = ''
-					}
-				})
-			},
-			//绑定账号
-			bindAccount (index) {
-				uni.navigateTo({url: '/pages/me/WeChat?type=' + index})
-			},
-			changePay (index) {
-				this.payIndex = index
-			},
-			//huoqu
-			getAccount () {
-				this.$api.getWithdrawalSetting().then(res=>{
-					if (res.code === 1) {
-						this.payList[1].account = res.data.alipay.account
-						this.payList[0].account = res.data.wechat.account
-					}
-				})
-			},
-			getMessage () {
-				this.$api.agreement({name:'withdrawal_instruction'}).then(res=>{
-					if (res.code === 1) {
-						this.message = res.data.content
-					}
-				})
-			}
-		},
-		onShow() {
-			this.getAccount()
-		},
-		onLoad() {
-			this.getMessage()
-		}
-	}
-</script>
-
-<style lang="scss">
-.deposit {
-	padding: 0 35rpx 0 25rpx;
-	.deposit_head {
-		.deposit_head_name {
-			font-size: 32rpx;
-			padding: 30rpx 0 20rpx 20rpx;
-		}
-		.deposit_head_main {
-			background: #FFFFFF;
-			padding: 30rpx 30rpx 58rpx 20rpx;
-			.deposit_head_txt {
-				font-size: 28rpx;
-				margin-bottom: 30rpx;
-			}
-			.deposit_head_ipt {
-				padding: 20rpx 0;
-				border-bottom: 2rpx solid #EBEBEB;
-				text {
-					font-size: 36rpx;
-					margin-right: 20rpx;
-				}
-				input {
-					color: #F6AF32;
-					font-size: 36rpx;
-				}
-			}
-		}
-	}
-}
-.deposit_main {
-	.deposit_main_name {
-		font-size: 32rpx;
-		padding: 50rpx 0 30rpx 20rpx;
-	}
-	.deposit_main_ul {
-		background: #FFFFFF;
-		.deposit_main_li {
-			padding: 30rpx 20rpx;
-			.deposit_main_img {
-				image {
-					width: 50rpx;
-					height: 50rpx;
-					margin-right: 20rpx;
-				}
-				text {
-					font-size: 28rpx;
-				}
-			}
-			.deposit_main_li_select {
-				width: 32rpx;
-				height: 32rpx;
-			}
-		}
-	}
-	.deposit_main_txt {
-		padding: 20rpx 0;
-	}
-}
-.deposit_btn {
-	height: 98rpx;
-	color: #333333;
-	font-size: 30rpx;
-	margin-top: 150rpx;
-	background: #FFFFFF;
-	box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(220, 220, 220, 0.2);
-	border-radius: 20rpx;
-}
-</style>

+ 0 - 443
pages/me/myBox.vue

@@ -1,443 +0,0 @@
-<template>
-	<view class="box">
-		<view class="box_head flexs">
-			<!-- 修改 in 2 改成 in 3 标题名调用titleName方法 -->
-			<view class="box_head_li center" @click="changeIndex(index)" v-for="(item, index) in 3" :class="{ active: index == i }" :key="index">{{ titleName(index) }}</view>
-		</view>
-		<!-- 修改 -->
-		<view class="box_ul">
-			<!-- 待提货 已回列表 -->
-			<template v-if="i < 2">
-				<view class="box_ul_li" v-for="(item, index) in boxList" :key="index" @click="item.flag = !item.flag">
-					<image class="an" v-if="i == 0" :src="item.flag ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/me/weixuanzhong@2x.png'" mode=""></image>
-					<view class="box_ul_li_img"><image :src="item.goods_image" mode="aspectFill"></image></view>
-					<view class="box_ul_li_main">
-						<view class="box_ul_li_name">
-							<!-- 修改 -->
-							<text>{{ item.goods_name }}</text>
-						</view>
-						<view class="box_ul_li_price">
-							<view class="khj">
-								开盒价:
-								<text>{{ item.box_coin_price }}金币</text>
-							</view>
-							<view class="xsj">
-								销售价:
-								<text>{{ item.goods_coin_price }}金币</text>
-							</view>
-							<view class="hsj">
-								回收价:
-								<text>{{ item.goods_hui_price }}金币</text>
-							</view>
-						</view>
-					</view>
-					<view class="box_ul_li_time">
-						<!-- 修改 -->
-						<text>时间:{{ item.time }}</text>
-						<!-- 新增 -->
-						<view v-if="i == 0" class="item-btn center" @click.stop="donationOpen(item)">一键转赠</view>
-					</view>
-				</view>
-			</template>
-			<!-- 新增 转赠列表 -->
-			<template v-else>
-				<view class="box_ul_li flexs" v-for="(item, index) in donationList" :key="index" @click="item.flag = !item.flag">
-					<view class="box_ul_li_img"><image :src="item.zzimage" mode="aspectFill"></image></view>
-					<view class="box_ul_li_main">
-						<view class="box_ul_li_name">
-							<!-- 修改 -->
-							<text>{{ item.boxgoods }}</text>
-						</view>
-						<view class="box_ul_li_price flex">
-							<view class="box_ul_li_time">时间:{{ item.zhuanztime }}</view>
-							<text style="text-align: right;">已转赠</text>
-						</view>
-						<view class="box_ul_li_time">受赠人:{{ item.szuser }}</view>
-					</view>
-				</view>
-			</template>
-		</view>
-		<view class="box_footer flex" v-if="i == 0">
-			<view class="box_footer_all flexs">
-				<image @click="changeAll" :src="isAll ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/me/weixuanzhong@2x.png'" mode=""></image>
-				<text>全选({{ totalNumber }})</text>
-			</view>
-			<view class="box_footer_ul flexs">
-				<view class="box_footer_li center" v-for="(items, index) in 2" :key="index" @click="apply(index)">{{ index == 0 ? '一键回收' : '申请发货' }}</view>
-			</view>
-		</view>
-		<!-- 新增 转赠窗口 -->
-		<uni-popup ref="donation">
-			<view class="donation">
-				<view class="title">请输入您转赠人的手机号</view>
-				<view class="input-container"><input v-model="donationPhone" type="number" placeholder="请输入转赠人注册手机号" /></view>
-				<view class="tip">注:一旦转赠成功不可退货,请谨慎操作</view>
-				<view class="donation-btns">
-					<view class="box_footer_li center" @click="$refs.donation.close()">取消</view>
-					<view class="box_footer_li center" @click="donation()">确定</view>
-				</view>
-			</view>
-		</uni-popup>
-		<recycle ref="recycle"></recycle>
-	</view>
-</template>
-
-<script>
-import recycle from '@/components/recycle.vue';
-export default {
-	components: {
-		recycle
-	},
-	data() {
-		return {
-			i: 0, //
-			page: 1,
-			isAll: false, //
-			pages: null, //
-			totalNumber: 0, //总数量
-			boxList: [], //盒子列表
-			donationList: [], //转赠列表
-			recordId: null, //转赠商品id
-			donationPhone: null //转赠人手机号
-		};
-	},
-	watch: {
-		boxList: {
-			handler(val) {
-				let totalNumber = 0;
-
-				this.isAll = val.every(item => item.flag);
-				if (val.length == 0) this.isAll = false;
-				val.forEach(item => {
-					if (item.flag) {
-						totalNumber++;
-					}
-				});
-				this.totalNumber = totalNumber;
-			},
-			deep: true //true 深度监听
-		}
-	},
-	methods: {
-		// 新增 标题名称
-		titleName(index) {
-			switch (index) {
-				case 0:
-					return '待提货';
-				case 1:
-					return '已回收';
-				case 2:
-					return '已转赠';
-			}
-		},
-		//申请发货
-		apply(index) {
-			if (!this.boxList.some(item => item.flag)) return uni.showToast({ title: '请勾选要' + (index == 0 ? '回收' : '发货') + '的商品', icon: 'none' });
-			let ids = [];
-			this.boxList.forEach(item => {
-				if (item.flag) {
-					ids.push(item.record_id);
-				}
-			});
-			if (index == 0) {
-				uni.showModal({
-					cancelText: '取消',
-					confirmText: '确认',
-					title: '一键回收',
-					content: '是否确认一键回收?',
-					success: res => {
-						if (res.confirm) {
-							this.$api.exchange({ record_ids: ids.join(',') }).then(res => {
-								if (res.code === 1) {
-									uni.showToast({ title: res.msg });
-									this.page = 1;
-									this.getMyBox();
-									this.$refs['recycle'].open(res.data);
-								}
-							});
-						}
-					}
-				});
-			} else {
-				uni.navigateTo({ url: '/pages/me/applyFaHuo?id=' + ids.join(',') });
-			}
-		},
-		//全选
-		changeAll() {
-			this.isAll = !this.isAll;
-			this.boxList.forEach(item => {
-				item.flag = this.isAll;
-			});
-		},
-		changeIndex(index) {
-			this.i = index;
-			this.page = 1;
-			this.boxList = [];
-			this.getMyBox();
-		},
-		//获取我的盒柜
-		getMyBox() {
-			// 新增 获取已转赠
-			if (this.i == 2) {
-				this.$api.echargezs({ msg: '数据加载中' }).then(res => {
-					this.donationList = res.data;
-				});
-				return;
-			}
-			this.$api.myBox({ status: this.i + 1, page: this.page, msg: '数据加载中' }).then(res => {
-				if (res.code === 1) {
-					res.data.data.forEach(item => {
-						item.flag = false;
-					});
-					this.pages = res.data.last_page;
-					this.boxList = this.page == 1 ? res.data.data : [...this.boxList, ...res.data.data];
-				}
-			});
-		},
-		// 新增 打开转赠窗口
-		donationOpen(item) {
-			this.recordId = item.record_id;
-			this.$refs.donation.open();
-		},
-		// 新增 转赠提交
-		donation() {
-			if (!this.checkPhone()) {
-				return;
-			}
-			this.$api.echargez({ record_ids: this.recordId, mobile: this.donationPhone }).then(res => {
-				if (res.code === 1) {
-					//转赠成功
-					const index = this.boxList.findIndex(item => item.record_id == this.recordId);
-					this.boxList.splice(index, 1);
-					this.$refs.donation.close();
-					uni.showToast({
-						icon: 'success',
-						title: '转赠成功'
-					});
-				}
-			});
-		},
-		/* 新增 检查手机号 */
-		checkPhone() {
-			if (!/^1[345789]\d{9}$/.test(this.donationPhone)) {
-				uni.showToast({
-					title: '请输入正确的手机号码',
-					icon: 'none'
-				});
-				return false;
-			}
-			return true;
-		}
-	},
-	onShow() {
-		this.getMyBox();
-	},
-	onReachBottom() {
-		if (this.i == 2) {
-			return;
-		}
-		if (this.page < this.pages) {
-			this.page++;
-			this.getMyBox();
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-.an {
-	height: 25px;
-	width: 25px;
-	float: left;
-	position: relative;
-	top: 42px;
-}
-.box_head {
-	position: sticky;
-	top: 88rpx;
-	left: 0;
-	background: #fafafa;
-	z-index: 2021;
-	width: 100%;
-	.box_head_li {
-		flex: 1;
-		font-size: 30rpx;
-		height: 90rpx;
-		font-weight: bold;
-	}
-	.active {
-		border-radius: 100rpx;
-		color: #69a8f8;
-	}
-}
-.box_ul {
-	padding: 0 30rpx 98rpx 30rpx;
-	.box_ul_li {
-		padding: 15rpx;
-		margin-bottom: 20rpx;
-		background: #ffffff;
-		border-radius: 20rpx;
-		.box_ul_li_img {
-			width: 30%;
-			float: left;
-			image {
-				width: 200rpx;
-				height: 200rpx;
-				border-radius: 10rpx;
-			}
-			margin-right: 20rpx;
-		}
-		.box_ul_li_main {
-			flex: 1;
-		}
-		//修改
-		.box_ul_li_name {
-			font-size: 28rpx;
-			display: flex;
-			overflow: hidden;
-			text {
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 2;
-				flex: 1;
-				font-weight: bold;
-			}
-		}
-		.box_ul_li_price {
-			text {
-				color: #66a6ff;
-				font-size: 28rpx;
-				font-weight: 600;
-			}
-			image {
-				width: 44rpx;
-				height: 44rpx;
-			}
-			margin: 15rpx 0;
-		}
-		.box_ul_li_price .hsj,
-		.khj,
-		.xsj {
-			display: block;
-			margin: 10rpx 0;
-			uni-text {
-				float: right;
-			}
-		}
-		.box_ul_li_price .hsj {
-			uni-text {
-				color: #000000;
-			}
-		}
-		.box_ul_li_time {
-			color: #999999;
-			font-size: 22rpx;
-			align-items: center;
-			margin-top: 20rpx;
-			uni-text {
-				line-height: 70rpx;
-			}
-			uni-image {
-				width: 48rpx;
-				height: 48rpx;
-				float: right;
-			}
-			.item-btn {
-				background-image: -moz-linear-gradient(0deg, rgb(137, 247, 254) 0%, rgb(102, 166, 255) 100%);
-				background-image: -webkit-linear-gradient(0deg, rgb(137, 247, 254) 0%, rgb(102, 166, 255) 100%);
-				background-image: -ms-linear-gradient(0deg, rgb(137, 247, 254) 0%, rgb(102, 166, 255) 100%);
-				color: #ffffff;
-				border-radius: 19px;
-				font-size: 28rpx;
-				margin-left: auto;
-				width: 200rpx;
-				height: 60rpx;
-				float: right;
-			}
-		}
-	}
-}
-.box_footer {
-	height: 98rpx;
-	z-index: 20;
-	position: fixed;
-	bottom: 0rpx;
-	width: 100%;
-	padding: 0 30rpx;
-	background: #ffffff;
-	.box_footer_all {
-		image {
-			width: 44rpx;
-			height: 44rpx;
-			margin-right: 10rpx;
-		}
-		text {
-			color: #000000;
-			font-size: 28rpx;
-		}
-	}
-	.box_footer_li {
-		color: #ffffff;
-		width: 200rpx;
-		height: 70rpx;
-		border-radius: 39rpx;
-		font-size: 30rpx;
-		margin-left: 30rpx;
-		&:first-child {
-			background-image: -moz-linear-gradient(60deg, rgb(255, 200, 222) 0%, rgb(255, 103, 164) 100%);
-			background-image: -webkit-linear-gradient(60deg, rgb(255, 200, 222) 0%, rgb(255, 103, 164) 100%);
-			background-image: -ms-linear-gradient(60deg, rgb(255, 200, 222) 0%, rgb(255, 103, 164) 100%);
-		}
-		&:last-child {
-			background-image: -moz-linear-gradient(0deg, rgb(137, 247, 254) 0%, rgb(102, 166, 255) 100%);
-			background-image: -webkit-linear-gradient(0deg, rgb(137, 247, 254) 0%, rgb(102, 166, 255) 100%);
-			background-image: -ms-linear-gradient(0deg, rgb(137, 247, 254) 0%, rgb(102, 166, 255) 100%);
-		}
-	}
-}
-// 新增 转赠窗口样式
-.donation {
-	background-color: #fff;
-	padding: 30rpx 40rpx;
-	border-radius: 10px;
-	.title {
-		font-size: 16px;
-		font-weight: bold;
-		text-align: center;
-		margin-bottom: 30rpx;
-	}
-	.input-container {
-		background-color: #f3f3f3;
-		padding: 16rpx 20rpx;
-		border-radius: 6rpx;
-		margin-bottom: 20rpx;
-		input {
-			font-size: 30rpx;
-		}
-	}
-	.tip {
-		font-size: 12px;
-		color: red;
-		text-align: center;
-		margin-bottom: 30rpx;
-	}
-	.donation-btns {
-		display: flex;
-		gap: 30rpx;
-		view {
-			color: #ffffff;
-			flex: 1;
-			width: 100%;
-			height: 70rpx;
-			border-radius: 39rpx;
-			font-size: 30rpx;
-			&:first-child {
-				background: -webkit-linear-gradient(60deg, #ffc8de 0%, #ff67a4 100%);
-			}
-			&:last-child {
-				background: -webkit-linear-gradient(0deg, #89f7fe 0%, #66a6ff 100%);
-			}
-		}
-	}
-}
-</style>

+ 51 - 51
pages/me/order-details.vue

@@ -1,64 +1,64 @@
 <template>
-	<view class="apply">
-		<view class="apply_head">
-			<view class="apply_head_name">收货人信息</view>
-			<view class="apply_head_ipt flex">
-				<view class="apply_head_address">
-					<view class="address_have_li_title">{{ details.province }} {{ details.city }} {{ details.area }}</view>
-					<view class="address_have_li_txt">{{ details.detail }}</view>
-					<view class="address_have_li_name flexs">
+	<view class="odetail">
+		<view class="odetail-top">
+			<view class="odetail-title">收货人信息</view>
+			<view class="odetail-top-main flex">
+				<view class="odetail-address">
+					<view class="odetail-ssq">{{ details.province }} {{ details.city }} {{ details.area }}</view>
+					<view class="odetail-xq">{{ details.detail }}</view>
+					<view class="odetail-userinfo flexs">
 						<text>{{ details.username }}</text>
 						<text>{{ details.mobile }}</text>
 					</view>
 				</view>
 			</view>
 		</view>
-		<view class="apply_main">
-			<view class="apply_main_name">订单信息</view>
-			<view class="apply_main_ul">
-				<view class="apply_main_li flexs">
-					<view class="apply_main_li_img"><image :src="details.goods_image" mode="aspectFill"></image></view>
-					<view class="apply_main_li_main flex">
-						<view class="apply_main_li_name">{{ details.goods_name }}</view>
-						<view class="apply_main_li_time">开箱日期:{{ details.box_open_time }}</view>
+		<view class="odetail-main">
+			<view class="odetail-main-title">订单信息</view>
+			<view class="odetail-main-box">
+				<view class="odetail-main-item flexs">
+					<view class="odetail-main-item-icon"><image :src="details.goods_image" mode="aspectFill"></image></view>
+					<view class="odetail-main-item-info flex">
+						<view class="odetail-main-item-name">{{ details.goods_name }}</view>
+						<view class="odetail-main-item-time">开箱日期:{{ details.box_open_time }}</view>
 					</view>
 				</view>
 			</view>
 		</view>
-		<view class="apply_order">
-			<view class="apply_order_li flex">
+		<view class="odetail-pay">
+			<view class="odetail-pay-money flex">
 				<text>付款金额</text>
 				<text class="red">{{ details.pay_amount }}</text>
 			</view>
-			<view class="apply_order_li flex">
+			<view class="odetail-pay-money flex">
 				<text>支付方式</text>
 				<text>{{ details.pay_method }}</text>
 			</view>
 		</view>
-		<view class="apply_order apply_order_number">
-			<view class="apply_order_li flex">
+		<view class="odetail-pay orderId">
+			<view class="odetail-pay-money flex">
 				<text>订单号:{{ details.delivery_order_no }}</text>
 			</view>
-			<view class="apply_order_li flex">
+			<view class="odetail-pay-money flex">
 				<text>下单时间:{{ details.delivery_apply_time }}</text>
 			</view>
-			<view class="apply_order_li flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
+			<view class="odetail-pay-money flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
 				<text>发货时间:{{ details.delivery_time }}</text>
 			</view>
-			<view class="apply_order_li flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
+			<view class="odetail-pay-money flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
 				<text>物流号:{{ details.delivery_number }}</text>
 				<!-- <text class="logistics" @click="lookLogistics" v-if="details.status == 'unreceived'">查看物流</text> -->
 			</view>
-			<view class="apply_order_li flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
+			<view class="odetail-pay-money flex" v-if="details.status == 'unreceived' || details.status == 'finished'">
 				<text>物流名称:{{ details.post_name }}</text>
 				<!-- <text class="logistics" @click="lookLogistics" v-if="details.status == 'unreceived'">查看物流</text> -->
 			</view>
-			<view class="apply_order_li flex" v-if="details.status == 'finished'">
+			<view class="odetail-pay-money flex" v-if="details.status == 'finished'">
 				<text>收货时间:{{ details.receive_time }}</text>
 			</view>
 		</view>
-		<button class="apply_btn" hover-class="hover-view" v-if="details.status == 'unreceived'" @click="affirm">确认收货</button>
-		<button class="apply_btn" hover-class="hover-view" v-if="details.status == 'unreceived' && canTi == 1" @click="affirm1">申请退货</button>
+		<button class="btn" hover-class="hover-view" v-if="details.status == 'unreceived'" @click="affirm">确认收货</button>
+		<button class="btn" hover-class="hover-view" v-if="details.status == 'unreceived' && canTi == 1" @click="affirm1">申请退货</button>
 	</view>
 </template>
 
@@ -73,11 +73,11 @@ export default {
 	},
 	methods: {
 		//查看物流
-		lookLogistics() {
-			uni.navigateTo({ url: '/pages/me/logistics' });
-		},
+		// lookLogistics() {
+		// 	uni.navigateTo({ url: '/pages/me/logistics' });
+		// },
 		//获取订单详情
-		getDetail() {
+		onLoadData() {
 			this.$api.deliveryOrderDetail({ delivery_order_id: this.id }).then(res => {
 				if (res.code === 1) {
 					this.details = res.data;
@@ -114,7 +114,7 @@ export default {
 	},
 	onLoad({ id }) {
 		this.id = id;
-		this.getDetail();
+		this.onLoadData();
 		this.$api.checkSwitch2().then(({ data }) => {
 			this.canTi = data;
 		});
@@ -123,14 +123,14 @@ export default {
 </script>
 
 <style lang="scss">
-.apply {
+.odetail {
 	padding: 0 30rpx 38rpx 30rpx;
-	.apply_head_name {
+	.odetail-title {
 		padding: 30rpx 0;
 		font-size: 28rpx;
 		font-weight: bold;
 	}
-	.apply_head_ipt {
+	.odetail-top-main {
 		padding: 30rpx;
 		border-radius: 10rpx;
 		background: #ffffff;
@@ -138,16 +138,16 @@ export default {
 			font-size: 28rpx;
 		}
 	}
-	.apply_head_address {
-		.address_have_li_title {
+	.odetail-address {
+		.odetail-ssq {
 			color: #666666;
 			font-size: 28rpx;
 		}
-		.address_have_li_txt {
+		.odetail-xq {
 			font-size: 26rpx;
 			margin: 20rpx 0;
 		}
-		.address_have_li_name {
+		.odetail-userinfo {
 			text {
 				color: #999999;
 				font-size: 30rpx;
@@ -159,16 +159,16 @@ export default {
 		}
 	}
 }
-.apply_main_name {
+.odetail-main-title {
 	font-size: 28rpx;
 	font-weight: bold;
 	padding: 30rpx 0 20rpx 0;
 }
-.apply_main_li {
+.odetail-main-item {
 	padding: 30rpx;
 	background: #ffffff;
 	border-radius: 20rpx;
-	.apply_main_li_img {
+	.odetail-main-item-icon {
 		width: 168rpx;
 		height: 168rpx;
 		image {
@@ -176,26 +176,26 @@ export default {
 		}
 		margin-right: 20rpx;
 	}
-	.apply_main_li_main {
+	.odetail-main-item-info {
 		height: 168rpx;
 		align-items: flex-start;
 		flex-direction: column;
 		justify-content: space-around;
 	}
-	.apply_main_li_name {
+	.odetail-main-item-name {
 		font-size: 28rpx;
 		line-height: 36rpx;
 	}
-	.apply_main_li_time {
+	.odetail-main-item-time {
 		color: #999999;
 	}
 }
-.apply_order {
+.odetail-pay {
 	padding: 0 30rpx 0 20rpx;
 	border-radius: 10rpx;
 	background: #ffffff;
 	margin-top: 20rpx;
-	.apply_order_li {
+	.odetail-pay-money {
 		padding: 30rpx 0;
 		text {
 			font-size: 26rpx;
@@ -208,9 +208,9 @@ export default {
 		}
 	}
 }
-.apply_order_number {
+.orderId {
 	padding: 30rpx 20rpx;
-	.apply_order_li {
+	.odetail-pay-money {
 		padding: 0;
 		margin-bottom: 30rpx;
 		&:last-child {
@@ -228,7 +228,7 @@ export default {
 		}
 	}
 }
-.apply_btn {
+.btn {
 	color: #333333;
 	font-size: 30rpx;
 	font-weight: bold;

+ 81 - 84
pages/me/order.vue

@@ -1,26 +1,26 @@
 <template>
 	<view class="order">
-		<view class="order_head flex">
-			<view class="order_head_li center" @click="changeIndex(index)" :class="{active:index == i}" v-for="(item,index) in 3" :key="index">{{ index == 0 ? '待发货' : index == 1 ? '已发货' :'已完成' }}</view>
+		<view class="order-top flex">
+			<view class="order-top-item center" @click="changeIndex(index)" :class="{ active: index == i }" v-for="(item, index) in 3" :key="index">
+				{{ index == 0 ? '待发货' : index == 1 ? '已发货' : '已完成' }}
+			</view>
 		</view>
-		<view class="order_ul">
-			<view class="order_li" v-for="(item,index) in orderList" :key="index" @click="goOrderMessage(item)">
-				<view class="order_li_head flex">
+		<view class="order-main">
+			<view class="order-main-item" v-for="(item, index) in orderList" :key="index" @click="navTo(item)">
+				<view class="order-main-info flex">
 					<text>订单号:{{ item.delivery_order_no }}</text>
 					<text>{{ item.status }}</text>
 				</view>
-				<view class="order_li_main">
-					<view class="order_li_main_li flexs">
-						<view class="order_li_img">
-							<image :src="item.goods_image" mode="aspectFill"></image>
-						</view>
-						<view class="order_li_con">
-							<view class="order_li_name">{{ item.goods_name }}</view>
-							<view class="order_li_price">{{ item.goods_coin_price }}金币</view>
+				<view class="order-main-product">
+					<view class="order-main-product-item flexs">
+						<view class="order-main-product-bg"><image :src="item.goods_image" mode="aspectFill"></image></view>
+						<view class="order-main-product-info">
+							<view class="order-main-product-name">{{ item.goods_name }}</view>
+							<view class="order-main-product-money">{{ item.goods_coin_price }}金币</view>
 						</view>
 					</view>
 				</view>
-				<view class="order_li_time flex">
+				<view class="order-main-time flex">
 					<text>下单时间</text>
 					<text>{{ item.time }}</text>
 				</view>
@@ -30,70 +30,70 @@
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				i:0,//选择哪个
-				page:1,//f分页
-				pages:0,//总页数
-				orderList:[],//订单列表
-			};
-		},
-		methods:{
-			//去订单详情
-			goOrderMessage (item) {
-				uni.navigateTo({url:'/pages/me/order-details?id=' + item.delivery_order_id})
-			},
-			//切换
-			changeIndex (index) {
-				this.i = index
-				this.page = 1
-				this.getOrderList()
-			},
-			//获取订单列表
-			getOrderList () {
-				this.$api.myOrderList({status: Number(this.i) + 1,page:this.page,msg:'数据加载中'}).then(res=>{
-					uni.stopPullDownRefresh()
-					if (res.code === 1) {
-						this.pages = res.data.last_page
-						this.orderList = this.page == 1 ? res.data.data : [...this.orderList,...res.data.data]
-						console.log(res.data);
-					}
-				})
-			}
-		},
-		onLoad ({type}) {
-			this.i = type || 0
-		},
-		onShow() {
-			this.getOrderList()
+export default {
+	data() {
+		return {
+			i: 0, //选择哪个
+			page: 1, //f分页
+			pages: 0, //总页数
+			orderList: [] //订单列表
+		};
+	},
+	methods: {
+		//去订单详情
+		navTo(item) {
+			uni.navigateTo({ url: '/pages/me/order-details?id=' + item.delivery_order_id });
 		},
-		onPullDownRefresh() {
-			this.page = 1
-			this.getOrderList()
+		//切换
+		changeIndex(index) {
+			this.i = index;
+			this.page = 1;
+			this.loadData();
 		},
-		onReachBottom() {
-			if (this.page < this.pages) {
-				this.page++
-				this.getOrderList()
-			}
+		//获取订单列表
+		loadData() {
+			this.$api.myOrderList({ status: Number(this.i) + 1, page: this.page, msg: '数据加载中' }).then(res => {
+				uni.stopPullDownRefresh();
+				if (res.code === 1) {
+					this.pages = res.data.last_page;
+					this.orderList = this.page == 1 ? res.data.data : [...this.orderList, ...res.data.data];
+					console.log(res.data);
+				}
+			});
+		}
+	},
+	onLoad({ type }) {
+		this.i = type || 0;
+	},
+	onShow() {
+		this.loadData();
+	},
+	onPullDownRefresh() {
+		this.page = 1;
+		this.loadData();
+	},
+	onReachBottom() {
+		if (this.page < this.pages) {
+			this.page++;
+			this.loadData();
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-	.order {
-		padding: 0 30rpx;
-	}
-.order_head {
+.order {
+	padding: 0 30rpx;
+}
+.order-top {
 	width: 100%;
 	top: 44px;
 	padding: 0 50rpx;
 	position: sticky;
 	height: 90rpx;
 	z-index: 2021;
-	background: #FAFAFA;
-	.order_head_li {
+	background: #fafafa;
+	.order-top-item {
 		font-weight: bold;
 		font-size: 30rpx;
 	}
@@ -101,60 +101,57 @@
 		color: #69a8f8;
 	}
 }
-.order_li {
+.order-main-item {
 	overflow: hidden;
 	margin-bottom: 20rpx;
-	background: #FFFFFF;
+	background: #ffffff;
 	border-radius: 20rpx;
-	.order_li_head {
-		
+	.order-main-info {
 		height: 60rpx;
 		padding: 0 30rpx;
-		background: #FFFFFF;
-		border-bottom: 2rpx solid #FAFAFA;
-		
+		background: #ffffff;
+		border-bottom: 2rpx solid #fafafa;
+
 		text {
 			color: #999999;
 			font-size: 26rpx;
 			&:last-child {
-				color: #F6AF32;
+				color: #f6af32;
 				font-size: 24rpx;
 			}
 		}
 	}
-	.order_li_main {
+	.order-main-product {
 		padding: 30rpx 0;
 	}
-	.order_li_main_li {
+	.order-main-product-item {
 		padding: 0 30rpx;
-		.order_li_img {
+		.order-main-product-bg {
 			width: 168rpx;
 			height: 168rpx;
 			margin-right: 20rpx;
 			image {
 				border-radius: 10rpx;
 			}
-			
 		}
-		.order_li_con {
+		.order-main-product-info {
 			display: flex;
 			flex-direction: column;
 			height: 168rpx;
-			.order_li_name {
+			.order-main-product-name {
 				font-size: 28rpx;
 				line-height: 36rpx;
 			}
-			.order_li_price {
-				color: #CF271B;
+			.order-main-item_price {
+				color: #cf271b;
 				font-size: 28rpx;
 				margin-top: 20rpx;
 			}
 		}
-		
 	}
-	.order_li_time {
+	.order-main-time {
 		padding: 20rpx 30rpx;
-		border-top: 2rpx solid #FAFAFA;
+		border-top: 2rpx solid #fafafa;
 		text {
 			color: #999999;
 			&:first-child {

+ 0 - 96
pages/me/out.vue

@@ -1,96 +0,0 @@
-<template>
-	<view class="deposit">
-		<view class="deposit_head">
-			<view class="deposit_head_name">转出金额</view>
-			<view class="deposit_head_main">
-				<view class="deposit_head_txt">输入金额</view>
-				<view class="deposit_head_ipt flexs">
-					<text>¥</text>
-					<input type="digit" v-model="amount" placeholder="请输入" placeholder-style="color:#999999" />
-				</view>
-			</view>
-		</view>
-		<view class="deposit_main">
-			<view class="deposit_main_txt"><u-parse :content="message"></u-parse></view>
-		</view>
-		<button class="deposit_btn" hover-class="hover-view" @click="submit">提交</button>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				amount:'',
-				message:'',
-			};
-		},
-		methods:{
-			submit () {
-				if (!this.amount) return uni.showToast({title:'请输入金额',icon:'none'})
-				this.$api.moneyToCoin({amount:this.amount}).then(res=>{
-					if (res.code === 1) {
-						this.amount = ''
-						uni.showToast({title:res.msg})
-					}
-				})
-			},
-			getMessage () {
-				this.$api.agreement({name:'balance_to_wallet_instruction'}).then(res=>{
-					if (res.code === 1) {
-						this.message = res.data.content
-					}
-				})
-			}
-		},
-		onLoad() {
-			this.getMessage()
-		}
-	}
-</script>
-
-<style lang="scss">
-.deposit {
-	padding: 0 35rpx 0 25rpx;
-	.deposit_head {
-		.deposit_head_name {
-			font-size: 32rpx;
-			padding: 30rpx 0 20rpx 20rpx;
-		}
-		.deposit_head_main {
-			background: #FFFFFF;
-			padding: 30rpx 30rpx 58rpx 20rpx;
-			.deposit_head_txt {
-				font-size: 28rpx;
-				margin-bottom: 30rpx;
-			}
-			.deposit_head_ipt {
-				padding: 20rpx 0;
-				border-bottom: 2rpx solid #EBEBEB;
-				text {
-					font-size: 36rpx;
-					margin-right: 20rpx;
-				}
-				input {
-					color: #F6AF32;
-					font-size: 36rpx;
-				}
-			}
-		}
-	}
-}
-.deposit_main {
-	.deposit_main_txt {
-		padding: 20rpx 0;
-	}
-}
-.deposit_btn {
-	height: 98rpx;
-	color: #333333;
-	font-size: 30rpx;
-	margin-top: 480rpx;
-	background: #FFFFFF;
-	box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(220, 220, 220, 0.2);
-	border-radius: 20rpx;
-}
-</style>

+ 0 - 96
pages/me/passwordRecharge/passwordRecharge.vue

@@ -1,96 +0,0 @@
-<template>
-	<view class="deposit">
-		<view class="deposit_head">
-			<view class="deposit_head_main">
-				<view class="deposit_head_txt">输入卡密</view>
-				<view class="deposit_head_ipt flexs">
-					<input type="digit" v-model="password" placeholder="请输入卡密" placeholder-style="color:#999999" />
-				</view>
-				<view class="deposit_main_txt"><u-parse :content="message"></u-parse></view>
-			</view>
-		</view>
-		<button class="deposit_btn" hover-class="hover-view" @click="submit">提交</button>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				password:'',
-				message:'',
-			};
-		},
-		methods:{
-			submit () {
-				if (!this.password) return uni.showToast({title:'请输入卡密',icon:'none'})
-				this.$api.carpassDeposit({password:this.password}).then(res=>{
-					if (res.code === 1) {
-						this.password = ''
-						uni.showToast({title:res.msg})
-					}
-				})
-			},
-			getMessage () {
-				this.$api.agreement({name:'kamichongzhi'}).then(res=>{
-					if (res.code === 1) {
-						this.message = res.data.content
-					}
-				})
-			}
-		},
-		onLoad() {
-			this.getMessage()
-		}
-	}
-</script>
-
-<style lang="scss">
-.deposit {
-	padding: 0 35rpx 0 25rpx;
-	.deposit_head {
-		.deposit_head_name {
-			font-size: 32rpx;
-			padding: 30rpx 0 20rpx 20rpx;
-		}
-		.deposit_head_main {
-			margin-top: 15px;
-			background: #FFFFFF;
-			padding: 30rpx 30rpx 58rpx 20rpx;
-			.deposit_head_txt {
-				font-size: 28rpx;
-				margin-bottom: 30rpx;
-			}
-			.deposit_head_ipt {
-				padding: 20rpx 0;
-				border-bottom: 2rpx solid #EBEBEB;
-				text {
-					font-size: 36rpx;
-					margin-right: 20rpx;
-				}
-				input {
-					color: #F6AF32;
-					font-size: 36rpx;
-				}
-			}
-		}
-	}
-}
-.deposit_main_txt {
-		padding: 30rpx 0;
-	}
-.deposit_main {
-	.deposit_main_txt {
-		padding: 20rpx 0;
-	}
-}
-.deposit_btn {
-	height: 98rpx;
-	color: #333333;
-	font-size: 30rpx;
-	margin-top: 480rpx;
-	background: #FFFFFF;
-	box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(220, 220, 220, 0.2);
-	border-radius: 20rpx;
-}
-</style>

+ 45 - 85
pages/me/recharge.vue

@@ -1,51 +1,51 @@
 <template>
-	<view class="recharge">
-		<view class="recharge_head">
-			<view class="czbj">
-				<view class="czbj-img"><image src="https://www.chaomangdao.com/image/me/czbj.jpg"></image></view>
-				<view class="czbj-text">
+	<view class="chongzhi">
+		<view class="chongzhitop">
+			<view class="appleczsb">
+				<view class="appleczsb-img"><image src="https://www.chaomangdao.com/image/me/appleczsb.jpg"></image></view>
+				<view class="appleczsb-font">
 					<text>当前金币</text>
 					<span>{{ capital.coin }}</span>
 				</view>
 				<!-- #ifdef H5 -->
 				<a href="https://www.chaomangdao.com/image/me/czsp.mp4">
-					<view class="czbj-czjc">
+					<view class="appleczsb-czjc">
 						<text>充值教程</text>
 						<span></span>
 					</view>
 				</a>
 				<!-- #endif -->
 			</view>
-			<view class="recharge_head_txt flex">
+			<view class="chongzhitop-font flex">
 				<text>选择充值金额</text>
 				<text>
 					实际到账金币:
-					<text class="real-coin">{{ realCoin }}</text>
+					<text class="money">{{ realCoin }}</text>
 				</text>
 			</view>
-			<view class="recharge_head_ul flexs">
-				<view class="recharge_head_li center" :class="{ active: index == i }" @click="changeI(index)" v-for="(item, index) in rechargeList" :key="index">
+			<view class="main flexs">
+				<view class="main-item center" :class="{ active: index == i }" @click="changeMoney(index)" v-for="(item, index) in rechargeList" :key="index">
 					<text>¥</text>
 					<text>{{ item.coin }}</text>
 				</view>
 			</view>
 		</view>
-		<view class="deposit_main">
-			<view class="deposit_main_name">选择支付方式</view>
-			<view class="deposit_main_ul">
-				<view class="deposit_main_li flex" v-for="(item, index) in payList" :key="index" @click="changePay(item.type)">
-					<view class="deposit_main_img flexs">
+		<view class="choose">
+			<view class="choose-title">选择支付方式</view>
+			<view class="choose-main">
+				<view class="choose-main-item flex" v-for="(item, index) in payList" :key="index" @click="changePay(item.type)">
+					<view class="choose-main-bg flexs">
 						<image :src="item.image" mode=""></image>
 						<text>{{ item.name }}</text>
 					</view>
-					<view class="deposit_main_li_select">
+					<view class="choose-main-radio">
 						<image :src="item.type == payIndex ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/publice/weixuanzhong@2x.png'" mode=""></image>
 					</view>
 				</view>
 			</view>
-			<view class="deposit_main_txt"><u-parse :content="message"></u-parse></view>
+			<view class="choose-font"><u-parse :content="message"></u-parse></view>
 		</view>
-		<button class="recharge_btn" hover-class="hover-view" @click="submitPay">支付</button>
+		<button class="pay-btn" hover-class="hover-view" @click="pay">支付</button>
 	</view>
 </template>
 
@@ -78,24 +78,6 @@ export default {
 					image: '/static/image/me/zhifubao@2x.png'
 				}
 				// #endif
-				/*	{
-						name:'普通支付',
-						type:'2',
-						image:'/static/image/me/zhifubao@2x_no.png'
-					},
-
-					*/
-
-				// {
-				// 	name:'卡密充值',
-				// 	type:'3',
-				// 	image:'/static/image/me/kmcz.png'
-				// },
-				// {
-				// 	name:'人工充值',
-				// 	type:'4',
-				// 	image:'/static/image/me/rgcz.png'
-				// },
 			] //支付列表
 		};
 	},
@@ -115,23 +97,12 @@ export default {
 				this.capital = data;
 			}
 		});
-		//渲染分类列表
-		// this.getCategoryList();
 	},
 	methods: {
 		//提交支付
-		submitPay() {
-			if (this.payIndex == 3) {
-				//充值卡密
-				this.rechargePassword();
-				return;
-			}
-			if (this.payIndex == 4) {
-				//人工充值
-				this.rengong();
-				return;
-			}
-			this.$api.createRechargeOrder({ amount: this.rechargeList[this.i].coin }).then(res => {
+		pay() {
+			console.log(this.rechargeList[this.i].coin);
+			this.$api.createRechargeOrder({ amount: this.rechargeList[this.i].coin * 1 }).then(res => {
 				if (res.code === 1) {
 					console.log(res, '1111');
 					if (this.payIndex == 0) {
@@ -191,7 +162,7 @@ export default {
 			});
 		},
 		//选择金额
-		changeI(index) {
+		changeMoney(index) {
 			this.i = index;
 		},
 		//切换支付方式
@@ -199,37 +170,26 @@ export default {
 			this.payIndex = index;
 		},
 		//获取充值列表
-		getRechargeList() {
+		loadData() {
 			this.$api.rechargeList().then(res => {
 				if (res.code === 1) {
 					this.tips = res.data.tips;
 					this.message = res.data.notice;
 					this.rechargeList = res.data.list;
 					this.bili = res.data.bili;
+					console.log(this.rechargeList);
 				}
 			});
-		},
-		//卡密充值跳转
-		rechargePassword() {
-			uni.navigateTo({
-				url: '/pages/me/passwordRecharge/passwordRecharge'
-			});
-		},
-		//人工充值跳转
-		rengong() {
-			uni.navigateTo({
-				url: '/pagesB/pages/server'
-			});
 		}
 	},
 	onLoad() {
-		this.getRechargeList();
+		this.loadData();
 	}
 };
 </script>
 
 <style lang="scss">
-.czbj {
+.appleczsb {
 	margin-top: 1%;
 	overflow: hidden;
 	width: 100%;
@@ -237,7 +197,7 @@ export default {
 	box-shadow: rgba(0, 0, 0, 0.04) 0px 4px 20px 0px;
 	border-radius: 32rpx;
 }
-.czbj .czbj-img {
+.appleczsb .appleczsb-img {
 	height: 175rpx;
 	width: 100%;
 	position: relative;
@@ -246,7 +206,7 @@ export default {
 		height: 100%;
 	}
 }
-.czbj .czbj-text {
+.appleczsb .appleczsb-font {
 	position: absolute;
 	width: 100%;
 	height: 175rpx;
@@ -255,18 +215,18 @@ export default {
 	padding: 30rpx 65rpx;
 	uni-text {
 		font-size: 32rpx;
-		color: #fff;
+		color: #ff2947;
 		display: block;
 	}
 	span {
 		font-size: 46rpx;
 		font-weight: bold;
-		color: #fff;
+		color: #ff2947;
 		display: block;
 		margin-top: 20rpx;
 	}
 }
-.czbj .czbj-czjc {
+.appleczsb .appleczsb-czjc {
 	padding: 11px 15px;
 	span {
 		width: 29px;
@@ -281,12 +241,12 @@ export default {
 		line-height: 48rpx;
 	}
 }
-.recharge {
+.chongzhi {
 	min-height: calc(100vh - 44px);
 	position: relative;
 	padding: 0 30rpx;
-	.recharge_head {
-		.recharge_head_txt {
+	.chongzhitop {
+		.chongzhitop-font {
 			padding: 20rpx 0 20rpx 0;
 			text {
 				&:first-child {
@@ -296,7 +256,7 @@ export default {
 				&:last-child {
 					color: #999999;
 				}
-				.real-coin {
+				.money {
 					color: #ff0000;
 					font-size: 32rpx;
 					font-weight: bold;
@@ -304,9 +264,9 @@ export default {
 			}
 		}
 	}
-	.recharge_head_ul {
+	.main {
 		flex-wrap: wrap;
-		.recharge_head_li {
+		.main-item {
 			margin: 0 24rpx 20rpx 0;
 			width: 214rpx;
 			height: 160rpx;
@@ -329,20 +289,20 @@ export default {
 		}
 	}
 }
-.deposit_main {
+.choose {
 	padding-bottom: 30rpx;
-	.deposit_main_name {
+	.choose-title {
 		font-size: 32rpx;
 		font-weight: bold;
 		padding: 10rpx 0 30rpx 10rpx;
 	}
-	.deposit_main_ul {
+	.choose-main {
 		background: #ffffff;
-		.deposit_main_li {
+		.choose-main-item {
 			padding: 30rpx 20rpx;
 			border: 1px solid #66a6ff;
 			border-radius: 60rpx;
-			.deposit_main_img {
+			.choose-main-bg {
 				image {
 					width: 50rpx;
 					height: 50rpx;
@@ -352,17 +312,17 @@ export default {
 					font-size: 28rpx;
 				}
 			}
-			.deposit_main_li_select {
+			.choose-main-radio {
 				width: 32rpx;
 				height: 32rpx;
 			}
 		}
 	}
-	.deposit_main_txt {
+	.choose-font {
 		padding: 30rpx 0;
 	}
 }
-.recharge_btn {
+.pay-btn {
 	/*position: absolute;
 	left: 50%;
 	transform: translateX(-50%);

+ 46 - 49
pages/me/record.vue

@@ -1,14 +1,12 @@
 <template>
 	<view class="coll">
-		<view class="box_ul">
-			<view class="box_ul_li flexs" v-for="(item,index) in recordList" :key="index">
-				<view class="box_ul_li_img">
-					<image :src="item.image" mode="aspectFill"></image>
-				</view>
-				<view class="box_ul_li_main">
-					<view class="box_ul_li_name">{{ item.box_name }}</view>
-					<view class="box_ul_li_price">{{ item.coin_amount }}金币</view>
-					<view class="box_ul_li_time">时间:{{ item.time }}</view>
+		<view class="kxjl">
+			<view class="kxjl-item flexs" v-for="(item, index) in recordList" :key="index">
+				<view class="kxjl-bg"><image :src="item.image" mode="aspectFill"></image></view>
+				<view class="kxjl-info">
+					<view class="kxjl-name">{{ item.box_name }}</view>
+					<view class="kxjl-money">{{ item.coin_amount }}金币</view>
+					<view class="kxjl-time">时间:{{ item.time }}</view>
 				</view>
 			</view>
 		</view>
@@ -16,51 +14,50 @@
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				page:1,//分页
-				pages:0,//总页数
-				recordList:[],//记录列表
-			};
-		},
-		methods:{
-			//获取开箱记录
-			getRecord () {
-				this.$api.openRecord({page:this.page,msg:'数据加载中'}).then(res=>{
-					uni.stopPullDownRefresh()
-					if (res.code === 1) {
-						this.recordList = this.page == 1 ? res.data.data : [...this.recordList,...res.data.data],
-						this.pages = res.data.last_page
-					}
-				})
-			}
-		},
-		onLoad() {
-			this.getRecord()
-		},
-		onPullDownRefresh() {
-			this.page = 1
-			this.getRecord()
-		},
-		onReachBottom() {
-			if (this.page < this.pages) {
-				this.page++
-				this.getRecord()
-			}
+export default {
+	data() {
+		return {
+			page: 1, //分页
+			pages: 0, //总页数
+			recordList: [] //记录列表
+		};
+	},
+	methods: {
+		//获取开箱记录
+		loadData() {
+			this.$api.openRecord({ page: this.page, msg: '数据加载中' }).then(res => {
+				uni.stopPullDownRefresh();
+				if (res.code === 1) {
+					(this.recordList = this.page == 1 ? res.data.data : [...this.recordList, ...res.data.data]), (this.pages = res.data.last_page);
+				}
+			});
+		}
+	},
+	onLoad() {
+		this.loadData();
+	},
+	onPullDownRefresh() {
+		this.page = 1;
+		this.loadData();
+	},
+	onReachBottom() {
+		if (this.page < this.pages) {
+			this.page++;
+			this.loadData();
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-.box_ul {
+.kxjl {
 	padding: 30rpx 30rpx 0 30rpx;
-	.box_ul_li {
+	.kxjl-item {
 		padding: 30rpx;
 		margin-bottom: 20rpx;
-		background: #FFFFFF;
+		background: #ffffff;
 		border-radius: 20rpx;
-		.box_ul_li_img {
+		.kxjl-bg {
 			image {
 				width: 168rpx;
 				height: 168rpx;
@@ -68,19 +65,19 @@
 			}
 			margin-right: 20rpx;
 		}
-		.box_ul_li_name {
+		.kxjl-name {
 			font-size: 28rpx;
 			display: -webkit-box;
 			-webkit-box-orient: vertical;
 			-webkit-line-clamp: 2;
 			overflow: hidden;
 		}
-		.box_ul_li_price {
-			color: #CF271B;
+		.kxjl-money {
+			color: #cf271b;
 			font-size: 28rpx;
 			margin: 15rpx 0;
 		}
-		.box_ul_li_time {
+		.kxjl-time {
 			color: #999999;
 			font-size: 22rpx;
 		}

+ 104 - 17
pages/me/set.vue

@@ -1,35 +1,50 @@
 <template>
 	<view class="set">
-		<view class="set_ul">
-			<view class="set_li flex">
-				<view class="set_li_name">头像</view>
-				<view class="set_li_img flexs" @click="uploadHead">
+		<view class="set-main">
+			<view class="set-item flex">
+				<view class="set-font">头像</view>
+				<view class="set-image flexs" @click="uploadHead">
 					<image :src="info.avatar" mode="aspectFill" class="head"></image>
 					<image src="/static/image/publice/jinruer@2x.png" mode=""></image>
 				</view>
 			</view>
-			<view class="set_li flex">
-				<view class="set_li_name">昵称</view>
-				<view class="set_li_ipt"><input type="text" @input="changeName" :value="info.nickname" /></view>
+			<view class="set-item flex">
+				<view class="set-font">昵称</view>
+				<view class="set-input"><input type="text" @input="changeName" :value="info.nickname" /></view>
 			</view>
-			<view class="set_li flex">
-				<view class="set_li_name">邀请码</view>
-				<view class="set_li_ipt"><input type="text" disabled="" :value="sharecode" /></view>
+			<view class="set-item flex">
+				<view class="set-font">邀请码</view>
+				<view class="set-input"><input type="text" disabled="" :value="sharecode" /></view>
 			</view>
 		</view>
-		<button class="set_btn" hover-class="hover-view" @click="quitLogin">退出登录</button>
+		<button class="btn" hover-class="hover-view" @click="quitLogin">退出登录</button>
 		<!-- #ifdef APP-PLUS -->
-		<button class="set_btn" hover-class="hover-view" @click="quitLogin">注销账户</button>
+		<button class="btn1" hover-class="hover-view" @click="quitLogin1">注销账户</button>
 		<!-- #endif -->
+		<uni-popup ref="popup" type="center">
+			<view class="psw-wrapper">
+				<view class="psw-title">请输入自己的账户</view>
+				<input type="text" v-model="password" class="psw-ipt" />
+				<view class="psw-btn">
+					<text @click.stop="qx">取消</text>
+					<text class="psw-qd" @click.stop="pswQd">确定</text>
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
 <script>
 import $DB from '../../http/debounce.js';
+import uniPopup from '../../components/uni-popup/uni-popup.vue';
 export default {
+	components: {
+		uniPopup
+	},
 	data() {
 		return {
 			sharecode: '',
+			password: '',
 			info: {} //
 		};
 	},
@@ -51,6 +66,34 @@ export default {
 				}
 			});
 		},
+		quitLogin1() {
+			this.$refs.popup.open();
+		},
+		qx() {
+			this.password = '';
+			this.$refs.popup.close();
+		},
+		pswQd() {
+			// if (this.password != this.info.nickname) {
+			// 	this.$refs.popup.close();
+			// 	this.password = '';
+			// 	uni.showToast({
+			// 		title: '请输入自己的账户',
+			// 		duration: 1500,
+			// 		mask: false,
+			// 		icon: 'none'
+			// 	});
+			// 	return;
+			// }
+			this.$refs.popup.close();
+			this.password = '';
+			uni.showToast({
+				title: '申请注销成功,请耐心等待审核',
+				duration: 1500,
+				mask: false,
+				icon: 'none'
+			});
+		},
 		//修改名字
 		changeName: $DB(function(e) {
 			if (!e.detail.value) return;
@@ -107,17 +150,17 @@ export default {
 	min-height: calc(100vh - 44px);
 	position: relative;
 }
-.set_li {
+.set-item {
 	padding: 30rpx;
 	background: #ffffff;
 	margin-top: 2rpx;
 	&:first-child {
 		padding: 15rpx 30rpx;
 	}
-	.set_li_name {
+	.set-font {
 		font-size: 28rpx;
 	}
-	.set_li_img {
+	.set-image {
 		image {
 			width: 22rpx;
 			height: 22rpx;
@@ -130,7 +173,7 @@ export default {
 			border-radius: 50%;
 		}
 	}
-	.set_li_ipt {
+	.set-input {
 		color: #999999;
 		font-size: 26rpx;
 		input {
@@ -139,7 +182,7 @@ export default {
 		}
 	}
 }
-.set_btn {
+.btn {
 	color: #333333;
 	height: 98rpx;
 	bottom: 42rpx;
@@ -152,4 +195,48 @@ export default {
 	box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(102, 102, 102, 0.2);
 	border-radius: 10rpx;
 }
+.btn1 {
+	color: #333333;
+	height: 98rpx;
+	bottom: 142rpx;
+	left: 50%;
+	width: 690rpx;
+	position: absolute;
+	transform: translateX(-50%);
+	font-size: 30rpx;
+	background: #ffffff;
+	box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(102, 102, 102, 0.2);
+	border-radius: 10rpx;
+}
+.psw-wrapper {
+	width: 548rpx;
+	height: 344rpx;
+	background-color: #ffffff;
+	.psw-title {
+		width: 100%;
+		font-size: 35rpx;
+		padding: 43rpx 0 49rpx;
+		text-align: center;
+		font-weight: 800;
+	}
+	.psw-ipt {
+		display: block;
+		background-color: #dce3ed;
+		height: 90rpx;
+		width: 464rpx;
+		padding-left: 30rpx;
+		margin: 0 auto;
+		font-size: 80rpx;
+	}
+	.psw-btn text {
+		display: inline-block;
+		text-align: center;
+		width: 50%;
+		padding-top: 29rpx;
+		font-size: 35rpx;
+	}
+	.psw-qd {
+		color: #32c6ff;
+	}
+}
 </style>

+ 29 - 29
pages/me/wallet.vue

@@ -1,19 +1,19 @@
 <template>
-	<view class="wallet">
-		<view class="wallet_head">
-			<view class="wallet_head_txt">余额:(金币)</view>
-			<view class="wallet_head_price">{{ wallet || 0 }}</view>
-			<view class="wallet_head_btn"><button hover-class="hover-view" @click="recharge">充值</button></view>
+	<view class="yue">
+		<view class="yue-top">
+			<view class="yue-top-font">余额:(金币)</view>
+			<view class="yue-top-money">{{ wallet || 0 }}</view>
+			<view class="yue-top-btn"><button hover-class="hover-view" @click="navTo('/pages/me/recharge')">充值</button></view>
 		</view>
-		<view class="balance_main">
-			<view class="balance_main_head center">账单明细</view>
-			<view class="balance_main_list">
-				<view class="balance_main_list_li flex" v-for="(item, index) in walletList" :key="index">
-					<view class="balance_main_list_li_con">
-						<view class="balance_main_list_li_name">{{ item.type }}</view>
-						<view class="balance_main_list_li_time">时间:{{ item.create_time }}</view>
+		<view class="main">
+			<view class="main-font center">账单明细</view>
+			<view class="main-main">
+				<view class="main-item flex" v-for="(item, index) in walletList" :key="index">
+					<view class="main-item-left">
+						<view class="main-item-font">{{ item.type }}</view>
+						<view class="main-item-time">时间:{{ item.create_time }}</view>
 					</view>
-					<view class="balance_main_list_li_price" :class="{ blue: item.coin < 0 }">{{ item.coin }}</view>
+					<view class="main-item-money" :class="{ blue: item.coin < 0 }">{{ item.coin }}</view>
 				</view>
 			</view>
 		</view>
@@ -32,11 +32,11 @@ export default {
 	},
 	methods: {
 		//去充值
-		recharge() {
-			uni.navigateTo({ url: '/pages/me/recharge' });
+		navTo(url) {
+			uni.navigateTo({ url });
 		},
 		//获取金币列表
-		getWalletList() {
+		loadData() {
 			this.$api.myCoin({ page: this.page, msg: '数据加载中' }).then(res => {
 				if (res.code === 1) {
 					this.wallet = res.data.balance;
@@ -50,38 +50,38 @@ export default {
 		if (token) {
 			uni.setStorageSync('token', token);
 		}
-		this.getWalletList();
+		this.loadData();
 	},
 	onReachBottom() {
 		if (this.page < this.pages) {
 			this.page++;
-			this.getWalletList();
+			this.loadData();
 		}
 	}
 };
 </script>
 
 <style lang="scss">
-.wallet {
+.yue {
 	padding: 30rpx 30rpx 0 30rpx;
 }
-.wallet_head {
+.yue-top {
 	height: 220rpx;
 	margin-bottom: 60rpx;
 	background: url(https://www.chaomangdao.com/image/yuebeijing@2x.png) no-repeat;
 	background-size: cover;
 	padding: 30rpx 30rpx 30rpx 40rpx;
-	.wallet_head_txt {
+	.yue-top-font {
 		color: #ffffff;
 		font-size: 28rpx;
 	}
-	.wallet_head_price {
+	.yue-top-money {
 		color: #ffffff;
 		font-size: 60rpx;
 		font-weight: bold;
 		line-height: 1;
 	}
-	.wallet_head_btn {
+	.yue-top-btn {
 		display: flex;
 		justify-content: flex-end;
 		button {
@@ -92,7 +92,7 @@ export default {
 		}
 	}
 }
-.balance_main_head {
+.main-font {
 	background: #ffffff;
 	height: 80rpx;
 	font-size: 30rpx;
@@ -100,21 +100,21 @@ export default {
 	border-radius: 10rpx 10rpx 0rpx 0rpx;
 	border-bottom: 2rpx solid #fafafa;
 }
-.balance_main_list {
+.main-main {
 	background: #ffffff;
 	border-radius: 0rpx 0rpx 10rpx 10rpx;
-	.balance_main_list_li {
+	.main-item {
 		padding: 20rpx 30rpx;
 		border-bottom: 2rpx solid #fafafa;
-		.balance_main_list_li_name {
+		.main-item-font {
 			color: #666666;
 			font-size: 26rpx;
 			margin-bottom: 20rpx;
 		}
-		.balance_main_list_li_time {
+		.main-item-time {
 			color: #999999;
 		}
-		.balance_main_list_li_price {
+		.main-item-money {
 			color: #f6af32;
 			font-size: 30rpx;
 		}

+ 58 - 114
pages/tabbar/index.vue

@@ -1,46 +1,32 @@
 <template>
 	<view class="index-main">
-		<!-- 微信提示遮罩 -->
-		<!-- <view v-if="isWeiXin" class="shadow">
-			<image src="/static/image/tabbar/weixinShadow.png" mode="aspectFit"></image>
-		</view> -->
 		<view class="main-top">
 			<view class="main-title">
-				<!-- <view class="play-explain" @tap="$refs.regulation.open()">
-					<image class="small-img" src="/static/image/new_home/ckgz.png" mode="widthFix"></image>
-					<text>查看规则</text>
-				</view> -->
-				<!-- <view class="play-explain_1" @tap="$refs.regulation_1.open()">
-					<image class="small-img" src="/static/image/tabbar/wodeyixuanzhong@2x1.png" mode="widthFix"></image>
-					<text>买家须知</text>
-				</view> -->
-
-				<view class="service" @click="zxkf()"><image class="main-left-icon" src="https://www.chaomangdao.com/image/new_home/kf.png" mode="widthFix"></image></view>
+				<view class="service" @click="navTo('/pagesB/pages/server')">
+					<image class="main-left-icon" src="https://www.chaomangdao.com/image/new_home/kf.png" mode="widthFix"></image>
+				</view>
 			</view>
 			<view class="main-left">
-				<!-- <view class="details_title_mp3" @click="changePlay">
-					<image :class="['bjtb', isPlay && 'run']" :src="isPlay ? '/static/image/home/bofang@2x.png' : '/static/image/home/guanbiyinyue@2x.png'" mode="widthFix"></image>
-				</view> -->
-				<view class="main-left-icon" @click="toMyBox()">
+				<view class="main-left-icon" @click="navMybox()">
 					<image class="main-left-icon-bg" src="../../static/image/new_home/tbxg.png" mode="widthFix"></image>
 					<!-- <span>物品盒柜</span> -->
 				</view>
-				<view class="main-left-right" @click="wfashuiming()">
+				<view class="main-left-right" @click="navTo('/pages/index/wfsm')">
 					<image class="main-left-icon" src="../../static/image/new_home/wfsm.png" mode="widthFix"></image>
 					<!-- <span>玩法说明</span> -->
 				</view>
 			</view>
-			<lunbobox></lunbobox>
+			<!-- <lunbobox></lunbobox> -->
 			<view class="banner">
 				<!-- 图片轮播主区域 -->
 				<view class="banner-main">
 					<view class="banner-main-bg"><image src="../../static/image/new_home/box-images-bj.png" mode=""></image></view>
 					<prize-flying v-if="currBox" :box-id="currBox.box_id"></prize-flying>
 					<!-- 图片轮播 -->
-					<image class="banner-item banner-item-left" src="../../static/image/new_home/arrow-left.png" mode="widthFix" @click="prev"></image>
-					<image class="banner-item banner-item-right" src="../../static/image/new_home/arrow-right.png" mode="widthFix" @click="next"></image>
+					<image class="banner-item banner-item-left" src="../../static/image/new_home/arrow-left.png" mode="widthFix" @click="bannerPrev"></image>
+					<image class="banner-item banner-item-right" src="../../static/image/new_home/arrow-right.png" mode="widthFix" @click="bannerNext"></image>
 					<view class="banner-item-main">
-						<swiper class="banner-swper" circular :current="loopData.current" @change="loopItemChange($event.detail.current)">
+						<swiper class="banner-swper" circular :current="loopData.current" @change="bannerC($event.detail.current)">
 							<template v-for="(item, index) in loopData.list">
 								<swiper-item :key="index">
 									<view :class="['banner-image-box']">
@@ -53,7 +39,7 @@
 														: item.box_banner_images[0]
 												"
 												mode="heightFix"
-												@click="goMessage(item, 0)"
+												@click="goDetail(item, 0)"
 											></image>
 										</template>
 									</view>
@@ -61,16 +47,8 @@
 							</template>
 						</swiper>
 					</view>
-					<!-- 底座 -->
-					<!-- <view class="pedestal">
-						<image src="/h5/static/image/new_home/dizhuo.png" mode="heightFix"></image>
-					</view> -->
 					<!-- 手指 -->
 					<view class="fingerAnimation"><image src="../../static/image/new_home/sz.png" mode="heightFix"></image></view>
-					<!-- 盲盒奖品 -->
-					<!-- <view class="prize" @click="goCurrMessage()">
-						<image src="/h5/static/image/new_home/mhjp.png" mode="heightFix"></image>
-					</view> -->
 				</view>
 				<!-- 下方价格 -->
 				<view class="price-container">
@@ -85,11 +63,11 @@
 						:previous-margin="loopData.margin"
 						:next-margin="loopData.margin"
 						:current="loopData.current"
-						@change="loopItemChange($event.detail.current)"
+						@change="bannerC($event.detail.current)"
 					>
 						<template v-for="(item, index) in loopData.list">
 							<swiper-item :key="index" :class="[loopData.current == index && 'label-active']">
-								<view :class="['fontbanner-box']" @click="loopItemChange(index)">
+								<view :class="['fontbanner-box']" @click="bannerC(index)">
 									<view :class="['fontbanner-bg-box']">
 										<image
 											:src="item.box_foot_images.indexOf('http') == -1 ? 'https://www.chaomangdao.com' + item.box_foot_images : item.box_foot_images"
@@ -110,58 +88,47 @@
 			<view>
 				<!-- 下方按钮区 -->
 				<view class="btn">
-					<view class="side-btn" @click="haveTry()"><image src="/static/image/new_home/swmhan.png" mode="widthFix"></image></view>
-					<view class="center-btn" @click="selectNum()">
-						<image src="/static/image/new_home/khan.png" mode="widthFix"></image>
-						<!-- <text>立即开箱</text> -->
-					</view>
+					<!-- 试玩按钮 -->
+					<view class="side-btn" @click="demoTry()"><image src="/static/image/new_home/swmhan.png" mode="widthFix"></image></view>
+					<!-- 开箱按钮 -->
+					<!-- <view class="center-btn" @click="chooseNum()"><image src="/static/image/new_home/khan.png" mode="widthFix"></image></view> -->
+					<view class="center-btn" @click="goDetail('', 0)"><image src="/static/image/new_home/khan.png" mode="widthFix"></image></view>
+					<!-- 查看规则按钮 -->
 					<view class="side-btn" @click="$refs.regulation.open()"><image src="/static/image/new_home/gdmhan.png" mode="widthFix"></image></view>
 				</view>
 			</view>
-			<!-- <view>
-				<text class="look-rule" @click="toHelp()">查看规则</text>
-			</view> -->
-			<!-- <view class="banner">
-				<view>
-					<image class="small-img" src="/h5/static/image/new_home/dbzj.png" mode="heightFix"></image>
-					每盒100%中奖
-				</view>
-				<view class="center">
-					<image class="small-img" src="/h5/static/image/new_home/myfh.png" mode="heightFix"></image>
-					满意发货
-				</view>
-				<view>
-					<image class="small-img" src="/h5/static/image/new_home/hs.png" mode="heightFix"></image>
-					不满意回收
-				</view>
-			</view> -->
 		</view>
+		<!-- 选择购买的方式 -->
 		<uni-popup ref="choose-number" type="bottom" :mask-click="false">
 			<view class="choose-number">
-				<view class="popup-close" @click="closeNumPopup"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
+				<view class="popup-close" @click="closebuyPopup"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
+				<!-- 购买一个 -->
 				<view class="number-item">
-					<view class="num-button" @click="createOder(1)">
+					<view class="num-button" @click="buyBox(1)">
 						<image src="../../static/image/new_home/btn-1.png" mode="widthFix"></image>
 						<text>一发入魂</text>
 					</view>
 				</view>
+				<!-- 购买多个个 -->
 				<view class="number-item">
-					<view class="num-button" @click="createOder(5)">
+					<view class="num-button" @click="buyBox(5)">
 						<image src="../../static/image/new_home/btn-3.png" mode="widthFix"></image>
 						<text>五连绝世</text>
 					</view>
-					<view class="num-button" @click="createOder(9)">
+					<view class="num-button" @click="buyBox(9)">
 						<image src="../../static/image/new_home/btn-2.png" mode="widthFix"></image>
 						<text>九连更稳</text>
 					</view>
 				</view>
+				<!-- 订单信息 -->
 				<view class="order-info">
 					<view>开盒数量:{{ boxNum }}</view>
 					<view class="total-price">订单金额:¥{{ totalPrice }}</view>
 				</view>
-				<view class="popup-btn"><!-- <button type="primary" @click="$refs['payment'].open(0, boxNum)">创建订单</button> --></view>
+				<view class="popup-btn"></view>
 			</view>
 		</uni-popup>
+		<!-- 打开玩法规则的弹窗 -->
 		<uni-popup ref="regulation" :mask-click="false">
 			<view class="regulation">
 				<view class="regulation-close" @click="$refs.regulation.close()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
@@ -171,6 +138,7 @@
 				</view>
 			</view>
 		</uni-popup>
+		<!-- 告诉买家购买规则 -->
 		<uni-popup ref="regulation_1" :mask-click="false">
 			<view class="regulation_1">
 				<view class="regulation-close" @click="$refs.regulation_1.close()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
@@ -180,17 +148,11 @@
 				</view>
 			</view>
 		</uni-popup>
-		<payment
-			ref="payment"
-			:box-id="currBox && currBox.box_id"
-			:box-num="boxNum"
-			:type="type"
-			pay-page="index"
-			@create-success="closeNumPopup"
-			@show-result="showResult"
-		></payment>
-		<!-- 	<show-result ref="result-popup" :num="boxNum" @accept="toMyBox()" @recycle="recycle" :type="type"></show-result> -->
-		<show-result :key="resultKey" ref="result-popup" :num="boxNum" @accept="toMyBox()" v-if="xh" @recycle="recycle" :type="type" @close="closexh()"></show-result>
+		<!-- 支付小组件 -->
+		<payment ref="payment" :box-id="currBox && currBox.box_id" :box-num="boxNum" :type="type" pay-page="index" @success="closebuyPopup" @fail="showResult"></payment>
+		<!-- 动画展示 -->
+		<show-result :key="resultKey" ref="result-popup" :num="boxNum" @accept="navMybox()" v-if="xh" @recycleD="recycleD" :type="type" @close="closeDetail()"></show-result>
+		<!-- 退款详情 -->
 		<recycle ref="recycle"></recycle>
 	</view>
 </template>
@@ -200,12 +162,7 @@
 import payment from '@/components/payment.vue';
 import showResult from '@/components/show-result.vue';
 import recycle from '@/components/recycle.vue';
-import lunbobox from '@/components/lunbobox.vue';
 import prizeFlying from '@/components/prize-flying.vue';
-const innerAudioContext = uni.createInnerAudioContext();
-innerAudioContext.autoplay = true;
-innerAudioContext.loop = true;
-// innerAudioContext.src = '/static/image/home/bj.mp3';
 export default {
 	// #ifdef MP
 	onShareAppMessage: function(res) {
@@ -238,7 +195,6 @@ export default {
 		payment,
 		showResult,
 		recycle,
-		lunbobox,
 		prizeFlying
 	},
 	data() {
@@ -315,7 +271,7 @@ export default {
 	},
 	methods: {
 		//轮播图变更
-		loopItemChange(index) {
+		bannerC(index) {
 			if (this.loopData.current == index) {
 				return;
 			}
@@ -324,24 +280,24 @@ export default {
 			this.flyingKey++;
 		},
 		//轮播图上一个
-		prev() {
+		bannerPrev() {
 			let index;
 			if (this.isFirstBox) {
 				index = this.loopData.list.length - 1;
 			} else {
 				index = this.loopData.current - 1;
 			}
-			this.loopItemChange(index);
+			this.bannerC(index);
 		},
 		//轮播图下一个
-		next() {
+		bannerNext() {
 			let index;
 			if (this.isLastBox) {
 				index = 0;
 			} else {
 				index = this.loopData.current + 1;
 			}
-			this.loopItemChange(index);
+			this.bannerC(index);
 		},
 		//分类列表
 		getCategoryList() {
@@ -359,19 +315,16 @@ export default {
 				}
 			});
 		},
-		//跳转盒柜
-		toMyBox() {
-			this.$refs['result-popup'].close();
+		//跳转到我的盒柜
+		navMybox() {
 			uni.switchTab({ url: '/pages/tabbar/box' });
 		},
-		//玩法说明
-		wfashuiming: () => uni.navigateTo({ url: '/pages/index/wfsm' }),
-		//跳转充值
-		toRecharge: () => uni.navigateTo({ url: '/pages/me/recharge' }),
-		//跳转客服
-		zxkf: () => uni.navigateTo({ url: '/pagesB/pages/server' }),
-		//跳转说明
-		toHelp: () => uni.navigateTo({ url: '/pages/index/help' }),
+		// 跳转页面
+		navTo(url) {
+			uni.navigateTo({
+				url
+			});
+		},
 		//玩法规则
 		getMessage() {
 			this.$api.agreement({ name: 'play_rule' }).then(res => {
@@ -385,43 +338,31 @@ export default {
 				}
 			});
 		},
-		//跳转更多盲盒
-		toMore: () => uni.navigateTo({ url: '/pages/index/more' }),
-		//音乐播放
-		changePlay() {
-			this.isPlay = !this.isPlay;
-			uni.setStorageSync('isPlay', this.isPlay);
-			this.isPlay ? innerAudioContext.play() : innerAudioContext.pause();
-		},
 		//跳转内页
-		goMessage(item, type) {
-			uni.navigateTo({ url: '/pages/index/details?id=' + item.box_id + '&type=' + type });
-		},
-		//跳转当前分类内页
-		goCurrMessage() {
-			this.goMessage(this.currBox, 0);
+		goDetail(item, type) {
+			uni.navigateTo({ url: '/pages/index/details?id=' + this.loopData.list[this.loopData.current].box_id + '&type=' + type });
 		},
 		//试玩
-		haveTry() {
+		demoTry() {
 			this.xh = true;
 			this.type = 1;
 			this.boxNum = 1;
 			this.$refs['payment'].open(1, 1);
 		},
 		//选择数量
-		selectNum() {
+		chooseNum() {
 			this.xh = true;
 			this.type = 0;
 			this.boxNum = 1;
 			this.$refs['choose-number'].open();
 		},
 		//创建订单
-		createOder(num) {
+		buyBox(num) {
 			this.boxNum = num;
 			this.$refs['payment'].open(0, this.boxNum);
 		},
 		//创建订单成功或者试玩返回结果
-		closeNumPopup() {
+		closebuyPopup() {
 			//关闭数量弹窗
 			this.$refs['choose-number'].close();
 		},
@@ -435,11 +376,13 @@ export default {
 			this.$refs['result-popup'].open({ ...result, boxImg: this.currBoxImg });
 		},
 		//回收
-		recycle(prizedata) {
+		recycleD(prizedata) {
 			this.$refs['result-popup'].close();
+			console.log(prizedata);
 			this.$refs['recycle'].recycle(prizedata.prizeInfo);
+			console.log(2);
 		},
-		closexh() {
+		closeDetail() {
 			console.log('close');
 			this.resultKey++;
 			this.xh = false;
@@ -453,6 +396,7 @@ export default {
 			uni.setStorageSync('is_channel', option.is_channel);
 		}
 		if (option.token) {
+			// 存储token
 			uni.setStorageSync('token', option.token);
 		}
 		if (option.scene) {

+ 15 - 32
pages/tabbar/me.vue

@@ -5,22 +5,22 @@
 			<view class="vheight"></view>
 			<!-- 用户 -->
 			<view class="userBox">
-				<view class="user-main flexs" @click="goSet">
+				<view class="user-main flexs" @click="navTo('/pages/me/set')">
 					<view class="user-avatar"><image :src="info.avatar" mode="aspectFill"></image></view>
 					<text>{{ info.nickname }}</text>
 				</view>
-				<view class="user-ts" @click="zxkf()">
+				<view class="user-ts" @click="navTo('/pagesB/pages/server')">
 					<image src="../../static/image/tabbar/ts.png"></image>
 					<view class="user-ts-font">投诉</view>
 				</view>
 			</view>
 			<view class="userMoney">
-				<view class="userMoney-item" @click="goWallet">
+				<view class="userMoney-item" @click="navTo('/pages/me/wallet')">
 					<view class="userMoney-item-bg"><image src="../../static/image/tabbar/jinbi.png" mode=""></image></view>
 					<view class="userMoney-item-font">金币</view>
 					<view class="userMoney-item-font">{{ info.coin || 0 }}</view>
 				</view>
-				<view class="userMoney-item" @click="goYue">
+				<view class="userMoney-item" @click="navTo('/pages/me/balance')">
 					<view class="userMoney-item-bg"><image src="../../static/image/tabbar/yuee.png" mode=""></image></view>
 					<view class="userMoney-item-font">余额</view>
 					<view class="userMoney-item-font">{{ info.money || 0 }}</view>
@@ -39,13 +39,13 @@
 				<view class="order-box">
 					<view class="order-box-title flex">
 						<view class="order-box-title-font">我的订单</view>
-						<view class="order-box-title-icon flexs" @click="order(0)">
+						<view class="order-box-title-icon flexs" @click="goOrderDeatil(0)">
 							<text>全部订单</text>
 							<image src="/static/image/publice/jinruer@2x.png" mode=""></image>
 						</view>
 					</view>
 					<view class="order-info flex">
-						<view class="order-info-item center" v-for="(item, index) in orderList" :key="index" @click="order(index)">
+						<view class="order-info-item center" v-for="(item, index) in orderList" :key="index" @click="goOrderDeatil(index)">
 							<image :src="item.image" mode=""></image>
 							<text>{{ item.name }}</text>
 						</view>
@@ -53,7 +53,7 @@
 				</view>
 			</view>
 			<view class="tool">
-				<view class="tool-box center" v-for="(item, index) in footerList" :key="index" @click="changeFooter(item)">
+				<view class="tool-box center" v-for="(item, index) in footerList" :key="index" @click="nav(item)">
 					<view class="tool-box-item">
 						<image :src="item.image" mode=""></image>
 						<text>{{ item.name }}</text>
@@ -148,40 +148,23 @@ export default {
 		};
 	},
 	methods: {
-		goSet() {
-			uni.navigateTo({ url: '/pages/me/set' });
-		},
-		//去我的金币
-		goWallet() {
-			uni.navigateTo({ url: '/pages/me/wallet' });
-		},
-		//去我的余额
-		goYue() {
-			uni.navigateTo({ url: '/pages/me/balance' });
-		},
-		//去提现明细
-		txmx() {
-			uni.navigateTo({ url: '/pagesA/pages/invite' });
+		navTo(url) {
+			uni.navigateTo({
+				url
+			});
 		},
 		toMyBox() {
-			// this.$refs['result-popup'].close();
 			uni.switchTab({ url: '/pages/tabbar/box' });
 		},
-		//去充值
-		recharge() {
-			uni.navigateTo({ url: '/pages/me/recharge' });
-		},
-		//跳转客服
-		zxkf: () => uni.navigateTo({ url: '/pagesB/pages/server' }),
 		//头部
 		changeTop(index) {
 			index == 0 ? uni.navigateTo({ url: '/pages/me/myBox' }) : uni.navigateTo({ url: '/pages/me/record' });
 		},
 		//去我的订单
-		order(index) {
+		goOrderDeatil(index) {
 			uni.navigateTo({ url: '/pages/me/order?type=' + index });
 		},
-		changeFooter(item) {
+		nav(item) {
 			uni.navigateTo({
 				url: item.url,
 				fail() {
@@ -192,7 +175,7 @@ export default {
 			});
 		},
 		//获取个人信息
-		getInfo() {
+		getuserInfo() {
 			this.$api
 				.userinfo()
 				.then(res => {
@@ -212,7 +195,7 @@ export default {
 		}
 	},
 	onShow() {
-		this.getInfo();
+		this.getuserInfo();
 		this.getbbs();
 	}
 };

+ 6 - 5
pages/tabbar/shai.vue

@@ -4,15 +4,15 @@
 			<view class="main-box">
 				<view class="main-item " v-for="(item, index) in mainList" :key="index" @click="item.flag = !item.flag">
 					<view class="main-userinfo flex">
-						<view class="main-avatar"><image :src="item.main_tx" mode="aspectFill"></image></view>
-						<view class="main-name">{{ item.main_mc }}</view>
+						<view class="main-avatar"><image :src="item.box_tx" mode="aspectFill"></image></view>
+						<view class="main-name">{{ item.box_mc }}</view>
 						<!-- <view class="main-font">{{ item.main_sj}}</view> -->
-						<view class="main-font">{{ item.main_sj }}</view>
+						<view class="main-font">{{ item.box_sj }}</view>
 						<view class="s-qc"></view>
 					</view>
-					<view class="main-info">{{ item.main_zw }}</view>
+					<view class="main-info">{{ item.box_zw }}</view>
 					<view class="main-image-box ">
-						<view class="main-image-item" v-for="(item2, index) in item.main_img" :key="index" @click="item.flag = !item.flag">
+						<view class="main-image-item" v-for="(item2, index) in item.box_img" :key="index" @click="item.flag = !item.flag">
 							<image :src="item2" mode="aspectFill" @click="lookImg(item2)"></image>
 						</view>
 						<view class="s-qc"></view>
@@ -79,6 +79,7 @@ export default {
 					});
 					this.pages = res.data.last_page;
 					this.mainList = this.page == 1 ? res.data.data : [...this.mainList, ...res.data.data];
+					console.log(this.mainList, '123456');
 				}
 			});
 			this.$api.checkSwitch().then(({ data }) => {

+ 0 - 31
pagesA/pages/bannerMessage.vue

@@ -1,31 +0,0 @@
-<template>
-	<view class="message">
-		<u-parse :content="message" ></u-parse>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				message:''
-			};
-		},
-		onLoad() {
-			this.message = JSON.parse(uni.getStorageSync('bannerMessage'))
-		},
-		onUnload() {
-			uni.removeStorageSync('bannerMessage')
-		}
-	}
-</script>
-<style>
-	page {
-		background: #FFFFFF;
-	}
-</style>
-<style lang="scss">
-.message {
-	padding: 30rpx;
-}
-</style>

+ 0 - 1288
pagesA/pages/camera.vue

@@ -1,1288 +0,0 @@
-<template>
-	<view class="camera">
-		<!-- <audio id="audio" src="/h5/pagesA/static/bj1.mp3" loop></audio> -->
-		<view class="details_title">
-			<view class="details_nav"></view>
-			<view class="details-title_head flex">
-				<view class="details_title_return" @click="returnTop"><image src="https://www.chaomangdao.com/image/publice/fanhui@2x.png" mode=""></image></view>
-				<view class="details_title_name">{{ name }}</view>
-				<view class="details_title_mp3" @click="changePlay">
-					<image :src="isPlay ? 'https://www.chaomangdao.com/image/home/bofang@2x.png' : 'https://www.chaomangdao.com/image/home/guanbiyinyue@2x.png'" mode=""></image>
-				</view>
-			</view>
-		</view>
-		<view class="camera_main">
-			<!-- <view class="camera_main_head flex">
-				<view class="details_head_price flexs">
-					<view class="details_head_gold">我的余额:{{ info.coin }}金币</view>
-					<view class="details_head_btn center" @click="recharge">充值</view>
-				</view>
-				<view class="details_head_rule flexs" @click="$refs.regulation.open()">
-					<text>玩法规则</text>
-					<image src="/static/image/home/wenhao@2x.png" mode=""></image>
-				</view>
-			</view> -->
-			<view class="camera_main_box">
-				<view class="camera_main_box_name">{{ name }}</view>
-				<view class="camera_main_box_ul flexs">
-					<view class="camera_main_box_li center" @click="changeBox(item, index)" v-for="(item, index) in 9" :key="index">
-						<!-- <image src="/pagesA/static/hezi@2x.png" mode="aspectFill"></image> -->
-						<image :src="getIcon(item, index)" mode="aspectFill"></image>
-					</view>
-				</view>
-				<!-- <view class="camera_footer_li center" @click="unpack(index)" v-for="(item,index) in 2" :key="index">
-					{{ index == 0 ? ( i == 0 ? '随机一个' : '随机五个') : '开箱' }}
-				</view> -->
-				<view class="mybtn">
-					<image :src="getNumBtn()" @click="unpack(0)"></image>
-					<image src="../static/openx.png" @click="unpack(1)"></image>
-				</view>
-			</view>
-			<view class="camera_footer">
-				<view class="xz">开盲盒细则</view>
-
-				<!-- <view class="sj">【随机一个】</view> -->
-				<view class="nr" v-html="notice_to_buyers"></view>
-
-				<!-- <view class="sj">【开箱】</view>
-				<view class="nr" v-html="notice_to_buyers"> -->
-				<!-- </view> -->
-			</view>
-		</view>
-		<uni-popup ref="popup" type="bottom" :mask-click="false">
-			<view class="pay">
-				<view class="pay_close" @click="$refs.popup.close()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
-				<view class="pay_head">支付</view>
-				<view class="pay_shop flexs">
-					<view class="pay_shop_img">
-						<view class="pay_shop_img_top">
-							<view class="pay_shop_img_left"><image :src="boxMessage.image" mode="aspectFill"></image></view>
-							<view class="pay_shop_img_right"><image :src="item" mode="aspectFill" v-for="(item, index) in boxMessage.right" :key="index"></image></view>
-						</view>
-						<view class="pay_shop_img_bot"><image :src="item" mode="aspectFill" v-for="(item, index) in boxMessage.bot" :key="index"></image></view>
-					</view>
-					<view class="pay_shop_main">
-						<view class="pay_shop_name">{{ boxMessage.box_name }}</view>
-						<view class="pay_shop_price flex">
-							<view class="pay_shop_price_l">{{ boxMessage.coin_amount }}金币</view>
-							<view class="pay_shop_price_btn center" v-if="boxMessage.coin_not_enough">金额不足</view>
-						</view>
-					</view>
-				</view>
-				<view class="pay_attention">{{ boxMessage.notice }}</view>
-				<view class="pay_contant flexs">
-					<image
-						@click="isConsent = !isConsent"
-						:src="isConsent ? '/static/image/publice/xuanzhong1@2x.png' : '/static/image/publice/weixuanzhong1@2x.png'"
-						mode=""
-					></image>
-					<text @click="goBuyer">我已阅读并同意《喵喵开盒买家须知》</text>
-				</view>
-				<button class="pay_gold" @click="goldPay" v-if="!boxMessage.coin_not_enough" hover-class="hover-view">金币支付</button>
-				<view class="pay_ul flex" v-else>
-					<button class="pay_ul_btn" @click="recharge()" hover-class="hover-view">立即充值</button>
-
-					<!--button class="pay_ul_btn" @click="patternIndex(index)" hover-class="hover-view" v-for="(item,index) in 2" :key="index">{{ index == 0 ? '微信支付'+ boxMessage.rmb_amount +'金币' : '支付宝支付'+ boxMessage.rmb_amount +'金币' }}</button-->
-				</view>
-			</view>
-		</uni-popup>
-		<!--S  玩法规则 -->
-		<uni-popup ref="regulation" :mask-click="false">
-			<view class="regulation">
-				<view class="regulation_close" @click="$refs.regulation.close()"><image src="https://www.chaomangdao.com/image/home/guanbi@2x.png" mode=""></image></view>
-				<view class="regulation_name">玩法规则</view>
-				<view class="regulation_main">
-					<scroll-view scroll-y="true" class="scroll-view"><u-parse :content="message"></u-parse></scroll-view>
-				</view>
-			</view>
-		</uni-popup>
-		<!--E  玩法规则 -->
-		<!-- S 奖品弹框 -->
-		<uni-popup ref="prize" :mask-click="false">
-			<view class="prize ">
-				<view class="prize_box">
-					<view class="prize_close" @click="$refs.prize.close()"><image src="../static/guanbi@2x.png" mode=""></image></view>
-					<view class="prize-top" :class="'prize-top-' + i"><image src="../static/gaizi@2x.png" mode="aspectFit"></image></view>
-					<!-- 1开 -->
-					<view :class="['prize_shop', 'center', 'onebox', 'tag-' + tag, scale && 'prize_shop_scale']" v-if="i == 0">
-						<view class="left-top-tag">
-							<image class="tag-img" :src="tagImg" mode="aspectFit"></image>
-							<text class="tag-text">{{ tagText }}</text>
-						</view>
-						<image class="one" v-if="prizedata && prizedata.prizeInfo" :src="prizedata.prizeInfo[0].image" mode="widthFix"></image>
-						<text class="colorblack" v-if="prizedata && prizedata.prizeInfo">{{ prizedata.prizeInfo[0].goods_name }}</text>
-					</view>
-					<!-- 5开or10开 -->
-					<view class="prize_ul" :class="'prize_ul-' + i" v-else>
-						<!-- <scroll-view scroll-x="true" class="scroll-view"> -->
-						<view :class="['prize_ul_li', 'twobox', 'flex', 'tag-' + tagFun(item)]" v-for="(item, index) in prizedata.prizeInfo" :key="index">
-							<view class="left-top-tag">
-								<image class="tag-img" :src="tagImgFun(item)" mode="aspectFit"></image>
-								<text class="tag-text">{{ tagTextFun(item) }}</text>
-							</view>
-							<image class="two" :src="item.image" mode="widthFix"></image>
-							<text class="a">{{ item.goods_name }}</text>
-						</view>
-						<!-- </scroll-view> -->
-					</view>
-					<view class="prize_footer" :class="'prize_footer-' + mode" v-if="type == 0">
-						<!-- 立即收下 -->
-						<view class="btn btn-1" @click="recycle(1)"></view>
-						<!-- 一键回收 -->
-						<view class="btn btn-0" @click="recycle(0)"></view>
-					</view>
-					<view class="shiwan center" v-else>试玩结果仅供展示哦~</view>
-				</view>
-			</view>
-		</uni-popup>
-		<!-- E 奖品弹框 -->
-		<!-- 收回弹框 -->
-		<uni-popup ref="recycle" :mask-click="false">
-			<view class="recycle">
-				<view class="recycle_close" @click="$refs.recycle.close()"><image src="/static/image/publice/guanbi@2x.png" mode=""></image></view>
-				<view class="recycle_head">提示</view>
-				<view class="recycle_price center">
-					<text>¥{{ recycleMessage.amount }}</text>
-					<text>回收金币</text>
-				</view>
-				<view class="recycle_ul">
-					<view class="recycle_ul_li flex" v-for="(item, index) in recycleMessage.goods_info" :key="index">
-						<view class="recycle_ul_li_txt">{{ item.name }}</view>
-						<view class="recycle_ul_li_r flexs">
-							<text>¥{{ item.price }}</text>
-							<text>x{{ item.num }}</text>
-						</view>
-					</view>
-				</view>
-				<view class="recycle_txt">{{ recycleMessage.notice }}</view>
-				<view class="sure" @click="$refs.recycle.close()">确定</view>
-			</view>
-		</uni-popup>
-		<view v-show="openLoading" class="loading-mask"><image class="loading-gif" src="/h5/pagesA/static/kh.gif" mode="aspectFit"></image></view>
-	</view>
-</template>
-
-<script>
-// var jweixin = require('@/js_sdk');
-const innerAudioContexts = uni.createInnerAudioContext();
-// innerAudioContexts.autoplay = true;
-innerAudioContexts.loop = true;
-// innerAudioContexts.src = '/static/image/home/bj.mp3';
-
-const innerAudioContext = uni.createInnerAudioContext();
-innerAudioContext.obeyMuteSwitch = false;
-export default {
-	data() {
-		return {
-			name: '',
-			box_id: '', //盒子ID
-			prizeList: [], //奖品列表
-			indexs: -1, // 当前转动到哪个位置,起点位置
-			count: 9, // 总共有多少个位置
-			timer: 0, // 每次转动定时器
-			speed: 200, // 初始转动速度
-			times: 0, // 转动次数
-			cycle: 30, // 转动基本次数:即至少需要转动多少次再进入抽奖环节
-			prize: -1, // 中奖位置
-			click: true, //标识是否处于抽奖状态
-			showToast: false, //显示中奖弹窗
-			indexList: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
-			type: null, //1试玩0详情
-			i: '', //一发还是五发
-			message: '', //玩法规则
-			boxMessage: {}, //盒子详情
-			goldFlag: true,
-			prizedata: {}, //奖品列表
-			isConsent: false, //是否同意
-			isHand: false,
-			info: {}, //个人信息
-			recovery_rule: '',
-			recycleMessage: {}, //回收信息
-			out_trade_no: '', //微信支付宝支付订单号
-			isPlay: true,
-			openLoading: false, //打开盒子加载状态
-			notice_to_buyers: '',
-			scale: false
-		};
-	},
-	computed: {
-		//当前单抽商品
-		currPrizedata() {
-			if (!this.prizedata) {
-				return null;
-			}
-			if (!this.prizedata.prizeInfo || this.prizedata.length < 1) {
-				return null;
-			}
-			return this.prizedata.prizeInfo[0];
-		},
-		//单抽商品品质
-		tag() {
-			return this.tagFun(this.currPrizedata);
-		},
-		//单抽品质文本
-		tagText() {
-			return this.tagTextFun(this.currPrizedata);
-		},
-		//单抽品质角标
-		tagImg() {
-			return this.tagImgFun(this.currPrizedata);
-		}
-	},
-	mounted() {
-		let audio = document.getElementById('audio').querySelector('audio');
-		audio.play();
-	},
-	methods: {
-		getNumBtn() {
-			if (this.i == 0) {
-				return '../static/round.png';
-			} else if (this.i == 1) {
-				return '../static/round.png';
-			} else {
-				return '../static/round.png';
-			}
-		},
-		getIcon(item, index) {
-			if (this.prizeList.indexOf(index) != -1 || this.indexs == index) {
-				console.log(1);
-				return '../static/in.png';
-			} else {
-				return '../static/un.png';
-			}
-		},
-		changePlay() {
-			this.isPlay = !this.isPlay;
-			uni.setStorageSync('isPlay', this.isPlay);
-			this.isPlay ? innerAudioContexts.play() : innerAudioContexts.pause();
-		},
-		//一键回收
-		recycle(index) {
-			let ids = [];
-			this.prizedata.prizeInfo.forEach(item => {
-				ids.push(item.prize_id);
-			});
-			this.$refs.prize.close();
-			if (index == 0) {
-				this.$api.exchange({ record_ids: ids.join(',') }).then(res => {
-					if (res.code === 1) {
-						this.recycleMessage = res.data;
-						this.$refs.recycle.open();
-					}
-				});
-			} else {
-				//进入发货
-				// uni.redirectTo({url:'/pages/me/applyFaHuo?id=' + ids.join(',')})
-				//进入鞋柜
-				uni.navigateTo({ url: '/pages/me/myBox' });
-			}
-		},
-		//买家须知
-		goBuyer() {
-			uni.navigateTo({ url: '/pagesA/pages/buyer' });
-		},
-		//金币支付
-		goldPay() {
-			if (!this.isConsent) return uni.showToast({ title: '请阅读并勾选买家须知', icon: 'none' });
-			if (!this.goldFlag) return;
-			this.goldFlag = false;
-			this.$api.coinPay({ order_id: this.boxMessage.order_id }).then(res => {
-				if (res.code === 1) {
-					this.prizedata = res.data.prize;
-					this.$refs.popup.close();
-					if (!this.isHand) {
-						this.getInfo();
-						this.startRoll();
-						//开启动画
-						this.openLoading = true;
-						this.playMp3();
-					} else {
-						this.openResult();
-						// this.$refs.prize.open()
-					}
-					this.goldFlag = true;
-				} else {
-					this.goldFlag = true;
-				}
-			});
-		},
-
-		//支付宝微信支付
-		patternIndex(index) {
-			if (!this.isConsent) return uni.showToast({ title: '请阅读并勾选买家须知', icon: 'none' });
-			if (!this.goldFlag) return;
-			this.goldFlag = false;
-			let that = this;
-			this.$http.post(this.boxMessage.wechat).then(res => {
-				if (res.code === 1) {
-					WeixinJSBridge.invoke(
-						'getBrandWCPayRequest',
-						{
-							appId: res.data.appId, //公众号ID,由商户传入
-							timeStamp: res.data.timeStamp, //时间戳,自1970年以来的秒数
-							nonceStr: res.data.nonceStr, //随机串
-							package: res.data.package,
-							signType: res.data.signType, //微信签名方式:
-							paySign: res.data.paySign //微信签名
-						},
-						function(res) {
-							if (res.err_msg == 'get_brand_wcpay_request:ok') {
-								that.type = 0;
-								that.getOpenByOrderTrade(0);
-								// 使用以上方式判断前端返回,微信团队郑重提示:
-								//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
-							}
-						}
-					);
-				} else if (res.code === 403) {
-				}
-			});
-			if (index == 0) {
-				// this.$api.
-			} else {
-				location.href =
-					this.boxMessage[index == 0 ? 'wechat' : 'alipay'] +
-					'?type=' +
-					this.type +
-					'&index=' +
-					this.i +
-					'&id=' +
-					this.box_id +
-					'&name=' +
-					this.name +
-					'&token=' +
-					uni.getStorageSync('token');
-			}
-		},
-		//去充值
-		recharge() {
-			uni.navigateTo({ url: '/pages/me/recharge' });
-		},
-		//播放音频
-		playMp3() {
-			innerAudioContext.src = '/pagesA/static/jhr.mp3';
-			innerAudioContext.loop = true;
-			innerAudioContext.play();
-		},
-		//开奖
-		unpack(index) {
-			this.isHand = index == 0 ? false : true;
-			if (index == 1) {
-				if (this.i == 0) {
-					if (this.prizeList.length == 0) return uni.showToast({ title: '请选择一个盒子', icon: 'none' });
-				} else if (this.i == 1) {
-					if (this.prizeList.length < 5) return uni.showToast({ title: '请选择五个盒子', icon: 'none' });
-				} else {
-					if (this.prizeList.length < 9) return uni.showToast({ title: '请选择九个盒子', icon: 'none' });
-				}
-			} else {
-				this.prizeList = [];
-			}
-			this.createOrder(index);
-
-			//
-		},
-		startRoll() {
-			this.times += 1; // 转动次数
-			this.oneRoll(); // 转动过程调用的每一次转动方法,这里是第一次调用初始化
-			// 如果当前转动次数达到要求 && 目前转到的位置是中奖位置
-			if (this.times > this.cycle + 10 && this.prize === this.indexs) {
-				clearTimeout(this.timer); // 清除转动定时器,停止转动
-				this.openResult();
-				// this.$refs.prize.open()
-				//关闭加载动画
-				this.openLoading = false;
-				innerAudioContext.stop();
-				innerAudioContext.loop = false;
-				innerAudioContext.src = '/pagesA/static/hjo.mp3';
-				innerAudioContext.play();
-				this.prize = -1;
-				// if (this.isDemo) {
-				// 	this.$refs.single_prize.open()
-				// } else {
-				// 	this.num == 1 ? this.setlottery(true,this.$store.state.prizedata.type-1+2) : this.setlottery(true,9)
-				// }
-				// this.prizeList.push(this.indexs)
-
-				// this.getBoxMessage()
-				this.indexs = -1;
-				//
-				this.times = 0;
-				this.speed = 46;
-				this.click = true;
-				this.pretreasurerunging = false;
-				var that = this;
-				setTimeout(res => {
-					that.showToast = true;
-					// this.index = -1
-				}, 500);
-			} else {
-				if (this.times < this.cycle) {
-					this.speed -= 10; // 加快转动速度
-				} else if (this.times === this.cycle) {
-					const index = parseInt(Math.random() * 10, 0) || 0; // 随机获得一个中奖位置
-
-					// this.prize = this.lotteryList.indexOf(this.prizeMessage.id); //中奖位置,可由后台返回
-					this.prize = this.indexs;
-				} else if (this.times > this.cycle + 10 && ((this.prize === 0 && this.indexs === 7) || this.prize === this.indexs + 1)) {
-					this.speed += 110;
-				} else {
-					this.speed += 20;
-				}
-				if (this.speed < 40) {
-					this.speed = 46;
-				}
-				this.timer = setTimeout(this.startRoll, 46);
-			}
-		},
-
-		// 每一次转动
-		oneRoll() {
-			let index = this.indexs; // 当前转动到哪个位置
-			const count = this.count; // 总共有多少个位置
-			index += 1;
-			if (index > count - 1) {
-				index = 0;
-			}
-			let num = parseInt(Math.random() * this.indexList.length);
-			this.indexs = this.indexList[num];
-		},
-		//选择奖品
-		changeBox(item, index) {
-			var indexs = this.prizeList.indexOf(index);
-			if (indexs > -1) {
-				//大于0 代表存在,
-				this.prizeList.splice(indexs, 1); //存在就删除
-			} else {
-				if (this.i == 1) {
-					if (this.prizeList.length == 5) {
-						this.prizeList.shift();
-					}
-				} else if (this.i == 0) {
-					if (this.prizeList.length == 1) {
-						this.prizeList = [];
-					}
-				} else {
-					if (this.prizeList.length == 9) {
-						this.prizeList.shift();
-					}
-				}
-
-				this.prizeList.push(index);
-			}
-		},
-		returnTop() {
-			uni.navigateBack();
-		},
-		//玩法规则
-		getMessage() {
-			this.$api.agreement({ name: 'play_rule' }).then(res => {
-				if (res.code === 1) {
-					this.message = res.data.content;
-				}
-			});
-			this.$api.agreement({ name: 'recovery_rule' }).then(res => {
-				if (res.code === 1) {
-					this.recovery_rule = res.data.content;
-				}
-			});
-			this.$api.agreement({ name: 'notice_to_buyers' }).then(res => {
-				if (res.code === 1) {
-					this.notice_to_buyers = res.data.content;
-				}
-			});
-		},
-		//创建订单
-		createOrder(index) {
-			var n = 1;
-			if (this.i == 1) n = 5;
-			if (this.i == 2) n = 9;
-			this.$api[this.type == 1 ? 'haveATry' : 'createOrder']({
-				box_id: this.box_id,
-				num: n,
-				msg: this.type == 1 ? '试玩' : '创建订单中',
-				select: this.prizeList.join(',')
-			}).then(res => {
-				if (res.code === 1) {
-					if (this.type == 1) {
-						this.prizedata = { prizeInfo: res.data.goodsInfo };
-						this.$refs.popup.close();
-						if (!this.isHand) {
-							this.startRoll();
-							this.playMp3();
-						} else {
-							this.openResult();
-							// this.$refs.prize.open()
-						}
-					} else {
-						res.data.right = [];
-						res.data.bot = [];
-						res.data.image = res.data.images[0];
-						res.data.images.forEach((item, index) => {
-							if (index > 0 && index < 3) {
-								res.data.right.push(item);
-							}
-							if (index > 2) {
-								res.data.bot.push(item);
-							}
-						});
-						this.boxMessage = res.data;
-
-						this.$refs.popup.open();
-					}
-				}
-			});
-		},
-		//获取个人信息
-		getInfo() {
-			this.$api.userinfo().then(res => {
-				if (res.code === 1) {
-					this.info = res.data;
-				}
-			});
-		},
-		getOpenByOrderTrade(type) {
-			this.$api.openByOrderTrade(type == 0 ? { order_id: this.boxMessage.order_id } : { out_trade_no: this.out_trade_no }).then(res => {
-				if (res.code === 1) {
-					this.prizedata = res.data.prize;
-					this.$refs.popup.close();
-					this.startRoll();
-					this.playMp3();
-					this.goldFlag = true;
-				}
-			});
-		},
-		//打开结果页面
-		openResult() {
-			//品质不等于普通
-			if (this.tag != 'normal') {
-				//开启震动
-				try {
-					uni.vibrate({
-						success: function() {
-							console.log('震动');
-						}
-					});
-				} catch (e) {
-					console.log(e);
-				}
-				//开启效果
-				this.scale = true;
-				setTimeout(() => {
-					this.scale = false;
-				}, 1000);
-			}
-			//打开结果
-			this.$refs.prize.open();
-		},
-		//商品品质
-		tagFun(prizeInfo) {
-			if (!prizeInfo) return null;
-			return prizeInfo.tag;
-		},
-		//品质文本
-		tagTextFun(prizeInfo) {
-			if (!prizeInfo) return null;
-			if (prizeInfo.tag == 'normal') {
-				return '普通';
-			}
-			if (prizeInfo.tag == 'rare') {
-				return '稀有';
-			}
-			if (prizeInfo.tag == 'supreme') {
-				return '史诗';
-			}
-			if (prizeInfo.tag == 'legend') {
-				return '传说';
-			}
-		},
-		//品质角标
-		tagImgFun(prizeInfo) {
-			if (!prizeInfo) return null;
-			if (prizeInfo.tag == 'normal') {
-				return '/h5/pagesA/static/tag-1.png';
-			}
-			if (prizeInfo.tag == 'rare') {
-				return '/h5/pagesA/static/tag-2.png';
-			}
-			if (prizeInfo.tag == 'supreme') {
-				return '/h5/pagesA/static/tag-3.png';
-			}
-			if (prizeInfo.tag == 'legend') {
-				return '/h5/pagesA/static/tag-4.png';
-			}
-		}
-	},
-	onUnload() {
-		innerAudioContexts.pause();
-	},
-	onLoad({ type, index, id, name, status, out_trade_no, token }) {
-		this.isPlay = uni.getStorageSync('isPlay');
-		this.isPlay ? innerAudioContexts.play() : innerAudioContexts.pause();
-		if (token) {
-			uni.setStorageSync('token', token);
-		}
-		if (out_trade_no) {
-			this.out_trade_no = out_trade_no;
-		}
-		if (status == 0 || status) {
-			status == 0 ? uni.showToast({ title: '取消支付', icon: 'none' }) : this.getOpenByOrderTrade(1);
-		}
-
-		this.name = name;
-		this.box_id = id;
-		this.i = index;
-		this.type = type;
-		this.getMessage();
-		this.getInfo();
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	min-height: 100%;
-	background-color: #693bec;
-}
-.sure {
-	padding: 10rpx 20rpx;
-	border-radius: 30rpx;
-	font-size: 26rpx;
-	background: -webkit-linear-gradient(0deg, #89f7fe 0%, #66a6ff 100%);
-	color: #fff;
-	width: 200rpx;
-	text-align: center;
-	margin: 0 auto;
-	margin-top: 40rpx;
-}
-.one {
-	height: 252rpx;
-	width: 252rpx;
-}
-.two {
-	height: 126rpx;
-	width: 126rpx;
-}
-.onebox {
-	height: 372rpx;
-	width: 352rpx;
-	border-radius: 26rpx;
-	background-color: #fff;
-}
-.twobox {
-	height: 186rpx;
-	width: 176rpx;
-	border-radius: 13rpx;
-	background-color: #fff;
-}
-
-.sj {
-	font-size: 28rpx;
-	font-family: PingFangSC-Medium, PingFang SC;
-	font-weight: 500;
-	color: #ac3800;
-	line-height: 40rpx;
-	padding-left: 36rpx;
-}
-
-.nr {
-	padding: 0 55rpx;
-	font-size: 24rpx;
-	font-family: PingFangSC-Regular, PingFang SC;
-	font-weight: 400;
-	color: #ac3800;
-	line-height: 40rpx;
-}
-
-.xz {
-	text-align: center;
-	height: 48rpx;
-	font-size: 34rpx !important;
-	font-family: PingFangSC-Medium, PingFang SC;
-	font-weight: 500;
-	color: #ac3800;
-	line-height: 48rpx;
-}
-
-.mybtn {
-	display: flex;
-	width: 100%;
-	justify-content: space-between;
-	padding: 20rpx 32rpx 36rpx 32rpx;
-	image {
-		width: 308rpx;
-		height: 84rpx;
-	}
-}
-.camera_head {
-	height: 88rpx;
-}
-.details_title {
-	width: 100%;
-	position: sticky;
-	top: 0;
-	z-index: 2021;
-	.details_nav {
-		width: 100%;
-	}
-	.details-title_head {
-		width: 100%;
-		height: 88rpx;
-		padding: 0 30rpx;
-		background: #ffffff;
-		.details_title_return {
-			width: 44rpx;
-			height: 44rpx;
-		}
-		.details_title_name {
-			width: 466rpx;
-			text-align: center;
-			overflow: hidden;
-			text-overflow: ellipsis;
-			white-space: nowrap;
-			font-size: 36rpx;
-			font-weight: bold;
-		}
-		.details_title_mp3 {
-			width: 44rpx;
-			height: 44rpx;
-		}
-	}
-}
-.camera_main {
-	// height: calc(100vh - 88rpx);
-	height: 793px;
-	padding-top: 58rpx;
-	background: url(../static/choubg@2x.png) no-repeat;
-	background-color: #693bec;
-	background-size: 100% 100%;
-	background-position: center;
-	background-repeat: no-repeat;
-	.camera_main_head {
-		padding: 30rpx 30rpx 80rpx 30rpx;
-		.details_head_gold {
-			color: #ffffff;
-			font-size: 30rpx;
-			font-weight: bold;
-		}
-		.details_head_btn {
-			width: 120rpx;
-			height: 50rpx;
-			color: #ffffff;
-			font-size: 28rpx;
-			background: linear-gradient(0deg, #f6af32 0%, #f7751f 100%);
-			border-radius: 25rpx;
-			margin-left: 30rpx;
-		}
-		.details_head_rule {
-			image {
-				width: 24rpx;
-				height: 24rpx;
-				margin-left: 10rpx;
-			}
-			text {
-				color: #ffffff;
-				font-size: 26rpx;
-			}
-		}
-	}
-	.camera_main_box {
-		width: 680rpx;
-		height: 1000rpx;
-		margin: 0 auto;
-
-		// background: url(../static/xuanzehezi@2x.png) no-repeat;
-		background-size: 100% 100%;
-		.camera_main_box_name {
-			line-height: 132rpx;
-			text-align: center;
-			padding-top: 50rpx;
-			height: 60rpx;
-			font-size: 44rpx;
-			font-family: PingFangSC-Medium, PingFang SC;
-			font-weight: 500;
-			color: #edec6f;
-		}
-		.camera_main_box_ul {
-			width: 100%;
-			padding: 0 118rpx;
-			margin: 0 auto;
-			margin-top: 140rpx;
-			flex-wrap: wrap;
-			justify-content: space-between;
-			.camera_main_box_li {
-				width: 140rpx;
-				height: 164rpx;
-				margin-bottom: 42rpx;
-				&:nth-child(4n) {
-					margin-right: 0;
-				}
-				// background: url(../static/hezibeijing@2x.png) no-repeat;
-				background-size: cover;
-				// border-image: linear-gradient(164deg, #FFA800, #FF3904, #FF8A00) 2 2;
-				border-radius: 8rpx;
-				image {
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.active {
-				background: url(../static/xuanzhongbeijing@2x.png) no-repeat;
-				background-size: cover;
-			}
-		}
-	}
-}
-.camera_footer {
-	width: 722rpx;
-	// background: linear-gradient(180deg, #F3E163 0%, #F5E76B 100%);
-	margin: 0 auto;
-	background-color: #f4e569;
-	border: 4rpx solid;
-	border-top: 0;
-	border-bottom: 0;
-	padding: 20rpx;
-	// border: 4rpx solid #000000;
-	// margin-top: 190rpx;
-	.camera_footer_li {
-		width: 330rpx;
-		height: 88rpx;
-		font-size: 30rpx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #ffffff;
-		text-shadow: 0rpx 2rpx 1rpx #fc985c;
-		&:first-child {
-			background: linear-gradient(145deg, #fb986e, #fa7e48);
-			box-shadow: 0rpx 5rpx 5rpx 0rpx rgba(138, 56, 6, 0.44);
-		}
-		&:last-child {
-			background: linear-gradient(145deg, #ff6666, #ff413f);
-			box-shadow: 0rpx 5rpx 5rpx 0rpx rgba(138, 56, 6, 0.44);
-			border-radius: 44rpx;
-		}
-
-		border-radius: 44rpx;
-	}
-}
-.pay {
-	background: #ffffff;
-	border-radius: 20rpx 20rpx 0rpx 0rpx;
-	padding: 0 50rpx 32rpx 50rpx;
-	position: relative;
-	.pay_close {
-		top: 30rpx;
-		right: 30rpx;
-		width: 44rpx;
-		height: 44rpx;
-		position: absolute;
-	}
-	.pay_head {
-		text-align: center;
-		font-size: 30rpx;
-		font-weight: bold;
-		padding: 40rpx 0 50rpx 0;
-	}
-	.pay_shop {
-		margin-bottom: 40rpx;
-		.pay_shop_main {
-			display: flex;
-			flex: 1;
-			height: 200rpx;
-			flex-direction: column;
-			justify-content: space-around;
-		}
-		.pay_shop_img {
-			width: 200rpx;
-			height: 200rpx;
-			padding: 12rpx;
-			.pay_shop_img_top {
-				display: flex;
-				margin-bottom: 12rpx;
-				.pay_shop_img_left {
-					image {
-						width: 114rpx;
-						height: 114rpx;
-						border-radius: 6rpx;
-					}
-					margin-right: 12rpx;
-				}
-				.pay_shop_img_right {
-					image {
-						width: 51rpx;
-						height: 51rpx;
-						&:first-child {
-							margin-bottom: 12rpx;
-						}
-						border-radius: 6rpx;
-					}
-				}
-			}
-			.pay_shop_img_bot {
-				display: flex;
-				justify-content: flex-end;
-				image {
-					width: 51rpx;
-					height: 51rpx;
-					margin-left: 12rpx;
-					&:first-child {
-						margin-left: 0;
-					}
-					border-radius: 6rpx;
-				}
-			}
-			margin-right: 30rpx;
-		}
-		.pay_shop_name {
-			font-size: 28rpx;
-		}
-		.pay_shop_price_l {
-			color: #cf271b;
-			font-size: 30rpx;
-		}
-		.pay_shop_price_btn {
-			width: 183rpx;
-			height: 50rpx;
-			color: #fa7e48;
-			font-size: 30rpx;
-			font-weight: bold;
-			background: rgba(246, 175, 50, 0.5);
-			border-radius: 25rpx;
-		}
-	}
-	.pay_attention {
-		color: #666666;
-	}
-	.pay_contant {
-		margin: 24rpx 0 59rpx 0;
-		image {
-			width: 32rpx;
-			height: 32rpx;
-			margin-right: 10rpx;
-		}
-		text {
-			font-size: 26rpx;
-		}
-	}
-	.pay_gold {
-		height: 78rpx;
-		font-size: 26rpx;
-		background: #ff6666;
-		border-radius: 39rpx;
-	}
-	.pay_ul_btn {
-		width: 310rpx;
-		height: 78rpx;
-		font-size: 26rpx;
-		background: #fa7e48;
-		border-radius: 39rpx;
-		&:last-child {
-			background: #ff6666;
-		}
-	}
-}
-.regulation {
-	width: 650rpx;
-	.scroll-view {
-		height: 735rpx;
-	}
-	padding: 0 0 0 30rpx;
-	background: #ffffff;
-	border-radius: 20rpx;
-	position: relative;
-	.regulation_close {
-		position: absolute;
-		width: 44rpx;
-		height: 44rpx;
-		top: 30rpx;
-		right: 30rpx;
-	}
-	.regulation_name {
-		padding: 40rpx 0;
-		padding-right: 30rpx;
-		text-align: center;
-		font-size: 30rpx;
-		font-weight: bold;
-	}
-}
-.prize {
-	width: 750rpx;
-	display: flex;
-	justify-content: center;
-	.prize_box {
-		width: 100%;
-		height: 1120rpx;
-		position: relative;
-		flex-direction: column;
-		background: url(../static/guang@2x.png) no-repeat;
-		background-size: 100% auto;
-		background-position: top;
-		background-repeat: no-repeat;
-		.prize_close {
-			width: 64rpx;
-			height: 64rpx;
-			top: 64rpx;
-			right: 30rpx;
-			position: absolute;
-		}
-		.prize-top {
-			width: 528rpx;
-			height: 170rpx;
-			position: absolute;
-			top: 120rpx;
-			left: 118rpx;
-			&-2 {
-				top: 40rpx;
-			}
-		}
-		.prize_footer {
-			width: 100%;
-			height: 472rpx;
-			background-image: url(../static/btns@2x.png);
-			background-position: center;
-			background-repeat: no-repeat;
-			background-size: 100% 100%;
-			position: absolute;
-			left: 0;
-			bottom: -34rpx;
-			&-2 {
-				bottom: -114rpx;
-			}
-			.btn {
-				width: 310rpx;
-				height: 84rpx;
-				border-radius: 16rpx;
-				position: absolute;
-				left: 220rpx;
-			}
-			.btn-1 {
-				top: 210rpx;
-			}
-			.btn-0 {
-				top: 316rpx;
-			}
-		}
-	}
-	.shiwan {
-		background: url(https://www.chaomangdao.com/image/open/tanchuangbeijing@2x.png) no-repeat;
-		background-size: cover;
-	}
-	.prize_ul {
-		width: 566rpx;
-		// padding: 0 92rpx;
-		display: flex;
-		flex-wrap: wrap;
-		justify-content: space-between;
-		position: absolute;
-		top: 336rpx;
-		left: 92rpx;
-		&-2 {
-			top: 226rpx;
-		}
-		&::after {
-			content: '';
-			width: 176rpx;
-		}
-	}
-	// .scroll-view {
-	// 	width: 522rpx;
-	// 	white-space:nowrap;
-	.prize_ul_li {
-		margin-bottom: 16rpx;
-		position: relative;
-		width: 176rpx;
-		height: 186rpx;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		display: flex;
-		padding: 8rpx 0;
-		// margin-right: 20rpx;
-		box-sizing: border-box;
-
-		image {
-			margin: 0 auto;
-		}
-		text {
-			font-size: 24rpx;
-			// font-family: PingFangSC-Medium, PingFang SC;
-			font-weight: 500;
-			color: #171a20;
-			width: 146rpx;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-		.left-top-tag {
-			width: 3rem;
-			height: 3rem;
-			.tag-text {
-				font-size: 0.6rem !important;
-			}
-		}
-	}
-	// }
-	.prize_shop {
-		transition: 1s;
-		position: absolute;
-		top: 336rpx;
-		left: 198rpx;
-		display: flex;
-		flex-direction: column;
-		image {
-			width: 174rpx;
-			height: 235rpx;
-			margin-bottom: 20rpx;
-		}
-		text {
-			width: 70%;
-			font-size: 16rpx;
-			font-family: PingFangSC-Medium, PingFang SC;
-			font-weight: 500;
-			color: #171a20;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-			text-align: center;
-		}
-		.colorblack {
-			font-size: 32rpx !important;
-			font-family: PingFangSC-Medium, PingFang SC;
-			font-weight: 500;
-			color: #171a20;
-		}
-		.left-top-tag {
-			width: 5rem;
-			height: 5rem;
-			.tag-text {
-				font-size: 1rem;
-			}
-		}
-	}
-	.tag-normal {
-		box-shadow: 0 0 40rpx 18rpx #9d85ff;
-	}
-	.tag-rare {
-		box-shadow: 0 0 40rpx 18rpx #47a8ff;
-	}
-	.tag-supreme {
-		box-shadow: 0 0 40rpx 32rpx #feb337;
-	}
-	.tag-legend {
-		box-shadow: 0 0 40rpx 32rpx #fe615e;
-	}
-	.shiwan {
-		width: 399rpx;
-		height: 48rpx;
-		color: #ffffff;
-		font-size: 30rpx;
-		margin-top: 40rpx;
-		background: #000000;
-		border-radius: 27rpx 27rpx 27rpx 27rpx;
-	}
-}
-.left-top-tag {
-	z-index: 999999;
-	position: absolute;
-	left: -2px;
-	top: -3px;
-	.tag-img {
-		height: 100% !important;
-		width: 100% !important;
-	}
-	.tag-text {
-		position: absolute;
-		top: 30%;
-		left: 30%;
-		color: #fff !important;
-		width: auto !important;
-		transform: translateX(-50%) translateY(-50%) rotate(-45deg);
-	}
-}
-.prize_shop_scale {
-	transform: scale(1.3);
-}
-.recycle {
-	width: 640rpx;
-	padding-bottom: 95rpx;
-	position: relative;
-	background: #ffffff;
-	box-shadow: 0rpx -5rpx 20rpx 0rpx rgba(0, 0, 0, 0.1);
-	border-radius: 30rpx;
-	.recycle_close {
-		top: 20rpx;
-		right: 30rpx;
-		width: 44rpx;
-		height: 44rpx;
-		position: absolute;
-	}
-	.recycle_head {
-		height: 100rpx;
-		text-align: center;
-		line-height: 100rpx;
-		font-size: 32rpx;
-		font-weight: bold;
-		border-bottom: 2rpx solid #e9e9e9;
-	}
-	.recycle_price {
-		margin: 40rpx 0 0rpx 0;
-		flex-direction: column;
-		text {
-			color: #fa7e48;
-			font-size: 36rpx;
-			font-weight: bold;
-			&:last-child {
-				color: #333333;
-				margin-top: 10rpx;
-				font-size: 26rpx;
-			}
-		}
-	}
-	.recycle_ul {
-		padding: 0 30rpx;
-		margin: 50rpx 0;
-	}
-	.recycle_ul_li {
-		margin-bottom: 30rpx;
-		&:last-child {
-			margin-bottom: 0;
-		}
-		.recycle_ul_li_txt {
-			color: #999999;
-			font-size: 26rpx;
-		}
-		.recycle_ul_li_r {
-			text {
-				color: #999999;
-				font-size: 26rpx;
-				&:last-child {
-					width: 80rpx;
-					text-align: right;
-					color: #fa7e48;
-					font-size: 30rpx;
-				}
-			}
-		}
-	}
-	.recycle_txt {
-		padding: 0 30rpx;
-		color: #999999;
-		font-size: 26rpx;
-	}
-}
-
-.loading-mask {
-	position: fixed;
-	height: 100vh;
-	width: 100vw;
-	top: 0;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	background-color: #76767652;
-	.loading-gif {
-		width: 60%;
-	}
-}
-</style>

+ 25 - 40
pagesB/pages/server.vue

@@ -1,35 +1,21 @@
 <template>
-	<!-- <view class="server kf-container"> -->
-	<!-- <view class="server_title">
-			<view class="server_nav"></view>
-			<view class="server-title_head flex">
-				<view class="server_title_return" @click="retutnTop">
-					<image src="/static/image/publice/fanhui@2x.png" mode=""></image>
-				</view>
-				<view class="server_title_name">联系客服</view>
-				<view class="server_title_mp3">
-				</view>
-			</view>
-		</view> -->
-	<!-- <iframe src="https://totalk.jingge.chat/standalone.html?appId=259e0449e8c4451c9d9232a4114589be"></iframe> -->
-	<!-- </view> -->
-	<view class="server">
-		<view class="server_head flex">
+	<view class="kefu">
+		<view class="kefu-top flex">
 			<image src="/static/image/publice/fanhui1@2x.png" mode="" @click="retutnTop"></image>
 			<text>联系客服</text>
 			<text></text>
 		</view>
-		<view class="server_main center">
-			<view class="server_main_box">
-				<view class="server_main_head"><image src="https://www.chaomangdao.com/image/logo.png" mode=""></image></view>
-				<view class="server_main_name center">
+		<view class="kefu-main center">
+			<view class="kefu-main-info">
+				<view class="kefu-main-bg"><image src="https://www.chaomangdao.com/image/logo.png" mode=""></image></view>
+				<view class="kefu-main-name center">
 					<text>潮盲岛</text>
 					<text>{{ serve.number }}</text>
 				</view>
-				<view class="server_main_img"><image :src="serve.qrcode" mode="aspectFill"></image></view>
-				<view class="server_main_txt">扫码联系客服</view>
+				<view class="kefu-main-ewm"><image :src="serve.qrcode" mode="widthFix"></image></view>
+				<view class="kefu-main-font">扫码联系客服</view>
 			</view>
-			<view class="server-download center">
+			<view class="kefu-download center">
 				<image src="../static/xiazai@2x.png" mode=""></image>
 				<text>长按保存二维码</text>
 			</view>
@@ -65,12 +51,12 @@ export default {
 </script>
 
 <style lang="scss">
-.server {
+.kefu {
 	height: 100vh;
 	background: url(https://www.chaomangdao.com/image/bj.png) no-repeat;
 	background-size: cover;
 	padding-top: 95rpx;
-	.server_head {
+	.kefu-top {
 		padding: 0 30rpx;
 		margin-bottom: 127rpx;
 		image {
@@ -86,17 +72,17 @@ export default {
 			}
 		}
 	}
-	.server_main {
+	.kefu-main {
 		flex-direction: column;
 	}
-	.server_main_box {
+	.kefu-main-info {
 		width: 525rpx;
 		display: flex;
 		align-items: center;
 		flex-direction: column;
 		background: #f2f2f2;
 		border-radius: 34rpx;
-		.server_main_head {
+		.kefu-main-bg {
 			width: 132rpx;
 			height: 132rpx;
 			margin-bottom: 32rpx;
@@ -105,7 +91,7 @@ export default {
 				border-radius: 50%;
 			}
 		}
-		.server_main_name {
+		.kefu-main-name {
 			display: flex;
 			margin-bottom: 24rpx;
 			flex-direction: column;
@@ -121,17 +107,16 @@ export default {
 				}
 			}
 		}
-		.server_main_img {
+		.kefu-main-ewm {
 			width: 430rpx;
-			height: 430rpx;
 		}
-		.server_main_txt {
+		.kefu-main-font {
 			color: #999999;
 			font-size: 30rpx;
 			padding: 20rpx 0 30rpx 0;
 		}
 	}
-	.server-download {
+	.kefu-download {
 		width: 523rpx;
 		height: 89rpx;
 		margin-top: 30rpx;
@@ -154,24 +139,24 @@ export default {
 	height: 100vh;
 	display: flex;
 	flex-direction: column;
-	.server_title {
+	.kefu_title {
 		width: 100%;
 		position: sticky;
 		top: 0;
 		z-index: 2021;
-		.server_nav {
+		.kefu_nav {
 			width: 100%;
 		}
-		.server-title_head {
+		.kefu-title_head {
 			width: 100%;
 			height: 88rpx;
 			padding: 0 30rpx;
 			background: #ffffff;
-			.server_title_return {
+			.kefu_title_return {
 				width: 44rpx;
 				height: 44rpx;
 			}
-			.server_title_name {
+			.kefu_title_name {
 				width: 466rpx;
 				text-align: center;
 				overflow: hidden;
@@ -180,7 +165,7 @@ export default {
 				font-size: 36rpx;
 				font-weight: bold;
 			}
-			.server_title_mp3 {
+			.kefu_title_mp3 {
 				width: 44rpx;
 				height: 44rpx;
 			}
@@ -193,4 +178,4 @@ export default {
 		width: 100%;
 	}
 }
-</style>
+</style>

BIN
unpackage/cache/apk/__UNI__ED94684_cm.apk


+ 1 - 1
unpackage/cache/apk/apkurl

@@ -1 +1 @@
-https://ide.dcloud.net.cn/build/download/fbde78b0-7133-11ed-8c26-25c0485aff3e
+https://ide.dcloud.net.cn/build/download/4f5b9f10-ab43-11ed-b50a-193a983d3419

File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/apk/cmManifestCache.json


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/apple-mobileprovision.mobileprovision


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/apple-private.p12


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/appstore.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-app.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-app@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-notification.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-notification@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-proapp@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-settings.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-settings@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-spotlight.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-ipad-spotlight@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-app@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-app@3x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-notification@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-notification@3x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-settings@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-settings@3x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-spotlight@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/icon-iphone-spotlight@3x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/.manifest/storyboard-ios.zip


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/__uniapppicker.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/app-config-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/app-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/app-view.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/manifest.json


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/dizhi@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/fenxiang@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/hegui@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/jilu.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/kf1.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/shezhi@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/shoucang@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/me/yue@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/new_home/khan.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/fenleixuanzhong@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/fenleixuanzhong@2x1.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/shouyexuanzhong@2x.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/tj.png


BIN
unpackage/cache/wgt/__UNI__ED94684/static/image/tabbar/wodeyixuanzhong@2x1.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/view.css


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__ED94684/view.umd.min.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/app-config-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/app-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/app-view.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/app-plus/manifest.json


BIN
unpackage/dist/build/h5/h5.rar


+ 1 - 1
unpackage/dist/build/h5/index.html

@@ -1,2 +1,2 @@
 <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>潮盲岛</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/h5/static/index.b0707a6a.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/h5/static/js/chunk-vendors.da9011c0.js></script><script src=/h5/static/js/index.aea3556f.js></script></body></html>
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.5841170f.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.fa373a7d.js></script><script src=/index/static/js/index.86517b63.js></script></body></html>

BIN
unpackage/dist/build/h5/static/image/me/dizhi@2x.png


BIN
unpackage/dist/build/h5/static/image/me/fenxiang@2x.png


BIN
unpackage/dist/build/h5/static/image/me/hegui@2x.png


BIN
unpackage/dist/build/h5/static/image/me/jilu.png


BIN
unpackage/dist/build/h5/static/image/me/kf1.png


BIN
unpackage/dist/build/h5/static/image/me/shezhi@2x.png


BIN
unpackage/dist/build/h5/static/image/me/shoucang@2x.png


BIN
unpackage/dist/build/h5/static/image/me/yue@2x.png


BIN
unpackage/dist/build/h5/static/image/new_home/khan.png


BIN
unpackage/dist/build/h5/static/image/tabbar/fenleixuanzhong@2x.png


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