longyvfengyun
2023-12-25 d8d792a6842832e8f6af6604274c438b25053afe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * 根据设备id计算设备ip
 * @param dev_id
 * @returns {object}
 */
function getDevIp(dev_id) {
  let ptn = /^[0-9]{4}([0-9]+)$/;
  let ip = '';
  let code = 0;
  if(ptn.test(dev_id)) {
    let value = Number(RegExp.$1);
    let intNum = prefixInteger(Math.floor(value/256), 3);
    let resNum = prefixInteger(value%256, 3);
    ip = '127.000.'+intNum+'.'+resNum;
    code = 1;
  }else {
    code = 0;
    ip = '设备ID格式不正确';
  }
  return {
    code: code,
    data: ip
  };
}
 
// 获取001类似数据
function prefixInteger(num, length) {
  return (Array(length).join('0') + num).slice(-length);
}
 
export default getDevIp;