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

vue项目移动端商场

一、项目前端页面展示


二、项目整体目录结构


三、项目流程
1. vue快速创建基础项目
创建项目
vue create hk-shop
1
选择需要的配置


创建基础文件夹目录
src文件夹下文件夹目录:
① views 文件夹存放界面
② components 文件夹存放界面中局部组件
③ config 文件夹存放各种全局配置
④ images 文件夹存放图片
⑤ plugins 文件夹存放各种插件
⑥ router 文件夹存放路由
⑦ store 文件夹存放vuex相关文件
⑧ service 文件夹存放服务器端相关操作,接口等
⑨ style 文件夹存放样式

2. 移动端开发——配置FastClick
什么是FastClick?
① FastClick 是一个简单易用的库,它消除了移动端浏览器上的物理点击和触发一个 click 事件之间的 300ms 的延迟 ;
② 目的就是在不干扰你目前的逻辑的同时,让你的应用感觉不到延迟,反应更加灵敏;
③ 实现原理: 在检测到touchend事件的时候,会通过DOM自定义事件立即出发模拟一个click事件,
并把浏览器在300ms之后真正的click事件阻止掉。

为什么会存在延时?
① 移动端浏览器会从你点击按钮之后,等待大约 300ms 才会触发点击事件
② 原因是浏览器会等待看你的行为是否会是双击

配置方法
① 将fastclick拉取到项目中 npm i fastclick -S
② 配置方案
Ⅰ直接在main.js中进行配置
main.js

// 1. 引入FastClick
import FastClick from 'fastclick'
// 2. 配置FastClick
if ('addEventListener' in document) {
    document.addEventListener('DOMContentLoaded', function () {
        FastClick.attach(document.body);
    }, false);
}
1
2
3
4
5
6
7
8


Ⅱ 在plugin文件夹中新建FastClick.js并在其中配置,并将其在main.js中引入

3. 在public文件夹下的index.html中,修改页面标题(title)和logo(ico)

4. 配置全局样式
在style文件夹下新建commen.less,并在里面写好全局样式
在main.js中引入

5. 搭建主界面
要进行多界面切换,要在views文件夹内进行配置不同界面。在views文件夹下,每一个模块对应一个子文件夹。home — 主页、category — 分类、cart — 购物车、mine — 我的、dashboard — 主面板。
在每一个子文件夹(home、category、cart、mine、dashboard)下创建对应的页面。
举例:dashboard.vue

6. 配置路由
在router.js中,新建index.js文件夹。

在main.js中,引入router。并将其挂载到Vue对象上。

在新建的index.js中,配置路由

① 在这里,只有DashBoard在界面刷新的时候就加载,其余界面采用懒加载的方式,在点击跳转或者访问的时候才进行加载,便于提升性能。
② dashboard一级路由存在的必要性:为后续注册登录等功能提准备。
③ 不直接export default new Router的原因:便于做路由守卫
效果


7. 集成UI组件库Vant
安装vant npm i vant –S

安装babel-plugin-impor支持vant局部引用 npm i babel-plugin-import -D

在babel.config.js中进行配置


在plugins文件夹下,新建vant.js。配置引入不同的vant组件。


在main.js中引入vant.js。需要引入什么组件直接在vant.js中做修改即可。


8. 集成Vant底部Tabbar标签栏
直接借助官网API快速引入组件


active 当前选中标签的索引 Number
active-color 选中标签的颜色 String #000000
inactive-color 未选中标签的颜色 String #ffffff
replace to 路由跳转
图片属性 :src=“props.active ? icon.active : icon.inactive” 设置选中/非选中图片
9. 配置首页界面
(1)在Home.vue中,通过axios请求网络数据
安装axios npm i axios -S,并且封装axios网络请求

在service文件夹中,新建子文件夹api,并在api中新建文件index.js。负责汇总各种接口。


在api文件夹中新建ajax.js


在ajax.js中封装axios网络请求,并以函数ajax的形式向外界暴露

在index.js中,从ajax.js中引入ajax方法


在index.js中,定义接口基础路径


在index.js中,定义getHomeData方法,该方法是请求主页的数据,为get方法,拼接完整URL调用ajax方法发起axios的get请求,并向外界暴露该方法。


在Home.vue中,引入数据请求方法,并在创建组件完成后的created钩子选项中发起ajax请求。

(2)顶部地址定位、搜索栏
在home文件夹内,新建子文件夹components,存放home.vue的子组件


在子文件夹components中新建header文件夹,在header文件夹内新建Header.vue组件


在Header.vue中将写好的html即样式拷贝过来


在Home.vue中引入组件Header.vue

(3)轮播图(借助Swipervue-awesome-swiper实现)
在home子文件夹components内新建子文件夹sowing,并在sowing文件夹中新建Sowing.vue


安装vue-awesome-swiper npm install

配置轮播图
注意:
① 下载最新版本的vue-awesome-swiper可能按照官方文档有些功能无法使用,可以直接下载低版本
② 配置分页、自动播放等功能无效的话,引入的时候加入以下代码。其他功能无效也可以试一下这个。

import Swiper2, {Navigation, Pagination, Autoplay} from 'swiper';

Swiper2.use([Navigation, Pagination, Autoplay]);
1
2
3


如果想在组件中使用或者控制轮播图,可以在监听computer中对swiper进行监听,并在组件的其他地方使用。


将首页的数据传输到轮播图组件中,并进行渲染


(4)中部导航nav
在home子文件夹components内新建子文件夹nav,并在nav文件夹中新建Nav.vue


将静态界面放在Nav.vue中,并在Home.vue中引入

将Home.vue中请求到的数据通过props传递到Nav.vue,并进行遍历展示


(5)限时抢购
在home子文件夹components内新建子文件夹flashSale,并在flashSale文件夹中新建FlashSale.vue和FlashSaleItem.vue


将静态界面放在FlashSale.vue和FlashSaleItem.vue中,并在FlashSale中引入FlashSaleItem,在Home.vue中引入FlashSale


将Home.vue中请求到的数据通过props传递到FlashSale.vue,再传递到FlashSaleItem.vue,并进行遍历展示

(6)配置猜你喜欢静态界面

相关文章:

vue项目移动端商场

一、项目前端页面展示 二、项目整体目录结构 三、项目流程 1. vue快速创建基础项目 创建项目 vue create hk-shop 1 选择需要的配置 创建基础文件夹目录 src文件夹下文件夹目录: ① views 文件夹存放界面 ② components 文件夹存放界面中局部组件 ③ config 文件夹存…...

Golang | Leetcode Golang题解之第97题交错字符串

题目&#xff1a; 题解&#xff1a; func isInterleave(s1 string, s2 string, s3 string) bool {n, m, t : len(s1), len(s2), len(s3)if (n m) ! t {return false}f : make([]bool, m 1)f[0] truefor i : 0; i < n; i {for j : 0; j < m; j {p : i j - 1if i >…...

2024电工杯B题:大学生平衡膳食食谱的优化设计及评价

问题重述 大学时代是学知识长身体的重要阶段&#xff0c;同时也是良好饮食习惯形成的重要时期。这一特定年龄段的年轻人&#xff0c;不仅身体发育需要有充足的能量和各种营养素&#xff0c;而且繁重的脑力劳动和较大量的体育锻炼也需要消耗大量的能源物质。大学生中饮食结构不…...

齐护K210系列教程(三十二)_在线模型训练

在线模型训练 概念理解准备工作1 采集图像1.1 图像要求1.2 使用K210采集图片 2 标注图像3 打包数据集4 上传数据4.1创建项目4.1.1图像分类创建项目4.1.2图像检测创建项目 4.2上传数据4.2.1分类检测上传数据4.2.2图像检测上传数据 5 训练模型6 部署模型以及测试7 测试效果7.1图像…...

碌时刻必备!微信自动回复让你告别消息堆积

在忙碌的时候&#xff0c;我们往往会面临消息堆积如山的情况。无法及时回复消息不仅容易造成交流障碍&#xff0c;还可能错过重要的机会。 但是现在&#xff0c;有一个神奇的工具——个微管理系统&#xff0c;可以帮助我们轻松应对这个问题 &#xff0c;实现微信自动回复。 首…...

【ARM 裸机】按键输入

本节学习按键输入&#xff0c;先拷贝上一节工程文件&#xff0c; 1、驱动编写 新建 key 的 .h 和 .c 文件&#xff1b; 再查看一下硬件原理图如下&#xff1b; 由此可知&#xff0c;KEY0 按键接在 UART1_CTS 引脚上&#xff0c;默认情况下为高电平&#xff0c;按键按下为…...

站在ESG“20+”新起点上,看中国ESG先锋探索力量

全链减碳、建设绿色工厂、打造零碳产品、守护生物多样性、向受灾群众捐助……不知你是否察觉&#xff0c;自“双碳”目标提出以来&#xff0c;一股“可持续发展热潮”正覆盖各行各业&#xff0c;并且渗透到我们衣食住行的方方面面。在资本市场&#xff0c;ESG投资热潮更是席卷全…...

【CTF Web】CTFShow web4 Writeup(SQL注入+PHP+字符型注入)

web4 1 管理员阿呆又失败了&#xff0c;这次一定要堵住漏洞 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/or|\-|\\\|\/|\\*|\<|\>|\!|x|hex|\(|\)|\|select/i",$id)){die(&q…...

软件设计师备考 | 案例专题之数据库设计 概念与例题

相关概念 关注上图中的两个部分&#xff1a; 概念结构设计 设计E-R图&#xff0c;也即实体-联系图。 工作步骤&#xff1a;选择局部应用、逐一设计分E-R图、E-R图合并。进行合并时&#xff0c;它们之间存在的冲突主要有以下3类&#xff1a; 属性冲突。同一属性可能会存在于…...

【全网最全】2024电工杯数学建模A题成品论文+前三题完整解答matlab+py代码等(后续会更新成品论文)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片链接&#xff0c;那是获取资料的入口&#xff01; 【全网最全】2024电工杯数学建模A题成品论文前三题完整解答matlabpy代码等&#xff08;后续会更新成品论文&#xff09;「首先来看看目前已有的资料&am…...

基于.net开发的博客系统

基于.net开发可以批量上传md文件生成文章的博客系统 .NET 个人博客 基于.net开发的博客系统 个人博客系统&#xff0c;采用.net core微服务技术搭建&#xff0c;采用传统的MVC模式&#xff0c;使用EF core来对mysql数据库(sqlite数据库)进行CRUD操作项目 为什么要自己开发博客…...

python给图片加上图片水印

python给图片加上图片水印 作用效果代码 作用 给图片加上图片水印图片水印的透明度&#xff0c;位置可自定义 效果 原始图片&#xff1a; 水印图片&#xff1a; 添加水印后的图片&#xff1a; 代码 from PIL import Image, ImageDraw, ImageFontdef add_watermark(in…...

Redis实现MQ

MQ的提出 上游发出请求后阻塞等待下游给到反馈&#xff0c;否则整个流程将一直阻塞。 提出mq之后&#xff1a;即有producer mq consumer 三者 MQ的特点 异步解耦 在有了 mq 后&#xff0c;producer 不需要过分关心 consumer 的身份信息&#xff0c;只需要把消息按照指定的协议…...

【Linux】进程终止与进程等待

目录 进程终止 errno exit和_exit 进程等待 wait和waitpid 宏&#xff1a;WIFEXITED 非阻塞等待 进程终止 下面要谈的一个话题就是进程终止&#xff0c;就是说一个进程退出了&#xff0c;可能有三种情况 1.进程代码执行完&#xff0c;结果是正确的 2.进程代码执行完&…...

数据结构_链式二叉树(Chained binary tree)基础

✨✨所属专栏&#xff1a;数据结构✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 二叉树的遍历 前序、中序以及后序遍历 学习二叉树结构&#xff0c;最简单的方式就是遍历。所谓二叉树遍历(Traversal)是按照某种特定的规则&#xff0c;依次对二叉树中的结点进行相应的操作&#xff…...

python梯度下降法求解三元线性回归系数,并绘制结果

import numpy as np import matplotlib.pyplot as plt # 生成随机数据 np.random.seed(0) X1 2 * np.random.rand(100, 1) X2 3 * np.random.rand(100, 1) X3 4 * np.random.rand(100, 1) y 4 3 * X1 5 * X2 2 * X3 np.random.randn(100, 1) # 合并特征 X_b np.hsta…...

Linux基础(五):常用基本命令

从本节开始&#xff0c;我们正式进入Linux的学习&#xff0c;通过前面的了解&#xff0c;我们知道我们要以命令的形式使用操作系统&#xff08;使用操作系统提供的各类命令&#xff0c;以获得字符反馈的形式去使用操作系统。&#xff09;&#xff0c;因此&#xff0c;我们是很有…...

原始字面常量(C++11)

原始字面常量&#xff08;C11&#xff09; 文章目录 原始字面常量&#xff08;C11&#xff09;前言一、原始字面量二、代码示例总结 前言 字面量一般是指数值&#xff08;12、454等&#xff09;和字符串&#xff08;“Hw”、“h\t”&#xff09;&#xff0c;但是有时候我们想表…...

C++|设计模式(〇)|设计模式的六大原则

这里文章只做简要描述&#xff0c;作为扫盲 在软件开发过程中&#xff0c;遵循一定的设计原则可以帮助开发者创建更加灵活、可维护和可扩展的系统。设计模式的六大原则是面向对象设计的核心理念&#xff0c;本文将详细介绍这些原则&#xff0c;并结合实例说明它们的重要性和应用…...

【排序算法】——归并排序(递归与非递归)含动图

制作不易&#xff0c;三连支持一下吧&#xff01;&#xff01;&#xff01; 文章目录 前言一.归并排序递归方法实现二.归并排序非递归方法实现 前言 这篇博客我们将介绍归并排序的原理和实现过程。 一、归并排序递归方法实现 基本思想&#xff1a; 归并排序&#xff08;MERGE-…...

暗黑2存档编辑神器:5分钟解锁单机模式的无限可能

暗黑2存档编辑神器&#xff1a;5分钟解锁单机模式的无限可能 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾梦想在暗黑破坏神2中拥有完美的角色&#xff1f;是否厌倦了反复刷装备的枯燥过程&#xff1f;d2s-editor这款…...

做自媒体一年,我靠这3个方法解决了“选题荒”

刚开始做自媒体的时候&#xff0c;我最怕的不是写稿&#xff0c;而是“今天写什么”。每天早上打开文档&#xff0c;脑子里一片空白。上周写了什么&#xff1f;前天写了什么&#xff1f;今天该写什么&#xff1f;完全没方向。有时候坐一个小时&#xff0c;标题都没憋出来。后来…...

如何在CMake项目中实现类似MFC的版本信息配置:详解VS_VERSION_INFO的应用

1. 为什么需要版本信息配置 在Windows平台上开发应用程序时&#xff0c;版本信息是一个非常重要的元数据。它不仅能帮助用户识别软件版本&#xff0c;还能在系统管理、错误报告和更新检查中发挥关键作用。如果你用过MFC开发&#xff0c;一定对资源文件中的版本信息配置非常熟悉…...

剪映专业版教程:制作圆形滚入分屏开场效果

前言 今天教大家一个非常有创意的开场效果&#xff1a;圆形滚入分屏开场。这种效果模拟四个圆形画面依次从屏幕外滚入&#xff0c;分别占据屏幕的四块区域&#xff0c;最后汇聚成一幅完整画面&#xff0c;非常适合四季主题、年度回顾、品牌展示等场景。 效果预览&#xff1a;…...

1分钟快速上手:将你的编程智能体接入Memoria

只需一条命令&#xff0c;即可拥有持久化记忆。兼容Cursor、Claude Code、Codex和Kiro。 为什么你需要它 编程智能体功能强大——但它们会遗忘一切。 长任务被迫中断&#xff1a;一项复杂的重构工作可能跨多个会话进行。智能体崩溃、上下文窗口占满&#xff0c;或者你只是合上…...

Qwen3-14B航天领域探索:遥测数据解读、任务规划建议、故障预案生成

Qwen3-14B航天领域探索&#xff1a;遥测数据解读、任务规划建议、故障预案生成 1. 航天领域AI应用概述 航天工程是典型的高复杂度系统工程&#xff0c;涉及海量数据处理、精密任务规划和严苛安全要求。传统工作流程面临三大核心挑战&#xff1a; 遥测数据解读&#xff1a;卫…...

OpenClaw对话式开发:Qwen3-32B镜像生成Python脚本实例

OpenClaw对话式开发&#xff1a;Qwen3-32B镜像生成Python脚本实例 1. 为什么选择对话式开发 作为一名长期与Python打交道的开发者&#xff0c;我一直在寻找更高效的编码方式。传统IDE虽然功能强大&#xff0c;但面对重复性脚本编写时&#xff0c;仍然需要大量手动操作。直到尝…...

文墨共鸣效果展示:政策文件A/B/C三版本语义距离的三维水墨拓扑图

文墨共鸣效果展示&#xff1a;政策文件A/B/C三版本语义距离的三维水墨拓扑图 1. 项目概览 文墨共鸣&#xff08;Wen Mo Gong Ming&#xff09;是一个将深度学习算法与传统中国水墨美学相结合的创新项目。通过阿里达摩院开源的StructBERT大模型&#xff0c;系统能够深入分析文…...

凌晨两点,我终于在极空间上跑通了第一个私人博客

凌晨两点&#xff0c;窗外安静得只剩空调的嗡嗡声。 小孩刚哄睡&#xff0c;我蹑手蹑脚坐到电脑前&#xff0c;打开极空间的 SSH 终端。这台设备买了快一年了&#xff0c;当初图它操作简单、设置不费脑子&#xff0c;结果除了跑过两次照片备份&#xff0c;基本上就是客厅里的高…...

Ollama部署LFM2.5-1.2B-Thinking:轻量级但强思考的开发者首选模型

Ollama部署LFM2.5-1.2B-Thinking&#xff1a;轻量级但强思考的开发者首选模型 1. 为什么选择LFM2.5-1.2B-Thinking模型 如果你正在寻找一个既轻量又聪明的AI助手来帮你写代码、解决问题或者进行创意写作&#xff0c;LFM2.5-1.2B-Thinking模型绝对值得你关注。这个模型虽然只有…...