66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
import { mockLatestRecord } from '../../mock/home.mock'
|
|
import type { WeightRecord } from '../../mock/home.mock'
|
|
|
|
/** 加载状态机 */
|
|
type LoadStatus = 'idle' | 'loading' | 'loaded'
|
|
|
|
/** 设备信息 */
|
|
interface DeviceInfo {
|
|
name: string
|
|
connected: boolean
|
|
}
|
|
|
|
Page({
|
|
data: {
|
|
status: 'idle' as LoadStatus,
|
|
hasData: false,
|
|
device: {
|
|
name: '智能体重秤',
|
|
connected: false,
|
|
} as DeviceInfo,
|
|
record: null as WeightRecord | null,
|
|
},
|
|
|
|
onLoad() {
|
|
this.loadData()
|
|
},
|
|
|
|
onReady() {},
|
|
onShow() {},
|
|
onHide() {},
|
|
onUnload() {},
|
|
onPullDownRefresh() {},
|
|
onReachBottom() {},
|
|
|
|
onShareAppMessage(): WechatMiniprogram.Page.ICustomShareContent {
|
|
return {
|
|
title: '智能蓝牙秤',
|
|
path: '/pages/home/home',
|
|
imageUrl: '/images/share/share.jpg',
|
|
}
|
|
},
|
|
|
|
/** 加载首页数据(当前使用 mock,后续替换为真实接口) */
|
|
loadData() {
|
|
this.setData({ status: 'loading' })
|
|
// 模拟异步加载
|
|
setTimeout(() => {
|
|
this.setData({
|
|
status: 'loaded',
|
|
hasData: true,
|
|
record: mockLatestRecord,
|
|
})
|
|
}, 300)
|
|
},
|
|
|
|
/** 跳转历史数据页 */
|
|
onTapHistory() {
|
|
wx.switchTab({ url: '/pages/data/data' })
|
|
},
|
|
|
|
/** 切换设备 */
|
|
onTapSwitchDevice() {
|
|
wx.showToast({ title: '切换设备', icon: 'none' })
|
|
},
|
|
})
|