1 Star 0 Fork 0

keiran/uni-game

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
App.vue 2.69 KB
一键复制 编辑 原始数据 按行查看 历史
keiran 提交于 2025-03-07 16:37 +08:00 . first commit
<script setup>
import { onLaunch, onShow } from '@dcloudio/uni-app';
import { provide, reactive, watch, ref } from 'vue';
import { requestInterceptor } from '@/utils/request.js';
import { useLayoutStore, useLoginStatusStore } from './store';
import { checkToken } from './api/user';
const layoutStore = useLayoutStore();
const loginStatus = useLoginStatusStore();
onLaunch(() => {
requestInterceptor();
console.log('App Launch');
});
onShow(() => {
//获取login登录状态,设置loginstatus
checkToken()
.then((res) => {
if (!res.code) {
loginStatus.setLogined(1);
loginStatus.setToken(res.data.token);
loginStatus.setUserInfo(res.data.info);
} else {
loginStatus.reset();
}
})
.catch((e) => {
loginStatus.reset();
console.log(e);
});
uni.getSystemInfo({
success: (result) => {
// 获取手机系统的状态栏高度(不同手机的状态栏高度不同) ( 不要使用uni-app官方文档的var(--status-bar-height) 官方这个是固定的40rpx 不对的 )
let statusBarHeight = result.statusBarHeight;
// 获取右侧胶囊的信息 单位px
const menuButtonInfo = uni.getMenuButtonBoundingClientRect();
//bottom: 胶囊底部距离屏幕顶部的距离
//height: 胶囊高度
//left: 胶囊左侧距离屏幕左侧的距离
//right: 胶囊右侧距离屏幕左侧的距离
//top: 胶囊顶部距离屏幕顶部的距离
//width: 胶囊宽度
let navHeight = menuButtonInfo.bottom + (menuButtonInfo.top - statusBarHeight); //胶囊底部距离屏幕+胶囊顶部与状态栏之间的padding
let navPaddingLeft = result.screenWidth - menuButtonInfo.right;
let navPaddingTop = statusBarHeight;
let navContentHeight = navHeight - statusBarHeight;
let navTitleWidth = result.screenWidth - navPaddingLeft * 2 - menuButtonInfo.width * 2;
let navIconWidth = menuButtonInfo.width;
layoutStore.setScreenHeight(result.screenHeight);
layoutStore.setNavHeight(navHeight);
layoutStore.setNavIconWidth(navIconWidth);
layoutStore.setNavTitleWidth(navTitleWidth);
layoutStore.setNavPaddingLeft(navPaddingLeft);
layoutStore.setNavPaddingTop(navPaddingTop);
layoutStore.setNavContentHeight(navContentHeight);
layoutStore.setIosBarHeight(result.safeAreaInsets.top);
layoutStore.setContentHeight(result.screenHeight - navHeight);
console.info('设备尺寸信息:', result, '胶囊信息:', menuButtonInfo, 'navLayout', layoutStore);
},
fail: (error) => {
console.log(error);
}
});
});
</script>
<style lang="scss">
/*每个页面公共css */
@import '@/uni_modules/uview-plus/index.scss';
/* #ifndef APP-NVUE */
// 设置整个项目的背景色
page {
background-color: #f5f5f5;
}
/* #endif */
</style>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/keirancode/uni-game.git
git@gitee.com:keirancode/uni-game.git
keirancode
uni-game
uni-game
master

搜索帮助