1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- "use strict";
- var select = [];
- var app = getApp();
- Component({
- data: {},
-
- ready: function () {
- if(app.globalData.oriList.length) this.init();
- },
- methods: {
- init(){
- var _this = this;
- select = [];
- var list = [
- {
- date: "2021-04-07",
- title: "大唐不夜城",
- id: 0,
- chirld: []
- }
- ];
- for (let i = 0; i < app.globalData.oriList.length; i++) {
- const ele = app.globalData.oriList[i];
- let sList = ele.clips.map((v, o) => {
- return {
- id: i + '-' + o,
- selectIndex: -1,
- duration: _this.format(v.duration),
- secDuration: v.duration,
- videoWidth: v.videoWidth,
- videoHeight: v.videoHeight,
- name: v.name,
- snaps: v.snaps,
- video: v.video,
- thumbUrl: v.thumbUrl,
- voice: ele.voice
- };
- })
- list[0].chirld.push(...sList)
- }
- _this.setData({ list: list });
-
- },
- selectItem: function () {
- var data = arguments[0].currentTarget.dataset;
- var list = JSON.parse(JSON.stringify(this.data.list));
- var selectItem = list[data.pindex].chirld[data.index];
- this.downFile(selectItem).then(res => {
- selectItem.type = "video";
- var selectList = [];
- var push = true;
- for (var i = 0; i < select.length; i++) {
- var v = select[i];
- if (v.id !== data.id)
- continue;
- list[v.pindex].chirld[v.index].selectIndex = -1;
- select.splice(i, 1);
- push = false;
- break;
- }
- select.length < 11 && push && select.push(data);
- for (var i = 0; i < select.length; i++) {
- var v = select[i];
- list[v.pindex].chirld[v.index].selectIndex = i + 1;
- selectList.push(list[v.pindex].chirld[v.index])
- }
- this.setData({
- list: list
- });
- this.triggerEvent('select', selectList);
- });
- },
- format(s) {
- let sco = Math.floor(s % 60);
- let min = Math.floor(s / 60);
- let hour = Math.floor(min / 60);
- let time = hour > 9 ? hour : "0" + hour;
- time += min > 9 ? ":" + min : ":0" + min;
- time += sco > 9 ? ":" + sco : ":0" + sco;
- return time
- },
- downFile(v) {
- return new Promise((resolve, reason) => {
- resolve(v);
- })
- }
- }
- });
|