yiming
2024-03-13 f9d4b09377c5471e1202be2fef2c89de27b6654d
pages/resourceDetails/myVideo/index.js
@@ -7,12 +7,13 @@
   * 页面的初始数据
   */
  data: {
    noteList: [],
    navBarHeight: '',
    barHeight: '',
    flag: true, // 输入框是否显示
    tabPanelstyle: 'display:flex;justify-content:center;align-items:center;',
    activeValues: [0],
    dialogKey: true,
    dialogKey: false,
    style: 'border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx;',
    activeId: '',
    bookId: '',
@@ -25,18 +26,36 @@
    showData: '',
    src: '',
    selectedId: null,
    topicId: ''
    topicId: '',
    titleName: '',
    submitTitle: "",
    inputStyle: 'border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx',
    textvalue: '',
    style: 'height: 248rpx',
    submitType: "new", //  新建 or 编辑
    noteId: '',
  },
  // 格式化笔记时间
  convertTimestamp(timestamp) {
    const isoDate = new Date(timestamp)
    const year = isoDate.getFullYear()
    const month = String(isoDate.getMonth() + 1).padStart(2, '0')
    const day = String(isoDate.getDate()).padStart(2, '0')
    const hours = String(isoDate.getHours()).padStart(2, '0')
    const minutes = String(isoDate.getMinutes()).padStart(2, '0')
    const seconds = String(isoDate.getSeconds()).padStart(2, '0')
    const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
    return formattedDate
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(this.data.dialogKey, 'dialogKey');
    const systInfo = wx.getSystemInfoSync();
    const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
    console.log(options, 'options');
    this.setData({
      navBarHeight: navBarHeight,
      barHeight: systInfo.statusBarHeight,
@@ -48,8 +67,9 @@
      parentProductLinkPath: options.parentProductLinkPath,
      productLinkPath: options.productLinkPath
    })
    console.log(this.data.parentProductLinkPath, 'parentProductLinkPath');
    this.resourceDetailsData()
    this.getNoteList()
  },
  /**
@@ -115,8 +135,14 @@
  },
  showDialog(e) {
    const { key } = e.currentTarget.dataset;
    this.setData({ [key]: true, dialogKey: key });
    this.setData({
      submitTitle: this.data.bookName,
      dialogKey: true,
      // textvalue: ''
    });
  },
  closeDialog() {
@@ -157,47 +183,44 @@
    }
    app.MG.store.getProductDetail(query).then(res => {
      console.log(res, 'res');
      const list = []
      res.datas.cmsDatas[0].datas.forEach((item) => {
        this.data.threeLeveData.push(item)
        list.push(item)
        this.setData({
          threeLeveData: list
        })
        if (this.data.productLinkPath == item.productLinkPath) {
          console.log(item, 'item');
        if (item.selectType === "video") {
          this.data.threeLeveData.push(item)
          this.setData({
            showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file
            threeLeveData: this.data.threeLeveData
          })
        }
        // console.log(this.data.threeLeveData, 'threeLeveData');
      })
        if (this.data.productLinkPath == item.productLinkPath) {
          this.setData({
            showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file,
            titleName: item.name
          })
        }
      })
      this.data.threeLeveData.forEach((item) => {
        console.log(item.name);
      })
    })
  },
  onVideo(e) {
    if (this.data.showData != '') {
      this.setData({
        showData: ''
      })
    }
    this.setData({
      selectedId: e.currentTarget.dataset.index,
    })
    // console.log(e);
    const item = e.currentTarget.dataset.item
    // console.log(item);
    this.setData({
      titleName: item.name
    })
    if (item.selectType == "video") {
      console.log(item.file);
      this.setData({
        showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file
      })
      console.log(this.data.showData);
    } else {
      console.log(app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file);
    }
  },
@@ -229,15 +252,230 @@
      console.log(res);
    })
  },
  // currentTarget
  onConfirm() {
    console.log(1111);
  // 标题改变
  changeTitle(e) {
    console.log(e.currentTarget.dataset.value);
    this.setData({
      flag: e.currentTarget.dataset.value
    })
  },
  onCancellation() {
    console.log(222);
  // 标题输入框值
  inputChange(e) {
    this.setData({
      titleName: e.detail.value
    })
  },
    this.data.dialogKey = false
  confirmSuggest() {
    if (!this.data.textvalue) {
      return wx.showToast({
        icon: 'error',
        title: '请填写笔记内容',
      })
  }
    } else if (!this.data.titleName) {
      return wx.showToast({
        icon: 'error',
        title: '请填写笔记标题',
      })
    }
    if (this.data.submitType == 'new') {
      this.makeNote()
    } else if (this.data.submitType == 'edit') {
      this.updateNote()
    }
    console.log(this.data.textvalue);
    console.log(this.data.titleName);
    this.setData({
      dialogKey: false
    });
  },
  onTextarea() {
    console.log(this.data.textvalue);
  },
  textareaChange(e) {
    this.setData({
      textvalue: e.detail.value
    })
  },
  // 获取笔记列表
  async getNoteList() {
    // this.setData({
    //   loading: true
    // })
    let topicId
    await app.MG.ugc
      .getProductUserSubmitTopic({
        productId: this.data.bookId,
        appRefCode: app.config.appRefCode
      })
      .then((res) => {
        if (res) {
          topicId = res.id
        } else {
          return wx.showToast({
            icon: "error",
            title: '查询失败',
          })
        }
      })
    // loadings.value.bookResource = true
    let query = {
      start: 0,
      size: 999,
      messageType: 'note',
      sort: {
        type: 'Desc',
        field: 'CreateDate'
      },
      appRefCode: app.config.appRefCode,
      topicIdOrRefCode: topicId + ''
    }
    await app.MG.ugc.getTopicMessageList(query).then((res) => {
      // notePage.value.total = res.totalSize
      res.datas.forEach((item) => {
        // item.compliceHover = false
        // item.deleteHover = false
        item.createDate = this.convertTimestamp(item.createDate)
      })
      this.setData({
        "pageCount.total": res.totalSize,
        noteList: res.datas,
        loading: false
      })
      console.log('笔记列表', res.datas);
    })
  },
  // 编辑按钮
  editNote(e) {
    const note = e.currentTarget.dataset.note
    this.setData({
      submitType: "edit",
      textvalue: note.content,
      submitTitle: note.name,
      noteId: note.id
    })
    this.showDialog()
  },
  // 删除笔记
  deleteNote(e) {
    const id = e.currentTarget.dataset.id
    const messageIds = []
    messageIds.push(id)
    wx.showModal({
      title: '提示',
      content: '确认删除该笔记吗?',//editable如果为true,这就是输入框的内容
      editable: false,//是否显示输入框
      placeholderText: '请输入内容吧',//输入框的默认内容
      success: (res) => {
        if (res.confirm) {
          app.MG.ugc
            .delTopicMessage({ messageIds })
            .then((res) => {
              wx.showToast({
                title: '删除成功',
              })
              // if ((notePage.value.total % 3) - 1 == 0) {
              //   notePage.value.page -= 1
              // }
              this.getNoteList()
            })
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  },
  // 新建笔记接口
  async makeNote() {
    const token = wx.getStorageSync('jsek-token')
    if (!token) {
      return wx.getUserProfile({
        desc: '用户登录',
        success: (res) => {
          console.log(res);
        }
      })
    }
    let topicId
    await app.MG.ugc
      .getProductUserSubmitTopic({
        productId: this.data.bookId,
        appRefCode: app.config.appRefCode
      })
      .then((res) => {
        if (res) {
          topicId = res.id
        } else {
          return wx.showToast({
            icon: 'error',
            title: '新建失败',
          })
        }
      })
    let query = {
      topicIdOrRefCode: topicId + '',
      name: this.data.submitTitle,
      content: this.data.textvalue,
      type: 'note',
      cmsTypeRefCode: '',
      newDataListRequest: []
    }
    await app.MG.ugc.newTopicMessage(query).then((res) => {
      wx.showToast({
        title: '新建成功',
      })
      this.closeDialog()
      this.getNoteList()
    })
  },
  // 编辑笔记接口
  updateNote() {
    const token = wx.getStorageSync('jsek-token')
    if (!token) {
      return wx.getUserProfile({
        desc: '用户登录',
        success: (res) => {
          console.log(res);
        }
      })
    }
    if (!this.data.submitTitle) {
      return wx.showToast({
        icon: 'error',
        title: '请填写笔记标题',
      })
    } else if (!this.data.textvalue) {
      return wx.showToast({
        icon: 'error',
        title: '请填写笔记内容',
      })
    }
    let query = {
      id: this.data.noteId,
      name: this.data.submitTitle,
      description: 'string',
      icon: 'string',
      type: 'note',
      content: this.data.textvalue,
      newDataRequests: [],
      updateDataRequests: []
    }
    app.MG.ugc.updateTopicMessage(query).then((res) => {
      wx.showToast({
        title: '编辑成功',
      })
      this.closeDialog()
      this.getNoteList()
    })
    this.setData({
      submitType: "new"
    })
  },
})