uniapp 微信小程序页面JS模板

这段代码展示了一个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>
相关推荐
半个落月4 小时前
LangChain.js Agent Memory 实战(下):用 Milvus 构建可检索的长期记忆
javascript·langchain
半个落月4 小时前
LangChain.js Agent Memory 实战(上):从内存对话、文件持久化到截断与摘要
javascript·langchain
linux_cfan6 小时前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
何何____8 小时前
Vue 生命周期详解
前端·javascript
默_笙10 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试
尾善爱看海13 小时前
《JavaScript 数组操作全攻略:12 类 API + 30 个实战场景 + 20 个避坑指南》
前端·javascript·面试
OpsEye13 小时前
为什么你的 Agent 莫名烧钱?聊聊循环调用的兜底方案
javascript·ai编程
白远山13 小时前
上海24小时自助健身房系统软件开发实战指南
java·架构·uni-app·需求分析
linux_cfan13 小时前
16 · `custom-media-element`:属性拦截与转发
前端·javascript·音视频
右耳朵猫AI14 小时前
Web前端周刊2026W38 | React 19.3 发布、StyleX 深潜、jsdom 30.1 提速
前端·javascript·react.js·typescript·node.js