修改样式

This commit is contained in:
HHS
2025-06-04 18:51:10 +08:00
parent 04ec7d8296
commit 4b6743c64d
32 changed files with 261 additions and 470 deletions

View File

@@ -59,6 +59,8 @@ defineProps({
left: 0;
width: 100%;
z-index: 10;
background-color: #fff;
.titleBar {
display: flex;
@@ -84,7 +86,6 @@ defineProps({
}
}
.fill {
}
}
</style>

View File

@@ -9,9 +9,17 @@
}
},
{
"path": "pages/login/login",
"path": "pages/shoppingMall/shoppingMall",
"style": {
"navigationBarTitleText": "登陆"
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path": "pages/honeySource/honeySource",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
@@ -22,35 +30,30 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "登陆"
}
},
{
"path": "pages/messagePage/messagePage",
"style": {
"navigationBarTitleText": "消息",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path": "pages/shoppingMall/shoppingMall",
"style": {
"navigationBarTitleText": "商场",
"navigationBarBackgroundColor": "#FFFFFF"
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/shoppingCart/shoppingCart",
"style": {
"navigationBarTitleText": "购物车",
"navigationBarBackgroundColor": "#ffffff"
}
},
{
"path": "pages/mine/mine",
"style": {
"navigationBarTitleText": "我的蜂箱",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "pages/beeHiveData/beeHiveData",
"style": {
@@ -69,7 +72,7 @@
{
"path": "pages/shoppingMall/shopDetails",
"style": {
"navigationBarTitleText": "商品详情",
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
@@ -77,18 +80,12 @@
{
"path": "pages/shoppingMall/shoppingPay",
"style": {
"navigationBarTitleText": "购物支付",
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/honeySource/honeySource",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/homePage/collectBee",
"style": {
@@ -108,32 +105,32 @@
"path": "pages/smartBee/smartBee",
"style" :
{
"navigationBarTitleText" : "智能养蜂",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "pages/surveyList/surveyList",
"style" :
{
"navigationBarTitleText" : "问卷列表",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "pages/surveyList/surveyDetail",
"style" :
{
"navigationBarTitleText" : "问卷调查",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "pages/customerService/customerService",
"style" :
{
"navigationBarTitleText" : "联系客服",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
@@ -175,43 +172,43 @@
{
"path": "pages/userInfo/userInfo",
"style": {
"navigationBarTitleText": "编辑信息",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/withdraw/withdraw",
"style": {
"navigationBarTitleText": "我的钱包",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "pages/adoptionRecords/adoptionRecords",
"style": {
"navigationBarTitleText": "认养记录",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/orderList/orderList",
"style": {
"navigationBarTitleText": "订单列表",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/userInfo/addressList",
"style": {
"navigationBarTitleText": "地址列表",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/userInfo/addressEdit",
"style": {
"navigationBarTitleText": "编辑地址",
"navigationBarBackgroundColor": "#ffffff"
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="认养记录" />
<view class="container">
<!-- 导航栏 -->
<view class="nav-tabs">
@@ -40,12 +42,14 @@
</view>
</scroll-view>
</view>
</view>
</template>
<script setup>
import { ref, computed , onMounted} from 'vue';
import { request } from '@/utils/request'
import { useTokenStorage } from '../../utils/storage'
import TransNavVue from '../../components/TransNav.vue';
const { getAccessToken } = useTokenStorage()
const tabs = [

View File

@@ -1,7 +1,9 @@
<template>
<view>
<TransNavVue title="蜂农认证"/>
<view class="container">
<image class="container-bg" src="/static/images/homePage/homePageBg.png" mode=""></image>
<TransNavVue title="蜂农认证"></TransNavVue>
<image class="poster-image" src="/static/images/mypage/beeEnterBg.png" mode=""></image>
<text class="jion-text">未入驻平台</text>
<view class="tips-content">
@@ -18,6 +20,7 @@
祝福如春风般温暖如夏雨般滋润如秋月般皎洁如冬雪般纯净愿你的每一天都充满阳光和欢笑每一步都走向成功和幸福</text>
</view>
</view>
</view>
</template>
<script setup>

View File

@@ -1,7 +1,9 @@
<template>
<view>
<TransNavVue title="入驻"/>
<view class="container">
<image src="/static/images/myPage/BeeEnterInfoBg.png" class="container-bg" mode=""></image>
<TransNavVue title="入驻"></TransNavVue>
<view class="title-content">
填写信息
<text class="tips">填写相关信息完成入驻</text>
@@ -17,6 +19,7 @@
<button class="submit-btn" @click="enterBtn">入驻</button>
</view>
</view>
</view>
</template>
<script setup>

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="采蜂蜜"/>
<view>
<GetHivePupopVue v-model:show="showPopup" />
<view class="container">
@@ -38,12 +40,14 @@
</template>
</view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue';
import introductionV3 from '@/components/Introduction.vue';
import GetHivePupopVue from '../../components/GetHivePupop.vue';
import TransNavVue from '../../components/TransNav.vue';
const showPopup = ref(false)
const hasHive = ref(false);

View File

@@ -1,7 +1,9 @@
<template>
<view>
<TransNavVue title="蜂场数据"/>
<view class="container">
<image src="/static/images/homePage/homePageBg.png" mode="" class="bg-image"></image>
<TransNavVue title="蜂场数据"></TransNavVue>
<view class="data-panel">
<image class="panel-bg" src="/static/images/homePage/data-bg.png" mode=""></image>
<view class="data-content">
@@ -41,6 +43,7 @@
</view>
<view class="safe-view"></view>
</view>
</view>
</template>
<script setup>

View File

@@ -1,6 +1,8 @@
<template>
<view>
<TransNavVue title="微信提现"/>
<view class="container">
<TransNavVue title="微信提现"></TransNavVue>
<view class="withdraw-card">
@@ -23,6 +25,7 @@
<view class="withdraw-btn" @click="submitWithdraw">申请提现</view>
</view>
</view>
</template>
<script setup>

View File

@@ -1,7 +1,9 @@
<template>
<view>
<TransNavVue title="推广佣金"></TransNavVue>
<view class="container">
<image src="/static/images/myPage/yjng.png" mode="" class="bg-image"></image>
<TransNavVue title="推广佣金"></TransNavVue>
<view class="top-box">
<view>邀好友 得现金</view>
<text>邀请越多 奖励越多</text>
@@ -54,6 +56,7 @@
</view>
</view>
</view>
</template>
<script setup>
@@ -128,7 +131,7 @@ onMounted(() => {
<style lang="scss" scoped>
.container {
background-color: #f7f7f7;
height: 100vh;
position: relative;
z-index: 1;
display: flex;

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="联系客服"/>
<view class="container">
<view class="content">
<view class="qr-code-section">
@@ -22,11 +24,13 @@
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import { request } from '@/utils/request';
import TransNavVue from '../../components/TransNav.vue';
const qrCodeUrl = ref('/static/images/logo.png'); // 默认图片

View File

@@ -1,6 +1,8 @@
<template>
<view class="container">
<view>
<TransNavVue title="设备管理"></TransNavVue>
<view class="container">
<view class="header">
<text class="title">总设备:{{devices.length}}</text>
</view>
@@ -39,6 +41,7 @@
</view>
</scroll-view>
</view>
</view>
</template>
<script setup>

View File

@@ -1,6 +1,8 @@
<template>
<view>
<TransNavVue title="认养一箱蜂"></TransNavVue>
<view class="container">
<TransNavVue title="认养一箱蜂"></TransNavVue>
<view class="collect-box" v-for="item in beehiveList" :key="item.id">
<view class="collect-img"></view>
<view class="collect-info">
@@ -13,6 +15,7 @@
</view>
</view>
</view>
</view>
</template>
<script setup>

View File

@@ -1,6 +1,6 @@
<template>
<view>
<BeeTabbarVue></BeeTabbarVue>
<BeeTabbarVue></BeeTabbarVue>
<view class="container">
<image src="/static/images/homePage/homePageBg.png" mode="aspectFill" class="bg-image"></image>
<view :style="{ height: getStatusBarHeight() + 'px' }"></view>
@@ -114,6 +114,8 @@
</view>
</view>
</view>
</view>
<view v-else class="no-bee">
@@ -303,19 +305,24 @@ const scanCode = () => {
<style lang="scss" scoped>
.container {
background-color: #f7f7f7;
padding-bottom: 40rpx;
padding-bottom: 35rpx;
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
height: 100vh; // 新增:设置容器高度为视窗高度
.bg-image {
width: 100%;
height: 374rpx;
position: absolute;
position: fixed; // 修改改为fixed定位
z-index: -1;
}
.title-bar {
position: sticky; // 新增:标题栏固定
top: 0;
z-index: 10;
background-color: transparent;
.logo-image {
width: 205rpx;
height: 70rpx;
@@ -324,6 +331,8 @@ const scanCode = () => {
}
.scroll-view {
flex: 1;
overflow-y: auto; // 确保可滚动
height: 300rpx;
.swiper-content {
height: 340rpx;

View File

@@ -1,4 +1,42 @@
<template>
<view> <BeeTabbarVue active-tab="monitorPage"></BeeTabbarVue>
<view class="container">
<image src="/static/images/homePage/homePageBg.png" mode="aspectFill" class="bg-image"></image>
<view :style="{ height: getStatusBarHeight() + 'px' }"></view>
<view class="title-bar" :style="{ height: getTitleBarHeight() + 'px' }"></view>
<view class="map-container">
<map
id="map"
style="width: 100%; height: 500rpx;"
:latitude="30.5728"
:longitude="104.0668"
:markers="markers"
show-location
></map>
</view>
<view class="my-bee-title">
<view>推荐蜜源</view>
<image src="/static/images/homePage/myBeeTitle.png" mode="" class="title-image"></image>
</view>
<view class="bee-list-center">
<view class="bee-list-box" v-for="(item,index) in honeySourceList" :key="index">
<view class="bee-item-img">
<image :src=item.imgUrl style="width: 100%; height: 100%;"></image>
</view>
<view class="bee-item-title">
<text>{{item.name}}</text>
<view class="bee-item-address">{{item.address}}</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { getStatusBarHeight, getTitleBarHeight } from '../../utils/system';
import BeeTabbarVue from '../../components/BeeTabbar.vue';
@@ -70,46 +108,6 @@ onMounted(() => {
});
</script>
<template>
<view> <BeeTabbarVue active-tab="monitorPage"></BeeTabbarVue>
<view class="container">
<image src="/static/images/homePage/homePageBg.png" mode="aspectFill" class="bg-image"></image>
<view :style="{ height: getStatusBarHeight() + 'px' }"></view>
<view class="title-bar" :style="{ height: getTitleBarHeight() + 'px' }">
<view>蜜源</view>
</view>
<view class="map-container">
<map
id="map"
style="width: 100%; height: 500rpx;"
:latitude="30.5728"
:longitude="104.0668"
:markers="markers"
show-location
></map>
</view>
<view class="my-bee-title">
<view>推荐蜜源</view>
<image src="/static/images/homePage/myBeeTitle.png" mode="" class="title-image"></image>
</view>
<view class="bee-list-center">
<view class="bee-list-box" v-for="(item,index) in honeySourceList" :key="index">
<view class="bee-item-img">
<image :src=item.imgUrl style="width: 100%; height: 100%;"></image>
</view>
<view class="bee-item-title">
<text>{{item.name}}</text>
<view class="bee-item-address">{{item.address}}</view>
</view>
</view>
</view>
</view>
</view>
</template>
<style lang="scss" scoped>
.container {
@@ -119,6 +117,7 @@ onMounted(() => {
z-index: 1;
display: flex;
flex-direction: column;
padding-bottom: 35rpx;
.bg-image {
width: 100%;

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="我的消息"/>
<view>
<uni-popup ref="popup" type="center">
<view class="popup-content">
@@ -35,11 +37,13 @@
<view class="safe-view"></view>
</view>
</view>
</view>
</template>
<script setup>
import { ref ,onMounted} from 'vue';
import { request } from '@/utils/request'
import TransNavVue from '../../components/TransNav.vue';

View File

@@ -1,324 +0,0 @@
<template>
<view>
<BeeTabbarVue active-tab="mine"></BeeTabbarVue>
<view class="container">
<view class="swiper-content">
<swiper class="swiper" circular indicator-active-color="#ffffff" indicator-dots="true" autoplay="true" interval="2000" duration="500">
<swiper-item class="swiper-item">
<image src="/static/images/轮播图(1).png" class="swiper-image" mode=""></image>
</swiper-item>
<swiper-item class="swiper-item">
<image src="/static/images/轮播图(1).png" class="swiper-image" mode=""></image>
</swiper-item>
<swiper-item class="swiper-item">
<image src="/static/images/轮播图(1).png" class="swiper-image" mode=""></image>
</swiper-item>
</swiper>
</view>
<scroll-view scroll-y="true" class="scroll-content">
<view class="goods-info">
<image src="/static/images/homePage/shoppingBg.png" mode=""></image>
<view class="info-left">
<view class="info-content">
<view class="goods-price">
<text>218</text>
</view>
<view class="goods-weight">净重500g</view>
</view>
<view class="goods-name">商品名称</view>
</view>
<view class="user-avatars">
<AvatarStackVue :avatars="avatarList" :size="48"></AvatarStackVue>
</view>
</view>
<view class="progress-panel">
<view class="progress-title">
<text class="title-text">进度报告</text>
<text class="progress-text">50%交付进度</text>
</view>
<view class="progress-content">
<view class="steps-container">
<view class="step-item" v-for="(step, index) in steps" :key="index">
<view class="step-ccontent">
<image :src="step.completed ? step.curl : step.curl" class="step-icon"></image>
<text :class="['step-text', { 'completed-text': step.completed }]">{{ step.text }}</text>
</view>
<image v-if="index < steps.length - 1" src="/static/images/homePage/next.png" class="arrow-icon"></image>
</view>
</view>
</view>
</view>
<view class="hive-state">
<view class="hive-title">蜂箱状态</view>
<view class="state-info">
<view class="info-item">
<view class="info-val">
80
<text class="unit">/%</text>
</view>
<view class="info-name">蜜蜂出勤</view>
</view>
<view class="info-item">
<view class="info-val">
80
<text class="unit">/万斤</text>
</view>
<view class="info-name">蜂蜜产量</view>
</view>
<view class="info-item">
<view class="info-val">
80
<text class="unit">/万箱</text>
</view>
<view class="info-name">蜂箱领养</view>
</view>
<view class="info-item">
<view class="info-val">
80
<text class="unit">/万斤</text>
</view>
<view class="info-name">蜜蜂数量</view>
</view>
</view>
</view>
<view class="message-content">
<view class="message-item" v-for="(item,index) in 4" :key="index">
<text class="message-type">任务描述</text>
2025-01-02 14:20:25 完成打扫
</view>
</view>
</scroll-view>
<view class="tabbar-bottom"></view>
</view>
</view>
</template>
<script setup>
import BeeTabbarVue from '../../components/BeeTabbar.vue';
import AvatarStackVue from '../../components/AvatarStack.vue';
import { ref } from 'vue';
const avatarList = ref(['/static/images/homePage/BeehiveLogo.png', '/static/images/homePage/BeehiveLogo.png']);
const steps = ref([
{ text: '开始', completed: true, url: '/static/images/homePage/accomplish.png', curl: '/static/images/homePage/accomplishs.png' },
{ text: '采蜜', completed: true, url: '/static/images/homePage/bee.png', curl: '/static/images/homePage/bees.png' },
{ text: '分装', completed: false, url: '/static/images/homePage/classify.png', curl: '/static/images/homePage/classifys.png' },
{ text: '完成', completed: false, url: '/static/images/homePage/accomplish.png', curl: '/static/images/homePage/accomplishs.png' },
{ text: '交付', completed: false, url: '/static/images/homePage/delivery.png', curl: '/static/images/homePage/deliverys.png' }
]);
</script>
<style lang="scss" scoped>
.container {
height: 100vh;
display: flex;
flex-direction: column;
background: #efefef;
.swiper-content {
height: 480rpx;
width: 100%;
border-radius: 24rpx;
overflow: hidden;
margin: auto;
margin-top: 5rpx;
.swiper {
width: 100%;
height: 100%;
.swiper-image {
height: 100%;
width: 100%;
}
}
}
.scroll-content {
flex: 1;
height: 100rpx;
padding-top: 24rpx;
border-radius: 32rpx 32rpx 0rpx 0rpx;
.goods-info {
height: 204rpx;
width: 702rpx;
position: relative;
display: flex;
justify-content: space-between;
margin: auto;
z-index: 1;
image {
position: absolute;
width: 100%;
height: 100%;
z-index: -1;
}
.info-left {
display: flex;
flex-direction: column;
.info-content {
margin-top: 20rpx;
margin-left: 30rpx;
height: 84rpx;
display: flex;
.goods-price {
font-weight: 500;
font-size: 32rpx;
color: #ec652c;
text {
font-weight: bold;
font-size: 56rpx;
color: #eb5c20;
}
}
.goods-weight {
margin-left: 20rpx;
margin-top: 34rpx;
font-weight: 400;
font-size: 28rpx;
color: #999999;
}
}
.goods-name {
font-weight: bold;
font-size: 36rpx;
color: #1e1e1e;
margin-left: 30rpx;
margin-top: 10rpx;
}
}
.user-avatars {
margin-top: 40rpx;
margin-right: 30rpx;
}
}
.progress-panel {
margin: auto;
margin-top: 24rpx;
width: 702rpx;
height: 246rpx;
background: #ffffff;
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0, 0, 0, 0.03);
border-radius: 24rpx;
.progress-content {
padding: 20rpx 30rpx;
.steps-container {
display: flex;
justify-content: space-between;
.step-item {
display: flex;
.step-ccontent {
display: flex;
flex-direction: column;
width: 72rpx;
height: 116rpx;
.step-icon {
width: 72rpx;
height: 72rpx;
}
.step-text {
margin-top: 8rpx;
text-align: center;
font-size: 24rpx;
color: #999999;
line-height: 36rpx;
&.completed-text {
color: #101010;
}
}
}
.arrow-icon {
margin: 0 20rpx;
margin-top: 28rpx;
width: 27rpx;
height: 23rpx;
}
}
}
}
.progress-title {
padding: 0 30rpx;
display: flex;
justify-content: space-between;
.title-text {
margin-top: 26rpx;
font-weight: 500;
font-size: 32rpx;
color: #1e1e1e;
line-height: 46rpx;
}
.progress-text {
margin-top: 38rpx;
font-weight: 400;
font-size: 26rpx;
color: #999999;
line-height: 40rpx;
}
}
}
.hive-state {
padding: 26rpx 30rpx;
margin: auto;
margin-top: 24rpx;
width: 702rpx;
height: 210rpx;
background: #ffffff;
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0, 0, 0, 0.03);
border-radius: 16rpx;
.hive-title {
font-weight: 500;
font-size: 32rpx;
color: #1e1e1e;
line-height: 46rpx;
}
.state-info {
margin-top: 22rpx;
display: grid;
grid-template-columns: repeat(4, 1fr);
.info-item {
display: flex;
flex-direction: column;
align-items: center;
.info-val {
font-weight: bold;
font-size: 32rpx;
color: #000000;
line-height: 48rpx;
.unit {
font-weight: 400;
font-size: 20rpx;
color: #999999;
}
}
.info-name {
font-size: 24rpx;
color: #999999;
line-height: 36rpx;
}
}
}
}
.message-content {
margin: auto;
margin-top: 24rpx;
padding: 32rpx 28rpx;
width: 717rpx;
height: 280rpx;
background: #ffffff;
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0, 0, 0, 0.03);
border-radius: 16rpx 16rpx 16rpx 16rpx;
.message-item {
margin-bottom: 20rpx;
display: flex;
align-items: center;
font-size: 26rpx;
color: #262626;
line-height: 40rpx;
.message-type {
font-size: 26rpx;
color: #999999;
margin-right: 32rpx;
}
}
}
}
}
</style>

View File

@@ -537,6 +537,7 @@ const logout = () => {
height: 100vh;
display: flex;
flex-direction: column;
padding-bottom: 35rpx;
position: relative;
.bg-image {
position: absolute;

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="订单列表" />
<view class="container">
<!-- 导航栏 -->
<view class="nav-tabs">
@@ -40,12 +42,14 @@
</view>
</scroll-view>
</view>
</view>
</template>
<script setup>
import { ref, computed , onMounted} from 'vue';
import { request } from '@/utils/request'
import { useTokenStorage } from '../../utils/storage'
import TransNavVue from '../../components/TransNav.vue';
const { getAccessToken} = useTokenStorage()
const tabs = [
@@ -166,7 +170,7 @@ const formatDateTime = (dateString) => {
.list-container {
height: calc(100vh - 100rpx);
background-color: #f7f7f7; // 整体背景色
// padding: 20rpx; // 添加内边距
padding-bottom: 20rpx; // 添加内边距
.record-item {

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="购物车" />
<view class="container">
<!-- 购物车头部 -->
<view class="cart-header">
@@ -34,6 +36,7 @@
</view>
</view>
</view>
</scroll-view>
<!-- 结算区域 -->
@@ -61,12 +64,14 @@
</view>
<view class="safe-view" style="background: #ffffff"></view>
</view>
</view>
</template>
<script setup>
import { ref, computed, onMounted } from 'vue';
import { request } from '@/utils/request'
import { useTokenStorage } from '../../utils/storage' // 新增导入
import TransNavVue from '../../components/TransNav.vue';
const { getAccessToken } = useTokenStorage() // 新增获取token方法

View File

@@ -1,38 +1,73 @@
<template>
<view class="container">
<TransNavVue title="商品详情"></TransNavVue>
<view class="details-top">
<view class="swiper-content">
<swiper class="swiper" circular indicator-active-color="#ffffff" indicator-dots="true" autoplay="true"
interval="2000" duration="500">
<swiper-item class="swiper-item" v-for="(item,index) in commodityDetails.imgUrls" :key="index">
<image :src="item" class="swiper-image" mode=""></image>
</swiper-item>
</swiper>
<view class="container">
<TransNavVue title="商品详情" />
<scroll-view class="scroll-content" scroll-y>
<view class="details-top">
<view class="swiper-content">
<swiper class="swiper" circular indicator-active-color="#ffffff" indicator-dots="true" autoplay="true"
interval="2000" duration="500">
<swiper-item class="swiper-item" v-for="(item,index) in commodityDetails.imgUrls" :key="index">
<image :src="item" class="swiper-image" mode=""></image>
</swiper-item>
</swiper>
</view>
<view class="swiper-title">
<view><text class="money">{{commodityDetails.price}}</text> <text class="discounts">优惠券</text><text
class="sale">满50-20</text> </view>
<view class="kg">净重 {{commodityDetails.weight}}</view>
</view>
</view>
<view class="details-center">
<view class="details-title"> 图文详情</view>
<view class="details-img">
<image v-for="(item,index) in commodityDetails.imgUrls" :src="item" class="details-image" mode="" :key="index"></image>
</view>
<view class="swiper-title">
<view><text class="money">{{commodityDetails.price}}</text> <text class="discounts">优惠券</text><text
class="sale">满50-20</text> </view>
<view class="kg">净重 {{commodityDetails.weight}}</view>
</view>
</view>
<view class="details-center">
<view class="details-title"> 图文详情</view>
<view class="details-img">
<image v-for="(item,index) in commodityDetails.imgUrls" :src="item" class="details-image" mode="" :key="index"></image>
</view>
</view>
</view>
</view>
<view class="details-bottom">
<button class="settle-btn" @click="buyBtn">加入购物车</button>
</view>
</view>
<view class="details-bottom">
<button class="settle-btn" @click="buyBtn">加入购物车</button>
</view>
</scroll-view>
</view>
</template>
<style lang="scss" scoped>
.container {
display: flex;
flex-direction: column;
height: 100vh;
position: relative;
.scroll-content {
flex: 1;
overflow-y: auto;
padding-bottom: 120rpx; /* 为底部按钮留出空间 */
}
.details-bottom {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 100rpx;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 -2rpx 10rpx rgba(0,0,0,0.1);
.settle-btn {
width: 90%;
height: 80rpx;
line-height: 80rpx;
}
}
}
</style>
<script setup>
import {
ref,
@@ -154,7 +189,7 @@
flex-direction: column;
.swiper-content {
height: 380rpx;
height: 580rpx;
width: 100%;
overflow: hidden;
margin: auto;
@@ -218,10 +253,7 @@
}
.details-img {
height: 500rpx;
width: 100%;
overflow: auto;
.details-image {
width: 100%;
}

View File

@@ -143,10 +143,13 @@ onMounted(() => {
<style lang="scss" scoped>
.container {
padding-bottom: 120rpx;
display: flex;
flex-direction: column;
background: #f7f7f7;
background-color: #f7f7f7;
padding-bottom: 120rpx;
z-index: 1;
display: flex;
flex-direction: column;
height: 100vh; // 新增:设置容器高度为视窗高度
.cart-btn {
bottom: 384rpx;

View File

@@ -1,6 +1,6 @@
<template>
<view class="container">
<TransNavVue title="确认订单"></TransNavVue>
<TransNavVue title="订单确认"></TransNavVue>
<view class="pay-center">
<view v-if="currentAddress.consigneeName" class="name-box">
<view class="address-header">

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="认养记录" />
<view class="container">
<scroll-view scroll-y class="content">
<!-- 使用v-for遍历后端数据 -->
@@ -21,12 +23,13 @@
</view>
</scroll-view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted} from 'vue';
import { request } from '@/utils/request'
import TransNavVue from '../../components/TransNav.vue'
const smartBeeList=ref([])
onMounted(() => {

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="问卷详情" />
<view class="container">
<scroll-view scroll-y class="content">
<!-- 问卷标题 -->
@@ -58,12 +60,14 @@
<button class="submit-btn" @click="submitSurvey">提交问卷</button>
</scroll-view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue'
import { request } from '@/utils/request'
import { onLoad } from '@dcloudio/uni-app'
import TransNavVue from '../../components/TransNav.vue'
const surveyId = ref('')
const surveyData = ref({

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="问卷列表" />
<view class="container">
<scroll-view scroll-y class="content">
<view class="survey-list">
@@ -26,11 +28,13 @@
</view>
</scroll-view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { request } from '@/utils/request'
import TransNavVue from '../../components/TransNav.vue';
const surveyList = ref([

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="编辑地址" />
<view class="container">
<view class="form">
<view class="form-item">
@@ -58,11 +60,13 @@
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted, computed } from 'vue'
import { request } from '@/utils/request'
import TransNavVue from '../../components/TransNav.vue'
const areaList = ref([])
const regionPickerVisible = ref(false)

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="收获地址" />
<view class="container">
<scroll-view scroll-y class="list">
<view class="item" v-for="item in addressList" :key="item.id">
@@ -10,7 +12,7 @@
<view>
<image
style="width:25rpx ; height: 25rpx;"
src="/static/images/myPapeImages/edit.png"
src="/static/images/myPage/edit.png"
@click="editAddress(item)"></image>
</view>
@@ -26,12 +28,12 @@
<image
v-if="item.isDefault"
style="width:25rpx; height:25rpx;"
src="/static/images/myPapeImages/changeActive.png"
src="/static/images/myPage/changeActive.png"
></image>
<image
v-else
style="width:25rpx; height:25rpx;"
src="/static/images/myPapeImages/change.png"
src="/static/images/myPage/change.png"
></image>
<text>设为默认地址</text>
</view>
@@ -44,12 +46,14 @@
<button class="add-btn" @click="addAddress">新增收货地址</button>
</view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted, } from 'vue'
import { request } from '@/utils/request'
import { onShow } from '@dcloudio/uni-app';
import TransNavVue from '../../components/TransNav.vue'
const addressList = ref([])
const refreshing = ref(false)

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="设置" />
<view class="container">
<view class="content">
@@ -60,6 +62,7 @@
</view>
</view>
</view>
</view>
</template>
<script setup>
@@ -67,6 +70,7 @@ import { ref } from 'vue'
import { request } from '@/utils/request'
import { useTokenStorage } from '../../utils/storage'
import { onMounted } from 'vue'
import TransNavVue from '../../components/TransNav.vue'
const { getAccessToken} = useTokenStorage()

View File

@@ -1,4 +1,6 @@
<template>
<view>
<TransNavVue title="推广佣金"></TransNavVue>
<view class="container">
<!-- 修改顶部黑色区域显示现金余额 -->
<view class="top-card black-bg">
@@ -41,12 +43,14 @@
</view>
</uni-popup>
</view>
</view>
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { request } from '@/utils/request'
import { useTokenStorage } from '../../utils/storage'
import TransNavVue from '../../components/TransNav.vue'
const { getAccessToken } = useTokenStorage()
const popup = ref(null)

Binary file not shown.

BIN
static/images/homePage/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -2,8 +2,8 @@
import { useTokenStorage } from './storage'
const { getRefreshToken, setToken ,getAccessToken} = useTokenStorage()
const BASE_URL = 'http://192.168.1.132:48080'
// const BASE_URL="https:www.cdsrh.top"
// const BASE_URL = 'http://192.168.1.132:48080'
const BASE_URL="https:www.cdsrh.top"
let isRefreshing = false
let refreshSubscribers = []