如果签到过,就用sharepreference记录自己已经签到过了,但是问题是如果切换账号后,这个本地数据还在,导致另外一个账号不能签到了,所以还是不能做本地存储的
//保存签到弹窗当天日期
static setSignInCurDate(String date){
StorageManager.sharedPreferences?.setString('signCurDate', date);
}
///获取签到弹窗当天日期
static get getSignCurDate => StorageManager.sharedPreferences?.getString('signCurDate');
//是否已签到
static setIsSign(bool date){
StorageManager.sharedPreferences?.setBool('isSign', date);
}
///获取是否已签到
static get getIsSign => StorageManager.sharedPreferences?.getBool('isSign');
DateTime now = DateTime.now();
String nowTime = "${now.year}/${now.month}/${now.day}";
PrintUtil.prints("签到日期${SPHelper.getSignCurDate}");
if (SPHelper.getSignCurDate == null ||
SPHelper.getSignCurDate != nowTime) {
PrintUtil.prints("签到日期${SPHelper.getSignCurDate}");
SPHelper.setSignInCurDate(nowTime);
SPHelper.setIsSign(false);
if (SPHelper.getIsSign == null || SPHelper.getIsSign == false) {
HttpRequest.intance.postHttpFromBusiness(Api.API_SIGN_GET_REWARD,
(data) {
SignInGetReward signInGetReward = SignInGetReward.fromJson(data);
//对数据进行排序,防止服务端改变数据的位置
List<RewardData> rewardList = [];
setState(() {
if (signInGetReward.rewardList != null) {
rewardList = signInGetReward.rewardList!;
rewardList.sort((a, b) => a.id!.compareTo(b.id!));
}
});
//如果服务器返回1即已经签到过了,就不弹了。返回0才弹
if(signInGetReward.todayIsSign==0){
showDialog(
context: context,
builder: (context) =>
signInDialog(signInGetReward, rewardList));
}
log("获取礼物列表1" + json.encode(data));
}, (error) {}, onErrorCode: (errorCode) {}, parameters: {
'activity_id': 1,
});
}
} else {
if (SPHelper.getIsSign == null || SPHelper.getIsSign == false) {
HttpRequest.intance.postHttpFromBusiness(Api.API_SIGN_GET_REWARD,
(data) {
SignInGetReward signInGetReward = SignInGetReward.fromJson(data);
//对数据进行排序,防止服务端改变数据的位置
List<RewardData> rewardList = [];
setState(() {
if (signInGetReward.rewardList != null) {
rewardList = signInGetReward.rewardList!;
rewardList.sort((a, b) => a.id!.compareTo(b.id!));
}
});
//如果服务器返回1即已经签到过了,就不弹了。返回0才弹
if(signInGetReward.todayIsSign==0){
showDialog(
context: context,
builder: (context) =>
signInDialog(signInGetReward, rewardList));
}
log("获取礼物列表1" + json.encode(data));
}, (error) {}, onErrorCode: (errorCode) {}, parameters: {
'activity_id': 1,
});
}
}