前言

首先说说为什么自己会想着写一个小程序emmmmmm 感觉没有为什么 就是想写了 我就干了hhhhh~~~

我就粗略看了一下小程序的官方文档和mpvue的文档 然后就开撸了。

项目仓库 欢迎start和pr哦~~

为了节省大家的宝贵时间,不废话 直接进入正题;

技术栈

mpvue

mpvue 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js......(可以看官网介绍~).

iview weapp

iview weapp 一套高质量的 微信小程序 UI 组件库.

界面展示

大概的界面就是这样(界面是模仿得饿了么 我也只会模仿点页面了hhhhh)

完成进度

  • [x] 小程序的基本界面展示
  • [x] 简单的购买流程
  • [x] 使用全局状态保存部分数据
  • [x] 使用Fly请求数据
  • [x] 使用Easy-mock模拟数据
  • [x] ......
  • [ ] 没有数据库保存真实数据
  • [ ] 没有根据多个数据渲染店和商品
  • [ ] 没有做添加地址的数据校验等
  • [ ] 订单页面还需要优化 折叠显示等
  • [ ] 商家端还未开发
  • [ ] ......

其实还有很多功能没写,因为这是刚开始上班没事做的时候撸的(所以兴趣才是最好的老师),然后现在事情比较忙就可能先放下了 如果有大佬或者有时间的大佬可以帮忙完善或者pr emmm 你直接拿走再写也是可以的~

技术实现

技术实现过程和一些踩过的坑

界面

界面主要使用 iview weapp 组件库 然后 有一些组件库没有的自己原生写法来撸,这里还好没啥坑 但是在布局上面似乎有一个1px的问题 我好像没处理 不知道哪位大佬能发现 并且教我怎么解决~~ 单位主要使用小程序的rpx(很好用) 只需要根据iPhone6的尺寸来使用就可以了,详情可以看官方文档.

iview weapp input 似乎不能使用双向数据绑定,需要自己重新撸.

底部的tabBar我是用的json来配置的 省得自己写 方便

tabBar: {color: '#6f6f6f',selectedColor: '#18a3ff',backgroundColor: '#ffffff',borderStyle: 'black',list: [{pagePath: 'pages/index/main',iconPath: 'static/img/wm.png',selectedIconPath: 'static/img/wms.png',text: '外卖'},{pagePath: 'pages/order/main',iconPath: 'static/img/dd.png',selectedIconPath: 'static/img/dds.png',text: '订单'},{pagePath: 'pages/shopp/main',iconPath: 'static/img/tj1.png',selectedIconPath: 'static/img/tj1s.png',text: '推荐'},{pagePath: 'pages/user/main',iconPath: 'static/img/user.png',selectedIconPath: 'static/img/users.png',text: '我的'}]}
复制代码

这块的话可能需要大家查看小程序的文档来配置,其实也简单 跟玩一样就配置的非常好看

可能最麻烦的也是很简单的一个坑 如何引入 其实iview weapp 官方文档写的很清楚了 但是只是大家不知道这么配置而已 我来扣个代码演示一下.

到 GitHub 下载 iView Weapp 的代码,将 dist 目录拷贝到自己的项目中。然后按照如下的方式使用组件,以 Button 为例,其它组件在对应的文档页查看:

1. 添加需要的组件 在页面的 json 中配置(路径根据自己项目位置配置)
// 添加 config json
export default {config: {// 这儿添加要用的小程序组件usingComponents: {'i-button': '../../dist/button/index'}}
}复制代码
2. 在 wxml 中使用组件
<i-button type="primary" bind:click="handleClick">这是一个按钮</i-button>
复制代码

是不是很简单!!! 没看明白的也可以看我的github仓库哦~

界面这块大概就是这么多 也可能我写掉了 后续想起来我会更一下的hhhh(懒)

mpvue

mpvue 新建页面需要重新 npm run dev 这个官方文档已经明确说明过了,由于一个页面只用重启一次 问题不大。

小程序的请求似乎不能用axios 所以使用了Fly 来代替,至于为什么 可以看github里面的issues

mpvue 支持小程序和vuejs的事件 详情可以查看文档

然后可能最坑的就是页面转跳了吧... 其实官方文档有写 目前页面路径最多只能十层。 比如说我再添加地址的时候 使用了wx.navigateTo(OBJECT) 然后返回到地址的列表页面然后继续重复添加地址 到达一定的数量之后 就不会再跳转,而且返回的也是之前重复的页面 用户体验很不好 所以需要一个解决的办法。文字太多可能看不懂 我来画个图。

关于登录一块的话 我没有做什么处理 直接用新的用户信息接口就可以了

小程序与小游戏获取用户信息接口调整

<open-data type="groupName" open-gid="xxxxxx"></open-data>
<open-data type="userAvatarUrl"></open-data>
<open-data type="userGender" lang="zh_CN"></open-data>
复制代码

让后放到你想显示的地方,或者用button调用也可以,上面的文档都有提到过

总结

这样一总结下来感觉自己似乎没写多少功能Orz!!!

但是这篇文章可能是我写的文字最多的一篇了 如果大家觉得还不错的话可以点个喜欢哦~~ 蟹蟹o(∩_∩)o 哈哈

所以回到标题,兴趣才是最好的老师,接下面准备玩一玩electron-vue.....

写得好累,介绍的不多 可能有遗漏 但是大部分的核心基本上都已经说了,如果大佬们想找我交流的 ,可以加我QQ github 邮箱 都ojbk的

Qq:952822399 告辞 溜~~~~

新开了个Qq群,大家也可以进来互相交流~ iD 718639024 ???

mpvue外卖小程序相关推荐

  1. mpvue实战开发美团外卖小程序

    mpvue-meituan mpvue-meituan 是一款使用mpvue开发的实战小程序项目,完全仿制美团官方外卖点餐小程序开发而成,项目的框架结构完全按照企业开发架构搭建而成.结合了原生小程序的 ...

  2. 美团外卖小程序的探索和实践(演讲内容整理)丨掘金开发者大会

    2017年1月9日,微信官方在2017微信公开课Pro上发布的小程序正式上线,开创了小程序开发的时代.我们的美团外卖的业务也逐步加入到小程序开发的队伍中.小程序有着无需安装.触手可及.用完即走.无须卸 ...

  3. 美团外卖小程序的探索与实践丨掘金开发者大会

    掘金开发者大会圆满结束,其中美团外卖上海研发中心的资深技术专家王善成对美团外卖这个庞大的产品如何在小程序的实现做了演讲,本文将带领大家回顾一下演讲中所提到的技术重点. 一.技术架构 业务场景: 采用较 ...

  4. 使用mpvue开发小程序教程(二)

    在上一篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来.在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构. 在 ...

  5. mpvue 微信小程序_使用Vue.js开发微信小程序:开源框架mpvue解析

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 成全 责编 | 阿秃 转自 | 美团技术团队企业博客 前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开 ...

  6. mpvue微信小程序http请求-fly.js

    mpvue微信小程序http请求-fly.js fly.js是什么? 一个支持所有JavaScript运行环境的基于Promise的.支持请求转发.强大的http请求库.可以让您在多个端上尽可能大限度 ...

  7. 钱币掉落动画android,mpvue实现小程序签到金币掉落动画(api实现)

    这里使用小程序自带的api来实现,用小程序来写动画的恶心点在于,没有帧,只能用setimeout 来作为帧来使用, 下面是实现代码, 下面是简单用div代替了图片,需要什么图片,可以自行替换相应的di ...

  8. mpvue微信小程序动画_mpvue小程序以及微信直播踩坑总结

    前段时间刚写完一个mpvue的小程序,现在得闲必须赶紧记录和总结一下,不然很多东西又要忘了 我是比较熟悉vue的语法,但是也犹豫过是用原生还是用mpvue,因为那时候原生小程序已经相当成熟而mpvue ...

  9. 志汇叮咚超级外卖小程序源码6.4.3

    简介: 志汇叮咚超级外卖6.4.3超级餐饮单店版系统源码,含超级跑腿2.0.3,源码前端,官方加密.渠道版,官方更新:优化单店代码. 汇超级外卖餐饮小程序是一款智慧餐饮小程序模块,单店外卖小程序版和多 ...

最新文章

  1. Oracle語句大全
  2. 手机中的图片怎么压缩大小?
  3. SAP MM 盘点流程中上不了台面却很实用的方案建议
  4. 《Docker——容器与容器云》:第一章 从容器到容器云
  5. Python处理小学体育中的跑步计时数据并统计得分
  6. 一个风格诡异的ABAP学习网站
  7. boost.asio学习
  8. jquery实现页面提示,数据正在加载中。(
  9. 限制使用su命令的用户与使用sudo机制提升权限
  10. Android 雪花飘落动画效果 自定义View
  11. 你真的了解JavaScript的Promise吗?
  12. Koding VM 配置nginx 小记
  13. docker如何进入后台容器
  14. 搜狗微信的链接并转换成永久链
  15. 全球及中国电子级硅烷(SiH4)行业动态分析及发展前景预测报告2021~2026年
  16. W ndows xp 开机音乐,当年番茄花园Ghost XP的开关机音乐还记得吗?流传度媲美原版...
  17. 根据地址获取HTTP返回的状态码
  18. php上传图片到mysql并显示
  19. 立创开源 BGA162芯片开发
  20. matplotlib8 -- 文字注释进一步详解 bbox参数, 箭头形状等

热门文章

  1. python掌握程度怎么判断-Python学到什么程度可以面试工作?
  2. python xpath语法-XPath 语法
  3. python调用shell命令-python调用shell命令小结
  4. python爬虫项目-23个Python爬虫开源项目代码
  5. python处理excel文件-使用Python进行Excel文件处理
  6. 网络编程学习笔记(freeaddrinfo函数)
  7. Button的使用(十三):设置可见性
  8. HDU4549 M斐波那契数列(矩阵快速幂+费马小定理)
  9. rest-framework:认证组件
  10. Python 之 random模块