Browse Source

Merge branch 'master' of http://112.74.177.128:3000/jiandexin/saber_weixin

yuxingxing 2 years ago
parent
commit
aadd6663ce

+ 0 - 148
components/shareRedPackets/index.vue

@@ -1,148 +0,0 @@
-<template>
-	<view v-if="sharePacket.isState" class='sharing-packets' :class='sharePacket.isState && showAnimate ? "":"right"'>
-		<view class='sharing-con' @click='goShare'>
-			<image :src="imgHost + '/statics/images/red-packets.png'" />
-			<view class='text font-color'>
-				<view>{{$t(`最高返佣`)}}</view>
-				<view class='money'><text class='label'>{{$t(`¥`)}}</text>{{sharePacket.priceName}}</view>
-				<view class='tip'>{{$t(`推广享佣金`)}}</view>
-				<view class='shareBut'>{{$t(`立即分享`)}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {HTTP_REQUEST_URL} from '@/config/app';
-	export default {
-
-		props: {
-			sharePacket: {
-				type: Object,
-				default: function() {
-					return {
-						isState: true,
-						priceName: ''
-					}
-				}
-			},
-			showAnimate: {
-				type: Boolean,
-				default: true
-			},
-		},
-		watch: {
-			showAnimate(nVal, oVal) {
-				setTimeout(res => {
-					this.isAnimate = nVal
-				}, 1000)
-			}
-		},
-		data() {
-			return {
-				imgHost:HTTP_REQUEST_URL,
-				isAnimate: true
-			};
-		},
-
-		methods: {
-			closeShare: function() {
-				this.$emit('closeChange');
-			},
-			goShare: function() {
-				console.log(this.isAnimate)
-				if (this.isAnimate) {
-					this.$emit('listenerActionSheet');
-				} else {
-					this.isAnimate = true
-					this.$emit('boxStatus', true);
-				}
-			}
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.sharing-packets {
-		position: fixed;
-		left: 30rpx;
-		bottom: 200rpx;
-		z-index: 5;
-		transition: all 0.3s ease-in-out 0s;
-		opacity: 1;
-		transform: scale(1);
-
-		&.right {
-			left: -170rpx;
-		}
-	}
-
-	// .sharing-packets.on {
-	// 	transform: scale(0);
-	// 	opacity: 0;
-	// }
-
-	.sharing-packets .iconfont {
-		width: 44rpx;
-		height: 44rpx;
-		border-radius: 50%;
-		text-align: center;
-		line-height: 44rpx;
-		background-color: #999;
-		font-size: 20rpx;
-		color: #fff;
-		margin: 0 auto;
-		box-sizing: border-box;
-		padding-left: 1px;
-	}
-
-	.sharing-packets .line {
-		width: 2rpx;
-		height: 40rpx;
-		background-color: #999;
-		margin: 0 auto;
-	}
-
-	.sharing-packets .sharing-con {
-		width: 187rpx;
-		height: 210rpx;
-		position: relative;
-	}
-
-	.sharing-packets .sharing-con image {
-		width: 100%;
-		height: 100%;
-	}
-
-	.sharing-packets .sharing-con .text {
-		position: absolute;
-		top: 30rpx;
-		font-size: 20rpx;
-		width: 100%;
-		text-align: center;
-	}
-
-	.sharing-packets .sharing-con .text .money {
-		font-size: 32rpx;
-		font-weight: bold;
-		margin-top: 5rpx;
-	}
-
-	.sharing-packets .sharing-con .text .money .label {
-		font-size: 20rpx;
-	}
-
-	.sharing-packets .sharing-con .text .tip {
-		font-size: 18rpx;
-		color: #999;
-		margin-top: 5rpx;
-	}
-
-	.sharing-packets .sharing-con .text .shareBut {
-		font-size: 22rpx;
-		color: #fff;
-		margin-top: 14rpx;
-		height: 50rpx;
-		line-height: 50rpx;
-	}
-</style>

+ 0 - 430
components/update/app-update.vue

@@ -1,430 +0,0 @@
-<template>
-	<view class="wrap" v-if="popup_show">
-		<view class="popup-bg" :style="getHeight">
-			<view class="popup-content" :class="{ 'popup-content-show': popup_show }">
-				<view class="update-wrap">
-					<image src="./images/img.png" class="top-img"></image>
-					<view class="content">
-						<text class="title">{{$t(`发现新版本`)}}{{ update_info.version }}</text>
-						<!-- 升级描述 -->
-						<view class="title-sub" v-html="update_info.info"></view>
-						<!-- 升级按钮 -->
-						<button class="btn" v-if="downstatus < 1" @click="nowUpdate()">
-							{{$t(`立即升级`)}}
-						</button>
-						<!-- 下载进度 -->
-						<view class="sche-wrap" v-else>
-							<!-- 更新包下载中 -->
-							<view class="sche-bg">
-								<view class="sche-bg-jindu" :style="lengthWidth"></view>
-							</view>
-							<text class="down-text">{{$t(`下载进度`)}}:{{ (downSize / 1024 / 1024).toFixed(2) }}M/{{
-                  (fileSize / 1024 / 1024).toFixed(2)
-                }}M</text>
-						</view>
-					</view>
-				</view>
-				<image src="./images/close.png" class="close-ioc" @click="closeUpdate()"></image>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	let vm;
-	import {
-		getUpdateInfo
-	} from '@/api/public.js'
-
-	export default {
-		name: "appUpdate",
-		//@是否强制更新
-		props: {
-			tabbar: {
-				type: Boolean,
-				default: false, //是否有原生tabbar组件
-			},
-			getVer: {
-				type: Boolean,
-				default: false, //是否有原生tabbar组件
-			},
-		},
-		data() {
-			return {
-				popup_show: false, //弹窗是否显示
-				platform: "", //ios or android
-				version: "1.0.0", //当前软件版本
-				need_update: false, // 是否更新
-				downing: false, //是否下载中
-				downstatus: 0, //0未下载  1已开始 2已连接到资源  3已接收到数据  4下载完成
-				update_info: {
-					os: "", //设备系统
-					version: "", //最新版本
-					info: "", //升级说明
-				},
-				fileSize: 0, //文件大小
-				downSize: 0, //已下载大小
-				viewObj: null, //原生遮罩view
-			};
-		},
-		created() {
-			vm = this;
-			if (!this.getVer) this.update()
-		},
-		computed: {
-			// 下载进度计算
-			lengthWidth: function() {
-				let w = (this.downSize / this.fileSize) * 100;
-				if (!w) {
-					w = 0;
-				} else {
-					w = w.toFixed(2);
-				}
-				return {
-					width: w + "%", //return 宽度半分比
-				};
-			},
-			getHeight() {
-				let bottom = 0;
-				if (this.tabbar) {
-					bottom = 50;
-				}
-				return {
-					bottom: bottom + "px",
-					height: "auto",
-				};
-			},
-		},
-		methods: {
-			// 检查更新
-			update() {
-				// #ifdef APP-PLUS
-				// 获取手机系统信息
-				uni.getSystemInfo({
-					success: function(res) {
-						vm.platform = res.platform; //ios  or android
-						console.log("手机系统信息", vm.platform);
-					},
-				});
-
-				// 获取版本号
-				plus.runtime.getProperty(plus.runtime.appid, function(inf) {
-					vm.version = inf.version;
-				});
-				console.log("当前版本", vm.version);
-				this.getUpdateInfo(); //获取更新信息
-				// #endif
-			},
-
-			// 获取线上版本信息
-			getUpdateInfo() {
-				//向后台发起请求,获取最新版本号
-				getUpdateInfo(this.platform === "ios" ? 2 : 1)
-					.then((res) => {
-						console.log(res)
-						if(Array.isArray(res.data)){
-						 return	this.$emit('isNew')
-						}
-						const tagDate = uni.getStorageSync('app_update_time') || '',
-							nowDate = new Date().toLocaleDateString();
-						if (tagDate !== nowDate && !this.getVer) {
-							uni.setStorageSync('app_update_time', new Date().toLocaleDateString());
-						} else if ((tagDate !== nowDate) && this.getVer) {
-							if (!res.data.is_force) return
-						} else if (tagDate == nowDate && !this.getVer && !res.data.is_force) {
-							return
-						}
-						// 这里的返回的数据跟后台约定
-						let data = res.data;
-						// 循环获取当前设备对应的更新数据
-						vm.update_info = data;
-						if (!vm.update_info.platform) {
-							// 后台未配置当前系统的升级数据
-						} else {
-							console.log('111111111111111')
-							vm.checkUpdate(); ///检查是否更新
-						}
-					})
-					.catch((err) => {
-						vm.popup_show = false
-						console.log(err);
-					});
-			},
-			// 检查是否更新
-			checkUpdate() {
-				vm.need_update = vm.compareVersion(vm.version, vm.update_info.version); // 检查是否需要升级
-				if (vm.need_update) {
-					vm.popup_show = true; //线上版本号大于当前安装的版本号  显示升级框
-					if (vm.tabbar) {
-						//页面是否有原生tabbar组件
-						// 创建原生view用来遮罩tabbar的点击事件 (如果是没有用原生的tabbar这一步可以取消)
-						vm.viewObj = new plus.nativeObj.View("viewObj", {
-							bottom: "0px",
-							left: "0px",
-							height: "50px",
-							width: "100%",
-							backgroundColor: "rgba(0,0,0,.6)",
-						});
-						vm.viewObj.show(); //显示原生遮罩
-					}
-				} else {
-					this.$emit('isNew')
-				}
-			},
-
-			// 取消更新
-			closeUpdate() {
-				if (vm.update_info.is_force) {
-					// 强制更新,取消退出app
-					this.platform == "android" ?
-						plus.runtime.quit() :
-						plus.ios
-						.import("UIApplication")
-						.sharedApplication()
-						.performSelector("exit");
-				} else {
-					vm.popup_show = false; //关闭升级弹窗
-					if (vm.viewObj) vm.viewObj.hide(); //隐藏原生遮罩
-				}
-			},
-			// 立即更新
-			nowUpdate() {
-				if (vm.downing) return false; //如果正在下载就停止操作
-				vm.downing = true; //状态改变 正在下载中
-
-				if (/\.apk$/.test(vm.update_info.url)) {
-					// 如果是apk地址
-					vm.download_wgt(); // 安装包/升级包更新
-				} else if (/\.wgt$/.test(vm.update_info.url)) {
-					// 如果是更新包
-					vm.download_wgt(); // 安装包/升级包更新
-				} else {
-					plus.runtime.openURL(vm.update_info.url, function() {
-						//调用外部浏览器打开更新地址
-						plus.nativeUI.toast("打开错误");
-					});
-				}
-			},
-			// 下载升级资源包
-			download_wgt() {
-				plus.nativeUI.showWaiting("下载更新文件..."); //下载更新文件...
-				let options = {
-					method: "get",
-				};
-				let dtask = plus.downloader.createDownload(
-					vm.update_info.url,
-					options,
-					function(d, status) {}
-				);
-
-				dtask.addEventListener("statechanged", function(task, status) {
-					if (status === null) {} else if (status == 200) {
-						//在这里打印会不停的执行,请注意,正式上线切记不要在这里打印东西///////////////////////////////////////////////////
-						vm.downstatus = task.state;
-						switch (task.state) {
-							case 3: // 已接收到数据
-								vm.downSize = task.downloadedSize;
-								if (task.totalSize) {
-									vm.fileSize = task.totalSize; //服务器须返回正确的content-length才会有长度
-								}
-								break;
-							case 4:
-								vm.installWgt(task.filename); // 安装wgt包
-								break;
-						}
-					} else {
-						plus.nativeUI.closeWaiting();
-						plus.nativeUI.toast("下载出错");
-						vm.downing = false;
-						vm.downstatus = 0;
-					}
-				});
-				dtask.start();
-			},
-
-			// 安装文件
-			installWgt(path) {
-				plus.nativeUI.showWaiting("安装更新文件..."); //安装更新文件...
-				plus.runtime.install(
-					path, {},
-					function() {
-						plus.nativeUI.closeWaiting();
-						// 应用资源下载完成!
-						plus.nativeUI.alert("应用资源下载完成!", function() {
-							plus.runtime.restart();
-						});
-					},
-
-					function(e) {
-						plus.nativeUI.closeWaiting();
-						// 安装更新文件失败
-						plus.nativeUI.alert("安装更新文件失败[" + e.code + "]:" + e.message);
-					}
-				);
-			},
-			// 对比版本号
-			compareVersion(ov, nv) {
-				if (!ov || !nv || ov == "" || nv == "") {
-					return false;
-				}
-				let b = false,
-					ova = ov.split(".", 4),
-					nva = nv.split(".", 4);
-				for (let i = 0; i < ova.length && i < nva.length; i++) {
-					let so = ova[i],
-						no = parseInt(so),
-						sn = nva[i],
-						nn = parseInt(sn);
-					if (nn > no || sn.length > so.length) {
-						return true;
-					} else if (nn < no) {
-						return false;
-					}
-				}
-				if (nva.length > ova.length && 0 == nv.indexOf(ov)) {
-					return true;
-				} else {
-					return false;
-				}
-			},
-		},
-	};
-</script>
-
-<style lang="scss" scoped>
-	.popup-bg {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		position: fixed;
-		top: 0;
-		left: 0rpx;
-		right: 0;
-		bottom: 0;
-		width: 750rpx;
-		background-color: rgba(0, 0, 0, 0.6);
-		z-index: 10000;
-	}
-
-	.popup-content {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-	}
-
-	.popup-content-show {
-		animation: mymove 500ms;
-		transform: scale(1);
-	}
-
-	@keyframes mymove {
-		0% {
-			transform: scale(0);
-			/*开始为原始大小*/
-		}
-
-		100% {
-			transform: scale(1);
-		}
-	}
-
-	.update-wrap {
-		width: 580rpx;
-		border-radius: 18rpx;
-		position: relative;
-		display: flex;
-		flex-direction: column;
-		background-color: #ffffff;
-		padding: 170rpx 30rpx 0;
-
-		.top-img {
-			position: absolute;
-			left: 0;
-			width: 100%;
-			height: 256rpx;
-			top: -128rpx;
-		}
-
-		.content {
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			padding-bottom: 40rpx;
-
-			.title {
-				font-size: 32rpx;
-				font-weight: bold;
-				color: #6526f3;
-			}
-
-			.title-sub {
-				text-align: center;
-				font-size: 24rpx;
-				color: #666666;
-				padding: 30rpx 0;
-			}
-
-			.btn {
-				width: 460rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				color: #ffffff;
-				font-size: 30rpx;
-				height: 80rpx;
-				line-height: 80rpx;
-				border-radius: 100px;
-				background-color: #6526f3;
-				margin-top: 20rpx;
-			}
-		}
-	}
-
-	.close-ioc {
-		width: 70rpx;
-		height: 70rpx;
-		margin-top: 30rpx;
-	}
-
-	.sche-wrap {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: flex-end;
-		padding: 10rpx 50rpx 0;
-
-		.sche-wrap-text {
-			font-size: 24rpx;
-			color: #666;
-			margin-bottom: 20rpx;
-		}
-
-		.sche-bg {
-			position: relative;
-			background-color: #cccccc;
-			height: 30rpx;
-			border-radius: 100px;
-			width: 480rpx;
-			display: flex;
-			align-items: center;
-
-			.sche-bg-jindu {
-				position: absolute;
-				left: 0;
-				top: 0;
-				height: 30rpx;
-				min-width: 40rpx;
-				border-radius: 100px;
-				background: url(images/round.png) #5775e7 center right 4rpx no-repeat;
-				background-size: 26rpx 26rpx;
-			}
-		}
-
-		.down-text {
-			font-size: 24rpx;
-			color: #5674e5;
-			margin-top: 16rpx;
-		}
-	}
-</style>

BIN
components/update/images/close.png


BIN
components/update/images/img.png


BIN
components/update/images/round.png


BIN
components/update/images/update-img.png


+ 0 - 208
pages/goods/components/invoiceModal/index.vue

@@ -1,208 +0,0 @@
-<template>
-	<view class="aleart" v-if="aleartStatus" :style="colorStyle">
-		<view class="icon-top">
-			<text class="iconfont icon-fapiao2"
-				:style="invoiceData.is_invoice?'background-color: var(--view-theme)':'background-color: #999'"></text>
-			<view class="bill">
-				{{invoiceData.is_invoice?$t(`已开票`): $t(`未开票`)}}
-			</view>
-		</view>
-
-		<view class="aleart-body">
-			<view class="body-head">{{$t(`发票信息`)}}</view>
-			<view class="label">
-				<view class="">
-					{{$t(`发票抬头`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.name}}
-				</view>
-			</view>
-			<view class="label">
-				<view class="">
-					{{$t(`发票抬头类型`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.header_type == 1?$t(`个人`):$t(`企业`)}}
-				</view>
-			</view>
-			<view class="label">
-				<view class="">
-					{{$t(`发票类型`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.type==1?$t(`电子普通发票`):$t(`电子专用发票`)}}
-				</view>
-			</view>
-			<view class="label" v-if="invoiceData.duty_number">
-				<view class="">
-					{{$t(`企业税号`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.duty_number}}
-				</view>
-			</view>
-
-			<view class="body-head">{{$t(`联系信息`)}}</view>
-			<view class="label">
-				<view class="">
-					{{$t(`真实姓名`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.name}}
-				</view>
-			</view>
-			<view class="label">
-				<view class="">
-					{{$t(`联系电话`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.drawer_phone}}
-				</view>
-			</view>
-			<view class="label">
-				<view class="">
-					{{$t(`联系邮箱`)}}
-				</view>
-				<view class="label-value">
-					{{invoiceData.email}}
-				</view>
-			</view>
-		</view>
-		<view class="btn" @click="close">
-{{$t(`确认`)}}
-		</view>
-	</view>
-</template>
-
-<script>
-	import colors from '@/mixins/color.js';
-	export default ({
-		data() {
-			return {
-
-			}
-		},
-		mixins: [colors],
-		props: {
-			aleartStatus: {
-				type: Boolean,
-				default: false
-			},
-			invoiceData: {
-				type: Object,
-				default: () => {}
-			}
-		},
-		methods: {
-			close() {
-				this.$emit('close')
-			},
-		}
-	})
-</script>
-
-<style lang="scss" scoped>
-	.aleart {
-		width: 80%;
-		// height: 714rpx;
-		position: fixed;
-		left: 50%;
-		transform: translateX(-50%);
-		z-index: 9999;
-		top: 45%;
-		margin-top: -357rpx;
-		background-color: #fff;
-		padding: 30rpx;
-		border-radius: 12rpx;
-		background-image: -webkit-gradient(linear, //表示渐变的为直线 另外一个值是radial
-				50% 0, //直线型渐变的起点位置 后边有一个属性background-size规定背景的大小,30 X 15px  50% 0 都是乘以父元素的宽高。 
-				0 100%, //结束点的位置 和上类似
-				from(transparent), //起点的颜色
-				color-stop(.5, transparent), //中间某一个点必须达到这个颜色,表示变化过程  .5b表示这个渐变范围长度的总长的50%
-				color-stop(.5, #999999), //同上
-				to(#999999)), //结束段的颜色
-			//一个背景块的分为两个15X 15  组成。
-
-			-webkit-gradient(linear, 50% 0, 100% 100%, from(transparent),
-				color-stop(.5, transparent),
-				color-stop(.5, #999999),
-				to(#999999));
-		background-size: 20rpx 10rpx;
-		background-repeat: repeat-x;
-		background-position: 0 100%;
-
-		.icon-top {
-			margin-left: calc(50% - 40rpx);
-			margin-top: -40rpx;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			border-radius: 50%;
-			width: 100rpx;
-			height: 100rpx;
-
-			.icon-fapiao2 {
-				text-align: center;
-				border-radius: 50%;
-				font-size: 80rpx;
-				color: #fff;
-				background-color: var(--view-theme);
-				padding: 20rpx;
-				border: 4rpx solid #fff;
-				margin-top: -40rpx;
-			}
-			.bill {
-				width: 172rpx;
-				text-align: center;
-			}
-		}
-
-		.title {
-			font-size: 34rpx;
-			color: var(--view-theme);
-			font-weight: bold;
-			text-align: center;
-			padding-bottom: 10rpx;
-			border-bottom: 1px solid var(--view-op-ten);
-		}
-
-		.aleart-body {
-			display: flex;
-			justify-content: center;
-			flex-direction: column;
-			padding: 60rpx 0;
-
-			.body-head {
-				font-size: 30rpx;
-				font-weight: bold;
-				padding-bottom: 10rpx;
-				border-bottom: 1px solid #EEEEEE;
-				margin: 10rpx 0;
-			}
-
-			.label {
-				width: 100%;
-				display: flex;
-				justify-content: space-between;
-				margin-bottom: 15rpx;
-				color: #333333;
-				font-size: 28rpx;
-
-				.label-value {
-					color: #666666;
-				}
-			}
-		}
-
-		.btn {
-			width: 100%;
-			padding: 15rpx 0;
-			color: #fff;
-			background: var(--view-theme);
-			border-radius: 20px;
-			text-align: center;
-			margin-bottom: 30rpx;
-		}
-	}
-</style>

+ 2 - 2
pages/goods/order_details/index.vue

@@ -387,14 +387,14 @@ import authorize from '@/components/Authorize';
 // #endif
 import colors from "@/mixins/color";
 import invoicePicker from '../components/invoicePicker/index.vue';
-import invoiceModal from '../components/invoiceModal/index.vue'
+// import invoiceModal from '../components/invoiceModal/index.vue'
 import zbCode from '@/components/zb-code/zb-code.vue'
 export default {
 	components: {
 		payment,
 		home,
 		invoicePicker,
-		invoiceModal,
+		// invoiceModal,
 		orderGoods,
 		zbCode,
 		// #ifdef MP

+ 4 - 4
pages/goods/order_details/index_mall.vue

@@ -352,8 +352,8 @@
 		<!-- #endif -->
 		<payment :payMode='payMode' :pay_close="pay_close" @onChangeFun='onChangeFun' :order_id="pay_order_id"
 			:totalPrice='totalPrice' :friendPay="true"></payment>
-		<invoiceModal :aleartStatus="aleartStatus" :invoiceData="invoiceData" @close="aleartStatus=false">
-		</invoiceModal>
+		<!-- <invoiceModal :aleartStatus="aleartStatus" :invoiceData="invoiceData" @close="aleartStatus=false">
+		</invoiceModal> -->
 		<view class="mask invoice-mask" v-if="aleartStatus" @click="aleartStatus = false"></view>
 		<view class="mask more-mask" v-if="moreBtn" @click="moreBtn = false"></view>
 		<invoice-picker :inv-show="invShow" :is-special="special_invoice" :url-query="urlQuery" :inv-checked="invChecked" :order-id='order_id'
@@ -403,14 +403,14 @@
 	// #endif
 	import colors from "@/mixins/color";
 	import invoicePicker from '../components/invoicePicker/index.vue';
-	import invoiceModal from '../components/invoiceModal/index.vue'
+	// import invoiceModal from '../components/invoiceModal/index.vue'
 	import zbCode from '@/components/zb-code/zb-code.vue'
 	export default {
 		components: {
 			payment,
 			home,
 			invoicePicker,
-			invoiceModal,
+			// invoiceModal,
 			orderGoods,
 			zbCode,
 			// #ifdef MP

+ 4 - 4
pages/goods_details/index_mall.vue

@@ -337,9 +337,9 @@
 						</view>
 					</view> -->
 			</view>
-			<shareRedPackets :sharePacket="sharePacket" @listenerActionSheet="listenerActionSheet"
+			<!-- <shareRedPackets :sharePacket="sharePacket" @listenerActionSheet="listenerActionSheet"
 				@closeChange="closeChange" :showAnimate="showAnimate" @boxStatus="boxStatus">
-			</shareRedPackets>
+			</shareRedPackets> -->
 			<!-- 组件 -->
 			<productWindow :attr="attr" :isShow="1" :iSplus="1" @myevent="onMyEvent" @ChangeAttr="ChangeAttr"
 				@ChangeCartNum="ChangeCartNum" @attrVal="attrVal" @iptCartNum="iptCartNum" id="product-window"
@@ -450,7 +450,7 @@
 	import couponListWindow from "@/components/couponListWindow";
 	import productWindow from "@/components/productWindow";
 	import userEvaluation from "@/components/userEvaluation";
-	import shareRedPackets from "@/components/shareRedPackets";
+	// import shareRedPackets from "@/components/shareRedPackets";
 	import kefuIcon from "@/components/kefuIcon";
 	import menuIcon from "@/components/menuIcon.vue";
 	import {
@@ -480,7 +480,7 @@
 			couponListWindow,
 			productWindow,
 			userEvaluation,
-			shareRedPackets,
+			// shareRedPackets,
 			kefuIcon,
 			menuIcon,
 			cusPreviewImg,

+ 0 - 1244
pages/index/diy/index.vue

@@ -1,1244 +0,0 @@
-<template>
-	<view v-if="pageShow" class="page"
-		:class="bgTabVal==2?'fullsize noRepeat':bgTabVal==1?'repeat ysize':'noRepeat ysize'"
-		:style="'background-color:'+bgColor+';background-image: url('+bgPic+');min-height:'+windowHeight+'px;'">
-		<view v-if="!errorNetwork" :style="colorStyle">
-			<skeleton :show="showSkeleton" :isNodes="isNodes" ref="skeleton" loading="chiaroscuro" selector="skeleton"
-				bgcolor="#FFF"></skeleton>
-			<view class="index skeleton" :style="{visibility: showSkeleton ? 'hidden' : 'visible'}">
-				<!-- #ifdef H5 -->
-				<view v-for="(item, index) in styleConfig" :key="index">
-					<component :is="item.name" :index="index" :dataConfig="item" @changeBarg="changeBarg"
-						@changeTab="changeTab" :tempArr="tempArr" :iSshowH="iSshowH" @detail="goDetail"
-						:isSortType="isSortType" @bindSortId="bindSortId" @bindHeight="bindHeight" :isFixed="isFixed">
-					</component>
-				</view>
-				<!-- #endif -->
-
-				<!-- #ifdef MP || APP-PLUS -->
-				<block v-for="(item, index) in styleConfig" :key="index">
-					<activeParty v-if="item.name == 'activeParty'" :dataConfig="item" :isSortType="isSortType">
-					</activeParty>
-					<!-- <articleList v-if="item.name == 'articleList'" :dataConfig="item" :isSortType="isSortType">
-					</articleList> -->
-					<!-- <bargain v-if="item.name == 'bargain'" :dataConfig="item" @changeBarg="changeBarg"
-						:isSortType="isSortType"></bargain> -->
-					<!-- <blankPage v-if="item.name == 'blankPage'" :dataConfig="item" :isSortType="isSortType"></blankPage> -->
-					<!-- <combination v-if="item.name == 'combination'" :dataConfig="item" :isSortType="isSortType">
-					</combination> -->
-					<!-- <coupon v-if="item.name == 'coupon'" :dataConfig="item" :isSortType="isSortType"></coupon> -->
-					<!-- <customerService v-if="item.name == 'customerService'" :dataConfig="item" :isSortType="isSortType">
-					</customerService> -->
-					<!-- <goodList v-if="item.name == 'goodList'" :dataConfig="item" @detail="goDetail"
-						:isSortType="isSortType"></goodList> -->
-					<!-- <guide v-if="item.name == 'guide'" :dataConfig="item" :isSortType="isSortType"></guide> -->
-					<headerSerch v-if="item.name == 'headerSerch'" :dataConfig="item"></headerSerch>
-					<!-- <liveBroadcast v-if="item.name == 'liveBroadcast'" :dataConfig="item" :isSortType="isSortType">
-					</liveBroadcast> -->
-					<menus v-if="item.name == 'menus'" :dataConfig="item" :isSortType="isSortType"></menus>
-					<news v-if="item.name == 'news'" :dataConfig="item" :isSortType="isSortType"></news>
-					<!-- <pictureCube v-if="item.name == 'pictureCube'" :dataConfig="item" :isSortType="isSortType">
-					</pictureCube> -->
-					<promotionList v-if="item.name == 'promotionList'" :dataConfig="item" @changeTab="changeTab"
-						:tempArr="tempArr" :iSshowH="iSshowH" @detail="goDetail" :isSortType="isSortType">
-					</promotionList>
-					<!-- <richText v-if="item.name == 'richText'" :dataConfig="item" :isSortType="isSortType"></richText> -->
-					<!-- <seckill v-if="item.name == 'seckill'" :dataConfig="item" :isSortType="isSortType"></seckill> -->
-					<swiperBg v-if="item.name == 'swiperBg'" :dataConfig="item" :isSortType="isSortType"></swiperBg>
-					<!-- <swipers v-if="item.name == 'swipers'" :dataConfig="item" :isSortType="isSortType"></swipers> -->
-					<tabNav v-if="item.name == 'tabNav'" :dataConfig="item" @bindHeight="bindHeighta"
-						@bindSortId="bindSortId" :isFixed="isFixed"></tabNav>
-					<!-- <titles v-if="item.name == 'titles'" :dataConfig="item" :isSortType="isSortType"></titles> -->
-				</block>
-				<!-- #endif -->
-				<!-- 分类商品模块 -->
-				<!-- #ifdef  APP-PLUS -->
-				<view class="sort-product" v-if="isSortType == 1" style="margin-top: 0;">
-					<scroll-view scroll-x="true" style="background: #fff;">
-						<view class="sort-box" v-if="sortList.children && sortList.children.length">
-							<view class="sort-item" v-for="(item, index) in sortList.children" :key="index"
-								@click="changeSort(item, index)" :class="{ on: curSort == index }">
-								<image :src="item.pic" mode="" v-if="item.pic"></image>
-								<image src="/static/images/sort-img.png" mode="" v-else></image>
-								<view class="txt">{{ item.cate_name }}</view>
-							</view>
-						</view>
-					</scroll-view>
-					<view class="product-list" v-if="goodList.length">
-						<view class="product-item" v-for="(item, index) in goodList" @click="goGoodsDetail(item)">
-							<image :src="item.image"></image>
-							<span class="pictrue_log_big pictrue_log_class"
-								v-if="item.activity && item.activity.type === '1'">{{$t(`秒杀`)}}</span>
-							<span class="pictrue_log_big pictrue_log_class"
-								v-if="item.activity && item.activity.type === '2'">{{$t(`砍价`)}}</span>
-							<span class="pictrue_log_big pictrue_log_class"
-								v-if="item.activity && item.activity.type === '3'">{{$t(`拼团`)}}</span>
-							<view class="info">
-								<view class="title line1">{{ item.store_name }}</view>
-								<view class="price-box">
-									<text>{{$t(`¥`)}}</text>
-									{{ item.price }}
-								</view>
-							</view>
-						</view>
-					</view>
-					<Loading :loaded="loaded" :loading="loading"></Loading>
-					<view class="" v-if="goodList.length == 0 && loaded">
-						<view class="emptyBox">
-							<image :src="imgHost + '/statics/images/no-thing.png'"></image>
-							<view class="tips">{{$t(`暂无商品,去看点别的吧`)}}</view>
-						</view>
-						<recommend :hostProduct="hostProduct"></recommend>
-					</view>
-				</view>
-				<!-- #endif -->
-				<!-- #ifndef  APP-PLUS -->
-				<view class="sort-product" v-if="isSortType == 1" :style="{ marginTop: sortMpTop + 'px' }">
-					<scroll-view scroll-x="true" style="background: #fff;">
-						<view class="sort-box" v-if="sortList.children && sortList.children.length">
-							<view class="sort-item" v-for="(item, index) in sortList.children" :key="index"
-								@click="changeSort(item, index)" :class="{ on: curSort == index }">
-								<image :src="item.pic" mode="" v-if="item.pic"></image>
-								<image src="/static/images/sort-img.png" mode="" v-else></image>
-								<view class="txt">{{ item.cate_name }}</view>
-							</view>
-						</view>
-					</scroll-view>
-					<view class="product-list" v-if="goodList.length">
-						<view class="product-item" v-for="(item, index) in goodList" @click="goGoodsDetail(item)">
-							<image :src="item.image"></image>
-							<span class="pictrue_log_big pictrue_log_class"
-								v-if="item.activity && item.activity.type === '1'">{{$t(`秒杀`)}}</span>
-							<span class="pictrue_log_big pictrue_log_class"
-								v-if="item.activity && item.activity.type === '2'">{{$t(`砍价`)}}</span>
-							<span class="pictrue_log_big pictrue_log_class"
-								v-if="item.activity && item.activity.type === '3'">{{$t(`拼团`)}}</span>
-							<span class="pictrue_log_big pictrue_log_class" v-if="item.checkCoupon">{{$t(`券`)}}</span>
-							<view class="info">
-								<view class="title line2">{{ item.store_name }}</view>
-								<view class="price-box">
-									<text>{{$t(`¥`)}}</text>
-									{{ item.price }}
-								</view>
-							</view>
-						</view>
-					</view>
-					<Loading :loaded="loaded" :loading="loading"></Loading>
-					<view class="" v-if="goodList.length == 0 && loaded">
-						<view class="emptyBox">
-							<image :src="imgHost + '/statics/images/no-thing.png'"></image>
-							<view class="tips">{{$t(`暂无数据`)}}</view>
-						</view>
-						<recommend :hostProduct="hostProduct"></recommend>
-					</view>
-				</view>
-				<!-- #endif -->
-				<!-- 	<view class="loadingicon acea-row row-center-wrapper" v-if="tempArr.length && styleConfig[styleConfig.length - 1].name == 'promotionList'">
-					<text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
-					{{ loadTitle }}
-				</view> -->
-				<!-- #ifdef MP -->
-				<!-- <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse" :isGoIndex="false"></authorize> -->
-				<!-- #endif -->
-				<couponWindow :window="isCouponShow" @onColse="couponClose" :couponImage="couponObj.image"
-					:couponList="couponObj.list"></couponWindow>
-				<view class="uni-p-b-98" v-if="footerStatus"></view>
-				<view v-if="site_config" class="site-config" @click="goICP">{{ site_config }}</view>
-				<!-- <pageFooter v-if="footerStatus"></pageFooter> -->
-				<!-- <view class="foot" v-if="newData.status && newData.status.status">
-					<view class="page-footer" id="target" :style="{'background-color':newData.bgColor.color[0].item}">
-						<view class="foot-item" v-for="(item,index) in newData.menuList" :key="index"
-							@click="goRouter(item)">
-							<block v-if="item.link == activeRouter">
-								<image :src="item.imgList[0]"></image>
-								<view class="txt" :style="{color:newData.activeTxtColor.color[0].item}">
-									{{$t(item.name)}}
-								</view>
-							</block>
-							<block v-else>
-								<image :src="item.imgList[1]"></image>
-								<view class="txt" :style="{color:newData.txtColor.color[0].item}">{{$t(item.name)}}
-								</view>
-							</block>
-							<div class="count-num"
-								v-if="item.link === '/pages/order_addcart/order_addcart' && countNum > 0">
-								{{countNum}}
-							</div>
-						</view>
-					</view>
-				</view> -->
-			</view>
-		</view>
-		<view v-else>
-			<view class="error-network">
-				<image :src="imgHost + '/statics/images/error-network.png'"></image>
-				<view class="title">{{$t(`网络连接断开`)}}</view>
-				<view class="con">
-					<view class="label">{{$t(`请检查情况:`)}}:</view>
-					<view class="item">· {{$t(`在设置中是否已开启网络权限:`)}}</view>
-					<view class="item">· {{$t(`当前是否处于弱网环境`)}}</view>
-					<view class="item">· {{$t(`版本是否过低,升级试试吧`)}}</view>
-				</view>
-				<view class="btn" @click="reconnect">{{$t(`重新连接`)}}</view>
-			</view>
-		</view>
-		<!-- #ifdef APP-PLUS -->
-		<app-update v-if="!privacyStatus" ref="appUpdate" :force="true" :tabbar="false"></app-update>
-		<view class="privacy-wrapper" v-if="privacyStatus">
-			<view class="privacy-box">
-				<view class="title">{{$t(`服务协议与隐私政策`)}}</view>
-				<view class="content">
-					{{$t(`请务必审慎阅读、充分理解“服务协议与 隐私政策”各条款,包括但不限于:为了 向你提供即时通讯、内容分享等服务,我 们需要收集你的设备信息、操作日志等个
-					人信息。你可以在“设置”中查看、变更、删除个人信息并管理你的授权。`)}}<br>
-					{{$t(`你可以阅读`)}}<navigator url="/pages/users/privacy/index?type=3">{{$t(`《服务协议与隐私政策》`)}}</navigator>
-					{{$t(`了解详细信息。如你同意,请点击“我同意”开始接受我们的服务。`)}}
-				</view>
-				<view class="btn-box">
-					<view class="btn-item" @click="confirmApp">{{$t(`我同意`)}}</view>
-					<view class="btn" @click="closeModel">{{$t(`残忍拒绝`)}}</view>
-				</view>
-			</view>
-		</view>
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-const app = getApp();
-import colors from "@/mixins/color";
-import couponWindow from '@/components/couponWindow/index';
-import {
-	getCouponV2,
-	getCouponNewUser,
-	siteConfig
-} from '@/api/api.js';
-import {
-	getNavigation
-} from '@/api/public.js';
-// #ifdef H5
-import mConfig from './components/index.js';
-// #endif
-// #ifdef MP || APP-PLUS
-import authorize from '@/components/Authorize';
-import activeParty from './components/activeParty';
-import headerSerch from './components/headerSerch';
-import swipers from './components/swipers';
-import coupon from './components/coupon';
-import articleList from './components/articleList';
-import bargain from './components/bargain';
-import blankPage from './components/blankPage';
-import combination from './components/combination';
-import customerService from './components/customerService';
-import goodList from './components/goodList';
-import guide from './components/guide';
-import liveBroadcast from './components/liveBroadcast';
-import menus from './components/menus';
-import news from './components/news';
-import pictureCube from './components/pictureCube';
-import promotionList from './components/promotionList';
-import richText from './components/richText';
-import seckill from './components/seckill';
-import swiperBg from './components/swiperBg';
-import tabNav from './components/tabNav';
-import titles from './components/titles';
-import appUpdate from "@/components/update/app-update.vue";
-import {
-	getTempIds
-} from '@/api/api.js';
-import {
-	SUBSCRIBE_MESSAGE,
-	TIPS_KEY
-} from '@/config/cache';
-
-// #endif
-import {
-	mapGetters
-} from 'vuex';
-import {
-	getDiy,
-	getIndexData
-} from '@/api/api.js';
-import {
-	getGroomList,
-	getCategoryList,
-	getProductslist,
-	getProductHot
-} from '@/api/store.js';
-import {
-	goShopDetail
-} from '@/libs/order.js';
-import {
-	getCartCounts,
-} from '@/api/order.js';
-import {
-	toLogin
-} from '@/libs/login.js';
-import { HTTP_REQUEST_URL } from '@/config/app';
-import pageFooter from '@/components/pageFooter/index.vue';
-import Loading from '@/components/Loading/index.vue';
-import recommend from '@/components/recommend';
-export default {
-	computed: mapGetters(['isLogin', 'uid','cartNum']),
-	mixins: [colors],
-	components: {
-		recommend,
-		Loading,
-		pageFooter,
-		couponWindow,
-		// #ifdef H5
-		...mConfig,
-		// #endif
-		// #ifdef MP || APP-PLUS
-		authorize,
-		activeParty,
-		headerSerch,
-		swipers,
-		coupon,
-		articleList,
-		bargain,
-		blankPage,
-		combination,
-		customerService,
-		goodList,
-		guide,
-		liveBroadcast,
-		menus,
-		pictureCube,
-		news,
-		promotionList,
-		richText,
-		seckill,
-		swiperBg,
-		tabNav,
-		titles,
-		appUpdate, //APP更新
-		// #endif
-	},
-	data() {
-		return {
-			imgHost: HTTP_REQUEST_URL,
-			showSkeleton: true, //骨架屏显示隐藏
-			isNodes: 0, //控制什么时候开始抓取元素节点,只要数值改变就重新抓取
-			styleConfig: [],
-			tempArr: [],
-			goodType: 3,
-			loading: false,
-			loadend: false,
-			loadTitle: this.$t(`下拉加载更多`), //提示语
-			page: 1,
-			limit: this.$config.LIMIT,
-			iSshowH: false,
-			numConfig: 0,
-			code: '',
-			isCouponShow: false,
-			couponObj: {},
-			couponObjs: {
-				show: false
-			},
-			shareInfo: {},
-			footConfig: {},
-			isSortType: 0,
-			sortList: '',
-			sortAll: [],
-			goodPage: 1,
-			goodList: [],
-			newData: {},
-			sid: 0,
-			curSort: 0,
-			sortMpTop: 0,
-			loaded: false,
-			loading: false,
-			hostProduct: [],
-			hotScroll: false,
-			hotPage: 1,
-			hotLimit: 10,
-			domOffsetTop: 50,
-			// #ifdef APP-PLUS || MP
-			isFixed: true,
-			// #endif
-
-			// #ifdef H5
-			isFixed: false,
-			// #endif
-			site_config: '',
-			errorNetwork: false, // 是否断网
-			privacyStatus: false, // 隐私政策是否同意过
-			footerStatus: false,
-			isHeaderSerch: false,
-			bgColor: '',
-			bgPic: '',
-			bgTabVal: '',
-			pageShow: true,
-			windowHeight: 0,
-			activeRouter: '',
-			countNum: 0
-		};
-	},
-	onPullDownRefresh() {
-		this.diyData();
-	},
-	created(options) {
-		let that = this
-		this.$nextTick(function () {
-			uni.getSystemInfo({
-				success: function (res) {
-					that.windowHeight = res.windowHeight;
-				}
-			});
-		})
-		// getNavigation().then(res => {
-		// 	this.newData = res.data
-		// 	if (this.newData.status && this.newData.status.status) {
-		// 		uni.hideTabBar()
-		// 	} else {
-		// 		uni.showTabBar()
-		// 	}
-		// })
-		// uni.hideTabBar()
-		let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
-		let curRoute = routes[routes.length - 1].route //获取当前页面路由
-		this.activeRouter = '/' + curRoute
-		// #ifdef APP-PLUS
-		uni.setStorageSync("privacyStatus", true);
-		// try {
-		// 	let val = uni.getStorageSync('privacyStatus') || false
-		// 	if (!val) {
-		// 		this.privacyStatus = true
-		// 	}
-		// } catch (e) {}
-		// #endif
-		this.diyData();
-		this.getIndexData();
-		// #ifdef MP
-		this.getTempIds();
-		// #endif
-		// #ifndef APP-PLUS
-		// siteConfig().then(res => {
-		// 	this.site_config = res.data.record_No
-		// }).catch(err => {
-		// 	console.error(err.msg);
-		// });
-		// #endif
-
-		// 优惠券弹窗
-		// var newDates = new Date().toLocaleDateString();
-		if (this.isLogin) {
-			this.getCoupon();
-			getCartCounts().then(res => {
-				this.countNum = res.data.count
-				this.$store.commit('indexData/setCartNum', res.data.count > 99 ? '..' : res.data.count +
-					'')
-				if (res.data.count > 0) {
-					wx.setTabBarBadge({
-						index: Number(uni.getStorageSync('FOOTER_ADDCART')) || 2,
-						text: res.data.count + ''
-					})
-				} else {
-					wx.hideTabBarRedDot({
-						index: Number(uni.getStorageSync('FOOTER_ADDCART')) || 2
-					})
-				}
-			});
-		}
-	},
-	// onReady() {
-	// 	let that = this
-	// 	uni.getSystemInfo({
-	// 		success: function(res) { // res - 各种参数
-	// 			let info = uni.createSelectorQuery().select(".hander"); // 获取某个元素
-	// 			info.boundingClientRect(function(data) { //data - 各种参数
-	// 				let view = res.windowHeight - data.height
-	// 				that.heightHome = view
-	// 			}).exec()
-	// 		}
-	// 	});
-	// },
-	watch: {
-		isLogin: {
-			deep: true, //深度监听设置为 true
-			handler: function (newV, oldV) {
-				// 优惠券弹窗
-				var newDates = new Date().toLocaleDateString();
-				if (newV) {
-					try {
-						var oldDate = uni.getStorageSync('oldDate') || '';
-					} catch { }
-					if (oldDate != newDates) {
-						this.getCoupon();
-					}
-				}
-			}
-		}
-	},
-	onReady() { },
-	methods: {
-		// #ifdef APP-PLUS
-		// 同意隐私协议
-		confirmApp() {
-			uni.setStorageSync('privacyStatus', true)
-			this.privacyStatus = false
-		},
-		// 关闭Model
-		closeModel() {
-			//退出app
-			uni.getSystemInfo({
-				success: function (res) { // 判断为安卓的手机 
-					if (res.platform == 'android') { // 安卓退出app      
-						plus.runtime.quit();
-					} else { // 判断为ios的手机,退出App      
-						plus.ios.import("UIApplication").sharedApplication().performSelector("exit");
-
-					}
-				}
-			})
-		},
-		// #endif
-		// 重新链接
-		reconnect() {
-			uni.showLoading({
-				title: this.$t(`加载中`)
-			})
-			this.diyData();
-			this.getIndexData();
-			// getShare().then(res => {
-			// 	this.shareInfo = res.data;
-			// });
-		},
-		goICP() {
-			// #ifdef H5
-			window.open('http://beian.miit.gov.cn/');
-			// #endif
-			// #ifdef MP
-			uni.navigateTo({
-				url: `/pages/annex/web_view/index?url=https://beian.miit.gov.cn/`
-			});
-			// #endif
-		},
-		bindHeighta(data) {
-			// #ifdef APP-PLUS
-			this.sortMpTop = data.top + data.height;
-			// #endif
-		},
-		bindHeight(data) {
-			uni.hideLoading();
-			this.domOffsetTop = data.top;
-		},
-		// 去商品详情
-		goGoodsDetail(item) {
-			goShopDetail(item, this.uid).then(res => {
-				uni.navigateTo({
-					url: `/pages/goods_details/index?id=${item.id}`
-				});
-			});
-		},
-		/**
-		 * 获取我的推荐
-		 */
-		get_host_product: function () {
-			let that = this;
-			if (that.hotScroll) return;
-			getProductHot(that.hotPage, that.hotLimit).then(res => {
-				that.hotPage++;
-				that.hotScroll = res.data.length < that.hotLimit;
-				that.hostProduct = that.hostProduct.concat(res.data);
-				// that.$set(that, 'hostProduct', res.data)
-			});
-		},
-		// 分类点击
-		changeSort(item, index) {
-			if (this.curSort == index) return;
-			this.curSort = index;
-			this.sid = item.id;
-			this.goodList = [];
-			this.goodPage = 1;
-			this.loaded = false;
-			this.getGoodsList();
-		},
-		// 获取分类id
-		bindSortId(data) {
-			this.isSortType = data == -99 ? 0 : 1;
-			this.getProductList(data);
-			if (this.hostProduct.length == 0) {
-				this.get_host_product();
-			}
-		},
-		getProductList(data) {
-			let tempObj = '';
-			this.curSort = 0;
-			this.loaded = false;
-			if (this.sortAll.length > 0) {
-				this.sortAll.forEach((el, index) => {
-					if (el.id == data) {
-						this.$set(this, 'sortList', el);
-						this.sid = el.children.length ? el.children[0].id : '';
-					}
-				});
-				this.goodList = [];
-				this.goodPage = 1;
-				this.$nextTick(() => {
-					if (this.sortList != '') this.getGoodsList();
-				});
-			} else {
-				getCategoryList().then(res => {
-					this.sortAll = res.data;
-					res.data.forEach((el, index) => {
-						if (el.id == data) {
-							this.sortList = el;
-							this.sid = el.children.length ? el.children[0].id : '';
-						}
-					});
-					this.goodList = [];
-					this.goodPage = 1;
-
-					this.$nextTick(() => {
-						if (this.sortList != '') this.getGoodsList();
-					});
-				});
-			}
-		},
-		getGoodsList() {
-			if (this.loading || this.loaded) return;
-			this.loading = true;
-			getProductslist({
-				sid: this.sid,
-				keyword: '',
-				priceOrder: '',
-				salesOrder: '',
-				news: 0,
-				page: this.goodPage,
-				limit: 10,
-				cid: this.sortList.id
-			}).then(res => {
-				this.loading = false;
-				this.loaded = res.data.length < 10;
-				this.goodPage++;
-				this.goodList = this.goodList.concat(res.data);
-			});
-		},
-		// 新用户优惠券
-		getNewCoupon() {
-			const oldUser = uni.getStorageSync('oldUser') || 0;
-			if (!oldUser) {
-				getCouponNewUser().then(res => {
-					const {
-						data
-					} = res;
-					if (data.show) {
-						if (data.list.length) {
-							this.isCouponShow = true;
-							this.couponObj = data;
-							uni.setStorageSync('oldUser', 1);
-						}
-					} else {
-						uni.setStorageSync('oldUser', 1);
-					}
-				});
-			}
-		},
-		// 优惠券弹窗
-		getCoupon() {
-			const tagDate = uni.getStorageSync('tagDate') || '',
-				nowDate = new Date().toLocaleDateString();
-			if (tagDate === nowDate) {
-				this.getNewCoupon();
-			} else {
-				getCouponV2().then(res => {
-					const {
-						data
-					} = res;
-					if (data.list.length) {
-						this.isCouponShow = true;
-						this.couponObj = data;
-						uni.setStorageSync('tagDate', new Date().toLocaleDateString());
-					} else {
-						this.getNewCoupon();
-					}
-				});
-			}
-		},
-		// 优惠券弹窗关闭
-		couponClose() {
-			this.isCouponShow = false;
-			if (!uni.getStorageSync('oldUser')) {
-				this.getNewCoupon();
-			}
-		},
-		onLoadFun() { },
-		// #ifdef H5
-		// 获取url后面的参数
-		getQueryString(name) {
-			var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
-			var reg_rewrite = new RegExp('(^|/)' + name + '/([^/]*)(/|$)', 'i');
-			var r = window.location.search.substr(1).match(reg);
-			var q = window.location.pathname.substr(1).match(reg_rewrite);
-			if (r != null) {
-				return unescape(r[2]);
-			} else if (q != null) {
-				return unescape(q[2]);
-			} else {
-				return null;
-			}
-		},
-		// #endif
-
-		// #ifdef MP
-		getTempIds() {
-			let messageTmplIds = wx.getStorageSync(SUBSCRIBE_MESSAGE);
-			if (!messageTmplIds) {
-				// getTempIds().then(res => {
-				// 	if (res.data) wx.setStorageSync(SUBSCRIBE_MESSAGE, JSON.stringify(res.data));
-				// });
-			}
-		},
-		// #endif
-		// 对象转数组
-		objToArr(data) {
-			let obj = Object.keys(data);
-			let m = obj.map(key => data[key]);
-			return m;
-		},
-		diyData() {
-			let that = this;
-			uni.request({
-				url:'api/mock/diy',
-				success:res=>{
-					setTimeout(() => {
-					this.isNodes++;
-				}, 0);
-				this.errorNetwork = false
-				let data = res.data;
-				if (data.is_bg_color) {
-					this.bgColor = data.color_picker
-				}
-				if (data.is_bg_pic) {
-					this.bgPic = data.bg_pic
-					this.bgTabVal = data.bg_tab_val
-				}
-				this.pageShow = data.is_show
-				uni.setNavigationBarTitle({
-					title: res.data.title
-				});
-
-				let temp = [];
-				let lastArr = that.objToArr(res.data.value);
-				lastArr.forEach((item, index, arr) => {
-					if (item.name == 'headerSerch') {
-						this.isHeaderSerch = true
-					}
-					if (item.name == 'pageFoot') {
-						console.log(item.status)
-						if (item.status && item.status.status) {
-							this.newData = item
-							setTimeout((e) => {
-								that.$set(that, 'footerStatus', true);
-								console.log(this.footerStatus)
-							}, 50)
-						}
-						uni.setStorageSync('FOOTER_BAR', item.status && item.status.status ? true :
-							false)
-						item.menuList.map((path, index) => {
-							if (path.link === '/pages/order_addcart/order_addcart') {
-								uni.setStorageSync('FOOTER_ADDCART', index)
-							}
-						})
-						arr.splice(index, 1);
-
-					}
-					if (item.name == 'promotionList') {
-						that.numConfig = item.numConfig.val;
-						that.goodType = item.tabConfig.list[0].link.activeVal;
-						that.getGroomList();
-					}
-					if (item.name == 'tabNav') {
-						// #ifndef APP-PLUS
-						// uni.showLoading({
-						// 	title: '加载中',
-						// 	mask: true,
-						// });
-						// #endif
-						// setTimeout(function() {
-						// 	uni.hideLoading();
-						// }, 8000);
-					}
-					temp = arr;
-				});
-
-				function sortNumber(a, b) {
-					return a.timestamp - b.timestamp;
-				}
-				temp.sort(sortNumber)
-				that.styleConfig = temp;
-				setTimeout(() => {
-					this.showSkeleton = false
-				}, 300)
-				uni.stopPullDownRefresh({
-					success: (e) => { },
-				});
-				}
-			})
-		},
-		getIndexData() { },
-		changeBarg(item) {
-			if (!this.isLogin) {
-				toLogin();
-			} else {
-				uni.navigateTo({
-					url: `/pages/activity/goods_bargain_details/index?id=${item.id}&bargain=${this.$store.state.app.uid}`
-				});
-			}
-		},
-		// 促销列表的点击事件;
-		changeTab(type) {
-			this.goodType = type;
-			this.tempArr = [];
-			this.page = 1;
-			this.loadend = false;
-			let onloadH = true;
-			this.getGroomList(onloadH);
-		},
-		// 精品推荐
-		getGroomList(onloadH) {
-			let that = this;
-			let type = that.goodType;
-			if (that.loadend) return false;
-			if (that.loading) return false;
-			if (onloadH) {
-				that.$set(that, 'iSshowH', true);
-			}
-			uni.request({
-				url:'api/groom/list',
-				success:res=>{
-					that.$set(that, 'iSshowH', false);
-					let maxPage = Math.ceil(this.numConfig / this.limit);
-					let list = res.data.list,
-						loadend = list.length < that.limit || that.page >= maxPage;
-					let tempArr = that.$util.SplitArray(list, that.tempArr);
-					that.$set(that, 'tempArr', tempArr.slice(0, this.numConfig));
-					that.loadend = loadend;
-					that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
-					that.page = that.page + 1;
-					that.loading = false;
-				}
-			})
-			// getGroomList(type, {
-			// 	page: that.page,
-			// 	limit: this.numConfig
-			// })
-			// 	.then(({
-			// 		data
-			// 	}) => {
-			// 		that.$set(that, 'iSshowH', false);
-			// 		let maxPage = Math.ceil(this.numConfig / this.limit);
-			// 		let list = data.list,
-			// 			loadend = list.length < that.limit || that.page >= maxPage;
-			// 		let tempArr = that.$util.SplitArray(list, that.tempArr);
-			// 		that.$set(that, 'tempArr', tempArr.slice(0, this.numConfig));
-			// 		that.loadend = loadend;
-			// 		that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
-			// 		that.page = that.page + 1;
-			// 		that.loading = false;
-			// 	})
-			// 	.catch(res => {
-			// 		that.loading = false;
-			// 		that.loadTitle = that.$t(`加载更多`);
-			// 	});
-		},
-		goRouter(item) {
-			var pages = getCurrentPages();
-			var page = (pages[pages.length - 1]).$page.fullPath;
-			if (item.link == page) return
-			uni.switchTab({
-				url: item.link,
-				fail(err) {
-					uni.redirectTo({
-						url: item.link
-					})
-				}
-			})
-		},
-		goDetail(item) {
-			goShopDetail(item, this.$store.state.app.uid).then(res => {
-				uni.navigateTo({
-					url: `/pages/goods_details/index?id=${item.id}`
-				});
-			});
-		},
-		onsollBotton() {
-			console.log('????', this.isSortType)
-			if (this.isSortType == 0) {
-				// this.getGroomList();
-			} else {
-				this.getGoodsList();
-			}
-		}
-	},
-
-	onReachBottom: function () {
-
-	},
-	onPageScroll(e) {
-		// #ifdef H5
-		if (this.isHeaderSerch) {
-			if (e.scrollTop > this.domOffsetTop) {
-				this.isFixed = true;
-			}
-			if (e.scrollTop < this.domOffsetTop) {
-				this.$nextTick(() => {
-					this.isFixed = false;
-				});
-			}
-		} else {
-			this.isFixed = false
-		}
-		// #endif
-	},
-	//#ifdef MP
-	onShareAppMessage() {
-		return {
-			title: this.shareInfo.title,
-			path: '/pages/index/index'
-		};
-	},
-	//分享到朋友圈
-	onShareTimeline: function () {
-		return {
-			title: this.shareInfo.title,
-			imageUrl: this.shareInfo.img
-		};
-	}
-	//#endif
-};
-</script>
-
-<style lang="scss">
-// page {
-// 	padding-bottom: 50px;
-// }
-.pictrue_log_class {
-	background-color: var(--view-theme);
-}
-
-.page {
-	padding-bottom: 50px;
-}
-
-.ysize {
-	background-size: 100%;
-}
-
-.fullsize {
-	background-size: 100% 100%;
-}
-
-.repeat {
-	background-repeat: repeat;
-}
-
-.noRepeat {
-	background-repeat: no-repeat;
-}
-
-.privacy-wrapper {
-	z-index: 999;
-	position: fixed;
-	left: 0;
-	top: 0;
-	width: 100%;
-	height: 100%;
-	background: #7F7F7F;
-
-
-	.privacy-box {
-		position: absolute;
-		left: 50%;
-		top: 50%;
-		transform: translate(-50%, -50%);
-		width: 560rpx;
-		padding: 50rpx 45rpx 0;
-		background: #fff;
-		border-radius: 20rpx;
-
-		.title {
-			text-align: center;
-			font-size: 32rpx;
-			text-align: center;
-			color: #333;
-			font-weight: 700;
-		}
-
-		.content {
-			margin-top: 20rpx;
-			line-height: 1.5;
-			font-size: 26rpx;
-			color: #666;
-
-			navigator {
-				display: inline-block;
-				color: #E93323;
-			}
-		}
-
-		.btn-box {
-			margin-top: 40rpx;
-			text-align: center;
-			font-size: 30rpx;
-
-			.btn-item {
-				height: 82rpx;
-				line-height: 82rpx;
-				background: linear-gradient(90deg, #F67A38 0%, #F11B09 100%);
-				color: #fff;
-				border-radius: 41rpx;
-			}
-
-			.btn {
-				padding: 30rpx 0;
-			}
-		}
-	}
-}
-
-.error-network {
-	position: fixed;
-	left: 0;
-	top: 0;
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	width: 100%;
-	height: 100%;
-	padding-top: 40rpx;
-	background: #fff;
-
-	image {
-		width: 414rpx;
-		height: 336rpx;
-	}
-
-	.title {
-		position: relative;
-		top: -40rpx;
-		font-size: 32rpx;
-		color: #666;
-	}
-
-	.con {
-		font-size: 24rpx;
-		color: #999;
-
-		.label {
-			margin-bottom: 20rpx;
-		}
-
-		.item {
-			margin-bottom: 20rpx;
-		}
-	}
-
-	.btn {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		width: 508rpx;
-		height: 86rpx;
-		margin-top: 100rpx;
-		border: 1px solid #D74432;
-		color: #E93323;
-		font-size: 30rpx;
-		border-radius: 120rpx;
-	}
-}
-
-.sort-product {
-	margin-top: 20rpx;
-
-	.sort-box {
-		display: flex;
-		width: 100%;
-		border-radius: 16rpx;
-		padding: 30rpx 0;
-
-		.sort-item {
-			width: 20%;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: center;
-			flex-shrink: 0;
-
-			image {
-				width: 90rpx;
-				height: 90rpx;
-				border-radius: 50%;
-			}
-
-			.txt {
-				color: #272727;
-				font-size: 24rpx;
-				margin-top: 10rpx;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-				width: 140rpx;
-				text-align: center;
-			}
-
-			.pictrues {
-				width: 90rpx;
-				height: 90rpx;
-				background: #f8f8f8;
-				border-radius: 50%;
-				margin: 0 auto;
-			}
-
-			.icon-gengduo1 {
-				color: #333;
-			}
-
-			&.on {
-				.txt {
-					color: #fc4141;
-				}
-
-				image {
-					border: 1px solid #fc4141;
-				}
-			}
-		}
-	}
-
-	.product-list {
-		display: flex;
-		flex-wrap: wrap;
-		justify-content: space-between;
-		margin-top: 30rpx;
-		padding: 0 20rpx;
-
-		.product-item {
-			position: relative;
-			width: 344rpx;
-			background: #fff;
-			border-radius: 10rpx;
-			margin-bottom: 20rpx;
-			display: flex;
-			flex-direction: column;
-
-			image {
-				width: 100%;
-				height: 344rpx;
-				border-radius: 10rpx 10rpx 0 0;
-			}
-
-			.info {
-				flex: 1;
-				padding: 14rpx 16rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-
-				.title {
-					font-size: 28rpx;
-				}
-
-				.price-box {
-					font-size: 34rpx;
-					font-weight: 700;
-					margin-top: 8px;
-					color: #fc4141;
-
-					text {
-						font-size: 26rpx;
-					}
-				}
-			}
-		}
-	}
-}
-
-.emptyBox {
-	text-align: center;
-	padding-top: 20rpx;
-
-	.tips {
-		color: #aaa;
-		font-size: 26rpx;
-		padding-bottom: 20rpx;
-	}
-
-	image {
-		width: 414rpx;
-		height: 304rpx;
-	}
-}
-
-.site-config {
-	margin-top: 40rpx;
-	font-size: 24rpx;
-	text-align: center;
-	color: #666;
-
-	&.fixed {
-		position: fixed;
-		bottom: 69px;
-		left: 0;
-		width: 100%;
-	}
-}
-
-.page-footer {
-	position: fixed;
-	bottom: 0;
-	z-index: 30;
-	display: flex;
-	align-items: center;
-	justify-content: space-around;
-	width: 100%;
-	height: calc(98rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
-	height: calc(98rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
-	box-sizing: border-box;
-	border-top: solid 1rpx #F3F3F3;
-	background-color: #fff;
-	box-shadow: 0px 0px 17rpx 1rpx rgba(206, 206, 206, 0.32);
-	padding-bottom: constant(safe-area-inset-bottom); ///兼容 IOS<11.2/
-	padding-bottom: env(safe-area-inset-bottom); ///兼容 IOS>11.2/
-
-	.foot-item {
-		display: flex;
-		width: max-content;
-		align-items: center;
-		justify-content: center;
-		flex-direction: column;
-		position: relative;
-
-		.count-num {
-			position: absolute;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			width: 40rpx;
-			height: 40rpx;
-			top: 0rpx;
-			right: -15rpx;
-			color: #fff;
-			font-size: 20rpx;
-			background-color: #FD502F;
-			border-radius: 50%;
-			padding: 4rpx;
-		}
-	}
-
-	.foot-item image {
-		height: 50rpx;
-		width: 50rpx;
-		text-align: center;
-		margin: 0 auto;
-	}
-
-	.foot-item .txt {
-		font-size: 24rpx;
-
-
-		&.active {}
-	}
-}
-</style>

+ 0 - 5
pages/index/index.vue

@@ -3,11 +3,7 @@
 </template>
 
 <script>
-	import diy from './diy'
 	import diyC from './diy/index_mall.vue'
-	import {
-		getShare
-	} from "@/api/public.js";
 	export default {
 		data() {
 			return {
@@ -16,7 +12,6 @@
 			}
 		},
 		components: {
-			diy,
 			diyC
 		},
 		onShow() {