-
-

-
My App
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ globalState?.currentUser.username }}
+
+
+
+
+ 个人中心
+ 我的订单
+ 我的收藏
+ 退出登录
+
+
+
+
+
+
+
+
+ 你好,请登录
+
+
+
+
+
+
+
+
+
-
-
-
+const router = useRouter()
+const globalState = inject('globalState')
+
+const searchKeyword = ref('')
+const showMobileMenu = ref(false)
+
+// const cartCount = computed(() => {
+// return globalState.cartItems.reduce((total, item) => total + item.quantity, 0)
+// })
+const cartCount = 1;
+const mainNav = [
+ { name: '首页', link: '/' },
+ { name: '天猫超市', link: '/products?category=supermarket' },
+ { name: '电器城', link: '/products?category=electronics' },
+ { name: '美妆', link: '/products?category=beauty' },
+ { name: '女装', link: '/products?category=women' },
+ { name: '男装', link: '/products?category=men' },
+ { name: '母婴', link: '/products?category=baby' },
+ { name: '运动户外', link: '/products?category=sports' },
+ { name: '数码家电', link: '/products?category=digital' }
+]
+
+const mobileMenuItems = [
+ { name: '首页', link: '/', icon: House },
+ { name: '个人中心', link: '/profile', icon: User },
+ { name: '我的订单', link: '/orders', icon: List },
+ { name: '我的收藏', link: '/favorites', icon: Star },
+ { name: '我的钱包', link: '/wallet', icon: Wallet }
+]
+
+const performSearch = () => {
+ if (searchKeyword.value.trim()) {
+ router.push(`/products?search=${encodeURIComponent(searchKeyword.value)}`)
+ searchKeyword.value = ''
+ }
+}
+
+const handleUserCommand = (command) => {
+ switch (command) {
+ case 'profile':
+ router.push('/profile')
+ break
+ case 'orders':
+ router.push('/orders')
+ break
+ case 'favorites':
+ router.push('/favorites')
+ break
+ case 'logout':
+ handleLogout()
+ break
+ }
+}
+
+const handleLogout = () => {
+ globalState.logout()
+ showMobileMenu.value = false
+}
+
+
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index efadd61..c78363c 100644
--- a/src/main.js
+++ b/src/main.js
@@ -5,6 +5,8 @@ import './style.css'
import App from './App.vue'
// 注册路由
import router from './router'
+import ElementPlus from 'element-plus'
+import 'element-plus/dist/index.css'
const app = createApp(App)
@@ -13,4 +15,5 @@ const app = createApp(App)
app.use(createPinia())
app.use(router)
app.use(Antd)
+app.use(ElementPlus)
app.mount('#app')
diff --git a/src/router/index.js b/src/router/index.js
index 796771d..a4b2cfe 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,15 +1,52 @@
-import { createRouter, createWebHistory } from 'vue-router'
-import { useUserStore } from '@/stores/user'
-import MainLayout from '@/layouts/Header.vue'
+import { createRouter, createWebHistory } from "vue-router"
+import HomePage from "@/views/index/index.vue"
+import LoginPage from "@/views/login/LoginPage.vue"
+import ProductListPage from "@/views/product/ProductListPage.vue"
+import OrderListPage from "@/views/order/OrderListPage.vue"
+import ProfilePage from "@/views/profile/ProfilePage.vue"
-// 在路由配置中添加个人中心路由
const routes = [
{
- path: '/',
- component: MainLayout,
- children: [
- { path: '', name: 'Home', component: () => import('@/views/index/index.vue') },
- ]
+ path: "/",
+ name: "Home",
+ component: HomePage,
+ meta: { title: "奶酪商城 - 首页" },
+ },
+ {
+ path: "/login",
+ name: "Login",
+ component: LoginPage,
+ meta: { title: "用户登录 - 奶酪商城" },
+ },
+ {
+ path: "/products",
+ name: "ProductList",
+ component: ProductListPage,
+ meta: { title: "商品列表 - 奶酪商城" },
+ },
+ {
+ path: "/orders",
+ name: "OrderList",
+ component: OrderListPage,
+ meta: { title: "我的订单 - 奶酪商城", requiresAuth: true },
+ },
+ {
+ path: "/profile",
+ name: "Profile",
+ component: ProfilePage,
+ meta: { title: "个人中心 - 奶酪商城", requiresAuth: true },
+ },
+ {
+ path: "/product/:id",
+ name: "ProductDetail",
+ component: () => import("@/views/product/ProductDetailPage.vue"),
+ meta: { title: "商品详情 - 奶酪商城" },
+ },
+ {
+ path: "/result/success",
+ name: "ResultSuccess",
+ component: () => import("@/views/result/Success.vue"),
+ meta: { title: "成功页面 - 奶酪商城" },
},
]
@@ -17,22 +54,31 @@ const router = createRouter({
history: createWebHistory(),
routes,
scrollBehavior(to, from, savedPosition) {
- return savedPosition || { top: 0 }
- }
+ if (savedPosition) {
+ return savedPosition
+ } else {
+ return { top: 0 }
+ }
+ },
})
-router.beforeEach((to, from) => {
- const userStore = useUserStore()
- if (to.meta.requiresAuth && !userStore.user) {
- return { name: 'Login', query: { redirect: to.fullPath } }
+// 路由守卫
+router.beforeEach((to, from, next) => {
+ // 设置页面标题
+ if (to.meta.title) {
+ document.title = to.meta.title
}
+
+ // 检查是否需要登录
+ if (to.meta.requiresAuth) {
+ const currentUser = JSON.parse(localStorage.getItem("currentUser") || "null")
+ if (!currentUser) {
+ next("/login")
+ return
+ }
+ }
+
+ next()
})
export default router
-
-router.beforeEach((to, from) => {
- const userStore = useUserStore()
- if (to.meta.requiresAuth && !userStore.user) {
- return { name: 'Login', query: { redirect: to.fullPath } }
- }
-})
diff --git a/src/views/index/index.vue b/src/views/index/index.vue
index 38bc235..88beb08 100644
--- a/src/views/index/index.vue
+++ b/src/views/index/index.vue
@@ -1,11 +1,275 @@
-
-
-你好
+
+
+
+
+
+
+
所有分类
+
+
+
+
+
+
+
+
+
所有分类
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+import CategoryMenu from '@/components/CategoryMenu.vue'
+import BannerCarousel from '@/components/BannerCarousel.vue'
+import FlashSaleSection from '@/components/FlashSaleSection.vue'
+import ProductSection from '@/components/ProductSection.vue'
+
+const globalState = inject('globalState')
+
+// 倒计时状态
+const countdown = reactive({
+ hours: '01',
+ minutes: '30',
+ seconds: '45'
+})
+
+let countdownInterval = null
+
+// 分类数据
+const categories = [
+ {
+ id: 1,
+ name: '女装/男装',
+ subcategories: [
+ {
+ name: '女装',
+ subItems: [
+ { name: '连衣裙', id: 101 },
+ { name: '女装T恤', id: 102 },
+ { name: '女装外套', id: 103 },
+ { name: '女装裤装', id: 104 }
+ ]
+ },
+ {
+ name: '男装',
+ subItems: [
+ { name: '男装衬衫', id: 201 },
+ { name: '男装T恤', id: 202 },
+ { name: '男装外套', id: 203 },
+ { name: '男装裤装', id: 204 }
+ ]
+ }
+ ]
+ },
+ {
+ id: 2,
+ name: '手机数码',
+ subcategories: [
+ {
+ name: '手机通讯',
+ subItems: [
+ { name: '手机', id: 301 },
+ { name: '对讲机', id: 302 }
+ ]
+ },
+ {
+ name: '数码配件',
+ subItems: [
+ { name: '耳机', id: 401 },
+ { name: '手表', id: 402 },
+ { name: '充电器', id: 403 }
+ ]
+ }
+ ]
+ },
+ {
+ id: 3,
+ name: '家用电器',
+ subcategories: [
+ {
+ name: '大家电',
+ subItems: [
+ { name: '电视', id: 501 },
+ { name: '冰箱', id: 502 },
+ { name: '洗衣机', id: 503 }
+ ]
+ },
+ {
+ name: '小家电',
+ subItems: [
+ { name: '电饭煲', id: 601 },
+ { name: '微波炉', id: 602 },
+ { name: '豆浆机', id: 603 }
+ ]
+ }
+ ]
+ }
+]
+
+// 轮播图数据
+const banners = [
+ 'https://cdn.seovx.com/ha/?mom=302&w=1200&h=400&_=1',
+ 'https://cdn.seovx.com/ha/?mom=302&w=1200&h=400&_=2',
+ 'https://cdn.seovx.com/ha/?mom=302&w=1200&h=400&_=3'
+]
+
+// 商品数据
+const flashSaleProducts = ref([])
+const hotProducts = ref([])
+const newProducts = ref([])
+const premiumProducts = ref([])
+const recommendedProducts = ref([])
+
+// 生成商品数据
+const generateProducts = (count) => {
+ const products = []
+ const brands = ['时尚品牌', '优质品牌', '知名品牌', '国际品牌', '其他品牌']
+
+ for (let i = 0; i < count; i++) {
+ const basePrice = Math.floor(Math.random() * 500) + 20
+ const randSum = (Math.random() * 10 + 1).toFixed(2)
+ const finalPrice = (basePrice + parseFloat(randSum)).toFixed(2)
+
+ products.push({
+ id: Math.floor(Math.random() * 10000) + i,
+ title: '夏季爆款连衣裙时尚修身显瘦新款女装',
+ price: finalPrice,
+ cover: `https://cdn.seovx.com/ha/?mom=302&w=800&h=800&_=${i}`,
+ images: [
+ `https://cdn.seovx.com/ha/?mom=302&w=800&h=800&_=${i}1`,
+ `https://cdn.seovx.com/ha/?mom=302&w=800&h=800&_=${i}2`
+ ],
+ desc: '夏季爆款连衣裙时尚修身显瘦新款女装,采用优质面料,舒适透气',
+ sold: Math.floor(Math.random() * 9999) + 10,
+ brand: brands[Math.floor(Math.random() * brands.length)]
+ })
+ }
+ return products
+}
+
+// 处理商品点击
+const handleProductClick = (product) => {
+ // 添加到浏览历史
+ if (globalState?.currentUser) {
+ addToBrowsingHistory(product)
+ }
+ globalState.showProductDetail(product)
+}
+
+// 添加到浏览历史
+const addToBrowsingHistory = (product) => {
+ let history = JSON.parse(localStorage.getItem('browsingHistory') || '[]')
+
+ // 移除已存在的相同商品
+ history = history.filter(item => item.id !== product.id)
+
+ // 添加到开头
+ history.unshift({
+ id: product.id,
+ title: product.title,
+ price: product.price,
+ cover: product.cover,
+ viewTime: new Date().toISOString()
+ })
+
+ // 保持最多50条记录
+ if (history.length > 50) {
+ history = history.slice(0, 50)
+ }
+
+ localStorage.setItem('browsingHistory', JSON.stringify(history))
+}
+
+// 启动倒计时
+const startCountdown = () => {
+ let totalSeconds = 1 * 3600 + 30 * 60 + 45 // 1小时30分45秒
+
+ countdownInterval = setInterval(() => {
+ if (totalSeconds <= 0) {
+ totalSeconds = 2 * 3600 // 重置为2小时
+ }
+
+ const hours = Math.floor(totalSeconds / 3600)
+ const minutes = Math.floor((totalSeconds % 3600) / 60)
+ const seconds = totalSeconds % 60
+
+ countdown.hours = String(hours).padStart(2, '0')
+ countdown.minutes = String(minutes).padStart(2, '0')
+ countdown.seconds = String(seconds).padStart(2, '0')
+
+ totalSeconds--
+ }, 1000)
+}
+
+onMounted(() => {
+ // 生成商品数据
+ flashSaleProducts.value = generateProducts(4)
+ hotProducts.value = generateProducts(5)
+ newProducts.value = generateProducts(5)
+ premiumProducts.value = generateProducts(5)
+ recommendedProducts.value = generateProducts(10)
+
+ // 启动倒计时
+ startCountdown()
+})
+
+onUnmounted(() => {
+ if (countdownInterval) {
+ clearInterval(countdownInterval)
+ }
+})
+
\ No newline at end of file
diff --git a/src/views/login/LoginPage.vue b/src/views/login/LoginPage.vue
new file mode 100644
index 0000000..e86a087
--- /dev/null
+++ b/src/views/login/LoginPage.vue
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/order/OrderListPage.vue b/src/views/order/OrderListPage.vue
new file mode 100644
index 0000000..07b3e9b
--- /dev/null
+++ b/src/views/order/OrderListPage.vue
@@ -0,0 +1,588 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ stat.icon }}
+
{{ stat.count }}
+
{{ stat.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
暂无相关订单
+
您还没有{{ activeTab === 'all' ? '' : activeTab }}订单
+
+ 立即购物
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+ {{ item.title }}
+
+
+ {{ item.color }}
+ {{ item.size }}
+ 数量:{{ item.quantity }}
+
+
+
¥{{ item.price }}
+
+
+ 评价
+
+
+ 再次购买
+
+
+
+
+
+
+
+
+
+
+
+ 共{{ order.items.reduce((sum, item) => sum + item.quantity, 0) }}件商品
+ |
+ 运费:免运费
+
+
+
应付总额
+
¥{{ order.totalAmount }}
+
+
+
+
+
+
+
+ 立即支付
+
+
+ 确认收货
+
+
+ 评价商品
+
+
+ 查看详情
+
+
+ 取消订单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/product/ProductDetailPage-dev.vue b/src/views/product/ProductDetailPage-dev.vue
new file mode 100644
index 0000000..8a5fe8a
--- /dev/null
+++ b/src/views/product/ProductDetailPage-dev.vue
@@ -0,0 +1,841 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 首页
+ 商品列表
+ {{ product.title }}
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+ 立即购买
+
+
+ 加入购物车
+
+
+
+
+
+
+
+
+
+ {{ isFavorited ? '已收藏' : '收藏商品' }}
+
+
+
+
+
+ 分享
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 颜色分类
+
+ 已选:{{ selectedSpecs.color }}
+
+
+
+
+
![]()
+
{{ color.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 尺码
+
+ 已选:{{ selectedSpecs.size }}
+
+ 尺码表
+
+
+
+
+
+
+
+
+
+ 数量
+ 库存{{ stock }}件
+
+
+
+ 件
+
+
+
+
+
+
+
服务保障
+
+
+
+
+
+ 正品保证
+
+
+
+
+
+ 快速发货
+
+
+
+
+
+ 7天无理由退货
+
+
+
+
+
+ 24小时客服
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
产品规格参数
+
详细了解产品的技术参数和性能指标
+
+
+
+
+
+
+
+ |
+ {{ spec.name }}
+ |
+
+
+ {{ spec.value }}
+ {{ spec.value }}
+ {{ spec.value }}
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ averageRating.toFixed(1) }}
+
+
综合评分
+
+
+
+
+
{{ 6 - i }}星
+
+
{{ getRatingCount(6 - i) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ review.username }}
+
+ {{ review.date }}
+
+
{{ review.content }}
+
+
![]()
+
+
+ 规格:{{ review.specs }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
😕
+
商品不存在
+
抱歉,您访问的商品可能已下架或不存在
+
返回首页
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/product/ProductDetailPage-old.vue b/src/views/product/ProductDetailPage-old.vue
new file mode 100644
index 0000000..6c23795
--- /dev/null
+++ b/src/views/product/ProductDetailPage-old.vue
@@ -0,0 +1,761 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 首页
+ 商品列表
+ {{ product.title }}
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+ 立即购买
+
+
+ 加入购物车
+
+
+
+
+
+
+
+
+
+ {{ isFavorited ? '已收藏' : '收藏商品' }}
+
+
+
+
+
+ 分享
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 颜色分类
+
+ 已选:{{ selectedSpecs.color }}
+
+
+
+
+
![]()
+
{{ color.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 尺码
+
+ 已选:{{ selectedSpecs.size }}
+
+ 尺码表
+
+
+
+
+
+
+
+
+
+ 数量
+ 库存{{ stock }}件
+
+
+
+ 件
+
+
+
+
+
+
+
服务保障
+
+
+
+
+
+ 正品保证
+
+
+
+
+
+ 快速发货
+
+
+
+
+
+ 7天无理由退货
+
+
+
+
+
+ 24小时客服
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+ | {{ spec.name }} |
+ {{ spec.value }} |
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ averageRating.toFixed(1) }}
+
+
综合评分
+
+
+
+
+
{{ 6 - i }}星
+
+
{{ getRatingCount(6 - i) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ review.username }}
+
+ {{ review.date }}
+
+
{{ review.content }}
+
+
![]()
+
+
+ 规格:{{ review.specs }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
😕
+
商品不存在
+
抱歉,您访问的商品可能已下架或不存在
+
返回首页
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/product/ProductDetailPage.vue b/src/views/product/ProductDetailPage.vue
new file mode 100644
index 0000000..2af1964
--- /dev/null
+++ b/src/views/product/ProductDetailPage.vue
@@ -0,0 +1,922 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 首页
+ 商品列表
+ {{ product.title }}
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+ 立即购买
+
+
+ 加入购物车
+
+
+
+
+
+
+
+
+
+ {{ isFavorited ? '已收藏' : '收藏商品' }}
+
+
+
+
+
+ 分享
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 颜色分类
+
+ 已选:{{ selectedSpecs.color }}
+
+
+
+
+
![]()
+
{{ color.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 尺码
+
+ 已选:{{ selectedSpecs.size }}
+
+ 尺码表
+
+
+
+
+
+
+
+
+
+ 数量
+ 库存{{ stock }}件
+
+
+
+ 件
+
+
+
+
+
+
+
服务保障
+
+
+
+
+
+ 正品保证
+
+
+
+
+
+ 快速发货
+
+
+
+
+
+ 7天无理由退货
+
+
+
+
+
+ 24小时客服
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
产品规格参数
+
详细了解产品的技术参数和性能指标
+
+
+
+
+
+
+
+ |
+ {{ spec.name }}
+ |
+
+
+ {{ spec.value }}
+ {{ spec.value }}
+ {{ spec.value }}
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ averageRating.toFixed(1) }}
+
+
综合评分
+
+
+
+
+
{{ 6 - i }}星
+
+
{{ getRatingCount(6 - i) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ review.username }}
+
+ {{ review.date }}
+
+
{{ review.content }}
+
+
![]()
+
+
+ 规格:{{ review.specs }}
+
+
+
+
+
+
+ {{ reply.username }}
+ {{ reply.date }}
+
+
{{ reply.content }}
+
+
+
+
+
+
+
+
+
+ 回复
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
😕
+
商品不存在
+
抱歉,您访问的商品可能已下架或不存在
+
返回首页
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/product/ProductListPage.vue b/src/views/product/ProductListPage.vue
new file mode 100644
index 0000000..a152f2f
--- /dev/null
+++ b/src/views/product/ProductListPage.vue
@@ -0,0 +1,414 @@
+
+
+
+
+
+
+
+ 首页
+ 商品列表
+ {{ currentCategory }}
+
+
+
+
+
+
+
筛选条件
+
+
+
+
商品分类
+
+
+
+
+
+
+
+
价格区间
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
品牌
+
+
+
+
+
+
+
+ 重置筛选
+
+
+
+
+
+
+
+
+
+ 排序:
+
+ 默认
+ 价格↑
+ 价格↓
+ 销量
+ 评分
+
+
+
+
+ 视图:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
{{ product.title }}
+
{{ product.desc }}
+
+
+ ¥{{ product.price }}
+ 已售{{ product.sold }}
+
+
+
+ ({{ product.reviewCount || 0 }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/profile/ProfilePage.vue b/src/views/profile/ProfilePage.vue
new file mode 100644
index 0000000..02d7ebd
--- /dev/null
+++ b/src/views/profile/ProfilePage.vue
@@ -0,0 +1,489 @@
+
+
+
+
+
+
+
+
+
+
+
+
{{ globalState.currentUser?.username }}
+
{{ globalState.currentUser?.level }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
个人信息
+
+
+
+
+
+ 更换头像
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 男
+ 女
+ 其他
+
+
+
+
+ 保存修改
+
+
+
+
+
+
+
账户安全
+
+
+
+
+
+
登录密码
+
定期更换密码可以提高账户安全性
+
+
修改密码
+
+
+
+
+
+
+
手机绑定
+
{{ userForm.phone || '未绑定手机号' }}
+
+
{{ userForm.phone ? '更换' : '绑定' }}手机
+
+
+
+
+
+
+
邮箱绑定
+
{{ userForm.email }}
+
+
更换邮箱
+
+
+
+
+
+
+
+
我的钱包
+
+
+
+
账户余额
+
¥{{ globalState.currentUser?.balance || 0 }}
+
+ 立即充值
+
+
+
+
+
优惠券
+
{{ coupons.length }}
+
+ 查看优惠券
+
+
+
+
+
积分
+
{{ points }}
+
+ 积分商城
+
+
+
+
+
+
+
交易记录
+
+
+
+
+
+
+
+ {{ scope.row.amount > 0 ? '+' : '' }}¥{{ Math.abs(scope.row.amount) }}
+
+
+
+
+
+
+
+
+
+
+
收货地址
+ 新增地址
+
+
+
+
+
+
+
{{ address.name }}
+
{{ address.phone }}
+
+
默认
+
+
+
{{ address.fullAddress }}
+
+
+ 编辑
+
+ 设为默认
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
浏览历史
+ 清空历史
+
+
+
+
+
+
+
![]()
+
{{ item.title }}
+
¥{{ item.price }}
+
{{ formatDate(item.viewTime) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/result/Success.vue b/src/views/result/Success.vue
new file mode 100644
index 0000000..9577c78
--- /dev/null
+++ b/src/views/result/Success.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+ 返回首页
+
+
+
+
+
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
index df31b24..be94915 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -15,7 +15,7 @@ export default defineConfig({
}
},
server: {
- port: 8888,
+ port: 8000,
proxy: {
'/api': {
// target: 'http://127.0.0.1:18007/api/',