端午节期间,我们整理了仿天猫H5APP项目vue.js+expss+mongo效果
源码
源码太多,点击放到github上
遇到的问题
Mongodb与mysql数据库连接不同。SQL在定义查询语句时可以连接不同的表。Mongodb需要在开始时定义用于连接的表。module.exports={dbProduct:mongoose.model('runoob',mongoSchema,'产品'),dbRotation:mongoose.model('runoob',mongoSchema,'旋转'),dbUsers:mongoose.model('runoob',mongoSchema,'用户'),};
登录QQ邮箱,点击左上角设置,选择账户栏,向下滚动会出现POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务栏,选择IMAP/SMTP服务启用选项,如图所示。记得记录给你的授权码,填写pass//创建一个发送邮件的对象lettransporter=nodemailer.createTransport({service:'qq',secure:true,auth:{user:'XXX@qq.com',//QQ邮箱pass:'XXXXXXX',//授权码},})
this.$route.meta.title;
模板divclass='my-tabbar'my-tabbar:list='list'selectedColor='#f00'/my-tabbar/div/templatescript/*******************************//*应用程序中每个页面重用标签栏*//***************************/importpathsfrom'@/router/router'//从router获取信息exportdefault{name:'app-tab-bar',Computed:{list(){returnpaths.filter(route=route.meta?inTabbar).map(item=({//循环获取信息pagePath:item.path,text:item.meta.title,icon:item.meta.icon,}))},},}/scriptstylelang='少'/风格
:class='['tab-bar-item',isActive'router-link-active',isExactActive'router-link-exact-active']'
只有isActive和isExactActive为true时,才会有属性router-link-active、router-link-exact-active,这是渲染风格。
//全局前端路由守卫,实现页面拦截router.beforeEach((to,from,next)={if(to.meta?permission){//只能访问的路由中有meta=登录后{permission:true}if(store.state.shoppingCart.token){next()}else{next('/login')}}else{next()}})
从该路由到下一步要到达的路由
启用命名空间namespaced:true,//命名空间
配置文件中也有相应的配置exportdefaultnewVuex.Store({strict:process.env.NODE_ENV!=='product',//开启严格模式,保证mutation中数据发生改变module:{shoppingCart,//shoppingCart是该模块的命名空间},plugins:[createPersistedState({storage:sessionStorage,//默认将数据保存到localStoragepaths:['shoppingCart.token','shoppingCart.name',],})],})
调用store时,添加名称import{mapActions,mapGetters}from'vuex'//引入映射导出default{name:'cart',Computed:{carts(){returnthis.$store.state.shoppingCart.carts},mapGetters('shoppingCart',['allChecked','allMoney']),//在前面添加模块名称shoppingCart},methods:{.mapActions('shoppingCart',['removeCart','changNumCart','changCheckedSingle','changCheckedAll']),//在前面添加模块名shoppingCartonSubmit(){console.log('提交订单');},onClickEditAddress(){console.log('修改地址');},},}
创建(){this.$router.push({name:'sub',params:{name:this.navList[0],},})},
即,类目页面加载完成后,向子路由器发送网络请求,获取第一类目产品中的数据。
项目结构
BE(后端backend)bin后端启动目录wwwemailmail.js(发送验证码)modelindex.js(配置连接数据库)public(部分默认样式)routesindex.js(公开获取商品数据和轮播)private.jsuser.jsviewsapp.jsconfig.jspackage-lock.jsonpackage.jsondistpublicfavicon.icoindex.htmlsrcapiconstants.jsrotation.jssearch.jsuser.jsassets组件app-nav-barindex.vueapp-tab-barindex.vuetab-barindex.vuesearch.vuesearch-box.vuetab-bar.vuerouterindex.jsrouter.jsstoremoduleshopping-cart.jsindex.jsutilsrequest.jsvant-import.jsviewscartindex.vuecategoryindex.vuesub-category.vuedetailindex.vuehomeindex.vueloginindex.vueminechangAvatar.vueindex.vuenot-foundindex.vuesearchResultsearchResult。vueapp.vuemain.jsbabel.config.jsjsconfig.jsonpackage-lock.jsonpackage.jsonvue.config.js移动端适配
metaname='viewport'content='width=device-width,initial-scale=1,maximum-scale=1,最小规模=1,用户可扩展=否'
npminstallpostcss@8.2.6--save
npminstallpostcss-import@14.0.0--save
npm安装postcss-loader@5.0.0--save
npminstallpostcss-pxtorem@5.1.1--save
npminstallpostcss-url@10.1.1--save
module.exports={plugins:{'postcss-pxtorem':{rootValue:32,//根目录的字体大小设置为32pxpropList:['*'],//proplist:就是需要的那些属性转换为rem,allminPixelValue:2//最小转换单位.2px}}};
script(function(){functionautoRootFontSize(){document.documentElement.style.fontSize=Math.min(screen.width,document.documentElement.getBoundingClientRect().width)/470*32+'px';//取screen.width和document.documentElement.getBoundingClientRect().width的最小值;//除以470再乘以32;表示相对于470的大小为32px;}window.addEventListener('resize',autoRootFontSize);autoRootFontSize();})();/脚本
注:设计师制作的效果图通常为750px。为了方便直接读取UI中标注的像素大小,根目录的字体大小设置为32px;
打包
File=New=项目选择模板会将打包的dist中的文件放入项目中
可以先连接手机,打开手机开发者模式,打开USB调试HBuilderX运行=运行到手机或模拟器=运行到AndroidApp库,手机上会安装调试工具。安装后点击运行在手机上看效果
配置manifest.json配置应用识别
配置应用程序图标
点击发布=原生App-云打包
如果您还没有账户,您需要先注册一个账户
封装配置
如果包裹需要实名认证,可以取消通讯录
打包成功
点击地址即可下载
大家好,今天小编关注到一个比较有意思的话题,就是关于培训机构学习linux的问题,于是小编就整理了3个相关介绍培训机构学习linux的解答,让我们一起看看吧。l…
大家好,今天小编关注到一个比较有意思的话题,就是关于云计算培训linux机构的问题,于是小编就整理了3个相关介绍云计算培训linux机构的解答,让我们一起看看吧…
大家好,今天小编关注到一个比较有意思的话题,就是关于以色列印度培训机构的问题,于是小编就整理了4个相关介绍以色列印度培训机构的解答,让我们一起看看吧。亚训有哪些…
第十章STM32+ESP8266连接机智云,实现小型物联网智能家居项目前言最近有很多朋友私信,要求我推出一个关于远程控制以及通过APP获取传感器信息的实验教程。…
type="module"你知道,但是type="importmap"你知道有新系列:Vue2和Vue3技能手册如果你有梦想,有实用信息,就微信搜索【大世界运动…
2024-10-23 15:00:05
2024-10-23 10:48:05
2024-10-23 08:48:12
2024-10-23 06:36:10
2024-10-23 04:48:07
大家好,今天小编关注到一个比较有意思的话题,就是关于电脑培训有时间要求吗的问题,…
大家好,今天小编关注到一个比较有意思的话题,就是关于新手学电脑选啥电脑好的问题,…