这段代码展示了一个Vue3 + uni-app的页面逻辑实现,主要功能包括:
页面初始化时检查登录状态、初始化默认数据和加载数据
处理页面显示时的重新加载逻辑
实现下拉刷新功能
通过API获取本地定时器数据
代码使用了Vue3的
javascript
<script setup>
import { ref, reactive } from 'vue';
import { MyAPI } from '@/api/index.js';
import { onLoad, onPullDownRefresh, onShow } from '@dcloudio/uni-app';
onLoad(() => PageLogic.initPage());
onShow(() => PageLogic.pageShow());
onPullDownRefresh(() => PageLogic.pagePullDownRefresh());
const pageData = reactive();
class PageLogic {
static initDefaultData = () => {};
static initPage = () => {
MyAPI.checkLogin();
PageLogic.initDefaultData();
PageLogic.reload();
};
static pageShow = () => {
if (MyAPI.needReload()) {
const funcName = MyAPI.getReloadFuncName();
if (funcName === 'reload') {
PageLogic.reload();
}
}
};
static pagePullDownRefresh = async () => {
await MyAPI.doReload(PageLogic.reload);
};
static reload = () => {
MyAPI.getDeviceAiSetting(MyAPI.getDeviceId())
.then((res) => {
pageData.value = res;
})
.catch((err) => {
console.warn(err);
});
};
}
</script>