util_mobile.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. local util_mobile = {}
  2. -- 运营商数据
  3. local oper_data = {
  4. ["46000"] = {"CM", "中国移动", {"10086", "CXLL"}},
  5. ["46001"] = {"CU", "中国联通", {"10010", "2082"}},
  6. ["46011"] = {"CT", "中国电信"},
  7. ["46015"] = {"CB", "中国广电"}
  8. }
  9. --- 获取 MCC 和 MNC
  10. -- @return MCC or -1
  11. -- @return MNC or -1
  12. function util_mobile.getMccMnc()
  13. local imsi = mobile.imsi(mobile.simid()) or ""
  14. return string.sub(imsi, 1, 3) or -1, string.sub(imsi, 4, 5) or -1
  15. end
  16. --- 获取 Band
  17. -- @return Band or -1
  18. function util_mobile.getBand()
  19. local info = mobile.getCellInfo()[1] or {}
  20. return info.band or -1
  21. end
  22. --- 获取运营商
  23. -- @param is_zh 是否返回中文
  24. -- @return 运营商 or ""
  25. function util_mobile.getOper(is_zh)
  26. local imsi = mobile.imsi(mobile.simid()) or ""
  27. local mcc, mnc = string.sub(imsi, 1, 3), string.sub(imsi, 4, 5)
  28. local mcc_mnc = mcc .. mnc
  29. local oper = oper_data[mcc_mnc]
  30. if oper then
  31. return is_zh and oper[2] or oper[1]
  32. else
  33. return mcc_mnc
  34. end
  35. end
  36. --- 发送查询流量短信
  37. function util_mobile.queryTraffic()
  38. local imsi = mobile.imsi(mobile.simid()) or ""
  39. local mcc_mnc = string.sub(imsi, 1, 5)
  40. local oper = oper_data[mcc_mnc]
  41. if oper and oper[3] then
  42. sms.send(oper[3][1], oper[3][2])
  43. else
  44. log.warn("util_mobile.queryTraffic", "查询流量代码未配置")
  45. end
  46. end
  47. return util_mobile