PixelAI-mobile/App.vue

207 lines
4.7 KiB
Vue
Raw Normal View History

2024-12-03 09:34:24 +08:00
<script>
import Vue from 'vue'
import routerInterceptor from '@/common/routerInterceptor.js'
export default {
onLaunch: function() {
// console.log('current_platform',this.$route.path.indexOf(this.$store.state.current_platform)!==-1)
routerInterceptor.install(this);
this.isMobile();
uni.getSystemInfo({
success: function(e) {
console.log(e)
2025-01-22 20:25:38 +08:00
Vue.prototype.UniPlatform = e.uniPlatform;
2024-12-03 09:34:24 +08:00
// #ifndef MP
Vue.prototype.StatusBar = e.statusBarHeight;
Vue.prototype.WindowHeight = e.windowHeight;
if (e.platform == 'android') {
Vue.prototype.CustomBar = e.statusBarHeight + 50;
} else {
Vue.prototype.CustomBar = e.statusBarHeight + 45;
};
// #endif
// #ifdef MP-WEIXIN
Vue.prototype.StatusBar = e.statusBarHeight;
let custom = wx.getMenuButtonBoundingClientRect();
Vue.prototype.Custom = custom;
Vue.prototype.WindowHeight = e.safeArea.height;
Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
// #endif
// #ifdef MP-ALIPAY
Vue.prototype.StatusBar = e.statusBarHeight;
Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight;
// #endif
}
})
Vue.prototype.ColorList = [{
title: '嫣红',
name: 'red',
color: '#e54d42'
},
{
title: '桔橙',
name: 'orange',
color: '#f37b1d'
},
{
title: '明黄',
name: 'yellow',
color: '#fbbd08'
},
{
title: '橄榄',
name: 'olive',
color: '#8dc63f'
},
{
title: '森绿',
name: 'green',
color: '#39b54a'
},
{
title: '天青',
name: 'cyan',
color: '#1cbbb4'
},
{
title: '海蓝',
name: 'blue',
color: '#0081ff'
},
{
title: '姹紫',
name: 'purple',
color: '#6739b6'
},
{
title: '木槿',
name: 'mauve',
color: '#9c26b0'
},
{
title: '桃粉',
name: 'pink',
color: '#e03997'
},
{
title: '棕褐',
name: 'brown',
color: '#a5673f'
},
{
title: '玄灰',
name: 'grey',
color: '#8799a3'
},
{
title: '草灰',
name: 'gray',
color: '#aaaaaa'
},
{
title: '墨黑',
name: 'black',
color: '#333333'
},
{
title: '雅白',
name: 'white',
color: '#ffffff'
},
2025-01-22 20:25:38 +08:00
];
// // #ifdef APP
// 防截屏
// uni.setUserCaptureScreen({
// enable: false,
// success: (res) => {
// uni.showToast({
// icon: 'none',
// title: '该应用禁止截屏,请通过正规渠道下载图片,感谢配合!'
// })
// },fail: (res) => {},complete: (res) => {}
// });
// // #endif
// #ifdef APP-PLUS
let osname = plus.os.name
if (osname == "Android") {
var activity = plus.android.runtimeMainActivity()
plus.android.invoke(plus.android.invoke(activity, "getWindow"), "addFlags", 0x00002000)
}
// #endif
// #ifdef H5
// 禁止长按或右键保存
document.oncontextmenu = new Function("event.returnValue=false");
document.onselectstart = new Function("event.returnValue=false");
// #endif
2024-12-03 09:34:24 +08:00
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
onKickedOut(res) {
uni.showModal({
title: '温馨提示',
content: '您当前账号通讯状态已被踢下线,请您重新登录',
confirmText: '前往登录',
showCancel: false,
success(res) {
if (res.confirm) {
uni.navigateTo({
url: '/pages/login/login'
})
}
}
})
},
2025-01-06 00:54:54 +08:00
// #ifdef H5
mounted() {
if(!this.isMobile()){
document.documentElement.scrollTop = 0;
this.setPageZoom();
window.addEventListener('resize', this.setPageZoom);
}
},
beforeDestroy() {
if(!this.isMobile()){
window.removeEventListener('resize', this.setPageZoom);
}
},
// #endif
2024-12-03 09:34:24 +08:00
methods:{
// 缓存设备平台
isMobile() {
let flag = true;
2025-01-22 20:25:38 +08:00
// #ifndef APP || MP-WEIXIN
2024-12-03 09:34:24 +08:00
flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
// #endif
this.$u.vuex('current_platform', flag ? 'mobile_web' : 'pc_web');
return flag;
2025-01-06 00:54:54 +08:00
},
// #ifdef H5
setPageZoom() {
const screenWidth = window.innerWidth;
const zoom = screenWidth / 1920;
document.documentElement.style.zoom = zoom;
},
// #endif
2024-12-03 09:34:24 +08:00
}
}
</script>
<style>
@import "colorui/main.css";
@import "colorui/icon.css";
</style>
<style lang="scss">
@import "uview-ui/index.scss";
/*每个页面公共css */
page{
background-color: #ffffff;
}
</style>