feat: init fitness-coach (backend + miniprogram)

- backend: NestJS service with exercise/plan data
- miniprogram: WeChat mini program client
- exclude node_modules, dist, runtime data-store, local env
This commit is contained in:
2026-07-22 00:35:40 +08:00
commit b3b58e66fb
103 changed files with 154759 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
Component({
properties: {
label: { type: String, value: '' },
active: { type: Boolean, value: false },
color: { type: String, value: '' },
value: { type: String, value: '' }
},
methods: {
onTap() {
this.triggerEvent('tap', {
value: this.data.value,
label: this.data.label
});
}
}
});

View File

@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@@ -0,0 +1,6 @@
<view
class="chip {{active ? 'chip--active' : ''}}"
style="{{color ? 'border-color:' + color + '66; color:' + color : ''}}"
bindtap="onTap">
<text>{{label}}</text>
</view>

View File

@@ -0,0 +1,18 @@
.chip {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12rpx 26rpx;
border-radius: 999rpx;
background: var(--surface-2);
color: var(--text-2);
font-size: 24rpx;
border: 1rpx solid var(--line);
transition: all .15s ease;
white-space: nowrap;
}
.chip--active {
background: var(--gold-soft);
color: var(--gold-2);
border-color: var(--gold-line);
}