From 8b4e46fd5eaaa016368576dc4ca2b50f89b78953 Mon Sep 17 00:00:00 2001
From: ‘fengzhaoyu’ <feng.zhaoyu@mingwork.com>
Date: Thu, 14 May 2020 20:26:08 +0800
Subject: [PATCH] feat oss 上传 预览

---
 api/request.js                                   |   7 +++++++
 api/xFetch.js                                    |   6 +++++-
 components/fileList/fileList.js                  |  55 +++++++++++++++++++++++++++++++++++++------------------
 components/relatedApp/relatedApp.js              |  10 ++++++++++
 pages/index/index.js                             |  31 ++++++++++++++++++-------------
 pages/meetingDetail/const.js                     |   1 +
 pages/meetingDetail/meetingDetail.axml           |  29 +++++++++++++++++++++--------
 pages/meetingDetail/meetingDetail.js             |  93 +++++++++++++++++++++++----------------------------------------------------------------------
 pages/meetingDetail/store.js                     |   5 +++--
 pages/meetingDetail/uploadFile.js                | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pages/participantsDetail/participantsDetail.acss |   2 +-
 pages/uploadFile/uploadFile.axml                 |   2 +-
 pages/uploadFile/uploadFile.js                   |  49 +++++++++++++++++++++++++------------------------
 13 files changed, 266 insertions(+), 138 deletions(-)
 create mode 100644 pages/meetingDetail/const.js
 create mode 100644 pages/meetingDetail/uploadFile.js

diff --git a/api/request.js b/api/request.js
index 022ae63..3f3e474 100644
--- a/api/request.js
+++ b/api/request.js
@@ -252,4 +252,11 @@ export function getuploadResource(data) {
     data: JSON.stringify(data),
     url: `/meet/meeting-log-resource/uploadResource`
   });
+}
+// oss 预览
+export function previewOss(data) {
+  return $http({
+    method: "get",
+    url: `/meet/meeting-log-resource/generateIDocViewFileUrl?fileId=${data}`
+  });
 }
\ No newline at end of file
diff --git a/api/xFetch.js b/api/xFetch.js
index 93f64b8..e58138e 100644
--- a/api/xFetch.js
+++ b/api/xFetch.js
@@ -31,7 +31,11 @@ export default function xFetch({ url, method, data, type }) {
                 if (err && err.status == 401) {
                     login();
                 }
-                alertOnce((err && err.errorMsg) || '网络异常,请重试', rejects);
+                if (err.errorMsg === 'socket is closed') {
+
+                } else {
+                    alertOnce((err && err.errorMsg) || '网络异常,请重试', rejects);
+                }
             }
         });
     });
diff --git a/components/fileList/fileList.js b/components/fileList/fileList.js
index 680a0f1..3b4ac43 100644
--- a/components/fileList/fileList.js
+++ b/components/fileList/fileList.js
@@ -1,7 +1,8 @@
 
 import create from 'dd-store';
 import pageStore from '../../pages/meetingDetail/store';
-import { previewPermissions } from '../../api/request.js'
+import { previewPermissions, previewOss } from '../../api/request.js'
+import openLink from "dingtalk-jsapi/api/biz/util/openLink";
 
 create.Component({
   store: pageStore,
@@ -11,7 +12,8 @@ create.Component({
   },
   props: {
     isCanEdit: true,
-    isCanDelete: false
+    isCanDelete: false,
+    isPreview: true // 是否点击预览
   },
   didMount() {
   },
@@ -28,27 +30,44 @@ create.Component({
     },
     //预览文件
     preview(e) {
-      //如果出现编辑蒙层时阻止预览的点击事件
+      // 如果出现编辑蒙层时阻止预览的点击事件
       if (this.store.data.logId) {
         return;
       }
-      const file = e.target.dataset.file
-      const data = {
-        ddUserId: getApp().globalData.userid,
-        type: 'download',
-        fileIds: file.fileId,
-        projectName: 'MING_MEETING'
+      if (!this.props.isPreview) {
+
+        return
       }
-      previewPermissions(data).then(res => {
-        dd.previewFileInDingTalk({
-          corpId: dd.corpId,
-          spaceId: res.data.data,
-          fileId: file.fileId,
-          fileName: file.fileName,
-          fileSize: file.fileSize,
-          fileType: file.fileType
-        })
+      const file = e.target.dataset.file
+      previewOss(file.fileId).then(res => {
+        if (res.data.code === 0) {
+          openLink({
+            url: res.data.data
+          });
+        }
       })
+
+
+
+      // console.log(e)
+
+
+      // const data = {
+      //   ddUserId: getApp().globalData.userid,
+      //   type: 'download',
+      //   fileIds: file.fileId,
+      //   projectName: 'MING_MEETING'
+      // }
+      // previewPermissions(data).then(res => {
+      //   dd.previewFileInDingTalk({
+      //     corpId: dd.corpId,
+      //     spaceId: res.data.data,
+      //     fileId: file.fileId,
+      //     fileName: file.fileName,
+      //     fileSize: file.fileSize,
+      //     fileType: file.fileType
+      //   })
+      // })
     },
     //显示操作框
     showOperate(e) {
diff --git a/components/relatedApp/relatedApp.js b/components/relatedApp/relatedApp.js
index c1298a4..2561689 100644
--- a/components/relatedApp/relatedApp.js
+++ b/components/relatedApp/relatedApp.js
@@ -1,10 +1,13 @@
 import { getThirdUserPlatForm } from "../../api/request";
 import { throttle } from "../../utils/utils";
 import create from "dd-store";
+import pageStore from '../../pages/meetingDetail/store';
 create.Component({
+  store: pageStore,
   mixins: [],
   data: {
     $data: null,
+    relatedAppPlatform: null,//store
     userInfo: {},
     relatedAppList: [],
     relatedAppPlatformList: []
@@ -39,7 +42,14 @@ create.Component({
           relatedAppList: res.data.data,
           relatedAppPlatformList: res.data.data.map(it => it.platform)
         });
+        /* 
+        relatedAppPlatform 绑定平台列表
+        目的: 通知详情 是否可以选则zoom
+         */
+        this.store.data.relatedAppPlatform = res.data.data.map(it => it.platform)
+        this.update()
       });
+
     },
     preventSort() {
       return false;
diff --git a/pages/index/index.js b/pages/index/index.js
index be6b60a..6eed83b 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -20,6 +20,7 @@ import {
   getCreateShowTime
 } from "../../utils/utils";
 import { checkFullScren } from "../../utils/checkFullScren";
+import pageStore from '../meetingDetail/store';
 const currentDate = new Date();
 const minYear = 2020;
 const maxYear = currentDate.getFullYear() + 1;
@@ -27,8 +28,11 @@ let DateMap = getDateMap(minYear, maxYear);
 const weekList = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
 import create from "dd-store";
 let maxClickCount = 5;
+
 create.Page({
+  store: pageStore,
   data: {
+    relatedAppPlatform: null,
     sign: "",
     refresh: false,
     $data: null,
@@ -89,18 +93,19 @@ create.Page({
     }
   },
   onLoad(query) {
-    console.log(query);
-    if (query && JSON.stringify(query) !== "{}") {
-      this.setData({
-        listLoading: false
-      });
-      const scheduleItem = JSON.parse(Object.keys(query)[0].split("=")[1]);
-      dd.navigateTo({
-        url: `./../meetingDetail/meetingDetail?scheduleItem=${encodeURIComponent(
-          JSON.stringify(scheduleItem)
-        )}`
-      });
-    }
+    console.log(JSON.stringify(query));
+    console.log('query')
+    // if (query && JSON.stringify(query) !== "{}") {
+    //   this.setData({
+    //     listLoading: false
+    //   });
+    //   const scheduleItem = JSON.parse(Object.keys(query)[0].split("=")[1]);
+    //   dd.navigateTo({
+    //     url: `./../meetingDetail/meetingDetail?scheduleItem=${encodeURIComponent(
+    //       JSON.stringify(scheduleItem)
+    //     )}`
+    //   });
+    // }
     this.isNeverShowSchedulePage = true;
     //获取动态列表s
     this.getPages(1);
@@ -880,7 +885,7 @@ create.Page({
     maxClickCount--;
     if (maxClickCount == 0) {
       dd.alert({
-        content: "0.0.15"
+        content: "0.0.16"
       });
       maxClickCount = 5;
     }
diff --git a/pages/meetingDetail/const.js b/pages/meetingDetail/const.js
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/pages/meetingDetail/const.js
@@ -0,0 +1 @@
+
diff --git a/pages/meetingDetail/meetingDetail.axml b/pages/meetingDetail/meetingDetail.axml
index 7c249ea..37c7b2f 100644
--- a/pages/meetingDetail/meetingDetail.axml
+++ b/pages/meetingDetail/meetingDetail.axml
@@ -139,8 +139,23 @@
         <view class="permission" a:if="{{currentPeople != organizer}}">
         </view>
       </view>
-      <!--<view class="meetingWayShow" a:if="{{comListData.meetingWayModelId == 0}}"><view class="meetingWayShowTop"><view class=" icon iconfont iconicon_camera1"></view><view class="meetingWayText"><view onTap="setCopy" data-item="https://zoom.com.cn/j/93255954558?pwd=YmNZQkY1SGxtUFNPYjZlcUpJT0xtQT09" data-type="url">
-                 Zoom</view><view class="mettingWayText" onTap="setCopy" data-item="513410069"><text>ID:513410069</text><text class="icon iconfont iconicon_icon"></text></view><view class="mettingWayText passWord" onTap="setCopy" data-item="4ez3am"><text >密码:4ez3am</text><text class="icon iconfont iconicon_icon"></text></view></view></view></view> -->
+      <view class="meetingWayShow" a:if="{{comListData.meetingWayModelId == 1}}">
+        <view class="meetingWayShowTop">
+          <view class=" icon iconfont iconicon_camera1"></view>
+          <view class="meetingWayText">
+            <view onTap="setCopy" data-item="{{meetingWayModelData.data.joinUrl}}" data-type="url">
+                 Zoom
+            </view>
+            <view class="mettingWayText" onTap="setCopy" data-item="{{meetingWayModelData.data.meetingId}}">
+              <text>ID:{{meetingWayModelData.data.meetingId}}</text>
+              <text class="icon iconfont iconicon_icon"></text></view>
+            <view class="mettingWayText passWord" onTap="setCopy" data-item="{{meetingWayModelData.data.password}}">
+              <text >密码:{{meetingWayModelData.data.password}}</text>
+              <text class="icon iconfont iconicon_icon"></text>
+            </view>
+          </view>
+        </view>
+      </view>
       <!-- 删除该会议 -->
       <template is="deleteBtn" onhandleDelete="" data="{{title: '删除该会议' }}"/>
     </view>
@@ -187,13 +202,11 @@
         <view onTap="showCreateTask" data-pop="{{title: '创建任务', type: 'createTask'}}">
           <text class="iconfont iconicon_task1"></text>任务
         </view>
-        <view onTap="addMeetingFile">
-          <text class="iconfont iconicon_data"></text>文件
-        </view>
+        <!--<view onTap="addMeetingFile"><text class="iconfont iconicon_data"></text>文件</view> -->
         <view onTap="addOssFile" a:if="{{isShowOss}}">
           <text class="iconfont iconicon_data"></text>
           <view>
-            oss
+            文件
           </view>
         </view>
         <text class="devider"></text>
@@ -245,8 +258,8 @@
       <popup a:if="{{popupShow}}" title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
         <meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}" isIPX="{{isIPX}}"></meeting-time-picker>
         <hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
-        <list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList="{{comListData.aheadTimesListId}}" complete="{{comType=='aheadTime' ? true : false}}"a:if="{{comType=='repeat' || comType=='meetingWayModel' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : (comType=='aheadTime' ? comListData.aheadTimesList : comListData.meetingWayList)}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : (comType=='aheadTime'?comListData.aheadTimesListId : comListData.meetingWayModelId)}}" iconType="{{comListData.iconType}}">
-        </list>
+        <list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList="{{comListData.aheadTimesListId}}" complete="{{comType=='aheadTime' ? true : false}}"a:if="{{comType=='repeat' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : comListData.aheadTimesList}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : comListData.aheadTimesListId}}" iconType="{{comListData.iconType}}"></list>
+        <list a:if="{{comType == 'meetingWayModel'}}" dataComList="{{relatedAppPlatform.includes('zoom') ? comListData.meetingWayList: [comListData.meetingWayList[0]] }}" onComSelectList="selectComList" comSelectListId="{{comListData.meetingWayModelId}}" iconType="{{comListData.iconType}}"></list>
       </popup>
       <popup a:if="{{show}}" show="{{show}}" onClose="closePop" title="{{pop.title}}">
         <!-- 任务创建弹出框 -->
diff --git a/pages/meetingDetail/meetingDetail.js b/pages/meetingDetail/meetingDetail.js
index 3d29168..36a0945 100644
--- a/pages/meetingDetail/meetingDetail.js
+++ b/pages/meetingDetail/meetingDetail.js
@@ -3,10 +3,11 @@ import { checkFullScren } from "../../utils/checkFullScren";
 import pageStore from './store';
 import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
 import { getOssPermission, getuploadResource, isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule, getMeetingRoomRepeatAffairs } from '../../api/request.js'
-import { throttle, getCreateShowTime, getRndInteger } from './../../utils/utils.js'
+import { throttle, getCreateShowTime } from './../../utils/utils.js'
 import { observer } from '/utils/observer.js'
 import { resolve } from 'path';
 import { isShowOss } from '../../config.js';
+import { uploadOss } from './uploadFile';
 create.Page({
   store: pageStore,
   useAll: true,
@@ -34,8 +35,8 @@ create.Page({
         { id: 4, text: '每月', icon: '', repeatable: 1, recurrenceModel: { model: 'absolute_Monthly', daysOfMonth: ['23'], interval: 1, initialTime: `2020-03-23`, terminateTime: `2022-03-23`, weekDayList: null } }
       ],
       meetingWayList: [
-        { id: 0, text: 'Zoom Meeting', imageUrl: '../../assests/Zoom.png', meetingWayModel: { model: 'zoom' } },
-        { id: 1, text: '钉钉', imageUrl: '../../assests/dingding.png', meetingWayModel: { model: 'dingtalk' } }
+        { id: 0, text: '钉钉', imageUrl: '../../assests/dingding.png', meetingWayModel: { model: 'dingtalk' } },
+        { id: 1, text: 'Zoom Meeting', imageUrl: '../../assests/Zoom.png', meetingWayModel: { model: 'zoom' } }
       ],
       aheadTimesList: [
         { id: -1, text: '不提醒', icon: 'iconicon_cycle' },
@@ -178,6 +179,7 @@ create.Page({
           break;
       }
     }
+
   },
   onLoad(event) {
     event.scheduleItem = decodeURIComponent(event.scheduleItem);
@@ -235,7 +237,7 @@ create.Page({
           mrReserveStatus: res.data.data.mrReserveStatus,
           confirmAttendance: res.data.data.confirmAttendance === null ? -9 : res.data.data.confirmAttendance,
           organizer: res.data.data.organizer,
-          'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 1 : 0),
+          'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 0 : 1),
           repeatable: res.data.data.repeatable,
           recurrenceModel: res.data.data.repeatable ? { model: res.data.data.recurrenceModel.model, daysOfMonth: res.data.data.recurrenceModel.daysOfMonth, interval: 1, initialTime: res.data.data.recurrenceModel.initialTime, terminateTime: res.data.data.recurrenceModel.terminateTime, weekDayList: res.data.data.recurrenceModel.weekDayList } : { model: 'no_repeat' },
           title: res.data.data.title,
@@ -244,7 +246,8 @@ create.Page({
           isShowRemark: res.data.data.remark ? true : false,
           week: this.data.weekList[new Date(res.data.data.startTime.replace(/-/g, "/")).getDay()],
           getData: true,
-          scheduleItem: res.data.data
+          scheduleItem: res.data.data,
+          meetingWayModelData: res.data.data.meetingWayModel
         })
         if (res.data.data.repeatable) {
           this.setData({
@@ -463,6 +466,7 @@ create.Page({
           popupShow: false,
           meetingWayModel: this.data.comListData.meetingWayList[event.currentTarget.dataset.item.id].meetingWayModel
         })
+
         if (this.data.repeatable) {
           this.setData({
             editType: 'meeting_way'
@@ -996,9 +1000,19 @@ create.Page({
         this.modifySchedule(dataWay).then(res => {
           this.$store.data.originalData.meetingWay = !!this.data.comListData.meetingWayModelId ? this.data.comListData.meetingWayList[this.data.comListData.meetingWayModelId] : null
           this.update()
+          if (dataWay.meetingWayModel.model === 'zoom' && this.store.data.relatedAppPlatform.includes('zoom')) {
+            const scheduleDetailData = {
+              id: !!this.data.scheduleItem.scheduleId ? this.data.scheduleItem.scheduleId : this.data.scheduleItem.id,
+              scheduleTemplateId: this.data.scheduleItem.scheduleTemplateId,
+              planDate: !!this.data.scheduleItem.planDate ? this.data.scheduleItem.planDate.replace(/\//g, '-') : null
+            }
+            getScheduleDetail(scheduleDetailData).then(success => {
+              meetingWayModelData: success.data.data.meetingWayModel
+            })
+          }
         }).catch(err => {
           this.setData({
-            'comListData.meetingWayModelId': this.$store.data.originalData.meetingWayModel === null ? null : (this.$store.data.originalData.meetingWayModel.model === 'dingtalk' ? 2 : (this.$store.data.originalData.meetingWayModel.model === 'zoom' ? 1 : 0))
+            'comListData.meetingWayModelId': this.$store.data.originalData.meetingWayModel === null ? null : (this.$store.data.originalData.meetingWayModel.model === 'dingtalk' ? 0 : 1)
           })
         })
         break
@@ -1621,72 +1635,11 @@ create.Page({
   },
   // 上传oss文件
   async addOssFile() {
-    const timestamp = new Date().getTime()
-    const random = getRndInteger(1000, 10000)
-    const permisson = await getOssPermission()
-    const imgInfo = await this.getOssImg()
-    const key = await new Promise((resolve) => { resolve(permisson.data.data.dir + timestamp + random + '.' + imgInfo.files[0].fileType) })
-    const fileName = await new Promise((resolve) => { resolve(timestamp + random + '.' + imgInfo.files[0].fileType) })
-    await this.uploadOssFile(permisson, imgInfo, key)
-    await this.saveOssFileInfo(permisson, imgInfo, key, fileName)
-  },
-  // 获取oss上传图片 选择图片 上传图片到oss
-  getOssImg() {
-    return new Promise((resolve, rejects) => {
-      dd.chooseImage({
-        count: 1,
-        success: (res) => {
-          resolve(res)
-        },
-      });
-    })
-  },
-  // 获取的图片上传到oss
-  uploadOssFile(permisson, imgInfo, key) {
-    return new Promise(resolve => {
-      dd.uploadFile({
-        url: permisson.data.data.host,
-        fileType: 'image',
-        fileName: 'file',
-        filePath: imgInfo.filePaths[0],
-        formData: {
-          key: key,
-          policy: permisson.data.data.policy,
-          OSSAccessKeyId: permisson.data.data.accessId,
-          success_action_status: 200,
-          signature: permisson.data.data.signature
-        },
-        success: () => {
-          resolve()
-        }
-      })
-    })
-  },
-  // 上传oss文件
-  saveOssFileInfo(permisson, imgInfo, key, fileName) {
-    const data = {
-      resourceType: 'accessory',
-      creatorId: getApp().globalData.userid,
-      category: '2',
-      scheduleId: this.store.data.scheduleId,
-      groupId: this.store.data.groupId,
-      creatorInfo: getApp().globalData.userInfo,
-      description: '',
-      logType: 'schedule_accessory_add',
-      fileInfos: JSON.stringify({
-        fileId: key,
-        fileName: fileName,
-        fileType: imgInfo.files[0].fileType,
-        fileSize: imgInfo.files[0].size
-      })
-    }
-    saveFileInfo(data).then(result => {
-      dd.alert({
-        title: '上传成功',
-        content: JSON.stringify(result)
-      })
+    uploadOss().then(res => {
+      dd.navigateTo({ url: `./../uploadFile/uploadFile` })
     })
   },
+
   //隐藏文件操作浮窗
   hideFileOperate() {
     this.store.data.logId = '';
diff --git a/pages/meetingDetail/store.js b/pages/meetingDetail/store.js
index 56aa7d2..7bd754b 100644
--- a/pages/meetingDetail/store.js
+++ b/pages/meetingDetail/store.js
@@ -8,14 +8,15 @@ class Store {
             taskStatus: '',
             taskInfos: null
         },
-        fileInfos: null,
+        fileInfos: [],
         description: '',
         oldFileInfos: '',
         oldDescription: '',
         scheduleId: '',
         groupId: '',
         isNeedReloadList: false,
-        logId: ''
+        logId: '',
+        relatedAppPlatform: null
     }
 }
 export default new Store()
\ No newline at end of file
diff --git a/pages/meetingDetail/uploadFile.js b/pages/meetingDetail/uploadFile.js
new file mode 100644
index 0000000..b841c0d
--- /dev/null
+++ b/pages/meetingDetail/uploadFile.js
@@ -0,0 +1,114 @@
+import { getRndInteger } from '../../utils/utils.js'
+import { getOssPermission } from '../../api/request.js'
+import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
+import pageStore from './store'
+console.log(pageStore)
+console.log(374774747)
+// pageStore.data.language = 'zh_cn'
+// pageStore.update()
+
+/* 
+fileTypeRepleaceList 请求头替换列表
+用途: 根据文件类型替换成相应在请求头 用于oss上传
+ */
+const requestHeaderRepleacelist = new Map([
+    ['bmp', 'image/bmp'],
+    ['gif', 'image/gif'],
+    ['html', 'text/html'],
+    ['txt', 'text/plain'],
+    ['vsd', 'application/vnd.visio'],
+    ['bmp', 'image/bmp'],
+    ['pptx', 'application/vnd.ms-powerpoint'],
+    ['ppt', 'application/vnd.ms-powerpoint'],
+    ['docx', 'application/msword'],
+    ['doc', 'aapplication/msword'],
+    ['xml', 'text/xml']
+])
+// 获取oss上传图片 选择图片 上传图片到oss
+function getOssImg() {
+    return new Promise((resolve, rejects) => {
+        dd.chooseImage({
+            count: 1,
+            success: (res) => {
+                resolve(res)
+            },
+        });
+    })
+}
+// 获取的图片上传到oss
+function sendOss(permisson, imgInfo, key) {
+    return new Promise(resolve => {
+        dd.uploadFile({
+            headers: {
+                "Content-Type": 'image/jpg'
+            },
+            url: permisson.data.data.host,
+            fileType: 'image',
+            fileName: 'file',
+            filePath: imgInfo.filePaths[0],
+            formData: {
+                key: key,
+                policy: permisson.data.data.policy,
+                OSSAccessKeyId: permisson.data.data.accessId,
+                success_action_status: 200,
+                signature: permisson.data.data.signature
+            },
+            success: (res) => {
+                console.log(JSON.stringify(res))
+                resolve(imgInfo)
+            }
+        })
+    })
+}
+// 上传oss文件 保存到我方服务器
+function saveOssFileInfo(permisson, imgInfo, key, fileName) {
+    const data = {
+        resourceType: 'accessory',
+        creatorId: getApp().globalData.userid,
+        category: '2',
+        scheduleId: pageStore.data.scheduleId,
+        groupId: pageStore.data.groupId,
+        creatorInfo: getApp().globalData.userInfo,
+        description: '',
+        logType: 'schedule_accessory_add',
+        fileInfos: JSON.stringify([{
+            fileId: key,
+            fileName: fileName,
+            fileType: imgInfo.files[0].fileType,
+            fileSize: imgInfo.files[0].size
+        }]),
+        thirdStoreTenant: 'oss'
+    }
+    saveFileInfo(data).then(result => {
+        dd.alert({
+            title: '上传成功',
+            content: JSON.stringify(result)
+        })
+    })
+}
+// 根据上传文件类型改变请求头格式 *******不改变预览会下载文件********
+function setRequestHeader(fileType) {
+    if (!!requestHeaderRepleacelist.get(fileType)) {
+        return requestHeaderRepleacelist.get(fileType)
+    } else {
+        return "image/jpg";
+    }
+}
+// 对外暴露方法 上传至oss
+export async function uploadOss() {
+    const timestamp = new Date().getTime()
+    const random = getRndInteger(1000, 10000)
+    const permisson = await getOssPermission()
+    const imgInfo = await getOssImg()
+    const key = await new Promise((resolve) => { resolve(permisson.data.data.dir + timestamp + random + '.' + imgInfo.files[0].fileType) })
+    const fileName = await new Promise((resolve) => { resolve(timestamp + random + '.' + imgInfo.files[0].fileType) })
+    await sendOss(permisson, imgInfo, key)
+    pageStore.data.fileInfos.push(...[{
+        fileId: key,
+        fileName: fileName,
+        fileType: imgInfo.files[0].fileType,
+        fileSize: imgInfo.files[0].size
+    }]);
+    pageStore.update()
+
+}
diff --git a/pages/participantsDetail/participantsDetail.acss b/pages/participantsDetail/participantsDetail.acss
index e0e300d..3331aa1 100644
--- a/pages/participantsDetail/participantsDetail.acss
+++ b/pages/participantsDetail/participantsDetail.acss
@@ -3,7 +3,7 @@ page {
     font-family: PingFangSC-Regular;
     font-size: 34rpx;
     color: #191F25;
-    padding-bottom: 128rpx;
+    padding-bottom: 136rpx;
 }
 
 .peopleList {
diff --git a/pages/uploadFile/uploadFile.axml b/pages/uploadFile/uploadFile.axml
index 0ea4d93..5b89169 100644
--- a/pages/uploadFile/uploadFile.axml
+++ b/pages/uploadFile/uploadFile.axml
@@ -2,7 +2,7 @@
   <view class="describe">
     <textarea value="{{description}}" class="textarea" onInput="inputChange" placeholder="添加文件描述..." maxlength="-1" />
   </view>
-  <file-list fileView="{{{fileInfos: fileInfos}}}" isCanEdit="{{false}}" isCanDelete="{{true}}"/>
+  <file-list fileView="{{{fileInfos: fileInfos}}}" isCanEdit="{{false}}" preview="{{false}}" isCanDelete="{{true}}"/>
   <view class="addText" onTap="add">继续添加</view>
 </view>
 <view class="saveButton" onTap="saveUpload">
diff --git a/pages/uploadFile/uploadFile.js b/pages/uploadFile/uploadFile.js
index 9ab381b..72eae4a 100644
--- a/pages/uploadFile/uploadFile.js
+++ b/pages/uploadFile/uploadFile.js
@@ -2,11 +2,12 @@ import create from 'dd-store'
 import { saveFileInfo, addSchedule, uploadPermissions, previewPermissions, updateMeetingTask } from '../../api/request.js'
 import { throttle, debounce } from './../../utils/utils.js'
 import pageStore from '../meetingDetail/store';
+import { uploadOss } from '../meetingDetail/uploadFile';
 
 create.Page({
   store: pageStore,
   data: {
-    fileInfos: null, //store
+    fileInfos: [], //store
     description: '',//store
     id: ''
   },
@@ -35,27 +36,28 @@ create.Page({
   }, 100),
   //添加会议文件
   add() {
-    const data = {
-      ddUserId: getApp().globalData.userid,
-      type: 'add',
-      projectName: 'MING_MEETING'
-    }
-    uploadPermissions(data).then(res => {
-      if (res.data.code === 0) {
-        const _that = this
-        dd.uploadAttachmentToDingTalk({
-          image: { multiple: true, compress: true, max: 9, spaceId: res.data.data },
-          space: { spaceId: res.data.data, compress: true, isCopy: 1, max: 9 },
-          types: ["photo", "camera", "space"],
-          success: (res) => {
-            _that.store.data.fileInfos.push(...res.data)
-            _that.update();
-          },
-          fail: (err) => {
-          }
-        })
-      }
-    })
+    uploadOss()
+    // const data = {
+    //   ddUserId: getApp().globalData.userid,
+    //   type: 'add',
+    //   projectName: 'MING_MEETING'
+    // }
+    // uploadPermissions(data).then(res => {
+    //   if (res.data.code === 0) {
+    //     const _that = this
+    //     dd.uploadAttachmentToDingTalk({
+    //       image: { multiple: true, compress: true, max: 9, spaceId: res.data.data },
+    //       space: { spaceId: res.data.data, compress: true, isCopy: 1, max: 9 },
+    //       types: ["photo", "camera", "space"],
+    //       success: (res) => {
+    //         _that.store.data.fileInfos.push(...res.data)
+    //         _that.update();
+    //       },
+    //       fail: (err) => {
+    //       }
+    //     })
+    //   }
+    // })
   },
 
   // 保存
@@ -84,12 +86,11 @@ create.Page({
       groupId: this.store.data.groupId,
       uploader: getApp().globalData.userid,
       creatorInfo: getApp().globalData.userInfo,
-      thirdStoreTenant: 'dingTalk',
+      thirdStoreTenant: 'oss',
       fileInfos: JSON.stringify(fileInfos),
       description: description,
       logType: 'schedule_accessory_add'
     }
-
     //编辑文件
     if (this.data.id) {
       data.logType = 'schedule_accessory_modify';
--
libgit2 0.26.0