当前位置: 首页 > news >正文

vue+element-plus简洁完美实现淘宝网站模板

目录

一、项目介绍

二、项目截图

1.项目结构图

2.首页

3.详情

4.购物车

5.登陆页

三、源码实现

1.路由配置

2.依赖包

四、总结


一、项目介绍

项目在线预览:点击访问

本项目为vue项目,参考淘宝官方样式为主题来设计元素,简洁美观;

技术要点:vue、 路由router、element-plus、vuex、axios等;

二、项目截图

1.项目结构图

开发软件是webstorm,当然vscode、hbuilder等都可以,看自己习惯就行。

2.首页

分为顶部+中间具体页面+底部,组件思想重复利用实现 

3.详情

参考淘宝官方样式实现

4.购物车

5.登陆页

三、源码实现

 项目以组件(顶部、底部)+主布局页面配合路由构思实现,可以通过组件思维重复利用共同的局部页面,简单且美观,也更加利于后期功能页面拓展和维护、修改等。

1.路由配置

import { createRouter, createWebHistory } from 'vue-router'
// import { useUserStore } from '@/stores'const router = createRouter({// history: createWebHistory(import.meta.env.BASE_URL),history: createWebHistory(import.meta.env.VITE_APP_BASE_PATH),routes: [{name: '首页',path: '/',component: () => import('@/views/layout/index.vue'),redirect: '/index',children: [{name: '首页',path: '/index',component: () => import('@/views/home/index.vue')},{name: '详情',path: '/detail',component: () => import('@/views/detail/index.vue')},{name: '购物车',path: '/cart',component: () => import('@/views/cart/index.vue')}],},{path: '/login',name: '登录页',component: () =>import( /* webpackChunkName: "page" */ '@/views/login/index.vue')}]
})// 登录访问拦截 => 默认是直接放行的
// 根据返回值决定,是放行还是拦截
// 返回值:
// 1. undefined / true  直接放行
// 2. false 拦回from的地址页面
// 3. 具体路径 或 路径对象  拦截到对应的地址
//    '/login'   { name: 'login' }
// router.beforeEach((to) => {
//   // 如果没有token, 且访问的是非登录页,拦截到登录,其他情况正常放行
//   const useStore = useUserStore()
//   if (!useStore.token && to.path !== '/login3') return '/login3'
// })export default router

2.依赖包

{"name": "vue3-project","version": "0.0.0","private": true,"scripts": {"dev": "vite","build": "vite build --mode prod","preview": "vite preview","lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore","format": "prettier --write src/","prepare": "husky install","lint-staged": "lint-staged"},"dependencies": {"@element-plus/icons-vue": "^2.3.0","@vant/area-data": "^1.5.1","@vueup/vue-quill": "^1.2.0","axios": "^1.4.0","element-china-area-data": "^6.1.0","element-plus": "^2.3.7","express-jwt": "^8.4.1","jsonwebtoken": "^9.0.2","pinia": "^2.1.3","vant": "^4.9.0","vite-plugin-style-import": "^2.0.0","vue": "^3.4.0","vue-router": "^4.2.2","vuex": "^4.1.0","qrcode-generator": "^1.4.4"},"devDependencies": {"@rushstack/eslint-patch": "^1.2.0","@vitejs/plugin-vue": "^4.2.3","@vue/eslint-config-prettier": "^7.1.0","eslint": "^8.39.0","eslint-plugin-vue": "^9.11.0","husky": "^8.0.0","lint-staged": "^13.2.3","pinia-plugin-persistedstate": "^3.1.0","prettier": "^2.8.8","sass": "^1.63.6","unplugin-auto-import": "^0.16.6","unplugin-vue-components": "^0.25.1","vite": "^4.3.9"},"lint-staged": {"*.{js,ts,vue}": ["eslint --fix"]}
}

四、总结

项目页面完整,后续可能将不断升级,完善其他页面。

关注作者,及时了解更多好项目!

更多优质项目请看作者主页!

获取源码或如需帮助,可通过博客后面名片+作者即可!

相关文章:

vue+element-plus简洁完美实现淘宝网站模板

目录 一、项目介绍 二、项目截图 1.项目结构图 2.首页 3.详情 4.购物车 5.登陆页 三、源码实现 1.路由配置 2.依赖包 四、总结 一、项目介绍 项目在线预览:点击访问 本项目为vue项目,参考淘宝官方样式为主题来设计元素,简洁美观&…...

学习aigc

DALLE2 论文 Hierarchical Text-Conditional Image Generation with CLIP Latents [2204.06125] Hierarchical Text-Conditional Image Generation with CLIP LatentsAbstract page for arXiv paper 2204.06125: Hierarchical Text-Conditional Image Generation with CLIP L…...

深度学习-127-LangGraph之基础知识(四)自定义状态添加额外字段的聊天机器人

文章目录 1 自定义状态2 自定义工具2.1 完善工具human_assistance2.2 浏览器工具baidu_search3 聊天机器人3.1 绑定工具的聊天模型3.2 聊天机器人(带记忆)4 调用图4.1 调用工具时中断4.2 人工提供信息恢复4.3 查询存储的状态4.4 手动更新状态5 参考附录使用LangGraph,在状态中…...

广东英语十二种应用文模版范文

1. 邀请信(Invitation Letter) 模版 Dear [Recipients Name],I hope this letter finds you well. I am writing to invite you to [Event Name] which will be held on [Date] at [Location]. The event will start at [Time] and we would be deligh…...

python使用httpx_sse调用sse流式接口对响应格式为application/json的错误信息的处理

目录 问题描述方案 问题描述 调用sse流式接口使用httpx_sse的方式 import httpxfrom httpx_sse import connect_sse# 省略无关代码try:with httpx.Client() as client:with connect_sse(client, "GET", url, paramsparam) as event_source:clear_textbox(response_t…...

Leetcode-407. Trapping Rain Water II [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-407. Trapping Rain Water IIhttps://leetcode.com/problems/trapping-rain-water-ii/description/ 一、题目描述 Given an m x n integer matrix heightMap representing the height of each unit cell in a 2D…...

详解 torch.triu:上三角矩阵的高效构造(中英双语)

详解 torch.triu:上三角矩阵的高效构造 在深度学习和矩阵运算中,我们经常需要构造上三角矩阵(Upper Triangular Matrix),其中主对角线以下的元素全部设为 0。PyTorch 提供了一个高效的函数 torch.triu(),用…...

[ TypeScript ] “undefined extends xxx“ 总是为 true 的 bug

版本号 "typescript": "^5.7.3", "unplugin": "^2.2.0",说明 在使用 unplugin 时 , 我定义插件的参数是 必填的, 使用时却是一个可空参数, 不传参也不会报错, (options?: UserOptions) > Return 😲😲&…...

高清下载油管视频到本地

下载工具并安装: yt-dlp官网地址: GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader ffmpeg官网地址: Download FFmpeg 注:记住为其添加环境变量 操作命令: 该指令表示以720p码率下载VIDEO_UR…...

Hadoop常用操作命令

在NameNode节点格式化集群 初始化集群 hdfs namenode -format启动HDFS sbin/start-dfs.sh启动yarn sbin/start-yarn.sh启动NodeManager yarn-daemon.sh start nodemanager启动DataNode hadoop-daemon.sh start datanode启动SecondaryNameNode hadoop-daemon.sh start se…...

[HOT 100] 2439. 最小化数组中的最大值

文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 2439. 最小化数组中的最大值 - 力扣(LeetCode) 2. 题目描述 给你一个下标从 0 开始的数组 nums ,它含有 n 个非负整数。 每一步操作中&#…...

【JavaEE进阶】图书管理系统 - 贰

目录 🌲前言 🎄设计数据库 🍃引⼊MyBatis和MySQL驱动依赖 🌳Model创建 🎍约定前后端交互接口 🍀服务器代码 🚩控制层 🚩业务层 🚩数据层 🌴前端代码…...

Vue学习教程-14内置指令

文章目录 前言一、v-text指令二、v-html指令三、v-cloak指令四、v-once指令五、v-pre指令六、其他指令 前言 Vue.js 提供了许多内置指令(Directives),这些指令用于在模板中添加特殊功能。内置指令以 v- 前缀开始。 v-text : 更新元素的 tex…...

【蓝桥杯单片机】客观题

一、第十三届省赛(一) 二、第十三届省赛(二)...

C++ 设计模式-访问者模式

C++访问者模式 一、模式痛点:当if-else成为维护噩梦 开发动物园管理系统,最初的需求很简单: class Animal {}; class Cat : public Animal {}; class Dog : public Animal {};// 处理动物叫声 void makeSound(Animal* a) {if (auto c = dynamic_cast<Cat*>(a)) {st…...

靶场之路-Kioptix Level-1 mod_ssl 缓冲区溢出漏洞

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一、准备工作 首先使用 vmware 导入靶机文件&#xff0c; 然后网络模式改成 nat 模式即可 我们打…...

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…...

stm32mp采用spi接口扩展can

在 STM32MP 系列微处理器中,通过 SPI 转 CAN 功能扩展 CAN 接口需要结合硬件设计(如使用 SPI 接口的 CAN 控制器芯片)和 Linux 驱动配置。以下是详细的实现步骤和关键点: 硬件选型与连接 常用 SPI 转 CAN 芯片MCP2515:经典 SPI 转 CAN 控制器,支持 CAN 2.0B。MCP2517FD:…...

forge-1.21.x模组开发(二)给物品添加功能

功能效果 创建一个兑换券&#xff0c;当使用兑换券对着兑换机右键时&#xff0c;获得一条烤鱼 创建兑换券 创建ExchangeCouponsItem.java&#xff0c;继承Item&#xff0c;定义兑换券内容 public class ExchangeCouponsItem extends Item {public ExchangeCouponsItem(Prop…...

创建第一个 Maven 项目(一)

一、引言 在 Java 开发的广袤天地中&#xff0c;Maven 宛如一位全能的管家&#xff0c;发挥着举足轻重的作用。它是一个基于项目对象模型&#xff08;POM&#xff09;的项目管理和构建自动化工具&#xff0c;极大地简化了 Java 项目的开发流程。 Maven 的核心优势之一在于其强…...

AI技术助力定位美国无主油井,解决环境隐患

1. 项目背景与问题定义在美国广袤的土地上&#xff0c;散布着大量被遗忘的"孤儿井"——这些上世纪中期以前钻探的油气井&#xff0c;由于缺乏完整记录或所有者信息&#xff0c;正持续向环境中泄漏甲烷等温室气体和有毒物质。劳伦斯伯克利国家实验室&#xff08;LBNL&…...

【微软官方未公开的AOT兼容性清单】:Dify v0.7.2+ C# 14原生AOT支持矩阵与RuntimeBinder绕过方案

第一章&#xff1a;C# 14 原生 AOT 部署 Dify 客户端对比评测报告C# 14 引入的原生 AOT&#xff08;Ahead-of-Time&#xff09;编译能力显著提升了 .NET 应用在边缘设备与云原生环境中的启动性能与内存 footprint。本章聚焦于基于 C# 14 构建的 Dify 官方 REST API 客户端 SDK …...

从GPU到TSP:Groq的“功能切片”架构如何让AI推理快人一步?

从GPU到TSP&#xff1a;Groq的“功能切片”架构如何让AI推理快人一步&#xff1f; 当你在电商平台搜索商品时&#xff0c;是否想过背后支撑实时推荐系统的AI模型如何在毫秒间完成推理&#xff1f;传统GPU架构在训练阶段表现出色&#xff0c;却在实时推理场景中暴露出能效低下、…...

python argon2

## 关于 Python 中的 Argon2&#xff1a;一个密码哈希的现代选择 如果你写过需要处理用户密码的代码&#xff0c;肯定知道不能把密码原文存进数据库。早年很多系统用 MD5 或 SHA-1 这类快速哈希算法&#xff0c;后来大家发现这不够安全——显卡能每秒算几十亿次哈希&#xff0c…...

032_A27_火火兔学前英语_中字幕_零基础_3岁+资源介绍与网盘获取

A27 火火兔学前英语 中字幕 零基础 3岁资源介绍与网盘获取 对于很多家长来说&#xff0c;给孩子挑选英语启蒙资料时&#xff0c;最看重的往往是“是否适合零基础”“内容是否容易理解”“孩子愿不愿意看”。A27 火火兔学前英语 中字幕 零基础 3岁 这类资料&#xff0c;从名称来…...

ESP32-CAM发热严重还卡顿?可能是你的供电和代码没调对(附优化参数)

ESP32-CAM发热与卡顿问题深度优化指南 最近在工作室调试ESP32-CAM时&#xff0c;发现不少朋友都遇到了类似的问题&#xff1a;模块运行一段时间后烫得能煎鸡蛋&#xff0c;视频流还时不时卡成PPT。这让我想起去年做智能门铃项目时&#xff0c;连续烧坏三块板子的惨痛经历。经过…...

告别常物性!Fluent材料物性随温度变化的三种设置方法(Piecewise-linear/Polynomial保姆级教程)

Fluent动态物性设置实战&#xff1a;从分段线性到多项式拟合的工程决策指南 在热流体仿真中&#xff0c;材料物性参数往往被简化为常数&#xff0c;这种假设在温度变化剧烈的场景下会带来显著误差。某涡轮叶片冷却分析案例显示&#xff0c;当采用常物性设定时&#xff0c;壁面温…...

【AI面试八股文 Vol.1.1 | 专题7:Human-in-the-Loop】Human-in-the-Loop插入点设计

凌晨一点&#xff0c;你在review今年第三版工单系统设计稿。LLM生成的回复准确率从周一的89%跳到了周五的97%&#xff0c;组里同学都在庆祝。 但PM突然在群里甩了一句&#xff1a;「那剩下的3%万一把用户惹毛了怎么办&#xff0c;比如生成内容涉及退订、投诉、赔偿这些高风险操…...

GeoAI通用平台:基于LangChain的智能地理空间AI架构实践

引言 在当今数据驱动的时代,地理空间分析在各个行业中变得越来越重要。然而,传统的GIS工具通常需要专业知识和复杂的工作流程,这对许多用户来说是一个门槛。GeoAI通用平台通过将大语言模型(LLM)与地理空间数据处理相结合,实现了自然语言与地理信息系统的交互,有效解决了…...

Debian 11上Qt程序中文输入失效?手把手教你编译fcitx5-qt插件(Qt6/Qt5通用)

Debian 11上Qt程序中文输入失效的终极解决方案&#xff1a;从原理到实践 刚在Debian 11上完成Qt应用的开发&#xff0c;却发现无法通过fcitx输入中文&#xff1f;这可能是Linux桌面开发中最令人抓狂的问题之一。作为开发者&#xff0c;我们期望的是流畅的编码体验&#xff0c;而…...