getSystemDeviceInfo.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * 获取系统设备信息
  3. */
  4. import {requestAndroidPermission} from "@/utils/permission";
  5. export function getSystemDeviceInfo() {
  6. return new Promise((resolve, reject) => {
  7. // 返回结果
  8. let resolveResult = (deviceId, imei) => {
  9. resolve({
  10. deviceId,
  11. imei
  12. })
  13. };
  14. let sysInfo = uni.getSystemInfoSync();
  15. // #ifdef APP-PLUS
  16. if (sysInfo.osName.toLowerCase() == 'android' && sysInfo.osVersion >= 10) {
  17. plus.device.getOAID({
  18. success: ({oaid}) => {
  19. resolveResult(oaid);
  20. },
  21. fail: (e) => {
  22. resolveResult(sysInfo.deviceId);
  23. }
  24. });
  25. } else {
  26. requestAndroidPermission('android.permission.READ_PHONE_STATE').then(res => {
  27. plus.device.getInfo({
  28. success: (res) => {
  29. let {uuid, imei} = res
  30. let [oaid] = uuid?.split(",") || []
  31. resolveResult(oaid || sysInfo.deviceId, imei)
  32. },
  33. fail: (error) => {
  34. resolveResult(sysInfo.deviceId);
  35. },
  36. });
  37. }).catch((err) => {
  38. resolveResult(sysInfo.deviceId);
  39. });
  40. }
  41. // #endif
  42. // #ifndef APP-PLUS
  43. resolveResult(sysInfo.deviceId);
  44. // #endif
  45. });
  46. }