初始化项目devs

This commit is contained in:
Mr_gzy 2025-04-03 11:53:17 +08:00
parent d853ede6f9
commit 30325b9ff5
5 changed files with 679 additions and 0 deletions

542
pages/index/indexOld.vue Normal file
View File

@ -0,0 +1,542 @@
<template>
<view class="page">
<!-- <view style="position: fixed;left:0px;z-index: 100;" :style="{'top': statusBaeHeight + 58 + 'px'}">
<view class="search-box" style="background: #F2F2F2;">
<input type="text" disabled placeholder="搜索酒款/酒厂" @click="toSearch">
</view>
</view> -->
<view v-if="showJoinImg && bannerJoin" class="join-box" @click="toJoin">
<image :src="bannerJoin.bannerUrl" class="img"></image>
</view>
<!-- 轮播 -->
<swiper v-else class="join-box" circular :autoplay="true" :indicator-dots="true">
<swiper-item v-for="(item,index) in homeBanner" :key="index">
<image :src="item.bannerUrl" class="img"></image>
</swiper-item>
</swiper>
<!-- 快捷导航 -->
<view class="bg-white"
style="border-radius: 30rpx 30rpx 12rpx 12rpx;padding-top:8rpx;position: relative;margin-top:-20rpx">
<view class="search-box">
<text class="cuIcon-search" style="font-size: 40rpx;color: #A2A2A2;margin-right: 24rpx;"></text>
<input type="text" disabled placeholder="搜索酒款/酒厂" @click="toSearch">
</view>
<view class="flex justify-between bg-white" style="padding: 20rpx 36rpx;">
<view class="nav-item" @click="toGo(1)">
<view class="flex justify-center align-center img-box">
<image src="/static/nav-1.png" style="width: 48rpx;height: 48rpx;"></image>
</view>
<text class="text-bold">新酒上市</text>
</view>
<view class="nav-item" @click="toGo(2)">
<view class="flex justify-center align-center img-box">
<image src="/static/nav-2.png" style="width: 48rpx;height: 48rpx;"></image>
</view>
<text class="text-bold">生成酒单</text>
</view>
<view class="nav-item" @click="toGo(3)">
<view class="flex justify-center align-center img-box">
<image src="/static/nav-3.png" style="width: 48rpx;height: 48rpx;"></image>
</view>
<text class="text-bold">酒币换购</text>
</view>
<view class="nav-item" @click="toGo(4)">
<view class="flex justify-center align-center img-box">
<image src="/static/nav-4.png" style="width: 48rpx;height: 48rpx;"></image>
</view>
<text class="text-bold">关注厂牌</text>
</view>
</view>
</view>
<commonTitle title="热门活动招募"></commonTitle>
<!-- 专辑列表 -->
<view v-for="(item,i) in featurePageList" :key="i" class="bg-white">
<view class="flex justify-between align-center title-box" @click="toFeaturePage(item)">
<view class="flex-1 flex flex-col">
<text class="title">{{ item.pageName }}</text>
<text class="sub">{{ item.subTitle}}</text>
</view>
<image src="@/static/arrow-right.png" style="width: 48rpx;height: 48rpx;"></image>
</view>
<rowBeer :beers="item.beers" />
<!-- <scroll-view scroll-x="true" class="scroll-container">
<view v-for="(it, index) in item.beers" :key="index" style="display: inline-block;" class="row-box" @click="toReview(it)">
<view class="beer-box">
<image :src="it.cover" class="cover"></image>
<view class="title word-all">{{ it.beerName || ''}}</view>
<view class="desc word-all">{{ it.beerStyles || '' }}</view>
<view class="desc word-all">{{ it.brandName ||'' }}</view>
<view class="flex align-center num">
<image src="@/static/vector.png" style="width: 20rpx;height: 20rpx;margin-right: 10rpx;">
</image>
{{ it.beerOverallRating || 0 }}{{ it.beerReviewsCount || 0}}
</view>
</view>
</view>
</scroll-view> -->
</view>
<view v-if="showJoinImg" class="weixin-box">
<text>入驻助理在线服务1对1咨询使用指南~</text>
<view class="bg-zd btn" @click="toAddAiad">立即添加</view>
</view>
<loginPopup ref="loginRef" @loginSuccess="loginSuccess"></loginPopup>
<!-- 开屏广告 -->
<uni-popup ref="ADRef" type="center" :is-mask-click="false" maskBackgroundColor="rgba(0,0,0,0.7)">
<view class="flex flex-col align-center justify-center" style="width: 630rpx;height: 61vh;">
<swiper class="swiper" style="width: 630rpx;height: 58vh;" circular :autoplay="true"
:indicator-dots="true">
<swiper-item v-for="(item,index) in ADList" :key="index">
<image :src="item.bannerUrl" style="width: 630rpx;height: 50vh;border-radius: 30rpx;"
@click="handleAD(item)">
</image>
</swiper-item>
</swiper>
<text class="cuIcon-roundclose text-white" style="font-size: 68rpx !important;" @click="closeAd"></text>
</view>
</uni-popup>
</view>
</template>
<script>
import {
getBannerList
} from '@/api/bar.js'
import {
listFeaturePage
} from '@/api/platform.js'
import commonTitle from '@/components/commonTitle.vue'
import loginPopup from '@/components/loginPopup.vue';
import rowBeer from '@/components/rowBeer.vue'
export default {
components: {
commonTitle,
loginPopup,
rowBeer
},
data() {
return {
statusBaeHeight: 0,
curTag: 0,
ADList: [], // 广
bannerJoin: null, // banner
showJoinImg: false, //
userInfo: null,
featurePageList: [], //
homeBanner: [], //banner
};
},
onLoad() {
// setTimeout(() => {
// uni.setNavigationBarColor({
// frontColor: '#ffffff',
// backgroundColor: '#FFFFFF',
// animation: {
// duration: 400,
// timingFunc: 'easeIn'
// }
// })
// }, 500)
this.statusBaeHeight = uni.getWindowInfo.statusBarHeight
this.getBannerListFun() // 广
uni.showShareMenu({
menus: ['shareAppMessage', 'shareTimeline']
})
},
onShow() {
this.userInfo = uni.getStorageSync('userInfo')
if (this.userInfo == null || this.userInfo.userType == '09') { //
this.showJoinImg = true
}else {
this.showJoinImg = false
}
this.getFeaturePageListFun() //
},
// onPullDownRefresh(){
// this.getFeaturePageListFun() //
// },
methods: {
loginSuccess() {
this.userInfo = uni.getStorageSync('userInfo')
if (this.userInfo == null || this.userInfo.userType == '09') { //
console.log('登录')
this.showJoinImg = true
}else {
this.showJoinImg = false
}
},
toAddAiad() {
uni.navigateTo({
url: '/pagesMy/addAiad'
})
},
//
toSearch() {
// uni.navigateTo({
// url: '/pages/index/searchBeer'
// })
uni.navigateTo({
url: '/pagesActivity/homeSearch'
})
},
changeTag(index) {
this.curTag = index
},
// 广 banner
getBannerListFun() {
this.ADList = []
this.homeBanner = []
this.bannerJoin = null
getBannerList().then(res => {
res.data.forEach(it => {
if (it.bannerType == 'homeAD') { // 广
this.ADList.push(it)
} else if (it.bannerType == 'homeJoin') { //
this.bannerJoin = it
} else if (it.bannerType == 'homeBanner') { // banner
this.homeBanner.push(it)
}
})
let showHomeAD = uni.getStorageSync('showHomeAD')
if (!showHomeAD) {
this.$refs.ADRef.open()
}
})
},
// 广
closeAd() {
uni.setStorageSync('showHomeAD', true)
uni.setTabBarStyle({
backgroundColor: '#ffffff'
})
this.$refs.ADRef.close()
},
handleAD(item) {
this.closeAd()
if (item.bannerLink) {
uni.navigateTo({
url: item.bannerLink,
})
}
},
//
toJoin() {
if (!this.bannerJoin) return
uni.navigateTo({
url: this.bannerJoin.bannerLink,
})
},
//
toFeaturePage(item) {
uni.navigateTo({
url: `/pages/index/featureInfo?id=${item.id}`
})
},
//
getFeaturePageListFun() {
listFeaturePage().then(res => {
this.featurePageList = res.data
})
},
//
toReview(it) {
uni.navigateTo({
url: "/pages/index/review?beerId=" + it.id
})
},
toGo(key) {
switch (key) {
case 1: //
uni.navigateTo({
url: "/pages/index/newBeer"
})
break;
case 2: //
if (!uni.getStorageSync('token')) {
this.$refs.loginRef.open()
return
}
uni.navigateTo({
url: "/pagesActivity/winelist"
})
break;
case 3: //
if (!uni.getStorageSync('token')) {
this.$refs.loginRef.open()
return
}
uni.navigateTo({
url: "/pagesCoin/beerCoin"
})
break;
case 4: //
if (!uni.getStorageSync('token')) {
this.$refs.loginRef.open()
return
}
uni.navigateTo({
url: '/pagesMy/myAttention'
})
break;
}
}
}
}
</script>
<style lang="scss" scoped>
/deep/.uni-popup {
z-index: 1025;
}
.page {
// background: #FDFDFD;
height: 100vh;
overflow-y: auto;
// padding-bottom: calc(110rpx + constant(safe-area-inset-bottom));
// padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
}
.search-box {
border-radius: 80rpx;
width: 700rpx;
height: 80rpx;
background-color: rgba(243, 243, 243, 0.8);
display: flex;
align-items: center;
padding: 32rpx 30rpx;
margin: 26rpx auto;
box-sizing: border-box;
input {
width: 100%;
height: 100%;
background-color: transparent;
font-size: 28rpx;
}
}
.join-box {
// margin: 20rpx 0;
// border-radius: 30rpx;
box-sizing: border-box;
// border: 1.5px solid #F2F2F2;
// padding: 34rpx 26rpx;
// height: 450rpx;
// height: 1130rpx;
height: 536rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
.btn {
width: 582rpx;
height: 68rpx;
border-radius: 24rpx;
text-align: center;
line-height: 68rpx;
margin: 0 auto;
}
.img {
width: 100%;
height: 100%;
}
}
.swiper {
margin-bottom: 20rpx;
height: 400rpx;
}
//
.nav-item {
text-align: center;
color: #0B0E26;
.img-box {
width: 146rpx;
height: 146rpx;
background: #F2F2F2;
border-radius: 50%;
margin-bottom: 18rpx;
}
}
.quickNav-box {
border-radius: 20rpx;
background: #FFFFFF;
width: 100%;
padding: 32rpx 24rpx;
height: 490rpx;
box-sizing: border-box;
.left {
height: 416rpx;
width: 352rpx;
// width: 47%;
border-radius: 20rpx;
margin-right: 22rpx;
}
.right {
height: 196rpx;
// width: 326rpx;
width: 100%;
margin-bottom: 22rpx;
border-radius: 20rpx;
}
}
.goods-box {
border-radius: 30rpx;
background: rgba(255, 255, 255, 0.2);
box-sizing: border-box;
border: 1px solid #F2F2F2;
box-shadow: 0px 5.47px 43.78px 0px rgba(0, 0, 0, 0.05);
display: flex;
padding: 16rpx 32rpx;
margin: 20rpx 32rpx 0;
.cover {
width: 208rpx;
height: 300rpx;
border-radius: 30rpx;
margin-right: 14rpx;
}
}
.tag {
background-color: transparent;
border-radius: 12rpx;
padding: 12rpx 20rpx;
border: 1px solid #9D9D9D;
;
margin-right: 24rpx;
margin-bottom: 50rpx;
}
.active-tag {
background-color: #FEE034;
font-weight: bold;
border: 1px solid #FEE034;
}
.title-box {
padding: 24rpx 32rpx;
margin-bottom: 28rpx;
box-sizing: border-box;
.title {
font-size: 32rpx;
font-weight: bold;
color: #1E2019;
line-height: 130%;
}
.sub {
font-size: 20rpx;
color: #9D9D9D;
margin-top: 18rpx;
}
}
// .scroll-container {
// display: flex;
// flex-direction: row;
// white-space: nowrap;
// min-height: 505rpx;
// // padding-bottom: 10rpx;
// margin-bottom: 32rpx;
// .row-box {
// &:nth-child(1) {
// margin-left: 32rpx;
// }
// }
// .beer-box {
// width: 208rpx;
// background: #FFFFFF;
// margin-right: 16rpx;
// margin-bottom: 36rpx;
// box-sizing: border-box;
// display: flex;
// flex-direction: column;
// justify-content: flex-start;
// .cover {
// width: 208rpx;
// height: 300rpx;
// border-radius: 12rpx;
// margin-bottom: 18rpx;
// }
// .title {
// font-size: 28rpx;
// color: #1E2019;
// margin-bottom: 12rpx;
// color: #19191B;
// }
// .desc {
// font-size: 24rpx;
// color: #A5A7B9;
// margin-bottom: 12rpx;
// color: #979797;
// }
// .num {
// font-size: 20rpx;
// color: #5F5F63;
// }
// }
// }
.weixin-box {
position: fixed;
// bottom: 130rpx;
// bottom: calc(100rpx + env(safe-area-inset-bottom) / 2);
bottom: 38rpx;
background: rgba(0, 0, 0, 0.6);
border-radius: 12rpx;
height: 80rpx;
width: 90%;
box-sizing: border-box;
margin: 0 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 34rpx;
font-size: 20rpx;
color: #FFFFFF;
.btn {
border-radius: 12rpx;
background: #39E5B1;
width: 124rpx;
height: 38rpx;
line-height: 38rpx;
text-align: center;
font-size: 20rpx;
color: #000000;
font-weight: 500;
}
}
</style>

View File

@ -0,0 +1,130 @@
<template>
<view class="page">
<view class="page-content">
<view class="section">
<view class="section-title">商家入驻协议</view>
<view class="agreement-content">
<view class="agreement-section">
<view class="section-subtitle">总则</view>
<view class="section-text">
<text>1.1 本协议是您与啤啤猩球平台之间就商家入驻等相关事宜所订立的契约</text>
<text>1.2 您应当在使用本服务之前认真阅读全部协议内容如您对协议有任何疑问可向平台咨询</text>
</view>
</view>
<view class="agreement-section">
<view class="section-subtitle">入驻条件</view>
<view class="section-text">
<text>2.1 商家必须具有合法的经营资质</text>
<text>2.2 商家必须提供真实准确完整的入驻信息</text>
<text>2.3 商家必须遵守平台规则和相关法律法规</text>
</view>
</view>
<view class="agreement-section">
<view class="section-subtitle">商家权利与义务</view>
<view class="section-text">
<text>3.1 商家有权使用平台提供的各项服务</text>
<text>3.2 商家必须维护平台秩序不得从事违法违规行为</text>
<text>3.3 商家必须保护用户隐私不得泄露用户信息</text>
</view>
</view>
<view class="agreement-section">
<view class="section-subtitle">平台权利与义务</view>
<view class="section-text">
<text>4.1 平台有权对商家进行管理和监督</text>
<text>4.2 平台有义务保护商家合法权益</text>
<text>4.3 平台有权根据实际情况调整规则</text>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.page {
min-height: 100vh;
background: #F7F7F7;
.page-content {
padding: 24rpx 32rpx;
}
.section {
background: #FFFFFF;
border-radius: 16rpx;
margin-bottom: 24rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
.section-title {
font-size: 36rpx;
font-weight: 600;
padding: 32rpx;
color: #333333;
text-align: center;
position: relative;
&::after {
content: '';
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
width: 48rpx;
height: 4rpx;
background: #19367A;
border-radius: 2rpx;
}
}
}
.agreement-content {
padding: 32rpx;
.agreement-section {
margin-bottom: 40rpx;
&:last-child {
margin-bottom: 0;
}
.section-subtitle {
font-size: 32rpx;
font-weight: 600;
color: #333333;
margin-bottom: 24rpx;
}
.section-text {
text {
display: block;
font-size: 28rpx;
color: #666666;
line-height: 1.8;
margin-bottom: 16rpx;
&:last-child {
margin-bottom: 0;
}
}
}
}
}
}
</style>

BIN
static/contact_me_qr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="100" fill="#F6F6F6"/>
<circle cx="100" cy="80" r="40" fill="#CCCCCC"/>
<path d="M100 130C66.6667 130 40 156.667 40 190H160C160 156.667 133.333 130 100 130Z" fill="#CCCCCC"/>
</svg>

After

Width:  |  Height:  |  Size: 361 B

1
static/send-2.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><g><g><g><g><path d="M7.63688578125,7.0318175L12.23688578125,5.5018175Q12.29258578125,5.4832975,12.34471578125,5.4563275Q12.39685578125,5.4293675,12.44416578125,5.3946175Q12.49147578125,5.3598675,12.53279578125,5.3181775Q12.57412578125,5.2764975,12.60846578125,5.2288875Q12.64280578125,5.1812775,12.66931578125,5.1289075Q12.69582578125,5.0765375,12.71386578125,5.0206775Q12.73190578125,4.9648175000000005,12.74104578125,4.9068375Q12.75017578125,4.8488575,12.75017578125,4.7901575Q12.75017578125,4.7162875,12.73576578125,4.6438375Q12.72135578125,4.5713875,12.69308578125,4.5031375Q12.66481578125,4.4348975,12.62377578125,4.3734775Q12.58273578125,4.3120575,12.53050578125,4.2598275Q12.47827578125,4.2075875,12.41685578125,4.1665475Q12.35543578125,4.1255175,12.28718578125,4.0972445Q12.21893578125,4.0689765,12.14649578125,4.0545655Q12.07404578125,4.0401545,12.00017578125,4.0401545Q11.87871578125,4.0401545,11.76346578125,4.0784875L7.16346578125,5.6084875Q2.36767578125,7.2126875,2.36767578125,9.7839075Q2.36767578125,12.3560175,7.16337578125,13.9517875L9.32724578125,14.6730875L10.048665781250001,16.837287500000002Q11.64430578125,21.6326875,14.22017578125,21.6326875Q16.79607578125,21.6326875,18.39177578125,16.8369875L21.22167578125,8.347327499999999Q22.31267578125,5.0482875,20.63217578125,3.3652195Q18.94927578125,1.6798675,15.65297578125,2.7786415Q15.59737578125,2.7971935,15.54527578125,2.8241755Q15.49317578125,2.8511575000000002,15.44587578125,2.8859115Q15.39857578125,2.9206655,15.35737578125,2.9623464999999998Q15.31607578125,3.0040275,15.28177578125,3.0516218Q15.24747578125,3.0992159,15.22097578125,3.1515653Q15.19447578125,3.2039147,15.17647578125,3.2597455Q15.15837578125,3.3155765,15.14927578125,3.3735315Q15.14017578125,3.4314865,15.14017578125,3.4901545Q15.14017578125,3.5640225,15.15457578125,3.6364715Q15.16897578125,3.7089214999999998,15.19727578125,3.7771665Q15.22557578125,3.8454125,15.26657578125,3.9068315Q15.30757578125,3.9682515,15.35987578125,4.0204845Q15.41207578125,4.0727174999999995,15.47347578125,4.1137565Q15.53487578125,4.1547975,15.60317578125,4.1830675Q15.67137578125,4.2113274999999994,15.74387578125,4.2257475Q15.81627578125,4.2401575000000005,15.89017578125,4.2401575000000005Q16.011875781249998,4.2401575000000005,16.127375781250002,4.2016675Q18.543475781250002,3.3962995,19.57067578125,4.4250875Q20.59847578125,5.4544274999999995,19.79867578125,7.8729875L16.96857578125,16.3633875Q15.71427578125,20.1326875,14.22017578125,20.1326875Q12.72604578125,20.1326875,11.47168578125,16.3629875L10.631685781249999,13.8429875Q10.60407578125,13.7601875,10.55816578125,13.6858875Q10.512255781250001,13.6115875,10.450505781250001,13.5497875Q10.388755781250001,13.4880875,10.31447578125,13.4421875Q10.24018578125,13.3962875,10.157345781250001,13.3686875L7.63697578125,12.5285175Q3.86767578125,11.2742875,3.86767578125,9.7839075Q3.86767578125,8.2926275,7.63688578125,7.0318175Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M14.22093328125,10.590136875Q14.32608328125,10.484692875,14.382973281249999,10.347075875Q14.43986328125,10.209459875,14.43986328125,10.060546875Q14.43986328125,9.986678375,14.42545328125,9.914228875Q14.411043281249999,9.841779875,14.38277328125,9.773533875Q14.35450328125,9.705288875,14.31346328125,9.643868875Q14.27242328125,9.582449875,14.220193281250001,9.530216875Q14.16796328125,9.477983875,14.10654328125,9.436944875Q14.04512328125,9.395905875,13.97687328125,9.367636875Q13.908633281250001,9.339368875,13.83618328125,9.324957874999999Q13.76373328125,9.310546875,13.68986328125,9.310546875Q13.54040328125,9.310546875,13.40236328125,9.367837875Q13.26432328125,9.425127875,13.15879328125,9.530956875L9.57920828125,13.120536874999999L9.57879428125,13.120956875000001Q9.47364428125,13.226396874999999,9.41675328125,13.364016875Q9.35986328125,13.501636874999999,9.35986328125,13.650546875Q9.35986328125,13.724416875,9.374274281249999,13.796866875Q9.38868528125,13.869316874999999,9.41695328125,13.937556875Q9.44522228125,14.005806875000001,9.48626128125,14.067226875Q9.52730028125,14.128646875000001,9.57953328125,14.180876875Q9.63176628125,14.233106875,9.69318528125,14.274146875Q9.75460528125,14.315186875,9.82285028125,14.343456875000001Q9.89109628125,14.371726875,9.96354528125,14.386136875Q10.03599478125,14.400546875,10.10986328125,14.400546875Q10.25931928125,14.400546875,10.39735928125,14.343256875Q10.53539828125,14.285966875,10.64093228125,14.180136874999999L14.22048328125,10.590588875L14.22093328125,10.590136875L14.22093328125,10.590136875Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g style="opacity:0;"></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB