PushDeviceInfoUpdate method

Future<infoUpdateResp> PushDeviceInfoUpdate({
  1. String domain_key = "",
  2. String token = "",
})

設備基本資料新增註冊或更新相關資訊

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\"}}"));
    });
  }
}