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>
相关推荐
蜡台17 小时前
使用 html javascript 实现 金币落袋效果
前端·javascript·html
李白的天不白17 小时前
VUE依赖配置问题
前端·javascript·vue.js
ZC跨境爬虫18 小时前
跟着 MDN 学 HTML day_7:(进阶文本语义标签全覆盖)
前端·javascript·css·ui·html
冰暮流星18 小时前
javascript之事件冒泡与事件捕获
开发语言·前端·javascript
小智社群18 小时前
获取贝壳新房列表
前端·javascript·vue.js
threelab18 小时前
Three.js 动态旋转同心圆着色器 | 三维可视化效果
开发语言·javascript·着色器
吴声子夜歌19 小时前
Vue3——Pinia状态管理
javascript·vue.js·pinia
用户新1 天前
V8引擎 精品漫游指南--Ignition篇(下 一) 动态执行前的事情
前端·javascript
神探小白牙1 天前
eCharts 多系列柱状图增加背景图
javascript·ecmascript·echarts
Greg_Zhong1 天前
微信小程序如何关闭:当前渲染模式为webview?
微信小程序·微信小程序渲染引擎·渲染引擎需搭配更高基础库