Merge pull request 'gyh change' (#90) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/90
This commit is contained in:
		
						commit
						c9c7e08a8d
					
				
							
								
								
									
										27
									
								
								App.vue
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								App.vue
									
									
									
									
									
								
							@ -1,6 +1,27 @@
 | 
			
		||||
<script>
 | 
			
		||||
	export default {}
 | 
			
		||||
	import { mapMutations } from 'vuex';
 | 
			
		||||
	export default {
 | 
			
		||||
		onLaunch() {
 | 
			
		||||
			// 缓存token
 | 
			
		||||
			uni.getStorage({
 | 
			
		||||
				key: "token",
 | 
			
		||||
				success: (res) => {
 | 
			
		||||
					this.loginIn(res.data);
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		methods: {
 | 
			
		||||
			...mapMutations(['loginIn'])
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
@import "/static/css/normalize";
 | 
			
		||||
</style>
 | 
			
		||||
	/* #ifndef APP-PLUS-NVUE */
 | 
			
		||||
	@import "/static/css/normalize";
 | 
			
		||||
	/* #endif */
 | 
			
		||||
	/* 顶部自定义导航留白 */
 | 
			
		||||
	.status_bar {
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		height: var(--status-bar-height);
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
@ -48,7 +48,7 @@
 | 
			
		||||
	export default {
 | 
			
		||||
		data() {
 | 
			
		||||
			return {
 | 
			
		||||
				remaining: 4,
 | 
			
		||||
				remaining: 11,
 | 
			
		||||
				type: true,
 | 
			
		||||
				banner: false,
 | 
			
		||||
				protocol: false,
 | 
			
		||||
@ -142,12 +142,19 @@
 | 
			
		||||
				uni.getSystemInfo({
 | 
			
		||||
					success: function(res) {
 | 
			
		||||
						that.heightOut = res.windowHeight;
 | 
			
		||||
						console.log('666666666666666' + that.heightOut)
 | 
			
		||||
						console.log(that.heightOut)
 | 
			
		||||
					}
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			// 我同意
 | 
			
		||||
			to_agree() {
 | 
			
		||||
				uni.setStorage({
 | 
			
		||||
					key: 'launchFlag',
 | 
			
		||||
					data: true,
 | 
			
		||||
					success: function() {
 | 
			
		||||
						console.log('error时存储launchFlag');
 | 
			
		||||
					}
 | 
			
		||||
				});
 | 
			
		||||
				uni.navigateTo({
 | 
			
		||||
					url: '/pageA/login/login'
 | 
			
		||||
				});
 | 
			
		||||
@ -174,8 +181,7 @@
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			videoErrorCallback: function(e) {
 | 
			
		||||
				console.log('视频错误信息:')
 | 
			
		||||
				console.log(e.target.errMsg)
 | 
			
		||||
				console.log('视频错误信息:',e);
 | 
			
		||||
			},
 | 
			
		||||
			getRandomColor: function() {
 | 
			
		||||
				const rgb = []
 | 
			
		||||
@ -222,19 +228,18 @@
 | 
			
		||||
		// height: 400rpx;
 | 
			
		||||
	}
 | 
			
		||||
	.welcome_jumpes {
 | 
			
		||||
		width: 94rpx;
 | 
			
		||||
		height: 36rpx;
 | 
			
		||||
		opacity: 0.5;
 | 
			
		||||
		border-radius: 18rpx;
 | 
			
		||||
		z-index: 10;
 | 
			
		||||
		position: absolute;
 | 
			
		||||
		right: 37rpx;
 | 
			
		||||
		top: 66rpx;
 | 
			
		||||
		top: 80rpx;
 | 
			
		||||
		right: 60rpx;
 | 
			
		||||
		width: 100rpx;
 | 
			
		||||
		height: 40rpx;
 | 
			
		||||
		border-radius: 20rpx;
 | 
			
		||||
		font-size: 22rpx;
 | 
			
		||||
		text-align: center;
 | 
			
		||||
		line-height: 35rpx;
 | 
			
		||||
		line-height: 40rpx;
 | 
			
		||||
		color: #fff;
 | 
			
		||||
		background: #C4CAC6;
 | 
			
		||||
		z-index: 10;
 | 
			
		||||
		background-color: rgba(0,0,0,0.5);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	#myVideo {
 | 
			
		||||
@ -257,8 +262,8 @@
 | 
			
		||||
 | 
			
		||||
	.welcome_images {
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		height: 100vh;
 | 
			
		||||
		position: fixed;
 | 
			
		||||
		height: 100%
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	uni-swiper,
 | 
			
		||||
@ -266,7 +271,7 @@
 | 
			
		||||
	uni-image {
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		// position: fixed;
 | 
			
		||||
		height: 100%
 | 
			
		||||
		height: 100vh;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	uni-image {
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,9 @@
 | 
			
		||||
            "Push" : {},
 | 
			
		||||
            "Maps" : {},
 | 
			
		||||
            "LivePusher" : {},
 | 
			
		||||
            "Payment" : {}
 | 
			
		||||
            "Payment" : {},
 | 
			
		||||
            "VideoPlayer" : {},
 | 
			
		||||
            "Speech" : {}
 | 
			
		||||
        },
 | 
			
		||||
        /* 应用发布信息 */
 | 
			
		||||
        "distribute" : {
 | 
			
		||||
@ -64,6 +66,12 @@
 | 
			
		||||
                "oauth" : {
 | 
			
		||||
                    "qq" : {
 | 
			
		||||
                        "appid" : "101884160"
 | 
			
		||||
                    },
 | 
			
		||||
                    "apple" : {},
 | 
			
		||||
                    "weixin" : {
 | 
			
		||||
                        "appid" : "wx556db1531ec35dc7",
 | 
			
		||||
                        "appsecret" : "f441fc15dd21543871a818f40ce92016",
 | 
			
		||||
                        "UniversalLinks" : "https://demo.dcloud.net.cn/ulink/"
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "maps" : {
 | 
			
		||||
@ -72,7 +80,20 @@
 | 
			
		||||
                        "appkey_android" : "8045e8a4cd6d544690c786265b248f91"
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "share" : {}
 | 
			
		||||
                "share" : {
 | 
			
		||||
                    "weixin" : {
 | 
			
		||||
                        "appid" : "wx556db1531ec35dc7",
 | 
			
		||||
                        "UniversalLinks" : "https://demo.dcloud.net.cn/ulink/"
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "speech" : {},
 | 
			
		||||
                "payment" : {
 | 
			
		||||
                    "alipay" : {},
 | 
			
		||||
                    "weixin" : {
 | 
			
		||||
                        "appid" : "wx556db1531ec35dc7",
 | 
			
		||||
                        "UniversalLinks" : "https://demo.dcloud.net.cn/ulink/"
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -43,11 +43,11 @@
 | 
			
		||||
			<u-mask :show="show" @click="show = false">
 | 
			
		||||
				<view class="warp">
 | 
			
		||||
					<view class="rect" @tap.stop>
 | 
			
		||||
						<view class="rect_view" @click="rect_qq()">
 | 
			
		||||
						<view class="rect_view" @click="loginOther(1)">
 | 
			
		||||
							<image src="../../static/pageA/qq.png" class="image"></image>
 | 
			
		||||
							<view>QQ登录</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="rect_view">
 | 
			
		||||
						<view class="rect_view" @click="loginOther(2)">
 | 
			
		||||
							<image src="../../static/pageA/weixin.png" class="image"></image>
 | 
			
		||||
							<view>微信登录</view>
 | 
			
		||||
						</view>
 | 
			
		||||
@ -61,7 +61,9 @@
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
	import identifying from '@/components/logininput/identifying'
 | 
			
		||||
	import { mapMutations } from 'vuex';
 | 
			
		||||
	import {
 | 
			
		||||
		mapMutations
 | 
			
		||||
	} from 'vuex';
 | 
			
		||||
	export default {
 | 
			
		||||
		data() {
 | 
			
		||||
			return {
 | 
			
		||||
@ -83,29 +85,43 @@
 | 
			
		||||
				sms_code: '', //验证码
 | 
			
		||||
				// 协议渲染
 | 
			
		||||
				pact_text: [{
 | 
			
		||||
						"id": '1',
 | 
			
		||||
						"text": "《用户协议》"
 | 
			
		||||
					}, {
 | 
			
		||||
						"id": '2',
 | 
			
		||||
						"text": "《隐私协议》"
 | 
			
		||||
					}, {
 | 
			
		||||
						"id": '3',
 | 
			
		||||
						"text": "《使用协议》"
 | 
			
		||||
					},
 | 
			
		||||
 | 
			
		||||
				]
 | 
			
		||||
					"id": '1',
 | 
			
		||||
					"text": "《用户协议》"
 | 
			
		||||
				}, {
 | 
			
		||||
					"id": '2',
 | 
			
		||||
					"text": "《隐私协议》"
 | 
			
		||||
				}, {
 | 
			
		||||
					"id": '3',
 | 
			
		||||
					"text": "《使用协议》"
 | 
			
		||||
				}, ],
 | 
			
		||||
				temp_url: "", // 上个页面路径
 | 
			
		||||
				pagesArr: ["pages/mine/index"], // 特殊路径
 | 
			
		||||
			};
 | 
			
		||||
		},
 | 
			
		||||
		onLoad() {
 | 
			
		||||
			// 数据的请求
 | 
			
		||||
			this.apiwelcome();
 | 
			
		||||
		},
 | 
			
		||||
		onShow() {
 | 
			
		||||
			let pages = getCurrentPages();
 | 
			
		||||
			let prePage = pages[pages.length - 2];
 | 
			
		||||
			this.temp_url = prePage.route;
 | 
			
		||||
			// console.log(this.temp_url);
 | 
			
		||||
		},
 | 
			
		||||
		// 切断正常返回
 | 
			
		||||
		onBackPress(e) {
 | 
			
		||||
			console.log(1, e);
 | 
			
		||||
			if (this.pagesArr.includes(this.temp_url) && !this.hasLogin) {
 | 
			
		||||
				uni.switchTab({
 | 
			
		||||
					url: '../../pages/index/index'
 | 
			
		||||
				})
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		methods: {
 | 
			
		||||
			...mapMutations(['loginIn']),
 | 
			
		||||
			apiwelcome() {
 | 
			
		||||
				this.$u.api.sendSmsCode({
 | 
			
		||||
 | 
			
		||||
				}).then((res) => {
 | 
			
		||||
				this.$u.api.sendSmsCode({}).then((res) => {
 | 
			
		||||
					console.log(res)
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
@ -189,8 +205,7 @@
 | 
			
		||||
						// 	type: 'success',
 | 
			
		||||
						// 	url: '/pageA/topick/topick'
 | 
			
		||||
						// })
 | 
			
		||||
					}
 | 
			
		||||
					if (res.errCode == 1) {
 | 
			
		||||
					} else {
 | 
			
		||||
						this.$refs.uToast.show({
 | 
			
		||||
							title: res.message,
 | 
			
		||||
							type: 'error'
 | 
			
		||||
@ -199,40 +214,75 @@
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			// qq授权登录
 | 
			
		||||
			rect_qq() {
 | 
			
		||||
				console.log("授权QQ")
 | 
			
		||||
				var vm = this;
 | 
			
		||||
			loginOther(type) {
 | 
			
		||||
				var me = this;
 | 
			
		||||
				uni.getProvider({
 | 
			
		||||
					service: 'oauth',
 | 
			
		||||
					success: function(res) {
 | 
			
		||||
						console.log('qq', res) //weixin
 | 
			
		||||
						if (~res.provider.indexOf('qq')) {
 | 
			
		||||
					success: (res) => {
 | 
			
		||||
						if (type == 1) {
 | 
			
		||||
							uni.login({
 | 
			
		||||
								provider: 'qq',
 | 
			
		||||
								success: function(loginRes) {
 | 
			
		||||
									console.log(loginRes)
 | 
			
		||||
									this.getApplogin(loginRes)
 | 
			
		||||
									vm.$HTTP({
 | 
			
		||||
										method: 'GET',
 | 
			
		||||
										baseURL: 'https://graph.qq.com/user/get_user_info',
 | 
			
		||||
										url: '',
 | 
			
		||||
										data: {
 | 
			
		||||
											openid: loginRes.authResult.openid,
 | 
			
		||||
											access_token: loginRes.authResult.access_token,
 | 
			
		||||
											appid: '101884160'
 | 
			
		||||
										},
 | 
			
		||||
										load: true
 | 
			
		||||
									}).then((data) => {
 | 
			
		||||
										console.log(data)
 | 
			
		||||
 | 
			
		||||
									}, (err) => {
 | 
			
		||||
										console.log(err)
 | 
			
		||||
									});
 | 
			
		||||
								success: (qqres) => {
 | 
			
		||||
									console.log(qqres);
 | 
			
		||||
									uni.getUserInfo({
 | 
			
		||||
										provider: 'qq',
 | 
			
		||||
										success: (data) => {
 | 
			
		||||
											console.log(data);
 | 
			
		||||
											this.$u.api.qqLogin({
 | 
			
		||||
												member_qqopenid: data.userInfo.openId,
 | 
			
		||||
												member_nickname: data.userInfo.nickName,
 | 
			
		||||
												member_avatar: data.userInfo.avatarUrl,
 | 
			
		||||
											}).then(res => {
 | 
			
		||||
												console.log(res.errCode);
 | 
			
		||||
												if (res.errCode == 0) {
 | 
			
		||||
													this.loginIn(res.data.token);
 | 
			
		||||
													this.show = false;
 | 
			
		||||
													uni.switchTab({
 | 
			
		||||
														url: "../../pages/index/index"
 | 
			
		||||
													})
 | 
			
		||||
												}
 | 
			
		||||
											})
 | 
			
		||||
										}
 | 
			
		||||
									})
 | 
			
		||||
								},
 | 
			
		||||
								fail: (e) => {
 | 
			
		||||
									console.log(e);
 | 
			
		||||
								}
 | 
			
		||||
							});
 | 
			
		||||
						} else {
 | 
			
		||||
							console.log("错误")
 | 
			
		||||
							uni.login({
 | 
			
		||||
								provider: 'weixin',
 | 
			
		||||
								success: (wxres) => {
 | 
			
		||||
									console.log(wxres);
 | 
			
		||||
									uni.getUserInfo({
 | 
			
		||||
										provider: 'weixin',
 | 
			
		||||
										success: (data) => {
 | 
			
		||||
											console.log(data);
 | 
			
		||||
											this.$u.api.wechatLogin({
 | 
			
		||||
												member_wxopenid: data.userInfo.openId,
 | 
			
		||||
												member_nickname: data.userInfo.nickName,
 | 
			
		||||
												member_avatar: data.userInfo.avatarUrl,
 | 
			
		||||
											}).then(res => {
 | 
			
		||||
												console.log(res);
 | 
			
		||||
												if (res.errCode == 0) {
 | 
			
		||||
													this.loginIn(res.data.token);
 | 
			
		||||
													this.show = false;
 | 
			
		||||
													uni.switchTab({
 | 
			
		||||
														url: "../../pages/index/index"
 | 
			
		||||
													})
 | 
			
		||||
												}
 | 
			
		||||
											})
 | 
			
		||||
										}
 | 
			
		||||
									})
 | 
			
		||||
								},
 | 
			
		||||
								fail: (e) => {
 | 
			
		||||
									console.log(e);
 | 
			
		||||
								}
 | 
			
		||||
							});
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					fail: (e) => {
 | 
			
		||||
						console.log(e);
 | 
			
		||||
					}
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
@ -242,10 +292,6 @@
 | 
			
		||||
					url: '/pageA/register/register'
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			// 授权登录
 | 
			
		||||
			getApplogin() {
 | 
			
		||||
				console.log("11")
 | 
			
		||||
			},
 | 
			
		||||
			// 选中某个复选框时,由checkbox时触发
 | 
			
		||||
			checkboxChange(e) {
 | 
			
		||||
				//console.log(e);
 | 
			
		||||
 | 
			
		||||
@ -62,10 +62,14 @@ export default {
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
	.packlist{}
 | 
			
		||||
	.packlist > view{
 | 
			
		||||
		width:676px;
 | 
			
		||||
		font-size:26rpx;
 | 
			
		||||
		color: #333;
 | 
			
		||||
		width: 90%;
 | 
			
		||||
		margin: 0 auto;
 | 
			
		||||
		padding: 16upx 0;
 | 
			
		||||
		font-size: 26upx;
 | 
			
		||||
		color: #333;
 | 
			
		||||
	}
 | 
			
		||||
	.rict_type {
 | 
			
		||||
		text-indent: 1rem;
 | 
			
		||||
		line-height: 1.2;
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@
 | 
			
		||||
			</view>
 | 
			
		||||
			<!-- 标签 -->
 | 
			
		||||
			<view class="tab_lable">
 | 
			
		||||
				<view :class="{'cur': rSelect.indexOf(index)!=-1}" v-for="(item,index) in tab_lables" :key="index" @click="tapClick(index)">{{item.name}}</view>
 | 
			
		||||
				<view :class="{'cur': rSelect.indexOf(index)!=-1}" v-for="(item,index) in tab_lables" :key="index" @click="tapClick(index,item.id)">{{item.name}}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<!-- 提交按钮 -->
 | 
			
		||||
			<view class="submites" @click="toHomePage">{{submites}}</view>
 | 
			
		||||
@ -30,22 +30,21 @@
 | 
			
		||||
				show: false,
 | 
			
		||||
				tab_lables: [],
 | 
			
		||||
				submites: '选好了进入首页',
 | 
			
		||||
				rSelect:[]
 | 
			
		||||
				rSelect: [],
 | 
			
		||||
				list: [],
 | 
			
		||||
			};
 | 
			
		||||
		},
 | 
			
		||||
		onLoad(){
 | 
			
		||||
		onLoad() {
 | 
			
		||||
			// 标签的列表展示
 | 
			
		||||
				console.log("11111222")
 | 
			
		||||
				this.$u.api.labelList({
 | 
			
		||||
					
 | 
			
		||||
				}).then((res) => {
 | 
			
		||||
					console.log(res)
 | 
			
		||||
					this.tab_lables = res.data
 | 
			
		||||
				})
 | 
			
		||||
		},
 | 
			
		||||
		
 | 
			
		||||
		mounted(){
 | 
			
		||||
			this.$u.api.labelList({
 | 
			
		||||
 | 
			
		||||
			}).then((res) => {
 | 
			
		||||
				console.log(res)
 | 
			
		||||
				this.tab_lables = res.data
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		mounted() {},
 | 
			
		||||
		methods: {
 | 
			
		||||
			// 选中某个复选框时,由checkbox时触发
 | 
			
		||||
			checkboxChange(e) {
 | 
			
		||||
@ -59,21 +58,28 @@
 | 
			
		||||
				this.show = !this.show
 | 
			
		||||
			},
 | 
			
		||||
			// 点击切换颜色
 | 
			
		||||
			tapClick(index) {
 | 
			
		||||
				console.log(index)
 | 
			
		||||
			tapClick(index, id) {
 | 
			
		||||
				// console.log(id);
 | 
			
		||||
				if (this.rSelect.indexOf(index) == -1) {
 | 
			
		||||
					console.log(index) //打印下标
 | 
			
		||||
					this.rSelect.push(index); //选中添加到数组里
 | 
			
		||||
					this.rSelect.push(index); // 选中状态
 | 
			
		||||
					this.list.push(id); //选中添加到数组里
 | 
			
		||||
					if (this.rSelect.length > 9) {
 | 
			
		||||
						this.$u.toast("只能选择10个标签!");
 | 
			
		||||
						return false;
 | 
			
		||||
					}
 | 
			
		||||
				} else {
 | 
			
		||||
					this.rSelect.splice(this.rSelect.indexOf(index), 1); //取消
 | 
			
		||||
					this.list.splice(this.rSelect.indexOf(id), 1); //取消
 | 
			
		||||
				}
 | 
			
		||||
				// console.log(this.rSelect);
 | 
			
		||||
				// console.log(this.list);
 | 
			
		||||
			},
 | 
			
		||||
			toHomePage() {
 | 
			
		||||
				uni.switchTab({
 | 
			
		||||
					url: '/pages/index/index'
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	};
 | 
			
		||||
</script>
 | 
			
		||||
@ -360,9 +366,10 @@
 | 
			
		||||
		bottom: 0;
 | 
			
		||||
		left: 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 选中的样式
 | 
			
		||||
	.cur {
 | 
			
		||||
			background-color: #ff5d00!important;
 | 
			
		||||
			color: #fff!important;
 | 
			
		||||
		background-color: #ff5d00 !important;
 | 
			
		||||
		color: #fff !important;
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
@ -1,45 +1,76 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="welcome">
 | 
			
		||||
		<!-- 倒计时(跳过) -->
 | 
			
		||||
		<remaining></remaining>
 | 
			
		||||
		<remaining v-if="guidePages"></remaining>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
	import {
 | 
			
		||||
		mapState
 | 
			
		||||
	} from 'vuex';
 | 
			
		||||
	import remaining from '@/components/remaining/remaining';
 | 
			
		||||
	export default {
 | 
			
		||||
		computed: {
 | 
			
		||||
			...mapState(['hasLogin', 'token'])
 | 
			
		||||
		},
 | 
			
		||||
		data() {
 | 
			
		||||
			return {
 | 
			
		||||
				
 | 
			
		||||
				guidePages: true
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		onLoad() { 
 | 
			
		||||
		onLoad() {
 | 
			
		||||
			this.loadExecution();
 | 
			
		||||
		},
 | 
			
		||||
		methods: {
 | 
			
		||||
			
 | 
			
		||||
		},
 | 
			
		||||
		mounted(){
 | 
			
		||||
		},
 | 
			
		||||
		components:{}
 | 
			
		||||
			loadExecution() {
 | 
			
		||||
				/**
 | 
			
		||||
				 * 获取本地存储中launchFlag的值
 | 
			
		||||
				 * 若存在,说明不是首次启动,直接进入首页;
 | 
			
		||||
				 * 若不存在,说明是首次启动,进入引导页;
 | 
			
		||||
				 */
 | 
			
		||||
				// 获取本地存储中launchFlag标识
 | 
			
		||||
				const value = uni.getStorageSync('launchFlag') || "";
 | 
			
		||||
				// console.log(value, this.hasLogin);
 | 
			
		||||
				if (value) {
 | 
			
		||||
					this.guidePages = false;
 | 
			
		||||
					if (this.hasLogin) {
 | 
			
		||||
						uni.switchTab({
 | 
			
		||||
							url: '../../pages/index/index'
 | 
			
		||||
						});
 | 
			
		||||
					} else {
 | 
			
		||||
						// launchFlag=true直接跳转到首页
 | 
			
		||||
						uni.navigateTo({
 | 
			
		||||
							url: '../../pageA/login/login'
 | 
			
		||||
						});
 | 
			
		||||
					}
 | 
			
		||||
				} else {
 | 
			
		||||
					// launchFlag!=true显示引导页
 | 
			
		||||
					this.guidePages = true;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
	.welcome {}
 | 
			
		||||
	.welcome_jumpes{
 | 
			
		||||
 | 
			
		||||
	.welcome_jumpes {
 | 
			
		||||
		width: 90rpx;
 | 
			
		||||
		height: 35rpx;
 | 
			
		||||
		opacity:0.5;
 | 
			
		||||
		border-radius:18rpx;
 | 
			
		||||
		opacity: 0.5;
 | 
			
		||||
		border-radius: 18rpx;
 | 
			
		||||
		position: absolute;
 | 
			
		||||
		right: 37rpx;
 | 
			
		||||
		top: 34rpx;
 | 
			
		||||
		font-size:20rpx;
 | 
			
		||||
		font-size: 20rpx;
 | 
			
		||||
		text-align: center;
 | 
			
		||||
		line-height: 35rpx;
 | 
			
		||||
		color: #fff;
 | 
			
		||||
		background: #C4CAC6;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.welcome_images {
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		position: fixed;
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
    <view class="photo">
 | 
			
		||||
        <view class="back">
 | 
			
		||||
            <u-icon name="close" color="#999999" :size="30"></u-icon>
 | 
			
		||||
            <u-icon name="close" color="#999999" :size="30" @click="goBack"></u-icon>
 | 
			
		||||
        </view>
 | 
			
		||||
        <swiper class="swiper">
 | 
			
		||||
            <swiper-item>
 | 
			
		||||
@ -128,7 +128,12 @@ export default {
 | 
			
		||||
                console.log(res)
 | 
			
		||||
                this.list = res.data.info
 | 
			
		||||
            })
 | 
			
		||||
        }
 | 
			
		||||
        },
 | 
			
		||||
		goBack() {
 | 
			
		||||
			uni.navigateBack({
 | 
			
		||||
				delta: 1
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
    },
 | 
			
		||||
    onLoad(o){
 | 
			
		||||
        this.id = o.id
 | 
			
		||||
 | 
			
		||||
@ -553,14 +553,16 @@ export default {
 | 
			
		||||
        .title{
 | 
			
		||||
            flex-wrap: wrap;
 | 
			
		||||
			margin-bottom: 30rpx;
 | 
			
		||||
			line-height: 1.2;
 | 
			
		||||
            >text{
 | 
			
		||||
                padding: 13rpx;
 | 
			
		||||
                font-size: 24rpx;
 | 
			
		||||
                color:#fff;
 | 
			
		||||
                margin-right: 13rpx;
 | 
			
		||||
                background-color: #FF780F;
 | 
			
		||||
                display: inline-block;
 | 
			
		||||
                border-radius: 25rpx;
 | 
			
		||||
                padding: 8rpx 10rpx;
 | 
			
		||||
                margin: 0 10rpx 4rpx 0;
 | 
			
		||||
				vertical-align: middle;
 | 
			
		||||
                font-size: 20rpx;
 | 
			
		||||
                color: #fff;
 | 
			
		||||
                border-radius: 30rpx;
 | 
			
		||||
                background-color: #FF780F;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .pic{
 | 
			
		||||
 | 
			
		||||
@ -40,7 +40,10 @@ export default {
 | 
			
		||||
		},
 | 
			
		||||
        search(value){
 | 
			
		||||
			// console.log(value)
 | 
			
		||||
			if(!value) this.$u.toast('搜索内容不可为空');
 | 
			
		||||
			if(!value) {
 | 
			
		||||
				this.$u.toast('搜索内容不可为空');
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
            this.$u.route({
 | 
			
		||||
                url: "/pageB/search/out",
 | 
			
		||||
                params: {
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,7 @@
 | 
			
		||||
		</view>
 | 
			
		||||
		<u-action-sheet v-model="sheetStatus" :list="list" :tips="tips" :border-radius="20" @click="choiceOption">
 | 
			
		||||
		</u-action-sheet>
 | 
			
		||||
		<u-modal v-model="show" show-confirm-button show-cancel-button :content="content" @confirm="loginOut"></u-modal>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
@ -67,7 +68,9 @@
 | 
			
		||||
						title: '帮助与反馈',
 | 
			
		||||
						link: './feedback'
 | 
			
		||||
					},
 | 
			
		||||
				]
 | 
			
		||||
				],
 | 
			
		||||
				content: "是否退出登录!",
 | 
			
		||||
				show: false
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		methods: {
 | 
			
		||||
@ -76,13 +79,19 @@
 | 
			
		||||
			choiceOption(index) {
 | 
			
		||||
				console.log(index);
 | 
			
		||||
				if (index == 1) {
 | 
			
		||||
					this.logout();
 | 
			
		||||
					this.show = true;
 | 
			
		||||
				}
 | 
			
		||||
			},
 | 
			
		||||
			toNextPage(url, ...params) {
 | 
			
		||||
				uni.navigateTo({
 | 
			
		||||
					url: url
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			loginOut() {
 | 
			
		||||
				this.logout();
 | 
			
		||||
				uni.redirectTo({
 | 
			
		||||
					url: "../../pageA/login/login",
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										52
									
								
								pages.json
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								pages.json
									
									
									
									
									
								
							@ -145,17 +145,57 @@
 | 
			
		||||
				{
 | 
			
		||||
					"path": "search/index",
 | 
			
		||||
					"style": {
 | 
			
		||||
						"navigationBarTitleText": "",
 | 
			
		||||
						"navigationStyle": "custom"
 | 
			
		||||
						
 | 
			
		||||
						"app-plus": {
 | 
			
		||||
							"titleNView": {
 | 
			
		||||
								"titleColor": "#333333",
 | 
			
		||||
								"backgroundColor": "#FFFFFF",
 | 
			
		||||
								"buttons": [
 | 
			
		||||
									{  
 | 
			
		||||
										"type":"none",
 | 
			
		||||
										"text":"搜索",
 | 
			
		||||
										"float":"right",
 | 
			
		||||
										"fontSize":"16",
 | 
			
		||||
										"color": "#FF780F"
 | 
			
		||||
									}
 | 
			
		||||
								],
 | 
			
		||||
								"searchInput": {
 | 
			
		||||
									"align": "left",
 | 
			
		||||
									"borderRadius": "15px",
 | 
			
		||||
									"placeholder": "搜索您需要的商品",
 | 
			
		||||
									"backgroundColor": "rgb(236,236,236)",
 | 
			
		||||
									"placeholderColor": "#999999",
 | 
			
		||||
									"disabled": false
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"path": "search/out",
 | 
			
		||||
					"style": {
 | 
			
		||||
						"navigationBarTitleText": "",
 | 
			
		||||
						"navigationStyle": "custom"
 | 
			
		||||
						
 | 
			
		||||
						"app-plus": {
 | 
			
		||||
							"titleNView": {
 | 
			
		||||
								"titleColor": "#333333",
 | 
			
		||||
								"backgroundColor": "#FFFFFF",
 | 
			
		||||
								"buttons": [
 | 
			
		||||
									{  
 | 
			
		||||
										"type":"none",
 | 
			
		||||
										"text":"搜索",
 | 
			
		||||
										"float":"right",
 | 
			
		||||
										"fontSize":"16",
 | 
			
		||||
										"color": "#FF780F"
 | 
			
		||||
									}
 | 
			
		||||
								],
 | 
			
		||||
								"searchInput": {
 | 
			
		||||
									"align": "left",
 | 
			
		||||
									"borderRadius": "15px",
 | 
			
		||||
									"placeholder": "搜索您需要的商品",
 | 
			
		||||
									"backgroundColor": "rgb(236,236,236)",
 | 
			
		||||
									"placeholderColor": "#999999",
 | 
			
		||||
									"disabled": false
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
 | 
			
		||||
@ -1,88 +1,93 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="index">
 | 
			
		||||
		<view class="top">
 | 
			
		||||
			<view class="sosuo"></view>
 | 
			
		||||
			<view class="tabs">
 | 
			
		||||
				<u-tabs :is-scroll="false" bar-width="70" ref="tabs" :list="list" :current="num" :bar-style="{
 | 
			
		||||
	<view>
 | 
			
		||||
		<view class="status_bar"></view>
 | 
			
		||||
		<view class="index">
 | 
			
		||||
			<view class="top">
 | 
			
		||||
				<view class="sosuo"></view>
 | 
			
		||||
				<view class="tabs">
 | 
			
		||||
					<u-tabs :is-scroll="false" bar-width="70" ref="tabs" :list="list" :current="num" :bar-style="{
 | 
			
		||||
                    'background-color':'#FF780F',
 | 
			
		||||
                    'bottom':'10rpx'
 | 
			
		||||
                }"
 | 
			
		||||
				 inactive-color="#333" :active-item-style="{
 | 
			
		||||
					 inactive-color="#333" :active-item-style="{
 | 
			
		||||
                    'color':'#333'
 | 
			
		||||
                }" :bold="false"
 | 
			
		||||
				 @change="dianji"></u-tabs>
 | 
			
		||||
					 @change="dianji"></u-tabs>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view class="sosuo"></view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="sosuo"></view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<swiper class="card" @change="dianji" :current="num">
 | 
			
		||||
			<swiper-item>
 | 
			
		||||
				<scroll-view style="width:100%;height:100%" scroll-y="true">
 | 
			
		||||
					<view class="box">
 | 
			
		||||
						<!-- <indexad style="width:690rpx"></indexad> -->
 | 
			
		||||
						<u-swiper mode="dot" :list="indexImageSwiper" name="adv_code" @click="clickFImage"></u-swiper>
 | 
			
		||||
						<view class="list">
 | 
			
		||||
							<view>
 | 
			
		||||
								<videoItem v-for="item in articleList.filter((_, index) => !(index&1))" :key="item.article_id" :item="item"
 | 
			
		||||
								 @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
							</view>
 | 
			
		||||
							<view style="margin-left:20rpx">
 | 
			
		||||
								<videoItem v-for="item in articleList.filter((_, index) => index&1)" :key="item.article_id" :item="item"
 | 
			
		||||
								 @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
				</scroll-view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
			<swiper-item>
 | 
			
		||||
				<scroll-view style="width:100%;height:100%" scroll-y="true">
 | 
			
		||||
					<view class="box">
 | 
			
		||||
						<u-swiper mode="dot" :list="zhiboImageSwiper" name="adv_code" @click="clickSImage($event, 2)"></u-swiper>
 | 
			
		||||
						<view class="list">
 | 
			
		||||
							<view>
 | 
			
		||||
								<zhiboItem v-for="item in tabLiveLists.filter((_, index) => !(index&1))" :zid="item.live_id" :key="item.live_id" :name="item.store_name" :image="item.cover_img" :url="item.url"></zhiboItem>
 | 
			
		||||
							</view>
 | 
			
		||||
							<view style="margin-left:20rpx">
 | 
			
		||||
								<zhiboItem v-for="item in tabLiveLists.filter((_, index) => index&1)" :zid="item.live_id" :key="item.live_id" :name="item.store_name" :image="item.cover_img" :url="item.url"></zhiboItem>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
 | 
			
		||||
				</scroll-view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
			<swiper-item>
 | 
			
		||||
				<scroll-view style="width:100%;height:100%" scroll-y="true">
 | 
			
		||||
					<view class="box">
 | 
			
		||||
						<view class="tuijian">
 | 
			
		||||
							<view class="title" @click="toSearchPage"  >
 | 
			
		||||
								<view class="left">
 | 
			
		||||
									<view></view>
 | 
			
		||||
									<text>推荐达人</text>
 | 
			
		||||
			<swiper class="card" @change="dianji" :current="num">
 | 
			
		||||
				<swiper-item>
 | 
			
		||||
					<scroll-view style="width:100%;height:100%" scroll-y="true">
 | 
			
		||||
						<view class="box">
 | 
			
		||||
							<!-- <indexad style="width:690rpx"></indexad> -->
 | 
			
		||||
							<u-swiper mode="dot" :list="indexImageSwiper" name="adv_code"></u-swiper>
 | 
			
		||||
							<view class="list">
 | 
			
		||||
								<view>
 | 
			
		||||
									<videoItem v-for="item in articleList.filter((_, index) => !(index&1))" :key="item.article_id" :item="item"
 | 
			
		||||
									 @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view style="margin-left:20rpx">
 | 
			
		||||
									<videoItem v-for="item in articleList.filter((_, index) => index&1)" :key="item.article_id" :item="item"
 | 
			
		||||
									 @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
								</view>
 | 
			
		||||
								<image class="right" src="/static/image/common/1.png"></image>
 | 
			
		||||
							</view>
 | 
			
		||||
							<view class="tuijianlist">
 | 
			
		||||
								<!-- <darenItem style="margin-right:23rpx"></darenItem>
 | 
			
		||||
                                <darenItem style="margin-right:23rpx"></darenItem> -->
 | 
			
		||||
								<darenItem v-for="item in recommendList.slice(0,3)" :key="item.id" :info="item" v-on:pChangeType="changeType" ></darenItem>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="list">
 | 
			
		||||
							<view>
 | 
			
		||||
								<!-- <videoItem isguanzhu="true" v-for="item in 10"></videoItem> -->
 | 
			
		||||
								<videoItem isguanzhu="true" v-for="item in articleList.filter((_, index) => !(index&1))" :key="item.article_id"
 | 
			
		||||
								 :item="item" @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
							</view>
 | 
			
		||||
							<view style="margin-left:20rpx">
 | 
			
		||||
								<!-- <videoItem isguanzhu="true" v-for="item in 10"></videoItem> -->
 | 
			
		||||
								<videoItem isguanzhu="true" v-for="item in articleList.filter((_, index) => index&1)" :key="item.article_id"
 | 
			
		||||
								 :item="item" @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
					</scroll-view>
 | 
			
		||||
				</swiper-item>
 | 
			
		||||
				<swiper-item>
 | 
			
		||||
					<scroll-view style="width:100%;height:100%" scroll-y="true">
 | 
			
		||||
						<view class="box">
 | 
			
		||||
							<u-swiper mode="dot" :list="zhiboImageSwiper" name="adv_code"></u-swiper>
 | 
			
		||||
							<view class="list">
 | 
			
		||||
								<view>
 | 
			
		||||
									<zhiboItem v-for="item in tabLiveLists.filter((_, index) => !(index&1))" :key="item.live_id" :name="item.store_name"
 | 
			
		||||
									 :image="item.cover_img" :url="item.url"></zhiboItem>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view style="margin-left:20rpx">
 | 
			
		||||
									<zhiboItem v-for="item in tabLiveLists.filter((_, index) => index&1)" :key="item.live_id" :name="item.store_name"
 | 
			
		||||
									 :image="item.cover_img" :url="item.url"></zhiboItem>
 | 
			
		||||
								</view>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
 | 
			
		||||
				</scroll-view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
					</scroll-view>
 | 
			
		||||
				</swiper-item>
 | 
			
		||||
				<swiper-item>
 | 
			
		||||
					<scroll-view style="width:100%;height:100%" scroll-y="true">
 | 
			
		||||
						<view class="box">
 | 
			
		||||
							<view class="tuijian">
 | 
			
		||||
								<view class="title" @click="toSearchPage">
 | 
			
		||||
									<view class="left">
 | 
			
		||||
										<view></view>
 | 
			
		||||
										<text>推荐达人</text>
 | 
			
		||||
									</view>
 | 
			
		||||
									<image class="right" src="/static/image/common/1.png"></image>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view class="tuijianlist">
 | 
			
		||||
									<!-- <darenItem style="margin-right:23rpx"></darenItem>
 | 
			
		||||
                                <darenItem style="margin-right:23rpx"></darenItem> -->
 | 
			
		||||
									<darenItem v-for="item in recommendList.slice(0,3)" :key="item.id" :info="item" v-on:pChangeType="changeType"></darenItem>
 | 
			
		||||
								</view>
 | 
			
		||||
							</view>
 | 
			
		||||
							<view class="list">
 | 
			
		||||
								<view>
 | 
			
		||||
									<!-- <videoItem isguanzhu="true" v-for="item in 10"></videoItem> -->
 | 
			
		||||
									<videoItem isguanzhu="true" v-for="item in articleList.filter((_, index) => !(index&1))" :key="item.article_id"
 | 
			
		||||
									 :item="item" @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view style="margin-left:20rpx">
 | 
			
		||||
									<!-- <videoItem isguanzhu="true" v-for="item in 10"></videoItem> -->
 | 
			
		||||
									<videoItem isguanzhu="true" v-for="item in articleList.filter((_, index) => index&1)" :key="item.article_id"
 | 
			
		||||
									 :item="item" @getArticlelist="getArticlelist"></videoItem>
 | 
			
		||||
								</view>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
 | 
			
		||||
					</scroll-view>
 | 
			
		||||
				</swiper-item>
 | 
			
		||||
			</swiper>
 | 
			
		||||
		</view>
 | 
			
		||||
	</view>
 | 
			
		||||
 | 
			
		||||
</template>
 | 
			
		||||
@ -203,7 +208,7 @@
 | 
			
		||||
				recommendList: [], // 推荐达人
 | 
			
		||||
				indexImageSwiper: [],
 | 
			
		||||
				zhiboImageSwiper: [],
 | 
			
		||||
				tabLiveLists:[]
 | 
			
		||||
				tabLiveLists: []
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		components: {
 | 
			
		||||
@ -220,8 +225,8 @@
 | 
			
		||||
			this.tabLiveList();
 | 
			
		||||
		},
 | 
			
		||||
		methods: {
 | 
			
		||||
			tabLiveList(){
 | 
			
		||||
				this.$u.api.tabLiveList().then((res)=>{
 | 
			
		||||
			tabLiveList() {
 | 
			
		||||
				this.$u.api.tabLiveList().then((res) => {
 | 
			
		||||
					console.log(res)
 | 
			
		||||
					this.tabLiveLists = res.data
 | 
			
		||||
				})
 | 
			
		||||
@ -233,12 +238,12 @@
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			changeType(member_id){
 | 
			
		||||
			changeType(member_id) {
 | 
			
		||||
				console.log(member_id);
 | 
			
		||||
				this.$emit("pChangeType")
 | 
			
		||||
				this.$u.api.attentionMember({
 | 
			
		||||
					member_id: member_id
 | 
			
		||||
				}).then((res)=>{
 | 
			
		||||
				}).then((res) => {
 | 
			
		||||
					console.log(res)
 | 
			
		||||
					this.getRecommendList();
 | 
			
		||||
				})
 | 
			
		||||
@ -263,7 +268,7 @@
 | 
			
		||||
					page: this.page,
 | 
			
		||||
					is_video_img: 0, // 查询视频1 图文2 都查0
 | 
			
		||||
				}).then(res => {
 | 
			
		||||
					console.log('37647744ghj',res)
 | 
			
		||||
					console.log('37647744ghj', res)
 | 
			
		||||
					if (res.errCode == 0) {
 | 
			
		||||
						this.articleList = res.data.list;
 | 
			
		||||
					}
 | 
			
		||||
@ -278,10 +283,10 @@
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			toSearchPage() {
 | 
			
		||||
			console.log("22");
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
			    url: '/pageB/follow/index'
 | 
			
		||||
			});
 | 
			
		||||
				console.log("22");
 | 
			
		||||
				uni.navigateTo({
 | 
			
		||||
					url: '/pageB/follow/index'
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			clickFImage(index) {
 | 
			
		||||
				const item = this.indexImageSwiper[index];
 | 
			
		||||
 | 
			
		||||
@ -124,7 +124,11 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { mapState } from 'vuex';
 | 
			
		||||
export default {
 | 
			
		||||
	computed: {
 | 
			
		||||
		...mapState(['hasLogin', 'token'])
 | 
			
		||||
	},
 | 
			
		||||
    data() {
 | 
			
		||||
        return {
 | 
			
		||||
            userInfo: {},
 | 
			
		||||
@ -136,6 +140,12 @@ export default {
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	onShow() {
 | 
			
		||||
		// 尝试登录
 | 
			
		||||
		if (!this.hasLogin) {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: "../../pageA/login/login"
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
		this.getUserInfo();
 | 
			
		||||
	},
 | 
			
		||||
	onNavigationBarButtonTap() {
 | 
			
		||||
@ -160,7 +170,7 @@ export default {
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.mine {
 | 
			
		||||
	min-height: calc(calc(100vh - var(--window-top)) - 50px);
 | 
			
		||||
	min-height: calc(calc(100vh - var(--window-top)));
 | 
			
		||||
	background: #ECECEC;
 | 
			
		||||
    .mine-top {
 | 
			
		||||
		// width: 100%;
 | 
			
		||||
@ -295,7 +305,7 @@ export default {
 | 
			
		||||
				$content-padding-top: 22rpx, 
 | 
			
		||||
				$content-padding-bottom: 30rpx, 
 | 
			
		||||
				$image-height: 36rpx,
 | 
			
		||||
				$image-width: 36rpx,
 | 
			
		||||
				$image-width: 36rpx
 | 
			
		||||
			);
 | 
			
		||||
			.title {
 | 
			
		||||
				justify-content: space-between;
 | 
			
		||||
@ -337,7 +347,7 @@ export default {
 | 
			
		||||
				$content-padding-top: 8rpx,
 | 
			
		||||
				$content-padding-bottom: 25rpx, 
 | 
			
		||||
				$image-height: 71rpx,
 | 
			
		||||
				$image-width: 71rpx,
 | 
			
		||||
				$image-width: 71rpx
 | 
			
		||||
			);
 | 
			
		||||
			.content {
 | 
			
		||||
				> view:not(:last-child) {
 | 
			
		||||
@ -350,7 +360,7 @@ export default {
 | 
			
		||||
				$content-padding-top: 8rpx, 
 | 
			
		||||
				$content-padding-bottom: 48rpx, 
 | 
			
		||||
				$image-height: 71rpx,
 | 
			
		||||
				$image-width: 71rpx,
 | 
			
		||||
				$image-width: 71rpx
 | 
			
		||||
			);
 | 
			
		||||
			.content {
 | 
			
		||||
				> view:not(:last-child) {
 | 
			
		||||
 | 
			
		||||
@ -1,305 +1,322 @@
 | 
			
		||||
<template>
 | 
			
		||||
    <scroll-view class="shop" scroll-y @scrolltolower="onreachBottom">
 | 
			
		||||
        <view class="top">
 | 
			
		||||
            <image src="/static/image/shop/1.png" class="local"></image>
 | 
			
		||||
            <view class="add" @click="chooseArea=true">
 | 
			
		||||
                <text class="u-line-1">{{ area }}</text>
 | 
			
		||||
                <image src="/static/image/shop/2.png"></image>
 | 
			
		||||
            </view>
 | 
			
		||||
            <view @click="sousuo">
 | 
			
		||||
                <u-search placeholder="" v-model="keyword" :show-action="false" bg-color="#fff" border-color="#999999" :disabled="true"></u-search>
 | 
			
		||||
            </view>
 | 
			
		||||
            <image src="/static/image/shop/3.png" class="mnue" @click="toClassifyPage"></image>
 | 
			
		||||
        </view>
 | 
			
		||||
        <view class="swiper-image">
 | 
			
		||||
			<u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
 | 
			
		||||
		</view>
 | 
			
		||||
        <view class="chengnuo">
 | 
			
		||||
            <view>
 | 
			
		||||
                <image src="/static/image/shop/4.png"></image>
 | 
			
		||||
                <text>免费洗衣</text>
 | 
			
		||||
            </view>
 | 
			
		||||
            <view>
 | 
			
		||||
                <image src="/static/image/shop/5.png"></image>
 | 
			
		||||
                <text>全国包邮</text>
 | 
			
		||||
            </view>
 | 
			
		||||
            <view>
 | 
			
		||||
                <image src="/static/image/shop/6.png"></image>
 | 
			
		||||
                <text>延误必赔</text>
 | 
			
		||||
            </view>
 | 
			
		||||
            <view>
 | 
			
		||||
                <image src="/static/image/shop/7.png"></image>
 | 
			
		||||
                <text>上门取件</text>
 | 
			
		||||
            </view>
 | 
			
		||||
        </view>
 | 
			
		||||
        <view class="fenlei">
 | 
			
		||||
            <shopitem v-for="item in goodsClassify" :key="item.gc_id" :info="item" class="item"></shopitem>
 | 
			
		||||
        </view>
 | 
			
		||||
		<!-- 秒杀 -->
 | 
			
		||||
        <recommend v-if="JSON.stringify(recommendedSpike) != '{}'" :recommendData="recommendedSpike" type="spike"></recommend>
 | 
			
		||||
		<!-- 秒杀列表 -->
 | 
			
		||||
        <seckill v-if="spikeList.length" :list="spikeList" :time="seckillTime"></seckill>
 | 
			
		||||
		<!-- 拼团推荐 -->
 | 
			
		||||
        <pintuan v-if="JSON.stringify(pinTuanPush) != '{}'" :recommendData="pinTuanPush"></pintuan>
 | 
			
		||||
		<!-- 拼团列表 -->
 | 
			
		||||
        <group></group>
 | 
			
		||||
		<view class="activity-view">
 | 
			
		||||
			<image class="lingquan" :src="activityInfo.adv_code" @click="activityLink({ type: activityInfo.url_type, id: activityInfo.info_id })"></image>
 | 
			
		||||
		</view>
 | 
			
		||||
        <youhq></youhq>
 | 
			
		||||
        <list ref="recommendGoods"></list>
 | 
			
		||||
		<view class="cart" @click="toCartPage">
 | 
			
		||||
			<image src="/static/image/common/3.png"></image>
 | 
			
		||||
		</view>
 | 
			
		||||
		<u-picker mode="region" :params="areaParams" v-model="chooseArea" @confirm="setArea"></u-picker>
 | 
			
		||||
    </scroll-view>
 | 
			
		||||
	<view>
 | 
			
		||||
		<view class="status_bar"></view>
 | 
			
		||||
		<scroll-view class="shop" scroll-y @scrolltolower="onreachBottom">
 | 
			
		||||
			<view class="top">
 | 
			
		||||
				<image src="/static/image/shop/1.png" class="local"></image>
 | 
			
		||||
				<view class="add" @click="chooseArea=true">
 | 
			
		||||
					<text class="u-line-1">{{ area }}</text>
 | 
			
		||||
					<image src="/static/image/shop/2.png"></image>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view @click="sousuo">
 | 
			
		||||
					<u-search placeholder="" v-model="keyword" :show-action="false" bg-color="#fff" border-color="#999999" :disabled="true"></u-search>
 | 
			
		||||
				</view>
 | 
			
		||||
				<image src="/static/image/shop/3.png" class="mnue" @click="toClassifyPage"></image>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="swiper-image">
 | 
			
		||||
				<u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="chengnuo">
 | 
			
		||||
				<view>
 | 
			
		||||
					<image src="/static/image/shop/4.png"></image>
 | 
			
		||||
					<text>免费洗衣</text>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view>
 | 
			
		||||
					<image src="/static/image/shop/5.png"></image>
 | 
			
		||||
					<text>全国包邮</text>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view>
 | 
			
		||||
					<image src="/static/image/shop/6.png"></image>
 | 
			
		||||
					<text>延误必赔</text>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view>
 | 
			
		||||
					<image src="/static/image/shop/7.png"></image>
 | 
			
		||||
					<text>上门取件</text>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="fenlei">
 | 
			
		||||
				<shopitem v-for="item in goodsClassify" :key="item.gc_id" :info="item" class="item"></shopitem>
 | 
			
		||||
			</view>
 | 
			
		||||
			<!-- 秒杀 -->
 | 
			
		||||
			<recommend v-if="JSON.stringify(recommendedSpike) != '{}'" :recommendData="recommendedSpike" type="spike"></recommend>
 | 
			
		||||
			<!-- 秒杀列表 -->
 | 
			
		||||
			<seckill v-if="spikeList.length" :list="spikeList" :time="seckillTime"></seckill>
 | 
			
		||||
			<!-- 拼团推荐 -->
 | 
			
		||||
			<pintuan v-if="JSON.stringify(pinTuanPush) != '{}'" :recommendData="pinTuanPush"></pintuan>
 | 
			
		||||
			<!-- 拼团列表 -->
 | 
			
		||||
			<group></group>
 | 
			
		||||
			<image class="lingquan"></image>
 | 
			
		||||
			<youhq></youhq>
 | 
			
		||||
			<list ref="recommendGoods"></list>
 | 
			
		||||
			<view class="cart" @click="toCartPage">
 | 
			
		||||
				<image src="/static/image/common/3.png"></image>
 | 
			
		||||
			</view>
 | 
			
		||||
			<u-picker mode="selector" :range="areaList" v-model="chooseArea" range-key="area_name" @confirm="setArea"></u-picker>
 | 
			
		||||
		</scroll-view>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import shopitem from "@/components/shop/shop-item/index";
 | 
			
		||||
import recommend from "@/components/shop/recommend/index";
 | 
			
		||||
import pintuan from "@/components/shop/recommend/pintuan";
 | 
			
		||||
import seckill from "@/components/shop/seckill/index";
 | 
			
		||||
import group from "@/components/shop/group/index";
 | 
			
		||||
import youhq from "@/components/shop/youhq/index";
 | 
			
		||||
import list from "@/components/shop/list/index";
 | 
			
		||||
export default {
 | 
			
		||||
    name: "shop",
 | 
			
		||||
    components: {
 | 
			
		||||
        shopitem,
 | 
			
		||||
        recommend,
 | 
			
		||||
        seckill,
 | 
			
		||||
        group,
 | 
			
		||||
        youhq,
 | 
			
		||||
		list,
 | 
			
		||||
		pintuan
 | 
			
		||||
    },
 | 
			
		||||
    data() {
 | 
			
		||||
        return {
 | 
			
		||||
			area: "请选择",
 | 
			
		||||
			chooseArea: false,
 | 
			
		||||
			areaParams: {
 | 
			
		||||
				province: true,
 | 
			
		||||
				city: true,
 | 
			
		||||
				area: false
 | 
			
		||||
	import shopitem from "@/components/shop/shop-item/index";
 | 
			
		||||
	import recommend from "@/components/shop/recommend/index";
 | 
			
		||||
	import pintuan from "@/components/shop/recommend/pintuan";
 | 
			
		||||
	import seckill from "@/components/shop/seckill/index";
 | 
			
		||||
	import group from "@/components/shop/group/index";
 | 
			
		||||
	import youhq from "@/components/shop/youhq/index";
 | 
			
		||||
	import list from "@/components/shop/list/index";
 | 
			
		||||
	export default {
 | 
			
		||||
		name: "shop",
 | 
			
		||||
		components: {
 | 
			
		||||
			shopitem,
 | 
			
		||||
			recommend,
 | 
			
		||||
			seckill,
 | 
			
		||||
			group,
 | 
			
		||||
			youhq,
 | 
			
		||||
			list,
 | 
			
		||||
			pintuan
 | 
			
		||||
		},
 | 
			
		||||
		data() {
 | 
			
		||||
			return {
 | 
			
		||||
				area: "请选择",
 | 
			
		||||
				chooseArea: false,
 | 
			
		||||
				keyword: "",
 | 
			
		||||
				list: [],
 | 
			
		||||
				goodsClassify: [], // 商品分类
 | 
			
		||||
				// classifyList: [],
 | 
			
		||||
				recommendedSpike: {}, // 秒杀推荐
 | 
			
		||||
				spikeList: [], // 全部秒杀列表
 | 
			
		||||
				seckillTime: {}, // 秒杀时间
 | 
			
		||||
				// couponGroupList: [], // 优惠券拼团分类
 | 
			
		||||
				pinTuanPush: {}, // 拼团推荐
 | 
			
		||||
				areaList: [], // 位置信息
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		onLoad() {
 | 
			
		||||
			this.getShopTopList();
 | 
			
		||||
			this.getLocation(); // 获取定位
 | 
			
		||||
			// this.area = uni.getStorageSync("address") || "请选择";
 | 
			
		||||
		},
 | 
			
		||||
		onShow() {
 | 
			
		||||
			this.getRecommendedSpike();
 | 
			
		||||
			this.getSpikeList();
 | 
			
		||||
			this.getPinTuanPush();
 | 
			
		||||
			this.getAllLoaction(); // 获取位置
 | 
			
		||||
		},
 | 
			
		||||
		methods: {
 | 
			
		||||
			sousuo() {
 | 
			
		||||
				// console.log(123)
 | 
			
		||||
				this.$u.route({
 | 
			
		||||
					url: "pageB/search/index"
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
            keyword: "",
 | 
			
		||||
			list: [],
 | 
			
		||||
			goodsClassify: [], // 商品分类
 | 
			
		||||
			// classifyList: [],
 | 
			
		||||
			recommendedSpike: {}, // 秒杀推荐
 | 
			
		||||
			spikeList: [], // 全部秒杀列表
 | 
			
		||||
			seckillTime: {}, // 秒杀时间
 | 
			
		||||
			// couponGroupList: [], // 优惠券拼团分类
 | 
			
		||||
			pinTuanPush: {}, // 拼团推荐
 | 
			
		||||
			activityInfo: {},
 | 
			
		||||
        }
 | 
			
		||||
	},
 | 
			
		||||
	onLoad() {
 | 
			
		||||
		this.getShopTopList();
 | 
			
		||||
	},
 | 
			
		||||
	onShow() {
 | 
			
		||||
		this.getRecommendedSpike();
 | 
			
		||||
		this.getSpikeList();
 | 
			
		||||
		this.getPinTuanPush();
 | 
			
		||||
		this.getStoreActivity();
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
        sousuo() {
 | 
			
		||||
            // console.log(123)
 | 
			
		||||
            this.$u.route({
 | 
			
		||||
                url:"pageB/search/index"
 | 
			
		||||
            })
 | 
			
		||||
        },
 | 
			
		||||
		getShopTopList() {
 | 
			
		||||
			this.$u.api.getShopTopList().then((res)=>{
 | 
			
		||||
				if (res.errCode == 0) {
 | 
			
		||||
					let temp = [];
 | 
			
		||||
					res.data.banner.forEach(item => {
 | 
			
		||||
						temp.push({
 | 
			
		||||
							image: item.adv_code,
 | 
			
		||||
							adv_link: item.adv_link,
 | 
			
		||||
							adv_id: item.adv_id,
 | 
			
		||||
						})
 | 
			
		||||
					})
 | 
			
		||||
					this.list = temp;
 | 
			
		||||
					this.goodsClassify = res.data.goodsclass;
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		getRecommendedSpike() {
 | 
			
		||||
			this.$u.api.recommendedSpike().then(res => {
 | 
			
		||||
				if(res.errCode == 0) this.recommendedSpike = res.data;
 | 
			
		||||
				// console.log(this.recommendedSpike);
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		// 拼团推荐
 | 
			
		||||
		getPinTuanPush() {
 | 
			
		||||
			this.$u.api.getPinTuanPush().then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.pinTuanPush = res.data;
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		// 全部秒杀
 | 
			
		||||
		getSpikeList() {
 | 
			
		||||
			this.$u.api.getSpikeList({ page: 0 }).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.spikeList = res.data.list;
 | 
			
		||||
					this.seckillTime = {
 | 
			
		||||
						bigHour: res.data.bigHour,
 | 
			
		||||
						littleHour: res.data.littleHour,
 | 
			
		||||
			// 获取定位
 | 
			
		||||
			getLocation() {
 | 
			
		||||
				uni.getLocation({
 | 
			
		||||
					type: 'wgs84',
 | 
			
		||||
					geocode: true,
 | 
			
		||||
					success: (res) => {
 | 
			
		||||
						// console.log(res.address);
 | 
			
		||||
						this.area = res.address.city;
 | 
			
		||||
					},
 | 
			
		||||
					fail: (e) => {
 | 
			
		||||
						console.log(e);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			// 获取位置
 | 
			
		||||
			getAllLoaction() {
 | 
			
		||||
				this.$u.api.getAreaList({pid: 0}).then(res => {
 | 
			
		||||
					// console.log(res);
 | 
			
		||||
					this.areaList = res.data;
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			getShopTopList() {
 | 
			
		||||
				this.$u.api.getShopTopList().then((res) => {
 | 
			
		||||
					if (res.errCode == 0) {
 | 
			
		||||
						let temp = [];
 | 
			
		||||
						res.data.banner.forEach(item => {
 | 
			
		||||
							temp.push({
 | 
			
		||||
								image: item.adv_code,
 | 
			
		||||
								adv_link: item.adv_link,
 | 
			
		||||
								adv_id: item.adv_id,
 | 
			
		||||
							})
 | 
			
		||||
						})
 | 
			
		||||
						this.list = temp;
 | 
			
		||||
						this.goodsClassify = res.data.goodsclass;
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			getRecommendedSpike() {
 | 
			
		||||
				this.$u.api.recommendedSpike().then(res => {
 | 
			
		||||
					if (res.errCode == 0) this.recommendedSpike = res.data;
 | 
			
		||||
					// console.log(this.recommendedSpike);
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			// 拼团推荐
 | 
			
		||||
			getPinTuanPush() {
 | 
			
		||||
				this.$u.api.getPinTuanPush().then(res => {
 | 
			
		||||
					if (res.errCode == 0) {
 | 
			
		||||
						this.pinTuanPush = res.data;
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			// 全部秒杀
 | 
			
		||||
			getSpikeList() {
 | 
			
		||||
				this.$u.api.getSpikeList({
 | 
			
		||||
					page: 0
 | 
			
		||||
				}).then(res => {
 | 
			
		||||
					if (res.errCode == 0) {
 | 
			
		||||
						this.spikeList = res.data.list;
 | 
			
		||||
						this.seckillTime = {
 | 
			
		||||
							bigHour: res.data.bigHour,
 | 
			
		||||
							littleHour: res.data.littleHour,
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			clickImage(index) {
 | 
			
		||||
				console.log(index);
 | 
			
		||||
				console.log(this.list[index]);
 | 
			
		||||
			},
 | 
			
		||||
			// 下拉加载更多推荐商品
 | 
			
		||||
			onreachBottom() {
 | 
			
		||||
				this.$refs.recommendGoods.loadMore();
 | 
			
		||||
			},
 | 
			
		||||
			setArea(e) {
 | 
			
		||||
				console.log(e);
 | 
			
		||||
				this.area = this.areaList[e[0]].area_name;
 | 
			
		||||
			},
 | 
			
		||||
			toCartPage() {
 | 
			
		||||
				uni.navigateTo({
 | 
			
		||||
					url: '/pageC/cart/index'
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			toClassifyPage() {
 | 
			
		||||
				uni.navigateTo({
 | 
			
		||||
					url: '/pageC/classify/index'
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		clickImage(index) {
 | 
			
		||||
			console.log(index);
 | 
			
		||||
			console.log(this.list[index]);
 | 
			
		||||
		},
 | 
			
		||||
		// 下拉加载更多推荐商品
 | 
			
		||||
		onreachBottom() {
 | 
			
		||||
			this.$refs.recommendGoods.loadMore();
 | 
			
		||||
		},
 | 
			
		||||
		setArea(e) {
 | 
			
		||||
			// console.log(e);
 | 
			
		||||
			this.area = e.city.label;
 | 
			
		||||
		},
 | 
			
		||||
		toCartPage() {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: '/pageC/cart/index'
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		toClassifyPage() {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: '/pageC/classify/index'
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		getStoreActivity() {
 | 
			
		||||
			this.$u.api.getStoreActivity().then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.activityInfo = res.data;
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		activityLink({ type, id }) {
 | 
			
		||||
			if(type == 0 || type == 2) return false;
 | 
			
		||||
			// type 1 商品详情页, 2 店铺详情页
 | 
			
		||||
			const url = type == 1 ? 'pageB/sdetails/index' : '';
 | 
			
		||||
			let params = { id: id };
 | 
			
		||||
			// type: 1 // 商品详情 1普通 2拼团 3秒杀 4优惠券
 | 
			
		||||
			if(type == 1) Object.assign(params, { type: 1 });
 | 
			
		||||
			this.$u.route({
 | 
			
		||||
				url: url,
 | 
			
		||||
				params: params
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.shop {
 | 
			
		||||
	height: calc(100vh - var(--window-top));
 | 
			
		||||
	box-sizing: border-box;
 | 
			
		||||
	background-color: #F0EDF1;
 | 
			
		||||
    .top {
 | 
			
		||||
		padding: 0 30rpx;
 | 
			
		||||
		background-color: #ffffff;
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 88rpx;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        align-items: center;
 | 
			
		||||
        .local{
 | 
			
		||||
            width: 31rpx;
 | 
			
		||||
            height: 37rpx;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
	.swiper-image {
 | 
			
		||||
		background-color: #ffffff;
 | 
			
		||||
		padding: 0 30rpx;
 | 
			
		||||
	}
 | 
			
		||||
    .add {
 | 
			
		||||
        width: 115rpx;
 | 
			
		||||
        height: 25rpx;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        font-size: 26rpx;
 | 
			
		||||
        color: #333;
 | 
			
		||||
        justify-content: space-between;
 | 
			
		||||
        align-items: center;
 | 
			
		||||
        margin-left: 14rpx;
 | 
			
		||||
        margin-right: 37rpx;
 | 
			
		||||
		> text {
 | 
			
		||||
			width: 80rpx;
 | 
			
		||||
		}
 | 
			
		||||
        > image {
 | 
			
		||||
            width: 24rpx;
 | 
			
		||||
            height: 15rpx;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    .mnue {
 | 
			
		||||
		background-color: #ffffff;
 | 
			
		||||
        width: 35rpx;
 | 
			
		||||
        height: 26rpx;
 | 
			
		||||
        margin-left: 36rpx;
 | 
			
		||||
    }
 | 
			
		||||
    .chengnuo {
 | 
			
		||||
		padding: 30rpx;
 | 
			
		||||
		background-color: #ffffff;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        justify-content: space-between;
 | 
			
		||||
        align-items: center;
 | 
			
		||||
        > view {
 | 
			
		||||
            display: flex;
 | 
			
		||||
            align-items: center;
 | 
			
		||||
            > image {
 | 
			
		||||
                width: 23rpx;
 | 
			
		||||
                height: 23rpx;
 | 
			
		||||
            }
 | 
			
		||||
            > text {
 | 
			
		||||
                font-size: 22rpx;
 | 
			
		||||
                color: #999;
 | 
			
		||||
                margin-left: 8rpx;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    .fenlei {
 | 
			
		||||
		padding: 30rpx;
 | 
			
		||||
		background-color: #ffffff;
 | 
			
		||||
        display: flex;
 | 
			
		||||
		flex-wrap: wrap;
 | 
			
		||||
		margin-bottom: 20rpx;
 | 
			
		||||
		> view {
 | 
			
		||||
			margin-bottom: 30rpx;
 | 
			
		||||
			&:not(:nth-child(5n)) {
 | 
			
		||||
				margin-right: 70rpx;
 | 
			
		||||
	.shop {
 | 
			
		||||
		height: calc(100vh - var(--window-top));
 | 
			
		||||
		box-sizing: border-box;
 | 
			
		||||
		background-color: #F0EDF1;
 | 
			
		||||
 | 
			
		||||
		.top {
 | 
			
		||||
			padding: 0 30rpx;
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			width: 100%;
 | 
			
		||||
			height: 88rpx;
 | 
			
		||||
			display: flex;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
 | 
			
		||||
			.local {
 | 
			
		||||
				width: 31rpx;
 | 
			
		||||
				height: 37rpx;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
    }
 | 
			
		||||
	.activity-view {
 | 
			
		||||
		padding: 20rpx 30rpx;
 | 
			
		||||
		text-align: center;
 | 
			
		||||
 | 
			
		||||
		.swiper-image {
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			padding: 0 30rpx;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.add {
 | 
			
		||||
			width: 115rpx;
 | 
			
		||||
			height: 25rpx;
 | 
			
		||||
			display: flex;
 | 
			
		||||
			font-size: 26rpx;
 | 
			
		||||
			color: #333;
 | 
			
		||||
			justify-content: space-between;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
			margin-left: 14rpx;
 | 
			
		||||
			margin-right: 37rpx;
 | 
			
		||||
 | 
			
		||||
			>text {
 | 
			
		||||
				width: 80rpx;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			>image {
 | 
			
		||||
				width: 24rpx;
 | 
			
		||||
				height: 15rpx;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.mnue {
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			width: 35rpx;
 | 
			
		||||
			height: 26rpx;
 | 
			
		||||
			margin-left: 36rpx;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.chengnuo {
 | 
			
		||||
			padding: 30rpx;
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			display: flex;
 | 
			
		||||
			justify-content: space-between;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
 | 
			
		||||
			>view {
 | 
			
		||||
				display: flex;
 | 
			
		||||
				align-items: center;
 | 
			
		||||
 | 
			
		||||
				>image {
 | 
			
		||||
					width: 23rpx;
 | 
			
		||||
					height: 23rpx;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				>text {
 | 
			
		||||
					font-size: 22rpx;
 | 
			
		||||
					color: #999;
 | 
			
		||||
					margin-left: 8rpx;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.fenlei {
 | 
			
		||||
			padding: 30rpx;
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			display: flex;
 | 
			
		||||
			flex-wrap: wrap;
 | 
			
		||||
			margin-bottom: 20rpx;
 | 
			
		||||
 | 
			
		||||
			>view {
 | 
			
		||||
				margin-bottom: 30rpx;
 | 
			
		||||
 | 
			
		||||
				&:not(:nth-child(5n)) {
 | 
			
		||||
					margin-right: 70rpx;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.lingquan {
 | 
			
		||||
			width: 750rpx;
 | 
			
		||||
			height: 177rpx;
 | 
			
		||||
			margin-left: -33rpx;
 | 
			
		||||
			margin-top: 29rpx;
 | 
			
		||||
			background-color: #ececec;
 | 
			
		||||
			width: 688rpx;
 | 
			
		||||
			height: 138rpx;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.cart {
 | 
			
		||||
			z-index: 9;
 | 
			
		||||
			position: fixed;
 | 
			
		||||
			right: 30rpx;
 | 
			
		||||
			bottom: 300rpx;
 | 
			
		||||
			width: 100rpx;
 | 
			
		||||
			height: 100rpx;
 | 
			
		||||
			background: rgba(253, 211, 96, 1);
 | 
			
		||||
			box-shadow: 0rpx 10rpx 6rpx 0rpx rgba(253, 211, 96, 0.34);
 | 
			
		||||
			border-radius: 50%;
 | 
			
		||||
			display: flex;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
			justify-content: center;
 | 
			
		||||
 | 
			
		||||
			>image {
 | 
			
		||||
				width: 56rpx;
 | 
			
		||||
				height: 54rpx;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	.cart {
 | 
			
		||||
		z-index: 9;
 | 
			
		||||
		position: fixed;
 | 
			
		||||
		right: 30rpx;
 | 
			
		||||
		bottom: 300rpx;
 | 
			
		||||
		width: 100rpx;
 | 
			
		||||
		height: 100rpx;
 | 
			
		||||
		background: rgba(253, 211, 96, 1);
 | 
			
		||||
		box-shadow: 0rpx 10rpx 6rpx 0rpx rgba(253,211,96,0.34);
 | 
			
		||||
		border-radius: 50%;
 | 
			
		||||
		display: flex;
 | 
			
		||||
		align-items: center;
 | 
			
		||||
		justify-content: center;
 | 
			
		||||
		> image {
 | 
			
		||||
			width: 56rpx;
 | 
			
		||||
			height: 54rpx;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}  
 | 
			
		||||
</style>
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user