hwq 2 years ago
parent
commit
e42b2da10e
54 changed files with 802 additions and 476 deletions
  1. 18 0
      api/hall.js
  2. 9 0
      api/user.js
  3. 8 5
      components/ss-calendar/ss-calendar.vue
  4. 12 11
      pages.json
  5. 128 0
      pages/hall/gsell.vue
  6. 0 1
      pages/hall/hallinfo.vue
  7. 103 88
      pages/hall/halllist.vue
  8. 25 24
      pages/hall/hallpay.vue
  9. 1 1
      pages/hall/porducthall.vue
  10. 11 1
      pages/money/success.vue
  11. 83 15
      pages/order/order.vue
  12. 4 1
      pages/public/register.vue
  13. 0 74
      pages/set/cropper.vue
  14. 281 0
      pages/user/myproduct.vue
  15. 108 248
      pages/user/shareQrCode.vue
  16. 10 5
      pages/user/user.vue
  17. BIN
      unpackage/dist/build/h5/h5.rar
  18. 1 1
      unpackage/dist/build/h5/index.html
  19. 0 0
      unpackage/dist/build/h5/static/js/index.9069f88a.js
  20. 0 0
      unpackage/dist/build/h5/static/js/index.ec2e761d.js
  21. 0 0
      unpackage/dist/build/h5/static/js/pages-cart-cart.052c83aa.js
  22. 0 0
      unpackage/dist/build/h5/static/js/pages-cart-cart.37569835.js
  23. 0 0
      unpackage/dist/build/h5/static/js/pages-collection-bank.4c7fb5e6.js
  24. 0 0
      unpackage/dist/build/h5/static/js/pages-collection-zfb.253af4ee.js
  25. 0 0
      unpackage/dist/build/h5/static/js/pages-collection-zfb.80fd93bd.js
  26. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist.636b886c.js
  27. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist.9775243f.js
  28. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-index-index.9436e9c9.js
  29. 0 0
      unpackage/dist/build/h5/static/js/pages-index-message.e0d98bd3.js
  30. 0 0
      unpackage/dist/build/h5/static/js/pages-index-message.e31320c6.js
  31. 0 0
      unpackage/dist/build/h5/static/js/pages-index-messageInfo.5b8207d7.js
  32. 0 0
      unpackage/dist/build/h5/static/js/pages-money-recharge.6f9b843a.js
  33. 0 0
      unpackage/dist/build/h5/static/js/pages-money-recharge.d6af9a19.js
  34. 0 0
      unpackage/dist/build/h5/static/js/pages-money-wallet.b82453f1.js
  35. 0 0
      unpackage/dist/build/h5/static/js/pages-money-wallet.fb3bca26.js
  36. 0 0
      unpackage/dist/build/h5/static/js/pages-order-createOrder.6a22bf4d.js
  37. 0 0
      unpackage/dist/build/h5/static/js/pages-order-createOrder.753bd6c7.js
  38. 0 0
      unpackage/dist/build/h5/static/js/pages-public-login.74738e2b.js
  39. 0 0
      unpackage/dist/build/h5/static/js/pages-public-register.c3b0fbce.js
  40. 0 0
      unpackage/dist/build/h5/static/js/pages-public-register.fc989683.js
  41. 0 0
      unpackage/dist/build/h5/static/js/pages-redirect-redirect.20ab5bfa.js
  42. 0 0
      unpackage/dist/build/h5/static/js/pages-redirect-redirect.fc4ea2c1.js
  43. 0 0
      unpackage/dist/build/h5/static/js/pages-set-address.f2cd093c.js
  44. 0 0
      unpackage/dist/build/h5/static/js/pages-set-addressManage.c218abdd.js
  45. 0 0
      unpackage/dist/build/h5/static/js/pages-set-addressManage.f58f0fe9.js
  46. 0 1
      unpackage/dist/build/h5/static/js/pages-set-cropper.a459b893.js
  47. 0 0
      unpackage/dist/build/h5/static/js/pages-user-gzsq.73cb979c.js
  48. 0 0
      unpackage/dist/build/h5/static/js/pages-user-gzsq.f2c56cae.js
  49. 0 0
      unpackage/dist/build/h5/static/js/pages-user-myfans.0f295b7c.js
  50. 0 0
      unpackage/dist/build/h5/static/js/pages-user-myproduct.43a3350a.js
  51. 0 0
      unpackage/dist/build/h5/static/js/pages-user-shareQrCode.23c92f5b.js
  52. 0 0
      unpackage/dist/build/h5/static/js/pages-user-shareQrCode.3f7b1931.js
  53. 0 0
      unpackage/dist/build/h5/static/js/pages-user-user.59f1ac87.js
  54. 0 0
      unpackage/dist/build/h5/static/js/pages-user-user.7c32286c.js

+ 18 - 0
api/hall.js

@@ -71,3 +71,21 @@ export function purchase(data) {
 		data
 	});
 }
+
+//挂售详情
+export function gsxq(data) {
+	return request({
+		url: '/api/auction/gsxq',
+		method: 'get',
+		data
+	});
+}
+
+//挂售详情
+export function hanging_sale(data) {
+	return request({
+		url: '/api/auction/hanging_sale',
+		method: 'post',
+		data
+	});
+}

+ 9 - 0
api/user.js

@@ -163,3 +163,12 @@ export function details(data,id) {
 		data
 	});
 }
+
+//我的商品
+export function user_product(data) {
+	return request({
+		url: '/api/auction/user_product',
+		method: 'GET',
+		data
+	});
+}

+ 8 - 5
components/ss-calendar/ss-calendar.vue

@@ -10,11 +10,11 @@
 			<view class="day__list">
 				<view class="day__item" v-for="(item, index) in dateData" :key="index">
 					<view class="checked-box" :class="[checksClass]" v-if="item === 'checked'">
-						<text class="checked iconfont iconfavor" v-if="!checksIcon"></text>
+						<text class="checked iconfavor" v-if="!checksIcon"></text>
 						<image v-else :src="checksIcon" mode="aspectFit"></image>
 						<view class="check_text" v-if="checkTextShow">{{ dayLoad(index) }}</view>
 					</view>
-					<text class="current-box" :class="[item === day ? (actionClass ? actionClass : 'current') : '']" v-else>{{ item }}</text>
+					<text class="current-box"  v-else>{{ item }}</text>
 				</view>
 			</view>
 		</view>
@@ -202,13 +202,16 @@ export default {
 					left: 0;
 				}
 				.checked {
+					width: 56rpx;
+					height: 56rpx;
+					border-radius: 6rpx;
 					font-size: 40rpx;
-					background-color: #3f9dff;
+					background-color: #FBED66;
 					color: #fff;
 				}
 				.current {
-					padding: 12rpx;
-					background-color: $background-color;
+					padding: 18rpx;
+					background-color: #FBED66;
 					color: #fff;
 					font-size: 28rpx;
 				}

+ 12 - 11
pages.json

@@ -162,6 +162,12 @@
 					}
 				}
 			}
+		},
+		{
+			"path": "pages/hall/gsell",
+			"style": {
+				"navigationBarTitleText": "挂售"
+			}
 		},
 		{
 			"path": "pages/product/list",
@@ -262,17 +268,6 @@
 				"navigationBarTitleText": ""
 			}
 		},
-		{
-			"path": "pages/set/cropper",
-			"style": {
-				"navigationBarTitleText": "裁剪",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
 		{
 			"path": "pages/set/phone",
 			"style": {
@@ -329,6 +324,12 @@
 				"navigationBarTitleText": "我的粉丝"
 			}
 		},
+		{
+			"path": "pages/user/myproduct",
+			"style": {
+				"navigationBarTitleText": "我的商品"
+			}
+		},
 		{
 			"path": "pages/user/myyue",
 			"style": {

+ 128 - 0
pages/hall/gsell.vue

@@ -0,0 +1,128 @@
+<template>
+	<view class="center">
+		<view class="center"><calendar class="sign-date-box" :checks="signList" checksClass="" :checkTextShow="true"></calendar></view>
+		<view class="title">今日最高限价{{ price }}</view>
+		<view class="main">
+			<view class="main-font">挂售日期</view>
+			<view class="main-input">{{ deta }}</view>
+		</view>
+		<view class="main">
+			<view class="main-font">挂售价格(元)</view>
+			<view class="main-input">{{ price }}</view>
+		</view>
+		<view class="money">
+			服务费{{ fwprice }}预约券
+		</view>
+		<view class="btn" @click="sall()">
+			确定
+		</view>
+	</view>
+</template>
+
+<script>
+import { gsxq,hanging_sale } from '@/api/hall.js';
+import calendar from '../../components/ss-calendar/ss-calendar.vue';
+export default {
+	components: {
+		calendar
+	},
+	data() {
+		return {
+			signList: [],
+			id:'',
+			price:'',//挂售价格
+			deta:'',//挂售日期
+			fwprice:'',//服务费
+		};
+	},
+	onLoad(option) {
+		this.id = option.id;
+		this.loadData();
+	},
+	methods: {
+		loadData() {
+			gsxq({id:this.id}).then(e =>{
+				console.log(e);
+				this.price = e.data.hanging_price;
+				this.fwprice = e.data.anticipate;
+				let arr = e.data.gs_time.split(" ")
+				let brr = arr[0].split('-')
+				this.signList.push(brr[2]*1)
+				console.log(this.signList);
+				this.deta = brr[1] + '月' + brr[2] + '日'
+				console.log(brr);
+			})
+		},
+		sall() {
+			hanging_sale({id: this.id}).then(e =>{
+				uni.navigateTo({
+					url:'/pages/money/success?type=2'
+				})
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.center,page {
+	height: auto;
+	background: #ffffff;
+	min-height: 100%;
+}
+.title {
+	margin-top: 50rpx;
+	text-align: center;
+	font-size: 30rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #fd3b39;
+	margin-bottom: 60rpx;
+}
+.main {
+	margin-top: 40rpx;
+	padding: 0 66rpx 0 60rpx;
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	.main-font {
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.main-input {
+		width: 404rpx;
+		height: 88rpx;
+		background: #F4F4F4;
+		border-radius: 10rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #333333;
+		line-height: 88rpx;
+		text-align: center;
+	}
+}
+.money {
+	margin-top: 74rpx;
+	text-align: center;
+	font-size: 32rpx;
+	font-family: PingFang SC;
+	font-weight: bold;
+	color: #FD3B39;
+}
+.btn {
+	width: 560rpx;
+	height: 80rpx;
+	background: #FC5B62;
+	border-radius: 40rpx;
+	margin: 96rpx auto 0;
+	font-size: 30rpx;
+	font-family: PingFangSC;
+	font-weight: 500;
+	color: #FFFFFF;
+	line-height: 80rpx;
+	text-align: center;
+}
+</style>

+ 0 - 1
pages/hall/hallinfo.vue

@@ -210,7 +210,6 @@ page {
 		.image-wrapper {
 			width: 100%;
 			height: 330rpx;
-			background: red;
 			border-radius: 3px;
 			overflow: hidden;
 			image {

+ 103 - 88
pages/hall/halllist.vue

@@ -8,10 +8,8 @@
 				<image class="money_bg" src="../../static/img/hinfo-bg.png"></image>
 			</view>
 		</view>
-		<view class="hallist-bg">
-			<image src="../../static/img/hallbanner.png" mode=""></image>
-		</view>
-		<view class="message flex" >
+		<view class="hallist-bg"><image src="../../static/img/hallbanner.png" mode=""></image></view>
+		<view class="message flex">
 			<image class="message-left" src="../../static/img/hinco.png" mode=""></image>
 			<u-notice-bar
 				style="width: 100%;"
@@ -62,10 +60,8 @@
 					<view class="mmain-time">入场时间:{{ item.radd_time }}-{{ item.rend_time }}</view>
 					<view class="mmain-time flex">
 						<view class="mmain-font">距预约结束:</view>
-						
-						<view class="lyy-b-jz flex" v-if="item.hours < 0 || item.minutes < 0 || item.minutes < 0" style="font-size: 30rpx; color: #d13737;">
-							已结束
-						</view>
+
+						<view class="lyy-b-jz flex" v-if="item.hours < 0 || item.minutes < 0 || item.minutes < 0" style="font-size: 30rpx; color: #d13737;">已结束</view>
 						<view class="lyy-b-jz flex" v-else>
 							<uni-countdowns
 								color="#FFFFFF"
@@ -83,13 +79,13 @@
 				<view class="mmain-image"><image :src="item.image" mode=""></image></view>
 			</view>
 			<view class="bottom" @click="open(item)">
-				<view class="bottom-font">立即{{item.str}}</view>
+				<view class="bottom-font">立即{{ item.str }}</view>
 				<image class="bottom-image" src="../../static/img/jt.png" mode=""></image>
 			</view>
 		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="popup">
-				<view class="popup-title">预约需要{{price}}预约券是否立即预约?</view>
+				<view class="popup-title">预约需要{{ price }}预约券是否立即预约?</view>
 				<view class="btn-box">
 					<view class="btn-left" @click="close()">取消</view>
 					<view class="btn-right" @click="appointment()">确定</view>
@@ -101,10 +97,11 @@
 
 <script>
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
-import { pay_list } from '../../api/wallet.js'
-import { article } from '@/api/user.js'
+import { pay_list } from '../../api/wallet.js';
+import { article } from '@/api/user.js';
+import { getUserInfo } from '@/api/user.js';
 import { mapState, mapMutations } from 'vuex';
-import { auction_list,subscribe,advance } from '@/api/hall.js';
+import { auction_list, subscribe, advance } from '@/api/hall.js';
 import { timeComputed } from '@/utils/rocessor.js';
 export default {
 	components: {
@@ -112,42 +109,44 @@ export default {
 	},
 	data() {
 		return {
-			name:'',//馆名字
-			peoplename:'',//馆长名字
-			price:'',//预约的价格
-			id: '',//预约会场id
+			name: '', //馆名字
+			peoplename: '', //馆长名字
+			price: '', //预约的价格
+			id: '', //预约会场id
+			oid:'',//馆id
 			page: 1,
 			limit: 10,
 			loadingType: 'more',
 			text: [],
-			article:[],
+			article: [],
 			list: [],
 			aliData: {},
 			bankData: {},
-			wx:{},
+			wx: {}
 		};
 	},
 	onLoad(option) {
-		this.id = option.id;
+		this.oid = option.id;
 		this.name = option.name;
-		this.peoplename = option.peoplename
+		this.peoplename = option.peoplename;
 		this.loadData();
-		article({},1).then(({data}) =>{
-			data.forEach(e =>{
-				this.text.push(e.synopsis)
-			})
-			this.article = data
-			pay_list({}).then(({data}) =>{
-				this.wx = data.wx
-				this.aliData = data.zfb
-				this.bankData = data.bank
-			})
-		})
+		article({}, 1).then(({ data }) => {
+			data.forEach(e => {
+				this.text.push(e.synopsis);
+			});
+			this.article = data;
+			pay_list({}).then(({ data }) => {
+				this.wx = data.wx;
+				this.aliData = data.zfb;
+				this.bankData = data.bank;
+			});
+		});
 	},
 	computed: {
 		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	methods: {
+		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
 		loadData() {
 			const obj = this;
 			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
@@ -157,25 +156,25 @@ export default {
 			auction_list({
 				page: obj.page,
 				limit: obj.limit,
-				auction_gu_id: obj.id
+				auction_gu_id: obj.oid
 			}).then(({ data }) => {
 				console.log(data, '123456');
 				data.forEach(e => {
 					let now_time = timeComputed(e.time);
-					console.log(e.time,now_time);
+					console.log(e.time, now_time);
 					e.hours = now_time.hours;
 					e.minutes = now_time.minutes;
 					e.seconds = now_time.seconds;
-					let jcsj = e.radd_time.split(':')
-					if(jcsj[0]*1 >= 8 && jcsj[0]*1 < 12){
-						e.time_image = '../../static/img/morningicon.png'
-						e.show = 'MORNING SHOWS'
-					}else if(jcsj[0]*1 >= 12 && jcsj[0]*1 < 18){
-						e.show = 'AFTERNOON SHOWS'
-						e.time_image = '../../static/img/afternoonicon.png'
-					}else {
-						e.time_image = '../../static/img/eveningicon.png'
-						e.show = 'EVENING SHOWS'
+					let jcsj = e.radd_time.split(':');
+					if (jcsj[0] * 1 >= 8 && jcsj[0] * 1 < 12) {
+						e.time_image = '../../static/img/morningicon.png';
+						e.show = 'MORNING SHOWS';
+					} else if (jcsj[0] * 1 >= 12 && jcsj[0] * 1 < 18) {
+						e.show = 'AFTERNOON SHOWS';
+						e.time_image = '../../static/img/afternoonicon.png';
+					} else {
+						e.time_image = '../../static/img/eveningicon.png';
+						e.show = 'EVENING SHOWS';
 					}
 				});
 				obj.list = obj.list.concat(data);
@@ -188,33 +187,35 @@ export default {
 			});
 		},
 		open(item) {
-			if(this.wx == '' && this.aliData =='' && this.bankData == ''){
+			if (this.wx == '' && this.aliData == '' && this.bankData == '') {
 				uni.showModal({
 					title: '提示',
-					content:"您未填写收款信息无法参与,是否前去填写收款信息?",
-					success: function (res) {
-							if (res.confirm) {
-								uni.navigateTo({
-									url:'/pages/collection/collection'
-								})
-							} else if (res.cancel) {
-								console.log('用户点击取消');
-							}
+					content: '您未填写收款信息无法参与,是否前去填写收款信息?',
+					success: function(res) {
+						if (res.confirm) {
+							uni.navigateTo({
+								url: '/pages/collection/collection'
+							});
+						} else if (res.cancel) {
+							console.log('用户点击取消');
 						}
-				})
-				return
+					}
+				});
+				return;
 			}
-			if(item.sta != 1) {
-				this.id = item.id
-				advance({id: item.id}).then(e =>{
-					console.log(e,'success');
-					this.nav()
-				}).then(e =>{
-					console.log(e,'fail');
-				})
-			}else {
-				this.price = item.anticipate
-				this.id = item.id
+			if (item.sta != 1) {
+				this.id = item.id;
+				advance({ id: item.id })
+					.then(e => {
+						console.log(e, 'success');
+						this.nav();
+					})
+					.then(e => {
+						console.log(e, 'fail');
+					});
+			} else {
+				this.price = item.anticipate;
+				this.id = item.id;
 				this.$refs.popup.open();
 			}
 		},
@@ -225,37 +226,51 @@ export default {
 			});
 		},
 		close() {
-			this.price = ''
-			this.id = ''
+			this.price = '';
+			this.id = '';
 			this.$refs.popup.close();
 		},
 		nav() {
 			uni.navigateTo({
-				url:'/pages/hall/hallinfo?id=' + this.id + '&name=' + this.name + '&peoplename=' + this.peoplename
+				url: '/pages/hall/hallinfo?id=' + this.id + '&name=' + this.name + '&peoplename=' + this.peoplename
 			});
 		},
-		navTo(url){
+		navTo(url) {
 			uni.navigateTo({
 				url
-			})
+			});
 		},
 		toBack() {
 			uni.navigateBack({});
 		},
 		appointment() {
-			subscribe({id: this.id}).then(({data}) =>{
-				this.$api.msg('预约成功')
-				window.location.reload();
-				console.log(data);
-				this.price = ''
-				this.id = ''
-				this.$refs.popup.close();
-			}).catch(e =>{
-				this.price = ''
-				this.id = ''
-				this.$refs.popup.close();
-				console.log(e);
-			})
+			subscribe({ id: this.id })
+				.then(({ data }) => {
+					this.$api.msg('预约成功');
+					console.log(data);
+					this.price = '';
+					this.$refs.popup.close();
+					this.page = 1;
+					this.limit = 10;
+					this.loadingType = 'more';
+					this.list = [];
+					this.loadData();
+					this.updata();
+				})
+				.catch(e => {
+					this.price = '';
+					this.$refs.popup.close();
+					console.log(e);
+				});
+		},
+		updata() {
+			getUserInfo({})
+				.then(({ data }) => {
+					this.setUserInfo(data);
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		}
 	}
 };
@@ -456,19 +471,19 @@ page,
 		.btn-left {
 			width: 248rpx;
 			height: 78rpx;
-			border: 2rpx solid #DC262B;
+			border: 2rpx solid #dc262b;
 			border-radius: 10rpx;
 			font-size: 34rpx;
 			font-family: PingFang SC;
 			font-weight: 500;
-			color: #DC262B;
+			color: #dc262b;
 			text-align: center;
 			line-height: 78rpx;
 		}
 		.btn-right {
 			width: 248rpx;
 			height: 78rpx;
-			background: #DC262B;
+			background: #dc262b;
 			border-radius: 10rpx;
 			font-size: 34rpx;
 			font-family: PingFang SC;

+ 25 - 24
pages/hall/hallpay.vue

@@ -8,9 +8,7 @@
 				</view>
 				<!-- <image class="top-image" src="../../static/img/copy.png" mode=""></image> -->
 			</view>
-			<view class="downtime" v-if="stopTime.stopTimeH < 0 || stopTime.stopTimeM < 0 || stopTime.stopTimeS < 0">
-				订单已过期
-			</view>
+			<view class="downtime" v-if="stopTime.stopTimeH < 0 || stopTime.stopTimeM < 0 || stopTime.stopTimeS < 0">订单已过期</view>
 			<view class="downtime" v-else>
 				<uni-countdowns
 					color="#FFFFFF"
@@ -38,7 +36,7 @@
 				</view>
 				<view class="title buyPhone">
 					<text>卖家手机号:</text>
-					{{zfb != ''? zfb.phone : wx != '' ? wx.phone :bank.phone}}
+					{{ zfb != '' ? zfb.phone : wx != '' ? wx.phone : bank.phone }}
 				</view>
 			</view>
 		</view>
@@ -64,7 +62,7 @@
 					</view>
 				</view>
 			</view>
-			<swiper class="swiper-box"  :duration="500" @change="changeTab" :style="{ height: tabCurrentIndex == 2 ? '450rpx' : '280rpx' }">
+			<swiper class="swiper-box" :duration="500" @change="changeTab" :style="{ height: tabCurrentIndex == 2 ? '450rpx' : '280rpx' }" :current="tabCurrentIndex" disable-touch>
 				<swiper-item class="tab-content" v-if="zfb != ''">
 					<view class="tc-item flex">
 						<view class="tcitem-name">账号</view>
@@ -77,6 +75,7 @@
 						<image class="tcitem-image" src="../../static/img/copy.png" mode="" @click="copy(zfb.name)"></image>
 					</view>
 				</swiper-item>
+				<swiper-item class="tab-content" v-else></swiper-item>
 				<swiper-item class="tab-content" v-if="bank != ''">
 					<view class="tc-item flex">
 						<view class="tcitem-name">姓名</view>
@@ -99,6 +98,7 @@
 						<image class="tcitem-image" src="../../static/img/copy.png" mode="" @click="copy(bank.payment)"></image>
 					</view>
 				</swiper-item>
+				<swiper-item class="tab-content" v-else></swiper-item>
 				<swiper-item class="tab-content" v-if="wx != ''">
 					<view class="tc-item flex">
 						<view class="tcitem-name">账号</view>
@@ -115,13 +115,14 @@
 						<view class="upload-main"><image class="upload-image" :src="wx.image" mode=""></image></view>
 					</view>
 				</swiper-item>
+				<swiper-item class="tab-content" v-else></swiper-item>
 			</swiper>
 		</view>
 		<view class="upload">
 			<view class="upload-title">上传支付截图</view>
 			<view class="upload-main">
-					<image class="upload-image" src="../../static/img/add.png" mode="" v-if="image == ''" @click="uploads()"></image>
-					<image class="upload-image" :src="image" mode="" @click="uploads()" v-else></image>
+				<image class="upload-image" src="../../static/img/add.png" mode="" v-if="image == ''" @click="uploads()"></image>
+				<image class="upload-image" :src="image" mode="" @click="uploads()" v-else></image>
 				<view class="upload-font">点击上传支付截图</view>
 			</view>
 		</view>
@@ -144,7 +145,7 @@
 <script>
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
 import uniCopy from '@/components/js_sdk/xb-copy/uni-copy.js';
-import { user_auction_order,upload,up_image } from '@/api/order.js';
+import { user_auction_order, upload, up_image } from '@/api/order.js';
 import { timeComputed } from '@/utils/rocessor.js';
 export default {
 	components: {
@@ -164,7 +165,7 @@ export default {
 			bank: '',
 			wx: '',
 			zfb: '',
-			image:'',
+			image: ''
 		};
 	},
 	onLoad(option) {
@@ -172,16 +173,16 @@ export default {
 		this.loadData();
 	},
 	methods: {
-		uploads(){
+		uploads() {
 			upload({
 				filename: ''
 			}).then(data => {
 				this.image = data[0].url;
-			})
+			});
 		},
 		loadData() {
 			user_auction_order({ type: 1, order_id: this.id }).then(({ data }) => {
-				let now_time = timeComputed(data.time+3600);
+				let now_time = timeComputed(data.time + 3600);
 				console.log(now_time);
 				this.stopTime.stopTimeH = now_time.hours;
 				this.stopTime.stopTimeM = now_time.minutes;
@@ -190,11 +191,11 @@ export default {
 				this.zfb = data.zfb;
 				this.wx = data.wx;
 				this.bank = data.bank;
-				console.log(data.zfb.length,"123456");
-				if(data.zfb.length == []){
-					this.tabCurrentIndex = 1
-					if(data.bank .length == []) {
-						this.tabCurrentIndex = 2
+				console.log(data.zfb.length, '123456');
+				if (data.zfb.length == []) {
+					this.tabCurrentIndex = 1;
+					if (data.bank.length == []) {
+						this.tabCurrentIndex = 2;
 					}
 				}
 				console.log(this.tabCurrentIndex);
@@ -229,7 +230,7 @@ export default {
 			}
 		},
 		tocall() {
-			let num = this.zfb != ''? this.zfb.phone : this.wx != '' ? this.wx.phone : this.bank.phone
+			let num = this.zfb != '' ? this.zfb.phone : this.wx != '' ? this.wx.phone : this.bank.phone;
 			console.log(num);
 			uni.makePhoneCall({
 				phoneNumber: num //仅为示例
@@ -246,14 +247,14 @@ export default {
 			this.tabCurrentIndex = num * 1;
 		},
 		buy() {
-			if (this.image == ''){
-				return this.$api.msg('请上传支付凭证')
+			if (this.image == '') {
+				return this.$api.msg('请上传支付凭证');
 			}
-			up_image({id:this.info.id,image: this.image}).then(({data}) => {
+			up_image({ id: this.info.id, image: this.image }).then(({ data }) => {
 				uni.navigateTo({
-					url:'/pages/money/success'
-				})
-			})
+					url: '/pages/money/success'
+				});
+			});
 		}
 	}
 };

+ 1 - 1
pages/hall/porducthall.vue

@@ -84,7 +84,7 @@
 			<view class="bottom-item">
 				<image class="bi-image" src="../../static/img/quan.png" mode=""></image>
 				<view class="bottom-font">预约券</view>
-				<view class="bottom-num">200</view>
+				<!-- <view class="bottom-num">200</view> -->
 			</view>
 			<view class="shu"></view>
 			<view class="bottom-item" @click="openKf()">

+ 11 - 1
pages/money/success.vue

@@ -2,7 +2,7 @@
 	<view class="container">
 		<view class="re-succ-box">
 			<image class="re-succ-img" src="../../static/img/success.png"></image>
-			<view class="re-succ-tit">提交成功</view>
+			<view class="re-succ-tit">{{type ==2? '挂售成功' : '提交成功'}}</view>
 			<view class="re-succ-btn" @click="goBack()">返回首页</view>
 		</view>
 	</view>
@@ -10,6 +10,16 @@
 
 <script>
 export default {
+	data() {
+		return{
+			type:1,
+		}
+	},
+	onLoad(option) {
+		if(option.type) {
+			this.type = option.type
+		}
+	},
 	methods: {
 		goBack() {
 			uni.switchTab({

+ 83 - 15
pages/order/order.vue

@@ -1,7 +1,10 @@
 <template>
 	<view class="content">
 		<view class="order-title">
-			<text>我的订单</text>
+			<view class="body-title">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
+				<view class="header">我的订单</view>
+			</view>
 			<view class="roder-content">
 				<view class="left" :class="{ current: currentIndex === index }" :key="index" v-for="(item, index) in maiList" @click="navGo(index)">{{ item.title }}</view>
 			</view>
@@ -26,7 +29,6 @@
 						<view class="i-top b-b">
 							<text class="time">{{ item.order_id }}</text>
 							<text class="state" :style="{ color: item.stateTipColor }">{{ item.stateTip }}</text>
-							<text v-if="item.status === 4" class="del-btn iconfont icondelete" @click="deleteOrder(index)"></text>
 						</view>
 
 						<view class="goods-box-single">
@@ -47,6 +49,7 @@
 							<text class="price">{{ moneyNum(item.price) }}</text>
 						</view>
 						<view class="action-box b-t" v-if="item.stateTip == '待支付'"><button @click.stop="pay(item)" class="action-btn recom">立即支付</button></view>
+						<view class="action-box b-t" v-if="item.stateTip == '待挂售'"><button @click.stop="gsell(item)" class="action-btn recom">立即挂售</button></view>
 					</view>
 
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -79,7 +82,7 @@
 								<view class="font">买家:</view>
 								<image class="avter" :src="item.avatar" mode=""></image>
 								<view class="buy-name">{{ item.nickname }}</view>
-								<view class="phone">{{item.phone}}</view>
+								<view class="phone">{{ item.phone }}</view>
 							</view>
 						</view>
 						<view class="upimg" v-if="item.status == 2 || item.status == 3">
@@ -153,6 +156,14 @@ export default {
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
 				},
+				{
+					state: 4,
+					text: '待挂售',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				},
 				{
 					state: 3,
 					text: '已完成',
@@ -262,6 +273,11 @@ export default {
 				this.tabCurrentIndex1 = index;
 			}
 		},
+		toBack() {
+			uni.switchTab({
+				url: '/pages/order/index'
+			});
+		},
 		navGo(index) {
 			this.currentIndex = index;
 			console.log(this.currentIndex, '点击');
@@ -274,7 +290,7 @@ export default {
 		// 查看大图
 		lookimg(src) {
 			console.log(src);
-			let arr = [src]
+			let arr = [src];
 			uni.previewImage({
 				current: src,
 				urls: arr
@@ -316,14 +332,19 @@ export default {
 		// 订单支付
 		pay(item) {
 			uni.navigateTo({
-				url:'/pages/hall/hallpay?ordid='+item.order_id
-			})
+				url: '/pages/hall/hallpay?ordid=' + item.order_id
+			});
+		},
+		gsell(item) {
+			uni.navigateTo({
+				url: '/pages/hall/gsell?id=' + item.id
+			});
 		},
 		orderPay(e) {
 			console.log(e);
-			adopt({order_id: e.order_id}).then(({data}) =>{
-				this.loadData()
-			})
+			adopt({ order_id: e.order_id }).then(({ data }) => {
+				this.loadData();
+			});
 		},
 		//获取订单列表
 		loadData(source) {
@@ -360,13 +381,19 @@ export default {
 					limit: navItem.limit
 				})
 					.then(({ data }) => {
-						console.log(data);
 						let arr = data.map(e => {
-							let b = this.orderStateExp(e.status);
-							e.stateTip = b.stateTip;
-							e.stateTipColor = b.stateTipColor;
+							console.log(state == 4);
+							if(state == 4) {
+								e.stateTip = '待挂售';
+								e.stateTipColor = '#fa436a';
+							}else {
+								let b = this.orderStateExp(e.status);
+								e.stateTip = b.stateTip;
+								e.stateTipColor = b.stateTipColor;
+							}
 							return e;
 						});
+						console.log(arr,"123456");
 						navItem.orderList = navItem.orderList.concat(arr);
 
 						// console.log(navItem.orderList);
@@ -491,6 +518,9 @@ export default {
 				case 3:
 					stateTip = '已完成';
 					break;
+				case 4:
+					stateTip = '待挂售';
+					break;
 				case 9:
 					stateTip = '订单已关闭';
 					stateTipColor = '#909399';
@@ -516,14 +546,51 @@ page,
 
 .order-title {
 	width: 750rpx;
-	height: 135px;
-	// background: linear-gradient(-41deg, rgba(60, 237, 237, 0.99), #04B8FF, #375AFE);
+	height: 270rpx;
 	background: url(../../static/img/order99.png) repeat-x 0;
 	display: flex;
 	flex-direction: column;
 	// padding: 50rpx 0;
 	text-align: center;
 
+	.body-title {
+		height: 80rpx;
+		text-align: center;
+		font-size: 35rpx;
+		position: relative;
+		.header {
+			position: absolute;
+			left: 0;
+			top: 30rpx;
+			width: 100%;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #fffeff;
+			height: 80rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+			z-index: 9;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+		.goback-box {
+			position: absolute;
+			left: 18rpx;
+			top: 30rpx;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+		}
+
+		.goback {
+			z-index: 100;
+			width: 34rpx;
+			height: 34rpx;
+		}
+	}
+
 	text {
 		margin: 30px 0;
 		font-size: 17px;
@@ -533,6 +600,7 @@ page,
 	}
 
 	.roder-content {
+		margin-top: 80rpx;
 		display: flex;
 		justify-content: space-around;
 

+ 4 - 1
pages/public/register.vue

@@ -47,9 +47,12 @@ export default {
 			countDown: 0 ,//倒计时
 		};
 	},
-	onLoad() {
+	onLoad(options) {
 		// 获取扫码邀请人id
 		this.invitation = uni.getStorageSync('spread')||'';
+		if(options.spread) {
+			this.invitation = options.spread
+		}
 	},
 	watch: {
 		// 监听倒计时

+ 0 - 74
pages/set/cropper.vue

@@ -1,74 +0,0 @@
-<template>
-  <view class="container">
-    <web-view
-      :webview-styles="webviewStyles"
-      @message="handleMessage"
-      :src="webviewSrc"
-    >
-    </web-view>
-  </view>
-</template>
-
-<script>
-
-export default {
-  name: "buuug7-img-cropper",
-  data() {
-    return {
-      webviewStyles: {},
-      platform: "",
-      webviewSrc:
-        "https://zhibo.liuniu946.com/index/hybrid/html/cropper/index.html",
-    };
-  },
-
-  mounted() {
-    const { platform } = uni.getSystemInfoSync();
-    this.platform = platform;
-    console.log(platform,'获取系统对象');
-
-    if (platform === "windows" || platform === "mac") {
-      this.handleH5Message();
-    }
-	// #ifdef H5
-	window.addEventListener("message", this.handleMessage, false);
-	// #endif
-  },
-
-  methods: {
-    handleMessage(event) {
-	  console.log('消息传输',event);
-	  // uni.navigateBack({
-	  // 	delta: 1,
-	  // });
-      const platform = this.platform;
-	  // #ifdef H5
-	  if(!event.data.data.type){
-		 return; 
-	  }
-      const data = event.data.data;
-	  // #endif
-	  // #ifndef H5
-	  const data = event.detail.data[0];
-	  // #endif
-	  console.log(platform,"myself")
-      if (platform === "android" || platform === "ios" || platform === 'devtools') {
-        const eventChannel = this.getOpenerEventChannel();
-        eventChannel.emit("imgCropped", { data: data.dataUrl });
-      }
-    },
-    handleH5Message(e) {
-      console.log(`H5Message`);
-      window.addEventListener("message", (event) => {
-        const data = event.data.data;
-        if (data && data.type === "croppedData") {
-          const eventChannel = this.getOpenerEventChannel();
-          eventChannel.emit("imgCropped", { data: data.dataUrl });
-        }
-      });
-    },
-  },
-};
-</script>
-
-<style></style>

+ 281 - 0
pages/user/myproduct.vue

@@ -0,0 +1,281 @@
+<template>
+	<view class="center">
+		<view v-for="(item, index) in list" :key="index" class="order-item">
+			<view class="goods-box-single">
+				<image class="goods-img" :src="item.image" mode="scaleToFill"></image>
+				<view class="right">
+					<view class="flex-start">
+						<text class="title clamp1">{{ item.name }}</text>
+					</view>
+					<view class="create-time">{{ item.g_time }}</view>
+					<view class="price">{{ item.price | moneyNum }}</view>
+				</view>
+			</view>
+			<view class="buy-box">
+				<view class="buy-info"><view class="font">挂售价格:{{ item.hanging_price }}</view></view>
+				<view class="buy-info"><view class="font">挂售时间:{{ item.update_time }}</view></view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { user_product } from '@/api/user.js';
+import { getTime } from '@/utils/rocessor.js'
+export default {
+	data() {
+		return {
+			list: [],
+			page: 1,
+			limit: 10,
+			loadingType: 'more'
+		};
+	},
+	onLoad() {
+		this.loadData();
+	},
+	methods: {
+		loadData() {
+			const obj = this;
+			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+				return;
+			}
+			obj.loadingType = 'loading';
+			user_product({
+				page: obj.page,
+				limit: obj.limit
+			}).then(({ data }) => {
+				console.log(data);
+				data.forEach(e =>{
+					e.g_time = getTime(e.add_time)
+				})
+				obj.list = data;
+				if (data.length != obj.limit) {
+					obj.loadingType == 'noMore'
+				}else{
+					obj.page++
+					obj.loadingType == 'more'
+				}
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.center {
+	background: #f3f5f4;
+}
+.order-item {
+	display: flex;
+	flex-direction: column;
+	background: #fff;
+	margin-top: 20rpx;
+
+	.i-top {
+		display: flex;
+		align-items: center;
+		height: 80rpx;
+		font-size: $font-base;
+		color: $font-color-dark;
+		position: relative;
+		padding: 0 30rpx;
+
+		.time {
+			flex: 1;
+		}
+
+		.state {
+			color: $base-color;
+		}
+
+		.del-btn {
+			padding: 10rpx 0 10rpx 36rpx;
+			font-size: $font-lg;
+			color: $font-color-light;
+			position: relative;
+
+			&:after {
+				content: '';
+				width: 0;
+				height: 30rpx;
+				border-left: 1px solid $border-color-dark;
+				position: absolute;
+				left: 20rpx;
+				top: 50%;
+				transform: translateY(-50%);
+			}
+		}
+	}
+
+	/* 多条商品 */
+	.goods-box {
+		height: 160rpx;
+		padding: 20rpx 0;
+		white-space: nowrap;
+
+		.goods-item {
+			width: 120rpx;
+			height: 120rpx;
+			display: inline-block;
+			margin-right: 24rpx;
+		}
+
+		.goods-img {
+			display: block;
+			width: 100%;
+			height: 100%;
+		}
+	}
+
+	/* 单条商品 */
+	.goods-box-single {
+		display: flex;
+		padding: 20rpx 30rpx;
+		background: #FFFFFF;
+		.goods-img {
+			display: block;
+			width: 160rpx;
+			height: 160rpx;
+		}
+
+		.right {
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			padding: 0 0 0 24rpx;
+			overflow: hidden;
+
+			.price {
+				margin-top: 30rpx;
+				display: inline;
+				font-size: $font-base + 8rpx;
+				color: #fd3938;
+
+				&:before {
+					content: '¥';
+					font-size: $font-sm;
+				}
+			}
+
+			.title {
+				font-size: $font-base + 6rpx;
+				color: #4f4f4f;
+				line-height: 1;
+				width: 80%;
+			}
+			.create-time {
+				margin-top: 10rpx;
+				font-size: $font-base;
+				color: #9d9d9d;
+			}
+		}
+	}
+	.price-box {
+		display: flex;
+		justify-content: flex-end;
+		align-items: baseline;
+		padding: 20rpx 30rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-light;
+
+		.num {
+			margin: 0 8rpx;
+			color: $font-color-dark;
+		}
+
+		.price {
+			font-size: $font-lg;
+			color: $font-color-dark;
+
+			&:before {
+				content: '¥';
+				font-size: $font-sm;
+				margin: 0 2rpx 0 8rpx;
+			}
+		}
+	}
+
+	.action-box {
+		padding: 0 30rpx;
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+		height: 100rpx;
+		position: relative;
+	}
+
+	.refuse {
+		margin: 0;
+		padding: 0;
+		width: 160rpx;
+		height: 60rpx;
+		border: 2rpx solid #ebebeb;
+		border-radius: 28rpx;
+		text-align: center;
+		line-height: 60rpx;
+		font-size: 26rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #999999;
+		&:after {
+			border-radius: 100px;
+		}
+
+		&.recom {
+			color: #999999;
+
+			&:after {
+				border-color: #999999;
+			}
+		}
+	}
+	.buy-box {
+		padding: 10rpx 22rpx;
+		background-color: #ffffff;
+		.buy-info {
+			margin-top: 20rpx;
+			.font {
+				font-size: 32rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+			}
+		}
+	}
+	.action-btn {
+		width: 160rpx;
+		height: 60rpx;
+		margin: 0;
+		margin-left: 24rpx;
+		padding: 0;
+		text-align: center;
+		line-height: 60rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-dark;
+		background: #fff;
+		border-radius: 100px;
+		border: 2rpx solid #fd3b39;
+		border-radius: 28px;
+		&:after {
+			border-radius: 100px;
+		}
+
+		&.recom {
+			color: $base-color;
+
+			&:after {
+				border-color: $base-color;
+			}
+		}
+
+		&.evaluate {
+			color: $color-yellow;
+
+			&:after {
+				border-color: $color-yellow;
+			}
+		}
+	}
+}
+</style>

+ 108 - 248
pages/user/shareQrCode.vue

@@ -1,283 +1,143 @@
 <template>
-	<view class="content">
-		<!-- <view class="qrimg">
-			<tki-qrcode
-				:cid="cid"
-				ref="qrcode"
-				:val="val"
-				:size="size"
-				:unit="unit"
-				:background="background"
-				:foreground="foreground"
-				:pdground="pdground"
-				:icon="icon"
-				:iconSize="iconSize"
-				:lv="lv"
-				:onval="onval"
-				:loadMake="loadMake"
-				:usingComponents="usingComponents"
-				@result="qrR"
-			/>
-		</view> -->
-		<!-- #ifndef MP-ALIPAY -->
-		<canvas :class="{ qrimg: !loading }" @longtap="alertCanv" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
-		<!-- #endif -->
-		<!-- #ifdef MP-ALIPAY -->
-		<canvas :class="{ qrimg: !loading }" @longtap="alertCanv" id="qrShareBox" class="tki-qrcode-canvas" />
-		<!-- #endif -->
-		<view :style="{ display: loading ? 'none' : 'block' }" class="tki-qrcode-canvas"><image :src="ctxSrc" mode="scaleToFill" class="tki-qrcode-canvas"></image></view>
-		<view class="share-bottom flex" :class="{ 'action-share-bottom': !loading }" @click="loading ? showImg() : ''">
-			<text>{{ loading ? '点击生成图片' : '长按二维码下载' }}</text>
-		</view>
+	<view class="container">
+		<image @longtap="bc_code" class="backImg" :src="backImg"></image>
+		<view class="tki-qrcode"><canvas @longtap="bc_code" canvas-id="qrcode" /></view>
 	</view>
 </template>
 
 <script>
-// import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
 import { spreadBanner } from '@/api/user.js';
 export default {
 	// components: { tkiQrcode },
 	data() {
 		return {
-			cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
-			size: 180, //生成的二维码大小
-			unit: 'upx', //大小单位尺寸
-			// show: true,//默认使用组件中的image标签显示二维码
-			val: '', //要生成的内容
-			background: '#ffffff', //二维码背景色
-			foreground: '#333333', //二维码前景色
-			pdground: '#333333', //二维码角标色
-			icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
-			iconSize: 40, //二维码图标大小
-			lv: 3, //容错级别
-			onval: false, //监听val值变化自动重新生成二维码
-			loadMake: false, //组件初始化完成后自动生成二维码,val需要有值
-			usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
-			showLoading: false, //是否显示loading
-			loadingText: '二维码生成中', //loading文字
-			src: '', // 二维码生成后的图片地址或base64
-			ratio: 1, //页面比例用于计算
-			ctxSrc: '', //要显示的图片
-			loading: true,//是否载入图片中
-			canHeight: '',//画布高度
-			canWeidth: ''//画布宽度
+			url: '',
+			backImg: '',
+			userInfo: ''
 		};
 	},
 	onLoad() {
-		this.loadCodeList()
+		this.spread();
 	},
-	onReady() {
-		let obj = this;
-		let query = uni.createSelectorQuery();
-		// 获取页面比例
-		query
-			.select('.content')
-			.fields(
-				{
-					size: true
-				},
-				e => {
-					// 保存比例
-					this.ratio = e.width / 750;
-				}
-			)
-			.exec();
-		// 获取画布宽高信息
-		query
-			.select('#qrShareBox')
-			.fields(
-				{
-					size: true
-				},
-				e => {
-					// 保存画布宽高信息
-					obj.canHeight = e.height;
-					obj.canWeidth = e.width;
-				}
-			)
-			.exec();
+	computed: {
+		cpSize() {
+			if (this.unit == 'upx') {
+				return uni.upx2px(this.size);
+			} else {
+				return this.size;
+			}
+		}
 	},
 	methods: {
-		loadCodeList() {
-			// 加载二维码信息
+		spread() {
+			uni.showLoading({
+				title: '加载中'
+			});
+			let obj = this;
 			spreadBanner({
-				// #ifdef H5
+				//#ifdef H5
 				type: 2,
-				// #endif
-				// #ifdef MP
-				type: 1
-				// #endif
-			}).then(e => {
-				console.log(e);
-				// #ifdef MP
-				// 保存二维码图片
-				uni.downloadFile({
-					url: e.data[0].wap_posterQr,
-					success(res) {
-						if (res.errMsg == 'downloadFile:ok') {
-							obj.src = res.tempFilePath;
-							// 生成画布
-							obj.loadImg(obj.src);
-							uni.hideLoading();
-						}
-						console.log(res);
-					},
-					fail(e) {
-						console.log(e);
-					}
-				})
-				// #endif
-				// #ifdef H5
-					// 保存二维码图片
-					this.src =  e.data[0].wap_posterQr;
-					// 生成画布
-					this.loadImg(e.data[0].wap_posterQr);
-				// #endif
-				
-			}).catch((e) => {
-					uni.showModal({
-						title: '生成失败请刷新页面',
-						showCancel: false
-					});
-					uni.hideLoading();
-				});;
-		},
-		// 长按画布事件
-		alertCanv() {
-			uni.showModal({
-				title: '请先点击生成图片再下载',
-				showCancel: false
+				//#endif
+				//#ifdef MP
+				type:1,
+				//#endif
+				//#ifdef APP-PLUS
+				type:2,
+				//#endif
+			}).then(({ data }) => {
+				console.log(data);
+				//#ifdef MP
+				obj.backImg = data[0].poster;
+				//#endif
+				//#ifdef H5
+				obj.backImg = data[0].wap_poster;
+				//#endif
+				//#ifdef APP-PLUS
+				obj.backImg = data[0].wap_poster;
+				//#endif
+				uni.hideLoading();
 			});
 		},
-		// 生成图片
-		showImg() {
-			uni.showLoading({
-				title: '图片生成中',
-				mask: true
-			});
-			let obj = this;
-			//因为和uni.showLoading载入效果冲突需要延迟执行生成图片方法
-			setTimeout(function() {
-				uni.canvasToTempFilePath({
-					x: 0,
-					y: 0,
-					width: obj.canWeidth,
-					height: obj.canHeight,
-					destWidth: obj.canWeidth,
-					destHeight: obj.canHeight,
-					fileType: 'jpg',
-					quality: 1,
-					canvasId: 'qrShareBox',
-					success: res => {
-						uni.hideLoading();
-						uni.showModal({
-							title: '创建成功,长按二维码下载图片',
-							showCancel: false
+		bc_code() {
+			let that = this;
+			console.log('保存二维码', this.backImg);
+			uni.downloadFile({
+				//获得二维码的临时地址
+				url: this.backImg,
+				success: res => {
+					//console.log('获取url',res)
+					if (res.statusCode == 200) {
+						uni.saveImageToPhotosAlbum({
+							filePath: res.tempFilePath, //传入临时地址
+							success() {
+								that.$api.msg('保存成功'); //封装的提示
+							},
+							fail() {
+								that.$api.msg('保存失败');
+							}
 						});
-						// 显示生成的图片
-						obj.loading = false;
-						// 保存图片base64
-						obj.ctxSrc = res.tempFilePath;
-					},
-					fail(e) {
-						console.log(e);
 					}
-				});
-			}, 50);
-		},
-		// 开始渲染画布
-		loadImg(src) {
-			const obj = this;
-			const cavWidth=523;//画布宽度
-			const cavHeight=700;//画布高度
-			const ratio = obj.ratio;//获取页面比例
-			const ctxBg = '/static/img/img14.jpg'; //画布背景
-			let context = uni.createCanvasContext('qrShareBox');
-			const codeSize = obj.size * ratio; //计算二维码大小
-			const codeX = ((cavWidth - obj.size) * ratio) / 2; //二维码所在x轴位置
-			const codeY = cavHeight * ratio; //二维码所在y轴位置
-			const codeBoxColor = '#FFFFFF'; //包裹框颜色
-			const codeBoxWidht = 0; //包裹边框宽度
-			const codeBoxSize = (codeBoxWidht / 2) * ratio; //计算二维码白色包裹框大小
-			const codeBoxX = codeX - codeBoxSize; //包裹框初始X轴
-			const codeBoxY = codeY - codeBoxSize; //包裹框初始Y轴
-			const codeBoxEnd = codeSize + codeBoxWidht * ratio; //计算包裹框大小
-			const fontTop = codeY + codeBoxEnd + (codeBoxWidht + 20) * this.ratio; //文字距离上边距高度
-			const fontSize = 24 * ratio; //文字大小
-			const fontText = ''; //文字内容
-			const fontLeft = (codeSize - fontSize * fontText.length) / 2 + codeX; //文字左侧距离
-			// 插入背景图片
-			context.drawImage(ctxBg, 0, 0, obj.canWeidth, obj.canHeight);
-			// // 插入文字
-			context.setFontSize(fontSize);
-			context.fillText(fontText, fontLeft, fontTop);
-			// 插入边框
-			context.beginPath();//开始画线
-			context.setLineJoin('round'); //边框类型
-			context.setLineWidth(codeBoxWidht * ratio);
-			context.setStrokeStyle(codeBoxColor); //设置包裹框颜色
-			context.strokeRect(codeBoxX, codeBoxY, codeBoxEnd, codeBoxEnd);
-			context.stroke();//渲染线条
-			// 插入二维码
-			context.drawImage(src, codeX, codeY, codeSize, codeSize);
-			// 开始渲染
-			context.draw();
-		},
-		// 創建二维码
-		creatQrcode() {
-			this.$refs.qrcode._makeCode();
-		},
-		// 保存二维码到图库
-		saveQrcode() {
-			this.$refs.qrcode._saveCode();
-		},
-		// 生成二维码后返回base64
-		qrR(res) {
-			this.src = res;
-		},
-		//清空二维码(清空二维码会触发result回调 返回值为空)
-		clearQrcode(e) {
-			this.$refs.qrcode._clearCode();
-			this.val = '';
+				}
+			});
 		}
 	}
 };
 </script>
 
 <style lang="scss">
-.content {
-	padding-top: 30rpx;
+page {
+	width: 100%;
+	min-height: 100%;
+	.container {
+		width: 100%;
+		height: 100%;
+	}
 }
-// #qrShareBox {
-// 	position: absolute;
-// 	left: -9999rpx;
-// 	top: -9999rpx;
-// }
-
-.qrimg {
+.backImg {
 	position: absolute;
-	left: -9999rpx;
-	top: -9999rpx;
+	width: 100%;
+	height: 100%;
+}
+.portrait {
+	width: 100%;
+	text-align: center;
+	padding-top: 80rpx;
+	padding-bottom: 30rpx;
+	image {
+		width: 250rpx;
+		height: 250rpx;
+	}
 }
-.tki-qrcode-canvas {
-	// width: 700rpx;
-	// height: 1245rpx;
-	width: 532rpx;
-	height: 945rpx;
-	margin: 0 auto;
+.text {
+	text-align: center;
+	width: 100%;
+	color: #ffffff;
+	font-size: 55rpx;
+	letter-spacing: 15rpx;
 }
-.share-bottom {
-	width: 560rpx;
-	height: 80rpx;
+.uid-name {
+	padding: 50rpx 0rpx;
+	text-align: center;
+	width: 100%;
 	color: #ffffff;
-	background-color: $base-color;
-	margin: 0 auto;
-	font-size: $font-lg - 2rpx;
-	margin-top: 30rpx;
-	border-radius: 99rpx;
-	justify-content: center;
-	&.action-share-bottom {
-		background-color: $color-gray;
-	}
+}
+.copy-btn {
+	color: #ffffff;
+	background-color: #4ba6ed;
+	border-radius: 50rpx;
+	width: 170rpx;
+	line-height: 70rpx;
+	margin: 0rpx auto;
+	text-align: center;
+}
+.tki-qrcode {
+	position: fixed;
+	bottom: 10%;
+	left: 30%;
+}
+canvas {
+	width: 150px;
+	height: 150px;
+	margin: auto;
 }
 </style>

+ 10 - 5
pages/user/user.vue

@@ -15,7 +15,7 @@
 			<view class="sy-box flex">
 				<view class="sy-item" @click="navTo('/pages/user/mygs')">
 					<view class="sy-item-val">
-						{{ userInfo.profit }}
+						{{ userInfo.profit < 0? '0' : userInfo.profit}}
 					</view>
 					<view class="sy-item-name">
 						挂售收益
@@ -37,7 +37,7 @@
 			<view class="qd-info">
 				<view class="" style="font-weight: bold;color: #0C1732;">签到领取积分</view>
 				<view class="">已连续签到{{actionDay}}天</view>
-				<view class="">累计签到奖励{{sum_integral}}积分</view>
+				<view class="">累计签到奖励{{sum_integral}}趣豆</view>
 			</view>
 			<view class="qd-btn" :class="{'qded': qded}" @click="qded?'':goQd()">
 				{{qded?'已签到': '立即签到'}}
@@ -179,7 +179,7 @@
 						width: '55rpx',
 						heigt: '54rpx',
 						img: '../../static/icon/tool-4.png',
-						path: '/pages/order/order'
+						path: '/pages/order/index'
 					},
 					{
 						id: 't5',
@@ -187,7 +187,7 @@
 						width: '50rpx',
 						heigt: '58rpx',
 						img: '../../static/icon/tool-5.png',
-						path: '/pages/order/order'
+						path: '/pages/user/myproduct'
 					},
 					{
 						id: 't6',
@@ -374,7 +374,12 @@
 						})
 					}else {
 						uni.navigateTo({
-							url
+							url,
+							fail() {
+								uni.switchTab({
+									url
+								})
+							}
 						});
 					}
 				}

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=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d618d095.js></script><script src=/index/static/js/index.ec2e761d.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.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d618d095.js></script><script src=/index/static/js/index.9069f88a.js></script></body></html>

File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/index.9069f88a.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/index.ec2e761d.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-cart-cart.052c83aa.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-cart-cart.37569835.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-collection-bank.4c7fb5e6.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-collection-zfb.253af4ee.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-collection-zfb.80fd93bd.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist.636b886c.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist.9775243f.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-index-index.9436e9c9.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-message.e0d98bd3.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-message.e31320c6.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-messageInfo.5b8207d7.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-recharge.6f9b843a.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-recharge.d6af9a19.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-wallet.b82453f1.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-wallet.fb3bca26.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-createOrder.6a22bf4d.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-createOrder.753bd6c7.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-public-login.74738e2b.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-public-register.c3b0fbce.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-public-register.fc989683.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-redirect-redirect.20ab5bfa.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-redirect-redirect.fc4ea2c1.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-set-address.f2cd093c.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-set-addressManage.c218abdd.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-set-addressManage.f58f0fe9.js


+ 0 - 1
unpackage/dist/build/h5/static/js/pages-set-cropper.a459b893.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-set-cropper"],{"0404":function(e,t,n){"use strict";n.r(t);var a=n("98c3"),i=n.n(a);for(var r in a)"default"!==r&&function(e){n.d(t,e,(function(){return a[e]}))}(r);t["default"]=i.a},"7a02":function(e,t,n){"use strict";var a;n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return a}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-uni-view",{staticClass:"container"},[n("v-uni-web-view",{attrs:{"webview-styles":e.webviewStyles,src:e.webviewSrc},on:{message:function(t){arguments[0]=t=e.$handleEvent(t),e.handleMessage.apply(void 0,arguments)}}})],1)},r=[]},"98c3":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a={name:"buuug7-img-cropper",data:function(){return{webviewStyles:{},platform:"",webviewSrc:"https://zhibo.liuniu946.com/index/hybrid/html/cropper/index.html"}},mounted:function(){var e=uni.getSystemInfoSync(),t=e.platform;this.platform=t,console.log(t,"获取系统对象"),"windows"!==t&&"mac"!==t||this.handleH5Message(),window.addEventListener("message",this.handleMessage,!1)},methods:{handleMessage:function(e){console.log("消息传输",e);var t=this.platform;if(e.data.data.type){var n=e.data.data;if(console.log(t,"myself"),"android"===t||"ios"===t||"devtools"===t){var a=this.getOpenerEventChannel();a.emit("imgCropped",{data:n.dataUrl})}}},handleH5Message:function(e){var t=this;console.log("H5Message"),window.addEventListener("message",(function(e){var n=e.data.data;if(n&&"croppedData"===n.type){var a=t.getOpenerEventChannel();a.emit("imgCropped",{data:n.dataUrl})}}))}}};t.default=a},a3d8:function(e,t,n){"use strict";n.r(t);var a=n("7a02"),i=n("0404");for(var r in i)"default"!==r&&function(e){n.d(t,e,(function(){return i[e]}))}(r);var o,s=n("f0c5"),d=Object(s["a"])(i["default"],a["b"],a["c"],!1,null,"387d157a",null,!1,a["a"],o);t["default"]=d.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-gzsq.73cb979c.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-gzsq.f2c56cae.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-myfans.0f295b7c.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-myproduct.43a3350a.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-shareQrCode.23c92f5b.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-shareQrCode.3f7b1931.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-user.59f1ac87.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-user.7c32286c.js


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