Files
memind/miniapp/pages/space/index.js

51 lines
1.1 KiB
JavaScript

const { checkAuth, listMindSpacePages } = require('../../utils/api');
Page({
data: {
pages: [],
loading: false,
error: ''
},
onShow() {
this.ensureAndLoad();
},
async ensureAndLoad() {
try {
const status = await checkAuth();
if (!status?.authenticated) {
wx.redirectTo({ url: '/pages/login/index' });
return;
}
await this.loadPages();
} catch {
wx.redirectTo({ url: '/pages/login/index' });
}
},
async loadPages() {
this.setData({ loading: true, error: '' });
try {
const result = await listMindSpacePages({ limit: 30 });
const pages = result?.data || result?.pages || [];
this.setData({ pages });
} catch (error) {
this.setData({ error: error?.message || '页面加载失败' });
} finally {
this.setData({ loading: false });
}
},
openPage(event) {
const url = event.currentTarget.dataset.url;
if (!url) {
wx.showToast({ title: '该页面暂无可打开链接', icon: 'none' });
return;
}
wx.navigateTo({
url: `/pages/webview/index?url=${encodeURIComponent(url)}`
});
}
});