From efa9bfe98ba906e4c9b8f49c89f5da162a46bb0f Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期一, 13 一月 2025 10:21:24 +0800
Subject: [PATCH] 1.微信一键登录:新增“同意用户协议”之后才可登录

---
 pages/home/home.vue |  951 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 551 insertions(+), 400 deletions(-)

diff --git a/pages/home/home.vue b/pages/home/home.vue
index 575ad37..5f48b92 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -1,405 +1,556 @@
-<template>
-	<view class="main-container home">
-		<!-- 顶部,可能 -->
-		<view class="school" :style="{'background-color': color,'padding-top':(StatusBar)+'px'
-		,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }">
-			<view class="home-logo"></view>
-
-			<picker @change="PickerChangeSchool" :value="schoolIndex" :range="schools" range-key="name">
-				<view class="picker flex">
-					<!-- <text class="cuIcon-locationfill"></text> -->
-					<uni-icons type="location" class="m-l-15 m-r-5" size="18"></uni-icons>
-					<view>
-						{{ schoolIndex>=0&&schools[schoolIndex].name ? schools[schoolIndex].name : '选择校区' }}
-					</view>
-					<!-- <text class="cuIcon-unfold margin-left-xs"></text> -->
+<template>
+	<view class="main-container user-home">
+		<view class="bg-top-green"></view>
+		<!-- 顶部,可能 -->
+		<view class="school flex" :style="{'padding-top':(StatusBar + 8 )+'px'
+		,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }">
+			<!--   <picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
+        <view class="picker flex">
+          <uni-icons type="location" class="m-r-5" size="18"></uni-icons>
+          <view>
+            {{ areaIndex >= 0 && schools[areaIndex].name ? schools[areaIndex].name : '选择位置' }}
+          </view>
+        </view>
+      </picker> -->
+			<view class="picker flex" @click.stop="goToAddress">
+				<uni-icons type="location" class="m-r-5" size="18"></uni-icons>
+				<view>
+					{{ current_address }}
 				</view>
-			</picker>
-		</view>
-		<!-- <view :style="{'background-color': color,'padding-top':(StatusBar)+'px',height:CustomBar+'px'}"></view> -->
-
-
-		<!-- banner -->
-		<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
-			:mode="'dot'" :dots-styles="dotsStyles[0]" field="content">
-			<swiper class="swiper-box" @change="changeBanner" :interval="10000" :circular="true" :current="0"
-				v-if="banners&&banners.length>0" :autoplay="true">
-				<swiper-item v-for="(item, index) in banners" :key="index">
-					<view class="swiper-item" :class="'swiper-item' + index">
-						<image @click="previewImg(item.imageSmall||item.image)" class="home-banner-image"
-							mode="aspectFit" :src="item.imageSmall||item.image">
-						</image>
-					</view>
-				</swiper-item>
-				<animation-words :words="words" v-if="words&&words.length>0"></animation-words>
-
-			</swiper>
-			<swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0">
-				<swiper-item v-for="(item, index) in 1" :key="index">
-					<view class="swiper-item" :class="'swiper-item' + index">
-						<image class="home-banner-image" mode="scaleToFill"
-							src="https://xy-go.oss-cn-beijing.aliyuncs.com/51/51abd2f29d104a78a5d6dcc27078716a位图@2x (4).png">
-						</image>
-					</view>
-				</swiper-item>
-				<animation-words :words="words" v-if="words&&words.length>0"></animation-words>
-
-			</swiper>
-		</uni-swiper-dot>
-		<!-- tip -->
-		<view class="p10">
-			<uni-notice-bar @click="getNoticeMore" v-if="currentNotice&&currentNotice.id" class="notice-bar"
-				color="#333" background-color="#fff" show-get-more show-icon :scrollable="scrollable"
-				:text="currentNotice.title" :key="currentNotice.id" />
-			<span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
-		</view>
-
-		<!-- 各种按钮 -->
-		<home-buttons></home-buttons>
-		<!-- 推荐的成团的 -->
-		<view class="p15" style="padding-top: 0rpx;" v-if="tuangouList&&tuangouList.length>0">
-			<view class="home-shop-top">
-				<!-- <view>即将成团</view> -->
-				<image src="../../static/imgs/home/home-shop-top-txt.png" mode="aspectFit" class="title"></image>
-				<image src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit" class="icon"></image>
-
-				<card-list-item type='shop' :dto="tuangouList[0]" @pop="pop"></card-list-item>
+				<uni-icons class="icon" type="left"  style="transform: rotate(-90deg);margin-left: 10rpx;" size="20"></uni-icons>
+				
 			</view>
-		</view>
-		<!-- 出去玩的 -->
-		<view class="p15" style="padding-top: 0rpx;padding-bottom: 0rpx;" v-if="tripList&&tripList.length>0">
-			<view class="home-travel-top">
-				<!-- <view>粗去玩</view> -->
-				<image src="../../static/imgs/home/home-travel-top-txt.png" mode="aspectFit" class="title"></image>
-				<image src="../../static/imgs/home/home-travel-top-icon.png" mode="aspectFit" class="icon"></image>
-				<card-list-item type='travel' :dto="tripList[0]"></card-list-item>
-			</view>
-		</view>
-
-		<!-- 3个tab选项 -->
-
-		<view class="p15" style="padding-bottom: 10rpx;">
-			<!-- @change="changeTab" -->
-			<top-tabs :tabs="tabs" :flg.sync="tabIndex"></top-tabs>
-
-
-
-		</view>
-		<!-- 根据不同的 -->
-		<view class="" style="padding-left: 30rpx;padding-right: 30rpx;">
-			<view v-show="tabIndex==0" style="min-height: 400rpx;">
-				<!-- 加载推荐位置的? -->
-				<no-data v-if="!tuangouList||tuangouList.length==0" style="width: 100%;"></no-data>
-				<view class="m-b-24" v-for="item of tuangouList">
-					<card-list-item type='shop' :dto="item" @pop="pop"></card-list-item>
-				</view>
-			</view>
-			<view v-show="tabIndex==1" style="min-height: 400rpx;">
-				<!-- 加载推荐位置的? -->
-				<no-data v-if="!tripList||tripList.length==0" style="width: 100%;"></no-data>
-
-				<view class="m-b-24" v-for="item of tripList">
-					<card-list-item type='travel' :dto="item" class="m-b-24"></card-list-item>
-				</view>
-
-			</view>
-		</view>
-		<view v-show="tabIndex==2" style="margin-top: -10rpx;">
-			<home-goods ref="homegoods"></home-goods>
-
-		</view>
-		<view style="padding-bottom:200rpx">
-		</view>
-		<supplier-footer flg="0"></supplier-footer>
-
-	</view>
-</template>
-
-<script>
-	import homeButtons from './components/home-buttons.vue'
-	import homeGoods from './components/home-goods.vue'
-	import animationWords from '@/components/animation-words'
-
-	export default {
-		components: {
-			homeButtons,
-			homeGoods,
-			animationWords
-		},
-
-		data() {
-			return {
-				CustomBar: uni.getStorageSync('CustomBar'),
-				StatusBar: uni.getStorageSync('StatusBar'),
-				// StatusBar:0,
-				color: '#fff',
-				schools: [],
-				schoolIndex: -1,
-				scrollable: false,
-				tabs: [{
-						name: '团购',
-						id: 'shop'
-					},
-					{
-						name: '粗去玩',
-						id: 'travel'
-					},
-					{
-						name: '挖宝商品',
-						id: 'good'
-					},
-				],
-				tabIndex: 2,
-				info: [{
-						colorClass: 'uni-bg-red',
-						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
-						content: '内容 A'
-					},
-					{
-						colorClass: 'uni-bg-green',
-						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
-						content: '内容 B'
-					},
-					{
-						colorClass: 'uni-bg-blue',
-						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
-						content: '内容 C'
-					}
-				],
-				dotStyle: [{
-						backgroundColor: 'rgba(0, 0, 0, .3)',
-						border: '1px rgba(0, 0, 0, .3) solid',
-						color: '#fff',
-						selectedBackgroundColor: 'rgba(0, 0, 0, .9)',
-						selectedBorder: '1px rgba(0, 0, 0, .9) solid'
-					},
-					{
-						backgroundColor: 'rgba(255, 90, 95,0.3)',
-						border: '1px rgba(255, 90, 95,0.3) solid',
-						color: '#fff',
-						selectedBackgroundColor: 'rgba(255, 90, 95,0.9)',
-						selectedBorder: '1px rgba(255, 90, 95,0.9) solid'
-					},
-					{
-						backgroundColor: 'rgba(83, 200, 249,0.3)',
-						border: '1px rgba(83, 200, 249,0.3) solid',
-						color: '#fff',
-						selectedBackgroundColor: 'rgba(83, 200, 249,0.9)',
-						selectedBorder: '1px rgba(83, 200, 249,0.9) solid'
-					}
-				],
-				currentBanner: 0,
-				banners: [],
-				tripList: [],
-				tuangouList: [],
-				hide_footer: false,
-				words: [], //弹幕
-				noticeList: [],
-				currentNoticeIndex: 0,
-				currentNotice: {
-
+			<view class="m-l-a m-r-0" style="position: relative;" @click="goto('/sub_pages/supplier/customer_service/customer_service',false)">
+				<view class="icon-kf-p">
+					<!-- <view>客服</view> -->
+					<image src="@/static/common/icon-kf.png" class="icon-kf img100"></image>
+				</view>				
+			</view>
+		</view>
+		<view class="search-container m-t-12 flex" @click="goto('/pages/home/components/home-search',false)">
+			<view class="flex1 input">
+				<u-input placeholder="请输入花名或店铺名" disabled v-model="search_flow">
+					<template slot="suffix">
+						<!-- @click="buttonSearchFlow" -->
+						<uni-icons color="#20613D" type="search" size="24"></uni-icons>
+					</template>
+				</u-input>
+			</view>
+		</view>
+
+		<!-- banner -->
+		<!-- 	<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
+			:mode="'dot'" :dots-styles="dotsStyles[0]" field="content"> -->
+		<swiper class="swiper-box" @change="changeBanner" :interval="10000" :circular="true" :current="0"
+			v-if="banners&&banners.length>0" :autoplay="true">
+			<swiper-item v-for="(item, index) in banners" :key="index">
+				<view class="swiper-item" :class="'swiper-item' + index">
+					<!-- @click="previewImg(item.url||item.image)" -->
+					<image class="home-banner-image" mode="scaleToFill" @click="clickBanner(item)"
+						:src="item.url||item.image">
+					</image>
+				</view>
+			</swiper-item>
+		</swiper>
+		<swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0">
+			<swiper-item v-for="(item, index) in 1" :key="index">
+				<view class="swiper-item" :class="'swiper-item' + index">
+					<image class="home-banner-image" mode="scaleToFill"
+						src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png">
+					</image>
+				</view>
+			</swiper-item>
+		</swiper>
+		<!-- </uni-swiper-dot> -->
+		<!-- tip -->
+		<view class="m-t-12" @click="getNoticeMore">
+			<uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
+				:scrollable="scrollable" :text="currentNotice.title||'暂无公告'" :key="currentNotice.id" />
+			<span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
+		</view>
+		<!-- 当前分类 -->
+		<home-category ref="home_category"></home-category>
+		<!-- 特别的几个公告图片 -->
+		<home-banner-imgs ref="home_banner"></home-banner-imgs>
+		<!-- 均价情况 -->
+		<!-- <home-price></home-price> -->
+		<!-- 几个专区 -->
+		<home-zones ref="home_zeros"></home-zones>
+		<!-- 置顶的花列表 -->
+		<home-top-flow ref="home_top_flow"></home-top-flow>
+
+		<view style="min-height:140rpx">
+		</view>
+		<common-footer flg="0"></common-footer>
+
+		<uni-popup ref="coupon_home" type="center" border-radius="10px 10px 0 0">
+			<view class="coupon-container" style="width: 690rpx;">
+				<view v-if="dto_home_coupon.imageUrl"  class="coupont-item all" style="display: flex; justify-content: center; align-items: center; height: 100vh;">
+					<view   @click="getCoupon(dto_home_coupon)"
+						:style="{ 
+							backgroundImage: `url(${dto_home_coupon.imageUrl})`, 
+							backgroundSize: 'contain', 
+							backgroundPosition: 'center', 
+							backgroundRepeat: 'no-repeat' ,
+							width: '600px',           // 设置宽度
+							height: '600px'           // 设置高度
+						}">
+					</view>
+				</view>
+				
+				<view class="coupont-item all" v-else>
+					<view class="flex container img100">
+						
+						<view class="info-price">
+							<view class="price1">
+								{{dto_home_coupon.maxDiscountAmount?(`${dto_home_coupon.maxDiscountAmount}折`):(`¥${dto_home_coupon.couponDiscountValue}`)}}
+							</view>
+							<view class="price2">
+								{{dto_home_coupon.minOrderAmount?(`满¥${dto_home_coupon.minOrderAmount}可用`):'无门槛'}}
+							</view>
+						</view>
+						<view class="info flex1">
+							<view class="title">
+								{{dto_home_coupon.couponName||'-'}}
+							</view>
+							<view class="time" v-if="dto_home_coupon.getEndDate">
+								<!-- 领取后{{dto_home_coupon.usageTimeNum||''}}{{dto_home_coupon.usageTimeTypeName||''}}有效 -->
+								{{dto_home_coupon.getEndDate|| '-'}}前有效
+							</view>
+							<view class="button" @click="getCoupon(dto_home_coupon)">
+								立即领取
+							</view>
+						</view>
+					</view>
+
+					<view class="tip">
+						<span class="t-red">*</span>{{dto_home_coupon.couponDescription || '此券每人限领1张。仅限用于花满芫鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用'}}
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+
+
+	</view>
+</template>
+
+<script>
+	import {
+		mapState
+	} from 'vuex'
+	import homePrice from './components/home-price.vue'
+	import homeBannerImgs from './components/home-banner-imgs.vue'
+	import homeZones from './components/home-zones.vue'
+	import homeTopFlow from './components/home-top-flow.vue'
+	import homeCategory from './components/home-category.vue'
+
+	export default {
+		computed: {
+			...mapState({
+				address: state => {
+					return state.defaultaddress || {}
+				},
+				addressDesc: state=>{
+					return state.addressDesc || ''
+				},
+				currentInfo: state => {
+					return state.currentInfo || {}
+				},
+	
+			}),
+			current_address(){
+				var desc = this.addressDesc || (this.address&&this.address.id?this.address.address: '选择地址')
+				if(desc.length>=15){
+					return desc.substring(0,15) + '...'
 				}
-			};
-		},
-		onShareAppMessage() {
-			// let that = this;
-			// var url =
-			// 	`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
-			// return {
-			// 	title: "校购GO小狗狗",
-			// 	path: url,
-			// }
-		},
-		onShareTimeline() {
-		// 	let that = this;
-		// 	var url = "/pages/home/home" //你的分享页面路径
-		// 	return {
-		// 		title: '校购GO小狗狗',
-		// 		path: url,
-		// 		query: `shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`, //你的参数拼接,注意:不需要加?
-		// 		// imageUrl: 'https://cdn.uviewui.com/uview/swiper/1.jpg' //你分享的封面
-		// 	};
-		// },
-
-		onLoad() {
-			// console.log('home created')
-			//这里进行一次初始化即可
-			this.$http.request('get', '/api/school/area/list', {
-
-			}).then(res => {
-				if (res.code == 0) {
-					this.schools = res.data || []
-				}
-			})
-			//获取banner图
-			this.$http.request('get', '/api/ua/banner/list', {
-
-			}).then(res => {
-				if (res.code == 0) {
-					this.banners = res.data.records || []
-				}
-			})
-			// uni.setStorageSync('schoolId', this.school[parseInt(e.detail.value)].id);
-			// uni.setStorageSync('schoolIndex', parseInt(e.detail.value));
-			var schoolIndex = uni.getStorageSync('schoolIndex')
-			if (!schoolIndex && schoolIndex !== 0) {
-
-			} else {
-				this.schoolIndex = schoolIndex
-			}
-			this.changeTab(this.tabIndex)
-			this.changeTab(0)
-			this.changeTab(1)
-
-			this.$http.request('get', '/api/brand/wish/list', {
-				params: {
-					size: 10,
-					show: true,
-					status: 'A'
-				}
-			}).then(res => {
-				if (res.code == 0) {
-					this.words = (res.data && res.data.records || []).map(item => {
-						return {
-							...item,
-							randomnum: Math.floor(Math.random() * 10) + Math.floor(Math.random() * 30)
-						}
-					})
-				}
-			})
-			//公告
-			this.$http.request('get', '/api/ua/announcement/list', {
-				params: {
-					size: 5,
-					status: 'A'
-				}
-			}).then(res => {
-				if (res.code == 0) {
-					this.noticeList = (res.data && res.data.records || [])
-					console.log('this.noticeList', this.noticeList)
-					if (this.noticeList.length > 0) {
-						this.currentNotice = this.noticeList[0]
-						if (this.currentNotice.title && this.currentNotice.title.length >= 30) {
-							this.scrollable = true
-						} else {
-							this.scrollable = false
-						}
-						let that = this
-						if (this.noticeList.length >= 1) {
-							setInterval(() => {
-								console.log('interval,1')
-								that.currentNoticeIndex += 1
-								that.currentNoticeIndex %= that.noticeList.length
-								that.currentNotice = that.noticeList[that.currentNoticeIndex]
-								that.scrollable = false
-								that.$nextTick(() => {
-									if (that.currentNotice.title && that.currentNotice.title
-										.length >= 30) {
-										that.scrollable = true
-									} else {
-										that.scrollable = false
-									}
-								})
-
-							}, 8000)
-						}
-
-					}
-				}
-			})
-
-
-		},
-		methods: {
-
-			pop(status) {
-				this.hide_footer = !!status
-			},
-			changeBanner(e) {
-				this.currentBanner = e.detail.current
-			},
-			changeTab(e) {
-				// this.tabIndex
-				if (e == 2) {
-					this.$nextTick(() => {
-						this.$refs.homegoods.updateGoods()
-					})
-				}
-				if (e == 0) {
-					//团购
-					// tripList:[],
-					// :[],
-					//可能没必要重复了先,todo
-					this.$http.request('get', '/api/buy/customer/group/list', {
-						params: {
-							size: 4,
-							status: 'A'
-						}
-					}).then(res => {
-						if (res.code == 0) {
-							this.tuangouList = res.data.records || []
-						}
-					})
-				}
-				if (e == 1) {
-					this.$http.request('get', '/api/trip/customer/list', {
-						params: {
-							size: 3,
-							status: 'J'
-						}
-					}).then(res => {
-						if (res.code == 0) {
-							this.tripList = res.data.records || []
-						}
-					})
-				}
-				// console.log('changeTab',e)
-				// updateGoods
-				// 
-			},
-			getNoticeMore() {
-				if (this.currentNotice.id) {
-					// uni.navigateTo({
-					// 	url: '/pages/notice/notice?id=' + this.currentNotice.id
-					// })
-				}
-				uni.navigateTo({
-					url: '/pages/notice/list?id=' + this.currentNotice.id
-				})
-			},
-			PickerChangeSchool(e) {
-				if (e.detail.value == '-1') {
-					this.$message.showToast('未选择校区')
-					return
-				}
-				console.log(' this.schools', this.schools, parseInt(e.detail.value), e);
-				// this.setData({
-				//     index: e.detail.value,
-				//     schoolInfo: this.school[parseInt(e.detail.value)],
-				//     s_id: this.school[parseInt(e.detail.value)].s_id,
-				//     current: 0
-				// });
-
-				this.schoolIndex = parseInt(e.detail.value)
-				uni.setStorageSync('schoolId', this.schools[parseInt(e.detail.value)].id);
-				uni.setStorageSync('schoolIndex', parseInt(e.detail.value));
-				// if (uni.getStorageSync('token')) {
-				//     this.userChangeSchool(this.school[parseInt(e.detail.value)].s_id)
-				// }
-				// this.getSchoolInfo(this.school[parseInt(e.detail.value)].s_id);
-				// this.getSysparment(); //全局加载变量设置为真,信息圈的列表需要重新加载
-				// // this.getOrderData();
-				// // this.getHistoryList();
-				// this.getRank();
-				// this.setData({
-				//     dataList: []
-				// });
-			},
-
+				return desc
+			}
+		},
+		components: {
+			homeCategory,
+			homePrice,
+			homeBannerImgs,
+			homeZones,
+			homeTopFlow
+		},
+		onPullDownRefresh() {
+			// 下拉刷新方法
+			this.init()
+			this.$message.showLoading()
+			this.init_children()
+			setTimeout(() => {
+				this.$message.hideLoading()
+				uni.stopPullDownRefresh()
+			}, 2000)
+		},
+		data() {
+			return {
+				search_flow: '',
+				CustomBar: uni.getStorageSync('CustomBar'),
+				StatusBar: uni.getStorageSync('StatusBar'),
+				// StatusBar:0,
+				color: '#fff',
+				schools: [],
+				areaIndex: -1,
+				scrollable: false,
+
+				info: [{
+						colorClass: 'uni-bg-red',
+						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
+						content: '内容 A'
+					},
+					{
+						colorClass: 'uni-bg-green',
+						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
+						content: '内容 B'
+					},
+					{
+						colorClass: 'uni-bg-blue',
+						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
+						content: '内容 C'
+					}
+				],
+				dotStyle: [{
+						backgroundColor: 'rgba(0, 0, 0, .3)',
+						border: '1px rgba(0, 0, 0, .3) solid',
+						color: '#fff',
+						selectedBackgroundColor: 'rgba(0, 0, 0, .9)',
+						selectedBorder: '1px rgba(0, 0, 0, .9) solid'
+					},
+					{
+						backgroundColor: 'rgba(255, 90, 95,0.3)',
+						border: '1px rgba(255, 90, 95,0.3) solid',
+						color: '#fff',
+						selectedBackgroundColor: 'rgba(255, 90, 95,0.9)',
+						selectedBorder: '1px rgba(255, 90, 95,0.9) solid'
+					},
+					{
+						backgroundColor: 'rgba(83, 200, 249,0.3)',
+						border: '1px rgba(83, 200, 249,0.3) solid',
+						color: '#fff',
+						selectedBackgroundColor: 'rgba(83, 200, 249,0.9)',
+						selectedBorder: '1px rgba(83, 200, 249,0.9) solid'
+					}
+				],
+				currentBanner: 0,
+				banners: [],
+				tripList: [],
+				tuangouList: [],
+				hide_footer: false,
+				noticeList: [],
+				currentNoticeIndex: 0,
+				currentNotice: {},
+				dto_home_coupon: {}
+			};
+		},
+		onShareAppMessage() {
+			let that = this;
+			var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
+				that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
+			var url =
+				`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
+			return {
+				title: "花满芫",
+				path: url,
+			}
+		},
+		onShareTimeline() {
+			let that = this;
+			var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
+				that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
+			var url =
+				`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
+			return {
+				title: "花满芫",
+				path: url,
+			}
+		},
+		onReachBottom() {
+			console.log('onReachBottom')
+			if (this.$refs && this.$refs.home_top_flow) {
+				// console.log(this.$refs.home_top_flow)
+				this.$refs.home_top_flow.fun_GetMore()
+			}
+		},
+		onLoad(options) {
+			this.init()
+		},
+		methods: {
+			async getCoupon(item) {
+				if (!this.currentInfo.id) {
+					await this.$message.confirm('请先前往登录')
+					this.$storage.removeItem('cache_home_show_coupon')
+					return
+				}
+				this.$message.showLoading()
+				const {
+					code,
+					data
+				} = await this.$http.request('post', '/api/v2/coupon/app/receive', {
+					data: {
+						couponId: item.id,
+						num: 1
+					}
+				})
+				if (code == 0) {
+					this.$refs.coupon_home.close()
+
+					this.$message.showToast('领取成功')
+				}
+			},
+			init_children() {
+				this.$refs.home_top_flow && this.$refs.home_top_flow.init && this.$refs.home_top_flow.init()
+				this.$refs.home_category && this.$refs.home_category.init && this.$refs.home_category.init()
+				this.$refs.home_banner && this.$refs.home_banner.init && this.$refs.home_banner.init()
+				this.$refs.home_zeros && this.$refs.home_zeros.init && this.$refs.home_zeros.init()
+			},
+			init() {
+				// if(options.partnerUserId){
+				// 	//需要前往注册了
+				// 	uni.navigateTo({
+				// 		url: '/pages/login/supplier-login'
+				// 	})
+				// }
+				// console.log('home created')
+				//这里进行一次初始化即可
+				// this.$http.request('get', '/api/school/area/list', {
+
+				// }).then(res => {
+				// 	if (res.code == 0) {
+				// 		this.schools = res.data || []
+				// 	}
+				// })
+
+				// uni.navigateTo({
+				// 	url: '/sub_pages/customer/trade/detail'
+				// })
+
+				//获取banner图
+				this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
+					if (res.code == 0) {
+						this.banners = []
+
+						var tarr = res.data || []
+						if (tarr.length == 0) {
+							// tarr.push({
+							// 	url: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png'
+							// })
+							this.banners = tarr
+						} else {
+							var result = []
+							for (var item of tarr) {
+								// http://106.14.123.210/files/group1/e8/e1c17f7229514e5da211d8d47b09906b.jpeg
+								try {
+									if (item.url) {
+										var t = JSON.parse(item.url)
+										if (Array.isArray(t)) {
+											// item.url = t[0] || ''
+											for (var url of t) {
+												result.push({
+													...item,
+													url: url || ''
+												})
+											}
+										} else {
+											// item.url = t.url || ''
+											result.push({
+												...item,
+												url: t.url || ''
+											})
+										}
+									}
+
+								} catch (e) {
+									// console.log('error',e)
+								}
+							}
+							this.banners = result
+						}
+						console.log('this.banners', this.banners)
+					}
+				})
+
+				var areaIndex = uni.getStorageSync('areaIndex')
+				if (!areaIndex && areaIndex !== 0) {
+
+				} else {
+					this.areaIndex = areaIndex
+				}
+				//如果已经登录,加载一下默认地址
+				let that = this
+				setTimeout(() => {
+					if (that.currentInfo.id && !that.address.id) {
+						that.$http.request('get', '/api/address/default/detail').then(res => {
+							if (res.data) {
+								that.$store.commit('setDefaultAddress', {
+									...res.data
+								})
+
+							}
+						})
+					}
+
+				}, 2000)
+				//公告
+				var type = ''
+				// #ifdef PUB_CUSTOMER
+				type = 'customer'
+				// #endif
+				// #ifdef PUB_SUPPLIER
+				type = 'supplier'
+				// #endif
+				// #ifdef PUB_PARTNER
+				type = 'partner'
+				// #endif
+
+				this.$http.request('get', '/api/pub/announcement/list/' + type, {
+					params: {
+						size: 5,
+						status: 'A'
+					}
+				}).then(res => {
+					if (res.code === 0) {
+						// (res.data && res.data.records || [])
+						this.noticeList = res.data || []
+						console.log('this.noticeList', this.noticeList)
+						if (this.noticeList.length > 0) {
+							this.currentNotice = this.noticeList[0]
+							if (this.currentNotice.title && this.currentNotice.title.length >= 30) {
+								this.scrollable = true
+							} else {
+								this.scrollable = false
+							}
+							let that = this
+							if (this.noticeList.length >= 1) {
+								setInterval(() => {
+									console.log('interval,1')
+									that.currentNoticeIndex += 1
+									that.currentNoticeIndex %= that.noticeList.length
+									that.currentNotice = that.noticeList[that.currentNoticeIndex]
+									that.scrollable = false
+									that.$nextTick(() => {
+										if (that.currentNotice.title && that.currentNotice.title
+											.length >= 30) {
+											that.scrollable = true
+										} else {
+											that.scrollable = false
+										}
+									})
+
+								}, 8000)
+							}
+
+						}
+					}
+				})
+
+
+				let tmp = this
+				//延迟2秒
+				setTimeout(() => {
+					if (tmp.currentInfo.id) {
+						var value = tmp.$storage.getItem('cache_home_show_coupon')
+						if (!value) {
+							//首页优惠券
+							tmp.$storage.setItem('cache_home_show_coupon', '1')
+							var u = '/api/v2/coupon/app/home/alert'
+							// u = '/api/v2/coupon/app/home/list'
+							tmp.$http.request('get', u).then(res => {
+								if (res.code == 0) {
+									// var list = res.data || {}
+									// var dto = list.length >= 1 ? list[0] : undefined
+									var dto = res.data || undefined
+									if (dto) {
+										// 显示弹窗图片
+										tmp.dto_home_coupon = dto
+										tmp.$refs.coupon_home.open()
+									}
+								}
+							})
+						}
+					}
+				}, 1200)
+
+			},
+
+			clickBanner(item) {
+				if (item.id) {
+					uni.navigateTo({
+						url: '/pages/home/components/home-banner-detail?id=' + item.id
+					})
+				} else if (item.url) {
+					this.previewImg(item.url)
+				}
+			},
+			goToAddress() {
+				if (!this.currentInfo.id) {
+					this.$message.showToast('请先前往登录')
+					return
+				}
+				uni.navigateTo({
+					url: '/pages/user/address/address?source=home'
+				})
+			},
+			buttonSearchFlow() {
+				console.log('buttonSearchFlow')
+				uni.navigateTo({
+					url: '/sub_pages/customer/trade/list?name=' + this.search_flow
+				})
+			},
+			pop(status) {
+				this.hide_footer = !!status
+			},
+			changeBanner(e) {
+				this.currentBanner = e.detail.current
+			},
+
+			getNoticeMore() {
+				uni.navigateTo({
+					url: '/pages/notice/list?id=' + this.currentNotice.id
+				})
+			},
+			PickerChangeSchool(e) {
+				if (e.detail.value == '-1') {
+					this.$message.showToast('未选择位置')
+					return
+				}
+				console.log(' this.schools', this.schools, parseInt(e.detail.value), e);
+
+
+				this.areaIndex = parseInt(e.detail.value)
+				uni.setStorageSync('areaId', this.schools[parseInt(e.detail.value)].id);
+				uni.setStorageSync('areaIndex', parseInt(e.detail.value));
+
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@import "./home.scss";
+
+	/* #ifdef PUB_CUSTOMER */
+	@import "@/sub_pages/customer/coupon/coupon.scss";
+	/* #endif */
+	.icon-kf-p{
+		// margin-top: 12rpx;
+		position: absolute;
+		right: 0rpx;
+		bottom: 16rpx;
+		text-align: center;
+		// font-size: 12rpx;
+		color: #fff;
+		// min-width: 120rpx;
+		display: flex;
+		// width: fit-content;
+		height: 44rpx;
+		line-height: 44rpx;
+		// height: 64rpx;
+		.icon-kf{
+			width: 44rpx;
+			height: 44rpx;
+			// margin-left: 20rpx;
 		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	@import "./home.scss";
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3