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:
2026-07-22 14:05:30 +08:00
parent b3b58e66fb
commit 70ff806042
79 changed files with 2397 additions and 146070 deletions

View File

@@ -1,11 +1,10 @@
const app = getApp();
const svc = require('../../services/exercise');
const planSvc = require('../../services/plan');
Page({
data: {
statusBarHeight: 20,
collections: [],
counts: {},
groups: [],
loading: true
},
@@ -14,27 +13,22 @@ Page({
this.load();
},
onShow() {
// 从详情返回(可能收藏/导入变化)时刷新
if (!this.data.loading) this.load();
},
load() {
this.setData({ loading: true });
svc.listCollections().then((list) => {
const collections = list || [];
this.setData({ collections, loading: false });
// 异步获取每个训练组合的动作数量
collections.forEach(c => {
svc.getCollectionExercises(c.slug, { pageSize: 1 }).then((res) => {
const key = 'counts.' + c.slug;
this.setData({ [key]: (res && res.total) || 0 });
}).catch(() => {});
});
planSvc.officialGroups().then((res) => {
this.setData({ groups: (res && res.groups) || [], loading: false });
}).catch(() => {
this.setData({ loading: false });
this.setData({ groups: [], loading: false });
});
},
onOpen(e) {
wx.navigateTo({
url: '/pages/collection-detail/collection-detail?slug=' +
encodeURIComponent(e.currentTarget.dataset.slug)
});
// 计算某计划的跳转地址(供 wxml 使用)
planTarget(slug) {
return '/pages/collection-detail/collection-detail?slug=' + encodeURIComponent(slug);
}
});