feat: 小程序连接服务器IP + 同步未提交开发
- miniprogram/config.js: BASE_URL 指向 http://192.227.237.8:3001 - 动作标题中文化(nameZh),搜索匹配 name/nameZh/nameEn - 新增计划/收藏/我的 等页面与组件 - 后端 Docker 化(Dockerfile/.dockerignore)与翻译脚本 - .gitignore 补充 .DS_Store
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
const app = getApp();
|
||||
const svc = require('../../services/exercise');
|
||||
const planSvc = require('../../services/plan');
|
||||
const favSvc = require('../../services/favorite');
|
||||
const auth = require('../../utils/auth');
|
||||
|
||||
Page({
|
||||
data: {
|
||||
@@ -7,24 +9,25 @@ Page({
|
||||
slug: '',
|
||||
collection: null,
|
||||
exercises: [],
|
||||
total: 0,
|
||||
loading: true,
|
||||
page: 1,
|
||||
pageSize: 30,
|
||||
total: 0
|
||||
favorited: false
|
||||
},
|
||||
|
||||
onLoad(query) {
|
||||
const slug = query.slug || '';
|
||||
this.setData({ statusBarHeight: app.globalData.statusBarHeight || 20, slug });
|
||||
this.load();
|
||||
if (auth.isLogin()) {
|
||||
favSvc.planStatus(slug).then((r) => {
|
||||
this.setData({ favorited: !!(r && r.favorited) });
|
||||
}).catch(() => {});
|
||||
}
|
||||
},
|
||||
|
||||
load() {
|
||||
this.setData({ loading: true });
|
||||
svc.getCollectionExercises(this.data.slug, {
|
||||
page: this.data.page,
|
||||
pageSize: this.data.pageSize
|
||||
}).then((res) => {
|
||||
planSvc.officialExercises(this.data.slug, 1, 60).then((res) => {
|
||||
this.setData({
|
||||
collection: res.collection,
|
||||
exercises: (res && res.items) || [],
|
||||
@@ -36,7 +39,39 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
// 收藏 / 取消收藏官方计划
|
||||
onToggleFav() {
|
||||
auth.ensureLogin().then(() => {
|
||||
const slug = this.data.slug;
|
||||
const wasFav = this.data.favorited;
|
||||
const op = wasFav ? favSvc.removePlan(slug) : favSvc.addPlan(slug);
|
||||
op.then(() => {
|
||||
this.setData({ favorited: !wasFav });
|
||||
wx.showToast({ title: wasFav ? '已取消收藏' : '已收藏', icon: 'none' });
|
||||
}).catch(() => {});
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
||||
// 导入到我的计划
|
||||
onImport() {
|
||||
auth.ensureLogin().then(() => {
|
||||
wx.showLoading({ title: '导入中…', mask: true });
|
||||
planSvc.importOfficial(this.data.slug).then(() => {
|
||||
wx.hideLoading();
|
||||
wx.showToast({ title: '已导入到我的计划', icon: 'success' });
|
||||
setTimeout(() => {
|
||||
wx.navigateTo({ url: '/pages/my-plans/my-plans' });
|
||||
}, 600);
|
||||
}).catch(() => {
|
||||
wx.hideLoading();
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
||||
onExercise(e) {
|
||||
wx.navigateTo({ url: '/pages/detail/detail?id=' + encodeURIComponent(e.detail.id) });
|
||||
wx.navigateTo({
|
||||
url: '/pages/detail/detail?from=collection&slug=' +
|
||||
encodeURIComponent(this.data.slug) + '&id=' + encodeURIComponent(e.detail.id)
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user