feat: add new features, update theme and build config

- Add 40+ new UI components including chat modules, discovery cards, photo galleries, FAQ and booking tools
- Standardize brand color across all styles by replacing $theme-color-500 SCSS variables with #0ccd58
- Add sass 1.58.3 dependency and update vite config for modern scss compiler support
- Refactor existing components (AddCarCrad, login page) and remove unused /quick/list router route
- Add utility functions for URL parameter handling
- Add static assets including custom znicons font, component images and icons
- Fix scss syntax issues and deprecation warnings
This commit is contained in:
duanshuwen
2026-05-26 22:49:52 +08:00
parent 548df7020c
commit ac8f5b5f64
159 changed files with 12439 additions and 629 deletions

View File

@@ -0,0 +1,42 @@
<template>
<div class="tag-list">
<div v-for="(item, index) in tags" :key="index" class="tag-item" @click="handleClick(item)">
<span class="tag-text">{{ item }}</span>
</div>
</div>
</template>
<script setup>
import { ref, nextTick } from "vue";
import { onMounted } from "vue";
import {
SCROLL_TO_BOTTOM,
SEND_MESSAGE_CONTENT_TEXT,
} from "@/constant/constant";
const props = defineProps({
question: {
type: String,
default: "",
},
});
const tags = ref([]);
const handleClick = (item) => {
uni.$emit(SEND_MESSAGE_CONTENT_TEXT, item);
};
onMounted(() => {
tags.value = props.question.split(/[&|;]/).filter((tag) => tag.trim() !== "");
nextTick(() => {
setTimeout(() => {
uni.$emit(SCROLL_TO_BOTTOM, true);
}, 300);
});
});
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>

View File

@@ -0,0 +1,23 @@
.tag-list {
display: flex;
flex-wrap: wrap;
padding: 6px 12px;
}
.tag-item {
box-sizing: border-box;
border: 1px solid #fff;
background-color: rgba(255, 255, 255, 0.5);
border-radius: 8px;
padding: 4px 10px;
margin-right: 8px;
margin-bottom: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.tag-text {
color: #0ccd58;
font-size: $uni-font-size-base;
}