Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
schedule
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fengzhaoyu
schedule
Commits
8b4e46fd
Commit
8b4e46fd
authored
5 years ago
by
fengzhaoyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat oss 上传 预览
parent
0db31637
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
266 additions
and
136 deletions
+266
-136
request.js
api/request.js
+8
-0
xFetch.js
api/xFetch.js
+4
-0
fileList.js
components/fileList/fileList.js
+36
-17
relatedApp.js
components/relatedApp/relatedApp.js
+10
-0
index.js
pages/index/index.js
+18
-13
const.js
pages/meetingDetail/const.js
+1
-0
meetingDetail.axml
pages/meetingDetail/meetingDetail.axml
+21
-8
meetingDetail.js
pages/meetingDetail/meetingDetail.js
+23
-70
store.js
pages/meetingDetail/store.js
+4
-2
uploadFile.js
pages/meetingDetail/uploadFile.js
+114
-0
participantsDetail.acss
pages/participantsDetail/participantsDetail.acss
+1
-1
uploadFile.axml
pages/uploadFile/uploadFile.axml
+1
-1
uploadFile.js
pages/uploadFile/uploadFile.js
+25
-24
No files found.
api/request.js
View file @
8b4e46fd
...
...
@@ -253,3 +253,10 @@ export function getuploadResource(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
This diff is collapsed.
Click to expand it.
api/xFetch.js
View file @
8b4e46fd
...
...
@@ -31,8 +31,12 @@ export default function xFetch({ url, method, data, type }) {
if
(
err
&&
err
.
status
==
401
)
{
login
();
}
if
(
err
.
errorMsg
===
'socket is closed'
)
{
}
else
{
alertOnce
((
err
&&
err
.
errorMsg
)
||
'网络异常,请重试'
,
rejects
);
}
}
});
});
}
...
...
This diff is collapsed.
Click to expand it.
components/fileList/fileList.js
View file @
8b4e46fd
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
;
}
if
(
!
this
.
props
.
isPreview
)
{
return
}
const
file
=
e
.
target
.
dataset
.
file
const
data
=
{
ddUserId
:
getApp
().
globalData
.
userid
,
type
:
'download'
,
fileIds
:
file
.
fileId
,
projectName
:
'MING_MEETING'
previewOss
(
file
.
fileId
).
then
(
res
=>
{
if
(
res
.
data
.
code
===
0
)
{
openLink
({
url
:
res
.
data
.
data
});
}
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
})
})
// 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
)
{
...
...
This diff is collapsed.
Click to expand it.
components/relatedApp/relatedApp.js
View file @
8b4e46fd
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
;
...
...
This diff is collapsed.
Click to expand it.
pages/index/index.js
View file @
8b4e46fd
...
...
@@ -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.1
5
"
content
:
"0.0.1
6
"
});
maxClickCount
=
5
;
}
...
...
This diff is collapsed.
Click to expand it.
pages/meetingDetail/const.js
0 → 100644
View file @
8b4e46fd
This diff is collapsed.
Click to expand it.
pages/meetingDetail/meetingDetail.axml
View file @
8b4e46fd
...
...
@@ -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}}">
<!-- 任务创建弹出框 -->
...
...
This diff is collapsed.
Click to expand it.
pages/meetingDetail/meetingDetail.js
View file @
8b4e46fd
...
...
@@ -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
=
''
;
...
...
This diff is collapsed.
Click to expand it.
pages/meetingDetail/store.js
View file @
8b4e46fd
...
...
@@ -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
This diff is collapsed.
Click to expand it.
pages/meetingDetail/uploadFile.js
0 → 100644
View file @
8b4e46fd
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
()
}
This diff is collapsed.
Click to expand it.
pages/participantsDetail/participantsDetail.acss
View file @
8b4e46fd
...
...
@@ -3,7 +3,7 @@ page {
font-family: PingFangSC-Regular;
font-size: 34rpx;
color: #191F25;
padding-bottom: 1
28
rpx;
padding-bottom: 1
36
rpx;
}
.peopleList {
...
...
This diff is collapsed.
Click to expand it.
pages/uploadFile/uploadFile.axml
View file @
8b4e46fd
...
...
@@ -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">
...
...
This diff is collapsed.
Click to expand it.
pages/uploadFile/uploadFile.js
View file @
8b4e46fd
...
...
@@ -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'
;
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment