GithubHelp home page GithubHelp logo

jd-cp / flutter_eyepetizer Goto Github PK

View Code? Open in Web Editor NEW
139.0 5.0 39.0 9.1 MB

基于 Google Flutter 开发的一款仿开眼视频 App。

Kotlin 0.11% Swift 0.13% Objective-C 0.01% Dart 98.65% Ruby 1.09%
flutter dart flutter-demo android eyepetizer

flutter_eyepetizer's Introduction

flutter_eyepetizer

  • 这是一款基于 Google Flutter 实现的一款仿开眼视频 App。

背景

从 Google 在 2018.02 的世界移动大会上正式推出首个 Flutter Beta 版,到 2018.12 的 Flutter Live 2018 上,发布 1.0 稳定版,再到现在,也差不多有 18 个月的时间了。Flutter 在 Github 上的 star、fork 量也是一路飙升,可以说,出自 Google 的 Flutter,除了自带光环,再加上它本身的众多优势,受到了众多开发者的追捧,热度只增不减。

作为一名不干寂寞的小开发,我也在去年 7 月份,果断入坑,开始 Flutter 的学习。也是略有斩获,并输出了一篇关于原生与 flutter 混合开发的文章:Kotlin + MVP + Flutter ,让你可以在自己的项目中集成 Flutter 并使用。反响也还不错,当然也有很多考虑不足的地方。

之后的很长一段时间,我也因为工作上的变动以及一些个人原因,搁置了 flutter 的学习计划。这段时间,工作生活状态逐渐稳定之后,也继续开始了我的 flutter 学习之路。所以有了今天的主角 仿开眼视频-flutter实现版。其实整个 App,现阶段并没有多么复杂的东西,基本用的都是 flutter 自带的 Widget,设计风格遵循 MD 规范,所以非常适合初学者学习。

扫码下载

  • 手机扫描下方二维码,即可下载。安装密码:123456。

目前实现的功能

  • 首页每日精选
  • 发现页 - 推荐关注、热门分类
  • 热门 - 周排行、月排行、总排行
  • 我的(目前是静态页,后期完善)
  • 搜索页
  • 热门关注列表
  • 热门分类列表
  • 视频详情

说明

项目纯属个人爱好而写,API 均来自开眼视频,源代码仅供学习交流。

项目截图

  • gif

image

运行方式

  • 查看分支
flutter channel
/// 如果当前分支不是 beta,请切换至 beta 分支
flutter channel beta
  • 切换分支过程中,会自动帮你更新至最新版。如果分支是在 beta 分支,请运行以下命令,检查是否需要安装其他依赖
flutter doctor
  • 运行启动
flutter packages get
/// 确保设备已连接
flutter run

你能学到的东西?

  • 大部分基础控件的使用,诸如:Text、Image、Icon、Scaffold、ListView、GridView、CustomScrollView、Container、Padding、Expanded、Column、Row等等...
  • 下拉刷新、上拉加载。
  • 布局排版,以上控件会使用之后,进行布局排版就很简单了,原则:先上后下,先左后右。
  • 三方库的引入、图片的引入。
  • 用户交互事件的响应。
  • 页面的跳转,普通跳转、携参跳转。
  • json 解析。推荐一个插件:FlutterJsonBeanFactory,使用方式自行百度吧,非常简单~
  • http 请求的使用。针对 dio,做了一点简单封装,代码如下:
  /// 执行 get 请求
  static doGet(
    String url, {
    queryParameters,
    options,
    Function success,
    Function fail,
  }) async {
    print('http request url: $url');
    try {
      Response response = await buildDio().get(
        url,
        queryParameters: queryParameters,
        options: _options,
      );
      success(response);
      print('http response: $response');
    } catch (exception) {
      fail(exception);
      print('http request fail: $url --- $exception');
    }
  }

用到的三方库

版本更新

  • 1.0.4 - 2019.09.27
1. 部分页面视频播放无效问题解决。
2. 作者详情页UI展示优化,增加作者信息展示。
  • 1.0.3 - 2019.09.14
1. 系统搜索栏样式更改。
2. 部分页面 UI 呈现效果优化。
3. 部分 bug 修复。
  • 1.0.2 - 2019.09.06
1. 代码优化,Provider 应用及简单封装。
2. 下拉刷新、上拉加载风格改变。
3. 加载中视图状态优化。
  • 1.0.1 - 2019.08.30
作者信息详情页完善
  • 1.0.0 - 2019.08.23
基础功能完成

后续计划

会有新功能的添加,更多的是针对现在项目的缺点,所进行的优化。

  • 优化UI体验效果,增加错误页面展示。
  • Provider 封装优化。
  • 屏幕适配,非常有必要!。
  • 和 native 混合开发提上日程。

最后

如果您和我一样,喜欢技术,喜欢 Flutter,可以关注此项目,赏个star。我闲暇时间,也尽可能快的更新。

flutter_eyepetizer's People

Contributors

jd-cp avatar jindongliu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

flutter_eyepetizer's Issues

大佬,请求帮个忙!!!!!

在首页的列表的信息,我所有的都是仿照你写的,就是加载不出来数据,我的实体类是直接copy你的,也没有报错,debug也跟不出来,我用的是ios模拟器,而且我加上的了网络请求,Android也没有数据的,能否远程一下看下代码,看缺少什么,就那一点点代码,真的头大,我找了很多人,花了一百多都没解决。你出个价行吧,QQ :1147235807

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.