feat: 调整首页组件目录结构
This commit is contained in:
@@ -36,7 +36,6 @@ export const CLIENT_CONFIGS = {
|
||||
};
|
||||
|
||||
// 获取当前用户端配置
|
||||
export const getCurrentConfig = () => CLIENT_CONFIGS.tianmu;
|
||||
|
||||
export const getCurrentConfig = () => CLIENT_CONFIGS.duohua;
|
||||
export const clientId = getCurrentConfig().clientId;
|
||||
export const appId = getCurrentConfig().appId;
|
||||
|
||||
25
pages.json
25
pages.json
@@ -12,23 +12,6 @@
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/chat/ChatMainList",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"softinputMode": "adjustPan",
|
||||
"bounce": "none",
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/chat/ChatQuickAccess",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/order/list",
|
||||
"style": {
|
||||
@@ -46,14 +29,6 @@
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/webview/index",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarBackgroundColor": "#F8F8F8",
|
||||
"navigationBarTitleColor": "#000000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
<script setup>
|
||||
import { defineProps, computed, ref, watch } from "vue";
|
||||
import ChatMarkdown from "./ChatMarkdown.vue";
|
||||
import DotLoading from "@/pages/loading/DotLoading.vue";
|
||||
import ChatMarkdown from "../ChatMarkdown/index.vue";
|
||||
import DotLoading from "../../loading/DotLoading.vue";
|
||||
|
||||
const props = defineProps({
|
||||
text: {
|
||||
@@ -66,38 +66,5 @@ watch(
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-width: 100%; // ✅ 限制最大宽度
|
||||
overflow-x: hidden; // ✅ 防止横向撑开
|
||||
|
||||
.chat-ai {
|
||||
margin: 6px 12px;
|
||||
padding: 0 12px;
|
||||
max-width: 100%; // ✅ 限制最大宽度
|
||||
min-width: 100px;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 4px 20px 20px 20px;
|
||||
border: 1px solid;
|
||||
border-color: #ffffff;
|
||||
overflow: hidden; // ✅ 超出内容被切掉
|
||||
word-wrap: break-word; // ✅ 长单词自动换行
|
||||
word-break: break-all; // ✅ 强制换行
|
||||
}
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 4px 0;
|
||||
max-width: 100%; // ✅ 限制最大宽度
|
||||
}
|
||||
|
||||
.loading-img {
|
||||
margin-right: 8px;
|
||||
width: 30px;
|
||||
height: 25px;
|
||||
}
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
34
pages/index/components/chat/ChatCardAi/styles/index.scss
Normal file
34
pages/index/components/chat/ChatCardAi/styles/index.scss
Normal file
@@ -0,0 +1,34 @@
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-width: 100%; // ✅ 限制最大宽度
|
||||
overflow-x: hidden; // ✅ 防止横向撑开
|
||||
|
||||
.chat-ai {
|
||||
margin: 6px 12px;
|
||||
padding: 0 12px;
|
||||
max-width: 100%; // ✅ 限制最大宽度
|
||||
min-width: 100px;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 4px 20px 20px 20px;
|
||||
border: 1px solid;
|
||||
border-color: #ffffff;
|
||||
overflow: hidden; // ✅ 超出内容被切掉
|
||||
word-wrap: break-word; // ✅ 长单词自动换行
|
||||
word-break: break-all; // ✅ 强制换行
|
||||
}
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 4px 0;
|
||||
max-width: 100%; // ✅ 限制最大宽度
|
||||
}
|
||||
|
||||
.loading-img {
|
||||
margin-right: 8px;
|
||||
width: 30px;
|
||||
height: 25px;
|
||||
}
|
||||
20
pages/index/components/chat/ChatCardMine/index.vue
Normal file
20
pages/index/components/chat/ChatCardMine/index.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<view class="chat-mine">
|
||||
<text>{{ text }}</text>
|
||||
<slot></slot>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineProps } from "vue";
|
||||
defineProps({
|
||||
text: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -1,21 +1,3 @@
|
||||
<template>
|
||||
<view class="chat-mine">
|
||||
<text>{{ text }}</text>
|
||||
<slot></slot>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineProps } from "vue";
|
||||
defineProps({
|
||||
text: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.chat-mine {
|
||||
margin: 6px 12px;
|
||||
padding: 8px 16px;
|
||||
@@ -42,4 +24,3 @@ defineProps({
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
20
pages/index/components/chat/ChatCardOther/index.vue
Normal file
20
pages/index/components/chat/ChatCardOther/index.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<view class="chat-other">
|
||||
<text>{{ text }}</text>
|
||||
<slot></slot>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineProps } from "vue";
|
||||
defineProps({
|
||||
text: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -1,21 +1,3 @@
|
||||
<template>
|
||||
<view class="chat-other">
|
||||
<text>{{ text }}</text>
|
||||
<slot></slot>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineProps } from "vue";
|
||||
defineProps({
|
||||
text: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.chat-other {
|
||||
width: 100%;
|
||||
margin: 6px 0;
|
||||
@@ -32,4 +14,3 @@ defineProps({
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -231,5 +231,5 @@ defineExpose({ focusInput });
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "./styles/ChatInputArea.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -154,24 +154,24 @@ import {
|
||||
NOTICE_EVENT_LOGOUT,
|
||||
} from "@/constant/constant";
|
||||
import { WSS_URL } from "@/request/base/baseUrl";
|
||||
import { MessageRole, MessageType, CompName } from "../../model/ChatModel";
|
||||
import ChatTopWelcome from "./ChatTopWelcome.vue";
|
||||
import ChatTopBgImg from "./ChatTopBgImg.vue";
|
||||
import ChatTopNavBar from "./ChatTopNavBar.vue";
|
||||
import ChatCardAI from "./ChatCardAI.vue";
|
||||
import ChatCardMine from "./ChatCardMine.vue";
|
||||
import ChatCardOther from "./ChatCardOther.vue";
|
||||
import ChatQuickAccess from "./ChatQuickAccess.vue";
|
||||
import ChatMoreTips from "./ChatMoreTips.vue";
|
||||
import ChatInputArea from "./ChatInputArea.vue";
|
||||
import QuickBookingComponent from "../module/booking/QuickBookingComponent.vue";
|
||||
import DiscoveryCardComponent from "../module/discovery/DiscoveryCardComponent.vue";
|
||||
import ActivityListComponent from "../module/banner/ActivityListComponent.vue";
|
||||
import RecommendPostsComponent from "../module/recommend/RecommendPostsComponent.vue";
|
||||
import AttachListComponent from "../module/attach/AttachListComponent.vue";
|
||||
import { MessageRole, MessageType, CompName } from "@/model/ChatModel";
|
||||
import ChatTopWelcome from "../ChatTopWelcome/index.vue";
|
||||
import ChatTopBgImg from "../ChatTopBgImg/index.vue";
|
||||
import ChatTopNavBar from "../ChatTopNavBar/index.vue";
|
||||
import ChatCardAI from "../ChatCardAi/index.vue";
|
||||
import ChatCardMine from "../ChatCardMine/index.vue";
|
||||
import ChatCardOther from "../ChatCardOther/index.vue";
|
||||
import ChatQuickAccess from "../ChatQuickAccess/index.vue";
|
||||
import ChatMoreTips from "../ChatMoreTips/index.vue";
|
||||
import ChatInputArea from "../ChatInputArea/index.vue";
|
||||
import QuickBookingComponent from "../../module/QuickBookingComponent/index.vue";
|
||||
import DiscoveryCardComponent from "../../module/DiscoveryCardComponent/index.vue";
|
||||
import ActivityListComponent from "../../module/ActivityListComponent/index.vue";
|
||||
import RecommendPostsComponent from "../../module/RecommendPostsComponent/index.vue";
|
||||
import AttachListComponent from "../../module/AttachListComponent/index.vue";
|
||||
import DetailCardCompontent from "../../module/DetailCardCompontent/index.vue";
|
||||
import CreateServiceOrder from "@/components/CreateServiceOrder/index.vue";
|
||||
import Feedback from "@/components/Feedback/index.vue";
|
||||
import DetailCardCompontent from "../module/detail/DetailCardCompontent.vue";
|
||||
import AddCarCrad from "@/components/AddCarCrad/index.vue";
|
||||
import { mainPageData } from "@/request/api/MainPageDataApi";
|
||||
import {
|
||||
@@ -805,5 +805,5 @@ const resetConfig = () => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "styles/ChatMainList.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -39,5 +39,5 @@ const sendReply = (text) => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/ChatMoreTips.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -67,5 +67,5 @@ const initData = () => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/ChatQuickAccess.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
9
pages/index/components/chat/ChatTopBgImg/index.vue
Normal file
9
pages/index/components/chat/ChatTopBgImg/index.vue
Normal file
@@ -0,0 +1,9 @@
|
||||
<template>
|
||||
<view class="top-bg"> </view>
|
||||
</template>
|
||||
|
||||
<script></script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -1,18 +1,11 @@
|
||||
<template>
|
||||
<view class="top-bg"> </view>
|
||||
</template>
|
||||
|
||||
<script></script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.top-bg {
|
||||
width: 100%;
|
||||
height: 270px;
|
||||
overflow: hidden;
|
||||
background: linear-gradient(180deg, #42adf9 0%, #6cd1ff 51%, #e9f3f7 99%);
|
||||
|
||||
.top-bg-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<script setup>
|
||||
import { ref } from "vue";
|
||||
import DrawerHome from "@/pages/drawer/DrawerHome.vue";
|
||||
import DrawerHome from "../../drawer/DrawerHome/index.vue";
|
||||
import { checkToken } from "@/hooks/useGoLogin";
|
||||
const showLeft = ref(false);
|
||||
|
||||
@@ -33,20 +33,5 @@ const closeDrawer = (e) => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.nav-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 44px;
|
||||
padding: 0 15px;
|
||||
|
||||
.nav-item {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav-item-icon {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
16
pages/index/components/chat/ChatTopNavBar/styles/index.scss
Normal file
16
pages/index/components/chat/ChatTopNavBar/styles/index.scss
Normal file
@@ -0,0 +1,16 @@
|
||||
.nav-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 44px;
|
||||
padding: 0 15px;
|
||||
|
||||
.nav-item {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav-item-icon {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
@@ -7,15 +7,19 @@
|
||||
:src="initPageImages.welcomeImageUrl"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
<image class="top-item-right" :src="initPageImages.logoImageUrl" mode="aspectFit"></image>
|
||||
<image
|
||||
class="top-item-right"
|
||||
:src="initPageImages.logoImageUrl"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
</view>
|
||||
<ChatCardAI v-if="welcomeContent.length" :text="welcomeContent" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineProps, computed, ref } from "vue";
|
||||
import ChatCardAI from "./ChatCardAI.vue";
|
||||
import { defineProps, computed } from "vue";
|
||||
import ChatCardAI from "../ChatCardAi/index.vue";
|
||||
|
||||
const props = defineProps({
|
||||
initPageImages: {
|
||||
@@ -45,29 +49,5 @@ const backgroundStyle = computed(() => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.top-bg-content {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.top-item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 32px;
|
||||
margin-bottom: -6px;
|
||||
}
|
||||
|
||||
.top-item-left {
|
||||
width: 118px;
|
||||
height: 52px;
|
||||
}
|
||||
|
||||
.top-item-right {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
}
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
25
pages/index/components/chat/ChatTopWelcome/styles/index.scss
Normal file
25
pages/index/components/chat/ChatTopWelcome/styles/index.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
.top-bg-content {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.top-item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 32px;
|
||||
margin-bottom: -6px;
|
||||
}
|
||||
|
||||
.top-item-left {
|
||||
width: 118px;
|
||||
height: 52px;
|
||||
}
|
||||
|
||||
.top-item-right {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
color="#333333"
|
||||
class="close-icon"
|
||||
@click="closeDrawer"
|
||||
></uni-icons>
|
||||
/>
|
||||
<text class="title">我的</text>
|
||||
</view>
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import MineSetting from "./MineSetting.vue";
|
||||
import { defineEmits, ref, onMounted, onUnmounted } from "vue";
|
||||
import MineSetting from "../MineSetting/index.vue";
|
||||
|
||||
const emits = defineEmits(["closeDrawer"]);
|
||||
|
||||
const isDrawerVisible = ref(false);
|
||||
|
||||
const closeDrawer = () => {
|
||||
console.log("关闭抽屉");
|
||||
isDrawerVisible.value = false;
|
||||
@@ -50,29 +50,5 @@ onUnmounted(() => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.drawer-home {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
padding-top: 44px;
|
||||
}
|
||||
|
||||
.drawer-home-nav {
|
||||
position: relative;
|
||||
padding: 12px;
|
||||
display: flex;
|
||||
justify-content: center; /* 文字水平居中 */
|
||||
align-items: center; /* 垂直居中 */
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.close-icon {
|
||||
position: absolute;
|
||||
left: 12px; /* 距离左边12px */
|
||||
}
|
||||
}
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
25
pages/index/components/drawer/DrawerHome/styles/index.scss
Normal file
25
pages/index/components/drawer/DrawerHome/styles/index.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
.drawer-home {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
padding-top: 44px;
|
||||
}
|
||||
|
||||
.drawer-home-nav {
|
||||
position: relative;
|
||||
padding: 12px;
|
||||
display: flex;
|
||||
justify-content: center; /* 文字水平居中 */
|
||||
align-items: center; /* 垂直居中 */
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.close-icon {
|
||||
position: absolute;
|
||||
left: 12px; /* 距离左边12px */
|
||||
}
|
||||
}
|
||||
@@ -115,69 +115,5 @@ const handleLogout = () => {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.page {
|
||||
padding: 24rpx;
|
||||
background-color: #f6f6f6;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.user-card,
|
||||
.menu-card {
|
||||
background-color: #fff;
|
||||
border-radius: 12rpx;
|
||||
padding-left: 24rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 28rpx 24rpx 28rpx 0;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.row:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.avatar-row .avatar {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.value {
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 28rpx 24rpx 28rpx 0;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.menu-item:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.logout-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 42px;
|
||||
margin-top: 40px;
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
border-radius: 8rpx;
|
||||
border: none;
|
||||
}
|
||||
@import './styles/index.scss'
|
||||
</style>
|
||||
65
pages/index/components/drawer/MineSetting/styles/index.scss
Normal file
65
pages/index/components/drawer/MineSetting/styles/index.scss
Normal file
@@ -0,0 +1,65 @@
|
||||
.page {
|
||||
padding: 24rpx;
|
||||
background-color: #f6f6f6;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.user-card,
|
||||
.menu-card {
|
||||
background-color: #fff;
|
||||
border-radius: 12rpx;
|
||||
padding-left: 24rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 28rpx 24rpx 28rpx 0;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.row:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.avatar-row .avatar {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.value {
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 28rpx 24rpx 28rpx 0;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.menu-item:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.logout-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 42px;
|
||||
margin-top: 40px;
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
border-radius: 8rpx;
|
||||
border: none;
|
||||
}
|
||||
@@ -41,42 +41,5 @@ const handleClick = (item) => {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.container {
|
||||
margin-bottom: 6px;
|
||||
|
||||
.uni-margin-wrap {
|
||||
width: 100%;
|
||||
}
|
||||
.swiper {
|
||||
height: 120px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.swiper-item {
|
||||
position: relative;
|
||||
display: block;
|
||||
height: 120px;
|
||||
line-height: 120px;
|
||||
text-align: center;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 8px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.corner-btn {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
background-color: #ffeb00;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
padding: 4px 12px;
|
||||
border-radius: 20px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -0,0 +1,38 @@
|
||||
.container {
|
||||
margin-bottom: 6px;
|
||||
|
||||
.uni-margin-wrap {
|
||||
width: 100%;
|
||||
}
|
||||
.swiper {
|
||||
height: 120px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.swiper-item {
|
||||
position: relative;
|
||||
display: block;
|
||||
height: 120px;
|
||||
line-height: 120px;
|
||||
text-align: center;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 8px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.corner-btn {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
background-color: #ffeb00;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
padding: 4px 12px;
|
||||
border-radius: 20px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@
|
||||
import { ref, nextTick, defineEmits } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
import { SCROLL_TO_BOTTOM } from "@/constant/constant";
|
||||
|
||||
const props = defineProps({
|
||||
question: {
|
||||
type: String,
|
||||
@@ -40,25 +41,5 @@ onMounted(() => {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.tag-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 6px 12px;
|
||||
}
|
||||
|
||||
.tag-item {
|
||||
background-color: #ffffff;
|
||||
border-radius: 8px;
|
||||
padding: 4px 10px;
|
||||
margin-right: 8px;
|
||||
margin-bottom: 8px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.tag-text {
|
||||
color: #00a6ff; /* 蓝色文字,可根据设计调整 */
|
||||
font-size: 14px;
|
||||
}
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -0,0 +1,21 @@
|
||||
.tag-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 6px 12px;
|
||||
}
|
||||
|
||||
.tag-item {
|
||||
background-color: #ffffff;
|
||||
border-radius: 8px;
|
||||
padding: 4px 10px;
|
||||
margin-right: 8px;
|
||||
margin-bottom: 8px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.tag-text {
|
||||
color: #00a6ff; /* 蓝色文字,可根据设计调整 */
|
||||
font-size: 14px;
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
import { defineProps } from "vue";
|
||||
import ModuleTitle from "@/components/ModuleTitle/index.vue";
|
||||
import ImageSwiper from "@/components/ImageSwiper/index.vue";
|
||||
import DetailCardGoodsContentList from "./DetailCardGoodsContentList.vue";
|
||||
import DetailCardGoodsContentList from "../DetailCardGoodsContentList/index.vue";
|
||||
|
||||
const props = defineProps({
|
||||
toolCall: {
|
||||
@@ -26,5 +26,5 @@ const props = defineProps({
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "./styles/DetailCardCompontent.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -69,5 +69,5 @@ const placeOrderHandle = (item) => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/DetailCardGoodsContentList.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -7,11 +7,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, nextTick } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
import { discoveryCradComponent } from "@/request/api/MainPageDataApi";
|
||||
import RecommendPostsList from "../recommend/RecommendPostsList.vue";
|
||||
import { ref, onMounted, nextTick } from "vue";
|
||||
import { SCROLL_TO_BOTTOM } from "@/constant/constant";
|
||||
import { discoveryCradComponent } from "@/request/api/MainPageDataApi";
|
||||
import RecommendPostsList from "../RecommendPostsList/index.vue";
|
||||
|
||||
const themeDTOList = ref([]);
|
||||
|
||||
@@ -34,5 +33,5 @@ onMounted(() => {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "./styles/DiscoveryCardComponent.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -38,5 +38,5 @@ const sendReply = (item) => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/DiscoveryCradContentList.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -71,5 +71,5 @@ onMounted(() => {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "./styles/QuickBookingCalender.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -11,8 +11,8 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import QuickBookingCalender from "./QuickBookingCalender.vue";
|
||||
import QuickBookingContentList from "./QuickBookingContentList.vue";
|
||||
import QuickBookingCalender from "../QuickBookingCalender/index.vue";
|
||||
import QuickBookingContentList from "../QuickBookingContentList/index.vue";
|
||||
import { ref, nextTick } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
import { quickBookingComponent } from "@/request/api/MainPageDataApi";
|
||||
@@ -62,5 +62,5 @@ onMounted(() => {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import './styles/QuickBookingComponent.scss'
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -45,9 +45,9 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import ModuleTitle from "@/components/ModuleTitle/index.vue";
|
||||
import { defineProps } from "vue";
|
||||
import { checkToken } from "@/hooks/useGoLogin";
|
||||
import ModuleTitle from "@/components/ModuleTitle/index.vue";
|
||||
|
||||
const props = defineProps({
|
||||
commodityDTO: {
|
||||
@@ -67,5 +67,5 @@ const placeOrderHandle = (item) => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/QuickBookingContentList.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -10,7 +10,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import RecommendPostsList from "./RecommendPostsList.vue";
|
||||
import RecommendPostsList from "../RecommendPostsList/index.vue";
|
||||
|
||||
import { defineProps } from "vue";
|
||||
const props = defineProps({
|
||||
@@ -22,5 +22,5 @@ const props = defineProps({
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "./styles/RecommendPostsComponent.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -37,5 +37,5 @@ const sendReply = (item) => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./styles/RecommendPostsList.scss";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
@@ -14,13 +14,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, onUnmounted } from "vue";
|
||||
import ChatMainList from "../chat/ChatMainList.vue";
|
||||
import Calender from "@/components/Calender/index.vue";
|
||||
import { onLoad } from "@dcloudio/uni-app";
|
||||
import { ref, onUnmounted } from "vue";
|
||||
import { getUrlParams } from "@/utils/UrlParams";
|
||||
|
||||
import { useAppStore } from "@/store";
|
||||
import ChatMainList from "./components/chat/ChatMainList/index.vue";
|
||||
import Calender from "@/components/Calender/index.vue";
|
||||
|
||||
const appStore = useAppStore();
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
height: 100vh;
|
||||
padding-top: 168px;
|
||||
position: relative;
|
||||
|
||||
Reference in New Issue
Block a user