This commit is contained in:
Your Name
2026-08-11 17:41:36 +08:00
parent cfe4c82c90
commit 03fe4ddf9d
18771 changed files with 3617239 additions and 0 deletions
@@ -0,0 +1 @@
"use strict";const t=require("../../common/vendor.js");Math||e();const e=()=>"./TongjiIcon.js",a={__name:"CelebrateBurst",props:{show:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""}},setup(e){const a=e,o=t.ref([]),s=t.ref(!1),l=["#204E2B","#386641","#AFE2B3","#FBBF24","#727970","#DC2626"];return t.watch(()=>a.show,t=>{t?(o.value=function(){const t=[];for(let e=0;e<18;e++){const a=8+84*Math.random(),o=.35*Math.random(),s=l[e%l.length],n=10+Math.floor(14*Math.random());t.push({id:`${Date.now()}_${e}`,style:{left:`${a}%`,width:`${n}rpx`,height:`${n}rpx`,background:s,animationDelay:`${o}s`}})}return t}(),s.value=!1,setTimeout(()=>{s.value=!0},30)):(o.value=[],s.value=!1)}),(a,l)=>t.e({a:e.show},e.show?t.e({b:t.f(o.value,(e,a,o)=>({a:e.id,b:t.s(e.style)})),c:e.title},e.title?t.e({d:t.p({name:"sparkles",size:"lg",color:"#204E2B"}),e:t.t(e.title),f:e.subtitle},e.subtitle?{g:t.t(e.subtitle)}:{},{h:s.value?1:""}):{},{i:t.o(()=>{})}):{})}},o=t._export_sfc(a,[["__scopeId","data-v-333a1623"]]);wx.createComponent(o);
@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"tongji-icon": "./TongjiIcon"
}
}
@@ -0,0 +1 @@
<view wx:if="{{a}}" class="celebrate-root data-v-333a1623" catchtouchmove="{{i}}"><view wx:for="{{b}}" wx:for-item="p" wx:key="a" class="celebrate-particle data-v-333a1623" style="{{p.b}}"/><view wx:if="{{c}}" class="{{['celebrate-card', 'data-v-333a1623', h && 'pop']}}"><view class="celebrate-card-glow data-v-333a1623"/><tongji-icon wx:if="{{d}}" class="data-v-333a1623" u-i="333a1623-0" bind:__l="__l" u-p="{{d}}"/><text class="celebrate-card-title data-v-333a1623">{{e}}</text><text wx:if="{{f}}" class="celebrate-card-sub data-v-333a1623">{{g}}</text></view></view>
@@ -0,0 +1 @@
.celebrate-root.data-v-333a1623{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;overflow:hidden}.celebrate-particle.data-v-333a1623{position:absolute;top:-20rpx;border-radius:4rpx;opacity:.9;animation:celebrate-fall-333a1623 1.6s ease-in forwards}@keyframes celebrate-fall-333a1623{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}to{transform:translateY(110vh) rotate(540deg) scale(.4);opacity:0}}.celebrate-card.data-v-333a1623{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.82);width:78%;max-width:560rpx;padding:36rpx 32rpx 32rpx;background:rgba(255,255,255,.96);border-radius:28rpx;box-shadow:0 20rpx 60rpx rgba(8,145,178,.22);border:2rpx solid rgba(8,145,178,.12);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}.celebrate-card.pop.data-v-333a1623{opacity:1;transform:translate(-50%,-50%) scale(1)}.celebrate-card-glow.data-v-333a1623{position:absolute;top:-20rpx;right:-20rpx;bottom:-20rpx;left:-20rpx;border-radius:36rpx;background:radial-gradient(circle,rgba(34,211,238,.2),transparent 70%);pointer-events:none}.celebrate-card-title.data-v-333a1623{position:relative;z-index:1;margin-top:16rpx;font-size:36rpx;font-weight:800;color:#1b1c1a}.celebrate-card-sub.data-v-333a1623{position:relative;z-index:1;margin-top:10rpx;font-size:26rpx;color:#475569;line-height:1.45}
@@ -0,0 +1 @@
"use strict";const e=require("../../common/vendor.js"),l={__name:"SugarTreeGraphic",props:{level:{type:Number,default:0},size:{type:String,default:"md"},watering:{type:Boolean,default:!1}},setup(l){const t=e.TREE_MAX_LEVEL,c=e.ref(!0),a=l,r=e.computed(()=>Math.min(t,Math.max(0,Number(a.level)||0))),i=e.computed(()=>{const e=r.value;return e<=0?0:e<=2?1:e<=4?2:e<=6?3:e<=8?4:5}),n=e.computed(()=>(e.TREE_LEVELS[r.value]||e.TREE_LEVELS[0]).emoji);const o=e.computed(()=>e.svgToDataUrl(function(e){const l='\n <ellipse cx="24" cy="50" rx="15" ry="3" fill="#204e2b" opacity="0.12"/>\n <path d="M11 46h26c1.2 0 2 1 2 2.2v3.8c0 1-.8 1.8-1.8 1.8H10.8c-1 0-1.8-.8-1.8-1.8v-3.8c0-1.2.8-2.2 2-2.2z" fill="#E7E5E4"/>\n <path d="M12.5 46h23c.8 0 1.5.7 1.5 1.5v2.2c0 .6-.5 1.1-1.1 1.1H12.1c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.8.7-1.5 1.5-1.5z" fill="#D6D3D1"/>\n <ellipse cx="24" cy="46.5" rx="9" ry="1.6" fill="#A8A29E" opacity="0.35"/>\n ',t='<ellipse cx="24" cy="44.5" rx="8" ry="2.2" fill="#386641" opacity="0.18"/>';if(e<=0)return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 56" fill="none">\n ${l}${t}\n <circle cx="24" cy="41.5" r="2.2" fill="#a8a29e" opacity="0.7"/>\n <path d="M24 41.5v3.5" stroke="#78716c" stroke-width="1" stroke-linecap="round"/>\n </svg>`;const c=e>=6?16:e>=3?14:10,a=46-c,r=`<rect x="22.2" y="${a}" width="3.6" height="${c}" rx="1.8" fill="#78716C"/>\n <rect x="22.6" y="${a+1}" width="2.8" height="${c-1}" rx="1.4" fill="#A8A29E" opacity="0.35"/>`,i=(e,l,t,c,a=1)=>`<circle cx="${e}" cy="${l}" r="${t}" fill="${c}" opacity="${a}"/>\n <circle cx="${e-.25*t}" cy="${l-.2*t}" r="${.35*t}" fill="#eef6ef" opacity="0.55"/>`,n=e>=7?i(17,18,3,"#fda4af",.95)+i(31,17,2.8,"#f9a8d4",.9)+i(24,13,3.2,"#fb7185",.95)+'<circle cx="24" cy="12" r="1.3" fill="#fef3c7"/>':"",o=e>=9?i(12,22,6,"#34d399",.9)+i(36,22,6,"#34d399",.9)+i(24,10,7,"#386641",.95)+n:n;let u="";return u=1===e?i(24,38,4,"#afe2b3")+'<path d="M24 38v-5" stroke="#386641" stroke-width="1.2" stroke-linecap="round"/>':2===e?i(24,32,5.5,"#34d399")+i(20,34,3.5,"#6ee7b7",.9):e<=4?i(24,28,7,"#34d399")+i(17,30,5,"#6ee7b7",.9)+i(31,30,5,"#6ee7b7",.9):e<=6?i(24,24,9,"#22c55e")+i(14,26,7,"#4ade80",.92)+i(34,26,7,"#4ade80",.92)+i(24,16,6,"#386641",.88):i(24,20,10,"#204e2b")+i(13,24,8,"#34d399",.95)+i(35,24,8,"#34d399",.95)+o,`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 56" fill="none">${l}${t}${r}${u}</svg>`}(r.value)));return(a,u)=>e.e({a:r.value>=7},(r.value,{}),{b:!c.value},c.value?{e:e.t(n.value)}:{c:o.value,d:e.o(e=>c.value=!0)},{f:r.value>=7},(r.value,{}),{g:r.value>=8},(r.value,{}),{h:r.value>=e.unref(t)},(r.value,e.unref(t),{}),{i:e.n(`lv-${r.value}`),j:e.n(`tier-${i.value}`),k:e.n(`size-${l.size}`),l:e.n({watering:l.watering,"is-max":r.value>=e.unref(t)})})}},t=e._export_sfc(l,[["__scopeId","data-v-86839929"]]);wx.createComponent(t);
@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}
@@ -0,0 +1 @@
<view class="{{['sugar-tree-graphic', 'data-v-86839929', i, j, k, l]}}"><view class="stg-glow data-v-86839929"/><view wx:if="{{a}}" class="stg-aura data-v-86839929"/><image wx:if="{{b}}" class="stg-image data-v-86839929" src="{{c}}" mode="aspectFit" binderror="{{d}}"/><text wx:else class="stg-emoji data-v-86839929">{{e}}</text><view wx:if="{{f}}" class="stg-sparkle stg-sparkle-a data-v-86839929"/><view wx:if="{{g}}" class="stg-sparkle stg-sparkle-b data-v-86839929"/><view wx:if="{{h}}" class="stg-sparkle stg-sparkle-c data-v-86839929"/></view>
@@ -0,0 +1 @@
.sugar-tree-graphic.data-v-86839929{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.size-sm.data-v-86839929{width:64rpx;height:72rpx}.size-md.data-v-86839929{width:80rpx;height:88rpx}.size-lg.data-v-86839929{width:112rpx;height:124rpx}.stg-glow.data-v-86839929{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(circle,rgba(32,78,43,.22) 0%,transparent 68%);pointer-events:none}.lv-0 .stg-glow.data-v-86839929{background:radial-gradient(circle,rgba(148,163,184,.25) 0%,transparent 70%)}.tier-4 .stg-glow.data-v-86839929,.tier-5 .stg-glow.data-v-86839929,.is-max .stg-glow.data-v-86839929{background:radial-gradient(circle,rgba(251,191,36,.3) 0%,rgba(32,78,43,.15) 55%,transparent 72%)}.stg-aura.data-v-86839929{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;border-radius:50%;border:2rpx solid rgba(253,224,71,.35);animation:stg-aura-pulse-86839929 2.4s ease-in-out infinite;pointer-events:none}@keyframes stg-aura-pulse-86839929{0%,to{transform:scale(.92);opacity:.5}50%{transform:scale(1.05);opacity:1}}.stg-image.data-v-86839929{position:relative;z-index:1;width:100%;height:100%;transition:transform .35s ease}.sugar-tree-graphic.watering .stg-image.data-v-86839929,.sugar-tree-graphic.watering .stg-emoji.data-v-86839929{animation:stg-water-bounce-86839929 .65s ease}.stg-emoji.data-v-86839929{position:relative;z-index:1;line-height:1;font-size:72rpx}.size-sm .stg-emoji.data-v-86839929{font-size:48rpx}.size-md .stg-emoji.data-v-86839929{font-size:60rpx}.size-lg .stg-emoji.data-v-86839929{font-size:88rpx}@keyframes stg-water-bounce-86839929{0%,to{transform:scale(1)}35%{transform:scale(1.1) translateY(-6rpx)}60%{transform:scale(.96) translateY(2rpx)}}.stg-sparkle.data-v-86839929{position:absolute;z-index:2;width:8rpx;height:8rpx;border-radius:50%;background:#fde68a;box-shadow:0 0 6rpx rgba(253,224,71,.8);pointer-events:none;animation:stg-sparkle-twinkle-86839929 1.8s ease-in-out infinite}.stg-sparkle-a.data-v-86839929{top:4%;right:16%}.stg-sparkle-b.data-v-86839929{top:12%;left:10%;width:6rpx;height:6rpx;animation-delay:.4s}.stg-sparkle-c.data-v-86839929{top:22%;right:28%;width:10rpx;height:10rpx;animation-delay:.8s}@keyframes stg-sparkle-twinkle-86839929{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}
@@ -0,0 +1 @@
<view class="{{['tj-icon-wrap', 'data-v-d92a1022', f]}}"><image wx:if="{{a}}" class="{{['tj-icon', 'data-v-d92a1022', b, c]}}" src="{{d}}" mode="aspectFit" binderror="{{e}}"/></view>
@@ -0,0 +1 @@
.tj-icon-wrap.data-v-d92a1022{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tj-icon-wrap--sm.data-v-d92a1022{width:32rpx;height:32rpx}.tj-icon-wrap--md.data-v-d92a1022{width:40rpx;height:40rpx}.tj-icon-wrap--lg.data-v-d92a1022{width:48rpx;height:48rpx}.tj-icon-wrap--xl.data-v-d92a1022{width:56rpx;height:56rpx}.tj-icon.data-v-d92a1022{display:block;width:100%;height:100%}.tj-icon--send.data-v-d92a1022{transform:translate(-10%,10%)}.tj-icon-fallback.data-v-d92a1022{display:block;line-height:1;font-weight:700;text-align:center}.tj-icon-fallback--sm.data-v-d92a1022{font-size:24rpx}.tj-icon-fallback--md.data-v-d92a1022{font-size:30rpx}.tj-icon-fallback--lg.data-v-d92a1022{font-size:36rpx}.tj-icon-fallback--xl.data-v-d92a1022{font-size:42rpx}
@@ -0,0 +1 @@
"use strict";const e=require("../../common/vendor.js"),t={__name:"VoiceSpeakMascot",props:{active:{type:Boolean,default:!1},onDark:{type:Boolean,default:!1},size:{type:String,default:"md"}},setup:t=>(a,o)=>e.e({a:t.active},(t.active,{}),{b:e.n(`vsm--${t.size}`),c:e.n({"vsm--active":t.active,"vsm--on-dark":t.onDark})})},a=e._export_sfc(t,[["__scopeId","data-v-c347644e"]]);wx.createComponent(a);
@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}
@@ -0,0 +1 @@
<view class="{{['vsm', 'data-v-c347644e', b, c]}}"><view class="vsm-body data-v-c347644e"><view class="vsm-leaf data-v-c347644e" aria-hidden="true"/><view class="vsm-face data-v-c347644e"><view class="vsm-eye vsm-eye--l data-v-c347644e"/><view class="vsm-eye vsm-eye--r data-v-c347644e"/><view class="vsm-blush vsm-blush--l data-v-c347644e"/><view class="vsm-blush vsm-blush--r data-v-c347644e"/><view class="vsm-mouth data-v-c347644e"/></view><view wx:if="{{a}}" class="vsm-waves data-v-c347644e" aria-hidden="true"><view class="vsm-wave vsm-wave--1 data-v-c347644e"/><view class="vsm-wave vsm-wave--2 data-v-c347644e"/><view class="vsm-wave vsm-wave--3 data-v-c347644e"/></view></view></view>
@@ -0,0 +1 @@
.vsm.data-v-c347644e{display:flex;align-items:center;justify-content:center;flex-shrink:0}.vsm--md.data-v-c347644e{width:72rpx;height:72rpx}.vsm--sm.data-v-c347644e{width:64rpx;height:64rpx}.vsm-body.data-v-c347644e{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vsm-leaf.data-v-c347644e{position:absolute;top:2rpx;left:50%;width:16rpx;height:16rpx;margin-left:-8rpx;border-radius:0 100%;background:#34d399;transform:rotate(-18deg);z-index:2}.vsm--on-dark .vsm-leaf.data-v-c347644e{background:#a7f3d0}.vsm-face.data-v-c347644e{position:relative;width:52rpx;height:52rpx;border-radius:50%;background:#fef9c3;border:3rpx solid #047857;box-shadow:0 4rpx 10rpx rgba(4,120,87,.18);z-index:1}.vsm--sm .vsm-face.data-v-c347644e{width:46rpx;height:46rpx}.vsm--on-dark .vsm-face.data-v-c347644e{background:#fffbeb;border-color:rgba(255,255,255,.85);box-shadow:0 4rpx 12rpx rgba(0,0,0,.12)}.vsm-eye.data-v-c347644e{position:absolute;top:16rpx;width:6rpx;height:8rpx;border-radius:50%;background:#064e3b}.vsm--sm .vsm-eye.data-v-c347644e{top:14rpx;width:5rpx;height:7rpx}.vsm--on-dark .vsm-eye.data-v-c347644e{background:#134e4a}.vsm-eye--l.data-v-c347644e{left:12rpx}.vsm-eye--r.data-v-c347644e{right:12rpx}.vsm--sm .vsm-eye--l.data-v-c347644e{left:10rpx}.vsm--sm .vsm-eye--r.data-v-c347644e{right:10rpx}.vsm-blush.data-v-c347644e{position:absolute;top:24rpx;width:10rpx;height:6rpx;border-radius:50%;background:rgba(251,113,133,.45);opacity:.85}.vsm--sm .vsm-blush.data-v-c347644e{top:21rpx;width:8rpx;height:5rpx}.vsm-blush--l.data-v-c347644e{left:6rpx}.vsm-blush--r.data-v-c347644e{right:6rpx}.vsm--on-dark .vsm-blush.data-v-c347644e{background:rgba(255,255,255,.35)}.vsm-mouth.data-v-c347644e{position:absolute;left:50%;bottom:10rpx;width:18rpx;height:8rpx;margin-left:-9rpx;border-radius:0 0 18rpx 18rpx;background:#047857;transform-origin:center top}.vsm--sm .vsm-mouth.data-v-c347644e{bottom:9rpx;width:16rpx;height:7rpx;margin-left:-8rpx}.vsm--on-dark .vsm-mouth.data-v-c347644e{background:#ecfdf5}.vsm-waves.data-v-c347644e{position:absolute;right:-2rpx;top:50%;display:flex;align-items:flex-end;gap:4rpx;height:28rpx;margin-top:-14rpx;z-index:0}.vsm-wave.data-v-c347644e{width:5rpx;border-radius:4rpx;background:#047857;animation:vsm-wave-jump-c347644e .72s ease-in-out infinite}.vsm--on-dark .vsm-wave.data-v-c347644e{background:rgba(255,255,255,.9)}.vsm-wave--1.data-v-c347644e{height:10rpx;animation-delay:0s}.vsm-wave--2.data-v-c347644e{height:18rpx;animation-delay:.12s}.vsm-wave--3.data-v-c347644e{height:12rpx;animation-delay:.24s}.vsm--active .vsm-body.data-v-c347644e{animation:vsm-bob-c347644e .9s ease-in-out infinite}.vsm--active .vsm-mouth.data-v-c347644e{animation:vsm-talk-c347644e .32s ease-in-out infinite alternate}.vsm--active .vsm-eye.data-v-c347644e{animation:vsm-blink-c347644e 2.4s ease-in-out infinite}@keyframes vsm-bob-c347644e{0%,to{transform:translateY(0)}50%{transform:translateY(-4rpx)}}@keyframes vsm-talk-c347644e{0%{transform:scaleY(.45);border-radius:0 0 18rpx 18rpx}to{transform:scaleY(1.15);height:12rpx;border-radius:50%}}@keyframes vsm-blink-c347644e{0%,42%,46%,to{transform:scaleY(1)}44%{transform:scaleY(.15)}}@keyframes vsm-wave-jump-c347644e{0%,to{transform:scaleY(.45);opacity:.55}50%{transform:scaleY(1);opacity:1}}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
{
"navigationStyle": "custom",
"navigationBarTitleText": "识糖小课堂",
"backgroundColor": "#eefbf4",
"disableScroll": false,
"enableShareAppMessage": true,
"enableShareTimeline": true,
"usingComponents": {
"tongji-icon": "../components/TongjiIcon"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"navigationBarTitleText": "血糖记录",
"navigationBarBackgroundColor": "#204e2b",
"navigationBarTextStyle": "white",
"backgroundColor": "#faf9f5",
"enablePullDownRefresh": true,
"usingPlugins": {
"WechatSI": {
"version": "0.3.5",
"provider": "wx069ba97219f66d99"
}
},
"usingComponents": {
"sugar-tree-graphic": "../components/SugarTreeGraphic",
"tongji-icon": "../components/TongjiIcon"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,18 @@
{
"navigationStyle": "custom",
"navigationBarTitleText": "日常护理",
"backgroundColor": "#f4fbf4",
"enablePullDownRefresh": true,
"usingPlugins": {
"WechatSI": {
"version": "0.3.5",
"provider": "wx069ba97219f66d99"
}
},
"usingComponents": {
"sugar-tree-graphic": "../components/SugarTreeGraphic",
"tongji-icon": "../components/TongjiIcon",
"celebrate-burst": "../components/CelebrateBurst",
"voice-speak-mascot": "../components/VoiceSpeakMascot"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"navigationStyle": "custom",
"navigationBarTitleText": "血糖管理",
"backgroundColor": "#f4fbf4",
"enablePullDownRefresh": true,
"usingPlugins": {
"WechatSI": {
"version": "0.3.5",
"provider": "wx069ba97219f66d99"
}
},
"usingComponents": {
"tongji-icon": "../components/TongjiIcon",
"tab-bar-dock": "../../components/app-tab-bar/tab-bar-dock",
"dev-training-entry": "../../components/dev-training-entry/index"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long