【vue3.0】25.0 某东到家( 廿五)——真机调试

2023-12-16 05:30

本文主要是介绍【vue3.0】25.0 某东到家( 廿五)——真机调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

真机联调方式

一种方式是手机和电脑连同一个局域网,也就是同一个WiFi
运行项目会在终端显示ip连接的地址:

image.png

因为目前我的是手机热点,需下面的方式:
如果是手机开热点给电脑用,可以win+R键输入ipconfig查询本机ip,然后在手机浏览器上直接打开ip:8080即可

image.png

比如我的就是需要访问 192.168.24.113::8080
image.png
image.png
image.png
image.png
image.png
image.png

这里可以看到购物车的加减号有点问题。
首先需要准备2个图标:
image.png

调整 src\views\shop\Content.vue
<template><div class="content"><div class="category"><div:class="{category__item: true,'category__item--active': currentTab === item.tab}"v-for="item in categories":key="item.tab"@click="handleTabClick(item.tab)">{{ item.name }}</div></div><div class="product"><div class="product__item" v-for="item in list" :key="item._id"><img class="product__item__img" :src="item.imgUrl" /><div class="product__item__detail"><h4 class="product__item__title">{{ item.name }}</h4><p class="product__item__sales">月售{{ item.sales }}件</p><p class="product__item__price"><span class="product__item__yen"> &yen;{{ item.price }} </span><span class="product__item__origin"> &yen;{{ item.oldPrice }} </span></p></div><div class="product__number"><spanclass="product__number__minus"@click="() => {changeCartItem(shopId, item._id, item, -1, shopName)}"><i class="custom-icon custom-icon-reduce"></i></span>{{ getProductCartCount(shopId, item._id) }}<spanclass="product__number__plus"@click="() => {changeCartItem(shopId, item._id, item, 1, shopName)}"><i class="custom-icon custom-icon-add"></i></span></div></div></div></div>
</template><script>
......
</script><style lang="scss" scoped>@import '@/style/viriables.scss';@import '@/style/mixins.scss';.content {display: flex;position: absolute;left: 0;right: 0;top: 1.6rem;bottom: 0.5rem;}.category {overflow-y: scroll;width: 0.76rem;background: $search-bg-color;height: 100%;&__item {line-height: 0.4rem;text-align: center;font-size: 0.14rem;color: $content-font-color;&--active {background: $bg-color;}}}.product {overflow-y: scroll;flex: 1;&__item {position: relative;display: flex;padding: 0.12rem 0.16rem;margin: 0 0.16rem;border-bottom: 0.01rem solid $content-bg-color;// 配合解决超出长度以省略号显示而不会出现换行&__detail {overflow: hidden;}&__img {width: 0.68rem;height: 0.68rem;margin-right: 0.16rem;}&__title {margin: 0;line-height: 0.2rem;font-size: 0.14rem;color: $content-font-color;// 超出长度以省略号显示而不会出现换行@include ellipsis;}&__sales {margin: 0.06rem 0;line-height: 0.16rem;font-size: 0.12rem;color: $content-font-color;}&__price {margin: 0;line-height: 0.2rem;font-size: 0.14rem;color: $height-light-font-color;}&__yen {font-size: 0.12rem;}&__origin {margin-left: 0.06rem;line-height: 0.2rem;font-size: 0.12rem;color: $light-font-color;text-decoration: line-through; //中划线}// 购物车选购数量和加减号.product__number {position: absolute;right: 0rem;bottom: 0.12rem;line-height: 0.18rem;// 边框白色&__minus {position: relative;top: 0.01rem;color: $medium-font-color;margin-right: 0.05rem;}//无边框,背景蓝色&__plus {position: relative;top: 0.01rem;color: $btn-bg-color;margin-left: 0.05rem;}}}}
</style>

调整src\views\shop\Cart.vue

<template><!-- 蒙层 --><div class="mask" v-if="showCart && calculations.total > 0" @click="handleCartShowChange"></div><div class="cart"><div class="product" v-show="showCart && calculations.total > 0"><div class="product__header"><div class="product__header__all" @click="setCartItemsChecked(shopId)"><i:class="['product__header__all__icon','custom-icon',calculations.isAllChecked? 'custom-icon-radio-checked': 'custom-icon-radio-unchecked']"></i><span class="product__header__all__text">全选</span></div><div class="product__header__clear"><span class="product__header__clear__btn" @click="cleanCartProducts(shopId)">清空购物车</span></div></div><div class="product__item" v-for="item in productList" :key="item._id"><div class="product__item__checked" @click="changeCartItemChecked(shopId, item._id)"><i:class="['custom-icon',item.checked == true ? 'custom-icon-radio-checked' : 'custom-icon-radio-unchecked']"></i></div><img class="product__item__img" :src="item.imgUrl" /><div class="product__item__detail"><h4 class="product__item__title">{{ item.name }}</h4><p class="product__item__price"><span class="product__item__yen"> &yen;{{ item.price }} </span><span class="product__item__origin"> &yen;{{ item.oldPrice }} </span></p></div><div class="product__number"><spanclass="product__number__minus"@click="() => {0changeCartItemInfo(shopId, item._id, item, -1)}"><i class="custom-icon custom-icon-reduce"></i></span>{{ getProductCartCount(shopId, item._id) }}<spanclass="product__number__plus"@click="() => {changeCartItemInfo(shopId, item._id, item, 1)}"><i class="custom-icon custom-icon-add"></i></span></div></div></div><div class="check"><div class="check__icon" @click="handleCartShowChange"><img src="/i18n/9_16/img/basket.png" alt="" class="check__icon__img" /><div class="check__icon__tag">{{ calculations.total }}</div></div><div class="check__info">总计:<span class="check__info__price">&yen; {{ calculations.totalPrice }}</span></div><div class="check__btn" v-show="calculations.totalPrice > 0"><router-link :to="{ path: `/orderConfirmation/${shopId}` }"> 去结算 </router-link></div></div></div>
</template><script>
......
</script>
<style lang="scss" scoped>@import '@/style/viriables.scss';@import '@/style/mixins.scss';.mask {position: fixed;left: 0;right: 0;bottom: 0;top: 0;background: rgba(0, 0, 0, 0.5);z-index: 1;}.cart {position: absolute;left: 0;right: 0;bottom: 0;z-index: 2;background: $bg-color;}.product {overflow-y: scroll;flex: 1;background: $bg-color;&__header {display: flex;line-height: 0.52rem;border-bottom: 0.01rem solid $content-bg-color;font-size: 0.14rem;color: $content-font-color;&__all {width: 0.64rem;margin-left: 0.18rem;&__icon {display: inline-block;vertical-align: top;font-size: 0.2rem;margin-right: 0.05rem;color: $btn-bg-color;}&__text {display: inline-block;margin-left: 0.04rem;line-height: 0.52rem;}}&__clear {flex: 1;text-align: right;margin-right: 0.16rem;&__btn {display: inline-block;}}}&__item {position: relative;display: flex;padding: 0.12rem 0.16rem;margin: 0 0.16rem;border-bottom: 0.01rem solid $content-bg-color;&__checked {line-height: 0.5rem;margin-right: 0.2rem;color: $btn-bg-color;i {font-size: 0.25rem;}}// 配合解决超出长度以省略号显示而不会出现换行&__detail {overflow: hidden;}&__img {width: 0.46rem;height: 0.46rem;margin-right: 0.16rem;}&__title {margin: 0;line-height: 0.2rem;font-size: 0.14rem;color: $content-font-color;// 超出长度以省略号显示而不会出现换行@include ellipsis;}&__price {margin: 0.06rem 0 0 0;line-height: 0.2rem;font-size: 0.14rem;color: $height-light-font-color;}&__yen {font-size: 0.12rem;}&__origin {margin-left: 0.06rem;line-height: 0.2rem;font-size: 0.12rem;color: $light-font-color;text-decoration: line-through; //中划线}// 购物车选购数量和加减号.product__number {position: absolute;right: 0rem;line-height: 0.18rem;bottom: 0.26rem;// 边框白色&__minus {position: relative;top: 0.01rem;color: $medium-font-color;margin-right: 0.05rem;}//无边框,背景蓝色&__plus {position: relative;top: 0.01rem;color: $btn-bg-color;margin-left: 0.05rem;}}}}.check {display: flex;box-sizing: border-box; //往内塞入borderline-height: 0.49rem;height: 0.49rem;border-top: 0.01rem solid $content-bg-color;&__icon {width: 0.84rem;position: relative;&__img {margin: 0.12rem auto;display: block;width: 0.28rem;height: 0.28rem;}&__tag {// 乘以2然后等比例缩小position: absolute;left: 0.46rem;top: 0.04rem;padding: 0 0.04rem;min-width: 0.2rem;height: 0.2rem;line-height: 0.2rem;text-align: center;background-color: $height-light-font-color;border-radius: 0.1rem;font-size: 0.12rem;color: $bg-color;transform: scale(0.5);transform-origin: left center;}}&__info {flex: 1;color: $content-font-color;font-size: 0.12rem;&__price {line-height: 0.49rem;color: $height-light-font-color;font-size: 0.18rem;}}&__btn {width: 0.98rem;background-color: #4fb0f9;text-align: center;color: $bg-color;font-size: 0.14rem;// 去掉a标签的下划线a {color: $bg-color;text-decoration: none; //去掉文本修饰}}}
</style>

修改src\views\orderConfirmation\TopArea.vue

......
<style lang="scss" scoped>@import '@/style/viriables.scss';.top {position: relative;height: 1.96rem;background-size: 100% 1.59rem;/* 渐变轴为0度,相当于从下到上,高度4%位置从rgba(0, 145, 255, 0) 开始渐变到高度50%位置的蓝色(#0091ff)结束 */background-image: linear-gradient(0deg, rgba(0, 145, 255, 0) 4%, $btn-bg-color 50%);background-repeat: no-repeat;&__header {position: relative;padding-top: 0.26rem;line-height: 0.24rem;color: $bg-color;text-align: center;font-size: 0.16rem;&__back {position: absolute;font-size: 0.22rem;left: 0.18rem;}}&__receiver {position: absolute;left: 0.18rem;right: 0.18rem;bottom: 0rem;height: 1.11rem;background: $bg-color;border-radius: 0.04rem;&__title {line-height: 0.22rem;padding: 0.16rem 0 0.14rem 0.16rem;font-size: 0.16rem;color: $content-font-color;}&__address {line-height: 0.2rem;padding: 0 0.4rem 0 0.16rem;font-size: 0.16rem;color: $content-font-color;}&__info {padding: 0.06rem 0 0 0.16rem;&__name &__phone {margin-right: 0.1rem;line-height: 0.18rem;font-size: 0.12rem;color: $content-font-color;}}&__icon {//旋转180度transform: rotate(180deg);position: absolute;right: 0.16rem;top: 0.53rem;font-size: 0.16rem;color: $medium-font-color;}}}
</style>

http://www.taodudu.cc/news/show-8391075.html

相关文章:

  • [乡土民间故事_徐苟三传奇]第廿五回_请课酒计耍刘财主
  • 运营四十二章经(廿五)---知乎的盈利方式
  • OpenCV + CPP 系列(廿五)模板匹配(Template Match)
  • Unity热更新方案C#Like(廿五)-实战:示范如何建立初始包CSharpLikeFreeDemo项目
  • 5月14日第壹简报,星期日,农历三月廿五
  • 69家中国企业闯入全球500强 数量超日本排第二
  • 怎样让excel中的文字旋转一定的角度?
  • 安卓实现文字(TextView)旋转,包括文字角标
  • 51单片机编译警告笔记一(WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS)
  • WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
  • 米安网python培训
  • 米安代码审计 06 PHPYUN V3.0 任意文件上传漏洞
  • 米安代码审计 08 ThinkSNS 垂直平行越权
  • 米安代码审计 05 文件上传漏洞
  • 米安代码审计 07 越权漏洞
  • 米安代码审计 01 php.ini 安全配置
  • 米安代码审计 03 文件解析漏洞
  • 每个人心中都有片极乐净土——leo读《监控》
  • 基于视觉AI算法的周界防范边缘计算网关
  • 几种常见的周界报警方案原理对比
  • 科普:周界泄漏电缆系统的工作原理以及系统特点
  • IOTOS物联中台开发驱动支持精华隆周界子系统设备
  • tps协议和onvif协议_近海风电场项目视频监控及周界安全防范系统设备技术协议...
  • 全球及中国综合周界安全系统行业调查研究及前景投资分析报告2021年版
  • EZStation3.0画面不显示周界功能智能标记框
  • 程序员这样「赚外快」,被判一年九个月
  • 判断某一年的某个月的天数
  • 3D游戏编程_作业三_牧师与魔鬼
  • Stage.3 —— 太阳系
  • 使用python模块nmap,读取excel数据对多个ip端口探活扫描
  • 这篇关于【vue3.0】25.0 某东到家( 廿五)——真机调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/499272

    相关文章

    前端如何通过nginx访问本地端口

    《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

    HTML中meta标签的常见使用案例(示例详解)

    《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

    HTML input 标签示例详解

    《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

    HTML img标签和超链接标签详细介绍

    《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

    CSS3打造的现代交互式登录界面详细实现过程

    《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

    HTML5 中的<button>标签用法和特征

    《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

    HTML5实现的移动端购物车自动结算功能示例代码

    《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

    基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

    《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

    CSS place-items: center解析与用法详解

    《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

    CSS实现元素撑满剩余空间的五种方法

    《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求