1 | <html>
|
2 | <head>
|
3 | <script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.0.3/jquery.min.js"></script>
|
4 | <script type="text/javascript" src="http://cdn.staticfile.org/underscore.js/1.5.2/underscore-min.js"></script>
|
5 | <link rel="stylesheet" href="http://cdn.staticfile.org/twitter-bootstrap/2.3.2/css/bootstrap.min.css" type="text/css" media="screen" />
|
6 | <script type="text/javascript" charset="utf-8">
|
7 | $( document ).ready(function(){
|
8 |
|
9 | $("#classes").change(function(event){
|
10 | var className = $(this).val();
|
11 | if(className!=null && className!=''){
|
12 | $('#hooks').find('option').remove().end();
|
13 | $.get("/avos/functions?className=" + className, function(data){
|
14 | _.each(data, function(name){
|
15 | $('#hooks')
|
16 | .append($("<option></option>")
|
17 | .attr("value",name)
|
18 | .text(name));
|
19 | });
|
20 | });
|
21 | }
|
22 | });
|
23 | $.get("/avos/functions", function(data){
|
24 | _.each(data, function(name){
|
25 | $('#functions')
|
26 | .append($("<option></option>")
|
27 | .attr("value",name)
|
28 | .text(name));
|
29 | });
|
30 | });
|
31 | $.get("/avos/classes", function(data){
|
32 | _.each(data, function(name){
|
33 | $('#classes')
|
34 | .append($("<option></option>")
|
35 | .attr("value",name)
|
36 | .text(name));
|
37 | });
|
38 | $("#classes").trigger('change');
|
39 | });
|
40 |
|
41 |
|
42 | $('#callFuncs').click(function(e){
|
43 | $('#result').html('');
|
44 | var params = $('#params').val();
|
45 | var data = {};
|
46 | if(params!=null && params!=''){
|
47 | try{
|
48 | data = JSON.parse(params);
|
49 | }catch(e){
|
50 | $('#result').html("Parse JSON failed: " + e);
|
51 | return;
|
52 | }
|
53 | }
|
54 | $.post("/avos/" + $('#functions').val(), data , function(data){
|
55 | $('#result').html(data);
|
56 | });
|
57 | });
|
58 | $('#callHooks').click(function(e){
|
59 | $('#result').html('');
|
60 | var obj = $('#object').val();
|
61 | var data = {};
|
62 | if(obj!=null && obj!=''){
|
63 | try{
|
64 | data = JSON.parse(obj);
|
65 | }catch(e){
|
66 | $('#result').html("Parse JSON failed: " + e);
|
67 | return;
|
68 | }
|
69 | }else{
|
70 | var objectId = $('#objectId').val();
|
71 | data.id = objectId;
|
72 | }
|
73 | $.post("/avos/" + $('#classes').val() + "/" + $('#hooks').val(), data , function(data){
|
74 | $('#result').html(data);
|
75 | });
|
76 | });
|
77 | });
|
78 | </script>
|
79 | </head>
|
80 | <body>
|
81 | <br/>
|
82 | <br/>
|
83 | <div class='text-center'>
|
84 | <p><h3><span class="label label-info" id='result'></span></h3></p>
|
85 | </div>
|
86 | <br/>
|
87 | <br/>
|
88 | <div class="container-fluid">
|
89 | <div class="row-fluid">
|
90 | <div class="span6 text-center">
|
91 | <p><h4>测试AV.Cloud.define的函数</h4></p>
|
92 | <br/>
|
93 | <p><label>选择函数</label></p>
|
94 | <p><select id="functions"></select></p>
|
95 | <p><label>传入JSON格式参数(可为空)</label></p>
|
96 | <p><textarea id='params' rows="10" cols="100"></textarea></p>
|
97 | <p><button type="button" id="callFuncs">执行</button></p>
|
98 | </div>
|
99 | <div class="span6 text-center">
|
100 | <p><h4>测试Class Hooks(beforeSave,afterSave等)</h4></p>
|
101 | <br/>
|
102 | <p><label>选择Class</label></p>
|
103 | <p><select id="classes"></select></p>
|
104 | <p><label>选择函数</label></p>
|
105 | <p><select id="hooks"></select></p>
|
106 | <p><label>填写已经存在对象的objectId</label></p>
|
107 | <p><input type="text" id="objectId"></input></p>
|
108 | <p><label>或者传入JSON格式的对象</label></p>
|
109 | <p><textarea rows="10" cols="100" id="object"></textarea></p>
|
110 |
|
111 | <p><button type="button" id="callHooks">执行</button></p>
|
112 | </div>
|
113 | </div>
|
114 | </div>
|
115 | </div>
|
116 | <footer class="footer">
|
117 | <div class="container">
|
118 | <p>©2013-2022, <a href="http://avoscloud.com">AVOSCloud.com</a>. All Rights Reserved.</p>
|
119 | </div>
|
120 | </footer>
|
121 | </body>
|
122 | </html>
|