cmy 2 vuotta sitten
vanhempi
commit
3d919564aa

+ 0 - 17
pages.json

@@ -45,12 +45,6 @@
 				}
 			}
 		},
-		{
-			"path": "pages/product/seckill",
-			"style": {
-				"navigationBarTitleText": "限时秒杀"
-			}
-		},
 		{
 			"path": "pages/order/hallorderDetail",
 			"style": {
@@ -271,17 +265,6 @@
 			   		}
 			   	}
 			   },
-			   {
-			   	"path": "wxLogin",
-			   	"style": {
-			   		"navigationBarTitleText": "微信登录",
-			   		"app-plus": {
-			   			"titleNView": {
-			   				"type": "transparent"
-			   			}
-			   		}
-			   	}
-			   },
 			   {
 			   	"path": "login",
 			   	"style": {

+ 0 - 422
pages/product/seckill.vue

@@ -1,422 +0,0 @@
-<template>
-	<view class="seckillBox">
-		<view class="top"></view>
-		<view class="seckill-bg">
-			<image src="../../static/img/seckill.png" mode=""></image>
-		</view>
-		<scroll-view scroll-x="true" class="class-box flex b-t" :scroll-left="scrollLeft" :scroll-with-animation="true">
-			<view @click="tabClass(idx)" class="item" :style="{ width: topNavWidth }" v-for="(item, idx) in indexList" :key="idx">
-				<view class="time" :class="{ action: idx == classIndex }">{{ item.time }}</view>
-				<view class="status" :class="{ action: idx == classIndex }">{{ item.state }}</view>
-			</view>
-		</scroll-view>
-		<swiper class="list-Box" :current="classIndex" @change="swiperChange" duration="500">
-			<swiper-item class="list-item" v-for="(ls, idx) in indexList">
-				<view class=" b-b position-relative">
-					<view class="title-box flex ">
-						<view class="title-box-left">
-							<text v-if="ls.status == 1">抢购中先下先得哦!</text>
-							<text v-if="ls.status == 2">精品好货即将开抢!</text>
-							<text v-if="ls.status == 0">本场已结束,下次早点来哦!</text>
-						</view>
-						<view class="title-box-right flex">
-							<text class="tip" v-if="ls.status == 1">距离结束</text>
-							<text class="tip" v-if="ls.status == 2">距离开始</text>
-							<uni-countdown
-								color="#F9F9F8"
-								background-color="#666666"
-								v-if="ls.status == 1 || ls.status == 2"
-								:show-day="false"
-								:hour="ls.stopTimeH"
-								:minute="ls.stopTimeM"
-								:second="ls.stopTimeS"
-							></uni-countdown>
-						</view>
-					</view>
-				</view>
-				<scroll-view scroll-y="true" class="list" @scrolltolower="getList(classIndex)">
-					<view class="goodsList-item flex" :key="ind" v-for="(lss, ind) in ls.dataList">
-						<image :src="lss.image" lazy-load mode="scaleToFill"></image>
-						<view class="goodsList-content">
-							<view class="title clamp">
-								<text>{{ lss.title }}</text>
-							</view>
-							<!-- <view class="slider flex">
-								<view class="slider-box"><view class="slider-action" :style="{ width: lss.percent + '%' }"></view></view>
-								<view class="sales-nub">已抢{{ lss.percent + '%' }}</view>
-							</view> -->
-							<view class="goods-money flex">
-								<view class="money-box">
-									<view class="money">
-										<text class="font-size-sm">¥</text>
-										{{ lss.price }}
-									</view>
-									<view class="otMoney-box">
-										<text class="otMoney">¥{{ lss.ot_price }}</text>
-									</view>
-								</view>
-								<view @click="navProduct(ls, ind)" class="cart" :class="{ 'seckill-action': ls.status == 1 }">
-									{{ ls.status == 1 ? '去抢购' : ls.status == 2 ? '未开始' : '已结束' }}
-								</view>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="ls.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { getSeckillList, getSeckillClass } from '@/api/product.js';
-import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-import { timeComputed } from '@/utils/rocessor.js';
-export default {
-	components: {
-		uniCountdown,
-	},
-	data() {
-		return {
-			indexList: [], //分类列表
-			showTime: '', //显示的时间
-			showTImeId: '', //显示时间id用于查询数据
-			// 判断是否所有活动已经结束
-			stop: false, //活动是否已经结束
-			show: false, //是否显示活动
-			status: 0, //获取状态值1为有活动开始中 2为活动未开始 0为活动已经结束
-			topNavWidth: '25%', //设置导航默认宽度
-			classIndex: 0, //当前进行中的活动
-			itemWidht: 0 //顶部分类宽度
-		};
-	},
-	computed: {
-		// 计算左侧距离
-		scrollLeft() {
-			if (this.classIndex > 1) {
-				return this.itemWidht * (this.classIndex - 1.5);
-			} else {
-				return 0;
-			}
-		}
-	},
-	onLoad: function(e) {
-		// 载入分类
-		this.getClass();
-	},
-	methods: {
-		//抢购时间切换时触发效果
-		swiperChange(e) {
-			this.classIndex = e.target.current;
-			this.getList(this.classIndex, 'tabChange');
-		},
-		// 获取项目宽度
-		numClassWidht() {
-			uni.createSelectorQuery()
-				.select('.seckillBox')
-				.fields(
-					{
-						size: true
-					},
-					data => {
-						// 设置项目宽度
-						this.itemWidht = Math.floor((data.width / 750) * 187.5);
-					}
-				)
-				.exec();
-		},
-		// 切换当前选中的秒杀活动
-		tabClass(ind) {
-			// 保存当前选中的对象
-			this.classIndex = ind;
-		},
-		// 跳转到商品详情
-		navProduct(ls, ind) {
-			if (ls.status == 1) {
-				let data = ls.dataList[ind];
-
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + data.id + '&type=1'
-				});
-			}
-		},
-		// 获取商品
-		getList(ind, source) {
-			// 获取数据对象
-			let date = this.indexList[ind];
-			console.log(date, source);
-			if (source === 'tabChange' && date.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (date.loadingType === 'noMore') {
-				//防止重复加载
-				return;
-			}
-			if (date.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			date.loadingType = 'loading';
-			getSeckillList(
-				{
-					page: date.page,
-					limit: date.limit
-				},
-				date.id
-			)
-				.then(e => {
-					date.dataList.push(...e.data);
-					// 查询翻页增加
-					date.page++;
-					// 判断是否可以继续加载
-					if (date.limit == e.data.length) {
-						date.loadingType = 'more';
-					} else {
-						date.loadingType = 'noMore';
-					}
-					// 设置当前数据已加载完毕
-					this.$set(date, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 获取秒杀时间段
-		getClass() {
-			let obj = this;
-			getSeckillClass({})
-				.then(({ data }) => {
-					obj.indexList = data.seckillTime.map((e, ind) => {
-						console.log(e, 'eeee');
-						// 初始化翻页页数
-						e.page = 1;
-						// 初始每次加载的数据条数
-						e.limit = 6;
-						// 创建储存订单数据
-						e.dataList = [];
-						// 初始化加载
-						// e.loadingType = 'more';
-						let ar = e;
-						// 判断是否为进行中的活动
-						if (ar.status === 1) {
-							// 计算倒计时时间
-							obj.timeComputed(ar.stop * 1000, ar);
-						} else {
-							// 获取距离开始还需要多少时间
-							let arTime = ar.time.split(':');
-							let h = arTime[0];
-							let m = arTime[1];
-							let time = new Date();
-							// 设置时间
-							time.setHours(h, m, 0);
-							// 计算倒计时时间
-							obj.timeComputed(time.getTime(), ar);
-						}
-
-						return e;
-					});
-					// 获取当前活动中的下标值
-					obj.classIndex = data.seckillTimeIndex;
-					// 获取当前显示中对象的数据
-					obj.$nextTick(() => {
-						obj.getList(obj.classIndex);
-					});
-					if (obj.indexList.length <= 4) {
-						// 当数量小于等于4的时候自适应宽度
-						obj.topNavWidth = 100 / obj.indexList.length + '%';
-					} else {
-						// 页面渲染完毕后加载scroll-view左侧距离
-						obj.$nextTick(() => {
-							obj.numClassWidht();
-						});
-					}
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 计算倒计时时间
-		timeComputed(da, ar) {
-			let obj = this;
-			// 计算时间,保存需要多少时间到期
-			let stopTime = timeComputed(da);
-			console.log(stopTime);
-			ar.stopTimeH = stopTime.hours;
-			ar.stopTimeM = stopTime.minutes;
-			ar.stopTimeS = stopTime.seconds;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.seckillBox {
-	min-height: 100%;
-	height: 100%;
-}
-.top {
-	width: 750rpx;
-	height: 300rpx;
-	background: #e83323;
-	border-bottom-left-radius: 150rpx;
-	border-bottom-right-radius: 150rpx;
-}
-.seckill-bg {
-	width: 700rpx;
-	height: 300rpx;
-	margin: -260rpx auto 0;
-	image {
-		width: 100%;
-		height: 100%;
-	}
-}
-// 头部时间段样式
-.class-box {
-	white-space: nowrap;
-	height: 60px;
-	.item {
-		text-align: center;
-		display: inline-block;
-		color: $font-color-base;
-		padding: 11.5px 5px;
-		background-color: #ffffff;
-		line-height: 1;
-		.time {
-			font-size: 16px;
-			padding-bottom: 3px;
-			&.action {
-				color: $color-red;
-			}
-		}
-		.status {
-			font-size: 12px;
-			margin: 0 auto;
-			width: 60px;
-			padding: 3px 0;
-			&.action {
-				color: #ffffff;
-				border-radius: 99px;
-				background-color: $color-red;
-			}
-		}
-	}
-}
-// 列表上方标题样式
-.title-box {
-	margin-top: 10px;
-	padding: 10px;
-	background-color: #ffffff;
-	.title-box-left {
-		font-size: 15px;
-		color: $font-color-base;
-	}
-	.title-box-right {
-		.tip {
-			font-size: 15px;
-			color: #999999;
-			padding-right: 5px;
-		}
-
-		/deep/ .uni-countdown__number {
-			border-radius: 3px;
-			width: 22px;
-		}
-		/deep/ .uni-countdown__splitor,
-		/deep/ .uni-countdown__number {
-			height: 20px;
-			line-height: 18px;
-		}
-	}
-}
-// 列表样式
-.list-Box {
-	height: calc(100% - 60px);
-	.list {
-		height: calc(100% - 55px);
-	}
-}
-// 商品列表
-$slider-color: #fe9398; //滑块左侧颜色
-.goodsList-item {
-	background-color: #ffffff;
-	padding: 30rpx;
-	border-bottom: 1px solid $border-color-light;
-	image {
-		flex-shrink: 0;
-		border-radius: $border-radius-sm;
-		height: 180rpx;
-		width: 180rpx;
-	}
-	.slider {
-		margin-top: 15rpx;
-		justify-content: flex-start;
-		.slider-box {
-			width: 196rpx;
-			border-radius: 99px;
-			border: 1px solid $slider-color;
-			height: 16rpx;
-			.slider-action {
-				background-color: $slider-color;
-				height: 100%;
-			}
-		}
-		.sales-nub {
-			color: $font-color-light;
-			font-size: 24rpx;
-			padding-left: 20rpx;
-		}
-	}
-	.goodsList-content {
-		margin-left: 20rpx;
-		flex-grow: 1;
-		height: 180rpx;
-		position: relative;
-		.title {
-			font-size: $font-base;
-			color: $font-color-dark;
-			font-weight: 500;
-			width: 0;
-			min-width: 100%;
-		}
-		.goods-money {
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			width: 100%;
-			.money-box {
-				.money {
-					font-size: $font-lg + 10rpx;
-					color: $color-red;
-					font-weight: bold;
-				}
-				.otMoney-box {
-					font-size: $font-sm;
-					.otMoney {
-						color: $font-color-light;
-						padding-right: 20rpx;
-						text-decoration: line-through;
-					}
-					.sales {
-						color: $font-color-light;
-					}
-				}
-			}
-			.cart {
-				font-size: $font-base;
-				border-radius: 99px;
-				padding: 15rpx 30rpx;
-				line-height: 1;
-				color: #ffffff;
-				background-color: $color-gray;
-				&.seckill-action {
-					border: 1px solid $color-red;
-					background-color: $color-red;
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 312
pages/public/wxLogin.vue

@@ -1,312 +0,0 @@
-<template>
-	<view class="content">
-		<!-- #ifdef MP -->
-		<image class="bg-img" :src="/static/img/img09.png" mode=" scaleToFill"></image>
-		<view class="logo-img-box">
-			<image class="logo-img" src="/static/img/img10.png" mode=" aspectFit"></image>
-			<button class="userInfo" type="warn" open-type="getUserInfo" @getuserinfo="userInfoData">
-				<text class="iconfont iconweixin"></text>
-				<text>微信授权登录</text>
-			</button>
-		</view>
-		<!-- #endif -->
-		<view class="Mask" v-show="MaskShow">
-			<view class="Mask-box">
-				<view class="title">申请获取您的手机号</view>
-				<view class="text">为了方便您的取货和我们的送货,并获取更多优惠活动,需要您的手机授权</view>
-				<view class="btn_box">
-					<button class="weixin" @click="ToIndex()">取消</button>
-					<button class="weixin" open-type="getPhoneNumber" @getphonenumber="PhoneNumber">手机号授权</button>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-// #ifdef H5
-import { loginWinxin } from '@/utils/wxAuthorized';
-// #endif
-// #ifdef MP-WEIXIN
-import { wechatMpAuth } from '@/api/wx';
-// #endif
-import { mapMutations } from 'vuex';
-import { getUserInfo, bangding } from '@/api/login.js';
-export default {
-	data() {
-		return {
-			userInfo: {}, //授权用户信息
-			code: '', //授权code
-			loding: false, //判断是否在点击中
-			MaskShow: false // 手机号授权弹窗
-		};
-	},
-	onLoad(option) {
-		this.loadData();
-	},
-	methods: {
-		loadData() {
-			// #ifdef H5
-			loginWinxin();
-			// #endif
-		},
-		// #ifndef H5
-		// 用户确认授权
-		userInfoData(e) {
-			const that = this;
-			// #ifdef MP-WEIXIN
-			if (!this.loding) {
-				uni.showModal({
-					title: '温馨提示',
-					content: '亲,授权微信登录后才能正常使用小程序功能',
-					success: res => {
-						if (res.confirm) {
-							wx.getUserProfile({
-								desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
-								success: res => {
-									that.userInfo = res;
-									that.loadMp();
-								},
-								fail: err => {
-									uni.showToast({
-										title: '您拒绝了请求,不能正常使用小程序',
-										icon: 'error',
-										duration: 2000
-									});
-									return;
-								}
-							});
-						} else if (res.cancel) {
-							//如果用户点击了取消按钮
-							uni.showToast({
-								title: '您拒绝了请求,不能正常使用小程序',
-								icon: 'error',
-								duration: 2000
-							});
-							return;
-						}
-					}
-				});
-			}
-			// #endif
-		},
-		// #endif
-		// #ifdef MP-WEIXIN
-		loadMp(option) {
-			let obj = this;
-			obj.loding = true;
-			// 获取登录授权页数据
-			let user = obj.userInfo;
-			// 获取推广人id
-			let spread_spid = uni.getStorageSync('spread') || '';
-			// let spread_code = uni.getStorageSync('spread_code') || '';
-			uni.showLoading({
-				title: '授权中',
-				mask: true
-			});
-			wx.login({
-				success(e) {
-					wechatMpAuth({
-						code: e.code,
-						iv: user.iv,
-						encryptedData: user.encryptedData,
-						spread_spid: spread_spid,
-						// #ifdef MP
-						spread_code: spread_code
-						// #endif
-					})
-						.then(({ data }) => {
-							obj.loding = false;
-							obj.wchatAuth(data);
-							console.log(data);
-						})
-						.catch(e => {
-							obj.loding = false;
-							uni.hideLoading();
-						});
-				},
-				fill: function(e) {
-					obj.loding = false;
-					console.log(e);
-				}
-			});
-		},
-		wchatAuth(data) {
-			let obj = this;
-			// 保存token
-			uni.setStorageSync('token', data.token);
-			// 获取用户基础信息
-			getUserInfo({})
-				.then(e => {
-					uni.hideLoading();
-					obj.login();
-					// 保存返回用户数据
-					obj.setUserInfo(e.data);
-					obj.ToIndex();
-					// if (e.data.phone == null || !e.data.phone ) {
-					// 	obj.MaskShow = true;
-					// } else {
-					// 	obj.ToIndex();
-					// }
-				})
-				.catch(e => {
-					uni.hideLoading();
-				});
-		},
-		// #endif
-		ToIndex() {
-			let obj = this;
-			let ur = uni.getStorageSync('present') || '/pages/index/index';
-			// 用于处理缓存bug
-			if (ur == 'pages/product/product') {
-				ur = '/pages/index/index';
-			}
-			uni.switchTab({
-				url: ur,
-				fail(e) {
-					uni.navigateTo({
-						url: ur,
-						fail(e) {
-							uni.navigateTo({
-								url: '/pages/index/index'
-							});
-						}
-					});
-				}
-			});
-		},
-		// 绑定手机号
-		PhoneNumber(e) {
-			let obj = this;
-			obj.MaskShow = false;
-			(obj.iv = e.detail.iv), (obj.encryptedData = e.detail.encryptedData);
-
-			uni.setStorageSync('code', obj.code);
-			bangding({
-				flag: 1,
-				cache_key: obj.cache_key,
-				code: obj.code,
-				iv: obj.iv,
-				encryptedData: obj.encryptedData
-			}).then(function(e) {
-				if (e.data.is_bind == 1) {
-					console.log('bangding1');
-					bangding({
-						flag: 1,
-						cache_key: obj.cache_key,
-						code: obj.code,
-						iv: obj.iv,
-						encryptedData: obj.encryptedData,
-						step: 1
-					})
-						.then(function(e) {
-							// 获取用户基础信息
-							obj.GetUser();
-							obj.$api.msg(e.msg);
-							obj.$nextTick(function() {
-								obj.ToIndex();
-							});
-						})
-						.catch(e => {
-							console.log(e);
-						});
-				} else {
-					console.log('bangding2');
-					obj.$api.msg(e.msg);
-					// 获取用户基础信息
-					obj.GetUser();
-					obj.$api.msg(e.msg);
-					obj.$nextTick(function() {
-						obj.ToIndex();
-					});
-				}
-			});
-		},
-		GetUser() {
-			// 获取用户基础信息
-			getUserInfo({})
-				.then(({ data }) => {
-					this.setUserInfo(data);
-					console.log(data, 11);
-					console.log(uni.getStorageSync('userInfo'), 55);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	height: 100%;
-}
-
-.Mask {
-	position: fixed;
-	top: 0;
-	width: 100%;
-	height: 100%;
-	background-color: rgba(51, 51, 51, 0.7);
-	.Mask-box {
-		margin: auto;
-		margin-top: 320rpx;
-		padding: 50rpx 30rpx;
-		width: 90%;
-		height: 450rpx;
-		top: 500rpx;
-		left: 10%;
-		background-color: #ffffff;
-		border-radius: 15rpx;
-		.title {
-			text-align: center;
-			font-size: 35rpx;
-			font-weight: 700;
-		}
-		.text {
-			font-size: 30rpx;
-			color: #848484;
-			padding-top: 50rpx;
-		}
-		.btn_box {
-			margin: 70rpx 0 0 0;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-		}
-	}
-}
-
-.weixin {
-	// background: linear-gradient(90deg, rgba(36, 214, 78, 1), rgba(45, 187, 89, 1));
-	background: $base-color;
-	width: 40%;
-	color: #ffffff;
-	border-radius: 50rpx;
-	border: none;
-	margin: 0 20rpx;
-}
-.bg-img,
-.logo-img-box {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 100%;
-	height: 100%;
-}
-.logo-img {
-	margin-top: 20vh;
-	margin-left: 176rpx;
-	width: 385rpx;
-	height: 394rpx;
-}
-.userInfo {
-	margin: 0 100rpx;
-	margin-top: 50rpx;
-	color: #ffffff;
-	border-radius: 99rpx;
-	background-color: $base-color !important;
-}
-</style>

+ 0 - 159
pages/redirect/redirect.vue

@@ -1,159 +0,0 @@
-<template>
-	<view></view>
-</template>
-<script>
-import { getUserInfo } from '@/api/user.js';
-import { mapMutations, mapState } from 'vuex';
-// #ifdef H5
-import { wechatAuth } from '@/api/wx';
-// #endif
-// #ifdef MP-WEIXIN
-import { wechatMpAuth } from '@/api/wx';
-// #endif
-export default {
-	computed: {
-		...mapState(['urlFile'])
-	},
-	onLoad(option) {
-		let obj = this;
-		// 判断是否需要保存定向地址
-		// #ifdef H5
-		this.loadH5();
-		// #endif
-		// #ifdef MP-WEIXIN
-		this.loadMp(option);
-		// #endif
-	},
-	methods: {
-		...mapMutations('user', ['login', 'setUserInfo']),
-		// #ifdef H5
-		loadH5() {
-			let obj = this;
-			let url = window.location.href;
-			let code = url.match(/code=([0-9]|[a-z]|[A-Z])*/g)[0].replace('code=', '');
-			let spread = uni.getStorageSync('spread') || '';
-			wechatAuth({
-				code: code,
-				spread: spread
-			})
-				.then(({ data }) => {
-					obj.wchatAuth(data);
-				})
-				.catch(e => {
-					obj.wchatAuth(data);
-					// uni.showModal({
-					// 	title: '提示',
-					// 	content: '您未绑定手机号,请您先去绑定手机号',
-					// 	showCancel: false,
-					// 	success: function(res) {
-					// 		if (res.confirm) {
-					// 			uni.navigateTo({
-					// 				url: '/pages/set/phone'
-					// 			});
-					// 		}
-					// 	}
-					// });
-				});
-		},
-		// #endif
-		// #ifdef MP-WEIXIN
-		loadMp(option) {
-			let obj = this;
-			// 获取登录授权页数据
-			let user = obj.$api.prePage().userInfo;
-			// #ifndef MP
-			// 获取推广人id
-			let spread_spid = uni.getStorageSync('spread') || '';
-			// #endif
-			// #ifdef MP
-			// 小程序推广人
-			let spread_code = uni.getStorageSync('spread_code') || '';
-			// #endif
-			wechatMpAuth({
-				code: option.code,
-				iv: user.target.iv,
-				encryptedData: user.target.encryptedData,
-				// #ifndef MP
-				spread_spid: spread_spid,
-				// #endif
-				// #ifdef MP
-				spread_code: spread_code
-				// #endif
-			})
-				.then(({ data }) => {
-					obj.wchatAuth(data);
-				})
-				.catch(e => {
-					uni.showModal({
-						title: '错误',
-						content: JSON.stringify(e),
-						showCancel: false
-					});
-				});
-		},
-		// #endif
-		wchatAuth(data) {
-			let obj = this;
-			// 保存token
-			uni.setStorageSync('token', data.token);
-			// 获取用户基础信息
-			console.log('获取用户信息');
-			getUserInfo({})
-				.then(e => {
-					obj.login();
-					// 保存返回用户数据
-					obj.setUserInfo(e.data);
-					let ur = uni.getStorageSync('present') || '/pages/index/index';
-					// 用于处理缓存bug
-					if (ur == 'pages/product/product') {
-						ur = '/pages/index/index';
-					}
-					// console.log('跳转');
-					// uni.switchTab({
-					// 	url: '/pages/index/index'
-					// });
-					console.log(e.data, '用户信息');
-					if (e.data.phone) {
-						console.log('有手机号');
-						uni.switchTab({
-							url: ur,
-							fail(e) {
-								uni.navigateTo({
-									url: ur,
-									fail(e) {
-										uni.navigateTo({
-											url: '/pages/index/index'
-										});
-									}
-								});
-							}
-						});
-					} else {
-						console.log('没有手机号');
-						uni.showModal({
-							title: '提示',
-							content: '请先绑定手机号',
-							showCancel: false,
-							success: res => {
-								uni.navigateTo({
-									url: '/pages/set/phone'
-								});
-							},
-							fail(e) {
-								console.log(e);
-							}
-						});
-					}
-				})
-				.catch(e => {
-					uni.showModal({
-						title: '错误',
-						content: JSON.stringify(e),
-						showCancel: false
-					});
-				});
-		}
-	}
-};
-</script>
-<style></style>

+ 0 - 211
pages/set/address.vue

@@ -1,211 +0,0 @@
-<template>
-	<view class="content b-t">
-		<view class="list" v-for="(item, index) in addressList" :key="index" @click="checkAddress(item)">
-			<view class="wrapper">
-				<view class="address-box">
-					<text class="name">{{ item.real_name }}</text>
-					<text class="mobile">{{ item.phone }}</text>
-				</view>
-				<view class="u-box">
-					<text class="address">{{ item.province + item.city + item.district }} {{ item.detail }}</text>
-				</view>
-			</view>
-			<view class="buttom">
-				<view class="default-buttom" @click.stop="defaultUp(item, index)">
-					<view class="iconfont iconroundcheckfill checkbox" :class="{ checked: item.is_default == 1 }"></view>
-					<text class="text">设为默认地址</text>
-				</view>
-				<view class="operation">
-					<view @click.stop="addAddress('edit', item)">
-						<text class="iconfont iconedit"></text>
-						<text class="text">编辑</text>
-					</view>
-					<view class="blank"></view>
-					<view @click.stop="delAddress(item)">
-						<text class="iconfont icondelete"></text>
-						<text class="text">删除</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<button class="add-btn" @click="addAddress('add')">新增地址</button>
-	</view>
-</template>
-
-<script>
-import { getAddressList, setAddressDefault, addressDel } from '@/api/user.js';
-export default {
-	data() {
-		return {
-			source: 0,
-			addressList: []
-		};
-	},
-	onLoad(option) {
-		this.source = option.source || 0;
-		this.loadAddress();
-	},
-	methods: {
-		// 加载地址
-		loadAddress() {
-			getAddressList({
-				page: 1,
-				limit: 100
-			}).then(({ data }) => {
-				console.log(data);
-				this.addressList = data;
-			});
-		},
-		// 设为默认地址
-		defaultUp(data, ind) {
-			this.addressList = this.addressList.map(e => {
-				e.is_default = 0;
-				return e;
-			});
-			this.addressList[ind].is_default = 1;
-			setAddressDefault({
-				id: data.id
-			})
-				.then(({ data }) => {
-					this.loadAddress();
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		//删除地址
-		delAddress(item) {
-			addressDel({
-				id: item.id
-			}).then(({ data }) => {
-				this.$api.msg('删除成功');
-			});
-			let s = this.addressList.indexOf(item);
-			this.addressList.splice(s, 1);
-		},
-		//选择地址
-		checkAddress(item) {
-			if (this.source == 1) {
-				//this.$api.prePage()获取上一页实例,在App.vue定义
-				this.$api.prePage().addressData = item;
-				uni.navigateBack();
-			}
-		},
-		// 添加地址
-		addAddress(type, item) {
-			uni.navigateTo({
-				url: `/pages/set/addressManage?type=${type}&data=${JSON.stringify(item)}`
-			});
-		},
-		//添加或修改成功之后回调
-		refreshList() {
-			// 重新加载地址
-			this.loadAddress();
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	padding-bottom: 120rpx;
-	padding-top: 20rpx;
-	background-color: $page-color-base;
-}
-.content {
-	position: relative;
-}
-.list {
-	align-items: center;
-	padding: 20rpx 30rpx;
-	background: #fff;
-	margin: 20rpx;
-	margin-top: 0;
-	.buttom {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		padding-top: 10rpx;
-		.checkbox {
-			font-size: 44rpx;
-			line-height: 1;
-			padding: 4rpx;
-			color: $font-color-disabled;
-			background: #fff;
-			border-radius: 50px;
-		}
-		.checkbox.checked {
-			color: $base-color;
-		}
-		.default-buttom {
-			display: flex;
-			align-items: center;
-		}
-		.operation {
-			display: flex;
-			align-items: center;
-			.blank {
-				width: 30rpx;
-			}
-		}
-		.text {
-			padding-left: 10rpx;
-			font-size: 24rpx;
-			color: #666666;
-		}
-	}
-}
-.wrapper {
-	display: flex;
-	flex-direction: column;
-	flex: 1;
-	border-bottom: 1px solid #f0f0f0;
-	padding-bottom: 20rpx;
-}
-.address-box {
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-	.address {
-		font-size: $font-base + 2rpx;
-		color: $font-color-dark;
-	}
-	.mobile {
-		font-size: $font-base;
-		color: rgba(51, 51, 51, 1);
-	}
-}
-.u-box {
-	font-size: $font-base;
-	color: $font-color-light;
-	margin-top: 16rpx;
-	.name {
-		margin-right: 30rpx;
-	}
-}
-.icon-bianji {
-	display: flex;
-	align-items: center;
-	height: 80rpx;
-	font-size: 40rpx;
-	color: $font-color-light;
-	padding-left: 30rpx;
-}
-
-.add-btn {
-	position: fixed;
-	left: 30rpx;
-	right: 30rpx;
-	bottom: 16rpx;
-	z-index: 95;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	font-size: $font-lg;
-	color: #fff;
-	background-color: #E6C79D;
-	border-radius: 10rpx;
-}
-</style>

+ 0 - 229
pages/set/addressManage.vue

@@ -1,229 +0,0 @@
-<template>
-	<view class="content">
-		<view class="row b-b">
-			<text class="tit">联系人</text>
-			<input class="input" type="text" v-model="addressData.name" placeholder="收货人姓名" placeholder-class="placeholder" />
-		</view>
-		<view class="row b-b">
-			<text class="tit">手机号</text>
-			<input class="input" type="number" v-model="addressData.mobile" placeholder="收货人手机号码" placeholder-class="placeholder" />
-		</view>
-		<view class="row b-b">
-			<text class="tit">地址</text>
-			<pickerAddress class="input" @change="onCityClick">{{ addressDetail || '请选择地址' }}</pickerAddress>
-			<text class="iconfont iconlocation"></text>
-		</view>
-		<view class="row b-b">
-			<text class="tit">门牌号</text>
-			<input class="input" type="text" v-model="addressData.area" placeholder="楼号、门牌" placeholder-class="placeholder" />
-		</view>
-
-		<uni-list class="margin-t-20">
-			<uni-list-item
-				title="设为默认"
-				:switch-checked="addressData.default"
-				:show-switch="true"
-				:show-arrow="false"
-				switch-color="#5dbc7c"
-				@switchChange="switchChange"
-			></uni-list-item>
-		</uni-list>
-
-		<button class="add-btn" @click="confirm">确认添加</button>
-	</view>
-</template>
-
-<script>
-import uniList from '@/components/uni-list/uni-list.vue';
-import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-import uniPopup from '@/components/uni-popup/uni-popup.vue';
-import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
-import { addressEdit } from '@/api/user.js';
-export default {
-	components: {
-		uniList,
-		uniListItem,
-		pickerAddress,
-		uniPopup
-	},
-	data() {
-		return {
-			addressDetail: '',
-			loadingType: 1,
-			addressData: {
-				name: '',
-				mobile: '',
-				address: {
-					province: '',
-					city: '',
-					district: ''
-				},
-				area: '',
-				default: false
-			}
-		};
-	},
-	onLoad(option) {
-		let title = '新增收货地址';
-		if (option.type === 'edit') {
-			title = '编辑收货地址';
-			let data = JSON.parse(option.data);
-			console.log(data);
-
-			this.addressData = {
-				name: data.real_name,
-				mobile: data.phone,
-				address: {
-					province: data.province,
-					city: data.city,
-					district: data.district
-				},
-				area: data.detail,
-				default: data.is_default == 1,
-				id: data.id
-			};
-			this.addressDetail = data.province + data.city + data.district;
-		}
-		this.manageType = option.type;
-		uni.setNavigationBarTitle({
-			title
-		});
-	},
-	methods: {
-		// 选中城市切换
-		onCityClick({ data }) {
-			let address = this.addressData.address;
-			address.province = data[0];
-			address.city = data[1];
-			address.district = data[2];
-			this.addressDetail = data.join('');
-		},
-		//地图选择地址
-		chooseLocation() {
-			uni.chooseLocation({
-				success: data => {
-					console.log(data);
-					this.addressData.addressName = data.name;
-					this.addressData.address = data.name;
-				}
-			});
-		},
-		// 设置是否为默认地址
-		switchChange(e) {
-			this.addressData.default = e.value;
-		},
-		//提交
-		confirm() {
-			let obj = this;
-			let data = this.addressData;
-			if (!data.name) {
-				this.$api.msg('请填写收货人姓名');
-				return;
-			}
-			if (!/(^1[2|3|4|5|6|7|8|9][0-9]{9}$)/.test(data.mobile)) {
-				this.$api.msg('请输入正确的手机号码');
-				return;
-			}
-			if (!data.address) {
-				this.$api.msg('请在地图选择所在位置');
-				return;
-			}
-			if (!data.area) {
-				this.$api.msg('请填写门牌号信息');
-				return;
-			}
-			if (obj.loadingType == 2) {
-				console.log('1111');
-				return;
-			}
-			obj.loadingType = 2;
-			//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
-			addressEdit({
-				real_name: data.name,
-				phone: data.mobile,
-				address: {
-					province: data.address.province,
-					city: data.address.city,
-					district: data.address.district
-				},
-				detail: data.area,
-				is_default: data.default,
-				id: data.id || '',
-				type: 1
-			})
-				.then(function(e) {
-					obj.$api.prePage().refreshList();
-					uni.showToast({
-						title: '提交成功',
-						duration: 2000
-					});
-					setTimeout(function() {
-						uni.navigateBack();
-					}, 800);
-				})
-				.catch(err => {
-					obj.loadingType = 1;
-				});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-	padding-top: 16rpx;
-}
-
-.row {
-	display: flex;
-	align-items: center;
-	position: relative;
-	padding: 0 30rpx;
-	height: 110rpx;
-	background: #fff;
-
-	.tit {
-		flex-shrink: 0;
-		width: 120rpx;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.input {
-		flex: 1;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.iconlocation {
-		font-size: 36rpx;
-		color: $font-color-light;
-	}
-}
-.default-row {
-	margin-top: 16rpx;
-	.tit {
-		flex: 1;
-	}
-	switch {
-		transform: translateX(16rpx) scale(0.9);
-	}
-}
-.add-btn {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	margin: 60rpx auto;
-	font-size: $font-lg;
-	color: #fff;
-	// background-color: $base-color;
-	background: #ECC697;
-	border-radius: 50rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-}
-
-.alert-box {
-	background-color: #ffffff;
-}
-</style>

+ 0 - 955
pages/store/shopDetail.vue

@@ -1,955 +0,0 @@
-<template>
-	<view class="center">
-		<view class="store-info flex">
-			<view class="store-top flex">
-				<image class="simage" :src="info.image" mode=""></image>
-				<view class="stop-main">
-					<view class="stop-title">{{ info.name }}</view>
-					<view class="stop-address">
-						<image class="mrt-image" src="https://hy.liuniu946.com/app/index/index10.png" mode=""></image>
-						<view class="mrt-font">距离您{{ info.jl }}KM</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="store-item">
-			<image class="store-image1" src="https://hy.liuniu946.com/app/img/store2.png" mode=""></image>
-			<view class="store-font">营业时间:{{ info.day_time }}</view>
-		</view>
-		<view class="store-item" v-if="info.phone">
-			<image class="store-image2" src="https://hy.liuniu946.com/app/img/store3.png" mode=""></image>
-			<view class="store-font">预约电话:{{ info.phone }}</view>
-		</view>
-		<view class="store-item">
-			<image class="store-image3" src="https://hy.liuniu946.com/app/index/index10.png" mode=""></image>
-			<view class="store-font">门店地址:{{ info.detailed_address }}</view>
-		</view>
-		<view class="store-item">
-			<image class="store-image1" src="https://hy.liuniu946.com/app/img/store2.png" mode=""></image>
-			<view class="store-font">商家介绍:{{ info.introduction }}</view>
-		</view>
-		<view class="store-main" v-if="info.slider_image != null">
-			<view class="smain-title">店内照片</view>
-			<scroll-view class="scroll-box flex" @scroll="scroll" scroll-x="true" :scroll-with-animation="true"
-				scroll-left="10px">
-				<view class="scroll-item" v-for="(item, index) in info.slider_image" :key="index">
-					<image class="scroll-image" :src="item" mode="heightFix" @click="openImg(info.slider_image, item)">
-					</image>
-				</view>
-			</scroll-view>
-		</view>
-		<view class="main" v-if="art != ''" v-for="(ls, index) in art.content" :key="index">
-			<view v-if="ls.type == 'rich-text'" v-html="ls.value" class="main-item"></view>
-			<view style="width:100%;height: 300px;" v-if="ls.type == 'video' && ls.value">
-				<view v-if="ls.jd == 1" style="width:100%;height: 300px; background: black;" @click="djbf(ls)">
-					<image style="width:100%;height: 300px;" src="../../static/img/spfm.png" mode=""></image>
-				</view>
-				<video :src="ls.value" autoplay v-if="ls.jd ==2" style="width:100%;height: 300px;">
-				</video>
-			</view>
-
-		</view>
-		<!-- <jyf-parser class="main" :html="art.content"></jyf-parser> -->
-		<view class="" style="height: 100rpx;"></view>
-		<view class="btn-box flex" v-if="info.phone">
-			<view class="btn-left" @click="tocall()">拨打电话</view>
-
-			<!-- #ifdef H5 -->
-			<view class="btn-right" @click="toGaodeMap()">导航到店</view>
-			<!-- #endif -->
-			<!-- #ifdef MP -->
-			<view class="btn-right" @click="dh()">导航到店</view>
-			<!-- #endif -->
-			<!-- #ifdef APP-PLUS -->
-			<view class="btn-right" @click="gomapApp(info.latitude, info.longitude, info.name)">导航到店</view>
-			<!-- #endif -->
-		</view>
-		<view class="btn-box dhdd flex" v-if="!info.phone">
-			<!-- #ifdef H5 -->
-			<view class="btn-right" @click="toGaodeMap()">导航到店</view>
-			<!-- #endif -->
-			<!-- #ifdef MP -->
-			<view class="btn-right" @click="dh()">导航到店</view>
-			<!-- #endif -->
-			<!-- #ifdef APP-PLUS -->
-			<view class="btn-right" @click="gomapApp(info.latitude, info.longitude, info.name)">导航到店</view>
-			<!-- #endif -->
-		</view>
-	</view>
-</template>
-
-<script>
-	import jyfParser from "@/components/jyf-parser/jyf-parser.vue";
-	import {
-		getVip
-	} from '@/api/index.js';
-	// #ifdef H5
-	import {
-		weixindata,
-		shareLoad
-	} from '@/utils/wxAuthorized';
-	// #endif
-	import {
-		saveUrl,
-		interceptor
-	} from '@/utils/loginUtils.js';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import {
-		spread,
-		orderData,
-		getUserInfo,
-		details
-	} from '@/api/user.js';
-	import {
-		getStoreDetail
-	} from '@/api/shop.js';
-	import {
-		calculation
-	} from '@/api/order.js';
-	import {
-		setCoupons
-	} from '@/api/functionalUnit.js';
-	import {
-		store_details
-	} from '@/api/index.js';
-	import uniPopup from '@/components/uni-popup/uni-popup.vue';
-	export default {
-		components: {
-			jyfParser
-		},
-		data() {
-			return {
-				money: '',
-				vipList: [], //商品列表
-				page: 1,
-				limit: 10,
-				loadingType: 'more',
-				id: '',
-				info: {},
-				art: '',
-				address: '',
-				userInfo: ''
-			};
-		},
-		computed: {
-			...mapState(['loginInterceptor', 'baseURL', 'latitude', 'longitude']),
-			...mapMutations('user', ['setUserInfo', 'setOrderInfo'])
-		},
-
-		onLoad(option) {
-			let obj = this;
-
-			getUserInfo({}).then(({
-				data
-			}) => {
-				obj.userInfo = data;
-				console.log(data, '123456');
-			});
-			if (option.spread) {
-				// 存储邀请人
-				uni.setStorageSync('puid', option.spread);
-			}
-			console.log(option.spread, '邀请人');
-			this.id = option.id;
-			this.getStoreDetail();
-		},
-		onShow() {
-			// #ifdef  MP-WEIXIN
-			wx.showShareMenu({
-				withShareTicket: true,
-				menus: ['shareAppMessage', 'shareTimeline']
-			});
-			//#endif
-		},
-		// #ifdef  MP-WEIXIN
-		onShareAppMessage(res) {
-			let obj = this;
-			// 保存分享人id链接
-			let url = 'pages/store/shopDetail' + '?spread=' + this.userInfo.uid + '&id=' + obj.info.id;
-			if (res.from === 'button') {
-				// 来自页面内分享按钮
-				console.log(res.target);
-			}
-			return {
-				path: url, // 分享链接
-				imageUrl: obj.info.images, // 分享图标
-				desc: '我在这家店领取了超多消费券哦!',
-				title: this.userInfo.nickname + '给您推荐了' + obj.info.name
-			};
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			console.log(this.userInfo);
-			let obj = this;
-			let url = 'pages/store/shopDetail' + '?spread=' + this.userInfo.uid + '&id=' + obj.info.id;
-			return {
-				path: url, // 分享链接
-				imageUrl: obj.info.images, // 分享图标
-				desc: '我在这家店领取了超多消费券哦!',
-				title: this.userInfo.nickname + '给您推荐了' + obj.info.name
-			};
-		},
-		//#endif
-		methods: {
-			navToDetailPage(item) {
-				let id = item.id;
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + id + '&isVip=' + 8 + '&store_id=' + item.store_id
-				});
-			},
-			navTo(url) {
-				if (this.money <= 0) {
-					return this.$api.msg('请输入金额');
-				}
-				calculation({
-						price: this.money,
-						store_id: this.id,
-						integral: 1
-					})
-					.then(({
-						data
-					}) => {
-						uni.navigateTo({
-							url
-						});
-					})
-					.then(e => {
-						this.cancel();
-					});
-			},
-			cancel() {
-				this.money = '';
-				this.$refs.popup.close();
-			},
-			// 获取门店详情
-			getStoreDetail() {
-				let obj = this;
-				console.log('进入');
-				getStoreDetail({}, obj.id).then(res => {
-					obj.info = res.data;
-					obj.info.jl = obj.getFlatternDistance(obj.latitude, obj.longitude, obj.info.latitude, obj.info
-						.longitude);
-					if (obj.info.link_articel != '') {
-						obj.getarticel(obj.info.link_articel);
-					}
-				});
-			},
-			getarticel(id) {
-				details({}, id).then(({
-					data
-				}) => {
-					data.content = data.content.replace(/<img/g, '<img class="rich-img"').replace(/<p>\s*<img/g,
-						'<p class="pHeight"><img');
-					data.content = this.getVideo(data.content);
-					this.art = data;
-					console.log(this.art, 'nierong');
-				});
-			},
-			djbf(opt) {
-				console.log(opt, '2222');
-				opt.jd = 2
-			},
-			getVideo(data) {
-				console.log(data, '源数据')
-				let videoList = [];
-				let videoReg = /<video.*?(?:>|\/>)/gi; //匹配到字符串中的 video 标签
-				let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; //匹配到字符串中的 video 标签 的路径
-				let arr = data.match(videoReg) || []; // arr 为包含所有video标签的数组
-				let articleList = data.split('</video>'); // 把字符串  从视频标签分成数组
-				arr.forEach((item, index) => {
-					var src = item.match(srcReg);
-					videoList.push(src[1]); //所要显示的字符串中 所有的video 标签 的路径
-				});
-				let needArticleList = [];
-				articleList.forEach((item, index) => {
-					if (item != '' && item != undefined) {
-						let wuvideo = item.split('<video')
-						let js = wuvideo[0].replace('<video', '')
-						//  常见的标签渲染
-						needArticleList.push({
-							type: 'rich-text',
-							value: js
-						});
-					}
-					let articleListLength = articleList.length; // 插入到原有video 标签位置
-					if (index < articleListLength && videoList[index] != undefined) {
-						needArticleList.push({
-							type: 'video',
-							jd: 1,
-							value: videoList[index]
-						});
-					}
-				});
-				console.log(needArticleList, '完成');
-				return needArticleList;
-			},
-			markertap(e) {
-				let obj = this;
-				// #ifdef H5
-				weixindata().then(wxOjb => {
-					console.log(wxOjb, '获取微信');
-					wxOjb.openLocation({
-						latitude: obj.info.latitude, // 纬度,浮点数,范围为90 ~ -90
-						longitude: obj.info.longitude, // 经度,浮点数,范围为180 ~ -180。
-						name: obj.info.name, // 位置名
-						address: obj.info.detailed_address, // 地址详情说明
-						scale: 28, // 地图缩放级别,整型值,范围从1~28。默认为最大
-						infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
-					});
-				});
-				// #endif
-			},
-			//根据经纬度计算距离
-			getFlatternDistance(lat1, lng1, lat2, lng2) {
-				console.log(lat1, lng1, lat2, lng2);
-				let radLat1 = (lat1 * Math.PI) / 180.0;
-				let radLat2 = (lat2 * Math.PI) / 180.0;
-				let a = radLat1 - radLat2;
-				let b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
-				let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math
-					.pow(Math.sin(b / 2), 2)));
-				s = s * 6378.137;
-				s = Math.round(s * 10000) / 10000;
-				s = s.toFixed(2) * 1;
-				return s;
-			},
-			scroll(e) {
-				console.log(e, '123456');
-			},
-			tocall() {
-				let num = this.info.phone;
-				console.log(num);
-				uni.makePhoneCall({
-					phoneNumber: num //仅为示例
-				});
-			},
-			// tocall() {
-			// 	this.$refs.popup.open();
-			// },
-			// 点击触发领取优惠券
-			setCoupons(item) {
-				// 判断是否已经领取了优惠券
-				let obj = this;
-				uni.showModal({
-					title: '领取提示',
-					content: '是否领取优惠券',
-					success(e) {
-						if (e.confirm) {
-							setCoupons({
-								couponId: item.id
-							}).then(e => {
-								item.is_use = true;
-								uni.showToast({
-									title: '领取成功',
-									type: 'top',
-									duration: 2000
-								});
-							});
-						}
-					}
-				});
-			},
-			getaddress() {
-				console.log('dizhi+++++++++++');
-
-				let obj = this;
-				//  #ifndef H5
-				uni.getLocation({
-					type: 'gcj02',
-					success: res => {
-						console.log(res, 123456);
-						obj.setLat(res.latitude);
-						obj.setLon(res.longitude);
-
-						obj.getStoreDetail();
-					},
-					fail: err => {
-						console.log(err, 'shi+++++++++++++++');
-						openMap().then(e => {
-							this.getaddress();
-						});
-					}
-				});
-				// #endif
-
-				// #ifdef H5
-				uni.getLocation({
-					type: 'wgs84',
-					success: res => {
-						console.log(res, 123456);
-						let wz = obj.wgs84Togcj02(res.longitude, res.latitude);
-						obj.setLat(wz[1]);
-						obj.setLon(wz[0]);
-
-						obj.getStoreDetail();
-					},
-					fail: err => {
-						console.log(err, 'shi+++++++++++++++');
-						openMap().then(e => {
-							this.getaddress();
-						});
-					}
-				});
-				// weixindata().then(wxOjb => {
-				// 	console.log(wxOjb, '获取微信');
-				// 	wxOjb.getLocation({
-				// 		type: 'gcj02',
-				// 		success: res => {
-				// 			console.log(res, 123456);
-				// 			obj.setLat(res.latitude);
-				// 			obj.setLon(res.longitude);
-				// 			obj.getStoreDetail();
-				// 		},
-				// 		fail: err => {
-				// 			console.log(err, 'shi+++++++++++++++');
-				// 			openMap().then(e => {
-				// 				obj.getaddress();
-				// 			});
-				// 		}
-				// 	});
-				// });
-				// #endif
-			},
-			wgs84Togcj02(lng, lat) {
-				if (this.out_of_china(lng, lat)) {
-					return [lng, lat];
-				}
-				//定义一些常量
-				//GCJ02 转换为 WGS84
-				var that = this;
-				const x_PI = (3.14159265358979324 * 3000.0) / 180.0;
-				const PI = 3.1415926535897932384626;
-				const a = 6378245.0;
-				const ee = 0.00669342162296594323;
-				let dlat = that.transformlat(lng - 105.0, lat - 35.0);
-				let dlng = that.transformlng(lng - 105.0, lat - 35.0);
-				let radlat = (lat / 180.0) * PI;
-				let magic = Math.sin(radlat);
-				magic = 1 - ee * magic * magic;
-				let sqrtmagic = Math.sqrt(magic);
-				dlat = (dlat * 180.0) / (((a * (1 - ee)) / (magic * sqrtmagic)) * PI);
-				dlng = (dlng * 180.0) / ((a / sqrtmagic) * Math.cos(radlat) * PI);
-				var mglat = lat + dlat;
-				var mglng = lng + dlng;
-				return [mglng, mglat];
-			},
-
-			out_of_china(lng, lat) {
-				return lng < 72.004 || lng > 137.8347 || (lat < 0.8293 || lat > 55.8271 || false);
-			},
-
-			transformlat(lng, lat) {
-				const x_PI = (3.14159265358979324 * 3000.0) / 180.0;
-				const PI = 3.1415926535897932384626;
-				const a = 6378245.0;
-				const ee = 0.00669342162296594323;
-				let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(
-					lng));
-				ret += ((20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0) / 3.0;
-				ret += ((20.0 * Math.sin(lat * PI) + 40.0 * Math.sin((lat / 3.0) * PI)) * 2.0) / 3.0;
-				ret += ((160.0 * Math.sin((lat / 12.0) * PI) + 320 * Math.sin((lat * PI) / 30.0)) * 2.0) / 3.0;
-				return ret;
-			},
-			transformlng(lng, lat) {
-				const x_PI = (3.14159265358979324 * 3000.0) / 180.0;
-				const PI = 3.1415926535897932384626;
-				const a = 6378245.0;
-				const ee = 0.00669342162296594323;
-				let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));
-				ret += ((20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0) / 3.0;
-				ret += ((20.0 * Math.sin(lng * PI) + 40.0 * Math.sin((lng / 3.0) * PI)) * 2.0) / 3.0;
-				ret += ((150.0 * Math.sin((lng / 12.0) * PI) + 300.0 * Math.sin((lng / 30.0) * PI)) * 2.0) / 3.0;
-				return ret;
-			},
-			//
-			openImg(list, item) {
-				uni.previewImage({
-					current: item,
-					urls: list
-				});
-			},
-			// 调用高德
-			toGaodeMap() {
-				let obj = this;
-				window.location.href =
-					`https://uri.amap.com/marker?position=${obj.info.longitude},${obj.info.latitude}&name=${obj.info.name}`;
-			},
-			// 导航
-			dh() {
-				let obj = this;
-				wx.openLocation({
-					latitude: obj.info.latitude * 1,
-					longitude: obj.info.longitude * 1,
-					name: obj.info.name,
-					address: obj.info.detailed_address
-				});
-			},
-			gomapApp(latitude, longitude, name) {
-				let url = '';
-				if (plus.os.name == 'Android') {
-					//判断是安卓端
-					plus.nativeUI.actionSheet({
-							//选择菜单
-							title: '选择地图应用',
-							cancel: '取消',
-							buttons: [{
-								title: '腾讯地图'
-							}, {
-								title: '百度地图'
-							}, {
-								title: '高德地图'
-							}]
-						},
-						function(e) {
-							switch (e.index) {
-								//下面是拼接url,不同系统以及不同地图都有不同的拼接字段
-								case 1:
-									//注意referer=xxx的xxx替换成你在腾讯地图开发平台申请的key
-									url = `qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx`;
-									break;
-								case 2:
-									url =
-										`baidumap://map/marker?location=${latitude},${longitude}&title=${name}&coord_type=gcj02&src=andr.baidu.openAPIdemo`;
-									break;
-								case 3:
-									url =
-										`androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
-									break;
-								default:
-									break;
-							}
-							if (url != '') {
-								url = encodeURI(url);
-								//plus.runtime.openURL(url,function(e){})调起手机APP应用
-								plus.runtime.openURL(url, function(e) {
-									plus.nativeUI.alert('本机未安装指定的地图应用');
-								});
-							}
-						}
-					);
-				} else {
-					// iOS上获取本机是否安装了百度高德地图,需要在manifest里配置
-					// 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加
-					//(如urlschemewhitelist:["iosamap","baidumap"])
-					plus.nativeUI.actionSheet({
-							title: '选择地图应用',
-							cancel: '取消',
-							buttons: [{
-								title: '腾讯地图'
-							}, {
-								title: '百度地图'
-							}, {
-								title: '高德地图'
-							}]
-						},
-						function(e) {
-							switch (e.index) {
-								case 1:
-									url = `qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx`;
-									break;
-								case 2:
-									url =
-										`baidumap://map/marker?location=${latitude},${longitude}&title=${name}&content=${name}&src=ios.baidu.openAPIdemo&coord_type=gcj02`;
-									break;
-								case 3:
-									url =
-										`iosamap://viewMap?sourceApplication=applicationName&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
-									break;
-								default:
-									break;
-							}
-							if (url != '') {
-								url = encodeURI(url);
-								plus.runtime.openURL(url, function(e) {
-									plus.nativeUI.alert('本机未安装指定的地图应用');
-								});
-							}
-						}
-					);
-				}
-			}
-		}
-	};
-</script>
-
-<style lang="less">
-	.center,
-	page {
-		background: #f8f8f8;
-		height: 100%;
-	}
-
-	.dhdd {
-		view {
-			margin: 0 auto;
-		}
-	}
-
-	.store-info {
-		background: #ffffff;
-
-		.store-top {
-			padding: 40rpx 20rpx;
-			justify-content: flex-start;
-
-			.simage {
-				width: 130rpx;
-				height: 130rpx;
-				background: #f44939;
-			}
-
-			.stop-main {
-				height: 130rpx;
-				padding: 6rpx 0;
-				margin-left: 20rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				align-items: flex-start;
-
-				.stop-title {
-					font-size: 36rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #000000;
-				}
-
-				.stop-address {
-					display: flex;
-					justify-content: flex-end;
-					align-items: center;
-
-					.mrt-image {
-						width: 20rpx;
-						height: 28rpx;
-					}
-
-					.mrt-font {
-						margin-left: 8rpx;
-						font-size: 22rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-					}
-				}
-			}
-		}
-	}
-
-	.store-item {
-		background: #ffffff;
-		display: flex;
-		justify-content: flex-start;
-		align-items: center;
-		padding: 30rpx 30rpx 30rpx 44rpx;
-
-		.store-image1 {
-			width: 36rpx;
-			height: 36rpx;
-		}
-
-		.store-image2 {
-			margin: 0 1rpx;
-			width: 34rpx;
-			height: 34rpx;
-		}
-
-		.store-image3 {
-			margin: 0 7rpx;
-			width: 22rpx;
-			height: 28rpx;
-		}
-
-		.store-font {
-			margin-left: 22rpx;
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2d2d2d;
-		}
-	}
-
-	.store-main {
-		margin-top: 16rpx;
-		background: #ffffff;
-		padding: 30rpx 42rpx 40rpx;
-
-		.smain-title {
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #464646;
-		}
-	}
-
-	.scroll-box {
-		white-space: nowrap;
-		margin-top: 30rpx;
-		height: 240rpx;
-
-		.scroll-item:first-child {
-			margin-left: 0;
-		}
-
-		.scroll-item {
-			margin-left: 20rpx;
-			display: inline-block;
-			height: 240rpx;
-			// width: 240rpx;
-		}
-
-		.scroll-image {
-			height: 240rpx;
-			// width: 240rpx;
-		}
-	}
-
-	.btn-box {
-		position: fixed;
-		bottom: 0rpx;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		background: rgba(255, 255, 255, 0.6);
-		box-shadow: 0rpx 0rpx 20rpx 0px rgba(50, 50, 52, 0.06);
-		padding: 22rpx 68rpx;
-
-		.btn-left {
-			width: 280rpx;
-			height: 80rpx;
-			background: linear-gradient(180deg, #ffa30b, #ffd158);
-			box-shadow: 0px 3rpx 13rpx 3rpx rgba(255, 164, 13, 0.48);
-			border-radius: 40rpx;
-			text-align: center;
-			line-height: 80rpx;
-			font-size: 32rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #ffffff;
-		}
-
-		.btn-right {
-			width: 280rpx;
-			height: 80rpx;
-			background: linear-gradient(180deg, #ff6223, #ffab60);
-			box-shadow: 0px 3rpx 13rpx 3rpx rgba(255, 164, 13, 0.48);
-			border-radius: 40rpx;
-			text-align: center;
-			line-height: 80rpx;
-			font-size: 32rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #ffffff;
-		}
-	}
-
-	.popup_row {
-		width: 100%;
-		height: 500rpx;
-		background-color: #ffffff;
-		border-radius: 20rpx;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-
-		.rows {
-			width: 100%;
-			padding: 0 24rpx;
-
-			.rows-item {
-				height: 80rpx;
-				line-height: 80rpx;
-				text-align: center;
-				width: 100%;
-				font-size: 32rpx;
-				color: #303133;
-				// border-bottom: 1rpx solid #f0f0f0;
-			}
-
-			// .row-1 {
-			// 	margin: auto;
-			// 	.first_aid {
-			// 		width: 300rpx;
-			// 		height: 300rpx;
-			// 	}
-			// }
-			// .row-2 {
-			// 	font-size: 38rpx;
-			// 	margin-top: 20rpx;
-			// }
-		}
-	}
-
-	.shop-dhq {
-		width: 702rpx;
-		height: 171rpx;
-		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.15);
-		margin: auto;
-		border-radius: 20rpx;
-		background-color: #fff;
-		padding: 0 48rpx 0 26rpx;
-		margin-bottom: 20rpx;
-
-		.dhq-left {
-			.dhq-name {
-				overflow: hidden;
-				width: 28%;
-				font-size: 28rpx;
-				font-weight: bold;
-				color: #333333;
-			}
-
-			.dhq-price {
-				padding-top: 20rpx;
-
-				.j-price {
-					font-size: 38rpx;
-					font-weight: bold;
-					color: #ff4c4c;
-
-					&::before {
-						content: '¥';
-						font-size: 24rpx;
-						color: #ff4c4c;
-					}
-				}
-
-				.j-zk {
-					margin: 10rpx;
-					display: inline-block;
-					margin-left: 10rpx;
-					line-height: 32rpx;
-					height: 32rpx;
-					border: 1px solid #ff4c4c;
-					border-radius: 5rpx;
-					font-size: 22rpx;
-					font-weight: 500;
-					color: #ff4c4c;
-					padding: 0 8rpx;
-				}
-			}
-		}
-
-		.dhq-right {
-			.right-btn {
-				width: 105rpx;
-				line-height: 56rpx;
-				background: linear-gradient(143.2747deg, #ff6a00, #ee0979);
-				border: 1rpx solid #ff4c4c;
-				border-radius: 27rpx;
-				text-align: center;
-				color: #fff;
-				font-size: 28rpx;
-				font-weight: bold;
-			}
-		}
-	}
-
-	.jx-box-content {
-		display: flex;
-
-		.content-left {
-			margin: 20rpx 15rpx;
-			width: 236rpx;
-			height: 236rpx;
-			background: #e2e2e2;
-			border-radius: 10rpx;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
-
-		.content-right {
-			display: flex;
-			flex-direction: column;
-			justify-content: space-around;
-
-			.shop-name {
-				width: 382rpx;
-				font-size: 32rpx;
-				font-weight: bold;
-				color: #333333;
-
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 2;
-			}
-
-			.shop-content {
-				width: 455rpx;
-				display: flex;
-				justify-content: space-between;
-
-				.shop-content-left {
-					display: flex;
-					flex-direction: column;
-
-					.price-box {
-						display: flex;
-						align-items: center;
-
-						.yuan-price {
-							font-size: 26rpx;
-							font-weight: 500;
-							text-decoration: line-through;
-							color: #999999;
-						}
-
-						image {
-							margin: 0 10rpx;
-							width: 16rpx;
-							height: 18rpx;
-						}
-
-						.j-price {
-							font-size: 24rpx;
-							font-weight: bold;
-							color: #b59467;
-						}
-					}
-
-					.price-x {
-						font-size: 36rpx;
-						font-weight: bold;
-						color: #ff4c4c;
-					}
-				}
-
-				.shop-content-right {
-					margin-top: 20rpx;
-					align-items: center;
-					text-align: center;
-					width: 137rpx;
-					height: 52rpx;
-					font-size: 26rpx;
-					font-weight: 500;
-					color: #fff;
-					background: #f75022;
-					border-radius: 26rpx;
-					line-height: 52rpx;
-				}
-			}
-		}
-	}
-
-
-	.main {
-		padding: 10rpx;
-		display: flex;
-		flex-direction: column;
-	}
-
-	/deep/ .main {
-		.rich-img {
-			width: 100% !important;
-			height: auto;
-		}
-	}
-</style>