發(fā)表日期:2018-11 文章編輯:小燈 瀏覽次數(shù):2508
包含啟動頁,引導(dǎo)頁,主題色切換,應(yīng)用國際化多語言,版本更新等功能,項(xiàng)目主框架采用響應(yīng)式編程RxDart和BLoC,由于目前項(xiàng)目功能尚未完善,代碼還有待優(yōu)化,后續(xù)項(xiàng)目重構(gòu)整理好后,會全部開源出來,敬請期待!歡迎下載體驗(yàn)。
有關(guān)項(xiàng)目最新動態(tài),可以關(guān)注App內(nèi)第一條Hot Item信息。
v0.1.6(2018.12.20)
新增網(wǎng)絡(luò)請求工具DioUtil, 單例模式,可輸出請求日志。
// 打開debug模式. DioUtil.openDebug(); // 配置網(wǎng)絡(luò)參數(shù). 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; } }// 網(wǎng)絡(luò)請求日志 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
//如果設(shè)計(jì)稿尺寸與默認(rèn)配置一致,無需該設(shè)置。配置設(shè)計(jì)稿尺寸 默認(rèn) 360.0 / 640.0 / 3.0 setDesignWHD(_designW,_designH,_designD);//返回根據(jù)屏幕寬適配后尺寸(單位 dp or pt) ScreenUtil.getInstance().getWidth(100.0); ScreenUtil().getWidth(100.0); //返回根據(jù)屏幕高適配后尺寸(單位 dp or pt) ScreenUtil.getInstance().getHeight(100.0);ScreenUtil().getHeight(100.0);//返回根據(jù)屏幕寬適配后字體尺寸 ScreenUtil.getInstance().getSp(12.0);ScreenUtil().getSp(100.0);
① 網(wǎng)絡(luò)框架
② 閃屏廣告頁
③ 啟動頁
④ 引導(dǎo)頁
⑤ 主題色切換
⑥ 國際化
① 網(wǎng)絡(luò)框架DioUtil
② 合并flutter_demos
① 新增啟動頁
② 新增引導(dǎo)頁
③ 修復(fù)banner無法點(diǎn)擊bug,一些優(yōu)化
① 堪稱完美的UI界面almost
② 支持國際化
③ 支持更換主題色