使用mpvue仿美团小程序,详细学习指南

本文介绍了在微信小程序中如何处理地图列表渲染、数据导入与存储、参数传递、用户登录及信息获取,强调了基础知识在前端开发中的重要性,并分享了一份全面的学习资料,覆盖了不同经验和层次的开发者需求。
摘要由CSDN通过智能技术生成
  1. 点击跳转地图——跳转时加上参数(当前城市)

goCity() {

wx.navigateTo({

url: “…/city/main?city=” + this.city

});

},

列表渲染


  1. 将列表数据、图片资源全部上传到云存储数据库

注意点:

1、JSON 数据不是数组,而是类似 JSON Lines,即各个记录对象之间使用 \n 分隔,而非逗号;

2、JSON 数据每个键值对的键名首尾不能是 .,例如 “.a”、“abc.”,且不能包含多个连续的 .,例如 “a…b”;

3、键名不能重复,且不能有歧义,例如 {“a”: 1, “a”: 2} 或 {“a”: {“b”: 1}, “a.b”: 2};

4、时间格式须为 ISODate 格式,例如 “date”: { “$date” : “2018-08-31T17:30:00.882Z” };

5、当使用 Insert 冲突处理模式时,同一文件不能存在重复的 _id 字段,或与数据库已有记录相同的 _id 字段;

6、CSV 格式的数据默认以第一行作为导入后的所有键名,余下的每一行则是与首行键名一一对应的键值记录。

处理方式: 导入新的json文件

const fs =require(“fs”);

let res = fs.readFileSync(‘./mydata.json’).toString();

let reg = /}\s*,\s*{/g;

let result = res.replace(reg,“}{”);

fs.writeFileSync(“./wxList.json”,result);

  1. 获取云存储的数据

const db = wx.cloud.database()

db.collection(“库名”).get().then(res => {

console.log(res)

});

  1. 点击跳转到详情页

跳转时将自己当前的id传递过去

goDetail(val) {

wx.navigateTo({

url: “…/detail/main?id=” + val._id

});

}

  1. 上拉更新

onReachBottom(){

}

列表详情


  1. 页面渲染
  • 接收到首页跳转时传递的数据

onLoad(option){

console.log(option)

},

  • 通过数据获取到当前完整数据

db.collection(“collectList”).doc(option.id).get({

success:res=>{

this.obj = res.data;

this.collectImg = true;

},

fail:res=>{

db.collection(“newList”).doc(option.id).get().then(result=>{

result.data.image_path = “自己云存储上边的统一标识符” + result.data.image_path

this.obj = result.data;

this.collectImg = false;

})

}

})

  1. 点击收藏
  • 点击收藏按钮样式发生改变

if(this.collectImg){

console.log(“已收藏”)

} else {

console.log(“未收藏”)

}

db.collection(‘collectList’).add({

data:{

…this.obj

}

}).then(res=>{

console.log(res)

})

db.collection(‘collectList’).doc(this.obj._id).remove().then(res=>{

console.log(res);

this.collectImg = false;

})

  • 下次打开时检测是否已收藏

onLoad(option){

db.collection(“collectList”).doc(option.id).get({

success:res=>{

this.obj = res.data;

this.collectImg = true;

},

fail:res=>{

db.collection(“newList”).doc(option.id).get().then(result=>{

result.data.image_path = “自己云存储的统一标识” + result.data.image_path

this.obj = result.data;

this.collectImg = false;

})

}

})

},

地图

============================================================

地图列表渲染


  1. 引入数据

  2. 循环赋值页面

点击导航字母跳转到对应城市位置


  1. 须通过scroll-view实现

  2. scroll-into-view:值应为某子元素id(id不能以数字开头)

点击城市切换定位


类似于组件传参的eventBus,需要在传递参数的页面和接收参数的页面都写上

  1. 通过全局变量传递参数

let app = getApp();

app.globalData.自定义属性 = “传递的参数”

  1. 通过全局变量接收参数

onShow() {

if (typeof app.globalData.自定义属性(需要和你传递页面的这个属性名一致) != “undefined”) {

this.city = app.globalData.c;

}

},

为什么使用onShow而不是onLoad:

onLoad只会在页面第一次创建时触发 而这里是从跳转出去的页面返回一级到这个页面 onLoad是不会被触发的 所以使用onShow,每次进入到当前页面都会被触发

点击城市后跳转回首页


wx.navigateBack({

delta: 1

})

这里的delta为你要想上返回几层,返回几层就写几

个人中心

==============================================================

判断用户是否登录


  1. 获取openid

getOpenId() {

return new Promise((resolve, reject) => {

wx.login({

success: result => {

let code = result.code;

wx.request({

url: https://api.weixin.qq.com/sns/jscode2session?appid=wxb49315418db7e879&secret=d40f63610573267e4293be7c09aaf18e&js_code=${code}&grant_type=authorization_code,

success: res => {

let openid = res.data.openid;

resolve(openid);

},

fail(err) {

reject(err);

}

});

}

});

});

}

  1. 获取用户信息

getUserInfo() {

return new Promise((resolve, reject) => {

wx.getUserInfo({

success: res => {

let userInfo = res.userInfo;

resolve(userInfo);

},

fail(err) {

reject(err);

}

});

});

},
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽

.(img-KaR6k64s-1712295795898)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-7FZCQWgK-1712295795898)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽

资料领取方式:戳这里免费领取

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1,实现的需求 1)首页:标题栏获取用户当前位置,使用腾讯api实现定位,不用弹窗出现用户授权, 进入首页,获取附近商铺的列表 轮播图: 导航栏: (1)向后台发送请求来获取展示的商铺列表,综合排序,筛选实现根据用户 条件请求数据 (2)导航栏出现偏移 商铺列表: (1)带参跳转店铺 网络中断情况: 新页面提示没网,可点击刷新 2)店铺:根据店铺id获取店铺相关信息 头部:动态显示店铺的相关优惠 导航:分别切换菜单,评价,商家 菜单: 商品列表展示:左右联动,动态出现添加数量以及按钮 商品详情展示:弹窗卡片,展示详情,可动态出现添加数量以及按钮 购物车:展示添加进购物车的商品信息,清空结算,计算合价,差多少配送, 结算:(未实现),跳转支付,传后台购物车数据,用户信息,当前时间等订单 需求信息 评价:根据店铺id获取店铺的所有评价list展示 商家:展示商家优惠信息,需求(呼叫商家,查看食品安全档案) 3)订单 全部订单:根据用户信息获取相关全部订单,实现详情,再来一点(需要根据店铺 id) 待评价:需求:实现评价功能(提交:店铺id,评价信息) 退款:评价,详情 4)个人 用户信息展示: 登录: 未登录:(登录,注册实现) 用户地址: 管理地址:添加新地址,编辑地址(地址id,用户id) 客服中心:接入客服(公众号后台可设置客服人员) 退出账号:清空本地用户信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值