show_audio.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. $(function () {
  2. var hasActive= hasUsableFlash();
  3. if(!hasActive) {
  4. alert("您未安装flash插件,或您浏览未启用flash插件!")
  5. }
  6. var request = getRequest();
  7. if (
  8. JSON.stringify(request) == "{}" ||
  9. request.id === undefined ||
  10. request.q === undefined ||
  11. request.t === undefined
  12. ) {
  13. console.log("argument error.");
  14. return;
  15. }
  16. var keywordControl = $("#keyword");
  17. if (request.q !== undefined) keywordControl.val(request.q);
  18. $("#search").on("click", function (e) {
  19. e.preventDefault();
  20. var inputValue = keywordControl.val().trim();
  21. if (inputValue === "" || inputValue.replace(/[-_—]/g, "") === "") {
  22. keywordControl.focus();
  23. return;
  24. }
  25. var keylist = encodeURIComponent(inputValue);
  26. window.location.href = "list_index.html?q=" + keylist + (request.t === undefined ? "" : "&t=" + request.t);
  27. });
  28. $("#keyword").on("keyup", function (e) {
  29. e.preventDefault();
  30. if (e.keyCode === 13) {
  31. $("#search").click();
  32. }
  33. });
  34. $('#loading').modal('show');
  35. fetchJSON("/api/resource/up/view?id=" + request.id, {}, "get", function (ret) {
  36. $('#loading').modal('hide');
  37. if (ret.code !== 0) console.log(ret.msg);
  38. });
  39. fetchJSON("/api/resource/info?id=" + request.id, {}, "get", function (ret) {
  40. if (ret.code === 0) {
  41. var resource = ret.data;
  42. fetchJSON(
  43. "/api/query/query",
  44. {keyword: combineKeysToArray(resource.resourceName), type: request.t, page: 0, size: 10},
  45. "post",
  46. function (ret) {
  47. if (ret.code === 0) {
  48. if (ret.data.resources.length !== 0) {
  49. $("#relatedResourcesWrapper").css("display", "block");
  50. fillRelatedResourceList(ret.data.resources, request.t, $("#relatedResources"), request.q);
  51. }
  52. } else console.log(ret.msg);
  53. }
  54. );
  55. $("#title").html(resource.resourceName);
  56. $("#department").html(resource.submitDepartment);
  57. $("#author").html(resource.resourceAuthor);
  58. $("#submitDate").html(toDateString(resource.resourceCompletionDate));
  59. $("#format").html(getFileExt(resource.resourceUrl));
  60. var starWrapper = $("<div>", {class: "star pull-left"});
  61. var starSpan = $("<span>", {text: "满意度:"});
  62. starWrapper.append(starSpan);
  63. var b = parseInt(resource.satisfaction / 20);
  64. var c = resource.satisfaction % 20 == 0 ? 0 : 1;
  65. var rank = b + c;
  66. for (var j = 0; j < 5; j++) {
  67. if (j < rank)
  68. starWrapper.append(
  69. $("<span>", {
  70. id: "star" + j,
  71. class: "satisfaction icon cur",
  72. style: "cursor: pointer;",
  73. html: "&#xe644; &nbsp;"
  74. })
  75. );
  76. else
  77. starWrapper.append(
  78. $("<span>", {
  79. id: "star" + j,
  80. class: "satisfaction icon",
  81. style: "cursor: pointer;",
  82. html: "&#xe644; &nbsp;"
  83. })
  84. );
  85. }
  86. var audio = $("<audio>", {id: "player", preload: "auto", controls: ""});
  87. audio.append($("<source>", {id: "videoSource", src: urlBase + "/file/" + resource.resourceUrl}));
  88. $("#playerWrapper").append(audio);
  89. $("audio").audioPlayer();
  90. $("#playerWrapper")
  91. .append($("<br>"))
  92. .append($("<h4>", {text: "可用操作", style: "margin-top: 40px; color: blue;"}))
  93. .append($("<hr>"))
  94. .append(starWrapper);
  95. fetchJSON("/api/resource/downloadPermission", {}, "get", function (ret) {
  96. if (ret.code === 0) {
  97. if (ret.data === true) {
  98. $("#playerWrapper").append(
  99. $("<button>", {
  100. id: "download",
  101. class: "btn btn-primary icon pull-right",
  102. download: "",
  103. html: "&#xe6fe; 点击下载 (已下载" + resource.downloadTimes + "次)"
  104. })
  105. );
  106. var times = resource.downloadTimes;
  107. $("#download").on("click", function (e) {
  108. downloadResource("/api/resource/download?id=" + request.id);
  109. times++;
  110. $("#download").html("&#xe6fe; 点击下载 (已下载" + times + "次)");
  111. });
  112. }
  113. } else {
  114. console.log(ret.msg);
  115. }
  116. });
  117. fetchJSON("/api/user/isCollected?id="+resource.id, {},"get", function (ret) {
  118. if (ret.code === 0) {
  119. $("#playerWrapper1").prepend(
  120. $("<button>", {
  121. id: "collect",
  122. class: "btn btn-primary icon pull-right",
  123. html: "&#xe6fe; 点击收藏"
  124. })
  125. );
  126. $("#collect").on("click", function (e) {
  127. collectResource(resource.id,1);
  128. $("#collect").hide();
  129. $("#collect1").show();
  130. });
  131. $("#playerWrapper1").prepend(
  132. $("<button>", {
  133. id: "collect1",
  134. class: "btn btn-danger icon pull-right",
  135. html: "&#xe6fe; 取消收藏"
  136. })
  137. );
  138. $("#collect1").on("click", function (e) {
  139. collectResource(resource.id,0);
  140. $("#collect").show();
  141. $("#collect1").hide();
  142. });
  143. if (ret.data === false) {
  144. $("#collect1").hide();
  145. }else
  146. {
  147. $("#collect").hide();
  148. }
  149. } else {
  150. console.log(ret.msg);
  151. }
  152. });
  153. // .append(
  154. // $("<button>", {
  155. // id: "download",
  156. // class: "btn btn-primary icon pull-right",
  157. // download: "",
  158. // html: "&#xe6fe; 点击下载 (已下载" + resource.downloadTimes + "次)"
  159. // })
  160. // );
  161. // var times = resource.downloadTimes;
  162. // $("#download").on("click", function (e) {
  163. // downloadResource("/api/resource/download?id=" + request.id);
  164. // times++;
  165. // $("#download").html("&#xe6fe; 点击下载 (已下载" + times + "次)");
  166. // });
  167. $(".satisfaction").hover(
  168. function (e) {
  169. var id = this.id.replace("star", "");
  170. for (var i = 0; i <= id; i++) $("#star" + i).addClass("cur");
  171. },
  172. function (e) {
  173. for (var i = 0; i < 5; i++) if (i > rank - 1) $("#star" + i).removeClass("cur");
  174. }
  175. );
  176. $(".satisfaction").on("click", function (e) {
  177. var id = parseInt(this.id.replace("star", ""));
  178. rank = parseInt(id + 1);
  179. fetchJSON(
  180. "/api/resource/satisfaction?id=" + resource.id + "&satisfaction=" + (parseInt(id) + 1) * 20,
  181. {},
  182. "post",
  183. function (ret) {
  184. if (ret.code !== 0) console.log(ret.msg);
  185. }
  186. );
  187. });
  188. } else {
  189. console.log(ret.msg);
  190. }
  191. });
  192. fetchJSON("/api/query/related", {keyword: combineKeysToArray(request.q)}, "post", function (ret) {
  193. if (ret.code === 0) {
  194. if (ret.data.length != 0) {
  195. $("#relatedKeywordsWrapper").css("display", "block");
  196. fillRelatedKeywordList(ret.data, request.t, $("#relatedKeywords"));
  197. }
  198. } else {
  199. console.log(ret.msg);
  200. }
  201. });
  202. });