index.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. //index.js
  2. //获取应用实例
  3. const app = getApp()
  4. var id = 0;
  5. var playimg = '/images/icons/play.png';
  6. var pauseimg = '/images/icons/zanting.png';
  7. let innerAudioContext = null;
  8. Page({
  9. data: {
  10. taskContent: {
  11. title: '内容',
  12. img: playimg,
  13. second: ''
  14. },
  15. image: {
  16. title: '图片'
  17. },
  18. video: {
  19. title: '视频'
  20. },
  21. info: {},
  22. flag: 0
  23. },
  24. onLoad: function (res) {
  25. id = res.id;
  26. this.showData();
  27. },
  28. onShow: function () {
  29. var that = this;
  30. app.ajaxReadyCallback = res => {
  31. var imgs = [];
  32. if (res.data.data.images){
  33. imgs = res.data.data.images.split(',');
  34. }
  35. var info = res.data.data;
  36. info.imgs = imgs
  37. that.setData({
  38. info: info
  39. });
  40. }
  41. },
  42. showData: function () {
  43. app.ajax({
  44. url: app.globalData.serverUrl + '/Hiddendanger/detail',
  45. type: 'POST',
  46. data: {
  47. id: id,
  48. }
  49. });
  50. },
  51. playaudio: function(e){
  52. innerAudioContext = null;
  53. innerAudioContext = wx.createInnerAudioContext();
  54. innerAudioContext.autoplay = false;
  55. var audiosrc = e.currentTarget.dataset.audio;
  56. var flag = e.currentTarget.dataset.flag;
  57. var that = this;
  58. if(!audiosrc){
  59. wx.showToast({
  60. title: '未上传音频',
  61. icon: 'none',
  62. duration: 1500
  63. });
  64. return false;
  65. }
  66. if(flag == 0){ //播放
  67. innerAudioContext.autoplay = false;
  68. innerAudioContext.src = that.data.info.voices;
  69. innerAudioContext.play();
  70. }else{ //停止
  71. innerAudioContext.stop();
  72. }
  73. setTimeout(() => {
  74. innerAudioContext.duration;
  75. },300)
  76. innerAudioContext.onTimeUpdate(() => {
  77. var task = that.data.taskContent;
  78. task.second = innerAudioContext.duration.toFixed(1)+'"';
  79. that.setData({
  80. taskContent: task
  81. });
  82. })
  83. innerAudioContext.onPlay(() => {
  84. var task = that.data.taskContent;
  85. task.img = pauseimg;
  86. that.setData({
  87. flag: 1,
  88. taskContent: task
  89. })
  90. })
  91. innerAudioContext.onStop(() => {
  92. var task = that.data.taskContent;
  93. task.img = playimg;
  94. that.setData({
  95. flag: 0,
  96. taskContent: task
  97. })
  98. })
  99. innerAudioContext.onEnded(() => {
  100. var task = that.data.taskContent;
  101. task.img = playimg;
  102. that.setData({
  103. flag: 0,
  104. taskContent: task
  105. })
  106. })
  107. innerAudioContext.onError((res) => {
  108. wx.showToast({
  109. title: '音频播放失败',
  110. icon: 'none',
  111. duration: 1500
  112. });
  113. return false;
  114. })
  115. },
  116. //图片预览
  117. previewImage: function (e) {
  118. var current = e.target.dataset.src;
  119. wx.previewImage({
  120. current: current, // 当前显示图片的http链接
  121. urls: this.data.info.imgs, // 需要预览的图片http链接列表
  122. success: function (e) {
  123. console.log(e);
  124. }
  125. })
  126. },
  127. videotap: function(e){
  128. var video = e.target.dataset.video;
  129. app.gotopage('/pages/video/index', { video: video });
  130. },
  131. orderDetail: function(e){ //跳转到详情
  132. wx.navigateTo({
  133. url: '/pages/order/detail/index?id=' + this.data.info.orderId
  134. })
  135. },
  136. })