因为内容比较多、直接放基础demo 包含:
1. 封装网络请求 calss: Request
通过 Request.post(
url,
params: {},
data: data
); 对应传入参数 url 当前请求的地址 data 当前参数 params 这个是header 因为公用所以我直接写入了基类、暴露出开方便他人调用。
目前只支持 get post 如果涉及put 等可自行添加
示例:
class Api {
static String getSessionTokenUrl = 'common/getSessionToken'; //获取Token
static String loginUrl = 'base/web/login'; //登录
// 通用post 请求
static sendRequestApi(url,data){
return Request.post(
url,
params: {},
data: data
);
}
}
2. 本地存储 'json_serializable' class: AuthManager
为了方便没有建立对应的model 存储,遍历的是传入的map 所以想实现 model点语法 自己创建model 即可
// 登录信息
Future<void> saveUserModel(Map<dynamic, dynamic> map) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
map.forEach((key, value) {
if (value is String) {
prefs.setString(key, value);
} else if (value is int) {
prefs.setInt(key, value);
} else if (value is double) {
prefs.setDouble(key, value);
} else if (value is bool) {
prefs.setBool(key, value);
}
});
}
单例模式 直接 AuthManager(). saveUserModel(XXX) 调用就好
内容太多就不说了直接放上 demo