feat: 替换sass版本,定义全局样式,实现简单的页面布局操作,比如颜色、边距、圆角等

This commit is contained in:
duanshuwen 2025-10-06 13:13:16 +08:00
parent e0f0e90635
commit c8e51e4975
108 changed files with 366 additions and 517 deletions

View File

@ -72,7 +72,7 @@
"@dcloudio/vite-plugin-uni": "3.0.0-4070620250821001", "@dcloudio/vite-plugin-uni": "3.0.0-4070620250821001",
"@vue/runtime-core": "^3.4.21", "@vue/runtime-core": "^3.4.21",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"sass": "^1.93.0", "sass": "1.58.3",
"vite": "5.2.8" "vite": "5.2.8"
} }
} }

View File

@ -25,5 +25,5 @@ const props = defineProps({
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -474,5 +474,5 @@ onBeforeUnmount(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
// //
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -40,5 +40,5 @@ const onChange = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -14,5 +14,5 @@ defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -7,5 +7,5 @@
.command-text { .command-text {
color: #fff; color: #fff;
font-size: 14px; font-size: $uni-font-size-base;
} }

View File

@ -252,5 +252,5 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -3,10 +3,10 @@
} }
.order-header { .order-header {
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
margin-bottom: 10px; margin-bottom: 10px;
color: #333; color: $uni-text-color;
} }
.order-content { .order-content {
@ -36,9 +36,9 @@
} }
.order-description { .order-description {
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
color: #333; color: $uni-text-color;
} }
.order-line { .order-line {
@ -75,8 +75,8 @@
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }
.detail-label { .detail-label {
@ -85,15 +85,15 @@
} }
.detail-value { .detail-value {
color: #333; color: $uni-text-color;
} }
.detail-input { .detail-input {
border: none; border: none;
outline: none; outline: none;
width: calc(100% - 80px); width: calc(100% - 80px);
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
} }
@ -101,8 +101,8 @@
border: none; border: none;
outline: none; outline: none;
width: 100%; width: 100%;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }
.order-button { .order-button {
@ -110,7 +110,7 @@
height: 42px; height: 42px;
background: linear-gradient(90deg, #ff7e00, #ffba00); background: linear-gradient(90deg, #ff7e00, #ffba00);
color: #fff; color: #fff;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 600; font-weight: 600;
border-radius: 20px; border-radius: 20px;
margin-top: 20px; margin-top: 20px;
@ -131,9 +131,9 @@
.order-button-secondary { .order-button-secondary {
flex: 1; flex: 1;
height: 42px; height: 42px;
background: linear-gradient(90deg, #0256FF, #00A6FF); background: linear-gradient(90deg, #0256ff, #00a6ff);
color: #fff; color: #fff;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 600; font-weight: 600;
border: none; border: none;
border-radius: 20px; border-radius: 20px;
@ -148,7 +148,7 @@
height: 42px; height: 42px;
background: linear-gradient(90deg, #ff7e00, #ffba00); background: linear-gradient(90deg, #ff7e00, #ffba00);
color: #fff; color: #fff;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 600; font-weight: 600;
border-radius: 20px; border-radius: 20px;
display: flex; display: flex;
@ -160,7 +160,7 @@
margin-bottom: 12px; margin-bottom: 12px;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 14px; font-size: $uni-font-size-base;
color: #ed6a0c; color: #ed6a0c;
} }

View File

@ -3,5 +3,5 @@
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -141,5 +141,5 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -3,10 +3,10 @@
} }
.order-header { .order-header {
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
margin-bottom: 10px; margin-bottom: 10px;
color: #333; color: $uni-text-color;
} }
.order-content { .order-content {
@ -22,8 +22,8 @@
display: flex; display: flex;
align-items: start; align-items: start;
margin-bottom: 12px; margin-bottom: 12px;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }
.detail-label { .detail-label {
@ -32,14 +32,14 @@
} }
.detail-value { .detail-value {
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }
.detail-textarea { .detail-textarea {
width: 100%; width: 100%;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
border-radius: 4px; border-radius: 4px;
border: 1px solid #ddd; border: 1px solid #ddd;
padding: 8px; padding: 8px;
@ -49,8 +49,8 @@
border: none; border: none;
outline: none; outline: none;
width: 100%; width: 100%;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
padding-left: 8px; padding-left: 8px;
} }
@ -59,7 +59,7 @@
width: 300px; width: 300px;
height: 42px; height: 42px;
color: #fff; color: #fff;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 600; font-weight: 600;
border-radius: 21px; border-radius: 21px;
margin-top: 24px; margin-top: 24px;
@ -80,7 +80,7 @@
margin-bottom: 12px; margin-bottom: 12px;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 14px; font-size: $uni-font-size-base;
color: #ed6a0c; color: #ed6a0c;
} }

View File

@ -175,5 +175,5 @@ defineExpose({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -1,7 +1,7 @@
// SASS 变量定义 // SASS 变量定义
$form-primary-color: #00a6ff; $form-primary-color: #00a6ff;
$form-error-color: #ff4d4f; $form-error-color: #ff4d4f;
$form-text-color: #333; $form-text-color: $uni-text-color;
$form-label-color: #86909c; $form-label-color: #86909c;
$form-border-color: #ddd; $form-border-color: #ddd;
$form-input-border-color: #ddd; $form-input-border-color: #ddd;
@ -85,7 +85,7 @@ $form-transition: all 0.2s ease;
} }
.form-label { .form-label {
font-size: 14px; font-size: $uni-font-size-base;
color: $form-label-color; color: $form-label-color;
width: 50px; width: 50px;
flex-shrink: 0; flex-shrink: 0;
@ -95,7 +95,7 @@ $form-transition: all 0.2s ease;
.form-input { .form-input {
flex: 1; flex: 1;
font-size: 14px; font-size: $uni-font-size-base;
color: $form-text-color; color: $form-text-color;
border: none; border: none;
border-bottom: 1px solid $form-input-border-color; border-bottom: 1px solid $form-input-border-color;
@ -127,7 +127,7 @@ $form-transition: all 0.2s ease;
} }
.form-error { .form-error {
font-size: 12px; font-size: $uni-font-size-sm;
color: $form-error-color; color: $form-error-color;
margin-top: 6px; margin-top: 6px;
margin-left: 60px; margin-left: 60px;

View File

@ -58,5 +58,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use './styles/index.scss'; @import "./styles/index.scss";
</style> </style>

View File

@ -23,8 +23,8 @@
flex-shrink: 0; flex-shrink: 0;
.module-title { .module-title {
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
text-align: center; text-align: center;
word-wrap: break-word; word-wrap: break-word;
margin-left: 4px; margin-left: 4px;
@ -33,7 +33,7 @@
.module-desc { .module-desc {
flex: 1; flex: 1;
font-size: 12px; font-size: $uni-font-size-sm;
color: #666; color: #666;
line-height: 1.5; line-height: 1.5;
margin-top: 4px; margin-top: 4px;

View File

@ -47,7 +47,11 @@
:id="`thumbnail-${index}`" :id="`thumbnail-${index}`"
@click="handleThumbnailClick(index)" @click="handleThumbnailClick(index)"
> >
<image class="thumbnail-image" :src="thumb.photoUrl" mode="aspectFill"></image> <image
class="thumbnail-image"
:src="thumb.photoUrl"
mode="aspectFill"
></image>
<text>{{ thumb.photoName }}</text> <text>{{ thumb.photoName }}</text>
</view> </view>
</view> </view>
@ -159,5 +163,5 @@ const handleSwiperChange = (e) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -48,5 +48,5 @@ const openMap = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -7,8 +7,8 @@
background-size: cover; background-size: cover;
background-position: center; background-position: center;
border-radius: 20px; border-radius: 20px;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
@ -30,15 +30,15 @@
} }
.location-label { .location-label {
color: #333; color: $uni-text-color;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
} }
.address-text { .address-text {
margin-top: 4px; margin-top: 4px;
color: #666; color: #666;
font-size: 12px; font-size: $uni-font-size-sm;
font-weight: 400; font-weight: 400;
} }

View File

@ -42,5 +42,5 @@ const openMap = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -1,8 +1,8 @@
.store-address { .store-address {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
text { text {
flex: 1; flex: 1;

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="module-header mb12"> <view class="module-header mb12">
<text class="module-title">{{ title }}</text> <text class="module-title">{{ title }}</text>
<image class="underline" src="./images/wave_icon.png" mode="aspectFill"/> <image class="underline" src="./images/wave_icon.png" mode="aspectFill" />
</view> </view>
</template> </template>
@ -9,11 +9,11 @@
defineProps({ defineProps({
title: { title: {
type: String, type: String,
default: '图片详情' default: "图片详情",
} },
}); });
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -48,5 +48,5 @@ const orderStatusText = computed(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -25,11 +25,11 @@
.order-title { .order-title {
font-size: 16px; font-size: 16px;
color: #333; color: $uni-text-color;
} }
.order-status { .order-status {
font-size: 14px; font-size: $uni-font-size-base;
padding: 5px 10px; padding: 5px 10px;
border-radius: 15px; border-radius: 15px;
} }
@ -70,12 +70,12 @@
} }
.detail-label { .detail-label {
font-size: 14px; font-size: $uni-font-size-base;
color: #666; color: #666;
margin-right: 10px; margin-right: 10px;
} }
.detail-value { .detail-value {
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }

View File

@ -3,14 +3,23 @@
<view class="content"> <view class="content">
<view class="title">隐私保护指引</view> <view class="title">隐私保护指引</view>
<view class="des"> <view class="des">
请您仔细阅读并充分理解<text class="link" @click="handleOpenPrivacyContract">{{ privacyContractName }}</text> 请您仔细阅读并充分理解<text
如您同意前述协议的全部内容请点击同意开始使用<text class="cancel">如您不同意将被限制使用部分功能或将在您使用具体功能前再次询问以取得您的授权同意</text> class="link"
@click="handleOpenPrivacyContract"
>{{ privacyContractName }}</text
>
如您同意前述协议的全部内容请点击同意开始使用<text class="cancel"
>如您不同意将被限制使用部分功能或将在您使用具体功能前再次询问以取得您的授权同意</text
>
</view> </view>
<view class="btns"> <view class="btns">
<button class="reject" @click="handleDisagree">拒绝</button> <button class="reject" @click="handleDisagree">拒绝</button>
<button class="agree" open-type="agreePrivacyAuthorization" <button
@agreeprivacyauthorization="handleAgreePrivacyAuthorization"> class="agree"
open-type="agreePrivacyAuthorization"
@agreeprivacyauthorization="handleAgreePrivacyAuthorization"
>
同意 同意
</button> </button>
</view> </view>
@ -19,11 +28,11 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { ref } from "vue";
import { onShow } from "@dcloudio/uni-app"; import { onShow } from "@dcloudio/uni-app";
const showPrivacy = ref(true) const showPrivacy = ref(true);
const privacyContractName = ref('隐私保护指引') const privacyContractName = ref("隐私保护指引");
onShow(() => { onShow(() => {
// //
@ -34,7 +43,7 @@ onShow(() => {
console.log("cj隐私配置", res); console.log("cj隐私配置", res);
if (res.errMsg == "getPrivacySetting:ok" && res.needAuthorization) { if (res.errMsg == "getPrivacySetting:ok" && res.needAuthorization) {
privacyContractName.value = res.privacyContractName; privacyContractName.value = res.privacyContractName;
showPrivacy.value = res.needAuthorization showPrivacy.value = res.needAuthorization;
} }
}, },
}); });
@ -44,36 +53,33 @@ onShow(() => {
// #ifdef MP-TOUTIAO // #ifdef MP-TOUTIAO
uni.getPrivacySetting({ uni.getPrivacySetting({
success: (res) => { success: (res) => {
console.log(res) console.log(res);
} },
}) });
// #endif // #endif
}) });
// //
const handleDisagree = () => { const handleDisagree = () => {
showPrivacy.value = false showPrivacy.value = false;
} };
// //
const handleAgreePrivacyAuthorization = () => { const handleAgreePrivacyAuthorization = () => {
showPrivacy.value = false showPrivacy.value = false;
} };
// //
const handleOpenPrivacyContract = () => { const handleOpenPrivacyContract = () => {
// //
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
wx.openPrivacyContract({ wx.openPrivacyContract({
fail: () => { } fail: () => {},
}) });
// #endif // #endif
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -17,5 +17,5 @@ defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -4,8 +4,8 @@
.response-intro-text { .response-intro-text {
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: $uni-font-size-base;
color: #333333; color: $uni-text-color;
line-height: 20px; line-height: 20px;
text-align: justify; text-align: justify;
} }

View File

@ -7,5 +7,5 @@
<script setup></script> <script setup></script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -36,5 +36,5 @@ const handleClick = (type) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -9,7 +9,7 @@
} }
.header-text { .header-text {
font-size: 12px; font-size: $uni-font-size-sm;
color: #6b84a2; color: #6b84a2;
} }
@ -46,7 +46,7 @@
rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5),
rgba(255, 255, 255, 1) rgba(255, 255, 255, 1)
); );
font-size: 12px; font-size: $uni-font-size-sm;
font-weight: 500; font-weight: 500;
color: #00a6ff; color: #00a6ff;
border-radius: 50px; border-radius: 50px;

View File

@ -59,5 +59,5 @@ const increase = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -6,6 +6,6 @@
.stepper-text { .stepper-text {
width: 40px; width: 40px;
font-size: 16px; font-size: 16px;
color: #333; color: $uni-text-color;
text-align: center; text-align: center;
} }

View File

@ -25,5 +25,5 @@ defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -19,15 +19,15 @@
.sum-label { .sum-label {
font-size: 15px; font-size: 15px;
color: #333; color: $uni-text-color;
} }
.sum-value { .sum-value {
font-size: 14px; font-size: $uni-font-size-base;
color: #999; color: #999;
} }
.sum-discount { .sum-discount {
font-size: 14px; font-size: $uni-font-size-base;
color: #ff5722; color: #ff5722;
} }

View File

@ -11,5 +11,5 @@ const tags = ["门票套餐", "民俗活动", "车程路况"];
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -7,7 +7,7 @@
background-color: #fff; background-color: #fff;
border-radius: 10px; border-radius: 10px;
padding: 8px 16px; padding: 8px 16px;
font-size: 12px; font-size: $uni-font-size-sm;
color: #00A6FF; color: #00a6ff;
white-space: nowrap; white-space: nowrap;
} }

View File

@ -140,5 +140,5 @@ const handleBack = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -1,7 +1,7 @@
// TopNavBar 组件样式 // TopNavBar 组件样式
.top-nav-bar { .top-nav-bar {
width: 100%; width: 100%;
background-color: #ffffff; background-color: $uni-bg-color;
&.has-shadow { &.has-shadow {
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
@ -75,7 +75,7 @@
.nav-bar-title { .nav-bar-title {
font-size: 18px; font-size: 18px;
font-weight: 500; font-weight: 500;
color: #333333; color: $uni-text-color;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;

View File

@ -22,5 +22,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -14,6 +14,6 @@
.empty-text { .empty-text {
margin-top: 10px; margin-top: 10px;
font-size: 14px; font-size: $uni-font-size-base;
color: #666666; color: #666666;
} }

View File

@ -123,5 +123,5 @@ const formatServiceAmount = (amount) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -26,5 +26,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -9,5 +9,5 @@
align-items: center; align-items: center;
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: #333; color: $uni-text-color;
} }

View File

@ -31,15 +31,15 @@ const props = defineProps({
} }
.label { .label {
font-size: 12px; font-size: $uni-font-size-sm;
color: #666666; color: #666666;
flex-shrink: 0; flex-shrink: 0;
margin-right: 8px; margin-right: 8px;
} }
.value { .value {
font-size: 14px; font-size: $uni-font-size-base;
color: #333333; color: $uni-text-color;
flex: 1; flex: 1;
} }
</style> </style>

View File

@ -117,5 +117,5 @@ const handleCardClick = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -41,9 +41,9 @@
} }
.order-title { .order-title {
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
color: #333333; color: $uni-text-color;
line-height: 1.4; line-height: 1.4;
} }
@ -56,7 +56,7 @@
box-sizing: border-box; box-sizing: border-box;
padding: 6px 16px; padding: 6px 16px;
border-radius: 20px; border-radius: 20px;
font-size: 12px; font-size: $uni-font-size-sm;
font-weight: 500; font-weight: 500;
&.tag-0 { &.tag-0 {

View File

@ -160,5 +160,5 @@ const openFeedback = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -1,14 +1,9 @@
@use "sass:color";
// SASS变量定义提高可维护性和编译性能
// 颜色系统 // 颜色系统
$order-bg-color: #fff; $order-bg-color: #fff;
$text-color-primary: #333; $text-color-primary: #333;
$text-color-secondary: #666; $text-color-secondary: #666;
$text-color-accent: #ff5722; $text-color-accent: #ff5722;
$button-color: #00a6ff; $button-color: #00a6ff;
$button-hover-color: color.scale($button-color, $lightness: -16%);
$button-disabled-color: #ccc; $button-disabled-color: #ccc;
$border-color: #ececec; $border-color: #ececec;
$shadow-color: rgba(0, 0, 0, 0.08); $shadow-color: rgba(0, 0, 0, 0.08);

View File

@ -31,5 +31,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -1,5 +1,5 @@
.order-qrcode { .order-qrcode {
background: #ffffff; background-color: $uni-bg-color;
border-radius: 10px; border-radius: 10px;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
@ -10,7 +10,7 @@
margin-bottom: 12px; margin-bottom: 12px;
text { text {
font-size: 12px; font-size: $uni-font-size-sm;
color: #666666; color: #666666;
line-height: 17px; line-height: 17px;
margin-top: 4px; margin-top: 4px;

View File

@ -85,5 +85,5 @@ const statusDescription = computed(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -24,5 +24,5 @@
} }
.status-description { .status-description {
font-size: 12px; font-size: $uni-font-size-sm;
} }

View File

@ -150,5 +150,5 @@ const handleConfirmClick = (text) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -27,7 +27,7 @@
&__title { &__title {
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: #333; color: $uni-text-color;
line-height: 22px; line-height: 22px;
margin-bottom: 12px; margin-bottom: 12px;
text-align: center; text-align: center;
@ -40,7 +40,7 @@
margin-bottom: 4px; margin-bottom: 4px;
.amount-symbol { .amount-symbol {
font-size: 12px; font-size: $uni-font-size-sm;
color: #ff6a00; color: #ff6a00;
} }
@ -51,14 +51,14 @@
} }
.amount-unit { .amount-unit {
font-size: 12px; font-size: $uni-font-size-sm;
color: #ff6a00; color: #ff6a00;
} }
} }
&__amount-label { &__amount-label {
font-size: 12px; font-size: $uni-font-size-sm;
color: #333; color: $uni-text-color;
margin-bottom: 16px; margin-bottom: 16px;
} }
@ -67,15 +67,15 @@
margin-bottom: 16px; margin-bottom: 16px;
.policy-title { .policy-title {
font-size: 14px; font-size: $uni-font-size-base;
color: #007aff; color: #007aff;
font-weight: 600; font-weight: 600;
margin-bottom: 8px; margin-bottom: 8px;
} }
.policy-content { .policy-content {
font-size: 12px; font-size: $uni-font-size-sm;
color: #333333; color: $uni-text-color;
line-height: 22px; line-height: 22px;
text-align: justify; text-align: justify;
} }

View File

@ -271,5 +271,5 @@ defineExpose({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -21,7 +21,7 @@
} }
.tab-text { .tab-text {
font-size: 14px; font-size: $uni-font-size-base;
color: #666; color: #666;
font-weight: 400; font-weight: 400;
transition: all 0.3s ease; transition: all 0.3s ease;
@ -29,14 +29,14 @@
} }
.tab-text-active { .tab-text-active {
color: #333; color: $uni-text-color;
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
} }
.tab-item-active { .tab-item-active {
.tab-text { .tab-text {
color: #333; color: $uni-text-color;
font-weight: 600; font-weight: 600;
} }
} }
@ -46,9 +46,10 @@
bottom: 0; bottom: 0;
height: 3px; height: 3px;
min-height: 3px; /* 确保最小高度 */ min-height: 3px; /* 确保最小高度 */
background-color: #007AFF; background-color: #007aff;
border-radius: 10px; border-radius: 10px;
transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1); transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1),
width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 1; z-index: 1;
transform: translateZ(0); /* 启用硬件加速 */ transform: translateZ(0); /* 启用硬件加速 */
will-change: left, width; /* 优化动画性能 */ will-change: left, width; /* 优化动画性能 */
@ -64,7 +65,6 @@
opacity: 1; opacity: 1;
} }
/* 点击效果 */ /* 点击效果 */
.tab-item:active { .tab-item:active {
opacity: 0.7; opacity: 0.7;

View File

@ -92,5 +92,5 @@ const formatPhone = (phone) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -17,12 +17,12 @@
} }
.label { .label {
font-size: 14px; font-size: $uni-font-size-base;
color: #666; color: #666;
margin-right: 8px; margin-right: 8px;
} }
.value { .value {
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }

View File

@ -108,5 +108,5 @@ const handleRefundConfirm = async ({ orderId }) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/detail.scss"; @import "./styles/detail.scss";
</style> </style>

View File

@ -63,5 +63,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -17,14 +17,14 @@
left: 24rpx; left: 24rpx;
font-size: 20rpx; font-size: 20rpx;
color: #999999; color: #999999;
background: #ffffff; background-color: $uni-bg-color;
padding: 0 8rpx; padding: 0 8rpx;
z-index: 1; z-index: 1;
} }
.date-box { .date-box {
padding: 20rpx 24rpx; padding: 20rpx 24rpx;
background: #ffffff; background-color: $uni-bg-color;
border-radius: 16rpx; border-radius: 16rpx;
border: 2rpx solid #f0f0f0; border: 2rpx solid #f0f0f0;
display: flex; display: flex;
@ -41,7 +41,7 @@
.date-text { .date-text {
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
color: #333333; color: $uni-text-color;
} }
.day-text { .day-text {

View File

@ -369,5 +369,5 @@ defineExpose({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -15,7 +15,7 @@
.header-title { .header-title {
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
color: #333; color: $uni-text-color;
flex: 1; flex: 1;
text-align: center; text-align: center;
} }
@ -64,7 +64,7 @@
.goods-title { .goods-title {
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: #333; color: $uni-text-color;
line-height: 22px; line-height: 22px;
margin-bottom: 8px; margin-bottom: 8px;
display: -webkit-box; display: -webkit-box;
@ -79,7 +79,7 @@
margin-bottom: 12px; margin-bottom: 12px;
.currency { .currency {
font-size: 14px; font-size: $uni-font-size-base;
color: #ff6b35; color: #ff6b35;
font-weight: 500; font-weight: 500;
} }
@ -92,7 +92,7 @@
} }
.price-desc { .price-desc {
font-size: 14px; font-size: $uni-font-size-base;
color: #999; color: #999;
font-weight: 400; font-weight: 400;
margin-left: 12px; margin-left: 12px;
@ -107,9 +107,9 @@
} }
.service-title { .service-title {
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
color: #333; color: $uni-text-color;
} }
.goods-service-item { .goods-service-item {
@ -120,12 +120,12 @@
.service-label, .service-label,
.service-value { .service-value {
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
} }
.service-label { .service-label {
color: #333; color: $uni-text-color;
} }
.service-value { .service-value {
@ -166,8 +166,8 @@
} }
.total-count { .total-count {
font-size: 12px; font-size: $uni-font-size-sm;
color: #333; color: $uni-text-color;
} }
.total-price { .total-price {
@ -178,7 +178,7 @@
&::before { &::before {
content: "¥"; content: "¥";
font-size: 12px; font-size: $uni-font-size-sm;
} }
} }

View File

@ -47,9 +47,8 @@ const facilitiesList = computed(() => {
return []; return [];
}); });
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -9,7 +9,7 @@
.title { .title {
font-size: 16px; font-size: 16px;
color: #333; color: $uni-text-color;
font-weight: 600; font-weight: 600;
line-height: 1.4; line-height: 1.4;
flex: 0 280px; flex: 0 280px;
@ -54,8 +54,8 @@
border-radius: 6px; border-radius: 6px;
.facility-text { .facility-text {
font-size: 12px; font-size: $uni-font-size-sm;
color: #333; color: $uni-text-color;
line-height: 1; line-height: 1;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;

View File

@ -349,5 +349,5 @@ const handleDateSelect = (data) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -1,7 +1,4 @@
@use "sass:color";
$button-color: #00a6ff; $button-color: #00a6ff;
$button-hover-color: color.scale($button-color, $lightness: -16%);
.goods-container { .goods-container {
display: flex; display: flex;
@ -37,8 +34,8 @@ $button-hover-color: color.scale($button-color, $lightness: -16%);
flex-shrink: 0; flex-shrink: 0;
.module-title { .module-title {
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
text-align: center; text-align: center;
word-wrap: break-word; word-wrap: break-word;
margin-left: 4px; margin-left: 4px;
@ -47,7 +44,7 @@ $button-hover-color: color.scale($button-color, $lightness: -16%);
.module-desc { .module-desc {
flex: 1; flex: 1;
font-size: 12px; font-size: $uni-font-size-sm;
color: #666; color: #666;
line-height: 1.5; line-height: 1.5;
margin-top: 4px; margin-top: 4px;
@ -94,8 +91,8 @@ $button-hover-color: color.scale($button-color, $lightness: -16%);
} }
.label { .label {
font-size: 14px; font-size: $uni-font-size-base;
color: #333; color: $uni-text-color;
} }
.price { .price {
@ -106,7 +103,7 @@ $button-hover-color: color.scale($button-color, $lightness: -16%);
&::before { &::before {
content: "¥"; content: "¥";
font-size: 12px; font-size: $uni-font-size-sm;
} }
} }
@ -121,51 +118,12 @@ $button-hover-color: color.scale($button-color, $lightness: -16%);
justify-content: center; justify-content: center;
border-radius: 50px; border-radius: 50px;
height: 42px; height: 42px;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
transition: all 0.3s ease; transition: all 0.3s ease;
letter-spacing: 0.5px; letter-spacing: 0.5px;
margin-left: auto; margin-left: auto;
// 按钮波纹效果
&::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: rgba(255, 255, 255, 0.3);
border-radius: 50%;
transform: translate(-50%, -50%);
transition: width 0.6s, height 0.6s;
}
&:hover {
background: linear-gradient(
135deg,
$button-hover-color 0%,
color.scale($button-hover-color, $lightness: -11.9%) 100%
);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba($button-color, 0.4);
&::before {
width: 300px;
height: 300px;
}
}
&:active {
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba($button-color, 0.3);
}
&:focus {
outline: none;
box-shadow: 0 0 0 3px rgba($button-color, 0.3);
}
} }
} }

View File

@ -66,5 +66,5 @@ watch(
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -16,5 +16,5 @@ defineProps({
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -16,5 +16,5 @@ defineProps({
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -8,7 +8,7 @@
overflow-x: hidden; // 防止横向撑开 overflow-x: hidden; // 防止横向撑开
text { text {
font-size: 14px; font-size: $uni-font-size-base;
color: #333333; color: $uni-text-color;
} }
} }

View File

@ -244,5 +244,5 @@ defineExpose({ focusInput });
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -2,7 +2,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
border-radius: 22px; border-radius: 22px;
background-color: #ffffff; background-color: $uni-bg-color;
box-shadow: 0px 0px 20px 0px rgba(52, 25, 204, 0.05); box-shadow: 0px 0px 20px 0px rgba(52, 25, 204, 0.05);
margin: 0 12px; margin: 0 12px;
margin-bottom: 8px; margin-bottom: 8px;
@ -29,12 +29,12 @@
.hold-to-talk-button { .hold-to-talk-button {
width: 100%; width: 100%;
height: 44px; height: 44px;
color: #333333; color: $uni-text-color;
font-size: 16px; font-size: 16px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
background-color: #ffffff; background-color: $uni-bg-color;
transition: all 0.2s ease; transition: all 0.2s ease;
user-select: none; user-select: none;
-webkit-user-select: none; -webkit-user-select: none;

View File

@ -802,5 +802,5 @@ const resetConfig = () => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -39,5 +39,5 @@ const sendReply = (text) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -15,7 +15,7 @@
border-radius: 8px; border-radius: 8px;
margin: 4px; margin: 4px;
box-shadow: 0 2px 5px 0px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 5px 0px rgba(0, 0, 0, 0.1);
background-color: #ffffff; background-color: $uni-bg-color;
padding: 2px 12px; padding: 2px 12px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -25,7 +25,7 @@
.more-tips-item-title { .more-tips-item-title {
font-weight: 500; font-weight: 500;
font-size: 12px; font-size: $uni-font-size-sm;
color: #00a6ff; color: #00a6ff;
line-height: 24px; line-height: 24px;
text-align: center; text-align: center;

View File

@ -96,5 +96,5 @@ const initData = () => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -50,7 +50,7 @@
text { text {
font-weight: 500; font-weight: 500;
font-size: 12px; font-size: $uni-font-size-sm;
color: #201f32; color: #201f32;
line-height: 16px; line-height: 16px;
} }

View File

@ -5,5 +5,5 @@
<script></script> <script></script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -33,5 +33,5 @@ const closeDrawer = (e) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -49,5 +49,5 @@ const backgroundStyle = computed(() => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -50,5 +50,5 @@ onUnmounted(() => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -15,7 +15,7 @@
.title { .title {
font-size: 18px; font-size: 18px;
text-align: center; text-align: center;
color: #333333; color: $uni-text-color;
} }
.close-icon { .close-icon {

View File

@ -115,5 +115,5 @@ const handleLogout = () => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -32,7 +32,7 @@
.label { .label {
font-size: 28rpx; font-size: 28rpx;
color: #333; color: $uni-text-color;
} }
.value { .value {
@ -59,7 +59,7 @@
height: 42px; height: 42px;
margin-top: 40px; margin-top: 40px;
background-color: #fff; background-color: #fff;
color: #333; color: $uni-text-color;
border-radius: 8rpx; border-radius: 8rpx;
border: none; border: none;
} }

View File

@ -45,5 +45,5 @@ const handleClick = (item) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -27,8 +27,8 @@
right: 12px; right: 12px;
bottom: 12px; bottom: 12px;
background-color: #ffeb00; background-color: #ffeb00;
color: #333; color: $uni-text-color;
font-size: 14px; font-size: $uni-font-size-base;
font-weight: 500; font-weight: 500;
padding: 4px 12px; padding: 4px 12px;
border-radius: 20px; border-radius: 20px;

View File

@ -41,5 +41,5 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -5,7 +5,7 @@
} }
.tag-item { .tag-item {
background-color: #ffffff; background-color: $uni-bg-color;
border-radius: 8px; border-radius: 8px;
padding: 4px 10px; padding: 4px 10px;
margin-right: 8px; margin-right: 8px;
@ -17,5 +17,5 @@
.tag-text { .tag-text {
color: #00a6ff; /* 蓝色文字,可根据设计调整 */ color: #00a6ff; /* 蓝色文字,可根据设计调整 */
font-size: 14px; font-size: $uni-font-size-base;
} }

View File

@ -26,5 +26,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -69,5 +69,5 @@ const placeOrderHandle = (item) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -15,7 +15,7 @@
flex-direction: column; flex-direction: column;
align-items: start; align-items: start;
width: 188px; width: 188px;
background-color: #ffffff; background-color: $uni-bg-color;
border-radius: 10px; border-radius: 10px;
margin-right: 8px; margin-right: 8px;
padding-bottom: 12px; padding-bottom: 12px;
@ -26,7 +26,7 @@
left: 8px; left: 8px;
background: #ffe7b2; background: #ffe7b2;
color: #b97a00; color: #b97a00;
font-size: 12px; font-size: $uni-font-size-sm;
padding: 2px 8px; padding: 2px 8px;
border-radius: 4px; border-radius: 4px;
z-index: 2; z-index: 2;

View File

@ -33,5 +33,5 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -38,5 +38,5 @@ const sendReply = (item) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -11,7 +11,7 @@
align-items: start; align-items: start;
width: 188px; width: 188px;
height: 154px; height: 154px;
background-color: #ffffff; background-color: $uni-bg-color;
border-radius: 10px; border-radius: 10px;
margin-right: 8px; margin-right: 8px;
position: relative; position: relative;
@ -25,8 +25,8 @@
padding: 12px; padding: 12px;
text-align: center; text-align: center;
font-weight: 500; font-weight: 500;
font-size: 12px; font-size: $uni-font-size-sm;
color: #333333; color: $uni-text-color;
} }
} }
} }

View File

@ -71,5 +71,5 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -62,5 +62,5 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -67,5 +67,5 @@ const placeOrderHandle = (item) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -14,7 +14,7 @@
align-items: start; align-items: start;
width: 188px; width: 188px;
// height: 244px; // height: 244px;
background-color: #ffffff; background-color: $uni-bg-color;
border-radius: 10px; border-radius: 10px;
margin-right: 8px; margin-right: 8px;
padding-bottom: 12px; padding-bottom: 12px;
@ -25,7 +25,7 @@
left: 8px; left: 8px;
background: #ffe7b2; background: #ffe7b2;
color: #b97a00; color: #b97a00;
font-size: 12px; font-size: $uni-font-size-sm;
padding: 2px 8px; padding: 2px 8px;
border-radius: 4px; border-radius: 4px;
z-index: 2; z-index: 2;

View File

@ -22,5 +22,5 @@ const props = defineProps({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

View File

@ -37,5 +37,5 @@ const sendReply = (item) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use "./styles/index.scss"; @import "./styles/index.scss";
</style> </style>

Some files were not shown because too many files have changed in this diff Show More