打造一个完整的Flutter APP项目!

Flutter版WanAndroid App,旨在打造一款完整的Flutter应用项目。

包含启动页,引导页,主题色切换,应用国际化多语言,版本更新等功能,项目主框架采用响应式编程RxDart和BLoC,由于目前项目功能尚未完善,代码还有待优化,后续项目重构整理好后,会全部开源出来,敬请期待!欢迎下载体验。

有关项目最新动态,可以关注App内第一条Hot Item信息。

网络框架DioUtil,屏幕适配ScreenUtil

Flutter常用工具类库 flustars

v0.1.6(2018.12.20)
新增网络请求工具DioUtil, 单例模式,可输出请求日志。

 

// 打开debug模式.
DioUtil.openDebug(); 

// 配置网络参数.
Options options = DioUtil.getDefOptions();
options.baseUrl = "http://www.wanandroid.com/";
HttpConfig config = new HttpConfig(options: options);
DioUtil().setConfig(config);

// 两种单例请求方式.
DioUtil().request<List>(Method.get, "banner/json");
DioUtil.getInstance().request(Method.get, "banner/json");

//示例
LoginReq req = new LoginReq('username', 'password');
DioUtil().request(Method.post, "user/login",data: req.toJson());

//示例
FormData formData = new FormData.from({
      "username": "username",
      "password": "password",
    });
DioUtil().requestR(Method.post, "user/login",data: rformData);

//解析示例 
class WanRepository {
  Future<List<BannerModel>> getBanner() async {
    BaseResp<List> baseResp = await DioUtil().request<List>(
        Method.get, WanAndroidApi.getPath(path: WanAndroidApi.BANNER));
    List<BannerModel> bannerList;
    if (baseResp.code != Constant.STATUS_SUCCESS) {
      return new Future.error(baseResp.msg);
    }
    if (baseResp.data != null) {
      bannerList = baseResp.data.map((value) {
        return BannerModel.fromJson(value);
      }).toList();
    }
    return bannerList;
  }
}

// 网络请求日志  
I/flutter ( 5922): ----------------Http Log----------------
I/flutter ( 5922): [statusCode]:   200
I/flutter ( 5922): [request   ]:   method: GET  baseUrl: http://www.wanandroid.com/  path: lg/collect/list/0/json
I/flutter ( 5922): [reqdata   ]:   null
I/flutter ( 5922): [response  ]:   {data: {curPage: 1, datas: [], offset: 0, over: true, pageCount: 0, size: 20, total: 0}, errorCode: 0, errorMsg: }

v0.1.5(2018.12.14)
ScreenUtil 新增屏幕适配,不依赖context

 

//如果设计稿尺寸与默认配置一致,无需该设置。  配置设计稿尺寸 默认 360.0 / 640.0 / 3.0
setDesignWHD(_designW,_designH,_designD);

//返回根据屏幕宽适配后尺寸(单位 dp or pt)
ScreenUtil.getInstance().getWidth(100.0);  
ScreenUtil().getWidth(100.0); 

//返回根据屏幕高适配后尺寸(单位 dp or pt)
ScreenUtil.getInstance().getHeight(100.0); 
ScreenUtil().getHeight(100.0);  

//返回根据屏幕宽适配后字体尺寸
ScreenUtil.getInstance().getSp(12.0); 
ScreenUtil().getSp(100.0);   

已开源

① 网络框架
② 闪屏广告页
③ 启动页
④ 引导页
⑤ 主题色切换
⑥ 国际化

更新说明

v0.1.2 (2018.12.20)

① 网络框架DioUtil
② 合并flutter_demos

v0.1.1 (2018.11.19)

① 新增启动页
② 新增引导页
③ 修复banner无法点击bug,一些优化

v0.1.0 (2018.11.16)

① 堪称完美的UI界面almost
② 支持国际化
③ 支持更换主题色

主界面

引导页

启动页

闪屏广告页

分类页面

Web页双击Title滚动到顶部

多语言

设置主题色

我的 : Flutter开源库集合

GitHub : flutter_wanandroid

作者:Sky24n
链接:https://www.jianshu.com/p/4230654a101c

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值