// 两种单例请求方式.
DioUtil().request(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> getBanner() async {
BaseResp baseResp = await DioUtil().request(
Method.get, WanAndroidApi.getPath(path: WanAndroidApi.BANNER));
List 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滚动到顶部
页面
[外链图片转存中…(img-c2Ts7fN5-1726032858088)]
Web页双击Title滚动到顶部
[外链图片转存中…(img-pByAJIXH-1726032858089)]