vue-ts-daily

基于Vue.js的2.5.13版本和TypeScript编写的模仿原生应用的WebApp.
源码地址 欢迎star

项目演示地址

建议直接添加到主屏幕(ios端体验差一些).

前言

为什么做这个项目?

  1. 学习vue全家桶,很长一段时间在用React。
  2. 利用PWA技术来模仿原生应用,来探究PWA与原生的差异。
  3. 作者声称2.5之后vue增强了对TS的支持,探究TS在vue中的支持情况。

那么为什么模仿一款"习惯养成APP"而不是饿了么、美团、头条等著名APP?

原生APP与WebApp最大的区别就是离线能力,我们希望做一款以离线能力为主的app,这种类型的app绝大多数都是工具类的,例如番茄闹钟、效率工具等等,诸如美团、头条这种app离线场景价值有限(离线怎么点餐看新闻啊?缓存里的应该叫旧闻了)。

这个项目跟其他Vue仿饿了么和qq音乐的项目有何不同?

  1. 我们全程Typescript编写,组件完全Class化,写法更贴近Angular,ts是构建健壮应用的必备良药,众多团队在ts化自己的项目了,而github上我找不到任何一个ts+vue的完整app,此项目可以供你学习.
  2. 我们利用了pwa技术,pwa目前已经被ios支持(虽然支持得烂),所以,开花结果是迟早的事情,vue+pwa的项目也是十分有限,尤其是在vue-cli 3.0之后就没有相关的项目供参考了.

技术栈

vue2.5 + Typescript + vuex + vue-router

项目启动

git clone https://github.com/xiaomuzhu/vue-ts-daily
npm i && npm run dev

开发环境

MacOS 10.12.6 node10.0.0

目标功能

  • [x] 习惯新建 -- 完成
  • [x] 习惯编辑 -- 完成
  • [x] 习惯归档 -- 完成
  • [x] 习惯删除 -- 完成
  • [x] 习惯激活 -- 完成
  • [x] vuex持久化 -- 完成
  • [x] 当日习惯展示 -- 完成
  • [x] 对之前习惯的补签和取消 -- 完成
  • [x] 默认习惯选择列表 -- 完成
  • [x] 习惯图标与背景颜色的编辑 -- 完成
  • [x] 习惯的重复日期、激励语、重复时间段的编辑-- 完成
  • [x] 奖励卡领取 -- 完成
  • [x] 不同时间段不同习惯的tab筛选 -- 完成
  • [x] 习惯的总天数、当前连续天数、历史最高纪录等记录逻辑 -- 完成
  • [x] 登录 -- 完成
  • [x] 反馈 -- 完成
  • [x] 更新日志 -- 完成
  • [x] 远程同步信息 -- 完成
  • [ ] 开启https实现pwa
  • [ ] 加入后台推送功能
  • [ ] 加入主题更换
  • [ ] 丰富动画效果

项目截图

首页

习惯管理

习惯记录

新建习惯

编辑习惯

最后

本项目是还原了APP Store一个精选习惯管理app,叫"小日常"。

整体功能还原了90%以上,身为工具类的app还是以逻辑为主,有两个点比较难处理.

  1. 逻辑耦合严重,例如一个习惯成功打卡或者取消打卡后,相关的连续天数、总天数、当前天数、习惯当前的ui、日历ui、弹窗逻辑全部要响应.
  2. 时间处理,习惯养成工具最主要的还是要处理时间,例如日历组件,当天之后的补签是不能响应的,因此需要做一个时间上的判断,而补签之前的相关连续记录要做改变,这个时候需要计算这个补签是否改变了连续的记录,其中又得涉及时间的处理,整个逻辑就是处理跟时间的关系.

[在线+源码]vue全家桶+Typescript开发一款习惯养成APP相关推荐

  1. Vue 全家桶 + Electron 开发的一个跨三端的应用 1

    代码地址如下: http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...

  2. Vue全家桶快速开发指南

    Vue全家桶快速开发指南着手与项目 环境配置 安装npm 安装vuecli4.x 构建项目 图形化构建 命令行配置 代码目录 vue-router 定义组件 组件的作用 如何定义组件 在需要他显示的h ...

  3. 基于Vue全家桶制作的的高仿美团APP

    美团外卖APP ? 项目演示地址:http://39.108.232.27:9000 ? GitHub:github.com/bxm0927/vue- 基于 Vue 全家桶 (2.x) 制作的美团外卖 ...

  4. Vue 全家桶 + Electron 开发的一个跨三端的应用

    GitHub Repo:vue-objccn Follow: halfrost · GitHub 项目地址:https://github.com/halfrost/vue-objccn 利用 Vue. ...

  5. vue全家桶+Koa2开发笔记(5)--nuxt

    1. nuxt项目初始化报错 下面是使用 koa 模板方法初始化一个项目,使用该方法需要将 nuxt 的版本降至1.4.2: 官方 https://zh.nuxtjs.org/guide/instal ...

  6. vue全家桶+Koa2开发笔记(2)--koa2

    1. 安装koa脚手架的时候 执行命令 koa2 -e koa-learn 注意要使用-e的方式,才会生成ejs的模板 2. async await的使用方法:存在的意义:提高promise的可读性 ...

  7. vue全家桶+Koa2开发笔记(3)--mongodb

    1. 安装 momgodb brew install mongodb 安装成功后执行 which mongod 启动:mongod 2. 下载可视化操作数据库的软件 https://robomongo ...

  8. vue 美团框架_GitHub - bxm0927/vue-meituan: 基于Vue 全家桶 (2.x)制作的美团外卖APP

  9. 最新仿网易优选APP商城源码+Vue开发全家桶

    正文: 最新仿网易优选APP商城源码+Vue开发全家桶,源码采用Vue全家桶+mintUI+axios技术栈开发,只写了前端,后端采用网易商场抓包接口,也可以二次修改成自己的接口. 安装方法: 1.将 ...

最新文章

  1. Linux使用netstat命令查看并发连接数
  2. C++ 传指针还是引用?
  3. 润飞rf1800支持解密吗_《密逃2》新一期来袭:还是你期待的样子吗?
  4. 开放大学MySQL形考_95至尊考试网-国家开放大学《数据库基础与应用》形考任务1...
  5. MySQL 导出命令
  6. tftp下载文件为中文名【原创】
  7. win7分区软件_小编给你传授 win7系统给硬盘分区的修复方案 -win7系统使用教程...
  8. 嵌入式操作系统_一个C++版的嵌入式操作系统
  9. 【Python小程序】第3讲:如何将json数据转换成csv格式?
  10. 函数内联inline
  11. Hadoop大数据平台
  12. 【自然语言处理】【知识图谱】知识图谱表示学习(一):TransE、TransH、TransR、CTransR、TransD
  13. linux下常用的dns软件,Linux常见应用--DNS服务器常见应用实现
  14. django mysql 时区_Django 中关于时间、时区的用法
  15. js随机飘动的广告图片代码demo效果示例(整理)
  16. BZOJ3168. 【HEOI2013】钙铁锌硒维生素
  17. 【报告分享】轻食餐饮发展指南——从入门到可持续经营-美团(附下载)
  18. 魅族20pro参数配置 魅族20pro值得买吗
  19. linux开机内存报错,linux查看与修改交换内存配置(解决zabbix-agent启动报错)
  20. 微观平台_不再受到微观管理

热门文章

  1. 关于范数与正则化详解(转)
  2. WCF远程服务器返回了意外响应: (413) Request Entity Too Large问题处理
  3. 关于Tomcat 的一些配置和启动
  4. 桥牌笔记L4D17:小心阻塞
  5. easyui弹出层在最顶层显示跳出iframe框架通用javascript代码
  6. solr dih mysql 注意事项
  7. 最好用最方便的sqlite管理工具
  8. linux的centos7安装mysql5.7服务教程
  9. pip/pip3 install 报错 “Could not find a version that satisfies the requriement xxx” 的解决方法
  10. google python代码规范_Python代码这样写才规范优雅! (二)