index.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // components/dayList/index.js
  2. let urlList = [];
  3. Component({
  4. /**
  5. * 组件的属性列表
  6. */
  7. properties: {
  8. mediaList: {
  9. type: Array,
  10. observer: function (n) {
  11. if (!n.length) return;
  12. urlList = [];
  13. let y = -1;
  14. for (let i = 0; i < n.length; i++) {
  15. const v = n[i];
  16. for (let p = 0; p < v.child.length; p++) {
  17. const item = v.child[p];
  18. item.index = ++y;
  19. urlList.push({
  20. url: item.url,
  21. type: item.mediaType,
  22. poster: item.poster || "",
  23. title: item.title
  24. });
  25. }
  26. }
  27. }
  28. },
  29. activityName: String
  30. },
  31. /**
  32. * 组件的初始数据
  33. */
  34. data: {
  35. },
  36. /**
  37. * 组件的方法列表
  38. */
  39. methods: {
  40. showMedia(e) {
  41. const indexs = e.currentTarget.dataset.index.split("-");
  42. const row = this.data.mediaList[indexs[0]];
  43. const item = row.child[indexs[1]];
  44. if (row.mediaType === 'image') {
  45. wx.previewMedia({
  46. sources: urlList,
  47. current: item.index
  48. })
  49. return
  50. }
  51. wx.navigateTo({
  52. url: "/pages/videoDetail/index?id=" + item.id + '&group=' + row.location + '&type=' + item.type + '&activityName=' + this.data.activityName
  53. })
  54. }
  55. }
  56. })