browse.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <view class="">
  3. <uni-nav-bar fixed="true" statusBar="true" left-icon="back" title="预览" @clickLeft="back">
  4. </uni-nav-bar>
  5. <web-view :src="fileUrl" class="webview" allow :fullscreen="false" :webview-styles="webviewStyles"
  6. style="width: 100%;height: calc(100vh - 100px)" :frameborder="0"></web-view>
  7. </view>
  8. </template>
  9. <script>
  10. // import { getFileType } from './util.js';
  11. export default {
  12. data() {
  13. return {
  14. fileUrl: '',
  15. showEditFlag: false,
  16. webviewStyles: {
  17. width: '100%',
  18. height: '100%',
  19. bottom: '56px'
  20. }
  21. };
  22. },
  23. onLoad({
  24. url
  25. }) {
  26. uni.getSystemInfo({
  27. success: (res) => {
  28. this.webviewStyles.height = res.screenHeight - res.statusBarHeight - res.safeAreaInsets
  29. ?.bottom - 100 + 'px';
  30. this.webviewStyles.bottom = res.safeAreaInsets?.bottom + 56 + 'px';
  31. }
  32. })
  33. this.fileUrl = url
  34. console.log(url);
  35. },
  36. methods: {
  37. // open(row) {
  38. // this.showEditFlag = true
  39. // this.setFileUrl(row)
  40. // },
  41. setFileUrl(row) {
  42. let file = row.storagePath[0];
  43. let fileNames = file.storePath.split('/')
  44. let url = window.location.origin + '/api/main/file/getFile?objectName=' + file.storePath +
  45. '&fullfilename=' + fileNames[fileNames.length - 1]
  46. this.fileUrl = '/kkfile/onlinePreview?url=' + btoa(url);
  47. }
  48. }
  49. };
  50. </script>
  51. <style scoped lang="scss">
  52. </style>