DESKTOP-70VPDLK\Administrator преди 6 месеца
родител
ревизия
a9f77055f3
променени са 2 файла, в които са добавени 170 реда и са изтрити 0 реда
  1. 12 0
      common/js/tools.js
  2. 158 0
      js_sdk/dc-deviceinfo/deviceinfo.js

+ 12 - 0
common/js/tools.js

@@ -38,6 +38,18 @@ tools.formatDecimal = function (num, decimal) {
     return parseFloat(num).toFixed(decimal)
 }
 
+tools.replenishZero = function (str, n) {
+    console.log(str)
+    if (str.indexOf('0x') === 0) {
+        str = str.substring(2)
+    }
+    console.log(str)
+    if (!n) {
+        n = 64
+    }
+    return (Array(n).join(0) + str).slice(-n);
+}
+
 /**
  * 错误提示
  * @param msg

+ 158 - 0
js_sdk/dc-deviceinfo/deviceinfo.js

@@ -0,0 +1,158 @@
+
+var WIFI_SERVICE = 'wifi';
+var ACTIVITY_SERVICE = 'activity';
+
+/**
+ * 获取wifi的mac地址
+ */
+function getMac(){
+try{
+  var os = plus.os.name;
+  if('Android' == os){
+    var main = plus.android.runtimeMainActivity();
+    var wifiService = main.getSystemService(WIFI_SERVICE);
+    var wifiInfo = plus.android.invoke(wifiService, 'getConnectionInfo');
+    var mac = plus.android.invoke(wifiInfo, 'getMacAddress');
+    return mac;
+  }else{
+    //unsupport, nothing to do.
+  }
+}catch(e){
+  console.error('error @getMac!!');
+}
+}
+
+/**
+ * 获取手机可用内存大小
+ * 单位为字节
+ */
+function getAvailMemory(){
+try{
+  var os = plus.os.name;
+  if('Android' == os){
+    var ActivityManager = plus.android.importClass('android.app.ActivityManager');  
+    var mi = new ActivityManager.MemoryInfo();  
+    var activityService = plus.android.runtimeMainActivity().getSystemService(ACTIVITY_SERVICE);  
+    activityService.getMemoryInfo(mi);  
+    var memoryInfo = mi.plusGetAttribute('availMem');
+    return memoryInfo;
+  }else{
+    //unsupport, nothing to do.
+  }
+}catch(e){
+  console.error('error @getAvailMemory!!');
+}
+}
+
+/**
+ * 获取手机总内存大小
+ * 单位为KB
+ */
+function getTotalMemory(){
+try{
+  var os = plus.os.name;
+  if('Android' == os){
+    var memInfo = '/proc/meminfo';
+    var temp = '',
+      ramSize = '',
+      arrays, initMemory;
+    var fileReader = plus.android.importClass("java.io.FileReader");
+    var bufferedReader = plus.android.importClass("java.io.BufferedReader");
+    var FileReader = new fileReader(memInfo);
+    var BufferedReader = new bufferedReader(FileReader, 8192);
+    while ((temp = BufferedReader.readLine()) != null) {
+      if (-1 != temp.indexOf('MemTotal:')) {
+        var value = temp.replace(/[^0-9]/ig, "");
+        ramSize = parseInt(value);
+      }
+    }
+    return ramSize;
+  }else{
+    //unsupport, nothing to do.
+  }
+}catch(e){
+  console.error('error @getAvailMemory!!');
+}
+}
+
+/**
+ * 获取内部存储空间大小
+ * 单位为字节
+ */
+function getInternalStorage(){
+try{
+  var os = plus.os.name;
+  if('Android' == os){
+    var environment = plus.android.importClass('android.os.Environment');
+    var statFs = plus.android.importClass('android.os.StatFs');
+    var files = plus.android.importClass('java.io.File');
+    var Files = environment.getDataDirectory();
+    var StatFs = new statFs(Files.getPath());
+    var blockSize = parseFloat(StatFs.getBlockSize());
+    var blockCount = parseFloat(StatFs.getBlockCount());
+    var internalMemSize = blockSize*blockCount;
+    return internalMemSize;
+  }else{
+    //unsupport, nothing to do.
+  }
+}catch(e){
+  console.error('error @getCpuInfo!!');
+}
+}
+
+/**
+ * 获取CPU信息
+ */
+function getCpuInfo(){
+try{
+  var os = plus.os.name;
+  if('Android' == os){
+    var cpuInfo = '/proc/cpuinfo';
+    var temp = '',
+      cpuHardware;
+    var fileReader = plus.android.importClass('java.io.FileReader');
+    var bufferedReader = plus.android.importClass('java.io.BufferedReader');
+    var FileReader = new fileReader(cpuInfo);
+    var BufferedReader = new bufferedReader(FileReader, 8192);
+    while ((temp = BufferedReader.readLine()) != null) {
+      if (-1 != temp.indexOf('Hardware')) {
+        cpuHardware = temp.substr(parseInt(temp.indexOf(":")) + 1);
+      }
+    }
+    return cpuHardware;
+  }else{
+    //unsupport, nothing to do.
+  }
+}catch(e){
+  console.error('error @getCpuInfo!!');
+}
+}
+
+/**
+ * 获取CPU核数
+ */
+function getCpuCount(){
+try{
+  var os = plus.os.name;
+  if('Android' == os){
+    var Runtime = plus.android.importClass("java.lang.Runtime");  
+    var cpuCount = Runtime.getRuntime().availableProcessors();  
+    return cpuCount;
+  }else{
+    //unsupport, nothing to do.
+  }
+}catch(e){
+  console.error('error @getCpuInfo!!');
+}
+}
+
+
+
+module.exports = {
+  mac: getMac,
+  availMem: getAvailMemory,
+  totalMem: getTotalMemory,
+  interStorage: getInternalStorage,
+  cpuInfo: getCpuInfo,
+  cpuCount: getCpuCount
+}