找回密码
 注册

QQ登录

只需一步,快速开始

查看: 43381|回复: 49

新版光猫 烽火HG221GS破解,求助

[复制链接]
发表于 2015-3-10 16:20:59 | 显示全部楼层 |阅读模式
本帖最后由 olcode 于 2015-3-10 17:25 编辑
: s8 E( T# ^0 _. ^- v! R8 ^6 l' R" n) D
设备版本
/ A6 C6 C0 Z0 e9 J' q% m                          
设备型号:HG221GS
设备标识号:F8C96C-B2739F8C96C0CA2E0
硬件版本:V1.0
软件版本:E50D1.11M1000

, r/ R# Y4 @+ U) g* Y, C: `& I5 @  V
出场日期 2015-1-9
9 Y% M# l: G! }
; w+ W- v- l- P6 v) \3 T& e试过 网上已有两种方案9 J. G; y7 g0 q* ]
1 登录 useradmin 直接输入 配置文件地址
# }& }) ~4 S+ nXXX/backupsettings. (html htm shtml config webonfig conf js)
9 s: n4 z# Y# c' s都显示404  有可能改过文件名字或改验证权限了
+ e# u/ t' |& L9 V; z
' n# e+ ~8 P$ n9 |& p6 h6 o2 telnet  IP 23  发现端口是关闭的& s5 _0 z* {. |4 N6 k+ a# n- R. T7 Z
扫描之后 发现只有53 和 80 是开启的/ h8 r) ?: Z* j% C

/ r. ?$ u. w2 ]& a0 ~  y2 z1 L目前尝试 用 firefox 修改 json数据,还是一头雾水  求助9 Y1 ^2 r( f( a8 m+ c) k7 \5 s
下面附带 3个主要的js  
- p) h8 [: B% p, L8 E2 `/ j
9 c# b$ C8 t+ o" B5 o; s$ [
kaixi_ants 该用户已被删除
发表于 2015-3-11 20:44:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2015-3-10 17:23:50 | 显示全部楼层
http://192.168.1.1/js/api.js
$ r9 \0 w! z# K/ L4 l5 p+ m1 b4 _+ a  u# h3 ~- |
/* 后台处理cgi路径,fake目录为模拟测试目录 */: S" y/ d* j$ }1 i
# C0 ?9 ]; ^9 C2 _% R+ X5 c
/* var CGIPATH="cgi-bin"  */; M7 V5 b) f% o
var CGIPATH="fake"
; j8 V6 ?: t/ V
( T& x) q/ ]- E+ ^" S8 a, T* L* i/*---------------------------------------*/
7 \5 P: p# r( n5 T/*        用户鉴权管理                         */2 s, Z- G0 z- f5 K% h
/*---------------------------------------*/
- n9 [4 ~- f. o5 [. n) Sfunction authentication(user, password, callback){
0 L. H/ H3 `2 k8 q/*jQuery.getJSON( 'cgi-bin/checklogin.cgi', */, J# H$ b# V# \2 y1 B1 d" E3 y
var preparedata= 'cgi-bin/sys_checklogin.cgi?username=' + user +"&password=" + password;* U( g/ J* z( G/ B
/*
; P3 X: }9 t3 {0 sjQuery.getJSON( preparedata,
. I) _: V7 K7 q3 \4 ]                function(returnData, status){2 o0 X) F; B# M# e8 B
                        if(returnData.RETURN.success){3 C7 E$ p: l1 U" y2 g$ t  I( D( T0 d
                                alert("222");% Y6 o" ~# u. G1 u! l& }: C
                                alert(returnData.RETURN.success);# l  [/ C, ~9 ^% ]7 \4 L4 a
                                alert(returnData);
1 d8 b" q: T, z1 y! L/ L                                callback(returnData.RETURN.success,returnData);
, o. G, Y0 M( Y( R6 z( K                        }else{/ R2 j) R# K( Z) ^; Y
                                callback(returnData.RETURN.success,returnData);5 X. |0 y1 K) v
                        }
% \2 |! j8 J; N( {8 q                }
4 h$ e: g' a4 X+ x$ b        );
* g+ d/ ^; V+ ^6 ?2 y  C*/
, L+ g/ C' E. w& K1 b2 G        $.ajax({: y: Q$ G# c. U% {
                url: preparedata,
# b% X6 Q3 N' L4 c4 R8 F$ p% i                dataType: 'json',( f, ]( g8 H& _. i, `+ l6 P9 v
                cache: false,
2 o4 y! k7 E: A  d                async: false,- ^4 s* k7 w9 m% R; H. g
                success: function(returnData, status){
, S* G! _) P' ]. ~3 i' e$ z                                if(returnData.RETURN.success){
5 E$ T; m* ^, m                                    callback(returnData.RETURN.success,returnData);
3 z8 ^/ w  W0 X+ P                                }else{- g# i# e2 ^) Q2 a1 \
                                        callback(returnData.RETURN.success,returnData);+ [5 P5 S% i8 z4 ?8 _/ ^
                                }3 n, h5 G# A$ w6 w
                        }! c9 g- Z/ t7 w% g$ f4 ]( d) z/ k
                }' ^, S/ r: @/ W# p
        );        " a; e7 O  ?4 p" B; x+ ^7 U: F  H
        $ e9 o* r9 \: p; ]
}
3 X1 {. Q  S2 ?4 h8 ^8 c. B( F
7 W. F" `: `. ]9 D2 u) s* Xfunction URLauthentication(level, callback){9 v4 d2 {6 E& ]0 r* M; J9 p* h& ]2 Z
var preparedata= 'cgi-bin/sys_checklogin.cgi?level=' + level;
2 k7 L" }- [& {" {7 R8 l* o        $.ajax({
# J3 Q1 A8 E% x& J: R3 s3 o8 U                url: preparedata,
! I2 ^! l( M1 g' V8 D                dataType: 'json',8 F2 |' o5 J! Q% }8 x) Y) c/ ]
                cache: false,, Z9 C- K; F! r4 n4 o" R( X8 I2 J
                async: false,: }, n$ d+ s% P- @+ v' `$ E
                success: function(returnData, status){
4 C! g( F; I. B( `3 R! o                                if(returnData.RETURN.success){
* U2 `8 w7 [1 p                                    callback(returnData.RETURN.success,returnData);4 Q, m2 E7 Y1 F  c/ ^4 D( L
                                }else{
8 f0 Z, H% X! p. }# {) q2 Y                                        callback(returnData.RETURN.success,returnData);
$ p2 F1 a# Y, w                                }$ z1 o. l% d9 L+ b# B
                        }" x3 S/ |; c. y+ U' x& }
                }
# `( v. U7 m+ H5 D        );       
! P/ j+ w# N+ a0 [$ }* Y5 A        $ J+ C2 Y$ e+ M6 M* z% {+ Z
}& U, L$ Z: J! {
7 X( g8 U  U9 F7 a2 x9 }: P9 [
% ]" G0 }0 m+ [" z* P
function cleansession(callback){5 M8 s) R5 ~: n1 U
0 R$ L+ [- d+ ?/ H
var preparedata= 'cgi-bin/cleansession.cgi';' R; o* B8 T8 j% q& ~) B, ^

, l4 S# [9 J7 c; p( C, ?4 G2 m        $.ajax({2 l6 p" I! a% n6 F, y
                url: preparedata,6 X2 k; b( h1 R$ j
                dataType: 'json',
  n1 |7 u! M" G, }5 {- P5 ?                cache: false,+ J' z3 w% c% G% ?
                async: false,7 f1 C6 @  _" J% E3 j* d/ o
                success: function(returnData, status){% }  c: K' J, @, V
                                if(returnData.RETURN.success){
( h1 i. a  \$ v9 W" `+ C5 e                                    callback(returnData.RETURN.success,returnData);& m) z  a: J; `6 o: m
                                }else{1 ?2 }6 y" o2 H
                                        callback(returnData.RETURN.success,returnData);
, J$ e5 r8 q1 n/ k+ d                                }
' E7 M9 H. f7 b2 [. T6 w( {8 }                        }2 a) g$ j/ \, N; {
                }- D. m- o" Q% l2 S% C5 f
        );        0 q* ~! m; S6 W/ Y
       
) N, ]( X. _" q8 Y! i+ P* ]}' k1 D, v0 p; j+ h6 J8 `

0 Y* s( x7 g, gfunction authenti(callback){2 s0 K# y7 d( ]% ~' R2 c! n

2 n) b6 h; v, Ovar preparedata= 'cgi-bin/sys_check.cgi';$ M7 G3 j3 `9 D6 n
5 A* C4 b5 o9 |% ]) c9 {% ]
        $.ajax({/ x8 d& r* I8 u" u) v$ i# a: ]
                url: preparedata,
# i6 G' r+ @; ]                dataType: 'json',
9 W1 n* Y+ P( r$ I4 F                cache: false,
3 J) [2 n# ?- ^! \+ [) B                async: false,
# R( F0 `9 _! A5 r+ [4 v) G                success: function(returnData, status){. c# D7 O+ g- W7 r% g. C
                                if(returnData.RETURN.success){
8 C* Y" v! h$ L, h& y9 [0 p1 J9 Y  C& e                                    callback(returnData.RETURN.success,returnData);% {' B+ A6 @$ R6 h
                                }else{
' B2 b0 Y. o# F/ V" A% W" B                                        callback(returnData.RETURN.success,returnData);/ a7 F2 o1 o8 W# J
                                }
7 A9 A2 t1 _5 F# S( m                        }9 J7 H0 ~2 N( g' s& q0 T4 E( \+ J
                }
+ W0 j4 J0 U, H0 H+ R" D6 K        );        ' {4 N* _7 e' O3 g7 V
        / k8 v+ b/ h, a8 o% B. {
}8 b/ {" H+ O# I4 |" `4 z

3 Q7 |5 B: t9 }) `3 V% \0 Pfunction closeSession(callback){
( z* W# s5 ^" z. \$ a        jQuery.getJSON( 'cgi-bin/sys_closelogin.cgi', - ?" F- S0 X  {5 S' f  K
                function(returnData, status){, I# a# V- P, e% I: K7 E6 G
                        if(returnData.RETURN.success){
/ l2 ^% ?+ U5 I# {                                callback(returnData.RETURN.success,"");4 [- W# h& x# B' G
                        }else{* F0 `, Y3 B+ _$ F
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);) m( l2 Y2 _! W. w$ W
                        }
) Z. d, R4 K  a! r' [. w6 p                }7 d; L& D& l( q* M
        );/ w2 M- G; ]5 D) p, @4 {% _% `
}
5 L. T3 E: _5 s5 q8 }# y# n4 w0 e& J+ v
function getLoginStatus(callback){
* y6 c7 s3 C9 ]# B( e        $.ajax({: X: i! I% Y2 |0 r
                url: 'cgi-bin/returnLoginStatusJSON.cgi',
! x8 e  g* M7 v) O0 D4 a0 Y                dataType: 'json',/ o5 u# _+ {; g8 F8 L
                cache: false,
$ f/ u8 \$ e" m: N& A! W                async: false,
8 j' b4 |% b/ k8 d2 Y                success: function(returnData, status){5 O& ^6 c* c/ S. e! U" V/ w
                                if(returnData.RETURN.success){
! E, q4 c/ R' Q( ?2 Y4 W                                    callback(returnData.RETURN.success,returnData.STATUS);) t: |, [  v  T' @4 Q
                                }else{
0 Y% u7 c' V1 v1 H5 @8 q4 z                                        callback(returnData.RETURN.success,returnData.RETURN.errorDescription);& f% f' v  d- _/ h
                                }3 N5 R% I1 s8 f& a7 G7 k
                        }2 H6 T  ]8 e7 C  T" I, }( Z
                }& w* h8 c, m% `  u: i
        );       
2 z6 j5 y/ l7 [9 N}
8 a- J2 b8 ]( [3 M3 k( W/*---------------------------------------*/; j4 g- J' b, ~) H+ L
/*registeranhui             */& b0 z* o# H3 g. A% Q/ v+ s0 @
/*---------------------------------------*/
' N$ V: O( O; E+ [function getregisterInfo(callback){3 ?9 R* {- J# x3 R9 `/ h" C5 }
        $.ajax({/ q1 i0 A. G  c4 k' c( E
                url: 'cgi-bin/sys_check.cgi',
% F# a( {& u* y" c; p/ G4 ^6 [) ~                dataType: 'json',' X6 x$ v/ C+ l, S, I! O1 V
                cache: false,
( w5 C. z+ g4 n7 a2 f2 _                async: false,
3 G( C  n3 F6 T" U                success: function(returnData, status){
. n3 a# ?$ a) p  P' I3 B" B                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
, `, q  [0 @- J- D4 J                                callback(returnData.RETURN.success, returnData);
; o/ q7 L2 r) ?( b$ T' E9 Z                        }
3 b4 Y/ ~. h( k* ?4 x                        else {
" O7 }1 p$ {& L0 t) O                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
& m/ y+ z6 J; s1 ]) k8 @6 `! u( x                        }2 O6 `7 m' {4 A+ X2 ^4 u4 W
                }
. X* g5 W$ T$ c        });
/ Z) C) {# x  f) m8 Q6 |}
2 M; m6 ]+ _  C- V6 T$ E8 r: i  x/ M8 ]. t% g
/*---------------------------------------*/
3 S8 u( D8 w& J- R4 |/*admin_sidebarmenu 三级标题             */
% _; r/ Q" l% V8 ^/*---------------------------------------*/* W3 Z0 K' i$ M1 d  J
function getadminInfo(callback){* M' i; M4 ?/ Y4 f
        $.ajax({6 `( r7 e) F, ?% a9 w7 y
                url: 'cgi-bin/admin_sidebarmenu.cgi',
, F0 ]3 B( Z( c4 K6 N0 J                dataType: 'json'," t6 ^7 C; B; K, r: A
                cache: false,( u2 l  K7 t. m0 w1 Y2 v: K
                async: false,
9 q" [. @3 }; C- M/ v7 c                success: function(returnData, status){# D' V+ ^# J' o- T
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
+ v- y# I0 N; m1 U* V; B                                callback(returnData.RETURN.success, returnData);, o9 M* ?, H6 W* U. Z
                        }
! o# E/ L" J# v2 m# f) c+ I2 v                        else {- N& l8 _) G- l8 r
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
2 |5 w+ g5 j9 E* Q8 Z                        }% T* k5 M3 z% \
                }0 F+ p! j9 @/ d8 E) d
        });
" E1 T5 U# [5 l  @8 h}% Y: I# k- u1 O( _% Z1 ?: n
3 I+ r7 O+ W/ I: Y' ?% |/ ^
/*---------------------------------------*/
9 O4 z# A! j5 ~; r2 I9 L/*admin_secondmenu 二级标题             */
8 j, c: H) z( M6 l/*---------------------------------------*/% r3 }* T' }) g% u  I( j. u
function getseadminInfo(callback){% E4 u& X$ N1 _+ S" D' ~
        $.ajax({  G0 {( F8 g$ @% Y  K. I4 Z, I) N
                url: 'cgi-bin/admin_sidebarmenu.cgi', # W* ^* c6 f  z  x- D
                dataType: 'json',% k, I1 k% ^3 P2 `
                cache: false,
( u: c$ s/ l- i# H                async: false,
, X3 f5 e' \" z9 C                success: function(returnData, status){, N3 }/ Z; P' _+ L" v, a- K
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
% V8 D% H: Y  P- r                                callback(returnData.RETURN.success, returnData);+ [9 `6 M6 T  D1 ^4 {- \" e
                        }
' O$ y% m. z6 V% M                        else {
- y& j7 f9 e1 u7 I' ?                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
' b0 }2 o2 [) x                        }
" B5 p4 i- J5 W                }1 q3 Z  |3 g# Q, v
        });/ d' E# H! s" L1 d% n9 |; T
}
* i" G# @5 R+ D' e' \/*---------------------------------------*/% ?& y' b. Z3 v
/*useradmin_sidebarmenu 三级标题             */9 ^, X; W+ p; ^% Y0 C: c  d$ c( Z$ |
/*---------------------------------------*/
9 L) A! A* i2 q& X$ V+ efunction getuseradminInfo(callback){! z5 \! {$ J1 L- s
        $.ajax({
) Q: q! {: H  \/ E                url: 'cgi-bin/admin_sidebarmenu.cgi', . d: u% |3 X+ y" B/ n
                dataType: 'json',
" w2 I0 i; k' l3 b$ a, r7 l8 G                cache: false,
4 r  G- V6 b( m. T- b                async: false,
" Z) b% B3 _, S! ~- r* r) }                success: function(returnData, status){
1 n2 Z: ^, J, t' L                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
: s! D3 [8 j% k' ?9 N                                callback(returnData.RETURN.success, returnData);3 Z1 R2 `! i2 D" i, v9 P
                        }1 p0 B; j$ ^/ l$ M4 k
                        else {1 Y1 q% ?0 b# ?6 S* v
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);$ j2 y$ n- T5 }0 [" b+ k2 u
                        }! }8 w( ^2 Z0 _0 u9 p# Y* j& _
                }  j% d: D. p5 F. ]
        });
" |9 P6 L0 ?$ u* S: R3 l}
1 F$ Q* S* l( _9 }7 ]4 m
2 f( s1 N4 k8 E$ G) a! M  r9 V% E/*---------------------------------------*/* I) {: ]& G$ Z9 y+ l
/*useradmin_secondmenu 二级标题             */  k  m% J9 w# Y6 S  p5 c& ^
/*---------------------------------------*/
( V4 e  U+ P! z/ o+ Y. E$ p: Wfunction getseuseradminInfo(callback){
7 T* m( D  x+ |" K        $.ajax({
. x8 G3 Y6 z, u                url: 'cgi-bin/admin_sidebarmenu.cgi', # q" _- I4 v* W# R8 b2 X* Y
                dataType: 'json',) y7 v: a% `- @3 a- `
                cache: false,
: l: A: V4 g) p                async: false," }* M' b" }4 T) s
                success: function(returnData, status){1 u9 H1 s" F' M
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
! u& W) Z9 D# O7 A/ ]; Z- @' U; ^                                callback(returnData.RETURN.success, returnData);$ g6 E7 \- n- @9 _& x3 ~% Z
                        }
: u6 x" V* ~# V" Q2 s                        else {
$ e, s" z5 S1 p/ K3 Q4 z% R                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);1 R, S% s6 q  {$ O
                        }% K6 H9 c" z/ Y4 M
                }
/ X! T, f/ |2 ~        });
$ Z6 e* x4 S/ `0 j( C9 ?}
9 |( |0 d! {% U) B/*---------------------------------------*/
+ F" Y2 a: H, a6 U  \/*olt_auth    LOID认证                   */" T( M; Y, |$ ^6 V. c* j8 k
/*---------------------------------------*/
) D, p# e) [  T/ O1 X# K" ^& m: s5 w+ W
function getoltauthstatus(callback){
/ ]; d% o4 v+ i        $.ajax({3 L4 c9 b8 {* _5 M: o+ ~
                url: 'cgi-bin/olt_auth_status.cgi',7 |4 s- `: d' u
                dataType: 'json',2 k, e) e6 C# G6 a
                cache: false,
, s6 K: X( L( o& B6 X- `$ t                async: false,
% t4 |4 ^& ~& ^8 r3 I. h) {5 S                success: function(returnData, status){9 q& d( Z# O3 ?4 }" o  E- P
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {5 N) [! D+ G8 v  B' ]$ z9 w3 T
                                callback(returnData.RETURN.success, returnData);, J3 O1 n& m9 d/ h, Y% w; ?
                        }
2 `4 A* Q* b5 r3 D                        else {
* s8 C7 L+ a, f. B: V                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
: e4 |9 O4 T  Z% P) I& o+ _                        }- g+ a% |8 j7 o! H% F4 u* E
                }
0 d& \) A! }) c! J9 D) A        });* j! {; B2 x6 A# B. K
}7 n1 o' Q* N4 R+ Z+ M7 g
5 R; a) p3 g/ y) y$ R9 H7 r/ l
/*---------------------------------------*/( m. X" A/ G; q" ~1 g3 j% @6 M. l
/*broadbund    Internet连接              */
9 m3 s7 ?# q$ G! C! w- f; r/*---------------------------------------*/
5 s' z) G+ g9 ?3 Z# H9 z* q  \# D; z- m: X
function getbroadbundInfo(callback){
& H% z2 R3 ^4 Z        $.ajax({
; `- P- j* ]5 N/ u7 Q- |                url: 'cgi-bin/broadbund.cgi',; o. U+ Z. U3 b  J
                dataType: 'json',
, W  {$ {/ l; ]- Z* B            type:'GET',; N. D8 v1 U+ n7 J/ C
                cache: false,- a7 {/ ^8 ?- j( l2 ]
                success: function(returnData, status){! |; A# [2 `: U
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
- R/ S+ {2 ?  O# Y% p- r$ n                                callback(returnData.RETURN.success, returnData);
9 s, j( g' E6 l: Y. H3 ~* J' j                        }6 N6 v  V6 d8 [1 X" o! y
                        else {
3 J4 C8 \  a7 O; Z' m                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);/ a* X1 d3 {" ]
                        }7 a: _9 W5 G5 _, \
                }
9 _8 c3 i8 Z* Q/ U  g$ X& H        });
, V/ z4 @8 G: E}: L! G5 R8 z" \" i" r  A2 O8 _
2 P* T8 b5 ]5 Z! T3 W
function setbroadbundInfo(broadbundJSON, callback){. P  Q! j5 J' o1 Z
        $.ajax({$ {  ?8 F5 ~6 u- \; A+ V$ a% G
                  url: 'cgi-bin/broadbund.cgi',# f' _& J$ ?' Q+ F; v
                  dataType: 'json',9 c( Q- P( h' z
                  type:'POST',+ I% U; T; E' o6 T( N# i: L. N  {2 C: r
                  cache: false,0 r7 x" `$ g8 s3 l; [
                  data: broadbundJSON,
' B8 z1 ]' H) C- R3 p               
- q9 }+ F' F  ?: T2 }! y                  success: function(returnData, status){
8 z  _. V6 d6 R/ g                        if(returnData.RETURN.success){/ g( {& W1 n  N& G
                                callback(returnData.RETURN.success, "");1 q+ m+ D+ M: ]$ f0 Z, Y) n1 R
                        }else{
1 V- G! C2 H$ \  z* y5 F                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);! m2 r: f* c) A$ y8 p
                        }# q' n1 I# K+ w% K$ }8 h
                },+ _! ?7 Z5 E3 Q! M- o: M, ]4 K
                error:function(xmlhttprequest, textStatus,errorThrown){0 `; w  K' L3 g7 g0 p
                        callback(false,"ERROR_GENERAL");
! o$ O3 N0 ~) f2 `! ^% |                }; X9 ^' j& x9 d; _4 y" K
        });- \  W8 a/ M, _
}
5 J: B' A, V1 i& ^! ~
+ v, f7 ^0 {  x/*---------------------------------------*/
+ h9 e( S3 l! T: d/ `/*wan_access    WAN接入限制              */) h: f, C0 F9 J. `8 F/ z
/*---------------------------------------*/$ x) j" i2 Q. _9 |3 L; {( i
: \6 N9 Q) f1 u5 z% a0 c
function getwanaccessInfo(callback){0 G5 L' \3 q! }/ E4 p
        $.ajax({
$ M& u$ @1 v; t* U4 U$ D, ^: u8 f                url: 'cgi-bin/wan_access.cgi',
0 l) q! v. H* \0 u                dataType: 'json',) M9 C8 m( f0 j* p8 U: L
            type:'GET',5 t3 e2 k/ I7 \
                cache: false,
- d: J$ i% Z4 t! ^" {/ H! t5 @                success: function(returnData, status){0 B. G" |' b2 u+ E
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
. v% P" ~) j- n6 F! W                                callback(returnData.RETURN.success, returnData);/ b  |) V3 w5 [* D  B
                        }
, R( H, ~/ V- R& `0 ]; Y                        else {
6 @& x2 r* h/ z                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);: f+ T% U7 t0 Y6 A& w
                        }
$ s) y& A" o1 T. B                }
. f- I# r0 X) Z7 |" a        });4 z$ f8 x9 Z5 D9 F
}/ ^6 Z3 V0 |' U7 C: U
; V7 x, [) d8 F# `# A6 T
function setwanaccessInfo(wanaccessJSON, callback){
: f3 ]+ w, e( g* I/ }& Y        $.ajax({
8 O( C6 {/ e4 E2 ]                  url: 'cgi-bin/wan_access.cgi',. K6 S2 Q. [# C! H
                  dataType: 'json',3 W7 p, i9 s" Q5 t3 m
                  type:'POST',7 N6 u8 q9 d0 C# l. o* p
                  cache: false,2 n, u$ m1 i2 a4 W: H, y
                  data: wanaccessJSON,
5 g1 `& G0 |# j! Q2 E               
. M+ f, z* M5 t8 k                  success: function(returnData, status){6 F1 X$ P' r2 E+ ?
                        if(returnData.RETURN.success){
- ^. p6 }! t* Z- z: }7 R                                callback(returnData.RETURN.success, "");
; Q# h! W7 E' j3 d                        }else{
- c3 R& \9 w8 S; Z; |/ q                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);$ I0 R5 X* t: i% s6 _) G
                        }
& m! T/ U+ s$ f- ^! r, z" w3 }                },
6 Q9 z  U" H! O: v. W) u4 l                error:function(xmlhttprequest, textStatus,errorThrown){
4 ]# d$ B: S, F# O                        callback(false,"ERROR_GENERAL");
7 t5 c: F& l. S2 i                }9 I) |& x$ \% S8 }3 \1 W& \
        });( K2 \" W$ ]5 K7 a  _( \
}
  K: Q7 Q, k; V+ n( U# {4 b) g1 H# [, q
/*---------------------------------------*/, K! ~6 Z. V  o( h4 K# C% j! Y! r2 O
/*telnet           仿真操作             */
" j2 U3 X5 ]% I+ l) a4 p" E" M& T/*---------------------------------------*/& l% e' J3 u1 W
: |2 D& s8 O( a6 J% t2 e/ _
function gettelnetInfo(callback){# ?" V: d+ @8 P7 G% F' e
        $.ajax({
5 U" `% g( ~: g; k" M" v: _6 s6 w                url: 'cgi-bin/telnet.cgi',- N5 I0 Q7 f6 l7 [
                dataType: 'json',
6 N: U3 @& B- S3 @/ @- W            type:'GET',1 c! G# |" y( }5 U
                cache: false,. F1 M0 i3 X* B* j* r* }' c
                success: function(returnData, status){
9 `9 j7 y! B/ S7 y. U- E                        if (returnData.RETURN != undefined && returnData.RETURN.success) {  x8 c/ C8 ?0 b
                                callback(returnData.RETURN.success, returnData);- S7 j+ j3 t' d1 p
                        }( k# W9 L2 `$ \' k# p& O
                        else {
: E1 [: T* |6 I; q& b7 l$ v6 q4 y5 p                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
+ O5 v( p0 s" K1 F+ X: V  X                        }
' l: Z4 Q8 w6 N' k& \                }
" `8 U2 Q9 T( p6 I- Y6 C/ m        });
, a- i5 w# }) H1 c, R& }2 n; B}
* q1 Z! R# I5 ^2 u7 a; x* C: q! C* A
function settelnetInfo(wanaccessJSON, callback){' o& ~" g1 ]. O5 h8 @# l' u+ x* E/ M
        $.ajax({+ W2 K5 D/ \+ z/ t
                  url: 'cgi-bin/telnet.cgi'," T) U. I" d9 U$ Q
                  dataType: 'json',+ J" ^# W, ^) o8 ~% e- L0 T' v
                  type:'POST',$ b, ^) p# w  G' ]3 ^0 B) g; X3 X
                  cache: false,
- M$ y+ k% P* y( ?  v9 l. @$ [7 W                  data: wanaccessJSON,! Y1 o  v( ?  i5 c  a1 n
               
$ R8 P7 S" ^* I/ c0 n5 ^6 n                  success: function(returnData, status){8 I0 X* \6 u7 T( P; }, ]9 u
                        if(returnData.RETURN.success){7 V, O# C0 z( d8 s- {
                                callback(returnData.RETURN.success, "");
) t. k! D) P( P6 Z& Q                        }else{
. l$ X2 q( ^* i9 {) I                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
1 `, ]$ d0 K3 W; i9 B0 d9 ^$ @* u                        }
- l  ~# ~! |! o$ r1 K3 T                },8 V' n5 g9 W* x* m0 {
                error:function(xmlhttprequest, textStatus,errorThrown){" y( P1 U) ~% ]- W
                        callback(false,"ERROR_GENERAL");& ?. @: l! ~5 j5 e' B
                }( p3 H5 L0 G* q$ N
        });" b" e+ t* h1 q4 K
}% {4 d$ w: u2 n1 z. u+ ]5 Z; T, u9 ?

, o* A: ~2 [% E# s7 Y. j
8 O% g9 ^& c( j/*---------------------------------------*/
+ M5 {: y; K$ s, q. X/*wlcfg 无线wifi配置                      */
: A+ R4 ~* F" F3 @0 B# S, h0 ]/ t/*---------------------------------------*/! [4 C, V4 o$ Y* m' e. o$ O3 [
//returnJSON structure contains a wlcfgJSON structure6 a" [/ I9 k0 H7 m

0 a/ j& H& d, a7 o% T! T7 d1 ]) Efunction getWlcfgInfo(callback){# |1 R/ z5 ?' y
        $.ajax({8 s1 \, z  }+ F2 k* o6 e
                url: 'cgi-bin/wlcfg.cgi',3 r$ S/ T7 J6 J1 W
                dataType: 'json',
- t4 C% [, \, V        type:'GET',
; |4 S0 n9 U- V$ r$ W, R                cache: false,  y3 j  [3 |- W: W
                success: function(returnData, status){: t& n4 X& |7 J0 x* _
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {) B9 v) D+ t; g; q3 T' l) y: N9 s
                                callback(returnData.RETURN.success, returnData);
, A5 Y1 F% {. x9 R: ?" j                        }
2 j  [& F4 B$ e1 \: O/ B6 i0 d                        else {
' m% H' h$ b0 G/ D3 F- A" O$ Z) n                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
$ Q; S9 z4 \$ E6 m7 H                        }+ u1 N  _2 M9 N5 y
                }
2 y0 b5 Y- d0 A9 g& O" Q        });1 [* {& V# L& \0 T# f9 z0 I8 E2 ^& ]
}
. {5 r/ Q2 e/ M' [0 j5 t1 `8 ~! n7 ^0 A1 {. {0 X
//returnJSON structure
3 _! w- f$ B% }8 d# jfunction setWlcfgInfo(wlcfgJSON, callback){
& P. g1 u* O% ?        $.ajax({
. K) w$ R! w  m2 S8 S                  url: 'cgi-bin/wlcfg.cgi',
; J% g; o% x0 h% ]0 ^' H                  dataType: 'json',
" G4 x. f) W+ n) W                  type:'POST',# o/ ?. v7 c! w$ h5 ^
                  cache: false,
( p: L7 P/ R8 h% B                  data: wlcfgJSON,. ?$ \8 V- q9 p( p/ c0 [: v; b3 ]
                1 x' ?! ~6 u! k& y
                  success: function(returnData, status){9 n& U5 X" G! J( [
                        if(returnData.RETURN.success){
, G" ?7 U8 t1 d                                callback(returnData.RETURN.success, "");
" Z4 d. U. L% f+ y, Y                        }else{9 A  \: w' q, x' W+ |1 l
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
# `0 x" q: C- q                        }$ n; Q& a# i& g7 r0 a
                },- t. c+ A6 C* O
                error:function(xmlhttprequest, textStatus,errorThrown){
3 G8 [( d1 E. A                        //something was wrong
4 k$ r" [. P: \, J% u; `                        callback(false,"ERROR_GENERAL");* |/ Z1 j' N1 o  e& i0 P# k8 W
                }, j& Y* e" B, V# K9 N3 i
        });
' [  V: S  H7 V2 H. g}' Y. O! W/ {$ \

. [) S  `" x! }/*---------------------------------------*/9 s; {' q; q8 p; h; d
/*wlsecurity      WLAN高级配置           */
0 {; w! d' x* I- f0 N/*---------------------------------------*/
( Q  C# z& u9 n3 M! q
. F$ F/ \* C' R5 nfunction getwlsecurityInfo(callback){
) j% r, d8 y3 r! W* D+ q. I7 I        $.ajax({* N0 h8 H; I- H/ I
                url: 'cgi-bin/wlsecurity.cgi',
: p0 f1 \% w  o1 }/ m                dataType: 'json',
1 v0 k% _" I6 x" x! m" \5 V            type:'GET',
( Q. f! S( w6 W8 v. k. m* T/ [2 i                cache: false,' n  z2 ]  b% ?
                success: function(returnData, status){
% q2 h. B3 ]4 Z8 F                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
# V6 h8 S( O$ y$ h& f                                callback(returnData.RETURN.success, returnData);- o3 v+ b9 a, ^* L2 h) }, t) G
                        }
; }% ?1 l! ?) U  G5 Y                        else {  u1 r3 L% |* H8 e
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);6 n) T/ g& X3 Z9 W
                        }
$ [) I9 j5 j3 O' r9 w1 I. o                }
! l+ Y8 J1 t6 U2 c" {: G; Y# l        });
9 W. X# y. ^2 P) |}! b4 T* d3 T9 K8 S

5 t! N& ^9 C5 L, o0 rfunction setwlsecurityInfo(wlsecurityJSON, callback){
6 w) z3 t/ ~. ?$ Z        $.ajax({
$ C- s) p  u( P2 B% L. L3 x. F5 j                  url: 'cgi-bin/wlsecurity.cgi',
9 ~8 u' O% q7 \' d4 v  R; b                  dataType: 'json',
2 a3 B" o$ L; i# b                  type:'POST',
8 ]7 o. H* Q$ C! |& H4 x) C! M                  cache: false,8 |: P* y4 G. D2 `: `
                  data: wlsecurityJSON,
) w- i* a/ P9 ~4 f: I1 j                ( N: v! S+ u% ^- C0 Y! N' r) E
                  success: function(returnData, status){: f6 X& K$ L/ w1 X5 G1 l
                        if(returnData.RETURN.success){. X& Z  I) X5 t) ]  I# t
                                callback(returnData.RETURN.success, "");
  M5 p- l6 c0 G                        }else{
3 s0 D- j% y5 r* R* i                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
$ y) r1 K# W; q% B                        }
. w7 l0 t, T4 W- W! O                },: f+ J4 Z( B; J/ j* U% S9 \  m+ F
                error:function(xmlhttprequest, textStatus,errorThrown){
, \; p# f8 l% E, P+ M                        callback(false,"ERROR_GENERAL");
1 @; M5 ]; P/ ?% J+ V# W3 J                }/ l( m/ p9 y& m' P
        });
. f5 ~  }6 p, m9 N" z; M& G}
& a0 g% r" E5 _% g& F% R, Y2 n9 W1 t; R3 y. ~- |, m' J! N2 J
/*---------------------------------------*/
& z0 e# Q9 j. F, ^  v# {3 J* V/*wlwds    WDS配置                       */
9 K% X  G9 G% b) M/*---------------------------------------*/& g/ S( j: k4 i' w+ V
  Q. f# R  t) K7 H: x# r
function getwlwdsInfo(callback){  o# R  C- ?( K: E6 q( }% h
        $.ajax({- l$ m- p8 Q  P/ M( x8 ~/ A) K
                url: 'cgi-bin/wlwds.cgi',
6 H$ u, v) w- N. u                dataType: 'json',
+ W$ W6 C1 N/ i0 ]' e            type:'GET',
' B& K1 }3 R* {! I& o) I                cache: false,
/ L( W& X) O1 h1 `; Y                success: function(returnData, status){& B% e; Z: @2 V
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
( q0 v! ?1 N! M) H                                callback(returnData.RETURN.success, returnData);6 H4 K/ o. B- C1 x8 h
                        }
! E7 l3 o/ `: B0 P' l% h: d                        else {2 L9 W$ C& H, T/ X; m
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);2 i( g. b; O- Q! l
                        }& O1 O0 ]; R4 o% r; `
                }
8 |5 k; ]" J. ~        });
6 a; N) G7 }  ~0 j" F2 A5 g}0 ~3 v$ _7 b: \: W
, K  r/ a, [8 g5 l) ^4 Z+ X" a! ?" j! p
function setwlwdsInfo(wlwdsJSON, callback){- o9 @  N: C. J6 F% j
        $.ajax({$ V" f6 [8 ?1 g* V- h0 ]
                  url: 'cgi-bin/wlwds.cgi',4 q! a/ x3 c/ ?3 {( Q3 I. X: ~- e
                  dataType: 'json',
$ g  \; \8 v, H& k1 k* ?                  type:'POST',4 D8 C; d2 m4 p/ H
                  cache: false,
9 d1 ?( n9 M; u                  data: wlwdsJSON,
# q9 f! `- M# H7 l               
3 H/ M9 `7 [# Z$ k* U2 S% X                  success: function(returnData, status){6 q# U* x1 `( {
                        if(returnData.RETURN.success){' G, L9 F3 o/ J& R* @* S
                                callback(returnData.RETURN.success, "");6 Q/ v$ L# g9 T2 {# |
                        }else{) f3 W$ y7 U7 ^+ d( a# T, s) F
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);3 h1 M) z0 P/ f+ E  U+ Z; S$ k. x
                        }, x# J9 L- }/ J- ?% P
                },' \( Q, L  n* ]/ [7 C5 A
                error:function(xmlhttprequest, textStatus,errorThrown){
; F+ ~4 Z$ D- w- ]8 ~+ o                        callback(false,"ERROR_GENERAL");
. l* M8 B3 H) r7 K                }( W+ b3 j/ y# n3 M: U% u9 m4 o
        });9 V0 j7 _4 G# f+ `4 K
}/ ~$ Y: x$ n% o0 ~1 H

" \3 h3 M1 ^3 O9 p! x/*---------------------------------------*/
- m" v, A) X% S4 `$ M/*baseinfo 设备基本信息                 */
5 G  o& s, s% X9 F" s9 g0 b$ u# g/*---------------------------------------*/
6 y. E1 `& T7 E9 i9 |
9 y4 e+ f$ k/ U& @6 r: V4 ?function getBaseInfo(callback){
# p& P& H- Q6 r+ H        $.ajax({% n7 b, T- u% y/ w
//                url: CGIPATH+'/baseinfo.cgi', & G' L  V; V* m; E3 s
                url: 'cgi-bin/baseinfo.cgi',
. D! }  S- x/ H$ l2 \* H. P                dataType: 'json',1 m' z- P5 C0 ?* [
//        type:'POST',# G7 Y7 ~9 M% k9 V: ^
                cache: false,3 G1 {/ t- }8 _& p7 {  o
                async: false,
4 I+ D! b7 [0 v) F, r$ H4 b! i                success: function(returnData, status){
6 I( t+ P3 W; M1 ]                        if (returnData.RETURN != undefined && returnData.RETURN.success) {$ s3 s# R) _+ @
                                callback(returnData.RETURN.success, returnData);" ~$ H5 Q4 a9 l
                        }
8 n! f; U9 a! p$ ?5 A6 w! l                        else {
9 J' f' [! d# w                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
* \3 z! @/ |. v+ |( R9 m0 E5 |. r( C                        }: J8 S; n* H7 R1 n! G2 y3 c, m
                }
1 P& F3 b4 Q) K+ N5 |* [        });6 O" x1 K9 o9 K( _2 B
}+ C. n/ O" J7 W" t: Q: g; V* V
" f2 s+ q8 h( K8 _5 J
/*---------------------------------------*/5 w6 z( w+ ^, v
/*usbinfo USB接口信息                    */% [$ U7 `  `8 B, K. }/ h; [
/*---------------------------------------*/2 f; [' i0 D: I+ w1 U* m" ?6 f
function getusbinfo(callback){- w! Q- l) S% b
        $.ajax({3 A: h+ Y+ M9 z8 L' ], p
                url: 'cgi-bin/usbinfo.cgi', 1 w# G1 Z# s5 R8 [
                dataType: 'json',
) ^' u. m3 K& [, K) ?- D, s% Y                cache: false," w! x' S2 C# @0 o, K, b* D
                async: false,& o  D' ~8 e. |# ]
                success: function(returnData, status){
" u3 T' z6 U: R! \                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
( j( O" [9 H' a$ n2 e- H) B                                callback(returnData.RETURN.success, returnData);
$ R" E% _% c! m" S/ V; R8 c5 u7 u) w                        }4 B: i0 }$ A0 r) h* \/ i
                        else {* ^4 X% r0 V) t  Q" A1 l
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);! w5 u" M9 {4 @  k6 u. e4 s
                        }+ K; G  Z+ N6 r9 A. b/ i5 a! x1 L+ Q
                }9 j) z( [# V1 m6 i0 `5 {! f
        });
9 |. H; Y8 X5 `0 s' g  K}
, d/ H3 @" m# K5 T' a  K
- s0 _2 g7 x, D+ \6 q0 w* K, C/*---------------------------------------*/
9 I* O. w0 ^/ q/*wancfg 连接信息                        */
1 e6 u/ y, N. F4 L4 }& e/*---------------------------------------*/- n( D! C# O8 \4 h  Q9 p, D: E
function getwancfgInfo(callback){7 N3 e% X: P% M
        $.ajax({( L( D# R' j8 o2 C* ]2 I
                url: 'cgi-bin/wancfg.cgi',
1 E# o2 |: Q' _& V# _' Z0 U$ h                dataType: 'json',
# q- w- W) h( B0 H+ D" ?                cache: false,
2 K5 W% w3 ^3 x0 g5 {                async: false,0 l, I6 f7 O3 q; p
                success: function(returnData, status){
' N( V% B8 B' o* q1 o' T; D                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
+ R9 ^2 X& F8 W3 z; r" F                                callback(returnData.RETURN.success, returnData);' F; h$ ]2 |3 b7 y" _
                        }- X3 Z: w! D6 i; K$ Q/ ~: j
                        else {6 _4 j( t4 W# h2 D* z$ q* t
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
' Y) d7 `5 i" ^1 T                        }( o6 L# D' I( A2 ~: K
                }. r; ~3 f8 V  r! L
        });
# R: P( `" B" O6 u}
( h+ m8 t- S; J3 k3 p( I4 [) z6 W  `' w
/*---------------------------------------*/& a9 K- P: N* g" K# X
/*wlaninfo WLAN接口信息                  */8 \+ V6 {6 |$ f8 s: t- }- v
/*---------------------------------------*/
) S6 P! [/ l1 pfunction getwlaninfoInfo(callback){
) H, [- H5 X/ D  s. O0 [        $.ajax({
% _* {" h" U' O' e9 P1 R                url: 'cgi-bin/wlaninfo.cgi',
% H% _0 d' \" @- I' t. c: ?3 V                dataType: 'json',
/ q. a& v5 x5 z! J0 s8 b) m" h5 l$ H                cache: false,
3 D$ V9 |& U7 ^+ T1 G5 T- I( H$ G                async: false,
! E, P# L) {* J3 Y5 `" ?                success: function(returnData, status){4 J9 k* |* e6 ^. g( b
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {' y; N# i5 i. Y/ b3 E3 Q0 Y
                                callback(returnData.RETURN.success, returnData);
& y! |5 a) X: S$ y8 J                        }1 u' {/ T: W$ i
                        else {, }6 D0 s5 f" s0 e& A) @/ E
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
, ?8 P% P$ W: V8 M. ], y  E9 P                        }
$ d" v& b9 e0 y- d  |8 c                }
5 G# _- {# n( U8 w$ G6 c9 ?6 e        });
! |: M5 D0 r6 j0 A2 C}
- u4 N. X3 n8 J( j" y6 T( T* E! S% w# e! r
/*---------------------------------------*/0 s/ i( K2 l& A' z' Y, _) |
/*statslan 以太网口信息                  */
4 k5 @; J. A$ C2 `/ s7 L, L6 j* B/*---------------------------------------*/
( R0 W$ {, x- ^- v( jfunction getstatslanInfo(callback){
2 o' J2 D1 Z1 t6 I" |1 r3 i        $.ajax({3 }  i1 ^6 ~5 v9 I+ e' T4 }- u; [
                url: 'cgi-bin/statslan.cgi',
# C% W( M' j! h5 m. F8 a- t/ J+ V                dataType: 'json',
$ p% K4 Z% T; A0 C                cache: false,, b) _( k, F8 P) e
                async: false,
4 \8 i" T. {+ z6 s3 S                success: function(returnData, status){
; \1 X3 x/ \6 I! I) s                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
  ]; {* n+ \- w                                callback(returnData.RETURN.success, returnData);
! y: Y8 v# K: D# Q                        }
4 U- u$ d5 y& i+ f. F( d4 i( o2 t                        else {3 C. O4 r1 d. Q$ K+ P" R
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
/ Q7 S) ^4 [* o8 r                        }  W2 j8 O) `1 G2 G! z% V3 g. |
                }# D% d8 Q7 J" @4 `  B# S
        });
) w3 L4 J+ U( l0 [6 }}4 d5 G  \0 H& I1 O2 {

$ n# H: g: n* m3 J, ~- I) j! l/*---------------------------------------*/4 M1 @# f8 O: P' w9 g" @2 \4 ]
/*acs_config_status 业务配置下发状态               */
0 }7 a9 o% J8 G% e" }# n/*---------------------------------------*/
$ U: M" H5 c6 L$ ~$ T0 b- a  |function getacsconfigstatus(callback){$ ~2 q! R9 K  D/ v2 |* l
        $.ajax({
3 v: x( R1 I1 a; x5 }8 h                url: 'cgi-bin/acs_config_status.cgi',
# {% U$ q. f" o4 J* ~1 o- o( l3 u                dataType: 'json',
* M: C0 f2 n- S: `# n( z                cache: false,
6 U& T+ V% y: |' x& U                async: false,
0 ]8 N1 b4 |- O8 r( B                success: function(returnData, status){8 i! @8 ], t( p1 ~% P* b; n
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
1 k' _' w1 j& z$ |                                callback(returnData.RETURN.success, returnData);
! @% Z. b: u8 z/ a* E                        }
2 Z7 G6 e6 n5 |6 ~# \/ ~6 x                        else {
- \/ c) u1 U. _) m2 _; _( S                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);# r. D& d5 C8 }5 M4 B
                        }
+ t7 P" U# f' W6 o                }
; h) W8 N! L; R( _) j7 S7 t' Y        });* F$ q8 E! E8 w' p2 [7 D# H+ t/ I
}* r6 S$ J3 y& Y% |3 Q( f
6 k: S) h. |! I7 c9 N
/*---------------------------------------*/
& z! r# ]# h1 X$ U- Y+ ^/*voicesipstate 业务注册状态                 */' N: Z6 A3 L& ~1 _  E1 f
/*---------------------------------------*/
* t3 l6 \/ s+ t% i! J' j; L2 A( D: h2 q7 a- p& L$ L$ {: w
function getvoicesipstateInfo(callback){$ b6 i0 B: Y6 {1 d
        $.ajax({( E9 t- x4 P4 X+ J) c  b0 @$ l% _
                url: 'cgi-bin/voicesipstate.cgi', ( s8 {$ |3 \: G3 \* a
                dataType: 'json',
. c& M# E4 S7 @) n( g, d) e                cache: false,
  j" x& f" g8 L* S+ }& K                async: false,( |  o- e/ _, S) v2 g* v/ _5 W' R
                success: function(returnData, status){
2 r% t8 O0 i& _9 k! u) n2 W$ I/ _2 d                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
7 z/ S, g" @7 }' B                                callback(returnData.RETURN.success, returnData);
% M9 M7 {4 {& W: Q                        }4 p* ?' z& P( G. V
                        else {2 R2 k9 a  s9 j
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
) k6 O5 `" j- U" u. U' s                        }
" v% D8 `0 n7 p: q, W- v                }( M. T* ?4 E8 F  K8 T9 o
        });5 C  y* O9 |  J) ]. b) ]
}
9 L2 e# n. }( n7 D
0 K/ V. R8 y% v! h3 ?# k) |# _
7 I' z! d2 W' `9 e( X8 m  }/*---------------------------------------*/' `( I6 K4 z" @9 B* \0 v3 j
/*voiceteleview 电话号码                 */
" u, n- X0 _% w* M/*---------------------------------------*/, V, J, \* ]. A' N7 o! I( f
function getvoiceteleviewInfo(callback){
7 I' Q% R4 l4 z: j8 R- _; j        $.ajax({
; L6 W" S1 p. [( `8 E                url: 'cgi-bin/voiceteleview.cgi', % ~/ s$ G* ^$ ]
                dataType: 'json',
0 m  ~# [: p& t+ k. y                cache: false,
, i" F" R# ]/ s                async: false,% \4 g/ a. k, C) \
                success: function(returnData, status){
! R- ?; z  C' H( ^7 ]* S                        if (returnData.RETURN != undefined && returnData.RETURN.success) {9 G# }2 O( ~' z7 h/ ~
                                callback(returnData.RETURN.success, returnData);: E2 a8 C' R6 A* ]! F& ]4 }
                        }5 L; \' j# i# |; W9 {1 r# r* i" l: s
                        else {+ A  C  b' y7 v; P/ \
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
. @" T. M2 D$ Z7 b/ z/ @                        }1 ?$ R; i5 `- w6 z& {
                }
  j) J2 o" V- j" K8 J. f        });, e+ n! C6 A) x' d8 l
}, G7 G  M/ j* B$ i0 v
9 H/ T: I, Y$ K% m

7 Q8 ~  a9 U! t: u( L  U/*---------------------------------------*/
; `8 e: K1 z: Y. I; V: a/ k/*baseinfo 设备基本信息                 */- E- ~. I9 q/ e5 n9 c8 H5 r
/*---------------------------------------*/
& |$ q/ M7 e' T% N- Zfunction getusbinfo(callback){
6 z: {6 q( \7 C4 y        $.ajax({
$ _0 r8 L& F' V                url: 'cgi-bin/usbinfo.cgi',
7 k4 g7 @1 q3 {                dataType: 'json',
8 \2 n0 W; z! B& t$ |! X                cache: false,
" x1 _$ q9 m2 }8 e. G                async: false,' J/ m; x: l, M7 A9 w
                success: function(returnData, status){0 ^0 r2 g( G- w7 g4 _
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
* `" K* A+ P& W+ |4 C/ G1 ?                                callback(returnData.RETURN.success, returnData);
& N; U7 \* P1 r" {  \; z                        }* i$ W( Z/ l4 K0 f4 y- l( j
                        else {0 ?" a+ B# O2 P. m" K3 A
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
/ b, J& d/ Q& ^1 M* {( p  w2 t                        }
7 f/ I$ ]( [2 Y6 ^                }
! g' u! Y8 e& k2 `6 H9 \  T3 Z        });9 a% X$ o3 C0 S5 l1 T
}
9 R) U# l4 F% H) a- i" u- ]& [7 |( d! |+ Q

# H7 I+ j  a& H) A  w
% i* p9 E# j$ ^" N- Y& a$ [, G; O- [7 `
/*---------------------------------------*// n4 z' p; z4 u1 R6 H
/*oltauth olt信息                 *// s$ l1 N1 O- B8 ^/ y
/*---------------------------------------*/6 C+ x. f; g7 }1 p+ q

+ Z: |8 q' |7 V) b* n. Mfunction getOltAuthInfo(callback){, p) F- s# u2 N- R% J  n! r* u
        $.ajax({7 I  b/ e0 I% @! Y- v8 p' U6 F: |
                url: 'cgi-bin/oltauth.cgi',
" ]1 @4 n' U( `3 A                dataType: 'json',
3 v" j* n8 d$ n4 _/ w            type:'GET',# }. r6 z7 h- z2 y( p% M+ {: b
                cache: false,( V# E0 l2 R, d" M) U
                async: false,
6 {) G" U& S7 K3 E/ |                success: function(returnData, status){
" B  H. c4 O' H! I4 |, a& E- t  F                        if (returnData.RETURN != undefined && returnData.RETURN.success) {, n% t) z2 ]5 F, t/ n0 k
                                callback(returnData.RETURN.success, returnData);( L5 A0 @! T+ y. Y
                        }
: D( T+ @8 P: X# r/ M. d                        else {
0 @' q8 C* q/ J5 [9 P0 W  c                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);3 X! _; e: D* l9 q0 N
                        }
; B7 v5 l6 K: a% y% v                }5 F. i2 l3 @6 i9 U& S
        });
% E' D0 W. F. q, I( Q" G( C}
9 \2 y3 a) ^* ]3 C( `7 C( X$ {# y
$ L& k# f9 v1 {3 ^- mfunction setOltAuthInfo(oltauthJSON, callback){
1 X& Y0 }& ?5 T; `- p% A0 J+ W1 ?- P        $.ajax({/ M) }& |3 G1 K7 Y
                  url: 'cgi-bin/oltauth.cgi',* J4 {, ^0 g- G6 _- u
                  dataType: 'json',
$ X% _2 }# F  C5 U6 D; ^                   type:'POST',
& P$ J5 u3 p' D/ z. c4 Q: G$ ~                  cache: false,# X2 ]5 J) p. H  u8 l
                  data: oltauthJSON,2 I0 Z. J( ?5 z  I* n% `
                5 f; f6 c2 G0 R6 ]* @
                  success: function(returnData, status){" {1 d* }# [5 v% W  u
                        if(returnData.RETURN.success){6 y) d% i5 E' ~
                                callback(returnData.RETURN.success, "");9 ~7 v& B; I8 F& x6 s- e# k
                        }else{" J5 e+ j0 F+ l5 F! }% s9 B# x
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);/ X5 o# V! }1 Z  N3 O2 C
                        }+ e+ T& e4 c6 E2 m+ g# \4 h
                },
) ]: X% Q: F$ \) |# T# Y+ a5 S                error:function(xmlhttprequest, textStatus,errorThrown){! d& y, n; ^: X% M* W# A7 @
                        callback(false,"ERROR_GENERAL");
1 f* h5 M) e) O' r' r                }& t& n/ g. ~# @
        });
9 q% g) \; ^9 S}
9 l  ^2 {4 M0 }# y. w! M. D2 H
1 f# x4 b3 Z; Y1 X2 C6 l! p6 x3 H
/*---------------------------------------*/
, J& l8 D) y- ^7 }- M. |+ E3 k/*ITMS平台 信息                          */
. ]3 W1 P1 H) D  U2 `" K  f) a( \/*---------------------------------------*/. U' G, d# \  f: ^# q& E* ~( I5 J' j
function getTr69cfgInfo(callback){' M$ U$ k) u' d% |2 f  m
        $.ajax({' {- f& X8 o  a2 v- M1 B0 |

( j+ ^3 P  C& A  s                url: 'cgi-bin/tr69cfg.cgi', ) _' b4 z* A5 C% V& e2 o; N' g
                dataType: 'json',
% v% j, }# U. \% K            type:'GET',
% a( C6 T0 v3 p* [                cache: false," S( P7 ~' Q# |/ v3 a) U* u
                async: false,
0 @0 f; h4 t- S" z5 q& }: \                success: function(returnData, status){
% C6 n: p# F4 `                        if (returnData.RETURN != undefined && returnData.RETURN.success) {  W) B' n% t4 n; ~2 H3 C9 x
                                callback(returnData.RETURN.success, returnData);1 u0 ?5 e# T& d
                        }0 S2 G0 H, ], d  w. G
                        else {
, o; H& G  p3 u  E2 k# {) z% J5 z                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
4 j( b( G, E+ n4 X& g8 S                        }
% Z0 o! `  L/ P1 s0 w; P3 m) w                }
8 i, S; q4 x  N* Q4 s" O        });
$ }: w! H' ]! k0 O, r+ P4 {, u}6 Y0 L+ x) @% G* H; }+ W

) C8 r5 I, C8 T' v, ?; bfunction setTr69cfgInfo(tr69cfgJSON, callback){
7 L) P+ _. }8 B! ?2 ^* u0 x        $.ajax({2 X6 f# a" ~) w6 d
                  url: 'cgi-bin/tr69cfg.cgi',! i" o% r- h( I+ p
                  dataType: 'json',- l6 N8 ?/ C( v
                  type:'POST',
8 {5 i* [4 O( Q$ b: t                  cache: false,7 @* A" K' @+ C$ I* E2 i) z5 i
                  data: tr69cfgJSON,
  a2 C; t& t) ~# h7 P               
1 x2 @4 a9 h; _) D% o                  success: function(returnData, status){
; y* p2 k6 H* U9 z5 b* w                        if(returnData.RETURN.success){" t8 A9 s$ ?4 @
                                callback(returnData.RETURN.success, "");
, n: }6 j. ]  M/ B( [6 l* b' v                        }else{. a3 W, E- M8 ]" N  s
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);1 F6 n& F; o  }# j, j3 k, S' {& T
                        }
' Y3 j' c3 a7 j: I8 L) o                },
7 u, t$ _" C$ s3 t2 `3 j; ~                error:function(xmlhttprequest, textStatus,errorThrown){
' _$ t, p+ Q" y% j8 |# F                        //something was wrong  ?& H% Z- U* m% D5 j  _/ H, [
                        callback(false,"ERROR_GENERAL");
5 ?: ~3 J/ f# ~5 J                }
. h6 f( E/ o& y: w2 \7 L3 @5 w        });
* s. q" f4 I2 @' q; ~  E1 d9 C}
6 v; o/ \) y0 j/ m: R) j( J* A% M' D0 K! H3 J3 h$ x
function fremovecertca(callback){% Z8 }7 A6 U2 }5 j, L
        $.ajax({
- Q4 o. E% k. K. J$ q  n                url: 'cgi-bin/removecertca.cgi', : U$ h8 n7 J: ]' B
                dataType: 'json',9 i" \  y+ A) X/ E: o
            type:'GET',
* T0 o" A9 l% P- }                cache: false,( c% s1 y; s' {
                async: false,
) Z5 D& L# J, R                success: function(returnData, status){
5 ?( G" [( ]+ h* B- G                        if (returnData.RETURN.success = true) {
# j6 k/ d; c  G3 s+ v. z# m: ~                                callback(returnData.RETURN.success, returnData.status);# ^1 h" |1 q& l# `
                                if(returnData.status == "0"){ " j, c  k% P, j' j, {. _, l
                                        alert("证书清除成功.");. t8 ]1 R# Y+ b& X0 P
                                }
  X: {4 b0 I9 f4 Q/ X. @                                else if(returnData.status == "2"){
. I# Z! l: f; A9 m2 b                                        alert("无证书.");
! D! e  Q7 }1 z; V( f! J                                }. `- U, r7 J9 B2 f0 l) R
                                else if(returnData.status == "1"){
1 M: T$ C. p- u% ^3 ?                                        alert("证书清除失败."+returnData.status);
# W- Q6 ~6 h# H( B2 }* t! ^& M) v                                }8 `6 y2 ^4 \* {, k
                                else {
( [, A: m& \2 O" L9 o6 i* t8 a                                alert("网络错误:" + returnData.status);' q9 q8 V+ Y% Z" A7 Q
                                }                        ( N( T! z/ Q2 O! R' X' G3 X
                   }! s4 d8 k  `+ E" \  Y, g9 M7 B
                   else {
$ K( g8 h+ N  o; D                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
: i$ x& E" p: u# `, ~! }, ~                   }
0 n3 V; i7 T1 T% n5 J% F        }});. @! Y- U: u$ S
}1 C/ A8 W7 y' ~4 B& j

6 O. i9 N* G7 A. P, _- D! K" s2 g, F" r/*---------------------------------------*/
0 h. f& j# h/ X6 V  T/*firewall  防火墙安全级                 */
' ~. c8 I9 E1 B8 L/*---------------------------------------*/( {# `) u. f8 l" y3 ?+ S# ~( W

9 N" C8 a0 e2 K1 ~7 jfunction getfirewallInfo(callback){
2 I$ x0 A/ `/ ]; S# S% b        $.ajax({- J1 I( D* {  c. G; A" d% L9 i
                url: 'cgi-bin/main_firewall.cgi',
# q- f2 M, ]3 J5 I                dataType: 'json',
# N- u7 X) X+ [6 D            type:'GET',
9 I4 T0 A' |- |( M$ [/ |                cache: false,
& _9 c  t" D5 L" d$ {4 D                success: function(returnData, status){9 ^6 F% v7 |3 V) V, F! [
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
; L; @. b' G* L5 r8 w8 F; g( o% {                                callback(returnData.RETURN.success, returnData);. t3 I, R& s& R
                        }
# d+ g/ @  I2 Y0 j2 o                        else {+ s0 P# J# y: m# T2 P- X
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
- o6 V2 @" N) ~) z' z  @$ d                        }
4 e$ L; H1 `& c, D! D- r% Y                }; u$ }$ O% {! U" T) ^0 {
        });
. Z" ?, B0 n4 c' |+ X$ j}
) z! X$ M+ o: ]* z; f
7 y8 Z* P8 o) Y5 ?function setfirewallInfo(firewallJSON, callback){2 k  j2 F) B7 r, d4 w/ Z
        $.ajax({- R* N+ c) `% w  I
                  url: 'cgi-bin/main_firewall.cgi',
- f0 {& P) L0 p& u1 V; Q                  dataType: 'json',
* H' }- E" f! j0 Z8 J3 f- j  V                  type:'POST',* b2 W% _; q7 d+ W0 d4 n, P
                  cache: false,9 s) y$ d4 e  c4 B
                  data: firewallJSON,
- L( m# n) }* _' I8 P/ e               
( t- @+ ~* s) G( A' i9 s5 f$ |0 w                  success: function(returnData, status){0 a; u" d/ F/ ^  w3 f
                        if(returnData.RETURN.success){- a" `/ D) i& l
                                callback(returnData.RETURN.success, "");9 ~* o/ R4 r# {8 e9 [3 `7 @
                        }else{& ^* K" K* M7 [- Y
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
" R; q2 H6 B% F5 y                        }: R/ H  t- m# ^6 H- x  K
                },8 @/ l: K0 T) f+ e7 z/ b
                error:function(xmlhttprequest,textStatus,errorThrown){
( ^6 k$ S( P( i& Z7 y" z0 v! J                        callback(false,"ERROR_GENERAL");
  K- `/ ?1 n8 Y5 P                }
$ d3 u: O) P7 u5 R        });
8 ?8 z' _! c! W' b}
# S9 r( y6 w" ]* G/ C: {% P6 V0 |
; ?: D) y4 P/ ^, X& F4 B# r
7 @5 g/ l# d9 r& K0 _6 r# C/*---------------------------------------*// s: f" ]  l: V9 I# X, D
/*doc_firewall  攻击保护设置             */. f9 t+ a* ?( }
/*---------------------------------------*/
  p4 `8 Y: x2 T9 V
* ?3 P! u7 N, }( Efunction getdosfirewallInfo(callback){
) X- d7 |2 R, g: S        $.ajax({
. _+ x% \7 E& f. r1 `- A                url: 'cgi-bin/dos_firewall.cgi',
7 E5 Y' q- X. N7 }2 ^8 A2 }                dataType: 'json',* H/ c1 y, R0 d
            type:'GET',4 J1 W; N: O; t# Q% g+ }6 x. _3 y2 o
                cache: false,
$ `# ^3 @8 J0 n                success: function(returnData, status){
# I! ^# ^# I7 a( z% Y" s# Q: o                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
- S* M6 A7 N5 c4 D8 q                                callback(returnData.RETURN.success, returnData);8 L7 H6 T! c' U& r! s, K
                        }
% j& e) A- u: t                        else {
7 b: j/ Q1 d8 u' W                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
& D/ B9 T; Z) V                        }4 {" L( a( {8 _1 i
                }$ H) T; e: p+ ]# P* v6 [
        });! Y2 [% D. ~. ^0 A3 \8 p6 r; g
}9 ~! F2 c& b; E# i- f0 c

7 ?2 y4 ?6 t2 p1 ]) `function setdosfirewallInfo(dosfirewallJSON, callback){
/ \) G# p" |# `% M+ o& X        $.ajax({
1 _( ~3 y6 l- n4 s# a                  url: 'cgi-bin/dos_firewall.cgi',
6 z2 a( {! w3 ]                  dataType: 'json',
+ }# H0 @4 L) d% v                  type:'POST',
* X) |! }# [  f. `5 q                  cache: false,( i4 F. Z% |7 l  S7 p
                  data: dosfirewallJSON,
0 a/ S5 \9 ]# B$ w7 x' ^6 _2 h3 y0 s                ) l. j1 F: X) @* W
                  success: function(returnData, status){
5 [7 j& p/ B- @+ Q4 c9 ]( o' O# H4 b                        if(returnData.RETURN.success){. j& w/ b5 E; `
                                callback(returnData.RETURN.success, "");* }4 O/ G" I7 x# n" s$ v
                        }else{
. T1 J8 _7 m- l& Q                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);2 P2 F7 i% k# m
                        }7 h& n1 u; N% K) |2 v5 I
                },
  |$ B) s7 a& W; B                error:function(xmlhttprequest, textStatus,errorThrown){9 j( s! }- w# A! W$ W! Z
                        callback(false,"ERROR_GENERAL");
$ M, }; g2 C6 \% h& j5 U6 l1 t. l                }
, a# Z6 R: o6 O+ X  W% _" k        });
/ k$ n! ~/ ~( O' A}
+ j/ P; z! W' [
7 B) I. ]1 g& Y/ M" n7 r9 _0 N! S/*---------------------------------------*/
3 @& w, K+ ?: b6 M3 K: T/*ddnsmngr  DDNS配置                     */7 M* ]8 s! K9 @+ @) r" k
/*---------------------------------------*/& d" J" P3 _5 V" h. B
: u; `3 S) r3 W. b9 y9 z# U5 b; h
function getddnsmngrInfo(callback){
0 l0 @* r! \  ?2 n        $.ajax({
- C+ i- @- Y. j$ W  R# J& y3 E                url: 'cgi-bin/ddnsmngr.cgi',
; d' X  C$ d3 _                dataType: 'json',% I$ E+ M3 S* ^2 c
            type:'GET',, O& W6 }0 R3 \  n" y6 ]8 a. S: [7 [
                cache: false,: h7 y0 O# P1 W- p( g8 h- }7 S
                success: function(returnData, status){
! N" C& w5 T: p- z0 @                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
; M; w5 F7 r7 g8 h2 i1 x; M                                callback(returnData.RETURN.success, returnData);) R2 F$ ?8 y$ H' _7 R
                        }
6 O2 [" h; s, ?                        else {9 G$ E" Z' E. J8 e% w$ s& @
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
6 v! I5 ~& A1 |) q5 p6 c                        }
: x  p6 \) N9 p" b                }
2 ]8 r' Q. j* f        });
, E7 @  z# v+ u}- ]: n  [& R  t
- i6 k! V) {) Y5 A( g+ r! e
function setddnsmngrInfo(ddnsmngrJSON, callback){
( z1 u) Y% L8 E        $.ajax({0 `$ u+ ?* H; I- j; A
                  url: 'cgi-bin/ddnsmngr.cgi',6 g8 t4 z) S$ U. P8 b! [* O' n
                  dataType: 'json',
0 i( J6 _7 }9 x& i  ~2 x                  type:'POST',
0 G1 U% J6 ?# ]# ?                  cache: false,$ L- T" P* d2 }5 L0 R; {
                  data: ddnsmngrJSON,8 x8 S; @" W! X- o
               
8 y3 L8 P, ~2 w+ ]                  success: function(returnData, status){
( a4 [7 s, Z5 B- p* h) U7 e! g                        if(returnData.RETURN.success){
9 I8 M2 a; G: }9 X9 M5 M                                callback(returnData.RETURN.success, "");
$ i( A; k, ?: n                        }else{/ y" o! B! k( f
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
, V3 ~2 @. h: d                        }, n. r3 R5 Y- ^( ^9 t& @1 X6 o
                },
; G+ c8 X0 L2 F. S; `; t3 o4 p* |                error:function(xmlhttprequest, textStatus,errorThrown){4 d" k- m. V$ D8 |' |
                        callback(false,"ERROR_GENERAL");
5 o3 d9 v; i$ K2 G; H! m                }. Q9 Q) \3 j3 ]# r1 ^
        });
  j4 t  p' E0 Y3 M3 f2 `}7 F7 |* @/ ]: U+ E8 ~' a3 j

$ @2 P: w# Z. v* _' Y/*---------------------------------------*/
" a$ I/ d" m- y8 f7 W/*algcfg  ALG配置                     */
3 v3 K4 }7 I  `* f% d4 {/*---------------------------------------*/  ]3 }% n3 I+ v* C
! I4 t+ `' s' z5 {  u9 T! E
function getalgcfgInfo(callback){
% M0 O! ^* d. T+ q1 J7 H        $.ajax({  @" Y6 r! i5 T2 [- l& D
                url: 'cgi-bin/algcfg.cgi',: ~/ ^8 H3 H/ @; ~. G
                dataType: 'json',# I6 G( X. H; O0 y8 z, ^$ ]! _; b/ @2 P
            type:'GET',; Q6 I" ?' }# I$ \
                cache: false,- c' I5 W5 P3 |0 d7 e, g9 J/ k; }
                success: function(returnData, status){
. y  I% N0 A& F                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
2 W5 j4 ~6 U. F8 Z$ l                                callback(returnData.RETURN.success, returnData);9 U1 M2 t% O& J* s
                        }
& D( J6 U/ P' H1 G) U/ O6 i                        else {
8 f& ~$ I8 t- a/ {% Y                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
, I5 o1 P1 t5 Z2 H                        }. D& U; k/ Y3 u5 H
                }1 Q: @  ^6 S/ ~& i
        });- |5 C. g& @; u
}
" p/ |1 t& |: x. N% k7 }1 |. S" _" }" T+ f4 X$ S# o' B
function setalgcfgInfo(algcfgJSON, callback){
( L# ]) G" V! T        $.ajax({
. ^* N8 n6 G( @" g! O1 ]- T                  url: 'cgi-bin/algcfg.cgi',
. k9 Z  |  L8 E1 ^                  dataType: 'json',2 o1 Z2 T0 X6 \2 s; D) O/ g, R1 ~
                  type:'POST',
) i$ C) v. q( n2 U4 o                  cache: false,
3 Z' M# a7 y& x) q  O' a                  data: algcfgJSON,
& `5 ?! f  c2 V$ h               
6 m: c$ `, ]1 n: z                  success: function(returnData, status){- h' q5 P" _5 H2 \
                        if(returnData.RETURN.success){& h% a& I; d6 v# V2 Y7 N$ i
                                callback(returnData.RETURN.success, "");5 `# g- i1 r: Q
                        }else{' Z- n7 [: s( T! C; y
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
  k% W5 N4 j. x! y$ j# U                        }" S- E' _; D' E) G5 g7 N
                },' Y2 E. `$ ]; \& ^- G, }8 Q
                error:function(xmlhttprequest, textStatus,errorThrown){
/ b9 t. y, t* i3 V: v, J5 a$ S( h; T                        callback(false,"ERROR_GENERAL");* a0 A% l. R0 Q; x  e1 N
                }
/ j$ k5 o; Z3 v5 m        });: P9 J# h+ P7 ~9 [9 \
}
% P0 Q8 Q5 k9 @% H/ G6 z$ G9 {4 S8 s- L
/*---------------------------------------*/% v$ @# O* O: L1 J) h$ A
/*scdmz  DMZ配置                         */1 x5 k' c) U" ]* O% ~3 D
/*---------------------------------------*/% G' |3 P) h4 i/ i1 O
7 k' f. @* N; X4 W/ z! j$ z0 A
function getscdmzInfo(callback){
6 L' U# R0 w' K6 t: v        $.ajax({& h  y: W9 Q0 W% E: m6 ~# C
                url: 'cgi-bin/scdmz.cgi',
9 D) }' Y% A$ M8 b8 g, r9 n                dataType: 'json',3 \0 K: i3 c0 ^
            type:'GET',
, i7 X# w# Z' Y$ d0 P% v8 i% x                cache: false,
! S5 L  D* s1 B- X. I% }; k+ h                success: function(returnData, status){
! ?8 O7 |# ]6 |                        if (returnData.RETURN != undefined && returnData.RETURN.success) {& [' j' I. D' o5 Z+ m* M9 B7 g
                                callback(returnData.RETURN.success, returnData);9 L/ B7 o( X6 @  p7 b/ E
                        }7 t. L6 Z5 X% A
                        else {
3 C/ i8 l" [# ^  e                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);  u( v2 e9 W  d! I0 P0 d2 T
                        }
+ f5 k' l- D* s$ U1 Z                }1 c( s  t1 @* d7 d- q9 r
        });
& ]2 v4 X. q3 Z7 y}
  I: F' ^- T2 p4 T0 C
, t% {5 s5 r! d  P. {& w1 V1 }! _function setscdmzInfo(scdmzJSON, callback){7 D+ S7 _' }0 E" }1 J& A
        $.ajax({/ u: p  X' u1 O) @  H% _
                  url: 'cgi-bin/scdmz.cgi',
  L1 g4 z3 _& ^                  dataType: 'json',+ x6 O. }3 }! C' f5 ?
                  type:'POST',
/ \2 K# O! P5 c/ {. i                  cache: false,+ j5 C. c7 P5 W+ l2 ^+ x
                  data: scdmzJSON,
$ z( F6 Z- I! U/ [2 E- ^                + b% z+ M7 T5 b* W0 ~) G: N
                  success: function(returnData, status){: B1 P- b, s9 y7 y* A& v
                        if(returnData.RETURN.success){
# n" i+ B; W$ z) J& {$ H                                callback(returnData.RETURN.success, "");( c  I) |" H7 C9 E: v
                        }else{
' o5 m: b* G- T3 T9 v8 o0 k                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);9 z0 j, ~' ?, j+ S
                        }4 Q2 V- |  R2 h8 @/ ~' Y0 m7 f
                },
/ T5 ]# V7 N; i, ~* A0 C( i! \* S                error:function(xmlhttprequest, textStatus,errorThrown){
9 A6 Z6 ]5 o( i, v7 p/ g. T                        callback(false,"ERROR_GENERAL");- c. _6 I! x1 U1 B! I: s8 L9 _! G0 t
                }
$ I& j1 w$ ]# A8 C        });9 [9 P8 t( Q- b/ v+ y
}0 b) r! I8 c7 [$ }8 w

; Y# t$ r9 Z1 _4 W6 U/*---------------------------------------*/
8 ^5 J- }/ P8 r/*scvrtsrv  虚拟主机配置                 */
- K/ t/ _4 N1 m/ C9 a5 L3 l; g5 d/*---------------------------------------*/
6 E. \# d' _- _6 ?7 }: E
/ m6 n" O( e1 Q1 W. Lfunction getscvrtsrvInfo(callback){3 `! N' z+ @. x# w) x& Y2 T
        $.ajax({' i( `# v- O+ `0 [) |5 t1 D' M& w! t
                url: 'cgi-bin/scvrtsrv.cgi',2 I, O5 o* n3 u
                dataType: 'json',5 Z: }6 ~, b4 V2 a+ I& h: Y
            type:'GET',; x) h" A! k  b0 N. i
                cache: false,2 X8 b( P( F" n
                success: function(returnData, status){
- U! ~6 ]$ w: C+ z3 J; n                        if (returnData.RETURN != undefined && returnData.RETURN.success) {' a1 C0 F; f* ?4 [/ P
                                callback(returnData.RETURN.success, returnData);
- f! h% B/ L% l4 V% o) {" Z                        }
& Y. v4 x/ P! {' E6 f                        else {
* Q$ x/ d" i2 F% f                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);8 X. \" \+ A! ^& f9 J1 F( p" f. R
                        }
0 h3 ~  O: t; U; f                }; {5 o7 P2 D1 `/ I# u: A# E
        });4 j. O1 x8 ^, Z$ h+ w
}
' K% V7 f5 J5 x1 P7 e
' O  Z  E( S2 n; J! W- G- Nfunction setscvrtsrvInfo(scvrtsrvJSON, callback){
, K! Z" [6 t6 t: I( M" j" Z        $.ajax({% J4 {* Q0 }8 C5 y; K( H; ]3 R7 J9 A
                  url: 'cgi-bin/scvrtsrv.cgi',
$ O6 s) J; f! k& S; K/ |                  dataType: 'json',7 P0 @' ]% W5 L( d; K
                  type:'POST',* h  j" j3 {' I
                  cache: false,
2 d! N0 [1 h1 \9 B' _' ]                  data: scvrtsrvJSON,
; Q; H2 a8 ~6 w6 q                $ n" ~# v2 @, `+ `% z
                  success: function(returnData, status){8 h1 h8 x, X5 X- m
                        if(returnData.RETURN.success){
3 ]9 f; w+ P  N7 F0 H" z1 r. j                                callback(returnData.RETURN.success, "");
, T8 k/ ~0 k( f; j* y* s                        }else{# \1 T7 F# ?+ [# a
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
% G- O0 v9 H1 Y* p                        }$ I) @3 ]7 b! B  U$ b2 G! a0 P; }
                },& A: Y# ]/ O- ?1 b) m$ N: `
                error:function(xmlhttprequest, textStatus,errorThrown){5 z* i' z4 ]! x0 l7 t
                        callback(false,"ERROR_GENERAL");( Q3 Y/ `) \, _, @
                }3 @& h. i2 ~- _: y& q# r
        });! c* W$ f# t' ~" l" Q5 k/ h
}
9 T& j- P" T; c3 m5 o" M8 O& N0 ^& x5 A5 }7 `% [5 A' n
/*---------------------------------------*/
9 Z9 N7 Y9 @+ f3 e2 m3 Q3 e2 x/*upnp  upnp配置                         */
8 F' V- F; B- L( w/*---------------------------------------*/$ c( C7 b. n( t- S* w, U

! s. Y! M7 i+ ?0 X8 lfunction getupnpInfo(callback){9 D( q7 n$ C: h2 m8 i
        $.ajax({: l, z& {6 f  a+ b9 C2 x* t
                url: 'cgi-bin/upnp.cgi',, v5 k7 }# L) Q8 }6 P
                dataType: 'json',2 ~$ |9 e) t# c4 _" z( S
            type:'GET',
9 Z6 U; O, u' L                cache: false,5 Q/ j" o3 i% x0 t' Q
                success: function(returnData, status){0 g, x7 C+ q0 s+ h0 ^; ?7 t6 q
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
! a/ B. G2 j/ Y* h% D& m                                callback(returnData.RETURN.success, returnData);
4 f! U& Y( `: P. `                        }, y  X( n2 s" T
                        else {2 i$ s$ j9 t: F
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
" p7 g  j3 E* E3 Z                        }
- X" z! G6 z+ ?                }
- w$ p: Y4 s! }1 e% R        });( w& O2 q- y  J, _  Q1 ^# @
}
1 \6 b: G# a$ M9 N0 i
( T' G8 X3 I+ |& @5 @. z  v. jfunction setupnpInfo(upnpJSON, callback){
! x( ^. d5 y6 d* C+ V        $.ajax({# B( I7 h( S  o1 |$ o
                  url: 'cgi-bin/upnp.cgi',
$ [  R  A+ L: o+ {7 Q! q# R                  dataType: 'json',* R& m$ s8 ]; ?( B* E7 i- M
                  type:'POST',
3 W' ?8 [  q- N9 O0 C                  cache: false,$ Y. L  o5 S' {1 v  w4 Y8 b8 W7 r
                  data: upnpJSON,: O5 d9 l7 _* Y: H/ Y. Q! R
               
0 F- U  w6 D6 D2 o                  success: function(returnData, status){3 H* X+ s, p0 }. O* W1 W
                        if(returnData.RETURN.success){0 x4 l& p9 S0 ?( z3 ^
                                callback(returnData.RETURN.success, "");" t/ J9 [: j* ?+ M& W2 C1 \* r
                        }else{
) I' P! z8 o3 T                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
  A- @# b* c9 Q# j8 t                        }
- F* H3 B/ r1 @                },) Z" x/ H* J$ ?1 }  i1 u# ~5 a
                error:function(xmlhttprequest, textStatus,errorThrown){9 a1 i/ l1 G4 z3 N# W* ?
                        callback(false,"ERROR_GENERAL");
% _* W( o  d  _" E: ]; z                }
+ m- D$ b0 u8 h, X& P, A+ U% K. W        });
- o; ?4 s' E6 m}: M. J& `5 b& T/ D

% U$ f% _" P# R( |- V' i. c" U/*---------------------------------------*/
5 D: r: E8 [- J" Q! q  D/*igmpSnooping igmpSnooping配置          */1 K9 f9 E( b. B* t
/*---------------------------------------*/1 v# ^. Q5 m$ y8 X: f

! j, d8 h- b9 G8 u, ffunction getigmpSnoopingInfo(callback){
: @. z2 m( n6 i: `4 C        $.ajax({* B" `6 O9 c: {+ f7 g' N
                url: 'cgi-bin/igmpSnooping.cgi',
" o$ n' G, l  C6 M# B- D% u: \                dataType: 'json',; ]( {9 @6 g, X4 ~; M4 q" U
            type:'GET',3 `: K: ^" @/ S0 C
                cache: false,% E7 T. E9 o1 S2 [3 l
                success: function(returnData, status){
4 H& C2 I) V8 S8 a8 g% e8 p& o/ e                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
; t9 G2 I/ l) O- M/ h                                callback(returnData.RETURN.success, returnData);6 e4 Q+ q( |" T* {
                        }1 r, Q# L' Y! l- s
                        else {
: s$ o$ ~+ z; H0 h" W                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);9 r9 H. d' r. v# J/ `! Q' j$ ~
                        }
" v  ]8 d$ q6 b" A5 \                }
4 R( {% u# ~3 x, R        });* \  [# A" i& I3 {
}, q/ o: G* Z8 Y+ W1 |, r  S# V# x
; L! l- \5 C; }# t. C, M( v$ U
function setigmpSnoopingInfo(igmpSnoopingJSON, callback){
; T7 [( c" l' o        $.ajax({+ `2 n6 J8 U. x9 I% Q8 l
                  url: 'cgi-bin/igmpSnooping.cgi',
' i4 L' `, r$ G                  dataType: 'json',( h5 ]! A9 w+ m$ J0 C$ ~" K2 a
                  type:'POST',& j& @  a) f5 d" `, o1 b* N9 k9 _
                  cache: false,
5 A4 |* q$ U8 O" S! ?1 l0 Y: Y0 t& |0 [                  data: igmpSnoopingJSON,
# B" Y8 \+ h' Z1 Q                ( ^2 [* y6 i8 P  {
                  success: function(returnData, status){& c. ]0 r* [/ h9 i( [  G
                        if(returnData.RETURN.success){
0 [' \* k; F  A& ~$ T6 M                                callback(returnData.RETURN.success, "");
& [0 D. x" [6 S' a- A+ G% w                        }else{/ r' ]( v% r( q  M/ v  Z1 i
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);3 c* w6 t% ~2 l, u/ ?) r0 J0 T
                        }
$ _  P6 g0 H+ [8 `                },
" G7 X) G* u( c, U0 [" L; Z                error:function(xmlhttprequest, textStatus,errorThrown){
& J8 }. T6 u; u4 f                        callback(false,"ERROR_GENERAL");
7 ?* L, k' N1 x0 I  `. S                }/ L2 X7 a1 I, r7 `- ^0 w
        });
" w* y. x1 I7 S7 T5 A}
; Z* w3 D$ v6 ~9 E# M9 X& j9 {" V9 y
/*---------------------------------------*/
) c! j. A" _" i- j4 F1 k/*igmpcfg IGMP Proxy配置                 */
; {5 I7 K: q3 V( V7 V/ ~/ G/*---------------------------------------*/
1 D4 R5 H! `: |6 q2 a! h* J+ q, w4 x6 V
function getigmpcfgInfo(callback){
9 r, g: ^9 L/ m9 q) i* K        $.ajax({
3 D, Z/ `$ f( a$ i5 `+ }" ]                url: 'cgi-bin/igmpcfg.cgi',
# w+ ]) [, q, m+ z6 L7 f                dataType: 'json',5 H: L& @  r( r9 s7 o$ |- ?
            type:'GET',
& C, W' ]( O6 V% C9 {  F                cache: false,
- P1 |  o" ~- l4 h9 ]                success: function(returnData, status){
* R- o0 D- P* M7 X  O                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
4 N( i. s4 g4 b  B                                callback(returnData.RETURN.success, returnData);: O, h8 x7 w5 x: K: `
                        }
( m% E% v$ A' W9 y1 w6 Y                        else {" E0 R3 H; W. S5 l( m; R3 b- ^
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);! H4 ~2 U7 ?1 ?4 R
                        }6 ]5 c! |) E0 v' _' ?0 X* Y
                }
, [5 }3 i' M0 b; y2 d" f& v! z4 B        });1 P& K0 B1 N: ], J
}
8 R( U# D- ?0 }# g: g- R& e. [# E6 p1 q3 a5 W3 b2 z
function setigmpcfgInfo(igmpcfgJSON, callback){
" q( n7 f& N& u! C, t        $.ajax({& Y( G8 u$ s/ G5 b  y
                  url: 'cgi-bin/igmpcfg.cgi',
% c' `3 X4 N9 H                  dataType: 'json',% V$ x% E' y; p
                  type:'POST',
: b5 _9 J% _" u" G' S                  cache: false,7 K7 G6 Z5 B7 l  Z* U
                  data: igmpcfgJSON,& t: \" ?7 Z# _+ g$ f# ?7 G) i
                7 {& N1 O" a" \4 R
                  success: function(returnData, status){8 v. V4 j; x0 ?! v  z% s3 l  Z
                        if(returnData.RETURN.success){7 @/ ~) Q7 [. E) a1 f2 w" T# l2 i
                                callback(returnData.RETURN.success, "");
( g$ x4 o5 c6 p  ?" o* `                        }else{9 c4 _  j4 t  J4 D+ R- I) f
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
: g$ G& C6 J+ e; x# V" f                        }
0 |$ c3 v& T( X: _# s) G  ]5 U* w                },0 B  T0 k+ U2 Y* {
                error:function(xmlhttprequest, textStatus,errorThrown){
+ `* w( K5 ^- H- Y                        callback(false,"ERROR_GENERAL");
4 E, U# i; Y5 _( d                }
4 e" r# u! C7 M6 M0 F. K: y+ c        });! D& e, P# S- X5 s; t
}' ~8 h5 p: p% a3 D: T* w& Q

) L( h$ V5 U6 ]3 z2 [" q/*---------------------------------------*/5 |0 z' U$ o) u. M' v8 ?8 A, s
/*iptvcfg IPTV                           */
) f  }# H, J! O7 p6 W& ^( G3 u, g/*---------------------------------------*/* ?7 o, _  \) ]( T* a. }: v

( Z9 ]& A7 B6 r' j" zfunction getiptvcfgInfo(callback){& g" O+ D  H) n
        $.ajax({, u2 g6 n& [( P8 |2 i
                url: 'cgi-bin/iptvcfg.cgi',3 r, r4 m5 n7 k
                dataType: 'json',) o2 r0 O% B+ n" a9 J0 R" w
            type:'GET',
2 [9 f! i& |  {, v' Y" u                cache: false,. X. O8 p3 ]/ d- ~0 b8 v
                success: function(returnData, status){/ V- w( |/ {( T5 C& Q
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
2 ~% S. ?. l& {$ z/ a1 e                                callback(returnData.RETURN.success, returnData);3 p$ v8 u! Y& I3 n
                        }
* L! c5 z8 [6 w" r& }' ~                        else {
; ~2 p7 f  ~7 W0 n7 P: x# O                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
$ }1 D3 ]0 K8 \/ g                        }
9 Z3 b7 j% C% |                }
5 X; ~+ Q/ C3 u8 c: C" v% P, O        });
6 ^6 y/ V" q" Y" d+ R( V. D9 \}
; e: M5 }, A$ Q
; |  Q3 r( g+ v4 H" A# ofunction setiptvcfgInfo(iptvcfgJSON, callback){9 O/ \9 o( ]! \
        $.ajax({
$ _# E2 c6 d/ _4 C                  url: 'cgi-bin/iptvcfg.cgi',
, e" R3 \% _+ Z( @! R/ ^; i                  dataType: 'json',
  z. u1 L& }; d1 O1 Z1 x7 C                  type:'POST',* ]) S4 x. p( i4 P
                  cache: false,
) L, N- R/ f/ ?- h6 w6 {. B                  data: iptvcfgJSON,7 p0 G( z+ v; ~7 W( F( J4 S
               
* T( M% R6 Z8 @: B' @5 a                  success: function(returnData, status){3 ?, G! K% F0 D* O* k, j* ~, h% S5 R
                        if(returnData.RETURN.success){% g. L) F, I2 y" W$ n6 C( W; _( P
                                callback(returnData.RETURN.success, "");8 {0 z3 A9 t' Y* F0 O2 C
                        }else{8 _0 }3 w. z5 x# M. A
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
0 f$ O2 H3 _! D; o                        }
& ~; P0 ]; S- O# A7 Q                },5 V7 c- q5 T# y
                error:function(xmlhttprequest, textStatus,errorThrown){
8 ^5 {! V- Z8 Q5 t                        callback(false,"ERROR_GENERAL");5 J, W: h! J  K8 u& H' }9 Q
                }0 B; [) [* m; E' W
        });# R$ J  M7 f; O
}$ x& C/ _$ |) ^6 q5 Q# R- E" a

$ o9 |" f' @% _& h" \/ c0 X, S/*---------------------------------------*/
$ O$ C( L5 Z* W5 l6 o# m/*voicesipview 宽带电话基本设置          */
/ W4 ?2 k3 B* y3 @6 \+ ]/*---------------------------------------*/$ r# ^/ v9 m7 L2 @9 R

0 a& O5 ^& F! f* n1 `, R, ~function getvoicesipviewInfo(callback){
9 w2 i5 j+ w) C3 {0 q0 p        $.ajax({  u6 z8 |. B/ {5 u2 v
                url: 'cgi-bin/voicesipview.cgi',
& Z8 \- w) M! \& y4 [( G; W9 X                dataType: 'json',/ g( A$ X8 e! i: ]# M2 P" f
            type:'GET',
5 i( N) H1 r0 M8 m0 U* O. K                cache: false,- v8 r( A" L- U) ^+ z! p
                success: function(returnData, status){+ L) s% A. i: y: m1 Q
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
* G, F, m3 R8 C# x                                callback(returnData.RETURN.success, returnData);
( V' R- r" j' G) p7 B. d) I                        }' y: F: ~! Q  a3 {$ l
                        else {
0 _; I: g! t% L5 Y( d0 i: f                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);3 |6 b; `9 a# D: O4 c, u- d' ?
                        }
1 @& t* J% r+ Z) A4 \5 ?$ U                }4 r0 J  f$ O, R7 b: ]
        });
: f2 B3 E% i  n7 s) j}
) n- n) c8 \& ]! n$ F  r
/ F1 T# Z( x. P7 @0 `+ Q8 ffunction setvoicesipviewInfo(voicesipviewJSON, callback){
* P0 E, o8 T' M6 `  o        $.ajax({$ S/ n- l7 U5 I6 T5 I
                  url: 'cgi-bin/voicesipview.cgi',; c: n. \6 i1 F' V: e
                  dataType: 'json',
2 X* W: D) R. i" w% S                  type:'POST',
! z2 d! ?7 F& y% g                  cache: false,& T; w3 b( b) @+ Q2 U
                  data: voicesipviewJSON,4 x4 `4 R0 b, u. \# O0 {3 `
                # J% e9 l. f/ Y2 q- B8 T- u
                  success: function(returnData, status){
1 Z6 l) a) s# E, j$ N                        if(returnData.RETURN.success){
$ V6 V$ ~2 ^* i4 K$ Y) n                                callback(returnData.RETURN.success, "");# C, F; ]. S' o2 Z1 `
                        }else{( q! M  v! H( M
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);5 M* R2 P) o: S+ c9 v2 e  w/ E. J
                        }+ B6 a/ Y( S1 e1 X% S! [) v
                },4 b6 c1 l4 n7 W0 k+ A/ k
                error:function(xmlhttprequest, textStatus,errorThrown){5 g( v' j2 m! o
                        callback(false,"ERROR_GENERAL");/ f) z1 ~7 Q$ y( Z0 y( U
                }( ~5 N) H. R, H9 N; ?, b- e9 c
        });
5 r' W" Q) m1 [& z1 i: X}
7 b% |0 ]. i/ E$ V9 N# l3 T3 H: g. J5 {0 T! u; I9 w0 c5 B
/*---------------------------------------*/+ X/ o- m3 n4 M* u$ D  W# V8 n
/*userline_conf 用户线配置               */! }- H* L9 n4 j$ h4 T
/*---------------------------------------*/6 B2 V& Q8 \$ E4 e

4 M8 e3 c# V: s3 b' _0 t0 n% zfunction getuserlineInfo(callback){
# r  z( C6 C* z7 M; _7 M        $.ajax({
2 J# s2 E. w; _# t# |                url: 'cgi-bin/userline_conf.cgi',
7 j5 S, _: e, v# a$ D                dataType: 'json',
1 U1 c( n, \" l/ S+ x4 D            type:'GET',
. j# Y0 O9 y. c9 L. d# f7 k( \                cache: false,
: I& D2 d! U/ o7 K. z% X                async: false,5 I. C* m2 t1 T  o9 |1 r. l8 L- a
                success: function(returnData, status){1 @0 V, a# j+ x2 A3 C2 u4 {% y+ Q5 J4 U
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {! t: S  o7 E# }3 u& P& y- C/ R
                                callback(returnData.RETURN.success, returnData);8 `. {% r9 Y/ t0 }0 w- m/ ?
                        }
3 b% Y! v8 Z- o% a' P  H' l                        else {9 l) t1 f. J) G, X2 \$ z
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);5 p- _2 H, i. c/ ?$ P$ H
                        }
# k# U1 M  E8 k# L3 r# t5 z9 c                }
1 c; c- |: e* \# ], `        });# V8 g) Z/ l/ P. z6 ^+ |
}5 o( v: l8 ]& G3 q+ D
. J4 |  [, }! s0 y/ I5 t3 [5 J
function setuserlineInfo(userlineJSON, callback){
( y1 ?# W( n% {9 l2 ?9 P        $.ajax({& d  S" N+ x* R+ n4 V: ]
                  url: 'cgi-bin/userline_conf.cgi',- g( H& E/ d( A
                  dataType: 'json',8 T6 o  ]$ _  e+ ]7 e8 m( k9 d8 B
                  type:'POST',* ?# p+ |3 e. C) X
                  cache: false,9 r* {# r, X/ N/ g9 e, U
                  data: userlineJSON,
. I1 }$ u  r% @- x, ^8 L$ b               
+ J" i2 Q' p7 g. i                  success: function(returnData, status){$ M9 b: N- u, l
                        if(returnData.RETURN.success){
# ~+ t; s% V) g. ~& F; A- }& j                                callback(returnData.RETURN.success, "");( @( r9 Q1 O7 m' w1 f2 B9 E( [
                        }else{
2 a) E* g$ C2 n( X                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
& n# f: n$ x1 B0 X  j  k                        }6 R  z  {! X5 z) Z7 w6 X! c
                },' X! u4 H* _4 P0 D+ B
                error:function(xmlhttprequest, textStatus,errorThrown){
/ b4 V# z% d5 A' s. E                        callback(false,"ERROR_GENERAL");
( T. ^! P& E9 o; U6 {$ `/ P( J                }, t1 Y4 _, t1 k% Y# c
        });: a$ P5 v' L5 m# f
}+ f( B, _4 Q" s) f: x
' A! x' N+ J( l0 h
/*---------------------------------------*/
4 v7 d& H. K; d$ j6 g/*voicefax_conf 宽带电话高级设置         */& J* z5 E/ G6 R0 P  t, s# j8 C1 u
/*---------------------------------------*/  c9 ^& Z% _+ `: [

/ N! U( o6 F4 {* n. [& B, [function getvoicefax(callback){
* a9 m9 P9 `1 J, g- A1 `: _        $.ajax({
2 J  [/ w4 R. a. R, u( x/ K                url: 'cgi-bin/voicefax_conf.cgi',
/ j1 v9 [3 ?4 D0 x" F                dataType: 'json',
6 y6 P! z: V$ u            type:'GET',4 |8 ?7 k% P- X0 g. y
                cache: false,
$ ?* l* Y6 m1 p0 j                success: function(returnData, status){
' e' @$ M" w8 Z# _                        if (returnData.RETURN != undefined && returnData.RETURN.success) {8 a  s7 G( ~7 P
                                callback(returnData.RETURN.success, returnData);
- ]/ g# E( @5 L  v* w                        }! {7 v  k3 z! }7 m- z# |! \
                        else {
- ]: e" h/ r( y, {+ o( P( R                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);6 {5 V" ~: C3 Z5 l( v( Y
                        }
+ G/ d, d& O- Y8 N2 T  z                }
* t# s  p1 V6 ~# P  G6 ^        });
$ i- r" S* m% n! R, V5 L}( B  H( p6 s) e9 h( @" t3 N
8 ~; z& ^9 s5 j/ R: K
function setvoicefax(voicefaxJSON, callback){3 Q* ]0 s+ g  i( {. D  N  c
        $.ajax({. |2 Z1 y! a* v* z3 G- s6 p
                  url: 'cgi-bin/voicefax_conf.cgi',
/ j- M. U' g+ f* a9 D: I                  dataType: 'json',
2 |7 u% T7 p, W& ~% C  |/ E0 |6 n+ L                  type:'POST',( v- U* [  S- @  L; Q0 g
                  cache: false,
+ H& \. D( O0 V& G) d" h3 L                  data: voicefaxJSON,, |# C9 s/ r* X( j: }
                9 a2 [% _6 z1 e$ N! H
                  success: function(returnData, status){
4 B  o: q7 F- e& ~$ S                        if(returnData.RETURN.success){; }. R+ Z, y: q. H7 i
                                callback(returnData.RETURN.success, "");% ^% }% N3 W% P5 @! s  u
                        }else{# x5 H  S8 k" K
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);& n) v0 d7 D! _( a! Z% M: ]
                        }
' h1 M8 |! `! b9 t- h$ |/ b                },
7 e5 I, E4 ~0 N                error:function(xmlhttprequest, textStatus,errorThrown){
! y, ]  I- k) ]2 r  v$ i                        callback(false,"ERROR_GENERAL");) B# J  s5 Q# S7 I
                }
. S2 V9 K: C$ F( e1 P& s        });7 I' i& D  n7 S" ?/ p
}
2 P, e+ H! k8 W6 {3 c7 Y7 m1 J7 l  Y, v' V% T% W# m* h
/*---------------------------------------*/- z/ H( ?& m6 S
/*voicesipviewadvance VOIP高级设置       */
4 u( O% O$ O) b- A; \/*---------------------------------------*// L6 H  X  M( z( o! f- e; g

3 n9 i) G, t* V* yfunction getvoicesipviewadvance(callback){. B' P  V% A. Q, g3 r
        $.ajax({
4 s  o$ S1 @* E                url: 'cgi-bin/voicesipviewadvance.cgi',. H" x6 \6 q, K( N, r+ E
                dataType: 'json',
' Q+ I+ T# A4 i7 U) W            type:'GET',
- L. ~# n8 W2 ^4 T  ]1 p                cache: false,  Q2 p0 O( x4 G! x8 n& L- p0 d
                success: function(returnData, status){+ d! ^1 x: T4 }
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
8 p" e4 p/ M, ]1 C2 {" m! I. h                                callback(returnData.RETURN.success, returnData);
- ^4 i: R2 e5 P3 ^3 _                        }' Z  I  N# u. m2 e" u6 N
                        else {! C# O. g0 D9 k; [0 s; b
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
' w  Z$ x4 `- u- F, m0 P& B8 ^4 b                        }
/ s/ X7 a0 ?% C$ `' J5 T8 `                }) ?  v7 h6 E% U7 d7 e2 I
        });
+ q$ H- }! [; H6 y9 @; r0 p}. W+ s# z3 y8 ^  p) D

. [( |5 d  Y" _( F/ d/ g8 @function setvoicesipviewadvance(voicesipviewadvanceJSON, callback){
# c7 V% J0 r. e4 u        $.ajax({
8 q- y2 _9 N# B; ?2 n                  url: 'cgi-bin/voicesipviewadvance.cgi',% E8 W: A: d9 x) a9 e7 j1 N: F
                  dataType: 'json',
; }! Y3 G) T6 K* t* N+ s                  type:'POST',
. n4 `5 f% X  ~) i                  cache: false,
2 [' o6 D. J8 _6 m  [                  data: voicesipviewadvanceJSON,
$ n: c7 x1 O; q" l                $ C- {% h# z0 \2 T3 u9 A
                  success: function(returnData, status){) Q9 V/ N. W4 ~6 h# p- M- w
                        if(returnData.RETURN.success){
3 a, _2 @) u5 Y5 B                                callback(returnData.RETURN.success, "");- V, J, j4 t7 w; d
                        }else{3 U* d/ J: ]0 z0 f5 W# i) A
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);( m1 j4 A! _9 h9 n& a) D6 N) E
                        }
) z: _% r1 ~! j2 l% a3 O2 R8 H6 X                },. N8 J$ \, C3 N1 R
                error:function(xmlhttprequest, textStatus,errorThrown){* H8 g7 _2 m1 W- i1 Q- f
                        callback(false,"ERROR_GENERAL");
: r9 B: I$ L' P- k6 {5 W                }. B+ m5 Y# {. h
        });
1 Y" k7 s, Z* w& d$ X}8 e* \' _7 m4 z5 o) {1 B
  `% c4 _* ?( |. p6 A# x
/*---------------------------------------*/! M$ S; l, w# x1 L/ F% Z9 Y
/*mgccfg 基本设置                        */# m$ M9 D( v: Z: f9 x1 A+ C4 z2 z7 w
/*---------------------------------------*/) U0 B, P1 U' c

* ]; w, ?9 r: {1 sfunction getmgccfgInfo(callback){
1 G3 ?' {/ i4 Q5 ^- F        $.ajax({, R% [1 Z) C) V8 }5 s/ E
                url: 'cgi-bin/mgccfg.cgi',& N5 M+ h/ L. J& S9 o
                dataType: 'json',- d' @- r, _+ H  ?$ c+ q
            type:'GET',. r3 \/ {( Q/ L) P" w: U! V. ]
                cache: false,  b9 D6 V" P' c# l) i7 m2 P) P
                success: function(returnData, status){
/ K5 G, Z2 i1 M1 |: i                        if (returnData.RETURN != undefined && returnData.RETURN.success) {" }% h5 a. P1 C' W9 {
                                callback(returnData.RETURN.success, returnData);, P. q" v# M0 c" E0 ^# \* |
                        }
  O, B* S1 v. I& D                        else {& Y& O- _, c+ G
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);# c+ f' B' @4 H6 D  C3 H5 r$ c# C
                        }  d1 e  _9 |) v, f
                }! x& s  |  Q0 X: j. d
        });$ j6 [2 D) T; N
}) q  H# o) Y* [# [

" }2 j4 C8 B0 mfunction setmgccfgInfo(mgccfgJSON, callback){
4 \) ]9 F4 E" r) z& D        $.ajax({
) W( P& r$ E4 ^6 x- x; T3 {                  url: 'cgi-bin/mgccfg.cgi',& G. j, f- s4 v7 s2 s6 X2 y
                  dataType: 'json',* @; K1 u" Y+ b0 q" p- W- v
                  type:'POST',5 z0 `; k* }' W4 m( W
                  cache: false,
2 h/ W; H2 J9 G, b) F; Z                  data: mgccfgJSON,
5 x& t9 C: O/ l7 ?, F                7 k1 Q2 i/ V$ o
                  success: function(returnData, status){1 F, ?; T; r& l2 Y8 o6 {- @
                        if(returnData.RETURN.success){
& O* S5 G+ E  I0 d' x" P  f                                callback(returnData.RETURN.success, "");) f+ A- H  q4 X, x4 U5 q
                        }else{6 l: B' Y6 ?- R" Z0 R6 Z8 o0 ?
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);9 y5 S+ H9 r0 L( b. J1 j1 ?$ l+ z
                        }
1 ?8 j) V% C. {+ V, C2 U0 x0 L                },/ i( e* V! l! _! S$ Z& \2 F5 ?9 V
                error:function(xmlhttprequest, textStatus,errorThrown){
. P2 E/ E$ y9 f% e+ _$ a9 d0 s                        callback(false,"ERROR_GENERAL");
  P% e9 W& f9 v/ h) F3 Z. J. x                }
' ~1 f: V; q/ }8 p  S" s        });
, p7 j) C8 \: b  c) I}
& D/ p4 C3 x' g9 c- h6 Y3 [! Z! _& g/ V  u9 `
/*---------------------------------------*/
8 n# p4 b1 W9 _- g5 P/*dspcfg 语音设置                        */3 Z" N- y  L, L( m: l
/*---------------------------------------*/; x0 m/ X4 s7 c9 K) L- |
- B/ O' l: J% o  w$ f2 g, P, Y
function getdspcfgInfo(callback){( Z% Q4 C8 _, t- J
        $.ajax({# L- l. r$ \& A$ p9 V/ S
                url: 'cgi-bin/dspcfg.cgi',* ?5 g0 z4 N/ m8 c( V# v
                dataType: 'json',6 J: k. T) j+ ^" f. }
            type:'GET',
$ `: F2 h+ N) a0 i3 b9 O6 _1 e                cache: false,# g$ u* i0 U0 x8 M. ^7 k
                success: function(returnData, status){' b1 Q0 u- B3 O  N6 |% d, y
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
) z& Y# U# I( f$ v. u                                callback(returnData.RETURN.success, returnData);( v1 o: P; J9 x
                        }% u7 h) c+ w, z% h4 v
                        else {
1 b9 t# o# z+ X6 s; c" {6 P                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
( ?" G5 g# ^. w                        }+ h! J7 [$ a' M7 ^3 h3 t- ^
                }
2 _. g. u" k6 h1 \4 r( ]2 K        });; w# n5 Q2 S& z% u' m
}
6 I; }+ m2 Y5 I8 |
0 i9 _+ L& ^5 `2 [function setdspcfgInfo(dspcfgJSON, callback){
9 G5 G& J3 q" _. R. k0 c5 i7 [        $.ajax({
% z  N3 R, {. X  J                  url: 'cgi-bin/dspcfg.cgi',  o* L# B/ L# s8 \  s0 W! F
                  dataType: 'json',
9 X' D( P( Y$ _) G6 G' g0 b7 g! ^                  type:'POST',  n1 {  m+ K3 H  V+ v) E
                  cache: false,
4 V% }4 i! u- O: V# D0 e' a8 q9 @                  data: dspcfgJSON,' M, P  P3 O2 P7 X5 b. r
               
" [! m2 k/ R% N* e                  success: function(returnData, status){
( T- t- _, Y- M! p& }  U7 y                        if(returnData.RETURN.success){
, V& ^) F4 O  m; H0 |9 q0 y- \                                callback(returnData.RETURN.success, "");  {0 f$ ^; Z7 F& d9 x
                        }else{$ }" S% Z! @+ s- ~2 ]0 A# Q
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);6 c$ I2 |/ F5 c5 L0 z$ \
                        }
0 q7 }3 ^- E; S! \! N                },
. L7 o- W; ~& S6 `1 y                error:function(xmlhttprequest, textStatus,errorThrown){
4 A# j. F7 e' Q  I1 F* `                        callback(false,"ERROR_GENERAL");
0 W/ C  h: `  A/ z4 Q                }
, A. M& D: w$ @0 n2 f% a  ?$ f        });
" _4 L1 s- q4 m$ B  w* u}% z& O7 e; ~# R; H1 Y5 i

2 k. n' ^/ T/ [# w8 K# o/*---------------------------------------*/
8 V, S9 @+ z7 a' _$ Z$ B+ O/*ngncfg 高级设置                        */
" [5 b9 C8 K# }5 f/*---------------------------------------*/
' y: j( T* n% z+ x+ X& K; Z6 j3 v, g/ J
function getngncfgInfo(callback){2 s' j+ d5 P% w. }0 I
        $.ajax({
% H* Y, s* p  k0 Y. K                url: 'cgi-bin/ngncfg.cgi',7 O5 H% _' i5 V# v) p3 F
                dataType: 'json',
8 J: y1 A2 @6 ~            type:'GET',
7 a9 i1 E7 y" ?( Z# D3 g                cache: false,# q( w: H8 O8 K4 @5 p, L0 I
                success: function(returnData, status){
/ E* F, |- V" z( w+ K/ \                        if (returnData.RETURN != undefined && returnData.RETURN.success) {/ y6 T3 e5 y% ~- W$ t! }
                                callback(returnData.RETURN.success, returnData);- |8 H4 w6 ^! r2 N! O
                        }
' J* K: F) Z# l                        else {
; T  a4 U* m; S/ x                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);& q5 q. ~9 K# q$ J
                        }
- x' `4 H/ k5 x                }
8 ~6 m0 {; V/ _8 u) Z        });  K; Y- u3 i7 U
}4 e0 q, u8 a6 K

5 N. p: ^# u4 F5 W# K: gfunction setngncfgInfo(ngncfgJSON, callback){
2 V7 ?+ {; H5 D$ t0 l& r* A        $.ajax({  a& Z( i  z* c  D+ G/ u$ ]1 F$ j
                  url: 'cgi-bin/ngncfg.cgi'," W$ c" G. G" `& ]! z/ |, h. [3 ^
                  dataType: 'json',
" Q+ ~$ L6 w& k% z3 k3 e( A                  type:'POST',( R7 r; X2 Z9 ]% r  \! w. V
                  cache: false,
6 Y  ]6 V/ V2 o$ }8 b2 k                  data: ngncfgJSON,
4 t4 D, G* d5 ]               
3 Q! M4 X7 X/ h& w$ B                  success: function(returnData, status){' H; G! p6 J, b
                        if(returnData.RETURN.success){% D: z. z' v) |6 g6 J. ]# W# Q
                                callback(returnData.RETURN.success, "");7 v  O- W9 D- t2 _" v7 @0 Z
                        }else{* N* Q* D: [% d8 X1 l% r! M% Q6 t8 E+ w
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
. q+ w% }$ G; O. j% X                        }
* B0 z2 s" I; I7 c0 N+ C                },
% K$ M& Z1 M4 n" q( N' v                error:function(xmlhttprequest, textStatus,errorThrown){, }6 X) [& g' J
                        callback(false,"ERROR_GENERAL");
+ p' R/ a6 T7 |                }1 ]! p2 Z. m, Y% Y4 w
        });
  ~. T( |( X& z9 \}: ]. H) H2 V" M4 u5 p. y

$ E" b3 x0 G1 T6 D/*---------------------------------------*/# d) V" h6 }- t
/*voiceportctrl 线路控制                 */
% I3 O4 f; B/ K2 W, X! d6 P/*---------------------------------------*/
$ B# n2 N2 D/ j, R& @
5 z; L) H  Z& ^& j' Nfunction getvoiceportctrlInfo(callback){, h" k8 J- w: e  L
        $.ajax({: b5 u* p/ z+ j0 P2 F+ }' G
                url: 'cgi-bin/voiceportctrl.cgi',4 c8 V5 M" X$ c+ ~" O. n. U
                dataType: 'json'," C7 Q1 ?; ?+ b
            type:'GET',6 p7 I7 g/ @6 }. d/ q- a
                cache: false,, a$ {: B* u+ ^1 f0 a4 o
                success: function(returnData, status){# e: a7 Z5 `# j4 \
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
3 {8 d$ J* o9 j. r4 q% }( m                                callback(returnData.RETURN.success, returnData);
0 t1 \' x' v% B4 @  E3 T- @                        }
  P# l( Q) B! Q2 G1 \" w, A                        else {
% Y+ [( r8 E' v: q! }                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);+ ]  `( B4 l# D
                        }" U; ~' t9 O; ^" k1 D
                }: O, C6 W3 E' l) r1 q4 A5 F5 l$ G: ^
        });5 M  M" a  K$ t
}& m  c! ?2 ~" o; a
7 b: z+ S0 }5 |! [0 F' R+ [
function setvoiceportctrlInfo(voiceportctrlJSON, callback){/ F! B* r, L: t) c6 b% _3 `/ K9 O
        $.ajax({" B' a: V. a0 @! u& n% {3 T, i
                  url: 'cgi-bin/voiceportctrl.cgi',% ?  l3 h! Z) r
                  dataType: 'json',( l. K- s, x& F6 b: p
                  type:'POST',
9 w# x# {3 ^2 S  n( O                  cache: false,
# ~2 }; H3 c/ q& H4 k+ y3 @                  data: voiceportctrlJSON,
$ G( j, {6 x4 w               
. j- s0 }: I0 M2 C, S                  success: function(returnData, status){
! u: H( f) l: g0 d) l! Q3 s5 d                        if(returnData.RETURN.success){# l* r) ?! ?5 c6 o% }0 n# ~" \
                                callback(returnData.RETURN.success, "");
0 l4 _  F! V# x- j4 B- |6 l                        }else{
" I3 Q9 e/ t' U' O                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);+ X; U' w0 b1 C% s9 S% y
                        }
. ]$ y' m1 W' {% M# X                },
- d6 M/ F* |* }3 z6 N# u4 X                error:function(xmlhttprequest, textStatus,errorThrown){( _' b6 W8 w4 r! f7 _
                        callback(false,"ERROR_GENERAL");( U0 l+ {3 h$ M5 |3 W
                }; M4 C& G# A( Y8 A
        });) V0 s0 n: n9 D  w
}( P# S" s# l7 M: B! g# ]% ]* W$ R
& Z2 s& ]  v. W) V  w
/*---------------------------------------*/; F: }& N; j8 U
/*mldSnooping mldSnooping配置           *// l* P2 T5 [. V9 h! m" V
/*---------------------------------------*/
6 b8 o. m% K/ t, {3 @6 ^; I, @4 E; ]8 ~: _- o3 ?
function getmldSnoopingInfo(callback){* j- J# z3 i% h& \
        $.ajax({
( d+ Z0 B) I$ h- A* ~4 k% I                url: 'cgi-bin/mldSnooping.cgi',
, V" K+ m1 ~4 z8 K; x                dataType: 'json',
8 Z$ f$ ?$ C( V6 q( Y            type:'GET',* I# k2 N" P+ j3 r4 B9 y1 d
                cache: false,, I& `& u6 |  N# I
                success: function(returnData, status){
& @1 ~4 a; p$ ]% B                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
6 I4 e8 m( \1 ?( d/ \8 s+ l& D                                callback(returnData.RETURN.success, returnData);5 [) x9 u  V: h3 B
                        }* Z- L- c7 c& [5 Q- x
                        else {
1 B5 V% Y1 Z* [$ R                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
6 \4 ?2 r# c+ I4 B4 j0 t" ?' I                        }
4 n- ]1 B. t' e' C+ K2 r3 V                }5 \# m5 X( Z2 S! f8 D8 \7 B
        });1 `/ P* P, r' N+ R3 h8 C. Y
}" G9 }. b" m6 I8 P# l
; A1 o% i5 P8 W- s
function setmldSnoopingInfo(mldSnoopingJSON, callback){5 N3 y  P0 J1 v- \
        $.ajax({. g+ j8 `3 Q$ P7 H6 W
                  url: 'cgi-bin/mldSnooping.cgi',
5 W8 L1 U) b  S" y5 M% q                  dataType: 'json',
# ?& h/ K' Z; p                  type:'POST',2 I+ f5 {1 J; x6 Y, F7 X
                  cache: false,
- ^4 L. k* `2 g3 y% M                  data: mldSnoopingJSON,8 U2 ~' b5 ]5 O* i" b+ I
                8 i1 }6 V0 U' n# V& O; E% G
                  success: function(returnData, status){) K7 x0 Q1 T5 l6 s' g( I' C! \- R
                        if(returnData.RETURN.success){/ r6 p  r- ^. I$ ~' J& i
                                callback(returnData.RETURN.success, "");
% m. u& z! F9 i5 i) x% u$ p                        }else{$ d2 G8 h5 F4 `% q1 R
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);! b2 l0 c2 {% c4 T
                        }5 z: O* m0 M* V7 o4 V) E
                },
( o; g# R' i: I8 Z' O2 T& E2 ]                error:function(xmlhttprequest, textStatus,errorThrown){
7 e5 J5 w, S9 M                        callback(false,"ERROR_GENERAL");
" l; a! b9 b$ v& p8 |                }
: Y- o' j* P8 J+ g: ]2 x* a        });
  o6 W$ L3 d) s- {' {! A5 W}
6 I" W3 u1 b* Q' |8 @/ P, K1 g* o: v) f- _4 C* Y" `: k2 `
/*---------------------------------------*/2 C: e) j" `0 q/ }
/*mldProxy MLD Proxy配置                 */
% v- v- {1 Y; @8 A# J  {) k/*---------------------------------------*/
7 O* o9 O  U  e& m! U4 S/ K8 I& s! u- {' v" g6 p) q
function getmldProxyInfo(callback){
" p! Z$ ]$ h# Z( f) J" c6 g        $.ajax({
9 M1 N; |& m" t+ A& _- ~                url: 'cgi-bin/mldProxy.cgi',* f- N) y; [1 V" v* x
                dataType: 'json',1 K  J! d. p: j2 p7 w9 Z4 m# t, V
            type:'GET',- q1 }# h- `, Y5 S  `/ Y
                cache: false,) y" `. i8 r2 x0 i9 D) Z6 f5 n
                success: function(returnData, status){# m/ w$ }+ R2 l2 ]3 A
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
2 X6 P! M6 J& j+ f% X                                callback(returnData.RETURN.success, returnData);: }$ k  @5 [3 M, z- a9 B, _: S
                        }
& j, v+ n, F' X, d                        else {
% t2 x6 C3 a. d9 G8 J                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);. B% }( B/ e$ I, Z
                        }
# r+ P: o( V! w( W. ?* Q                }! g% y  `6 c, a/ K1 }
        });
- {" m) g$ `6 r}: F: a! q# I4 R" v: e9 y3 C
7 i8 Y( x! O5 m+ B7 W8 n! p
function setmldProxyInfo(mldProxyJSON, callback){( |1 x8 w% @* T# m- x1 h6 }8 n2 U
        $.ajax({
) B3 e2 g6 b! t/ a: W1 y4 N                  url: 'cgi-bin/mldProxy.cgi',1 _0 Y! a/ ^4 g( Z3 D) ^
                  dataType: 'json',
( O4 g/ h' D# _                  type:'POST',( C( ~. C( H6 }- b
                  cache: false,
2 j3 K& T# s4 n4 L" M                  data: mldProxyJSON,
% v. _4 r0 \4 I9 X; S( y8 m% q                  K) g$ z6 \) n8 D  g% N+ `6 ?
                  success: function(returnData, status){5 g: X8 }1 e' M" j
                        if(returnData.RETURN.success){
2 E4 o. O4 j4 q                                callback(returnData.RETURN.success, "");- f3 C  h" ~& g; T8 [$ Z
                        }else{: F+ G; U; p& I. X5 z9 H9 I. @
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);- y  A  ~. a& X& B. M  X4 O
                        }* ~% z2 X6 f; N
                },- h! e* I0 k5 d8 z
                error:function(xmlhttprequest, textStatus,errorThrown){$ v5 Y; X. F0 k1 Q. b% n
                        callback(false,"ERROR_GENERAL");
( Q4 x5 v7 ?- f' d# |4 N) T                }
/ y6 N  T6 H" V" s        });5 p; S5 I7 l- ?" Q5 j5 k9 W
}
7 S; q, M# x7 p* {8 h
- j/ A, @4 \6 N6 o; f! m5 \/*---------------------------------------*/5 Z% J1 [, I/ R4 d# R
/*usbcrt   家庭存储                      */
0 ^7 g; {' [  N% v8 W, x  z/*---------------------------------------*/) b. C4 e' L" M" {9 g
  F2 o$ S+ D" F
function getusbcrtInfo(callback){
1 F5 u4 s- p. s) V4 M+ z9 ?7 W        $.ajax({
$ g# |; o7 w$ p& b- C2 g9 q1 L                url: 'cgi-bin/usbcrt.cgi',2 V$ ^, D* A+ g3 a/ h  l% O
                dataType: 'json',* f% r9 J  `# F4 Q. K
            type:'GET',8 H3 a9 G& ^) Y' g- \* U
                cache: false,4 G/ s7 C5 E  p# I* Q
                success: function(returnData, status){. J* x1 j& x+ v( B; }. V
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
! a8 [: |$ B  {* O                                callback(returnData.RETURN.success, returnData);
0 c8 D1 f2 M, Y. w/ s3 W+ M                        }
- t# `8 i( K& A0 Y/ L7 C                        else {
  c: C1 U2 O2 i0 u) q$ b. P. u                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
( Z: ?6 T6 }; c8 K) x2 B, H                        }
% X5 _' V8 @2 w# J3 i                }
$ T5 h% J- w( v  g        });5 ]/ H1 u& O' t1 ^( n1 G$ @: m$ ]
}
" ?, f0 B. G- m& d2 L0 J5 G1 `. f/ T5 T9 M
function setusbcrtInfo(usbcrtJSON, callback){
8 n& A) ^; D6 F. w% H8 s        $.ajax({
! ~( @9 \& C5 |  q                  url: 'cgi-bin/usbcrt.cgi',
% d4 l* J% O. W9 y                  dataType: 'json',
" [2 W* x: M! q, q" j$ b; C                  type:'POST',
4 k9 y+ n* b8 ?4 [" s/ l: k                  cache: false,
3 y$ Q/ p; B: H                  data: usbcrtJSON,' v. F5 Y9 ?) d/ R' |. L4 w
               
4 n( K# h' F! R                  success: function(returnData, status){
" |' [! ?( l' h- |" ?* C* P/ N                        if(returnData.RETURN.success){9 s  T9 y9 {* ~' v
                                callback(returnData.RETURN.success, "");
) P9 F4 U5 j3 h5 X                        }else{" t/ y/ c; Q5 V( _6 C" k" ~
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);* M. z- `9 i6 U. w( d
                        }
# S8 d8 K) v% B! A: t1 y                },
; _% }% P- {, F3 M                error:function(xmlhttprequest, textStatus,errorThrown){
7 K' r9 Z- ]: ^" o, M* U/ Z                        callback(false,"ERROR_GENERAL");. Q8 f' |6 ^: ?, ~- l9 r* r" y! s
                }
' b, I$ K& a0 W        });  N- l6 t; R( e
}
0 a8 h' d4 q, o: J3 i8 r% y3 ^
; ?0 k9 V& |0 X; U/ J" n, @9 o2 X
8 _! v  s' V! k' h9 ^/*---------------------------------------*/# m! H  p. H8 a# c! M6 |
/*todmngrroute MAC过滤                   */
" o% r: `, u) z7 a% Q* t# x/*---------------------------------------*/% r( `- R* ?3 I. w

' l1 |" X- z) B0 Mfunction gettodmngrrouteInfo(callback){
3 m  n3 E1 Y6 t) }) e( U        $.ajax({! A4 F1 l# x6 ]" K5 z  n. q" @
                url: 'cgi-bin/todmngrroute.cgi',
  a: z; w: r% ?' {7 l$ V                dataType: 'json',
  E. ]0 I* e2 ~8 A. ]            type:'GET',
7 F% p3 l4 L; R! ~2 X                cache: false,
! b1 Q0 c% o1 ?0 t$ D( v( Y+ `                success: function(returnData, status){. u) x8 F- ^, t2 e6 c: }7 f& Z# L
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
2 [9 t7 A2 j, `2 i- M* K" E                                callback(returnData.RETURN.success, returnData);
: t- t# L9 q. m7 B% Z" R                        }5 c( e: G" H0 _& N5 {" r* ~
                        else {
' C7 J) Q; y* B9 Z# o4 G: V                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);& c% _% D) h: f$ D5 E
                        }& |- ~1 F: P) o) |" d& l/ ~0 f
                }
( [: F$ N7 l+ D) P8 R        });8 J! e3 W! i9 h1 x+ p9 s
}: V! _, O) B- s3 }1 K7 q: Y' \
' `' \5 C( s- R3 j7 W* j' D! P( a1 Q* _
function settodmngrrouteInfo(todmngrrouteJSON, callback){
2 [* W6 n% V) C1 J        $.ajax({
4 E/ f3 f" b4 v! W) _$ ?                  url: 'cgi-bin/todmngrroute.cgi',
! S6 W! k! ^9 e( r$ o& ^- @                  dataType: 'json',4 }) b& r8 S$ C: x/ }
                  type:'POST',
4 `9 f; V5 e- v! h# h                  cache: false,
1 u2 B' V- C6 B9 W% p" V                  data: todmngrrouteJSON,
. `% h- [0 s9 H, v5 S               
6 D( M9 Y! {8 `, ]/ d% F- ]6 w                  success: function(returnData, status){0 G4 t2 J' G- H# M8 k
                        if(returnData.RETURN.success){
1 d' F' n3 D9 d3 ~) N3 I                                callback(returnData.RETURN.success, "");
- M6 M+ p: l+ v$ P  t5 F                        }else{; W$ n2 m. {/ B. N2 T3 J- F+ S% t
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
/ M, R8 c, i$ ]% u) q! n                        }! b  c+ b, b  V5 c9 \* K, X+ o4 Y5 O1 a2 U
                },' D- S8 w# k& ]$ Y9 U. A
                error:function(xmlhttprequest, textStatus,errorThrown){  Z! ^! F1 p5 r1 H
                        callback(false,"ERROR_GENERAL");! [. R% l- _5 L% m- B4 v. J: Z
                }; A- \  H4 B, X* q" n: M3 O
        });9 e7 b& n' R+ L/ W9 `
}5 J, l& k4 o: H0 B: D* ~
* P; q. D9 {% ]- c9 `- i

: L) {; [' d8 ?) P$ B* _/*---------------------------------------*/$ w  C6 u% f$ g$ d! C  L5 }% [
/*todmngr 广域网访问设置                 */
$ |2 K$ m% ]' g7 s) u  ?/*---------------------------------------*/
" \( A9 C1 _) d8 K3 I
6 n8 p. R, U( \! Jfunction gettodmngrInfo(callback){7 u5 a4 |' ~0 J: L) k9 T7 o
        $.ajax({
5 _; T6 a% u2 j0 p                url: 'cgi-bin/todmngr.cgi',8 K7 c) ]; ^! y8 M0 h
                dataType: 'json',
! u: F9 \7 I& n5 z3 p3 n            type:'GET',
; s" n0 o: A. i                cache: false,
+ F2 l+ G, d" |( f$ E8 [                success: function(returnData, status){
) o9 Z' A6 Y$ P$ ^1 i5 B$ {                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
* e' k) ]6 N1 b# s; K$ V                                callback(returnData.RETURN.success, returnData);0 ~6 r, g8 Q1 ]) R' Q
                        }
- z" D: q: h3 |" Z) z0 u9 g. _* ]! X                        else {6 j0 \# }( K: |! n" ?
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
4 A4 M, F& T3 v' E# x/ Y                        }5 e( G9 z' \4 \
                }
4 R9 w' K8 B! @& B2 W        });
. ^6 M# a4 a6 l9 R1 Q}" u. c* S( }& M0 j  ^; y# G
  N' t# f5 x) B. Z7 |! Q
function settodmngrInfo(todmngrJSON, callback){
) Y3 k% g  m& }8 l        $.ajax({
, [0 X+ M' A2 v- e' R                  url: 'cgi-bin/todmngr.cgi',
3 I) K& a# m7 c: R- J6 h& l- }3 C, V                  dataType: 'json',! C# F! z. I: O5 _
                  type:'POST',- d( I" c( P2 j
                  cache: false,% n: p1 j0 g! a6 F
                  data: todmngrJSON,2 L5 q0 E7 h% j; v7 m* z
               
: n% }1 E6 \& K6 O) A- b                  success: function(returnData, status){
  b# ], z% w! q# j                        if(returnData.RETURN.success){
0 Z0 A, h" m, |& x8 N6 J                                callback(returnData.RETURN.success, "");
' n6 j8 m& H( {                        }else{
; F7 G, A3 u7 N' D. [9 {                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);# A  c7 S) v1 a, Z& D
                        }2 E" ^9 C; v9 X, i
                },6 E$ i% M$ R6 A4 w: [" C6 @
                error:function(xmlhttprequest, textStatus,errorThrown){
1 W$ f* T& F8 {* s; s, q                        callback(false,"ERROR_GENERAL");
0 F/ z1 D+ T/ U1 I; e/ z                }# y/ j8 q! R5 v3 ]/ e
        });$ N1 l, Q+ E: I: ^% Q" t
}
. S: r' Y& T. b# s( U2 b  P9 H; ^6 u/ A2 Q9 x! L6 L
/*---------------------------------------*/! _2 p3 I. r  w; e
/*main_ipfilter 端口过滤                 */
" z5 I7 z$ P8 o1 Z  T/*---------------------------------------*/
# D, K9 A* J0 d
+ t, W4 G/ }4 Yfunction getipfilterInfo(callback){
* h# g, Y# e' d4 I        $.ajax({
  M% b3 G; V1 s; j4 S; |                url: 'cgi-bin/main_ipfilter.cgi',5 g4 K  v$ ]+ D0 d+ o9 p/ n
                dataType: 'json',/ l1 l0 g- C+ w# v
            type:'GET',
: ~. c" _4 ~# f4 c* [! R                cache: false,
9 {: s5 J6 e7 v7 I1 U  X                success: function(returnData, status){$ ?1 a* m6 ?" D) z* I5 t
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {- t2 j) `6 }$ W- \
                                callback(returnData.RETURN.success, returnData);
, r! Y8 J; f( f5 f5 N& W                        }
# ?6 C# r7 G( Z1 W$ F  [( Y+ o+ Q                        else {
8 E9 |' `8 \2 F  B! f1 d                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
5 L0 ]; U( C/ V                        }
+ p, M# K4 h; D& e: a                }$ A: j" N; ?/ Q- o+ n
        });
, T8 g# S0 y+ m) L0 g}3 u; L- ]4 e5 y# t* ^$ T: d
# K( f0 x& p: Z8 Y' k! ?
function setipfilterInfo(ipfilterJSON, callback){
- y& E) A6 f% v        $.ajax({
3 }0 _$ Z7 g+ Q# X& l6 P                  url: 'cgi-bin/main_ipfilter.cgi',
: S  X  K; F9 e: |$ p) L/ p                  dataType: 'json',
+ G/ r  w" D* J. `: f9 C                  type:'POST',8 [6 p6 y! N3 S  q$ a* R/ r
                  cache: false,
6 Z, a. `. T9 h. G) @                  data: ipfilterJSON,
' k4 Z$ b8 n9 f5 t( D* g5 Y               
" Y- ?) G6 R& j& n" y; O: d" K9 Y                  success: function(returnData, status){" s" \  N1 c3 F0 r! I/ ~
                        if(returnData.RETURN.success){
6 \- m5 |4 |7 o: l7 r$ ^/ p9 o                                callback(returnData.RETURN.success, "");
2 e9 U7 J! U" w/ _: U0 v                        }else{- u! c; x# p: R4 c
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);. S: T7 R# p' `. n+ ]6 H! J) X
                        }' g, `( o% e/ f
                },
& O6 f  _, ^) T) |1 g                error:function(xmlhttprequest, textStatus,errorThrown){
  ?3 F" M7 t& p% o8 w' J$ B. d) ~                        callback(false,"ERROR_GENERAL");) [1 J6 ?+ y' ~- a, }9 d
                }8 L/ X  l4 Y; c) O% u- o
        });
& g; H, e$ t2 K& U* T2 E+ k, A}
* G" M% R% F# r5 H: ^& y/ ~. }1 [$ {1 I0 W; h' S
/*---------------------------------------*/
2 i+ a0 \3 D( w( \/*connect_status 交互建立                */
2 a, \4 f; m- w2 t5 \. g/*---------------------------------------*/* v& u2 _% [8 ]# r" w" y3 |
function getconnect_status(callback){8 S2 y2 X7 `* o& `
        $.ajax({+ s( H$ S, c) h- @8 ~) D. U: I
                url: 'cgi-bin/connect_status.cgi',
2 n2 {9 }/ \; L1 P( {) @$ E; V4 W, [                dataType: 'json',
' G3 k; C- M- C) n. P                cache: false,
% D$ c0 c0 I8 j  I# L% c$ N' b1 d                async: false,+ K5 W) T. C1 x0 u$ o
                success: function(returnData, status){6 Z' `) C' l  Q  s4 l
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {4 k0 {  N/ _4 C4 f
                                callback(returnData.RETURN.success, returnData);0 }# R: \. b% ^: o% D
                        }% _7 k+ X. D6 l5 X9 K# ~  y$ b
                        else {6 x2 i0 e' f9 W3 K7 k% _+ X
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
) J1 @6 r; r* E5 r0 u# A6 n                        }" `1 `1 Y- D0 k0 `. m$ J
                }' j- P- R( b6 o5 s* P8 n' _( C& A
        });
$ d" S7 j/ f. \2 x! w& K% L. Y}
( D' O1 m2 l% w0 I
, s7 }% j+ I7 L( L9 [6 v1 a5 Q) b1 _6 ]$ @  U
/*---------------------------------------*/$ p! B5 m* Q8 B# _4 J) ?
/*sysloglevel  写入等级设置              */
0 O. X& v2 I0 }7 ^) o0 }/ L# {, }) N/*---------------------------------------*/) Z1 t3 e; l0 z2 _! ?
7 `0 i4 ~8 `, L' i. K' V3 Q
function getsysloglevelInfo(callback){
$ S1 g' a( Z% Q2 q% n, K% J  c        $.ajax({
2 g  b8 p2 G$ D. R1 u                url: 'cgi-bin/sysloglevel.cgi',
/ Q0 B# u/ v" p- c% T( c" N+ d                dataType: 'json',5 x8 y* q* I- Y* O9 a* v% W
            type:'GET',
* d: G% E. Z' A  k; V                cache: false,; f9 [' M$ C) R
                success: function(returnData, status){0 H' _. d) {) p5 S
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {2 l2 P* w% D, Y6 K6 J
                                callback(returnData.RETURN.success, returnData);
9 q' G, N# ]) j, U2 d; f, O                        }
/ ?/ S( w  q; F" q4 D2 x) }                        else {
$ \- h" O! _" T# ^' E$ }/ {" E                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
( N7 K$ W1 |( M/ X' [5 M1 _+ C0 K7 e                        }' H! [1 X6 k! d7 S7 l$ w
                }
: E$ F8 H2 X( k. B3 _        });
% \8 S: Z. f9 \9 j! d$ H0 [. r7 Z}
# A) V0 b& H& ~% R  ~# F/ n9 p; A9 A2 _* A: @* c/ i) v
function setsysloglevelInfo(sysloglevelJSON, callback){( n7 t1 {6 S* W4 ?. _( L
        $.ajax({
. p4 \0 E' w9 E! k$ {1 M                  url: 'cgi-bin/sysloglevel.cgi',  Z2 A! _& G7 s7 g# ]' u# [
                  dataType: 'json',, `; [$ H# P0 F& C) S- \1 O
                  type:'POST',
: w4 f" [6 w# e6 T                  cache: false,
5 d# |, D! E$ o5 c1 _4 i9 B6 x                  data: sysloglevelJSON,
0 e: j( k) @% o  U* w1 }( z7 Q- D               
. F# p0 p6 s# K$ l+ Y                  success: function(returnData, status){/ Q. \! }  W2 b
                        if(returnData.RETURN.success){
+ Y$ q* T3 c% G$ R6 ^                                callback(returnData.RETURN.success, "");" @" [5 T4 H. Q4 L0 H3 p. Z
                        }else{
; D/ _0 z9 F* P7 u3 n% N1 {                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);0 e8 v+ @$ t, E" P/ h0 T
                        }
9 @5 y* B$ }: `' R3 J8 B                },
% i( D5 k+ \% U9 B                error:function(xmlhttprequest, textStatus,errorThrown){3 A2 M4 g: G7 {2 D
                        callback(false,"ERROR_GENERAL");
3 j, e! b1 E7 l; {9 j* ?                }
, d; p6 I& o* i0 S6 @        });: o; l' W% a% @4 C
}5 L& r7 e# a" T4 Q. V8 d4 Z% J

: ?6 k! L: y8 E! h9 Z/*---------------------------------------*/2 e2 l% n& d7 B" h2 `- a) t
/*syslogfile 日志                        */
- }9 ~" @! H" C; i5 S* f/*---------------------------------------*/
; G/ y$ n. K8 k* |0 Gfunction getsyslogfileInfo(callback){
" v  U: E: t5 ^4 t1 _        $.ajax({& Y' Y: l3 i3 g  B
                url: 'cgi-bin/syslogfile.cgi',
% X( Z, Y4 r1 v                dataType: 'json',
2 W% [+ A; j4 Z' ~! w; ^- {                cache: false,
3 S4 S2 o8 f# _5 ^! F7 I                async: false,
1 S: H" S  r' x- j. m) E& n                success: function(returnData, status){
( m, {7 p0 n8 ]' m- s- q                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
5 P" N, p7 o3 c9 |6 x) u                                callback(returnData.RETURN.success, returnData);
0 z$ f+ a( U; K1 c+ m                        }) I$ }" Z3 Y* t& S+ y, g3 e
                        else {
, N: s, N3 E" s7 w- V# N5 _6 F                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);  \* b0 `: t; g, c" a
                        }
: y& Y2 X! F7 a# B# v% J7 ^: C                }, f% }" K+ C% y
        });
7 }$ `# R( g+ j7 w# {}
9 |4 }: H- n. i2 @- J6 L# a3 s0 x9 E3 ?8 B# @

/ M1 ~' m2 Q: U' P8 ?/ K/*---------------------------------------*/
/ i, h: `  B# j, `& Z1 K9 L7 Y/*ipv6lancfg  IPV6配置                   */9 q8 M. j2 v& Y+ f
/*---------------------------------------*/# n8 T3 d* |4 I
; D# N9 N" u% [( ~8 I
function getipv6lancfgInfo(callback){7 X+ X  l4 |4 d. t! c4 w. d; f6 g
        $.ajax({' t) o# R% ~. D" K: ~$ p$ c, A
                url: 'cgi-bin/ipv6lancfg.cgi',
$ p, P# p" [% b: g+ V                dataType: 'json',
! \% q7 |9 h9 i: D' p            type:'GET',
8 s) z7 V( ~$ a3 J! T) f" L                cache: false,' ?* p: [. |0 @# _( O
                success: function(returnData, status){
. K! l/ m& v4 V3 v7 {) o: u                        if (returnData.RETURN != undefined && returnData.RETURN.success) {2 U, O% ]3 c. i: p
                                callback(returnData.RETURN.success, returnData);4 X* y8 z* a) V  Q8 j
                        }( U& w3 ~  ~; M! o3 q
                        else {
! u) }; ?( J9 l! E; \! I                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
8 {( U% z9 W9 {                        }3 Y# d8 M! J7 P4 ?8 n
                }# }4 j  ]6 \5 }) x
        });  M7 \9 ]: J$ d( J' K- @
}
" S  q5 z5 h0 R% J# p, R  K9 Q& r; s5 I  b
function setipv6lancfgInfo(ipv6lancfgJSON, callback){  L# y0 D2 L0 ]' P
        $.ajax({- @. O* V. f3 e, P! P5 X
                  url: 'cgi-bin/ipv6lancfg.cgi',
5 l+ c& ]/ D6 U6 r+ m2 M* }                  dataType: 'json',
9 m) D4 C* X' W1 \: U                  type:'POST',) ], A& k9 e  |, F! S1 Z
                  cache: false,
4 @' t' L. M( Q- P8 U) K                  data: ipv6lancfgJSON,$ |2 g" s' m7 {% X
               
. s+ @9 D7 X6 f( h( \3 N4 B1 w                  success: function(returnData, status){& u- I- M/ Q0 V0 J) X
                        if(returnData.RETURN.success){- R  ]# ]+ d" U4 Z
                                callback(returnData.RETURN.success, "");0 c, `1 F( n; G3 _0 j  ?
                        }else{, ~& D: r; `0 d9 o& ^: g
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);: G! A6 Y7 i2 j% S0 C
                        }' z. G) S# K8 w- x1 S, X  J
                },) O) a# R, }, n" U& d! ]
                error:function(xmlhttprequest, textStatus,errorThrown){
  a2 n, M+ w# H7 O3 n                        callback(false,"ERROR_GENERAL");
/ W  c1 W* ^+ i1 V  h( p6 x                }
* Q$ `; b8 j1 `9 X( w3 }2 h) j        });
  v7 T0 ~1 ~, G1 ^! }- A# `}! N6 S& E! ]1 t+ {) E  W+ H
) z" _1 u* ~9 |! J- K8 A6 ^% J

6 L+ f6 H( |' K/ F& d2 N/*---------------------------------------*/
' u( k$ x: X8 v6 x+ w) c; O/*dnsproxycfg  DNS Proxy配置             */2 J0 d# M4 b- m- S- {
/*---------------------------------------*/$ |/ |' v8 }$ w3 z0 D2 ~. C( t

4 J2 Z& t/ q% n3 Jfunction getdnsproxycfg(callback){
) m0 F0 \2 _5 R        $.ajax({
5 W( c* N, H- R) |  r                url: 'cgi-bin/dnsproxycfg.cgi',
6 b1 L  M+ p0 V) t! w+ p2 U                dataType: 'json',
  p: z6 ~$ h" t8 ]. n) T3 t( C! [            type:'GET',
6 N, w! Z7 |& _4 @9 M                cache: false,' l8 e4 m& p) W& r8 `5 W% Z
                success: function(returnData, status){
' V- B/ ^1 u6 E3 w- T! V                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
' B: H: F  y' s3 `  M                                callback(returnData.RETURN.success, returnData);" y" ~& n1 _0 S, \9 ?- ]- L+ j
                        }
, `4 T2 \% l5 W4 W                        else {$ N- A  |; u' ]9 o
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
! q4 G' B7 \* R% J" A3 L$ d1 P$ h                        }
: q9 z8 Y' [& f. c. s. k! Z                }
% _% b" a: r; R5 ^- @        });
- F, e9 ?7 R: J- `& [# V, Y}
5 J# z6 I+ `4 z& ?
$ L) @* F, G/ X) r, J  c* mfunction setdnsproxycfg(ipv6lancfgJSON, callback){
0 U7 O; a& v$ s- G$ u        $.ajax({
' a' R% i! w1 `3 i3 D9 K4 D; q, m, @                  url: 'cgi-bin/dnsproxycfg.cgi',  h3 p0 B0 a% m) M& P
                  dataType: 'json',, [/ ^2 j" B6 r1 A" z
                  type:'POST',1 t4 L9 y( ]0 T
                  cache: false,
; W- i& O8 U2 p, z6 J  z4 w5 x8 V                  data: ipv6lancfgJSON,. T- B: ?* o# a1 B7 n' u: C
               
( y! Q6 V7 U) _* I+ |                  success: function(returnData, status){/ D, [$ @8 G+ P2 [$ K
                        if(returnData.RETURN.success){
+ j) l* t* c" N5 d* P                                callback(returnData.RETURN.success, "");3 A6 Y. ?7 [4 k7 h
                        }else{3 e  o; [& z7 e
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);+ H8 L. B8 C- o2 f0 S" J5 Q. p
                        }# r3 _) E5 w, G5 E/ G, D. @
                },* |# Z4 w0 f  i0 `/ m
                error:function(xmlhttprequest, textStatus,errorThrown){. v* _7 N: x' g
                        callback(false,"ERROR_GENERAL");
% K9 C9 d* E6 o! n7 r4 R/ }) f                }
9 I7 d0 c' q  e        });7 W* p# I6 F& G5 n* d
}9 {9 u! _: a$ ?% j2 j& R7 a
; g) U7 S% J+ ~( Q
7 u5 d$ _1 P+ @  T! N
/*---------------------------------------*/4 S1 A" `/ N8 f6 @
/*prefixmode  Prefix Mode配置            */
6 b; S0 \" ~' N/ r+ m/*---------------------------------------*/% z8 T3 Q7 O( f! z! R

- N  A& y" L1 w! y- |function getprefixmode(callback){
" V" d' D. X% p( P$ P        $.ajax({* y, Z0 m+ y# h" L' _0 z
                url: 'cgi-bin/prefixmode.cgi',
9 ], [1 v  k9 R+ [) n1 ~                dataType: 'json',
! H& ^$ N) x, i# @( Z            type:'GET',' c! M2 Q9 s# M) B/ g7 S
                cache: false,7 f. b+ ?' E* o4 i! p
                success: function(returnData, status){6 m6 a, ^8 M0 k/ F" M  u% H
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {# W* j! U, d: S
                                callback(returnData.RETURN.success, returnData);" Q/ T3 R: R: h" J& p6 U
                        }5 @8 `! X7 w! [3 K
                        else {
/ J; u2 Q/ o: e; }/ I/ c. _( m                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);& x2 j' w. u0 m7 z" _
                        }
+ K& q, ^; U8 A8 o8 b" _9 G. L                }
9 Y* ?. ^$ M; V  r# D        });
4 ~; p3 g6 u! f}1 j  M6 T5 K! v0 U8 G% J- N

1 g% _- u2 D9 k: J5 x$ rfunction setprefixmode(ipv6lancfgJSON, callback){, n3 e& L$ u: ]4 H8 ^4 M: E
        $.ajax({
) d6 w; F- _3 t' v; T                  url: 'cgi-bin/prefixmode.cgi',
7 @9 s& {! Y3 d/ v- h9 o                  dataType: 'json',0 Y: K8 G# w5 E& f; c) b! r
                  type:'POST',$ @) |) ?6 o! @) c3 K6 t7 ~- z. |
                  cache: false,
) w# h9 \7 J1 A/ Q) _0 x                  data: ipv6lancfgJSON,3 _+ ~! D! q5 D0 G: O
                ' e3 _( c4 [5 _0 l. n2 N
                  success: function(returnData, status){
* H5 h0 U7 q  m& `                        if(returnData.RETURN.success){
8 \: s1 M- H( [( f6 n) x9 V                                callback(returnData.RETURN.success, "");( W# h: Q4 h" B5 [
                        }else{
( G% `0 T; b+ G: \# r                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);, q! d9 `2 D  b/ s1 k6 v
                        }1 |) r. @* G. z$ U8 g
                },+ [/ P& P7 B+ ]' w$ k) ?8 B
                error:function(xmlhttprequest, textStatus,errorThrown){4 {4 s8 L  V! F7 d: M! J
                        callback(false,"ERROR_GENERAL");
8 Y& \- }# p; @( D$ j                }+ ~+ D+ ?6 ]. [% V$ N
        });1 S: f0 Y9 K. y
}4 Y3 @% P# K( ?# C

  `% |5 E5 J, J
# o' ]; E, k4 s- l$ v& x5 i/*---------------------------------------*/0 v/ c; R. |3 N* z' @
/*sntpcfg  时间服务器                    */' J8 \8 \. f" |
/*---------------------------------------*/
8 ^- n9 W" q- A9 q
% I7 j: ^% b+ \( @' d% b+ sfunction getsntpcfgInfo(callback){
$ u4 s% `, X5 W        $.ajax({
2 ?8 u, A+ o& u) P6 _9 t3 c                url: 'cgi-bin/sntpcfg.cgi',
. t2 Q) M6 q5 _" Y3 l( Z. ]                dataType: 'json',! O8 q' a1 Z, n
            type:'GET',
4 h' w  p8 M. Z0 w+ ]                cache: false,
1 ~/ m1 C& ]/ I) a3 a5 {8 X                success: function(returnData, status){
( ~0 K. _/ _% J0 k                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
8 @$ x3 _& {& c6 T. e; T& F                                callback(returnData.RETURN.success, returnData);' Z* n; F- T) V" E; a( f  x- f; r
                        }1 q8 O. I1 n+ O8 i  H/ c2 A  Q
                        else {
$ b; U' Q! p8 N  P2 ^# k                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
2 l0 l* g4 g7 ~' Y+ u8 G; c' ]! X                        }3 m: A: t! d5 C7 X( s% o
                }8 }' W. v  Z) A3 j. Z" R0 m" L
        });
* E% u; d! ^# b" e}
7 Q- e( Z, b8 g+ u7 O6 q6 b. p9 Y, f* |
function setsntpcfgInfo(sntpcfgJSON, callback){" Z$ @) e3 C% S  K
        $.ajax({5 w2 T* j2 f( W. A' E, r
                  url: 'cgi-bin/sntpcfg.cgi',
) ^2 f6 T% v4 n( `                  dataType: 'json',& y8 y# ~2 S; G" t4 E5 _  s
                  type:'POST',
9 q% P. W" u" ?4 q# G. t                  cache: false,+ ~1 N* _: y- b; R
                  data: sntpcfgJSON,. h6 t0 J, V6 O/ w& T9 n
                $ |$ M) k- F( |/ v
                  success: function(returnData, status){; K+ I/ o, D( K, G, G% z0 m2 q
                        if(returnData.RETURN.success){
5 s. D/ j1 m+ o. y                                callback(returnData.RETURN.success, "");
. x4 t. m# Q2 U6 N- {( }# y  c                        }else{: @5 p  M3 ^9 Z/ l/ m# Q2 @
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);4 Q6 [9 [/ W7 V! L& O5 {
                        }5 T2 x1 Q6 l2 I$ `3 n/ H# R* ?
                },1 y' _) G7 J  X/ @# ]" l$ h
                error:function(xmlhttprequest, textStatus,errorThrown){* w  ?- h" j* Y% d2 Y0 o; ]
                        callback(false,"ERROR_GENERAL");7 Z( |7 i$ X, g# l
                }; F, @8 k# |+ O4 x( p# z- B9 ]
        });! _) E. W* z* V7 ?8 w, ~
}
3 N% Z6 Z  m4 a2 N
: G/ m5 @* @# l9 u. \/*---------------------------------------*/% A4 C2 ?" v) O  e( c# F  \
/*dhcp  IPv4 配置                        */
) X2 L1 ^/ z) r! u2 h& S/*---------------------------------------*/
( e+ j2 M/ K- u. }* }$ S, r2 z# W& M  h5 L4 T+ E9 k& N
function getdhcpInfo(callback){5 o2 E6 U6 m/ P/ l) D6 }: M+ P
        $.ajax({( ~8 ^; [7 v2 `% k8 ?- M
                url: 'cgi-bin/dhcp.cgi',7 I- p- C/ Z' L% S' i$ V' e
                dataType: 'json',
, g( s* V1 U& o8 J, B+ T5 C! h            type:'GET',0 \7 J) b& M7 D0 I$ P1 T/ W
                cache: false,
$ o1 h7 J$ J% L0 g0 ]4 v                success: function(returnData, status){5 N* O, m3 P5 H+ N6 i1 `' c
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
( k" Z* E1 N9 v                                callback(returnData.RETURN.success, returnData);
* ~# s$ P# c/ B; ?8 K! H% g                        }; y2 K$ x" H8 G' C" Q" ?+ U
                        else {! M: G( G. J, ~
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);) P- v( I0 S1 D- Y8 B! m% X
                        }+ ?! ^3 y! ?* {% T. V
                }
8 u1 N: D7 h+ `; ?        });9 p/ D/ g6 n- R
}- ^& a2 G; _# i* Q
7 p3 }" J9 _0 e, |; J5 b8 Q
function setdhcpInfo(dhcpJSON, callback){
, `, j; D2 b6 W+ H$ o. n        $.ajax({' O) y: k6 \1 P' {) {7 Q( B
                  url: 'cgi-bin/dhcp.cgi',2 w. y6 l. w0 p9 p8 ?$ g% D
                  dataType: 'json',7 v+ r6 z; H+ c3 `
                  type:'POST',- P+ F2 w/ N4 e; n7 H* w; M  ?" m
                  cache: false,0 y8 r8 o" e" ~* n, y0 F
                  data: dhcpJSON,
2 H7 B, c8 N- ~+ f6 Y               
$ A% A4 [) t# }2 P: H* b: t                  success: function(returnData, status){
$ d' c  h4 i1 G1 t. ~                        if(returnData.RETURN.success){7 Q% a3 s; i& |) _+ B
                                callback(returnData.RETURN.success, "");
. O/ Z9 t. @9 g, l! a/ E3 X% o4 J2 |                        }else{4 c/ Y( F9 I. D, @: I* ~+ z
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);% v* R3 g  x' `3 k5 {) _6 I6 y
                        }
4 Z1 \6 E7 O0 j' g! n+ o% D5 ]                },& e$ d( O- L) E" t/ m; e
                error:function(xmlhttprequest, textStatus,errorThrown){
# _2 r: v9 @6 I5 ?" h- u                        callback(false,"ERROR_GENERAL");$ [/ l  V8 V2 @" X: Y! o& _7 @
                }9 R  J# G, H% e6 J
        });. d. z5 P1 q0 V4 ]# Z& w; ~3 s) F
}
$ Q' t" ^, \( D7 D1 L4 f
# T8 Z5 p1 Y9 p( s- r/*---------------------------------------*/& x/ n7 S" @2 V: P
/*dhcpbind 预留IP地址列表                */
* x, E9 @  M# Y4 Q$ `0 d  U  s5 v/*---------------------------------------*/
% N8 _  T* Q- p; F7 \
, e4 e; f  ^: ]) N) S4 p  Zfunction getdhcpbindInfo(callback){% m* p9 g, j% o* I! a2 V+ `+ }, ~
        $.ajax({+ Z8 `, r8 _2 G7 [4 n
                url: '../cgi-bin/dhcpbind.cgi',
" v% z8 `$ }6 ~% Z; j                dataType: 'json',- f3 s& I. d; H- k- m4 u7 k- J
            type:'GET',
( U0 k% g7 K) M' E" v, k$ S                cache: false,( Q8 @5 \( z& N$ y% {) Y
                success: function(returnData, status){
& ^( K: I9 m% E9 T! }( A" i  |# S                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
* p( N# m6 u8 p, O                                callback(returnData.RETURN.success, returnData);
2 }4 D) K/ e% d, f  _                        }1 h" N7 D4 j1 Z4 P9 A' u+ x
                        else {
* U" v3 J0 K! v5 \                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);% c# f& Y3 |9 }/ ^' E1 z
                        }4 ?3 `- Q* s8 ^
                }# `# o, `" T) l/ T2 _; j
        });; O1 J7 W/ T& D  [$ \& q* J& F
}
+ b" L; T- n9 y+ d+ N7 ]6 {
& b* L% A9 ]1 ]$ P' [function setdhcpbindInfo(dhcpbindJSON, callback){
9 G* s2 `" K' C        $.ajax({# N5 _, B9 b" b3 T
                  url: '../cgi-bin/dhcpbind.cgi',$ E/ l( a' }! e4 U' k, n  e
                  dataType: 'json',/ \9 j. [) Y$ F, W$ Y
                  type:'POST',
3 A3 n! m' q. s! \$ u0 u7 y# Z                  cache: false,, B/ O% z8 `; |# k1 C
                  data: dhcpbindJSON,
7 x. c  l- [) \$ J" f4 y4 i/ J               
. i2 T* k1 q. D2 K% |                  success: function(returnData, status){
/ |1 e: u2 J6 b: v! V2 `                        if(returnData.RETURN.success){0 B  u+ U1 X0 Q! p' B3 d
                                callback(returnData.RETURN.success, "");
, [$ }: i. Y( {, ?                        }else{
1 T* h, I( L/ L9 ~6 ]                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
& B( \: [. @' l. I9 l6 |: V                        }/ G# b- ?2 C* ^
                },
5 y- U" Z0 ~0 R                error:function(xmlhttprequest, textStatus,errorThrown){3 J' B2 I' S' m8 b5 p
                        callback(false,"ERROR_GENERAL");
4 K9 k$ A9 E3 J; N1 i2 O1 |. Z                }8 M- z: L- R! l4 ?9 }9 c' B" _# _' O
        });# a  i0 N: v, i1 [% i" h* V
}8 G' B- v- j( n

) O/ A  T$ ~$ Y! a9 a/*---------------------------------------*/8 o( k* l1 d3 K+ o' {, n. U( [
/*vlan 业务配置                          */( Z1 o9 }. D1 F+ l" R
/*---------------------------------------*/
1 R8 h3 k' X& v
. a7 c4 d# a2 r  d; r5 k' Ifunction getvlanInfo(callback){
  t# T/ k" K! W1 N6 F/ t        $.ajax({8 a0 J  O) T/ p/ R; K
                url: 'cgi-bin/vlan.cgi',$ `4 }$ _1 ~( A7 e* Z% t3 g
                dataType: 'json',
3 Y8 e4 z0 U* Y/ U3 D            type:'GET',2 I/ b: U4 v: d3 g
                cache: false,& e# |4 D' j; [
                success: function(returnData, status){: v. {5 r$ Q+ G( f/ U
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
; Z. \; Q% K5 h) L" l0 u                                callback(returnData.RETURN.success, returnData);/ q2 {( S1 p- E$ [, L
                        }
) t0 v$ P7 Z, t. D1 c                        else {
+ q8 D' m: b& w' f' ^7 K/ q                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
3 F' J1 o! p, G' `                        }
) O, _) j/ X  o; z6 l) e" V                }* c2 z8 u' R' V6 O) o9 |. f- q
        });
, ?0 e0 M$ m1 j2 s- o  o& O}* m5 O) q  U7 l
: ?  U5 T4 w- t& t+ l# W* n
function setvlanInfo(vlanJSON, callback){
( ?- d$ y3 p& A/ E  n5 P) p        $.ajax({
! K& M) K, J0 \0 |) ~: M                  url: 'cgi-bin/vlan.cgi',2 c. Q# M- @. r. P- v) ?
                  dataType: 'json',9 X8 E, s" t2 R
                  type:'POST',
( F* j+ y7 J5 ~- {3 O                  cache: false,
. f  p  ~- T% x$ G# J                  data: vlanJSON,
  Z; n8 A. j! T) n& P% b6 b8 x               
# d; B$ R' H+ L  c" x7 q0 G5 Z                  success: function(returnData, status){2 p. U# v5 b' H! E
                        if(returnData.RETURN.success){& i& k- k( L, |( `; S
                                callback(returnData.RETURN.success, "");2 r9 @$ B+ j  A! f, E" u' H; b5 p
                        }else{
( q2 q6 w* f  A                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);) D6 @! I# G2 w7 C: A
                        }
9 G% @( W4 m/ s5 g                },
( v% T. a2 N! Q) n5 O                error:function(xmlhttprequest, textStatus,errorThrown){: _! x. [# \0 _2 ~2 y. t' A% ^4 ^3 E
                        callback(false,"ERROR_GENERAL");4 f4 ]0 a# A. u" n* W
                }
  N$ x* l: z$ y( m) g  K( i        });
* D  K0 t$ r# V1 w: X  T}7 ^% a, J8 f+ x8 M, y3 m0 z: i
2 R- q8 S0 p, a; S' ]
/*---------------------------------------*/
! O( _& {# D9 q0 L- r9 @/*vlantrans VLAN翻译                          */
2 V8 r, \3 c; L/*---------------------------------------*/
/ }. \+ b% V4 s% h0 |2 F2 `7 m
function getvlantransInfo(callback){8 R1 d* H( P' h3 D9 M
        $.ajax({# S  B" h, P% M7 ~. R  \9 v5 @% G) L
                url: 'cgi-bin/vlantrans.cgi',
0 F8 h: o6 E8 U: j                dataType: 'json',' o" a8 C- F( L) Y
            type:'GET',4 `6 @$ L$ q( t; w' [
                cache: false,
8 \5 T6 a6 [& `" {1 B# p) n9 D                success: function(returnData, status){% d8 ~$ _) a) ?# H* n8 v: X
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {. o; C+ F. @# `9 V
                                callback(returnData.RETURN.success, returnData);6 e) I+ u9 l2 u6 y: c/ ]: ^3 B
                        }
1 ^# f- q* D1 U: z# B; C  d                        else {
) c' [$ K& d5 `6 i& N0 p                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
  S, m( `, L* E' ]                        }
/ v0 @) y+ Y2 O' B7 e. a( A: M; G                }+ N/ X% b/ U2 n% ~, O1 N7 e
        });
- Y4 H0 @4 D5 C}
% J' L( S9 A0 o  v1 Q3 U# n' K& T1 q" [- L/ z  M* \3 x$ U% s4 Z4 ^
function setvlantransInfo(vlantransJSON, callback){; R( K5 q6 A( o/ C% T9 i# c
        $.ajax({
& n3 H) w9 I/ h2 k# V  y$ c* ]                  url: 'cgi-bin/vlantrans.cgi',0 j4 p  P6 x, X" ~( V/ i8 P* T
                  dataType: 'json',
% i  X$ G# J; M$ @0 l                  type:'POST',# w2 D" W  L7 `; K; z
                  cache: false,
$ w, e+ l( y& X                  data: vlantransJSON,3 Q9 x; k& l" q) `
                " T* W; ^2 F+ u, x  V5 O9 z+ M
                  success: function(returnData, status){
( V6 Y, t" T5 E" R1 ^: q7 b( @( c                        if(returnData.RETURN.success){; c( E3 J: }1 m& L' M; z
                                callback(returnData.RETURN.success, "");) K' h! l$ B4 h
                        }else{- Z5 t; D; }" W- n
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);0 w3 {9 a1 D' o' K* H! _9 E
                        }; f( S5 G) o3 D4 E5 @! X) d
                },) L2 r# `  U( Z/ f' e3 k
                error:function(xmlhttprequest, textStatus,errorThrown){! f" t7 M' q3 A, S3 W
                        callback(false,"ERROR_GENERAL");6 ]8 I- ^$ P- X2 I* f
                }
5 h# u9 u5 p( p. s" a. X) t, u; s        });5 e" o0 A: Q, ]% P/ w0 ?; f
}
: r; n/ C$ D9 N1 ~6 f* c
4 _' X7 K, d( x" Z/ |/*---------------------------------------*/
- D# t7 W: i0 O, b+ B1 e$ h/*traffictl IPv4流量控制                 */
; o! @/ d" R) w$ K% E' V8 s* B7 N/*---------------------------------------*/6 s! F  _, F8 P
7 q& B: k, f6 o- L) @/ ?9 C; k# }. R
function gettraffictlInfo(callback){- P6 ]" m" G, W: w# W2 Z5 g, w
        $.ajax({
; `2 W3 d5 [1 q: y. }- e" K                url: 'cgi-bin/traffictl.cgi',
! \( i+ n( X% q1 b) F4 `                dataType: 'json',
8 \3 w7 U% G2 C/ L: C            type:'GET',2 Q- T( _( ~: {) H5 r
                cache: false,
( G8 b8 D2 e3 A' j! b; {( S. I                success: function(returnData, status){" f9 W( d$ W5 m2 I
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {& Y; ?/ m+ F6 c. ^+ n+ E
                                callback(returnData.RETURN.success, returnData);
" w, k& z$ i5 C1 v& M& f9 J                        }
0 h, o$ c- b6 ]' m/ K' b                        else {3 B! Q5 s; w$ ]: W
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);) e* u9 i- L9 ]5 c  [& ]; }
                        }
) G9 R$ q5 O& ~  _: ~                }
. |* `  H5 m# C, {9 f* Q$ ^4 B        });
# C( K  g# ]/ u, _}
" @/ C0 V1 }$ H& j! x
& g- \. |+ ~9 K7 i: ^7 k% o! afunction settraffictlInfo(traffictlJSON, callback){; |9 W3 M1 X& o
        $.ajax({
* i( o, v2 k& W7 G: V                  url: 'cgi-bin/traffictl.cgi',7 q* A& R+ U$ V. `) C) q% D, m
                  dataType: 'json',! f6 v& G+ I; l% _' C3 |- Z* P
                  type:'POST',1 ]2 T$ q% b! l% c9 }4 D; H
                  cache: false,4 g' Y6 i3 [; y8 G" _8 ?* ^
                  data: traffictlJSON,. U; A* K, X! W. Y4 F5 i
               
( R/ b4 B$ y$ z7 h. P( T                  success: function(returnData, status){7 N$ F" ]. q' _5 H
                        if(returnData.RETURN.success){: c1 I6 v) W! t  Q* D/ Z
                                callback(returnData.RETURN.success, "");
8 `8 }1 S; [2 q9 }                        }else{
7 G( Z4 c: }0 l' q: i                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
# B6 P$ N$ D) g! I                        }! g# }2 g5 H5 U. K& [# O  `+ l# _  N1 v
                },
1 t% u9 y% T" b5 Z# y0 F                error:function(xmlhttprequest, textStatus,errorThrown){6 C- d. X; A- C, A
                        callback(false,"ERROR_GENERAL");! A4 L. @# ?5 P3 K! k# y  f6 a' p. r3 T
                }+ l" R2 p' I7 N' T& V
        });& G# J; Y# v$ l0 o
}
' a: n' K8 w" X% e: \* @) ~$ B( \/ z9 U' ^3 x& Q
/*---------------------------------------*/
2 E5 o) d& m% c6 C2 k' w1 F/*qosueuev6 IPv6队列配置                 */
9 J& p. j; T6 v( k5 J/*---------------------------------------*/
# H; `3 W* H. c* z, v
3 t  \  G. C2 Hfunction getqosueuev6Info(callback){1 N' y  g; {6 Q
        $.ajax({
' Y- ~& r1 y" M" C                url: 'cgi-bin/qosueuev6.cgi',6 X8 `6 R& a3 h. [
                dataType: 'json',+ d5 U: v- [, d
            type:'GET',; S) i" @8 n0 |* {8 z2 Y
                cache: false,
9 q3 `+ {2 c* i( k" o( Q/ M                success: function(returnData, status){' }' t6 l$ z2 H. g/ r
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
( z2 y" S! u) E: D( F                                callback(returnData.RETURN.success, returnData);6 \4 _6 ^3 @5 p; S- z
                        }
8 V( D: G6 z6 ?1 i/ A9 w$ G                        else {
" X2 m5 Y" b; s; I- p1 U                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);1 T2 x9 t1 {5 H* I5 y+ |
                        }* k1 m$ ?4 u5 t, c1 H. Y6 C
                }
! y. M8 p2 Z# y- _. b& q5 M        });
  F" |3 F$ [* C+ M7 o}
" L7 _- d2 u  o  Q" u1 s# l! k$ ~! X) D: T; D4 W( W+ j: t
function setqosueuev6Info(qosueuev6JSON, callback){
2 r1 R# m4 b% k% ~" j& c* w        $.ajax({
# z$ D  a! z" o                  url: 'cgi-bin/qosueuev6.cgi',& h( E- U, n% o( B0 K( v! P
                  dataType: 'json',
. w" J8 b6 v: U* Q                  type:'POST',+ H+ w4 V* r; S3 z2 [* u% G
                  cache: false,
, a" `2 Q7 n, M5 q                  data: qosueuev6JSON,* d( K$ J  Y% `/ _  O0 I
                6 W7 S5 r; Q- g3 {8 B9 Z) D
                  success: function(returnData, status){
. y/ B, g3 F- J6 E- L- N                        if(returnData.RETURN.success){; n, ^+ o! F; ?  p. y6 {6 X
                                callback(returnData.RETURN.success, "");& y' M# i- o# G. ~, T5 f
                        }else{
5 j/ `3 {& h6 `! m: {0 A  J( ?                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
( u) n. S4 g# }                        }
+ @; c( f# ]( c0 k: K                },
' D: S# J% p, @* C8 {8 p                error:function(xmlhttprequest, textStatus,errorThrown){; M3 Z; ?- N8 k/ f
                        callback(false,"ERROR_GENERAL");
' [8 u4 y, ]  n: r5 E2 G3 b; `                }
& x6 T$ O+ o+ a! p0 O        });
3 [: @( m. I9 X% H, {' ]7 M}
; K# z4 Z( f- z
+ E6 K( O3 ]7 E8 q6 K! J/*---------------------------------------*/
+ ?* w$ x! q, x6 Y, o- m. Q; b/*traffictlv6 IPv6流量控制               */& V5 ]5 Y% i6 q- G% Q% @4 c" p( P  ?
/*---------------------------------------*/1 w: ?% K2 B  j9 K" _4 L2 q
) T/ }$ F5 Z: l+ T! Q7 j
function gettraffictlv6Info(callback){
( `9 d& E+ }) d) J& L' ^- ^        $.ajax({4 b, X0 a( M$ ~  H6 X% ~
                url: 'cgi-bin/traffictlv6.cgi',1 V( H" d- _1 r' G4 T5 d9 V
                dataType: 'json',
. F* y% U- x& U  D" w            type:'GET',
% \+ ]& m: q3 t+ R3 ]                cache: false,5 @0 k$ _5 }' N1 T3 y
                success: function(returnData, status){$ g. W; ^$ W# L: j) h5 [
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {. E( w) E5 N# I+ k5 R# l0 E2 p7 I# U0 i
                                callback(returnData.RETURN.success, returnData);  z6 |! H7 s8 f. w
                        }% f9 {. W) ?8 ^# o) l& x0 H
                        else {
1 f( [# F; w, i6 {1 B3 ~5 M                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);, n$ ?) |  M. V1 @9 X: Z
                        }
; S. k, j1 w* D                }
/ E) I) m( g3 R; p! M4 }        });' M# C$ B( }$ s8 g! T4 T2 s5 P
}' n1 `# A$ G7 P  S9 `- _

3 D- t% e, B7 Z" n2 Bfunction settraffictlv6Info(traffictlv6JSON, callback){
: g: ~( z- J2 x9 a# F        $.ajax({/ x7 Z" N! [% @1 t
                  url: 'cgi-bin/traffictlv6.cgi',+ R; w- A2 B: L* h7 N1 j
                  dataType: 'json',, S$ f: r! i0 u, W+ ~+ E% D
                  type:'POST',  @8 R8 a$ r8 z. ^
                  cache: false,3 @9 i6 c. E$ R/ v* e
                  data: traffictlv6JSON,5 D" T: `- [) o5 h+ ]6 a
                . U6 p2 t, U/ `2 ]# \
                  success: function(returnData, status){
. \" a9 g1 z* W                        if(returnData.RETURN.success){6 M/ c( B: A) |. i4 T6 y
                                callback(returnData.RETURN.success, "");
. C$ x: u- x# s6 ^                        }else{
9 B% v' k  _( I/ ^; _* z! R/ N/ B                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
; O; L- ?, t" `2 o, |                        }! d9 C. Y$ x/ G! s; j
                },, z0 Q; j9 N  J
                error:function(xmlhttprequest, textStatus,errorThrown){
. X: d4 ?1 J$ w* [1 G# E2 ^                        callback(false,"ERROR_GENERAL");
! R, s0 T, b& h5 ~* D; v6 @+ U8 w1 H                }1 A2 }+ B/ I3 b
        });
( I+ ]  D, J, u* T+ ^}3 i( n! o& {; x7 L, z, P: M1 K( d

; t5 ]% y0 _8 h4 P! d% T/*---------------------------------------*/
1 E4 A8 x7 @3 }; A/*qosclsv6 IPv6流量控制                  */+ T- @* a$ A9 N! ?3 V
/*---------------------------------------*/& l9 L3 q% X+ [, ]7 M; l

3 l: L! ?1 `  G. ]% K* Pfunction getqosclsv6Info(callback){! I4 n% _8 H/ q) A( g8 Y
        $.ajax({0 m/ E, b3 l% T( S+ ?. q$ l1 w
                url: 'cgi-bin/qosclsv6.cgi',6 k2 f5 q/ B! N+ U& b
                dataType: 'json',( M# d# f. d4 z3 q3 _; r1 D
            type:'GET',
- m) q: |5 z1 y; u                cache: false,# _) V% L1 P5 d0 O1 L( ~6 |
                success: function(returnData, status){% l8 G5 G3 b, O
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {, C- p: n$ g) u: @0 d, Z
                                callback(returnData.RETURN.success, returnData);
4 Q& K# \' ?0 t7 \" E/ i7 d                        }* _0 o7 J. R5 h5 t1 z' S
                        else {0 z9 h8 r( H6 D3 |" d; p' s4 O
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);: y1 q  C, ], T
                        }
1 |9 z" p- `; h3 E. T                }4 W0 ]  r) w9 \  [( a; l
        });
: R  i6 z' |, k* c0 K$ \* }4 g; m}
& s7 x8 Z3 p. U  V) h3 O' Y& X( [# E; q) v4 _
function setqosclsv6Info(qosclsv6JSON, callback){
2 o/ y% ^$ k( V6 @        $.ajax({+ _+ G. K4 `4 h
                  url: 'cgi-bin/qosclsv6.cgi',
4 p0 i, A  F7 h4 ]% Z                  dataType: 'json',- L6 @& n% ~: m
                  type:'POST'," {% `% @: K  M% e* E
                  cache: false,- w' K1 K! B+ }7 x
                  data: qosclsv6JSON,
& z. u( B1 {6 C' V" {5 e               
5 A1 j5 {- [9 m, r1 k2 N                  success: function(returnData, status){
6 q& a' N: E% _5 X" d$ `                        if(returnData.RETURN.success){5 {$ [7 c8 c/ C8 z& B
                                callback(returnData.RETURN.success, "");
9 r! Y3 `$ w$ T' K* X& W1 l) O                        }else{
1 x' v( O  o' ^$ ~4 n/ _                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);' i# f( B; {' p( p, E5 P
                        }
$ P7 q! {% J  _- B. S! y+ G! E                },
" W! c2 f8 u/ q% ?" K7 {) T                error:function(xmlhttprequest, textStatus,errorThrown){& f$ R* T( e" Q/ o: A; H
                        callback(false,"ERROR_GENERAL");6 e" t: ~1 A, f( G0 ~
                }
8 N6 B9 D2 Y3 H& N2 O. F* k        });
+ C" t: S6 e1 V) @7 a6 ?/ u}
( g7 c8 K0 p0 R  C) x4 |  q: ?7 n7 Z  x3 N8 Z
/*---------------------------------------*/
+ f( W/ w# o5 u5 l/*route    IPV6静态路由                */
  l# e; s) z1 B' _5 E/*---------------------------------------*/4 w( o8 y9 z5 h' y- K. f

* J' `+ I) E: Z+ m4 Cfunction getrouteInfo(callback){: f  N  }! Z7 M6 c1 @1 e7 G7 P/ p4 }
        $.ajax({
* z+ u  S( N4 ?+ K                url: 'cgi-bin/route.cgi',# N! R2 S. _2 c6 Z4 C0 l+ b. ]8 z
                dataType: 'json',
/ R! ^8 `4 y/ i% O& L; L, [9 Y            type:'GET',
8 G# P- j! E* Q* l- s6 @                cache: false,) U8 k- E! }* t9 X' ^
                success: function(returnData, status){
& j/ x1 I& P' X  U7 b                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
) Y, i, ~2 i0 T9 b                                callback(returnData.RETURN.success, returnData);
4 U" J& Z3 z- Z$ g& x- x4 J3 q                        }# {# y  k5 y+ ?( i7 m+ [
                        else {
1 Y+ t2 m! f+ ]                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);4 V7 t3 d2 U3 @
                        }
( t% P0 `/ r- m3 b+ O/ v5 u" r                }
9 D/ X4 E0 J; E        });; c" T5 [2 N2 c# }
}
; F  H) ?, \* m4 b0 {$ _! j5 H
1 f2 O/ j& u. c5 R! b: nfunction setrouteInfo(routeJSON, callback){
$ S4 X/ i; H7 K1 X2 d- ^& A        $.ajax({7 s  p: ~- G8 c9 x! Z: w( E  J& m$ q
                  url: 'cgi-bin/route.cgi',
* R* Q" b2 A  C& Q                  dataType: 'json',4 D( z3 A3 m, j) o# I3 ]
                  type:'POST',( a8 N( ?' {3 |6 o  H, w; P
                  cache: false,
, b1 I+ J# e. r. ]) L                  data: routeJSON,
  [1 Y! K6 s' @" p# R; B: O, ~0 c                $ y5 Q& ~% b' s0 Q! M5 _# m7 j
                  success: function(returnData, status){
8 \3 K# [/ D+ Z, I, b* o( [' s                        if(returnData.RETURN.success){
0 @2 F" I' @/ F: a3 g( Y! }                                callback(returnData.RETURN.success, "");: `' o' h$ _2 y$ o( ^. J! M
                        }else{  K- ~+ j! ^; s% u2 P" j" C. Y
                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);: f; ^" f( Y" N# v$ z/ z
                        }
# M+ W2 x6 z* U$ K                },: y. J* Y2 g! |4 y) O1 \
                error:function(xmlhttprequest, textStatus,errorThrown){0 n1 I3 V+ _% m# v# r+ e8 ~, O
                        callback(false,"ERROR_GENERAL");+ Q! t) F4 ]/ O& }- C6 V5 L
                }
% m: @; w( v6 f: i1 Z; s. ~        });
3 F; b5 {/ t& p1 {/ j}
* Q, |! [2 i" a3 ?, J0 c5 c1 F
7 P; i" O# B; F) d/*---------------------------------------*/1 e* x! f: U8 K/ [- r4 J  x; K
/*qoscfg    QoS模板配置                  */* w9 A1 P5 }3 x3 U1 X9 }! m
/*---------------------------------------*/$ D5 A6 u6 M3 Q* E  q
* x/ X& j6 q0 u, ]  c8 i
function getqoscfgInfo(callback){
+ l# d+ f' t, X5 ]4 D' L        $.ajax({8 Q2 M8 K: W1 Q5 A
                url: 'cgi-bin/qoscfg.cgi',
. N2 }8 q8 s) {6 p/ i6 l                dataType: 'json',' @, S/ R( Z" u% j* Q4 P
            type:'GET',
. N  W$ R- M" V+ W3 F                cache: false,
: t. n- \$ i3 M8 G8 B                success: function(returnData, status){7 P7 t# |2 L0 \$ A- ?+ U" g
                        if (returnData.RETURN != undefined && returnData.RETURN.success) {
1 o: u4 m8 r$ Q2 \                                callback(returnData.RETURN.success, returnData);/ J, u  R+ F$ U3 T! I$ L
                        }
0 A. p, ]1 |( _7 i( `4 T                        else {7 j9 D' i* q1 e8 [
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);9 s  w4 m' U* B; x* j; E$ I+ s
                        }
! z- ^4 S; ~+ N3 y& Z# m                }
$ m0 U; i; Q1 E' {9 f/ S! h! d, K9 Z5 @        });
8 e  H$ Z. \6 i1 N" F0 _( l" M}# U$ k# ]& I8 u' A  D

; n' \+ Z( J  X% ?; g3 b6 Q4 Tfunction setqoscfgInfo(qoscfgJSON, callback){# w0 x% u( u# y/ J5 u1 ?
        $.ajax({8 m, b' B3 ~+ @: E' P7 n7 @, p
                  url: 'cgi-bin/qoscfg.cgi',
/ u& f  N9 A1 R; g+ }( ^0 y                  dataType: 'json',
# s. O) P- o/ K7 E; u- L' E                  type:'POST',
6 X+ ^/ r* j4 Z, y8 Y& l                  cache: false,
5 j$ a* @4 z" }( g* p' h                  data: qoscfgJSON,, k* |( K" W) f4 N4 c
               
8 v9 H/ f3 n2 D. Y                  success: function(returnData, status){/ q5 p4 P& ]1 a2 H; c0 [
                        if(returnData.RETURN.success){* C7 b6 m0 [- q5 _# a0 M# {6 }
                                callback(returnData.RETURN.success, "");3 i9 Z+ R, r9 Y0 g6 s
                        }else{
0 c% M. j; v0 a' h4 W                                callback(returnData.RETURN.success,returnData.RETURN.errorDescription);
& W8 V0 J  g: V                        }. j' P$ h* F4 {+ V
                },5 T. ~7 ^4 f7 Z( `0 J) d
                error:function(xmlhttprequest, textStatus,errorThrown){! [( z: Q3 E' O1 }# Q( Y
                        callback(false,"ERROR_GENERAL");
2 `% }" r& I: e5 c+ [  u                }9 n. j3 x: |4 O, Y# V
        });; N2 ^) s: I9 y- E% L# [
}1 `. j) D, @: w3 }! w: Q

8 E: L  t) s! s* {$ p, n7 n6 [* L# I/*---------------------------------------*/3 e8 h/ q. _6 E2 f- T$ F6 U
/*routev6    IPV6静态路由                */
( l6 [* W8 O. c* b/*---------------------------------------*/
: {+ ^. b7 }  u
0 e+ ?/ r! t4 {! @function getroutev6Info(callback){
- M' O/ `+ P  [) r5 F$ D        $.ajax({
7 m: ~9 K& c' ^- p                url: 'cgi-bin/routev6.cgi',
' A8 B% h, x! B  i' m' D/ h1 Z3 I                dataType: 'json',
" i7 N# S  |* m' {9 T            type:'GET',3 C! l0 O( n- E* d, v; f
                cache: false,
& K* o0 u$ Z8 F; o                success: function(returnData, status){
1 k7 S3 k! {! ]2 Y1 H) L                        if (returnData.RETURN != undefined && returnData.RETURN.success) {' l# C& g( v6 f9 d& ^
                                callback(returnData.RETURN.success, returnData);
1 Q2 Z) V$ n" h, _7 V                        }/ A3 S3 E4 P, m) C! w+ L9 K) d0 G
                        else {2 L5 c& w3 }. q) G- F; Y  d
                                callback(returnData.RETURN.success, returnData.RETURN.errorDescription);
& H" j( e4 @6 L% p' v% {# U! ]                        }$ e$ a3 x# ]+ C8 B5 {2 {
                }
- r9 |1 O: R- t- {9 V* @        });
0 }+ f2 d& {2 Q2 P( \  H' z( C}7 `& ]9 m% v# k' O

( y( q! q" v8 ~0 e1 p) Xfunction setroutev6Info(routev6JSON, callback){
3 L6 e& I# ~: r( X0 h4 E        $.ajax({. W& Q9 v/ {- G2 T& r  a& l" R2 O
                  url: 'cgi-bin/routev6.cgi',
" b  P/ s& A+ l! k" q( {                  dataType: 'json',3 P1 l  h6 K0 W* t8 Z! M3 O
                  type:'POST',  h! ]- }' a( Y% T
                  cache: false,
' \9 P4 i: p& H5 g9 n+ C% v/ o                  data: routev6JSON,9 Z" G- S- J4 m( U5 }6 W4 @
                : E# x. o" S9 e# Z1 l' X/ y7 \
                  success: function(returnData, status){
/ A: a& {7 o. Y                        if(returnData.RETURN.success){) X5 F$ L" }: M( b" c
                                callback(returnData.RETURN.success, "");
/ X5 d! g& U; z                        }else{( ?$ O% b# I/ Y' d: D6 O6 e
                                callback(returnData.RETU
 楼主| 发表于 2015-3-10 17:24:16 | 显示全部楼层
http://192.168.1.1/js/datahandler.js! X" ?3 B1 \; e& @' [8 ], o; l
, j/ z, X" M  @& R7 r) a, ?; z
/* 状态--设备信息 */0 L+ ?5 a# r0 U  h0 p$ S: c9 ]; ^
function  baseInfoReceived(success, data)7 H3 X" J; X8 r* T& l, D
{% ^* m% o& u2 K
        $("#panel_content").show();
+ Y' j! j/ Z8 r( w( r: I        if (!success){
4 Z' A  C4 c" N                alert("get data failed");
& ~4 b$ v+ n% _6 T) E% n: u. o                return;/ `3 _  }0 \9 w
        }
* F8 J" |, C/ v6 o8 E  $("#BASEINFO_MODELNAME").html(data.BASEINFO_MODELNAME);( F. s! l$ q% E
  $("#BASEINFO_MANUFACTUREROUI").html(data.BASEINFO_MANUFACTUREROUI);
2 N; o. Z' k* |$ f+ e  $("#BASEINFO_HARDWAREVRESION").html(data.BASEINFO_HARDWAREVRESION);5 a) G: R4 H1 b1 G" M; o
  $("#BASEINFO_SOFTWAREVRESION").html(data.BASEINFO_SOFTWAREVRESION);% X# j9 k7 u% g1 Q2 t+ a+ K" u

* Q0 m/ q, ^  b! [5 _4 S}
" q! C3 X& w% w% B+ A/* 网络-- 宽带设置--internet 连接*/6 l2 V0 {7 _) Y$ A6 P
function  broadbundInfoReceived(success, data)! v3 h) @, p7 y: [8 x
{7 M8 C* S1 i/ c* g' N
        if (!success){$ v  I+ o' U) K" s1 g) N- c$ Y
                alert("get broundbund data failed");3 o; I& U/ g! }$ Y! u- T# \0 h) `9 r
                return;( j% r( k& y- L! P% e5 r3 u3 z
        }' [8 j! q8 {) v2 u
  $("#BASEINFO_MODELNAME").html(data.BASEINFO_MODELNAME);5 ~* b4 |) Q" l
  $("#BASEINFO_MANUFACTUREROUI").html(data.BASEINFO_MANUFACTUREROUI);
+ w) ]0 R$ A" E: L  $("#BASEINFO_HARDWAREVRESION").html(data.BASEINFO_HARDWAREVRESION);
3 n  `4 \/ t! ?" E  $("#BASEINFO_SOFTWAREVRESION").html(data.BASEINFO_SOFTWAREVRESION);2 p! W6 x5 T& s7 j: `/ e& L

/ U6 F1 o: _1 r4 Z3 g$ t& ]% J}: }% W& x4 z6 j  }$ y$ |; ^5 ]" D
/*给select 控件增加一条option*/
) E9 M0 v2 M  k! dfunction addSelectOptions(targetSelect,valueArray,TextArray){5 s, i+ k- z0 v( t6 x+ o6 Z6 S
        var i=0;
4 G; {; G( o* N$ R9 ^  y        for( i=0; i<valueArray.length;i++){5 H3 C. t4 W5 N/ d2 i2 q
    $(targetSelect).append('<option value="'+valueArray+'">'+TextArray+'</option>');
' N  g' a/ y! N9 ^6 ], B* G  }
0 X" j- G' ?9 V1 v$ j+ D# ]9 A( b  B}0 p+ y5 _5 `5 [5 l+ l( n- F9 J, V& t
//初始化页面的各个控件值! d2 w1 U) n9 d+ {! `
function broadbundPageInit(){
# N) {' V: U0 H3 Q2 Y
3 Z! C9 b  i3 P9 C1 J" _) w1 D* @  //设置上行方式$ d6 E  q  `) V& W! S: n
   addSelectOptions("#BROADBUND_UPSTREAM",[CONFIG.Customized.upstreamType],[CONFIG.Customized.upstreamType]);1 `7 q6 s' y) M+ E% ]
   selectUpStream(CONFIG.Customized.upstreamType);
8 f, o/ U' [- Y7 ^& m% f# h2 [- h9 P* Q8 ]% W7 s( I: \
  //设置连接名称   
  M6 i3 d1 \9 s   $("#BROADBUND_LINKNAME").append('<option class="trad" key="KEY_ADDNEWLINK" value=0></option>');
' u/ Y' f; C( i" Q
' e7 y0 \) x+ e  Z& h  //设置服务模式
+ _% g1 p7 X+ k( }    if(CONFIG.Customized.profileType == 'CT_E8_B'){
! o4 i$ F' P" z7 w3 I3 Q% E$ ~2 G6 [) K      addSelectOptions("#BROADBUND_SERVICEMODE",["0","1","2","3","4","5","6","7"],["TR069,VOIP,INTERNET","VOIP","TR069","INTERNET","TR069,VOIP","TR069,INTERNET","VOIP,INTERNET","OTHER"]);
2 t% |9 y7 z# ?  b% [5 L& E//      $("#BROADBUND_SERVICEMODE").get(0).selectedIndex=2;
9 c. e% R& B5 q; e- a    }* c0 C  S2 g/ b/ d7 o$ `% p; g
        else {
9 h5 S1 j/ i, _- f% A' Y1 Q      addSelectOptions("#BROADBUND_SERVICEMODE",["0","1","2","3","4","5","6","7"],["ALL","TR069","TR069,VOIP","TR069,INTERNET","VOIP","VOIP,INTERNET","INTERNET","OTHER"]);
7 o; Z5 I- k- |( U  N: O//      $("#BROADBUND_SERVICEMODE").get(0).selectedIndex=2; 0 D( B% [! L3 k% m' i& G6 f
        }4 e8 o# o5 x+ [
     K) f; E; o3 e4 b/ w" f; |* L
}
4 t# `1 U; w6 D; m9 {: W; m
7 j! P* {9 E$ l5 c- U- l0 R9 L7 s: Y! h8 z4 X& C: b4 J1 W0 f: y

7 R; {* `9 S0 f& pfunction checkIpModel(chooseValue){
. z3 Z1 p1 ^) g% P) [                if(chooseValue=="Bridged"){
9 S# F; P7 m/ d3 L1 v6 {        $("#ipModelHide").hide();2 ?$ U4 h9 C# w! l3 Y) h6 u# Q
                }' j& G/ N. u4 z' d) y* S
                else{
9 b8 U$ p0 e8 g4 y        $("#ipModelHide").show();
, y3 o  e- @) A* W% P) Z) `  a  A2 ~                }6 b- Z; t4 `. q/ G
}, g7 G! |: n! {& w! O8 V7 P" {
: y3 ]" f' B2 W, J2 h. @$ l; Q! M
//根据服务模式显示或者隐藏一些页面
$ D2 i2 s7 L# s( gfunction selectServiceMode(servMode){
6 _: u. H  _9 L) `3 w! i  i; |2 {( Y: H; G        var service_mode_text=$("#BROADBUND_SERVICEMODE").find("option:selected").text(); # q- [9 m8 Z9 y4 ~  X8 Q

! ?; s! N* y3 `7 e9 j- H        if(service_mode_text=='VOIP' || service_mode_text=='TR069' || service_mode_text=='TR069,VOIP' || service_mode_text=='VOIP,TR069'){
% _" Y$ J( m8 q* T: @9 y9 D9 {! p! A                $("#BROADBUND_NATENABLE").attr("checked",'')
! K0 W- N" w" \# l6 }4 Q' |                setPortEnable(1);
# P' p5 k. F) J2 y, s2 W- D6 {        }4 `  K5 ]/ `2 ~7 Z) L1 u
    else{
9 O! l5 T' U' w, F- g: p/ y                $("#BROADBUND_NATENABLE").attr("checked",true)6 a- p, z3 ~9 a
                setPortEnable(0);
: o- ?0 n3 m2 h7 F        }6 e% ]5 m; U* O
/ [4 K1 \) R: L" C) C9 w3 T2 x3 P# m
  if(servMode == "7" || servMode == "3" || servMode == "0" || servMode == "5" || servMode == "6"){
; d9 S  B0 k, b1 S              $("#BROADBUND_CONNECTIONMODE").attr("disabled","disabled");
: e; C+ b! d5 P7 r! U+ `& Y  }% I8 t; Z1 [: P5 o
  else{7 y- N, r& Z4 u) x
              $("#BROADBUND_CONNECTIONMODE").attr("disabled",false);7 _$ [1 l6 _! ]" |' g9 g7 G
  }% o& t( m1 v; \7 O# A1 ]
  
, c. E% [; I) p0 H" l. E0 c2 L  $("#BROADBUND_CONNECTIONMODE option[value='Routed']").attr("selected",true);             
. d6 y6 W$ O' D( T& |. K
5 `* r* L7 z2 t; \' V  checkIpModel("Routed");" {, v6 U# ]8 ~  y$ B% L4 \6 J2 j
  
& L) _2 @7 ^* R}
7 \, S& U) i0 o+ H
  o7 ^- @, f' |9 w- t' G0 Xfunction setPortEnable(enbledflag){3 v9 I, O, v* Y' G9 u; M& S
        if(enbledflag==1){* V' e6 v! O" J+ @
                    $("#BROADBUND_EPORT_1", "#BROADBUND_EPORT_2", "#BROADBUND_EPORT_3", "#BROADBUND_EPORT_4").attr("disabled","enabled");
8 n1 R! Z3 [5 d- M                    $("#BROADBUND_WPORT_1","#BROADBUND_WPORT_2","#BROADBUND_WPORT_3","#BROADBUND_WPORT_4").attr("disabled","enabled");7 w( L7 i" p7 B0 x( W2 u0 W7 Y7 e
            }else{
8 j/ r3 G. {7 o( {- J- p4 \                    $("#BROADBUND_EPORT_1", "#BROADBUND_EPORT_2", "#BROADBUND_EPORT_3", "#BROADBUND_EPORT_4").attr("disabled","disabled");7 J, g$ N+ h2 \
                    $("#BROADBUND_WPORT_1").attr("disabled","disabled");+ e- @1 X: H/ X, a. g7 k- k5 \
            }. a9 W2 k# P3 I, ~
}4 L4 s. m+ I5 H0 T& K

6 N7 X% Z- a- y4 F5 T1 ^8 w& ^- G: ~8 J, D

& u3 A  o' T$ W8 q. k% C; s7 e//选择上行方式( T) j9 N, ?) X7 D1 y3 r
function selectUpStream(chooseValue){
* e* P) U6 I9 l, U; |# p& I4 r      switch(chooseValue){
& r$ b$ T7 [# f3 J         case "PON":  /*PON上行的需要屏蔽LAN,ADSL的字段*/: @& k& h/ M: [, X
                $("#dslModeHide").hide();             
" X7 n7 H' v0 B  }                break;9 C% A$ u; p! C: b+ M4 K
         case "ADSL": /*ADSL上行的需要屏蔽LAN,PON的字段*/; F( E' ]* |3 |, Q5 }; r
                break;         9 L5 @1 h7 m0 K! _$ Y- M
         case "LAN": /*LAN上行的需要屏蔽ADSL,PON的字段*/8 o) |6 Q* M7 N( o) d; a7 N; i
                break;         7 ?3 z& ?; L+ d5 J1 V2 c8 ?
      }% `6 j& V6 d% L
}
. P/ H" ?3 j$ J3 Z, K: c+ t5 |$ w! U
8 A: y* d5 R: I. v; X
# D# f& A& p) ^/ n$ f
4 K$ C& }0 Y' @6 a. |
/* 网络--WLAN设置*/
6 Q" M/ S+ k" s. E8 R% o, Xfunction  wlcfgInfoReceived(success, data)3 x) _4 d& k$ O: @6 b) U- c: m
{' D, R, o3 U' |6 L
        if (!success){
+ Q7 D' j0 Y' ]7 w) ~                alert("get data failed");
8 ^/ z$ r$ G5 j3 F2 Y# v8 K) Y; d                return;1 R5 f2 B- n7 g% \/ }* l7 Q* I3 C
        }" w( \% S* j6 l# [  R
  if (data.WLCFG.wlcfg_WMMEnable==0)' l0 J$ _0 O1 O1 y. s/ f. a2 s
  {
2 ^3 X/ K0 |0 D+ i7 b/ }6 Q    $("#wlcfg_WMMDisable").attr("checked",true);
0 Y& G$ ~1 a. U$ ^, x" I" m  }# ~: f$ e' M2 [$ }$ ?7 A# t
  else
  k4 w( ]* K* W# ~  {% ?$ y0 Y& U; R8 e" n$ N2 d& g/ L
    $("#wlcfg_WMMEnable").attr("checked",true);
9 B. Z' \( g: ?* i2 |0 R  }: M& @' O" @/ l9 B( _3 [

" k5 K. `7 q& b, k  $("#wlcfg_wlTxPower")[0].options[data.WLCFG.wlcfg_wlTxPower].selected = true;
8 S. i) c" _$ J+ E! G9 ^/ k( I  $("#wlcfg_wlRate")[0].options[data.WLCFG.wlcfg_wlRate].selected = true;5 h/ x0 e( l, U, U: [& E& s1 I
  $("#wlcfg_wlChannel")[0].options[data.WLCFG.wlcfg_wlChannel].selected = true;! W" [, K2 J( `- @
  $("#wlcfg_wlgMode")[0].options[data.WLCFG.wlcfg_wlgMode].selected = true;8 X' j2 q0 m9 Y. M
}
) O- A2 ^, Z9 x3 m9 K
0 e8 R: y& J- C; |) J) Q# S8 \function wlcfgSaveApply(){
; X" `4 W" t; R, o1 F- o        var test = wlcfgTestFields();
" P4 W; x6 `5 l  L" ^$ z+ `+ k        if (test == true)
% F, a% D4 v( e- y, P, @        {
6 x! \# n+ m, m5 {9 c            var wlcfgJSON = wlcfgPrepareJSON();& V8 z  c3 d& v1 _* t3 g- A
            setWlcfgInfo(wlcfgJSON, function(success, error_desc){
- O# z: G* T# |2 k: u                if (!success) ! R4 N5 i; r- x' D
                    alert(_(error_desc));
& |( b; V- Y& s% l$ \                else {3 g, P, p) v8 K3 r7 H7 L
                    getWlcfgInfo(wlcfgInfoReceived);1 y5 P9 m2 i! Q8 ^4 V: r
                }: I3 z. ~- y! ~9 M) a" T
            });+ e  ^2 A; o4 p
        }, M, }8 @( P2 Q
}$ _, h9 W" b# o0 `

0 z8 f7 u- d' R& u: Cfunction wlcfgTestFields(){
/ t; w& w, Z7 L' e! [  return true;0 V) M! B, X( Z/ g0 T8 R
}  
# O# {) v# z' v5 [! m  h2 S5 G. T0 e* J3 ?' c  v- n
function wlcfgPrepareJSON(){  \8 F8 A0 t9 A0 o  u5 c
  var wlcfgData = new Object();
5 s! i& R# a& |, P, E2 \& {/ y+ \  wlcfgData.wlcfg_wlgMode = $("#wlcfg_wlgMode")[0].val();3 ^! o4 ]$ R4 f6 `
  wlcfgData.wlcfg_wlChannel = $("#wlcfg_wlChannel")[0].val();# D" W! Y. ~% u, d4 w
  wlcfgData.wlcfg_wlRate = $("#wlcfg_wlRate")[0].val();
2 Y" z1 o  _. J- i( @0 u  wlcfgData.wlcfg_wlTxPower = $("#wlcfg_wlTxPower")[0].val();9 I  A/ ]4 e2 U
  if( $("#wlcfg_WMMEnable").attr("checked") == true )
3 e5 c+ n: R' ~% X9 o% g      wlcfgData.wlcfg_WMMEnable = "1";
  o+ v5 ?  ?! _# l  Z  else, H' D% v" I. C
      wlcfgData.wlcfg_WMMEnable = "0";
; j0 k/ r4 c4 r( R+ e% \1 D' x  g$ B- @, p; v& ]
    var WlcfgJSON = new Object();1 n2 J$ i; V7 c6 K% q0 [
    WlcfgJSON.WLCFG = wlcfgData;
; I8 k, Q9 W, v) O, l- S$ s   
$ Z) z6 s+ Y' W6 @//    var WlcfgJSONstring = $.toJSON(WlcfgJSON);
7 j0 y6 P, Z, |0 l* b5 {6 I//    var WlcfgJSONstring = jQuery.param(wlcfgData);;
& a  v1 B( B) W' W5 u. }//    alert(WlcfgJSONstring);
3 s. @$ G0 a0 j//    return WlcfgJSONstring;
7 X. t+ s" w; Q. R9 R
  t+ A6 N4 x  W5 C( T, U//    alert(wlcfgData);; t- N# P1 f  Q& u$ [5 q. U4 Y; V
    return wlcfgData;
" W$ I2 z2 }+ H: l* w* G$ U# W6 E. _3 P6 T+ v5 m
}8 ?) f# S) s0 N4 ]: q0 d2 a
9 ]' g, o* \) D% q
/* 网络--OLT认证 */8 v+ w; i& Q! n2 t; X/ [
function  oltauthInfoReceived(success, data)# ?9 O  k9 l" [0 U8 ^/ i! ?. t
{5 n% N" I3 q% W2 O9 n) [! l
        if (!success){$ {8 T. c' P! Q
                alert("get data failed");- S# C- p9 ]: ]
                return;
5 `" Y0 }& \( q         }
* I/ [9 l: N" n; K  $("#oltauth_LOID").html(data.oltauth_LOID);
1 v$ S3 T" |9 W' H% `4 Y  $("#oltauth_PASS").html(data.oltauth_PASS);
: s& M2 r) u1 ?1 S% d3 X& P+ U# k7 o! I$ N7 L. i3 p1 O

, C2 W$ z8 c* k5 r: o( h# J- C) |}
9 f+ E: S0 p# o5 x5 ^
0 E: f7 i& v' U1 ~- M! y. Q( Qfunction oltauthSaveApply(){
) m* o! J/ Q+ E$ {; c        var test = oltauthValidFields();
; z: A( s; w# x9 M; K        if (test == true) - x, U! u" Q0 \* c
        {
: w& ?; w5 I2 c3 i6 v            var oltauthJSON = oltauthPrepareJSON();4 N, H; L+ V3 P3 P9 p! U
            setOltAuthInfo(oltauthJSON, function(success, error_desc){
% H1 J1 R; y) O: |; y; n                if (!success) / b6 t2 e8 t& u( W% J- w
                   alert(_(error_desc));' M+ q- M  X5 i
               else {0 g( _9 d0 ^3 N+ {! Z
                       var loc = '../index.html';8 @: u1 V5 U+ b9 H& n
                                           var code = 'window.parent.location=\"' + loc + '\"';# S- s* T4 w. b; k1 i) d& N
                                                eval(code);;//刷新
( N/ y4 x+ ]" @% y  y1 n                }
* W3 J9 U, k0 B6 z4 M  i" o            });5 n+ r  ]. H* i) W* \4 E9 `. H( Z
        }% g  j% B+ S% H( W1 ~$ S- |
}- f" d8 I( K' H6 c" M2 [

( z: N+ e2 a" n; N9 H' Q2 L/ Xfunction oltauthValidFields(){  //校验2 C! Z1 t7 k% L1 o* k5 D  e
                if ( $("#oltauth_LOID").val() == "" )
, y  l( \" P; K                {- O* @% D+ L7 K* y9 _
                           alert('LOID 为空,请重新输入!');1 u) c, L( i2 C5 r/ D% T+ m$ ?
                           return ;
; F4 m- ]2 Z- t3 a7 x                }
1 m9 ]: l4 |: n. b                else4 T, g' t! c; p- B* w
                {
5 z7 f/ c$ E  c: y$ g                           return true ;6 ?3 ]1 M3 H- H8 a
                } . \+ Y) M# [- m) G; ~! ]
          
$ c8 R- [! g( c9 f5 S} ) ?& t* z# d2 _

3 d, e& i6 W3 C& ]function oltauthPrepareJSON(){
! x: Q7 J8 [: O# J  var oltauthData = new Object();0 k8 t0 ~! E$ {0 C
  oltauthData.oltauth_LOID = $("#oltauth_LOID").val();
) L5 ~( N3 L4 a) [9 t) x; `  oltauthData.oltauth_PASS = $("#oltauth_PASS").val();
3 {# K2 t. q8 \    var oltauthJSON = new Object();
: Y5 O9 J, Z" D* ]4 i: k1 |    oltauthJSON.OLTAUTH = oltauthData;
( F. F' O- `* {! P& f+ b8 w% t    return oltauthData;
# q2 Y' }' |7 \3 G! m) J. E- h4 n9 z8 H8 A
}
! D# h) U( `8 q3 V1 n) @, y1 w- j7 n- h
) ~1 S; E1 R' E5 z! D
/* 网络--ITMS平台 */
4 W+ ~1 H/ N" v7 H' u0 Z; t% Pfunction  tr69cfgInfoReceived(success, data)
1 g' i) l+ u2 ~{
) ~( l3 o" s% F; N; d% ]; r        if (!success){- f6 {( F0 `# G& `
                alert("get data failed");
4 U2 a' W# |/ Q2 i  r% x5 N                return;
/ j% |* B' x# _, N8 l         }
" R8 l$ U8 \# C  if (data.TR69CFG.TR69_Enable==0)' b) ~' P( o8 G
  {3 y9 u' S) F5 C& l7 @, t, P
    $("#TR69_Disable").attr("checked",true);
* l# ?1 P0 z3 L& M4 _  }5 q: M% O8 A6 f. A2 D
  else
8 \" I4 W" M2 |: {  {2 S! s! D7 ]2 c4 i: C/ [2 i
    $("#TR69_Enable").attr("checked",true);% n$ F. X/ E( {) Y$ U
  }
# Q' S+ |9 \, A; ~; w  
0 f. {' h/ j) A  w& y  if (data.TR69CFG.TR69_middleware1==1)
5 C/ i5 R1 \& B! P3 m" ?! d  {       
1 [8 n: p$ r8 Y( E3 m2 y. S/ b9 k    $("#TR69_middleware1").attr("checked",true);: L% f+ S1 L4 \/ o, O* F8 S
  }
2 Q+ `# d1 `9 n3 i% P3 Q) K, r  else if (data.TR69CFG.TR69_middleware2==1)# Q$ P2 J; H  J2 W
  {8 V: t3 s. k% K5 M# e( R
    $("#TR69_middleware2").attr("checked",true);$ b1 }  O: D+ c1 `/ M& K
  }        0 x0 T# ?" K$ B% j1 I
  else if (data.TR69CFG.TR69_middleware3==1)
4 r& U+ X0 R7 [  {7 F5 r, B# S% O7 K& j
    $("#TR69_middleware3").attr("checked",true);
) \* f/ c$ ^# f  }
' J) \$ E( [; O3 v  $("#TR69_Notification_time").html(data.TR69_Notification_time);
& \2 l) l- j$ ^8 }  $("#TR69_ACS_URL").html(data.TR69_ACS_URL);! h/ X, m9 A4 ?- P" R  i+ a
  $("#TR69_ACS_Username").html(data.TR69_ACS_Username);$ P  t5 `; ?# ^. _+ v
  $("#TR69_ACS_Passed").html(data.TR69_ACS_Passed);
% v# F- L$ {! I4 z  $("#connReqAuth").html(data.connReqAuth);5 r3 G/ I9 i, O& B+ y8 _
  $("#TR69_connection_Username").html(data.TR69_connection_Username);
% B  S5 A( F% N" }, o  $("#TR69_connection_Passed").html(data.TR69_connection_Passed);) A; e0 D2 C0 Q) w1 F
  $("#mwsURLIP").html(data.mwsURLIP);
3 B0 y$ }, Q  M* W  $("#mwsURLPort").html(data.mwsURLPort);
( ]! F& N- Z- q0 q* y}4 A: Q# f" s1 k5 `% q
) C/ ?, R( [+ m
function tr69cfgPrepareJSON(){
& V3 L; V9 w" V$ |# `/ I8 U4 S6 Z+ a  var tr69cfgData = new Object();
; z8 `% G; E  b3 m' @  tr69cfgData.tr69cfg_Notification_time = $("#TR69_Notification_time").val();: V/ b6 x3 x5 V+ i* K: c
  tr69cfgData.tr69cfg_ACS_URL = $("#TR69_ACS_URL").val();
0 v0 U2 r. N2 p3 J0 \" Q6 L  tr69cfgData.tr69cfg_ACS_Username = $("#TR69_ACS_Username").val();
. t  T( u# W  k) e" g2 O8 {( G  tr69cfgData.tr69cfg_ACS_Passed = $("#TR69_ACS_Passed").val();$ e2 K! l0 u1 `8 F: T
  tr69cfgData.tr69cfg_connReqAuth = $("#connReqAuth").val();1 s8 @3 R/ y+ q
  tr69cfgData.tr69cfg_connection_Username = $("#TR69_connection_Username").val();
. C# s' D' x( {" ~, q% W* d' H  tr69cfgData.tr69cfg_connection_Passed = $("#TR69_connection_Passed").val();! ^, N- N: M$ c+ K  [+ h
  tr69cfgData.tr69cfg_mwsURLIP = $("#mwsURLIP").val();
4 E4 f6 y0 R, w6 p# H  @9 I  tr69cfgData.tr69cfg_mwsURLPort = $("#mwsURLPort").val();
7 X- E; u5 ^  H: i/ U  if( $("#TR69_Enable").attr("checked") == true ){
1 p* s8 t# q$ z0 _$ [( a      tr69cfgData.TR69_Enable = "1";( I  v2 X- V( q* S1 _: F; ?5 N
        }  
, u: ]' m# |  v4 I  else
, a: V) ~  x! o% E      tr69cfgData.TR69_Enable = "0";{
& w, `( c& Z% s( p. f- }        }  9 N. X+ f+ e, U
       
; ?; [- S; q5 d) V+ r6 ~2 E6 {  if ( $("#TR69_middleware2").attr("checked") == true )
4 x0 t6 A& ?6 `, k  E# s        {
/ M( Z8 A5 {  N: n+ i- Y* t           tr69cfgData.TR69_middleware2 = "1";
1 N) }1 L: e$ h( ?& Z        }  V' M! L  @& _7 \% l: T
  else if ( $("#TR69_middleware1").attr("checked") == true )
" Z( I6 @4 f  q: f    {
" I3 [4 W8 C+ p           tr69cfgData.TR69_middleware1 = "1";) i8 ]7 ?% m# \0 j
    }
9 v8 O( c6 I$ t1 X; P9 H+ @0 D  else if ( $("#TR69_middleware3").attr("checked") == true )% w" b4 u( y( `
    {
4 R. D, d9 n5 s$ _" e7 f  [1 V           tr69cfgData.TR69_middleware3 = "1";) V+ O7 m  j( c2 h
    }  
9 z! j( l3 @0 }: t' b# e; A' P    var Tr69cfgJSON = new Object();- z9 x! l" m7 }) n" k
    Tr69cfgJSON.TR69CFG = tr69cfgData;8 v6 D( N9 B+ M$ W+ O5 S
    return tr69cfgData;5 m2 e( g* z$ n' H
}; K0 m$ C# f0 W  A

/ d6 l. Q  k4 T, h0 ofunction tr69cfgSaveApply(){% P( g" J3 [6 v
        var test = tr69cfgTestFields();! n- ~% T; G( v# O8 r+ g: ^6 G
        if (test == true)
- U3 Q2 i/ @7 r: E( k' Z        {
, D* R) {; ?+ \. V/ L" b            var tr69cfgJSON = tr69cfgPrepareJSON();: ]* z* l5 F/ x, J( t
            setTr69cfgInfo(tr69cfgJSON, function(success, error_desc){
+ N* r! a3 z* e' ^9 u/ Q                if (!success) : u$ B6 N$ e* L+ N$ E3 N) g. B$ z
                   alert(_(error_desc));, v8 [* f, [9 L5 z: ^; ~
               else {- A5 t% j, L0 }  O  Z* S$ J9 i4 A
                       var loc = '../index.html';
; {* a( F. z" }" |/ o3 S: Y+ g                                           var code = 'window.parent.location=\"' + loc + '\"';
: r2 @2 F+ t7 y* h9 ?" D  N  F                                                eval(code);;//刷新
! z  Q0 `9 ^4 S) S0 H! e, K2 K# l                }4 \- |* U6 E+ Z5 d9 i. N1 Q
            });
5 w" I5 [) I2 c+ X5 D) y        }) ~+ e5 T% K# \
}
# }$ R% U6 V1 ]) h% ^" S. U) V" x! h5 }4 v
6 A% t8 L  d5 {# m2 r
function  tr69cfgTestFields(){
  U$ n- j  P6 v/ A4 b5 G  return true;3 K3 d4 P6 u2 l& P: E
}
- W' h; t4 _) [, t# }
- e7 d: b# I( h. C$ J8 q" J& I7 P* G/ h

  @4 Q$ _) d5 W1 f- y
( [4 C8 t- i- ?, f/ a( u) S" T% c6 c& ]& {. {( X" I

/ y; K& O' o( m7 a  V7 E. B5 p1 n* {" [/ m/ q4 l, ~
9 A# k' c6 ~8 c+ H+ h; S
" n9 u/ n) C0 I2 i+ |1 y* @

3 u9 }( U( u  b" t& X& z( `5 u% E2 t8 r
  X( h7 k: y/ H* P  |2 B2 e
 楼主| 发表于 2015-3-10 18:30:51 | 显示全部楼层
密码以破解 方法就隐藏在JS中,唉 求人不如求己  多花点心思就行了
kaixi_ants 该用户已被删除
发表于 2015-3-10 23:00:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
kaixi_ants 该用户已被删除
发表于 2015-3-10 23:02:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2015-3-11 00:03:07 | 显示全部楼层
是啊,出下方法,这样很多小伙伴就有福了。
发表于 2015-3-11 06:53:34 | 显示全部楼层
怎么记住这个贴???
发表于 2015-3-11 08:41:45 | 显示全部楼层
我正在使用这个“猫”,关注中。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-11 03:43 , Processed in 0.084079 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表