| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import 'dart:io';
- import 'package:flutter/cupertino.dart';
- import 'package:json_annotation/json_annotation.dart';
- import '../device/atmob_platform_info.dart';
- import '../utils/app_info_util.dart';
- part 'base_request.g.dart';
- @JsonSerializable()
- class BaseRequest {
- /// 平台类型: 1-Android 2-iOS 3-移动H5 4-PC_WEB 5-微信小程序 6-微信小游戏
- /// 7-微信公众号 8-抖音小程序 9-抖音小游戏 10-鸿蒙APP
- @JsonKey(name: "appPlatform")
- late int appPlatform = 0;
- /// 操作系统:android、ios、mac、windows、linux、harmony
- @JsonKey(name: "os")
- late String os = "unknown";
- @JsonKey(name: "osVersion")
- late String osVersion;
- /// 包信息
- @JsonKey(name: "packageName")
- String? packageName;
- @JsonKey(name: "appVersionName")
- String? appVersionName;
- @JsonKey(name: "appVersionCode")
- int? appVersionCode;
- /// 渠道信息, iOS没有渠道信息, Android通过渠道包工具获取
- @JsonKey(name: "channelName")
- String? channelName;
- @JsonKey(name: "appId")
- int? appId;
- @JsonKey(name: "tgPlatform")
- int? tgPlatform;
- /// 设备信息
- /// Android特有
- @JsonKey(name: "oaid")
- String? oaid;
- @JsonKey(name: "aaid")
- String? aaid;
- @JsonKey(name: "androidId")
- String? androidId;
- @JsonKey(name: "imei")
- String? imei;
- @JsonKey(name: "simImei0")
- String? simImei0;
- @JsonKey(name: "simImei1")
- String? simImei1;
- @JsonKey(name: "mac")
- String? mac;
- /// iOS特有
- @JsonKey(name: "idfa")
- String? idfa;
- @JsonKey(name: "idfv")
- String? idfv;
- /// 公共设备信息
- @JsonKey(name: "machineId")
- String? machineId; //给web使用
- @JsonKey(name: "brand")
- String? brand;
- @JsonKey(name: "model")
- String? model;
- @JsonKey(name: "wifiName")
- String? wifiName;
- /// 地理位置信息
- @JsonKey(name: "region")
- String? region;
- @JsonKey(name: "locLng")
- double? locLng;
- @JsonKey(name: "locLat")
- double? locLat;
- BaseRequest() {
- initPlatformOS();
- initPackageInfo();
- initChannelInfo();
- initDeviceInfo();
- }
- Map<String, dynamic> toJson() => _$BaseRequestToJson(this);
- void initPlatformOS() {
- if (Platform.isAndroid) {
- appPlatform = 1;
- os = "android";
- } else if (Platform.isIOS) {
- appPlatform = 2;
- os = "ios";
- } else if (Platform.isMacOS) {
- os = "mac";
- } else if (Platform.isWindows) {
- os = "windows";
- } else if (Platform.isLinux) {
- os = "linux";
- } else if (Platform.isFuchsia) {
- os = "fuchsia";
- }
- osVersion = Platform.operatingSystemVersion;
- debugPrint("os: $os, osVersion: $osVersion");
- }
- void initPackageInfo() {
- packageName = appInfoUtil.packageName;
- appVersionName = appInfoUtil.appVersionName;
- appVersionCode = appInfoUtil.appVersionCode;
- }
- void initChannelInfo() {
- channelName = atmobPlatformInfo.channelName;
- appId = atmobPlatformInfo.appId;
- tgPlatform = atmobPlatformInfo.tgPlatform;
- }
- void initDeviceInfo() {
- oaid = atmobPlatformInfo.oaid;
- aaid = atmobPlatformInfo.aaid;
- androidId = atmobPlatformInfo.androidId;
- imei = atmobPlatformInfo.imei;
- simImei0 = atmobPlatformInfo.simImei0;
- simImei1 = atmobPlatformInfo.simImei1;
- mac = atmobPlatformInfo.mac;
- idfa = atmobPlatformInfo.idfa;
- idfv = atmobPlatformInfo.idfv;
- machineId = atmobPlatformInfo.machineId;
- brand = atmobPlatformInfo.brand;
- model = atmobPlatformInfo.model;
- wifiName = atmobPlatformInfo.wifiName;
- region = atmobPlatformInfo.region;
- locLng = atmobPlatformInfo.locLng;
- locLat = atmobPlatformInfo.locLat;
- }
- }
|