PushDeviceInfoUpdate method
設備基本資料新增註冊或更新相關資訊
Implementation
Future<infoUpdateResp> PushDeviceInfoUpdate({String domain_key = "",String token = ""}) {
/**
* 註冊過,判斷 token, domain_key, stamp決定要不要更新
1. token與記錄的不同
2. domain_key與記錄的不同
3. stamp跨日
* */
if(Globals.token != token ||
Globals.domain_key != domain_key ||
daysBetween(DateTime.fromMillisecondsSinceEpoch(int.parse(Globals.stamp)), DateTime.now())!= 0) {
Map<String,dynamic> postdata = {
"domain_key": domain_key,
"device_type": Platform.isIOS ? "I" : "G",
"os_version_str": Globals.osVersion,
"app_version_str": Globals.appVersion,
"token": token
};
return GWSend("PushDeviceInfoUpdate", postdata: postdata).then((response) async {
var body = response.body;
infoUpdateResp data = infoUpdateResp.fromJson(jsonDecode(body.toString()));
if(data.returnCode == returnCode.success) {
dataHelper.setData("device_id", data.device_id.toString());
dataHelper.setData("device_uuid", data.device_uuid);
dataHelper.setData("domain_key", domain_key);
dataHelper.setData("token", token);
dataHelper.setData("stamp", "${data.sequence}000");
await dataHelper.getStorageData();
}
return data;
});
} else {
return Future(() {
return infoUpdateResp.fromJson(jsonDecode("{\"sequence\":0,\"returnCode\":\"0000\",\"returnMsg\":\"\",\"returnData\":{\"cnts\":1,\"device_uuid\":\"\",\"device_id\":\"0\"}}"));
});
}
}