问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

开发类似美团外卖的APP需要哪些功能

发布网友 发布时间:2022-04-23 15:18

我来回答

2个回答

懂视网 时间:2022-05-14 21:38

本篇文章分享给大家的内容是关于vue2仿美团外卖的项目开发过程,内容很详细,接下来我们就来看看具体的内容,希望可以帮助到大家。

前言

很多初学者尤其是像我这样的公司有且只有一个前端的时候,硬着头皮去学习一门新框架,周围无人帮忙,平日里遇到问题只能求助于思否,百度,google。点击我的个人头像去看我的提问你们就知道vue小白去学习vue真的很心累。网上搜索的时候搜索出来的都是一些简单的demo.教学网站上的项目也是一些简单的单页面或者稍微多几个页面。对我这种新手入门可以,但是拿到手做生产开发还是远远不够。于是我尝试写一个练手型项目,具体页面有多少我也没啥数,用到的技术有啥我也没啥数,总之想到哪里开发到哪里,中间会回来查漏补缺。里面代码我尽量每句都会有注释,希望大佬们看到以后不吝赐教。指出错误。

为什么选择VUE

1学习曲线平滑,没有NG以及react的学习起来难度那么大。
2setget的双向数据绑定方法我觉得很巧妙
3我是尤雨溪脑残粉

为什么选美团外卖

美团外卖项目估计差不多能够设计到大部分VUE技术点,(不包括服务端渲染)作为练习够用了。当然真正的外卖开发需要的东西远不止这些,我的目标仅仅是完成一个粗糙的框架。用作练习。
平日里我点外卖一直用美团。用多了可能也比较了解美团外卖吧。emmmm 我就是喜欢美团外卖==

技术栈

其实我也不知道我会用到哪些东西,是基于vuecli做的扩展 后面再增加的话会回来修改
vue2 + vuex + vue-router +axios+ webpack + ES6+flex+stylus+ vw + svg

参考代码

页面代码风格以及实现方式参考的是这里 vue-admin(入门vue我是对着这个学的)

为什么使用VW布局以及2X3X图

人都是往前走的,不去尝试新的东西怎么进步呢。我觉得VW挺好用的于是我就用了,个人练手不会考虑适配呀兼容性的问题,喜欢就去用啦。
VW如何在vue中使用,以及1px等比例等解决方案可以点这里
2X3X图 我选择直接3X图==偷懒了。抱歉

关于设计稿

==我手机截图然后发电脑上设计的emmmm 就是这么粗糙

目录结构

├── build   // 构建相关
├── config   // 配置相关
├── src   // 源代码
│ ├── api   // 所有请求
│ ├── assets   // 静态资源
│ ├── components  // 全局公用组件
│ ├── router   // 路由
│ ├── store   // 全局 store管理
│ ├── utils   // 全局公用方法
│ ├── pages   // 页面
│ ├── App.vue  // 入口页面  
│ └── main.js  // 入口文件 
├── static   // 未用到 
├── .babelrc   // babel-loader 配置
├── .eslintrc.js  // eslint 配置项
├── .gitignore   // git 忽略项
├── index.html   // html模板
├── .postcssrc   // postcss配置地址
└── package.json  // package.json

今天第一天我只把项目的脚手架搭了一半。路由还没有写。考虑到第一个页面就需要使用store。所以我先写了store
涉及到两个文件夹

├── api     
│ └── login.js
├── utils
│ └── request.js 
├── store
├── ├── modules 
│ │ └── user.js 
├── ├── getters.js
│ └── index.js

主要代码

import { loginByUsername, logout, loginByMobile } from '@/api/login'
import Cookies from 'js-cookie'

const emptyuser = {
 userId: '', // 用户ID
 name: '', // 用户名
 avatar: '', // 用户头像
 hasaccount: '', // 是否有账号密码,可能有手机号验证码直接登录未设置账号密码
 mobile: '', // 手机号
 wx: ''// 是否绑定微信号
}
const user = {
 userinfo: Cookies.get('userinfo') || {
 userId: '', // 用户ID
 name: '', // 用户名
 avatar: '', // 用户头像
 hasaccount: '', // 是否有账号密码,可能有手机号验证码直接登录未设置账号密码
 mobile: '', // 手机号
 wx: ''// 是否绑定微信号
 },
 mutations: {
 SET_USERINFO: (state, code) => {
 state.userinfo = {...code}
 // 修改对象或者数组的时候养成用展开运算符的习惯
 }
 },
 actions: {
 // 用户名登录
 LoginByUsername ({ commit }, userInfo) {
 return new Promise((resolve, reject) => {
 loginByUsername(userInfo.username, userInfo.password).then(response => {
  const data = response.data
  commit('SET_USERINFO', data.userinfo)
  resolve()
 }).catch(error => {
  reject(error)
 })
 })
 },
 LoginByMobile ({ commit }, userInfo) {
 return new Promise((resolve, reject) => {
 loginByMobile(userInfo.mobile, userInfo.code).then(response => {
  const data = response.data
  commit('SET_USERINFO', data.token)
  resolve()
 }).catch(error => {
  reject(error)
 })
 })
 },
 // 登出
 LogOut ({ commit, state }) {
 return new Promise((resolve, reject) => {
 logout(state.userId).then(() => {
  commit('SET_USERINFO', emptyuser)
  resolve()
 }).catch(error => {
  reject(error)
 })
 })
 }
 }
}

export default user

vue的store相比较redux简单很多。
分四部分。
state:单一状态机,所有需要在每个页面共享的数据都存放在这里,不如上面代码里的用户信息
getters:拿取状态机中对应的状态。(查)
mutations:制定修改数据的规则。
Action:进行修改数据,与mutations匹配,异步操作放在这里。

相关推荐:

如何实现Vue和axios的接口管理统一

Vue中子组件怎么获取父组件的值?(props实现)

热心网友 时间:2022-05-14 18:46

APP一般情况下都是根据你所需要的功能去定制开发的,浙江天尔软件技术有限公司在十几年的开发经验中总结出了开发一款APP应注意的事项,你可以参考下:
开发一个完整app需要掌握哪些知识
1、前期需求规划与信息——你需要制定出一个完整的需求文档,功能文档,流程图,时序图。
2、交互设计、UI设计——设计出基本且完善的原型图和app基础的交互设计效果,之后再根据这些设计出完整的UI界面并学会切图,一些需要做自适应的素材图片需要做点9patch。 这里还需要你懂得px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便你的app能完美适应不同分辨率设备。其中交互设计需要你懂得很多人机操作的技巧经验,掌握Axure等交互工具的使用,UI设计需要你掌握Photoshop和Illustrator等操作。
3、使用ADT之类的开发环境进行app软件开发,你最基本的也得掌握java语言,熟悉android环境和机制。
4、如果不是单机版的app,需要用到服务器,那你还得掌握WebService相关知识和开发语
言,常用的有ASP.Net,PHP,JSP等。
5、熟悉并能开发数据库。
6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。
7、熟悉API接口开发,这里包括你自行开发API的能力以及调用第三方API的经验。
8、熟悉TCP/IP,socket等网络协议和相关知识。
9、熟练掌握App发布的流程,真机调试技巧,证书,打包,上架。 App开发其实不一定适合一个人搞,太费劲,除非是一个单机版的小应用,或者利用现成的app开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
厂口银杏园地址在哪里? 昆明银杏大道在什么地方 昆明哪些地方有银杏树 从二月河“帝王三部曲”看90年代的文学场(一) 二月河《落霞三部曲》读书札记 安装织梦CMS到新浪SAE,这数据库主机,用户都是什么?这个是安装在新浪SE... SAE上的mySql初始化了怎么用啊,java怎么连上去啊,地址,端口号,账号... 金鱼尾部出现血丝,怎么办? 金鱼尾鳍上有血丝,急躁不安是什么病 请问?家里养的金鱼,一夜过来,金鱼尾巴上面都有红色血丝是怎么回事... 犹抱琵琶半遮面,不是害羞就是暗恋 ? 美团外卖商家的员工怎么操作流程? 犹抱琵琶半遮面这个路适合男人吗 一个男生用“犹抱琵琶半遮面”形容一个女生是什么意思 男生发的琵琶行有谚语:犹抱琵琶半遮面,不是害羞就是暗恋是什么意思? 一个男生用“犹抱琵琶半遮面”形容一个女生是什么意思? 请教大家手机卡套餐怎么办理? 通话套餐如何办理 我想办理手机卡套餐怎么办理? 我每个月打电话比较多有什么套餐可推荐呢? 我想办理手机卡有什么套餐? 请问大家手机卡套餐怎么办理? 我想办理手机卡套餐目前有哪些套餐? 我想办理手机卡套餐有哪几种? 我想办理手机卡套餐有什么套餐? 我想办理手机卡有哪几种套餐? 我想办理手机卡套餐多少钱? 我想办理手机卡有哪些套餐? 我想办理手机套餐有什么套餐? 我想办理手机卡套餐有哪几种套餐? 美团外卖配送员如何操作?待遇怎么样? 美团外卖配送员是如何操作的,待遇是如何 如何写结婚请柬 奔图打印机好用吗?适合家用吗? 奔图的家用打印机怎么样?有哪款比较好用阿? 奔图打印机怎么连电脑? 初入红尘不知人间疾苦是哪首诗 初入红尘不知人间疾苦是哪首诗? 奔图打印机质量好吗?适合家用吗? 出入红尘不知人间疾苦蓦然回首已是苦中之人谁写的? 奔图打印机好用吗? 初入红尘不知人间疾苦谁写的 初入凡尘不识人间苦,蓦然回首已是苦中人!是啥意思? 奔图M6700D打印机wifi功能怎么用 初入红尘这首诗的解释是什么? 初入红尘不知人间疾苦,蓦然回首已是苦中之人。这杯中酒三分,这酒中悲七分。关关难过关关过,夜夜难熬夜_百度问一问 奔图打印机还可以用什么软件打印 初入红尘不知人间疾苦,蓦然回首已是苦中之人。这杯中酒三分,这酒中悲七分。关关难过关关过,夜夜难熬夜_百度问一问 出入凡尘不识人间苦,蓦然回首已是苦中人间苦!募然回首已是苦命人!下句咋说?_百度问一问 奔图打印机用自己的纸可以吗