feat: 电子药箱小程序 - 4Tab药品管理

- 电子药箱: 药品库存管理 + 手动录入 + 今日用药打卡
- 药品百科: 搜索 + 分类筛选 + 20种药品静态数据
- 惠教中心: 4条药品使用指南课程
- 我的: 家庭成员信息管理
- 自定义TabBar + navigation-bar组件
- SVG药品分类插图
This commit is contained in:
陈誉午
2026-07-29 11:20:52 +08:00
commit 994b267f5c
683 changed files with 43849 additions and 0 deletions
@@ -0,0 +1 @@
"use strict";var _times=require("../../../utils/times"),_utils=require("../../../utils/utils");Component({properties:{sendTime:{type:Number,value:null},deadLine:{type:Number,value:null},deadLineSecond:{type:Number,value:null},timeOverText:{type:String,value:""},type:{type:String,value:null},isDownWarn:{type:Boolean,value:!1},useDarkTheme:{type:Boolean,value:!1},awardThemeUrl:{type:String,value:""},forceZero:{type:Boolean,value:!1}},data:{countdownText:""},lifetimes:{attached:function(){},detached:function(){clearInterval(this.timerRef)}},observers:{sendTime:function(){this.syncCountdown()},forceZero:function(){this.syncCountdown()}},methods:{syncCountdown:function(){if(this.timerRef&&clearInterval(this.timerRef),this.data.forceZero)(0,_utils.setDataIfChanged)(this,{countdownText:"00:00"});else if(this.data.sendTime){var e=this.getCountDownText({sendTime:this.data.sendTime,deadLine:this.data.deadLine,deadLineSecond:this.data.deadLineSecond});(0,_utils.setDataIfChanged)(this,{countdownText:e}),"00:00"!==e?this.timerRef=setInterval(this.loop.bind(this),1e3):this.onCountDown()}},loop:function(){if(this.data.forceZero)return(0,_utils.setDataIfChanged)(this,{countdownText:"00:00"}),void clearInterval(this.timerRef);var e=this.getCountDownText({sendTime:this.data.sendTime,deadLine:this.data.deadLine,deadLineSecond:this.data.deadLineSecond});(0,_utils.setDataIfChanged)(this,{countdownText:e});var t=e.split(":");"00"===t[0]&&10===Number(t[1])&&this.onCountDownWarn(),"00:00"===e&&(this.onCountDown(),clearInterval(this.timerRef))},getCountDownText:function(e){var t=e.sendTime,n=e.deadLine,i=e.deadLineSecond;return(0,_times.getCountDownV2)(t,n,i).join(":")},onCountDown:function(){this.triggerEvent("onCountDown")},onCountDownWarn:function(){this.triggerEvent("onCountDownWarn")}}});