Showing
5 changed files
with
127 additions
and
14 deletions
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 9 | <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"> | 9 | <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"> |
| 10 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"> | 10 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"> |
| 11 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> | 11 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| 12 | - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" integrity="본인 api키" crossorigin="anonymous"> | 12 | + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" integrity="sha384-Bfad6CLCknfcloXFOyFnlgtENryhrpZCe29RTifKEixXQZ38WheV+i/6YWSzkz3V" crossorigin="anonymous"> |
| 13 | </head> | 13 | </head> |
| 14 | <body> | 14 | <body> |
| 15 | <noscript> | 15 | <noscript> | ... | ... |
| ... | @@ -39,7 +39,7 @@ function file(curData) { | ... | @@ -39,7 +39,7 @@ function file(curData) { |
| 39 | return axios.get('/api/file', { | 39 | return axios.get('/api/file', { |
| 40 | params: { | 40 | params: { |
| 41 | id: curData.id, | 41 | id: curData.id, |
| 42 | - folder_id: curData.cur, | 42 | + cur: curData.cur, |
| 43 | }, | 43 | }, |
| 44 | }); | 44 | }); |
| 45 | } | 45 | } |
| ... | @@ -121,6 +121,10 @@ function getFavoriteList(userId) { | ... | @@ -121,6 +121,10 @@ function getFavoriteList(userId) { |
| 121 | }); | 121 | }); |
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | +function shareFile(shareData) { | ||
| 125 | + return axios.post('/api/share', shareData); | ||
| 126 | +} | ||
| 127 | + | ||
| 124 | export { | 128 | export { |
| 125 | registerUser, | 129 | registerUser, |
| 126 | loginUser, | 130 | loginUser, |
| ... | @@ -141,4 +145,5 @@ export { | ... | @@ -141,4 +145,5 @@ export { |
| 141 | detailFile, | 145 | detailFile, |
| 142 | modifyFile, | 146 | modifyFile, |
| 143 | getFavoriteList, | 147 | getFavoriteList, |
| 148 | + shareFile, | ||
| 144 | }; | 149 | }; | ... | ... |
| ... | @@ -93,6 +93,28 @@ | ... | @@ -93,6 +93,28 @@ |
| 93 | </v-card-actions> | 93 | </v-card-actions> |
| 94 | </v-card> | 94 | </v-card> |
| 95 | </v-dialog> | 95 | </v-dialog> |
| 96 | + <!-- file share menu --> | ||
| 97 | + <v-dialog v-model="showShareF"> | ||
| 98 | + <v-card> | ||
| 99 | + <v-card-title> | ||
| 100 | + Share File | ||
| 101 | + </v-card-title> | ||
| 102 | + <v-card-text> | ||
| 103 | + <v-text-field v-model="this.cfilename.file_name"></v-text-field> | ||
| 104 | + </v-card-text> | ||
| 105 | + <v-card-text> | ||
| 106 | + <v-text-field | ||
| 107 | + v-model="targetUid" | ||
| 108 | + label="target user id" | ||
| 109 | + ></v-text-field> | ||
| 110 | + </v-card-text> | ||
| 111 | + <v-card-cation> | ||
| 112 | + <v-spacer></v-spacer> | ||
| 113 | + <v-btn @click.prevent="file_share">ok</v-btn> | ||
| 114 | + <v-btn @click="showShareF = false">cancle</v-btn> | ||
| 115 | + </v-card-cation> | ||
| 116 | + </v-card> | ||
| 117 | + </v-dialog> | ||
| 96 | <!-- Move Folder --> | 118 | <!-- Move Folder --> |
| 97 | <v-dialog v-model="dialog2" width="500px"> | 119 | <v-dialog v-model="dialog2" width="500px"> |
| 98 | <v-card> | 120 | <v-card> |
| ... | @@ -233,7 +255,7 @@ | ... | @@ -233,7 +255,7 @@ |
| 233 | </v-list-item> | 255 | </v-list-item> |
| 234 | <v-list-item | 256 | <v-list-item |
| 235 | v-if="cfilename.favorite === 1" | 257 | v-if="cfilename.favorite === 1" |
| 236 | - @click="delete_favorite_file" | 258 | + @click.prevent="delete_favorite_file" |
| 237 | > | 259 | > |
| 238 | <v-list-item-icon> | 260 | <v-list-item-icon> |
| 239 | <v-icon>mdi-star-outline</v-icon> | 261 | <v-icon>mdi-star-outline</v-icon> |
| ... | @@ -242,7 +264,10 @@ | ... | @@ -242,7 +264,10 @@ |
| 242 | <v-list-item-title>즐겨 찾기 삭제</v-list-item-title> | 264 | <v-list-item-title>즐겨 찾기 삭제</v-list-item-title> |
| 243 | </v-list-item-content> | 265 | </v-list-item-content> |
| 244 | </v-list-item> | 266 | </v-list-item> |
| 245 | - <v-list-item v-if="cfilename.favorite === 0" @click="add_favorite_file"> | 267 | + <v-list-item |
| 268 | + v-if="cfilename.favorite === 0" | ||
| 269 | + @click.prevent="add_favorite_file" | ||
| 270 | + > | ||
| 246 | <v-list-item-icon> | 271 | <v-list-item-icon> |
| 247 | <v-icon>mdi-star</v-icon> | 272 | <v-icon>mdi-star</v-icon> |
| 248 | </v-list-item-icon> | 273 | </v-list-item-icon> |
| ... | @@ -250,6 +275,14 @@ | ... | @@ -250,6 +275,14 @@ |
| 250 | <v-list-item-title>즐겨 찾기 추가</v-list-item-title> | 275 | <v-list-item-title>즐겨 찾기 추가</v-list-item-title> |
| 251 | </v-list-item-content> | 276 | </v-list-item-content> |
| 252 | </v-list-item> | 277 | </v-list-item> |
| 278 | + <v-list-item @click.prevent="showShareF != showShareF"> | ||
| 279 | + <v-list-item-icon> | ||
| 280 | + <v-icon>fas fa-share-alt</v-icon> | ||
| 281 | + </v-list-item-icon> | ||
| 282 | + <v-list-item-content> | ||
| 283 | + <v-list-item-title>공유 하기</v-list-item-title> | ||
| 284 | + </v-list-item-content> | ||
| 285 | + </v-list-item> | ||
| 253 | </v-list> | 286 | </v-list> |
| 254 | </v-menu> | 287 | </v-menu> |
| 255 | <input | 288 | <input |
| ... | @@ -306,6 +339,7 @@ import { | ... | @@ -306,6 +339,7 @@ import { |
| 306 | addFavoriteFile, | 339 | addFavoriteFile, |
| 307 | detailFile, | 340 | detailFile, |
| 308 | modifyFile, | 341 | modifyFile, |
| 342 | + shareFile, | ||
| 309 | } from '../api/index'; | 343 | } from '../api/index'; |
| 310 | import Axios from 'axios'; | 344 | import Axios from 'axios'; |
| 311 | export default { | 345 | export default { |
| ... | @@ -319,6 +353,9 @@ export default { | ... | @@ -319,6 +353,9 @@ export default { |
| 319 | files: [], | 353 | files: [], |
| 320 | search: '', | 354 | search: '', |
| 321 | id: '', | 355 | id: '', |
| 356 | + share_file_name: '', | ||
| 357 | + showShareF: false, | ||
| 358 | + targetUid: '', | ||
| 322 | current_filename: null, //파일 상세정보 (이름) | 359 | current_filename: null, //파일 상세정보 (이름) |
| 323 | current_filedata: null, //파일 상세정보 (내용) | 360 | current_filedata: null, //파일 상세정보 (내용) |
| 324 | dialog: false, | 361 | dialog: false, |
| ... | @@ -354,11 +391,10 @@ export default { | ... | @@ -354,11 +391,10 @@ export default { |
| 354 | }; | 391 | }; |
| 355 | console.log(curData); | 392 | console.log(curData); |
| 356 | const response = await folder(curData); | 393 | const response = await folder(curData); |
| 357 | - const file_response = await file(curData); | ||
| 358 | this.$store.commit('setFolder', response.data.folders); | 394 | this.$store.commit('setFolder', response.data.folders); |
| 359 | this.$store.commit('setCur', response.data.cur); | 395 | this.$store.commit('setCur', response.data.cur); |
| 360 | this.$store.commit('setParent', response.data.parentPath); | 396 | this.$store.commit('setParent', response.data.parentPath); |
| 361 | - this.$store.commit('setFile', file_response.data.files); | 397 | + this.$store.commit('setFile', response.data.files); |
| 362 | this.folders = this.$store.getters.folderL; | 398 | this.folders = this.$store.getters.folderL; |
| 363 | console.log(this.$store.getters.fileL); | 399 | console.log(this.$store.getters.fileL); |
| 364 | this.files = this.$store.getters.fileL; | 400 | this.files = this.$store.getters.fileL; |
| ... | @@ -657,6 +693,25 @@ export default { | ... | @@ -657,6 +693,25 @@ export default { |
| 657 | console.log(error); | 693 | console.log(error); |
| 658 | } | 694 | } |
| 659 | }, | 695 | }, |
| 696 | + async file_share() { | ||
| 697 | + try { | ||
| 698 | + const shareData = { | ||
| 699 | + id: this.$store.state.id, | ||
| 700 | + cur: this.$store.state.cur, | ||
| 701 | + file_name: this.cfilename.file_name, | ||
| 702 | + target_id: this.targetUid, | ||
| 703 | + }; | ||
| 704 | + const response = await shareFile(shareData); | ||
| 705 | + if (response.status == 200) { | ||
| 706 | + alert('파일 공유 완료'); | ||
| 707 | + } | ||
| 708 | + } catch (error) { | ||
| 709 | + console.log('에러'); | ||
| 710 | + alert('존재 하지 않은 유저입니다.'); | ||
| 711 | + } finally { | ||
| 712 | + this.showShareF = false; | ||
| 713 | + } | ||
| 714 | + }, | ||
| 660 | show(folderObj, e) { | 715 | show(folderObj, e) { |
| 661 | e.preventDefault(); | 716 | e.preventDefault(); |
| 662 | this.curfName = folderObj; | 717 | this.curfName = folderObj; | ... | ... |
| ... | @@ -31,14 +31,6 @@ | ... | @@ -31,14 +31,6 @@ |
| 31 | <v-list-item-title>즐겨찾기</v-list-item-title> | 31 | <v-list-item-title>즐겨찾기</v-list-item-title> |
| 32 | </v-list-item-content> | 32 | </v-list-item-content> |
| 33 | </v-list-item> | 33 | </v-list-item> |
| 34 | - <v-list-item router :to="{ name: 'Fav' }" exact> | ||
| 35 | - <v-list-item-action> | ||
| 36 | - <v-icon>fas fa-share-alt</v-icon> | ||
| 37 | - </v-list-item-action> | ||
| 38 | - <v-list-item-content> | ||
| 39 | - <v-list-item-title>공유</v-list-item-title> | ||
| 40 | - </v-list-item-content> | ||
| 41 | - </v-list-item> | ||
| 42 | <v-list-item router :to="{ name: 'Quick' }" exact> | 34 | <v-list-item router :to="{ name: 'Quick' }" exact> |
| 43 | <v-list-item-action> | 35 | <v-list-item-action> |
| 44 | <v-icon>mdi-history</v-icon> | 36 | <v-icon>mdi-history</v-icon> | ... | ... |
| ... | @@ -94,6 +94,28 @@ | ... | @@ -94,6 +94,28 @@ |
| 94 | </v-card-actions> | 94 | </v-card-actions> |
| 95 | </v-card> | 95 | </v-card> |
| 96 | </v-dialog> | 96 | </v-dialog> |
| 97 | + <!-- file share menu --> | ||
| 98 | + <v-dialog v-model="showShareF"> | ||
| 99 | + <v-card> | ||
| 100 | + <v-card-title> | ||
| 101 | + Share File | ||
| 102 | + </v-card-title> | ||
| 103 | + <v-card-text> | ||
| 104 | + <v-text-field v-model="this.cfilename.file_name"></v-text-field> | ||
| 105 | + </v-card-text> | ||
| 106 | + <v-card-text> | ||
| 107 | + <v-text-field | ||
| 108 | + v-model="targetUid" | ||
| 109 | + label="target user id" | ||
| 110 | + ></v-text-field> | ||
| 111 | + </v-card-text> | ||
| 112 | + <v-card-cation> | ||
| 113 | + <v-spacer></v-spacer> | ||
| 114 | + <v-btn @click.prevent="file_share">ok</v-btn> | ||
| 115 | + <v-btn @click="showShareF = false">cancle</v-btn> | ||
| 116 | + </v-card-cation> | ||
| 117 | + </v-card> | ||
| 118 | + </v-dialog> | ||
| 97 | <!-- Move Folder --> | 119 | <!-- Move Folder --> |
| 98 | <v-dialog v-model="dialog2" width="500px"> | 120 | <v-dialog v-model="dialog2" width="500px"> |
| 99 | <v-card> | 121 | <v-card> |
| ... | @@ -166,6 +188,14 @@ | ... | @@ -166,6 +188,14 @@ |
| 166 | <v-list-item-title>즐겨 찾기 추가</v-list-item-title> | 188 | <v-list-item-title>즐겨 찾기 추가</v-list-item-title> |
| 167 | </v-list-item-content> | 189 | </v-list-item-content> |
| 168 | </v-list-item> | 190 | </v-list-item> |
| 191 | + <v-list-item> | ||
| 192 | + <v-list-item-icon> | ||
| 193 | + <v-icon>fas fa-share-alt</v-icon> | ||
| 194 | + </v-list-item-icon> | ||
| 195 | + <v-list-item-content> | ||
| 196 | + <v-list-item-title>공유 하기</v-list-item-title> | ||
| 197 | + </v-list-item-content> | ||
| 198 | + </v-list-item> | ||
| 169 | </v-list> | 199 | </v-list> |
| 170 | </v-menu> | 200 | </v-menu> |
| 171 | <!-- --> | 201 | <!-- --> |
| ... | @@ -251,6 +281,14 @@ | ... | @@ -251,6 +281,14 @@ |
| 251 | <v-list-item-title>즐겨 찾기 추가</v-list-item-title> | 281 | <v-list-item-title>즐겨 찾기 추가</v-list-item-title> |
| 252 | </v-list-item-content> | 282 | </v-list-item-content> |
| 253 | </v-list-item> | 283 | </v-list-item> |
| 284 | + <v-list-item @click.prevent="showShareF != showShareF"> | ||
| 285 | + <v-list-item-icon> | ||
| 286 | + <v-icon>fas fa-share-alt</v-icon> | ||
| 287 | + </v-list-item-icon> | ||
| 288 | + <v-list-item-content> | ||
| 289 | + <v-list-item-title>공유 하기</v-list-item-title> | ||
| 290 | + </v-list-item-content> | ||
| 291 | + </v-list-item> | ||
| 254 | </v-list> | 292 | </v-list> |
| 255 | </v-menu> | 293 | </v-menu> |
| 256 | <input | 294 | <input |
| ... | @@ -307,6 +345,7 @@ import { | ... | @@ -307,6 +345,7 @@ import { |
| 307 | addFavoriteFile, | 345 | addFavoriteFile, |
| 308 | detailFile, | 346 | detailFile, |
| 309 | modifyFile, | 347 | modifyFile, |
| 348 | + shareFile, | ||
| 310 | } from '../api/index'; | 349 | } from '../api/index'; |
| 311 | import Axios from 'axios'; | 350 | import Axios from 'axios'; |
| 312 | 351 | ||
| ... | @@ -325,6 +364,9 @@ export default { | ... | @@ -325,6 +364,9 @@ export default { |
| 325 | files: [], | 364 | files: [], |
| 326 | search: '', | 365 | search: '', |
| 327 | id: '', | 366 | id: '', |
| 367 | + share_file_name: '', | ||
| 368 | + showShareF: false, | ||
| 369 | + targetUid: '', | ||
| 328 | current_filename: null, //파일 상세정보 (이름) | 370 | current_filename: null, //파일 상세정보 (이름) |
| 329 | current_filedata: null, //파일 상세정보 (내용) | 371 | current_filedata: null, //파일 상세정보 (내용) |
| 330 | dialog: false, | 372 | dialog: false, |
| ... | @@ -664,6 +706,25 @@ export default { | ... | @@ -664,6 +706,25 @@ export default { |
| 664 | console.log(error); | 706 | console.log(error); |
| 665 | } | 707 | } |
| 666 | }, | 708 | }, |
| 709 | + async file_share() { | ||
| 710 | + try { | ||
| 711 | + const shareData = { | ||
| 712 | + id: this.$store.state.id, | ||
| 713 | + cur: this.$store.state.cur, | ||
| 714 | + file_name: this.cfilename.file_name, | ||
| 715 | + target_id: this.targetUid, | ||
| 716 | + }; | ||
| 717 | + const response = await shareFile(shareData); | ||
| 718 | + if (response.status == 200) { | ||
| 719 | + alert('파일 공유 완료'); | ||
| 720 | + } | ||
| 721 | + } catch (error) { | ||
| 722 | + console.log('에러'); | ||
| 723 | + alert('존재 하지 않은 유저입니다.'); | ||
| 724 | + } finally { | ||
| 725 | + this.showShareF = false; | ||
| 726 | + } | ||
| 727 | + }, | ||
| 667 | show(folderObj, e) { | 728 | show(folderObj, e) { |
| 668 | e.preventDefault(); | 729 | e.preventDefault(); |
| 669 | this.curfName = folderObj; | 730 | this.curfName = folderObj; | ... | ... |
-
Please register or login to post a comment