这段代码展示了一个Vue3 + uni-app的页面逻辑实现,主要功能包括:

页面初始化时检查登录状态、初始化默认数据和加载数据
处理页面显示时的重新加载逻辑
实现下拉刷新功能
通过API获取本地定时器数据

代码使用了Vue3的

<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>
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐