- backend: NestJS service with exercise/plan data - miniprogram: WeChat mini program client - exclude node_modules, dist, runtime data-store, local env
68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
const app = getApp();
|
|
const svc = require('../../services/exercise');
|
|
|
|
Page({
|
|
data: {
|
|
statusBarHeight: 20,
|
|
id: '',
|
|
exercise: null,
|
|
related: [],
|
|
loading: true
|
|
},
|
|
|
|
onLoad(query) {
|
|
const id = query.id || '';
|
|
this.setData({ statusBarHeight: app.globalData.statusBarHeight || 20, id });
|
|
this.load();
|
|
},
|
|
|
|
load() {
|
|
this.setData({ loading: true });
|
|
svc.getExercise(this.data.id).then((ex) => {
|
|
this.setData({ exercise: ex, loading: false });
|
|
if (ex && ex.target) {
|
|
svc.listExercises({ target: ex.target, pageSize: 6 }).then((res) => {
|
|
const related = ((res && res.items) || [])
|
|
.filter(i => i.id !== ex.id)
|
|
.slice(0, 6);
|
|
this.setData({ related });
|
|
}).catch(() => {});
|
|
}
|
|
}).catch(() => {
|
|
this.setData({ loading: false });
|
|
});
|
|
},
|
|
|
|
onAdd() {
|
|
wx.showToast({ title: '已加入今日训练', icon: 'success' });
|
|
},
|
|
|
|
onBack() {
|
|
const pages = getCurrentPages();
|
|
if (pages.length > 1) {
|
|
wx.navigateBack();
|
|
} else {
|
|
wx.reLaunch({ url: '/pages/index/index' });
|
|
}
|
|
},
|
|
|
|
onExercise(e) {
|
|
wx.navigateTo({ url: '/pages/detail/detail?id=' + encodeURIComponent(e.detail.id) });
|
|
},
|
|
|
|
onShareAppMessage() {
|
|
const ex = this.data.exercise || {};
|
|
return {
|
|
title: ex.name ? ('FITCOACH · ' + ex.name) : 'FITCOACH 智能健身教练',
|
|
path: '/pages/detail/detail?id=' + this.data.id
|
|
};
|
|
},
|
|
|
|
onShareTimeline() {
|
|
return {
|
|
title: 'FITCOACH · 精准训练推荐',
|
|
query: 'id=' + this.data.id
|
|
};
|
|
}
|
|
});
|