<template>
	<view class="flex-row relative page" :style="{ backgroundImage: 'url(' + bkgUrl + ')' }">
	  <view class="flex-row justify-between items-center section_2 pos">
	    <!-- <text class="text" style="color: #E79EA1;">商品</text> -->
	    <view class="flex-row items-center section_3" @click="goToSearch">
	      <image
			mode="aspectFit"
	        class="image"
	        :src="workshopUrl + '/searchGood/search.png'"
	      />
		  <text class="text-wrapper font" style="color: #B1B1B1;">搜索商品</text>
	    </view>
	  </view>
	  
		<carousel class="pos_2" :img-list="imgList" url-key="url" @selected="selectedBanner"/>
	  
		<!-- 类别列表 -->
	  <view class="flex-col justify-start items-center section_4 pos_3">
	    <!-- <view class="flex-col"> -->
			<view class="my-aside">
	      <view class="flex-col items-center self-stretch group" 
							v-for="(item, index) in sort" 
							:key="index"
							@click="changeTypes(item , index)"
							>
	        <image
						:style="changeImgStyle(index)"
	          class="image_3" mode="aspectFill"
	          :src="publicPath + item.imgurl"
	        />
	        <text class="font_2 text_4" :style="FontsStyle(index)">{{ item.name }}</text>
	      </view>
			</view>
	    <!-- </view> -->
	  </view>
		<!-- 商品列表 -->
	  <view class="flex-col pos_5">
			<view class="good-list"> 
	    <view class="flex-row list-item mt-9" v-for="(item, index) in productList" :key="index" @click="goToProduct(item)">
	      <image
	        class="self-center image_4" mode="aspectFill"
	        :src="publicPath + item.goodImg.split(';')[0]"
	      />
	      <view class="flex-col items-start self-center group_1">
	        <text class="font">{{ item.name }}</text>
	        <text class="font_3 mt-9">{{ item.intro }}</text>
	        <text class="font_4 text_5 text_1 mt-9">¥{{ item.price }}</text>
	      </view> 
	      <!-- <image
	        class="self-start image_5"
	        src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FhuDBpAGx-add.png"
					@click.stop
	      /> -->
		  
		  
	    </view>
	</view>
	  </view>
	</view>
</template>

<script setup>
import { ref,onMounted, toRaw } from 'vue';
import { baseUrl, testUrl , suiUrl} from '@/api/request';
import { onLoad,onPullDownRefresh } from '@dcloudio/uni-app';
import { getFonts } from '../../../common/globalFont';
import carousel from '@/components/vear-carousel/vear-carousel'
import { workshopUrl } from '../../../common/globalImagesUrl';
import { storeHomeUrl } from '../../../common/globalImagesUrl';
import { publicPath } from '../../../common/globalImagesUrl';
const bkgUrl = ref(storeHomeUrl + '/main/bkg.png')
const currentColor = ref(0);
const sort = ref([{}]) //商品类别对象数组
const headerList = ref([{}]) //类别标题和介绍
const productList = ref([{}]) //类别下对应的商品 
const cookie = wx.getStorageSync("cookie") 
const imgList = ref([])   //轮播图展示数组
const carouseList = ref([])   //轮播图数组

const product_type = ref({
	type: "材料包"
})

onLoad( async (options)=>{
	getFonts()
	await Getsort()
	await changeTypes( sort.value[0] , 0 ) //首先获取最开始的类别
	await getCarouseList()
})
onPullDownRefresh( async ()=>{  //下拉刷新
	await Getsort()
	await changeTypes( sort.value[0] , 0 ) //首先获取最开始的类别
	await getCarouseList()
	setTimeout(()=>{
		uni.stopPullDownRefresh()   //停止下拉刷新
	},1000)
}) 

const getCarouseList = async () => {   //获取轮播图
	const res = await uni.request({
		url: baseUrl + '/banner/query',
		method: 'POST',
		header: {
			cookie
		},
		data: {
			type: '实体类'
		}
	})
	if(res.data.code === 1) {
		console.log('轮播图信息--->',res.data.data);
		carouseList.value = res.data.data
		carouseList.value.forEach((item)=>{
			imgList.value.push({
				url: publicPath + item.url
			})
		})
	}
}

//获取商品分类
const Getsort = async ()=>{
	const res = await uni.request({
		url: baseUrl + '/category/list',
		method:'POST',
		header: {
			cookie,
		}
	})
	if(res.data.code === 1){
		for(let key in res.data.data) {
			sort.value[key] = {//类别列表
				name : res.data.data[key].typeName,
				imgurl : res.data.data[key].typeUrl,
				id : res.data.data[key].id
			}//标题列表
			headerList.value[key] = {
				name : res.data.data[key].typeName,
				typeIntro : res.data.data[key].typeIntro
			}
		}
	} else {
		uni.showToast({ //提示请求错误
			title: '请求商品分类错误',
			icon: 'none',
			duration: 2000
		})
	}
	// console.log('获取商品分类==>',res.data.data);
}
//更改类别
const changeTypes = async (item , index) =>{
	currentColor.value = index
	product_type.value.type = item.name
	const res = await uni.request({
		url: baseUrl + '/category/list/type',
		method: 'POST',
		data: {
			id : item.id
		},
		header:{
			cookie,
		}
	})
	if(res.data.code === 1) {
		productList.value = res.data.data[item.id]
	} else {
		uni.showToast({ //商品请求错误
			title: '更改类别错误',
			icon: 'none',
			duration: 2000
		})
	}
}
//点击后颜色变为红色
const FontsStyle = (index) => ({
	color: currentColor.value === index ? '#C35C5D' : '#727272'
})
//点击后类别图片有阴影
const changeImgStyle = (index) => ({
	filter: currentColor.value === index ? 'drop-shadow(0rpx 7.5rpx 3.75rpx #acacac)' : 'none'
});
//跳转商品详情
const goToProduct = (item) => {
	console.log('跳转商品详情的item--->',item);
	uni.navigateTo({
		url: '../../../pages/store-home/ProductDetails/ProductDetails?gid=' + JSON.stringify(item.id)
	})
}









	const goToSearch = () => {
		uni.navigateTo({
			url: '../../workshop/searchGood/searchGood?type=1'
		})
	}



















</script>

<style lang="scss" scoped>
input {
	font-family: FangZhengFonts;
}
	
::-webkit-scrollbar {
  display: none;
}

.good-list {
	overflow: auto;
	height: 60vh;
	padding-bottom: 80rpx;
}

.my-aside {
	overflow: auto;
	height: 60vh;
	padding-bottom: 40rpx;
}

.mt-9 {
  margin-top: 16.88rpx;
}
.page {
  background-color: #ffffff;
  background-size: 100% 100%;
  background-repeat: no-repeat;
	height: 100vh;
  width: 100%;
	overflow: hidden;
}
.section_2 {
  padding: 20rpx 35.41rpx 23.75rpx;
  background-color: #fbdedf;
}
.pos {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}
.text {
  color: #000000;
  font-size: 35rpx;
  font-family: FangZhengFonts;
  line-height: 35.66rpx;
}
.section_3 {
  padding: 5.49rpx 12.99rpx 5.76rpx;
  margin: 0 auto;
  background-color: #fff;
  height: 70rpx;
  width: 580rpx;
  border-radius: 28.13rpx;
}
.image {
	width: 60.63rpx;
	height: 45rpx;
}
.text-wrapper {
	padding: 0;
	margin-left: -5rpx;
}
.image_2 {
  // width: 100vw;
  // height: 900rpx;
}
.pos_2 {
  position: absolute;
  left: 0;
  right: 0;
  top: 118.75rpx;
}
.section_4 {
  padding: 7.5rpx 0 0rpx;
  background-color: #fff;
  border-radius: 0 15.38rpx 15.38rpx 0;
  width: 119.75rpx;
}
.pos_3 {
  position: absolute;
  left: 0;
  top: 566.25rpx;
}
.group {
	margin: 0 2.44rpx 20rpx 0;
  // margin-right: 2.44rpx;
}
.image_3 {
  // filter: drop-shadow(0rpx 7.5rpx 3.75rpx #acacac);   //点击图片有阴影
  width: 90rpx;
  height: 90rpx;
	margin-bottom: 10rpx;
}
.font_2 {
  font-size: 26.25rpx;
  font-family: FangZhengFonts;
  line-height: 24.41rpx;
  color: #000000;
}
.text_4 {
  font-size: 12px;
  color: #727272;
  line-height: 25.43rpx;
}
.pos_5 {
  position: absolute;
  right: 34.63rpx;
  top: 570.13rpx;
}
.list-item {
  width: 580rpx;
  padding: 17.53rpx 13.89rpx 18.23rpx;
  background-color: #ffffff;
  border-radius: 9.38rpx;
}
.list-item:first-child {
  margin-top: 0;
}
.image_4 {
  border-radius: 9.38rpx;
  width: 121.88rpx;
  height: 112.5rpx;
}
.group_1 {
  margin-left: 21.68rpx;
}
.font {
  font-size: 30rpx;
  font-family: FangZhengFonts;
  line-height: 30rpx;
  color: #000000;
}
.font_3 {
  font-size: 22.5rpx;
  font-family: FangZhengFonts;
  line-height: 21.88rpx;
  color: #727272;
	width: 180px;
	word-wrap: break-word;
}
.font_4 {
  font-size: 26.25rpx;
  font-family: FangZhengFonts;
  line-height: 17.53rpx;
  color: #ff0000;
}
.text_5 {
  -webkit-text-stroke: 1.88rpx #ff000040;
}
.text_1 {
  margin-left: 3.43rpx;
}
.image_5 {
  margin: 37.77rpx 2.8rpx 0 0.85rpx;
  border-radius: 9.38rpx;
  width: 52.5rpx;
  height: 48.75rpx;
}
.text_3 {
  color: #c35c5d;
  line-height: 29.06rpx;
}
.pos_4 {
  position: absolute;
  left: 142.29rpx;
  top: 585.94rpx;
}
@import url(../../../common/css/global.css);
</style>