userguide.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <?php include "includelibs.php"; ?>
  6. <script >
  7. // 服务器地址
  8. window.myDateStr = '20150526';
  9. window.myZoneStr = '1';
  10. window.myDateTypeStr = 'Day';
  11. function GetData() {
  12. var req = {
  13. statType: 1, // 新手引导
  14. dateType: window.myDateTypeStr,
  15. dateIndex: window.myDateStr,
  16. zoneid: window.myZoneStr
  17. };
  18. $.ajax({
  19. type: "post",
  20. url: API,
  21. data: JSON.stringify(req),
  22. dataType: 'JSON',
  23. contentType: 'application/json',
  24. processData: false,
  25. success: function (resp) {
  26. RenderData(resp);
  27. },
  28. error: function (XMLHttpRequest, textStatus, errorThrown) {
  29. alert("err:" + XMLHttpRequest.status + XMLHttpRequest.readyState + XMLHttpRequest.responseText);
  30. }
  31. });
  32. }
  33. ;
  34. $(function () {
  35. var myDatePicker = $("#datepicker");
  36. var zoneSelect = $("#zoneid");
  37. var timeSpan = $("#timeSpan");
  38. myDatePicker.datepicker({
  39. onSelect: function (dateText, inst) {
  40. window.myDateStr = dateText;
  41. GetData();
  42. }
  43. });
  44. myDatePicker.datepicker('option', {dateFormat: 'yymmdd'});
  45. myDatePicker.datepicker('option', {defaultDate: +2});
  46. zoneSelect.selectmenu({
  47. change: function (event, data) {
  48. window.myZoneStr = data.item.value;
  49. GetData();
  50. }
  51. });
  52. timeSpan.selectmenu({
  53. change: function (event, data) {
  54. window.myDateTypeStr = data.item.value;
  55. GetData();
  56. }
  57. });
  58. });
  59. function RenderData(respData) {
  60. //Get the context of the canvas element we want to select
  61. $("#myChart").remove();
  62. $("#chartContainer").append('<canvas id="myChart" style="width:800px;height:400px;border: 1px solid red;"></canvas>');
  63. ctx = document.getElementById("myChart").getContext("2d");
  64. var totalNewUser = 0;
  65. var i = $.inArray(-1, respData.labels);
  66. if (i > -1) {
  67. var dat = respData.datasets[0].data;
  68. totalNewUser = dat[i];
  69. dat[i] = 0;
  70. respData.datasets[0].data = dat;
  71. }
  72. new Chart(ctx, {
  73. type: 'bar',
  74. data: respData,
  75. options: {
  76. // Elements options apply to all of the options unless overridden in a dataset
  77. // In this case, we are setting the border of each bar to be 2px wide and green
  78. animation: false,
  79. elements: {
  80. rectangle: {
  81. borderWidth: 2,
  82. borderColor: 'rgb(0, 255, 0)',
  83. borderSkipped: 'bottom'
  84. }
  85. },
  86. responsive: true,
  87. legend: {
  88. position: 'top',
  89. scale: 1
  90. },
  91. title: {
  92. display: true,
  93. text: window.myDateStr + '当' + window.myDateTypeStr + '流失分析图(' + window.myZoneStr + '区)' + (window.myZoneStr === '1' ? ', 总流量:' + totalNewUser + '个新用户' : '')
  94. }
  95. }
  96. });
  97. }
  98. </script>
  99. </head>
  100. <body style='max-width:800px;margin:auto;'>
  101. <form action="#">
  102. <p>选择日期: <input type="text" id="datepicker"/></p>
  103. <fieldset>
  104. <label for="zone">选择分区</label>
  105. <select name="zoneid" id="zoneid">
  106. <option selected="selected">1</option>
  107. <option>2</option>
  108. <option>3</option>
  109. <option>4</option>
  110. <option>5</option>
  111. <option>6</option>
  112. <option>7</option>
  113. <option>8</option>
  114. <option>9</option>
  115. <option>10</option>
  116. <option>11</option>
  117. <option>12</option>
  118. <option>13</option>
  119. <option>14</option>
  120. <option>999</option>
  121. </select>
  122. </fieldset>
  123. <fieldset>
  124. <label for="dateType">选择时间跨度</label>
  125. <select name="timeSpan" id="timeSpan">
  126. <option selected="selected">Day</option>
  127. <option>Week</option>
  128. <option>Month</option>
  129. </select>
  130. </fieldset>
  131. </form>
  132. <div id="chartContainer" style="max-width:800px;max-height:400px">
  133. <canvas id="myChart" style="width:800px;height:400px;border: 1px solid red;"></canvas>
  134. </div>
  135. 说明:
  136. <ul>
  137. <li>第-2步骤: 注册新用户</li>
  138. <li>第-1步骤: 玩家第一次登录(未建分区之前,别的区里面没有-1这个值)</li>
  139. <li>第2-8步骤: 购买兽蛋</li>
  140. <li>第8-10步骤: 加速孵化兽蛋</li>
  141. <li>第10-13步骤: 放置兽蛋</li>
  142. <li>第13-17步骤: 购买农场</li>
  143. <li>第17-19步骤: 种植食物</li>
  144. <li>第20-21步骤: 农场加速</li>
  145. <li>第22-22步骤: 农场收获食物</li>
  146. <li>第23-28步骤: 喂养神兽</li>
  147. <li>第29-35步骤: 培育神兽</li>
  148. <li>第36-37步骤: 加速培育</li>
  149. <li>第38-38步骤: 收集培育的兽蛋</li>
  150. <li>第38-40步骤: 打开任务界面</li>
  151. <li>第40-42步骤: 结束引导</li>
  152. <li>第100-100步骤: 领取七星奖励</li>
  153. <li>第110步骤: 领取任务奖励:收取金币</li>
  154. <li>第120步骤: 领取任务奖励:种植一次千灵花</li>
  155. <li>第130步骤: 领取任务奖励:收获一次食物</li>
  156. <li>第140步骤: 领取任务奖励:购买第二个农场</li>
  157. <li>第150步骤: 领取任务奖励:铲除2个碎石</li>
  158. <li>第155步骤: 领取任务奖励:建造图鉴雕像</li>
  159. <li>第160步骤: 领取任务奖励:建造水系领地</li>
  160. <li>第170步骤: 领取任务奖励:购买一只水灵兽</li>
  161. <li>第180步骤: 领取任务奖励:加速孵化水灵兽</li>
  162. <li>第190步骤: 领取任务奖励:放置水灵兽</li>
  163. </ul>
  164. </body>
  165. </html>