dns.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. function dnsGenPage() {
  2. var page = '<div id="dns_page" style="display: block;"> \
  3. <div class="maintitle"> \
  4. <div>DNS配置</div> \
  5. <div class="page_description_text">手动更新终端连接使用的DNS服务器IP地址。 \
  6. </div> \
  7. </div> \
  8. <div id="dnsContent"> \
  9. <div id="dns_all_content"> \
  10. <div id="dns_prompt" class="page_prompt_info page_scenes_info_text hide" style="display: none;"></div> \
  11. <div id="dns_content"> \
  12. <div id="dns_firstline" style="padding-top: 10px; display: block;" class="hide"> \
  13. </div> \
  14. <div class="clearboth" id="dns1_div" style="padding-top:30px;"> \
  15. <div class="control-label"><span>首选 IPv4 DNS</span> \
  16. </div> \
  17. <div class="controls input_normal"><input id="main_dns_addr" \
  18. onfocus="showInputBorder(this)" \
  19. onblur="hideInputBorder(this)" type="text" \
  20. maxlength="15" autocomplete="off"></div> \
  21. </div> \
  22. <div class="clearboth" id="dns2_div" style="padding-top:30px;"> \
  23. <div class="control-label"><span>备选 IPv4 DNS</span> \
  24. </div> \
  25. <div class="controls input_normal"><input id="vice_dns_addr" \
  26. onfocus="showInputBorder(this)" \
  27. onblur="hideInputBorder(this)" type="text" \
  28. maxlength="15" autocomplete="off"></div> \
  29. </div> \
  30. <div class="clearboth" id="dns_btn_save_div" style="padding-top:50px"> \
  31. <div class="control-label" style="margin-top: 8px;">&nbsp;</div> \
  32. <div class="controls"><button class="btn_normal_long btn_disabled" \
  33. id="dns_btn_save">该功能暂不支持</button></div> \
  34. </div> \
  35. <div class="clearboth" style="padding-top:70px"></div> \
  36. </div> \
  37. </div> \
  38. <div id="dns_activation_content" class="page_prompt_info page_scenes_info_text hide"> \
  39. </div> \
  40. </div></div>';
  41. $("#rightpagearea").prepend(page);
  42. if (typeof dnsRenderPage == "function") {
  43. beforeRenderPage("dns");
  44. dnsRenderPage();
  45. afterRenderPage("dns");
  46. }
  47. }
  48. var dnsController = (function() {
  49. function getLocalNetworkInfo() {
  50. let req = new Request();
  51. req.timeout = 10000;
  52. req.filter = 0;
  53. RVC.ResourceWatcherEntity.GetNetworkInfo(req, function(ret) {
  54. if(ret.errorCode === 0) {
  55. var chosen = ret.names.findIndex((item, idx) => {
  56. return item == ret.current;
  57. })
  58. var dnsList = ret.dns[chosen].split(';');
  59. if(dnsList.length <= 0) {
  60. } else {
  61. $('#main_dns_addr').val(dnsList[0]);
  62. $('#main_dns_addr').attr('origin_value', dnsList[0]);
  63. if(dnsList.length > 1) {
  64. $('#vice_dns_addr').val(dnsList[1]);
  65. $('#vice_dns_addr').attr('origin_value', dnsList[1]);
  66. }
  67. }
  68. }
  69. });
  70. }
  71. function enableButton() {
  72. $('#dns_btn_save').removeClass('btn_disabled');
  73. }
  74. function disableButton() {
  75. if(isButtonEnable('dns_btn_save')) {
  76. $('#dns_btn_save').addClass('btn_disabled');
  77. }
  78. }
  79. function saveButtonHandle() {
  80. }
  81. function selectKeyListHandle(evt) {
  82. clearAllErrorMsg();
  83. const dns1 = $('#main_dns_addr').attr('origin_value');
  84. const dns2 = $('#vice_dns_addr').attr('origin_value');
  85. var new1 = $('#main_dns_addr').val();
  86. var new2 = $('#vice_dns_addr').val();
  87. if(new1 != dns1 || new2 != dns2) {
  88. enableButton();
  89. } else {
  90. disableButton();
  91. }
  92. }
  93. function bindEvents() {
  94. $(document).on('change click', '#main_dns_addr', selectKeyListHandle);
  95. $(document).on('change click', '#vice_dns_addr', selectKeyListHandle);
  96. $(document).on('click', '#dns_btn_save', saveButtonHandle);
  97. }
  98. function initPage() {
  99. //getLocalNetworkInfo();
  100. }
  101. var fistTime = true;
  102. function init() {
  103. if (fistTime) {
  104. fistTime = false;
  105. //bindEvents();
  106. }
  107. initPage();
  108. }
  109. return { init: init };
  110. }());
  111. window.dnsRenderPage = function () {
  112. dnsController.init();
  113. };