anncic-api 3.4.5 → 3.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/config.default.js +1 -1
- package/dist/config/config.production.js +1 -1
- package/dist/configuration.js +1 -1
- package/dist/decorator/Action.js +1 -1
- package/dist/decorator/ActionApitest.js +1 -1
- package/dist/decorator/Intercept.js +1 -1
- package/dist/exception/ApiError.js +1 -1
- package/dist/helper/getAppsConfig.js +1 -1
- package/dist/helper/getRoutes.js +1 -1
- package/dist/index.js +1 -1
- package/dist/service/ApiService.js +1 -1
- package/dist/service/ApitestService.js +1 -1
- package/dist/service/ExcelService.js +1 -1
- package/dist/types/action.js +1 -1
- package/dist/types/common.js +1 -1
- package/dist/types/intercept.js +1 -1
- package/index.d.ts +32 -32
- package/package.json +8 -8
- package/public/apitest.js +945 -945
- package/public/config.js +94 -94
- package/public/index.html +109 -109
- package/public/style/apitest.css +128 -128
- package/public/style/bootstrap/bootstrap.css +6799 -6799
- package/public/style/bootstrap/bootstrap.js +2363 -2363
- package/public/style/bootstrap.css +6798 -6798
- package/public/style/jquery/jquery.min.js +6 -6
- package/public/style/pinyin.js +45 -45
- package/public/style/pretty-json/backbone-min.js +1 -1
- package/public/style/pretty-json/pretty-json-min.js +334 -334
- package/public/style/pretty-json/pretty-json.css +47 -47
- package/public/style/pretty-json/underscore-min.js +5 -5
- package/public/style/pretty-json.css +47 -47
package/public/config.js
CHANGED
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
var headerList = [
|
|
2
|
-
{
|
|
3
|
-
"key": 'Token'
|
|
4
|
-
, "type": 'int'
|
|
5
|
-
, "title": 'Token'
|
|
6
|
-
, "description": '当前用户Token,登录后可获得。可直接用ID'
|
|
7
|
-
, "required": true
|
|
8
|
-
, "default": "1"
|
|
9
|
-
, "click": null
|
|
10
|
-
}
|
|
11
|
-
, {
|
|
12
|
-
"key": 'Device'
|
|
13
|
-
, "type": 'select'
|
|
14
|
-
, "title": '设备类型'
|
|
15
|
-
, "description": '全大写的设备类型'
|
|
16
|
-
, "required": true
|
|
17
|
-
, "default": "ADMIN"
|
|
18
|
-
, "click": null
|
|
19
|
-
}
|
|
20
|
-
, {
|
|
21
|
-
"key": 'Logintime'
|
|
22
|
-
, "type": 'string'
|
|
23
|
-
, "title": 'Logintime'
|
|
24
|
-
, "description": '登录时间,时间戳,单位:毫秒,数据来自服务器'
|
|
25
|
-
, "required": true
|
|
26
|
-
, "default": ""
|
|
27
|
-
, "click": function () {
|
|
28
|
-
$(this).siblings("input").val(parseInt(Date.now()));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
, {
|
|
32
|
-
"key": 'Checkcode'
|
|
33
|
-
, "type": 'string'
|
|
34
|
-
, "title": 'Checkcode'
|
|
35
|
-
, "description": 'Token和Logintime组合加密后的产物,用于进行用户信息加密。数据来自服务器'
|
|
36
|
-
, "required": true
|
|
37
|
-
, "default": ""
|
|
38
|
-
, "click": function () {
|
|
39
|
-
var _headers = getHeaders();
|
|
40
|
-
var CHECKCODE = devices[_headers['Device']].checkcode;
|
|
41
|
-
$(this).siblings("input").val(hex_md5(_headers['Token'] + hex_md5(_headers['Logintime'] + CHECKCODE)));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
, {
|
|
45
|
-
"key": 'Requesttime'
|
|
46
|
-
, "type": 'string'
|
|
47
|
-
, "title": 'Requesttime'
|
|
48
|
-
, "description": '请求时的时间戳,单位:毫秒'
|
|
49
|
-
, "required": true
|
|
50
|
-
, "default": ""
|
|
51
|
-
, "click": function () {
|
|
52
|
-
$(this).siblings("input").val(parseInt(Date.now()));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
, {
|
|
56
|
-
"key": 'Signature'
|
|
57
|
-
, "type": 'string'
|
|
58
|
-
, "title": '接口加密校验'
|
|
59
|
-
, "description": '取头信息里Device,Requesttime,Token,Logintime,Checkcode \n每个都使用key=value(空则空字符串)格式组合成字符串然后放入同一个数组 \n 并放入私钥字符串后自然排序 \n 连接为字符串后进行MD5加密,获得Signature \n 将Signature也放入头信息,进行传输。'
|
|
60
|
-
, "required": true
|
|
61
|
-
, "default": ""
|
|
62
|
-
, "click": function () {
|
|
63
|
-
var tmpArr = [];
|
|
64
|
-
var _headers = getHeaders();
|
|
65
|
-
var SECRET = devices[_headers['Device']].secret;
|
|
66
|
-
var _headerKeys = ['Device','Requesttime','Token','Logintime','Checkcode'];
|
|
67
|
-
for (var i in _headerKeys) {
|
|
68
|
-
if (_headers[_headerKeys[i]] !== null) {
|
|
69
|
-
tmpArr.push(_headerKeys[i].toLowerCase() + '=' + _headers[_headerKeys[i]]);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
tmpArr.push('secret='+SECRET);
|
|
74
|
-
tmpArr = tmpArr.sort();
|
|
75
|
-
var tmpArrString = tmpArr.join('');
|
|
76
|
-
$(this).siblings("input").val(hex_md5(tmpArrString));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
];
|
|
80
|
-
|
|
81
|
-
if( apiList ){
|
|
82
|
-
apiList.push({
|
|
83
|
-
"title": '_:example'
|
|
84
|
-
, "describe": ''
|
|
85
|
-
, "router": 'apitest'
|
|
86
|
-
, "method": "post"
|
|
87
|
-
, 'request': [
|
|
88
|
-
{ 'key': 'username' , 'type': 'string' , 'title': 'name' , 'description': '', 'required': false, 'default': 'apitest' }
|
|
89
|
-
, { 'key': 'password' , 'type': 'md5' , 'title': 'password' , 'description': '', 'required': false, 'default': '123123' }
|
|
90
|
-
, { 'key': 'avatar' , 'type': 'file' , 'title': 'avatar' , 'description': '', 'required': false, 'default': '' }
|
|
91
|
-
, { 'key': 'photos[]' , 'type': 'file' , 'title': 'photos' , 'description': '', 'required': false, 'default': '' }
|
|
92
|
-
, { 'key': 'age' , 'type': 'int' , 'title': 'age' , 'description': '', 'required': false, 'default': '18' }
|
|
93
|
-
]
|
|
94
|
-
});
|
|
1
|
+
var headerList = [
|
|
2
|
+
{
|
|
3
|
+
"key": 'Token'
|
|
4
|
+
, "type": 'int'
|
|
5
|
+
, "title": 'Token'
|
|
6
|
+
, "description": '当前用户Token,登录后可获得。可直接用ID'
|
|
7
|
+
, "required": true
|
|
8
|
+
, "default": "1"
|
|
9
|
+
, "click": null
|
|
10
|
+
}
|
|
11
|
+
, {
|
|
12
|
+
"key": 'Device'
|
|
13
|
+
, "type": 'select'
|
|
14
|
+
, "title": '设备类型'
|
|
15
|
+
, "description": '全大写的设备类型'
|
|
16
|
+
, "required": true
|
|
17
|
+
, "default": "ADMIN"
|
|
18
|
+
, "click": null
|
|
19
|
+
}
|
|
20
|
+
, {
|
|
21
|
+
"key": 'Logintime'
|
|
22
|
+
, "type": 'string'
|
|
23
|
+
, "title": 'Logintime'
|
|
24
|
+
, "description": '登录时间,时间戳,单位:毫秒,数据来自服务器'
|
|
25
|
+
, "required": true
|
|
26
|
+
, "default": ""
|
|
27
|
+
, "click": function () {
|
|
28
|
+
$(this).siblings("input").val(parseInt(Date.now()));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
, {
|
|
32
|
+
"key": 'Checkcode'
|
|
33
|
+
, "type": 'string'
|
|
34
|
+
, "title": 'Checkcode'
|
|
35
|
+
, "description": 'Token和Logintime组合加密后的产物,用于进行用户信息加密。数据来自服务器'
|
|
36
|
+
, "required": true
|
|
37
|
+
, "default": ""
|
|
38
|
+
, "click": function () {
|
|
39
|
+
var _headers = getHeaders();
|
|
40
|
+
var CHECKCODE = devices[_headers['Device']].checkcode;
|
|
41
|
+
$(this).siblings("input").val(hex_md5(_headers['Token'] + hex_md5(_headers['Logintime'] + CHECKCODE)));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
, {
|
|
45
|
+
"key": 'Requesttime'
|
|
46
|
+
, "type": 'string'
|
|
47
|
+
, "title": 'Requesttime'
|
|
48
|
+
, "description": '请求时的时间戳,单位:毫秒'
|
|
49
|
+
, "required": true
|
|
50
|
+
, "default": ""
|
|
51
|
+
, "click": function () {
|
|
52
|
+
$(this).siblings("input").val(parseInt(Date.now()));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
, {
|
|
56
|
+
"key": 'Signature'
|
|
57
|
+
, "type": 'string'
|
|
58
|
+
, "title": '接口加密校验'
|
|
59
|
+
, "description": '取头信息里Device,Requesttime,Token,Logintime,Checkcode \n每个都使用key=value(空则空字符串)格式组合成字符串然后放入同一个数组 \n 并放入私钥字符串后自然排序 \n 连接为字符串后进行MD5加密,获得Signature \n 将Signature也放入头信息,进行传输。'
|
|
60
|
+
, "required": true
|
|
61
|
+
, "default": ""
|
|
62
|
+
, "click": function () {
|
|
63
|
+
var tmpArr = [];
|
|
64
|
+
var _headers = getHeaders();
|
|
65
|
+
var SECRET = devices[_headers['Device']].secret;
|
|
66
|
+
var _headerKeys = ['Device','Requesttime','Token','Logintime','Checkcode'];
|
|
67
|
+
for (var i in _headerKeys) {
|
|
68
|
+
if (_headers[_headerKeys[i]] !== null) {
|
|
69
|
+
tmpArr.push(_headerKeys[i].toLowerCase() + '=' + _headers[_headerKeys[i]]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
tmpArr.push('secret='+SECRET);
|
|
74
|
+
tmpArr = tmpArr.sort();
|
|
75
|
+
var tmpArrString = tmpArr.join('');
|
|
76
|
+
$(this).siblings("input").val(hex_md5(tmpArrString));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
if( apiList ){
|
|
82
|
+
apiList.push({
|
|
83
|
+
"title": '_:example'
|
|
84
|
+
, "describe": ''
|
|
85
|
+
, "router": 'apitest'
|
|
86
|
+
, "method": "post"
|
|
87
|
+
, 'request': [
|
|
88
|
+
{ 'key': 'username' , 'type': 'string' , 'title': 'name' , 'description': '', 'required': false, 'default': 'apitest' }
|
|
89
|
+
, { 'key': 'password' , 'type': 'md5' , 'title': 'password' , 'description': '', 'required': false, 'default': '123123' }
|
|
90
|
+
, { 'key': 'avatar' , 'type': 'file' , 'title': 'avatar' , 'description': '', 'required': false, 'default': '' }
|
|
91
|
+
, { 'key': 'photos[]' , 'type': 'file' , 'title': 'photos' , 'description': '', 'required': false, 'default': '' }
|
|
92
|
+
, { 'key': 'age' , 'type': 'int' , 'title': 'age' , 'description': '', 'required': false, 'default': '18' }
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
95
|
}
|
package/public/index.html
CHANGED
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="utf-8">
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
8
|
-
<title> API:测试工具 </title>
|
|
9
|
-
<link href="__res__style/bootstrap.css" rel="stylesheet" type="text/css">
|
|
10
|
-
<link href="__res__style/pretty-json.css" rel="stylesheet" type="text/css">
|
|
11
|
-
<link href="__res__style/apitest.css" rel="stylesheet" type="text/css">
|
|
12
|
-
</head>
|
|
13
|
-
|
|
14
|
-
<body>
|
|
15
|
-
<div id="main">
|
|
16
|
-
<div class="btn-group" id="prefixs_list"></div>
|
|
17
|
-
<div id="div_switchgroup">
|
|
18
|
-
<div class="btn-group navbar-btn" id="switch_examples"></div>
|
|
19
|
-
</div>
|
|
20
|
-
<div>
|
|
21
|
-
<div class="col-sm-4">
|
|
22
|
-
<div id="div_apilist">
|
|
23
|
-
<div id="list_api_btns" class="panel-group">
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
<div id="div_form" class="container-fluid main-content col-sm-4">
|
|
28
|
-
<form prefix="form" class="form-horizontal">
|
|
29
|
-
<div>
|
|
30
|
-
<a class="navbar-brand" href="javascript:;">API URL</a>
|
|
31
|
-
<div class="btn-group navbar-btn pull-right" id="switch_method">
|
|
32
|
-
<button type="button" class="btn btn-default btn-primary">get</button>
|
|
33
|
-
<button type="button" class="btn btn-default">post</button>
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
<div class="form-group">
|
|
37
|
-
<div class="col-sm-12">
|
|
38
|
-
<input type="text" class="form-control" id="link_api_url" placeholder="Enter the url" value="">
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
</div>
|
|
42
|
-
<div id="div_headerfield">
|
|
43
|
-
<div class="form-group">
|
|
44
|
-
<a class="navbar-brand" href="javascript:;">Headers</a><button type="button" class="btn btn-default navbar-btn pull-right" id="btn_add_header">+</button>
|
|
45
|
-
</div>
|
|
46
|
-
<div>
|
|
47
|
-
<div class="form-group" style="display:none;">
|
|
48
|
-
<div class="col-sm-4">
|
|
49
|
-
<input class="form-control" form-type="header" placeholder="header key" value="">
|
|
50
|
-
</div>
|
|
51
|
-
<div class="col-sm-8">
|
|
52
|
-
<div>
|
|
53
|
-
<input class="form-control" type="text" placeholder="Enter the value" value="">
|
|
54
|
-
<div class="input-group-addon" style="display: none;">reload</div>
|
|
55
|
-
<div class="input-group-btn" style="display: none;">
|
|
56
|
-
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="width:65px"><span class="caret"></span></button>
|
|
57
|
-
<ul class="dropdown-menu dropdown-menu-right"></ul>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
|
|
64
|
-
<div class="form-group">
|
|
65
|
-
<a class="navbar-brand" href="javascript:;">Payload</a><button type="button" class="btn btn-default navbar-btn pull-right" id="btn_add_field">+</button>
|
|
66
|
-
</div>
|
|
67
|
-
<div>
|
|
68
|
-
<div class="form-group" style="display:none;">
|
|
69
|
-
<div class="col-sm-4">
|
|
70
|
-
<input class="form-control" form-type="field" placeholder="field key" value="">
|
|
71
|
-
</div>
|
|
72
|
-
<div class="col-sm-8">
|
|
73
|
-
<input class="form-control" type="text" placeholder="Enter the value" value="">
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
78
|
-
<div>
|
|
79
|
-
<button type="button" class="btn btn-success pull-right" id="btn_test_url">test</button>
|
|
80
|
-
<div class="pull-right" style="line-height: 50px;"><label><input type="checkbox" id="checkbox_is_autosign" checked>auto reload</label></div>
|
|
81
|
-
</div>
|
|
82
|
-
</form>
|
|
83
|
-
</div>
|
|
84
|
-
<div class="col-sm-4">
|
|
85
|
-
<div id="div_frames" class="row">
|
|
86
|
-
<ul class="nav nav-tabs">
|
|
87
|
-
<li class="active"><a id="btn_userresume" href="#div_json_view" data-toggle="tab" is-user-page=true><i class="icon-left-indent"></i>view</a></li>
|
|
88
|
-
<li><a href="#result_txt" data-toggle="tab"><i class="icon-edit"></i>text</a></li>
|
|
89
|
-
</ul>
|
|
90
|
-
<div class="tab-content">
|
|
91
|
-
<div class="tab-pane active" id="div_json_view"></div>
|
|
92
|
-
<div class="tab-pane" id="result_txt"><textarea id="textarea_results"></textarea></div>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
<script type="text/javascript">var devices = __devices__;</script>
|
|
99
|
-
<script type="text/javascript">var apiList = __apiList__;</script>
|
|
100
|
-
<script type="text/javascript" src="__res__config.js"></script>
|
|
101
|
-
<script type="text/javascript" src="__res__style/jquery/jquery.min.js"></script>
|
|
102
|
-
<script type="text/javascript" src="__res__style/bootstrap/bootstrap.js"></script>
|
|
103
|
-
<script type="text/javascript" src="__res__style/pretty-json/underscore-min.js"></script>
|
|
104
|
-
<script type="text/javascript" src="__res__style/pretty-json/backbone-min.js"></script>
|
|
105
|
-
<script type="text/javascript" src="__res__style/pretty-json/pretty-json-min.js"></script>
|
|
106
|
-
<script type="text/javascript" src="__res__style/md5/md5.js"></script>
|
|
107
|
-
<script type="text/javascript" src="__res__style/pinyin.js"></script>
|
|
108
|
-
<script type="text/javascript" src="__res__apitest.js"></script>
|
|
109
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
8
|
+
<title> API:测试工具 </title>
|
|
9
|
+
<link href="__res__style/bootstrap.css" rel="stylesheet" type="text/css">
|
|
10
|
+
<link href="__res__style/pretty-json.css" rel="stylesheet" type="text/css">
|
|
11
|
+
<link href="__res__style/apitest.css" rel="stylesheet" type="text/css">
|
|
12
|
+
</head>
|
|
13
|
+
|
|
14
|
+
<body>
|
|
15
|
+
<div id="main">
|
|
16
|
+
<div class="btn-group" id="prefixs_list"></div>
|
|
17
|
+
<div id="div_switchgroup">
|
|
18
|
+
<div class="btn-group navbar-btn" id="switch_examples"></div>
|
|
19
|
+
</div>
|
|
20
|
+
<div>
|
|
21
|
+
<div class="col-sm-4">
|
|
22
|
+
<div id="div_apilist">
|
|
23
|
+
<div id="list_api_btns" class="panel-group">
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div id="div_form" class="container-fluid main-content col-sm-4">
|
|
28
|
+
<form prefix="form" class="form-horizontal">
|
|
29
|
+
<div>
|
|
30
|
+
<a class="navbar-brand" href="javascript:;">API URL</a>
|
|
31
|
+
<div class="btn-group navbar-btn pull-right" id="switch_method">
|
|
32
|
+
<button type="button" class="btn btn-default btn-primary">get</button>
|
|
33
|
+
<button type="button" class="btn btn-default">post</button>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="form-group">
|
|
37
|
+
<div class="col-sm-12">
|
|
38
|
+
<input type="text" class="form-control" id="link_api_url" placeholder="Enter the url" value="">
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
</div>
|
|
42
|
+
<div id="div_headerfield">
|
|
43
|
+
<div class="form-group">
|
|
44
|
+
<a class="navbar-brand" href="javascript:;">Headers</a><button type="button" class="btn btn-default navbar-btn pull-right" id="btn_add_header">+</button>
|
|
45
|
+
</div>
|
|
46
|
+
<div>
|
|
47
|
+
<div class="form-group" style="display:none;">
|
|
48
|
+
<div class="col-sm-4">
|
|
49
|
+
<input class="form-control" form-type="header" placeholder="header key" value="">
|
|
50
|
+
</div>
|
|
51
|
+
<div class="col-sm-8">
|
|
52
|
+
<div>
|
|
53
|
+
<input class="form-control" type="text" placeholder="Enter the value" value="">
|
|
54
|
+
<div class="input-group-addon" style="display: none;">reload</div>
|
|
55
|
+
<div class="input-group-btn" style="display: none;">
|
|
56
|
+
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="width:65px"><span class="caret"></span></button>
|
|
57
|
+
<ul class="dropdown-menu dropdown-menu-right"></ul>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div class="form-group">
|
|
65
|
+
<a class="navbar-brand" href="javascript:;">Payload</a><button type="button" class="btn btn-default navbar-btn pull-right" id="btn_add_field">+</button>
|
|
66
|
+
</div>
|
|
67
|
+
<div>
|
|
68
|
+
<div class="form-group" style="display:none;">
|
|
69
|
+
<div class="col-sm-4">
|
|
70
|
+
<input class="form-control" form-type="field" placeholder="field key" value="">
|
|
71
|
+
</div>
|
|
72
|
+
<div class="col-sm-8">
|
|
73
|
+
<input class="form-control" type="text" placeholder="Enter the value" value="">
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
<div>
|
|
79
|
+
<button type="button" class="btn btn-success pull-right" id="btn_test_url">test</button>
|
|
80
|
+
<div class="pull-right" style="line-height: 50px;"><label><input type="checkbox" id="checkbox_is_autosign" checked>auto reload</label></div>
|
|
81
|
+
</div>
|
|
82
|
+
</form>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="col-sm-4">
|
|
85
|
+
<div id="div_frames" class="row">
|
|
86
|
+
<ul class="nav nav-tabs">
|
|
87
|
+
<li class="active"><a id="btn_userresume" href="#div_json_view" data-toggle="tab" is-user-page=true><i class="icon-left-indent"></i>view</a></li>
|
|
88
|
+
<li><a href="#result_txt" data-toggle="tab"><i class="icon-edit"></i>text</a></li>
|
|
89
|
+
</ul>
|
|
90
|
+
<div class="tab-content">
|
|
91
|
+
<div class="tab-pane active" id="div_json_view"></div>
|
|
92
|
+
<div class="tab-pane" id="result_txt"><textarea id="textarea_results"></textarea></div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<script type="text/javascript">var devices = __devices__;</script>
|
|
99
|
+
<script type="text/javascript">var apiList = __apiList__;</script>
|
|
100
|
+
<script type="text/javascript" src="__res__config.js"></script>
|
|
101
|
+
<script type="text/javascript" src="__res__style/jquery/jquery.min.js"></script>
|
|
102
|
+
<script type="text/javascript" src="__res__style/bootstrap/bootstrap.js"></script>
|
|
103
|
+
<script type="text/javascript" src="__res__style/pretty-json/underscore-min.js"></script>
|
|
104
|
+
<script type="text/javascript" src="__res__style/pretty-json/backbone-min.js"></script>
|
|
105
|
+
<script type="text/javascript" src="__res__style/pretty-json/pretty-json-min.js"></script>
|
|
106
|
+
<script type="text/javascript" src="__res__style/md5/md5.js"></script>
|
|
107
|
+
<script type="text/javascript" src="__res__style/pinyin.js"></script>
|
|
108
|
+
<script type="text/javascript" src="__res__apitest.js"></script>
|
|
109
|
+
</body>
|
|
110
110
|
</html>
|