发表日期:2018-11 文章编辑:小灯 浏览次数:2706
包含启动页,引导页,主题色切换,应用国际化多语言,版本更新等功能,项目主框架采用响应式编程RxDart和BLoC,由于目前项目功能尚未完善,代码还有待优化,后续项目重构整理好后,会全部开源出来,敬请期待!欢迎下载体验。
有关项目最新动态,可以关注App内第一条Hot Item信息。
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: GETbaseUrl: 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); ① 网络框架
② 闪屏广告页
③ 启动页
④ 引导页
⑤ 主题色切换
⑥ 国际化
① 网络框架DioUtil
② 合并flutter_demos
① 新增启动页
② 新增引导页
③ 修复banner无法点击bug,一些优化
① 堪称完美的UI界面almost
② 支持国际化
③ 支持更换主题色
主界面
引导页
启动页
闪屏广告页
分类页面
Web页双击Title滚动到顶部
多语言
设置主题色
flutter_wanandroid