UNPKG

3.8 kBHTMLView Raw
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 //load options
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 //events
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>&copy;2013-2022, <a href="http://avoscloud.com">AVOSCloud.com</a>. All Rights Reserved.</p>
119 </div>
120 </footer>
121 </body>
122</html>