NGToolsAdmin/App.vue
2024-09-13 16:39:31 +08:00

93 lines
3.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script>
import {
mapActions,
mapMutations
} from 'vuex'
import config from '@/admin.config.js'
import {
version
} from './package.json'
import { uniAdminCacheKey } from './store/constants.js'
import uploadFileForExtStorage from "@/js_sdk/ext-storage/uploadFileForExtStorage.js"
export default {
created() {
this.clear = undefined
},
methods: {
...mapMutations('app', ['SET_THEME']),
...mapActions({
init: 'app/init'
}),
clearPlatform() {
const keysOfPlatform = uni.getStorageInfoSync().keys.filter(key => key.indexOf('platform') > -1)
keysOfPlatform.length && keysOfPlatform.forEach(key => uni.removeStorageSync(key))
}
},
onPageNotFound(msg) {
uni.redirectTo({
url: config.error.url
})
},
onLaunch: function() {
// #ifdef H5
console.log(
`%c uni-admin %c v${version} `,
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;'
)
// #endif
// #ifdef H5
// 此处为强制用户必须登录才能访问其他页面,如果需要部分页面不登录也能访问,需要在此过滤这些页面不执行下面的代码或直接注释掉此代码
// let uni_id_token_expired = uni.getStorageSync("uni_id_token_expired");
// if (!uni_id_token_expired || uni_id_token_expired < Date.now()) {
// uni.reLaunch({
// url: config.login.url
// })
// }
// #endif
// 线上示例使用
// console.log('%c uni-app官方团队诚邀优秀前端工程师加盟一起打造更卓越的uni-app & uniCloud欢迎投递简历到 hr2013@dcloud.io', 'color: red');
console.log('App Launch')
if (this.$uniIdPagesStore.store.hasLogin) {
this.init()
}
// 登录成功回调
uni.$on('uni-id-pages-login-success', () => {
this.init()
})
// theme
this.SET_THEME(uni.getStorageSync(uniAdminCacheKey.theme) || 'default')
// 设置 uniCloud.uploadFile 默认上传的云存储供应商
uploadFileForExtStorage.init({
provider: "unicloud", // provider代表默认上传到哪可选项 "unicloud" 内置存储; "extStorage" 扩展存储;
domain: "cdn.example.com", //【重要】这里需要改成你开通扩展存储时绑定的自定义域名)
fileID2fileURL: true, // 将fileID转成fileURL方便兼容老项目
// 获取上传参数的函数
uploadFileOptions: async (event) => {
// ext-storage-co 是你自己写的云对象参考代码https://doc.dcloud.net.cn/uniCloud/ext-storage/dev.html#getuploadfileoptions
const uniCloudStorageExtCo = uniCloud.importObject("ext-storage-co");
return await uniCloudStorageExtCo.getUploadFileOptions(event);
}
});
},
onShow: function() {
console.log('App Show')
this.clear = setInterval(() => this.clearPlatform(), 15 * 60 * 1000)
},
onHide: function() {
console.log('App Hide')
this.clear && clearInterval(this.clear)
}
}
</script>
<style lang="scss">
@import '@/common/uni.css';
@import '@/common/uni-icons.css';
@import '@/common/admin-icons.css';
@import '@/common/theme.scss';
</style>