function WanInfo() { this.domain = null; /* 基本信息 */ this.ConnectionTrigger = ""; this.MACAddress = ""; this.Status = ""; this.Enable = "1"; this.Name = "New Wan"; this.EncapMode = "IPoE"; this.ProtocolType = "IPv4"; this.IPv4Enable = "1"; this.IPv6Enable = "0"; this.Mode = "IP_Routed"; this.ServiceList = "INTERNET"; this.EnableVlan = "1"; this.VlanId = ""; this.Priority = "0"; this.UserName = "iadtest@pppoe"; this.Password = "iadtest"; /* IPv4参数 */ this.IPv4AddressMode = "DHCP"; this.IPv4NATEnable = "1"; //nat enable;value =0,1,2 this.IPv4VendorId = ""; this.IPv4IPAddress = ""; //ip this.IPv4SubnetMask = ""; // this.IPv4Gateway = ""; this.IPv4PrimaryDNS = ""; this.IPv4SecondaryDNS = ""; this.IPv4DialMode = "AUTO"; this.IPv4DialIdleTime = "180"; this.IPv4PPPoEAccountEnable = "disable"; this.IPv4WanMVlanId = ""; this.IPv4BindLanList = new Array(); /* IPv6参数 */ this.IPv6PrefixMode = "PrefixDelegation"; this.IPv6AddressStuff = ""; this.IPv6AddressMode = "DHCPv6"; this.IPv6StaticPrefix = ""; this.IPv6IPAddress = ""; this.IPv6SubnetMask = ""; this.IPv6Gateway = ""; this.IPv6PrimaryDNS = ""; this.IPv6SecondaryDNS = ""; this.IPv6WanMVlanId = ""; } WanInfo.prototype.clone = function() { var newObj = new WanInfo(); for(emplement in this) { newObj[emplement] = this[emplement]; } return newObj; } function GetProtocolType(IPv4Enable, IPv6Enable) { if (IPv4Enable == "1" && IPv6Enable == "1") { return "IPv4/IPv6"; } if (IPv4Enable == "1") { return "IPv4"; } return "IPv6" } function WanIP(domain,ConnectionTrigger,MACAddress, Status, Name,Enable,ConnectionStatus,Mode,IPMode,IPAddress,SubnetMask,Gateway, NATEnable,dnsstr,VlanID,MultiVlanID,Pri8021,VenderClassID,ServiceList,Tr069Flag,uiWanID) { this.domain = domain; this.ConnectionTrigger = ConnectionTrigger; this.MACAddress = MACAddress; this.Status = Status; this.Name = Name; this.Enable= Enable; this.ConnectionStatus = ConnectionStatus; this.Mode= Mode; this.IPMode= IPMode; this.IPAddress= IPAddress; this.SubnetMask = SubnetMask; this.Gateway = Gateway; this.NATEnable = NATEnable; var dnss = dnsstr.split(','); this.PrimaryDNS = dnss[0]; this.SecondaryDNS = dnss[1]; if (dnss.length <=1) { this.SecondaryDNS = ""; } this.VlanID = VlanID; this.MultiVlanID=(0xFFFFFFFF == MultiVlanID)?"":MultiVlanID; this.IPv6MultiVlanID="0"; this.Pri8021 = Pri8021; this.VenderClassID = VenderClassID; this.ServiceList = ServiceList;//service list this.isPPPoEAccountEnable = "disable"; this.Tr069Flag = Tr069Flag; this.uiWanID = uiWanID; this.IPv4Enable = "1"; this.IPv6Enable = "0"; } var passwordNoChange = '@1GV)Z 0 && i < IPWanList.length -1;i++, j++) { if("1" == IPWanList[i].Tr069Flag) { j--; continue; } WanList[j] = new WanInfo(); ConvertIPWan(IPWanList[i], WanList[j]); WanList[j].Name = MakeWanName(IPWanList[i]); } for(i=0; PPPWanList.length > 0 && i < PPPWanList.length - 1; j++,i++) { if("1" == PPPWanList[i].Tr069Flag) { j--; continue; } WanList[j] = new WanInfo(); ConvertPPPWan(PPPWanList[i], WanList[j]); WanList[j].Name = MakeWanName(PPPWanList[i]); } /* 填充WAN的地址和前缀的获取方式 */ try { this.IPv6PrefixMode = "PrefixDelegation"; this.IPv6AddressStuff = ""; this.IPv6AddressMode = "DHCPv6"; this.IPv6StaticPrefix = "20::01/64"; this.IPv6IPAddress = "20::02"; this.IPv6SubnetMask = ""; this.IPv6Gateway = ""; this.IPv6PrimaryDNS = ""; this.IPv6SecondaryDNS = ""; this.IPv6WanMVlanId = ""; for (var i = 0; i < WanList.length; i++) { var AddressAcquireItem = GetIPv6AddressAcquireInfo(WanList[i].domain.split(".")[4]); var PrefixAcquireItem = GetIPv6PrefixAcquireInfo(WanList[i].domain.split(".")[4]); WanList[i].IPv6AddressMode = (null != AddressAcquireItem) ? AddressAcquireItem.Origin : "None"; WanList[i].IPv6AddressStuff = (null != AddressAcquireItem) ? AddressAcquireItem.ChildPrefixBits : ""; WanList[i].IPv6IPAddress = (null != AddressAcquireItem) ? AddressAcquireItem.IPAddress : ""; WanList[i].IPv6PrefixMode = (null != PrefixAcquireItem) ? PrefixAcquireItem.Origin : "None"; WanList[i].IPv6StaticPrefix = (null != PrefixAcquireItem) ? PrefixAcquireItem.Prefix : ""; } } catch(ex) { } /* 填充WAN的DNS */ try { for (var i = 0; i < WanList.length; i++) { var DnsServer = GetIPv6WanDnsServerInfo(WanList[i].domain.split(".")[4]); if (DnsServer == null) { continue; } var DnsServerList = DnsServer.DNSServer.split(","); if (DnsServerList == null) { continue; } WanList[i].IPv6PrimaryDNS = ((DnsServerList.length >= 1) ? DnsServerList[0] : ""); WanList[i].IPv6SecondaryDNS = ((DnsServerList.length >= 2) ? DnsServerList[1] : ""); } }catch(ex){} function GetWanList() { return WanList; } function InitWanNameListControl(WanListControlId, IsThisWanOkFunction) { var Control = getElById(WanListControlId); var WanList = GetWanList(); var i = 0; var wanName ; var tmp; for (i = 0; i < WanList.length; i++) { if (IsThisWanOkFunction != null && IsThisWanOkFunction != undefined) if (IsThisWanOkFunction(WanList[i]) == false) { continue; } tmp = WanList[i].domain.split(".") if (tmp[6] == 2) { wanName = "wan"+tmp[2]+"."+tmp[4]+"."+tmp[6]; } else { wanName = "wan"+tmp[4]; } var Option = document.createElement("Option"); Option.value = wanName; //wan1.3.2或wan5(wan1.5.1) Option.innerText = MakeWanName1(WanList[i]); Option.text = MakeWanName1(WanList[i]); Control.appendChild(Option); } } function GetWanFullName(WanName) { var uiWanID; /* 得到Wan的实例id */ var uiWanID = WanName.replace("wan", ""); for (var i = 0; i < WanList.length;i++) { if (uiWanID == WanList[i].uiWanID) { return MakeWanName(WanList[i]); } } return WanName; } /* wanName: wanX; 返回wan1.1.2或wan1形式的串 */ function GetWanNameValue(wanName) { var tmp; var WanList = GetWanList(); for (i = 0; i < WanList.length; i++) { tmp = 'wan' + WanList[i].uiWanID; if (tmp == wanName) { var a = WanList[i].domain.split("."); var devIns = a[2]; var conIns = a[4]; var sessIns = a[6]; if (sessIns == 2) { return 'wan' + devIns + '.' + conIns + '.' + sessIns; } else { return 'wan'+a[4]; } } } }