From 7021d9d525e671c72aa8335b6652605e5d60e237 Mon Sep 17 00:00:00 2001 From: Cxx0822 <1556464090@qq.com> Date: Fri, 28 Aug 2026 13:43:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Profile/StoragePopup.vue | 4 +- src/pages.json | 4 +- src/pages/record/index.vue | 9 + src/pages/stats/index.vue | 252 +++++++++++++++++++----- src/static/tabs/home-active.png | Bin 681 -> 4860 bytes src/static/tabs/home.png | Bin 684 -> 4594 bytes src/static/tabs/record-active.png | Bin 1412 -> 6128 bytes src/static/tabs/record.png | Bin 1411 -> 5687 bytes src/static/tabs/stats-active.png | Bin 0 -> 4616 bytes src/static/tabs/stats.png | Bin 0 -> 4454 bytes src/static/tabs/user-active.png | Bin 1186 -> 7563 bytes src/static/tabs/user.png | Bin 1196 -> 7132 bytes src/utils/record.ts | 107 +++++++++- 13 files changed, 324 insertions(+), 52 deletions(-) create mode 100644 src/static/tabs/stats-active.png create mode 100644 src/static/tabs/stats.png diff --git a/src/components/Profile/StoragePopup.vue b/src/components/Profile/StoragePopup.vue index 0e6ae37..2fa75a2 100644 --- a/src/components/Profile/StoragePopup.vue +++ b/src/components/Profile/StoragePopup.vue @@ -33,7 +33,7 @@ - - diff --git a/src/static/tabs/home-active.png b/src/static/tabs/home-active.png index d93dfd64d6c6ee6cac85177a60e75df7226608c2..dbc24b59e0955776a7f322501aaf2004ec570667 100644 GIT binary patch literal 4860 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 P00000NkvXXu0mjfE?_8B diff --git a/src/static/tabs/home.png b/src/static/tabs/home.png index 70e693ead76f050f6382231930f3f89e1222ed92..b1e7f55041930bfea9d032fe57e7f9d510b328ef 100644 GIT binary patch literal 4594 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 literal 684 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 literal 1412 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 R&p6ov(9tkZf1_%T|36!vWLW?J literal 1411 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 literal 0 HcmV?d00001 diff --git a/src/static/tabs/user-active.png b/src/static/tabs/user-active.png index 9140455549fea6b3ca570e913c9f5c09e2f5b1d8..0a8082288c16e15b052b378f17b3d74520869e4a 100644 GIT binary patch literal 7563 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 bKM?~W^9y+u-xX>Tz5uk;^pSNc_Ne~>3O)jE literal 1186 zcmV;T1YP@yP)hMk(4v<*vuaSdsZEG#99ebLL zRmY07`|qcfok~g66MvlmJn;ljrwlk{z>x?%OW&m^FJ6DRJdyUeUnbw%ExS5HFYcP`HhT2dcTqOqJ{MAhsc(dy#o}MC-PX{po z%Bb6Zk%YIVrvoxA+(4zL2mm|!N)4I%s`g4lv!G^2=$|2@-qZ~beQox8k&F|`017sv zGVYdLq*x8h|l{$VdbL5a|*PKtx5L5efLw0E|&D1NBd$TQmTz)z3*p z5-36dK(Y<=9oh`XtQL`9lD3%hm|CS>>GNO!AQai~kbk~X zG=jZA(6>Ar`2BJrJ?EjTTA~49GXy)jw0&i$G;U~O1OdWk1i^6AV{M^Ouq4RdJW)@n zuFS&#_*kB5=Etd^xiojNR$vyW1fYDLph-S&B8v+{u ziOHzU<+$VuWdXoVifeEp?buns0zg5{X7ovGd9bp;3&8#Op)@+DGi&$Q3qTn)`i~!^ zDAQBxtP_Rod%r%=zHm$gSUiejk0qJdjP0e@BLc> zoJvG4Z_od76(M&I+3rn=u3o%;x#0I-CGbvkKLBii%sA$9_QP^{C<5W*Ik zvF?Z%x{4P7Is*b3(^%ETa`lu8bW&MBGqn2(3qWZEQv%D?Q!b@e?ztBLuF*NQI{}!} zXbqut_8AZhOV07*qoM6N<$g6d5h A6951J diff --git a/src/static/tabs/user.png b/src/static/tabs/user.png index 55b4cd4bda6f10b7f3458be9fa508093c378b8e2..6993189dbb4f1f1faca0548042dd01431e93e49e 100644 GIT binary patch literal 7132 zcmZ`;cUTk6*9{>+5X2<(YJgCrBho<$HMFSo2ucT$-UOrwq4!Wj2L+@`2kAvHfKpUC zDm5ro1S!(Ly#N2ceV*C9b9Z)TpV`@a&bbr&0IhZX8rwAh0B~I!rEWmF4*gfal%(@p zvzh_`00PifM;iH)ZRgYY8&72ns<~mMA9w~Gvor3L=bt`ftPW2C8`sC3CYFAV_PP52 zLh(U+WQ$<^vr=Q6!tYDmEolFvMV%&;Oj?Vy@!jM=v~}2}A&4Q&4f+7tg_MFxb*lgBe^TJeO_i3nfKa3gH7rG?BKL%3q~84AJQV{k0u8GbIgI8U>JzCB z4-XxuXJ)RNYHHkU)YQ~izulg6BEnjd)ik+zakjt4@;ltQEcAoYbRdO>p?3G!+CmY9 z$x7JHA7%FolT#Ka4laiBBO@c@TikvqPh#B``wg8)lJr}ikWFW{DLyN5B zp0wrT<70RFuya4>hyLa#IB@KJofg0FX{8&}Ui*YAI z@gqX<@Qsb2=@kGOUkpWzNIqQ@gQ@#MX8@-|jTTyCA9G}7k`30zug*vfMV|QZ)42*G zX7Y{HDo(y3oDrycZe@vlFOmKTE^dDh>E!cf~b`R@p)Z_K=dx8>gN(Q+G?P>_QE( z2QZz+Hs#y#n9 z#lFF??WO7I>F7C;K{lgUK~ptY+q1%$u@@U9uoC)5&CSjIa${zMH}udMzU?DocdfCt z-|eSY>2SU6anDH zDWE*q59v32PDl0lC%PNS4a?9M*j>wCXBmu)jPLf_l1{Z|=dQCReh(e%h_TdgfVFWh zil3#_<(gsbhCP!lAKEna6e5@mH~_36N#9LOOpac;2F{*<+Ss#uN4x=`dsRh6DsE-( zq<>^wW{)6rJ5G6SeS>L3+QyJJqC7*3NDKTRobXihtPy1+P_jOTbSRkK+}u3Ne$4NH zw+VrS+(Bed<=^mJEI?sB^3{O9PmO+0jIi|}F!#e)!YmDk#6D;u(I>7$I)kz1)Y>7N zvkr(6z9cy41xJc!0Q3)ij3@ViTo`86#N}7B%2?nZdpWe8`dy?&2FA*-T-f$ueVQP4 za%w6#xp!zAX>ZB$*3#O^n{EJiQ+JNt=P6mL2-D(#mX^bstoT@+H!*G30j2?|@wK3P zUGw|xqqeP@4lYq$c9*Dz821(4v25|S2fvNRT%SJ8n%vl(eW^!_%u*)GxVIH7@s#Vb zyo&x*Va7~2Z{ofiSKCw%suvqUNn72zkyO{hNI@RUjk30Wbq@Tjz@K-akQ~A8?kZ?S zzS8*bchMYqUjrd5AC)DT5P{D`dwIx{(NFihUbQ;^m1ok$X`Ujoq8R+Ip8S_U*an7f zJ7Phd2dv5M~h3x8Abc{f6*MW*0gHaM@|VpUL``g3rJeaVH$4cjE01q}CWM!(eduHrrh25f%iIGoJJ1i%R*w$HxT>JayjN;P*!E9Ej;Jej0Fx?sjkp z;n?w&b3#{beuD&;A~rPgA&y0UQFnj;+V>X5F$d+ko$$Gri_(TPwI&?YHVg>Oo_i6p zdSQVreRUeeeZzHcRVIOaD7dnapu{y8=mZYGdi^~Z^@xLx;c8UA`6@Qk?5 zdIdP+-Fuku(edN8IBXHg1AKAc4!$bfrt4Dj% zHjGAB#xWvESoT~>18yKk;kS%22rl%d0!i%bOt6c?|80z$H^MeP)JM2aWUXyx_i;GLJCo^f{SV~V{;_R+d zCA&k{EL6Rh-;4l4UfCg1BDZdmEI)k?WIP`doH_bbM(E7ttsJ4_+g(q}T?(~ zY$-=JWk=y_%e8OcD#w6&MhG+S-@pIndeC3P?u<1uHT~r6;7Z4JLr_SlU2+?F=TJOD zM^yb-a6osXbGMj;jK|LxAn(TO`C~xwm?i!SQ9JM_+?mLMTE$0gaG!ldqW8#Mn|^}& zy07hhh-RxI_pned3J2!ZE;n~^iO|N|R^7QwP;>dXD}U5FN>E|&AvL20QvbFoVW-j7 z`S2v2!i(0SH*2HlMm*;%xGPp25+U^{UOVpUIV6!Ew#`8GeBXvAZTNtSiur#1OLd7+ zT>+rm9ViH@m#y)vw1pA24RuI;+0snk6!Q4-4{8$Elj)gTT=ohK?AQ}7_G8)DSNkW! z9|ceFzu(G3ZQYrjtvL-6g#UJa+#zsa)Q=@)gW?k0pd8m2Jw0pI; zO^Jh55+ZdaF2*gb`<+;`)v^5;&c&jiA1o-4Sp|iY^+sUho;i8o)QvKoeHjQOva4| zK(e)?KL38I{`;`<4OcuEdYPo~$25nU2}|uN&`ngusfP|IobhSXDmb6|_#5$BK4GK< z#Sa}1Jfup8=ZB^bz>&l@Gx6v1dFjdbzZ}1W(WZV~wm7W-%~A7d<46?S+iX{{1KnUq zZ+-rkEy)|5)*bz&E$Fm_M7V?HDMmgFe8CN@F&>LO`gryx(O;rKm}r>xB0v1{*eo5c z+)J)aWC{qFx7sdvgnqZX!f*^8N@@M3wH`ReHx3$}8}Hmf0Y!faHRst^+Gw8WE^v5G zN|a?;7T^3eQ7ft4vG*CI%7>yWx4)gu1gk6{(N(Y1K=|}vqY;p;_h2n{bMWD(w1pe57uY>7 z2>g0cZ%~UR$zM%38V?>Xw8^n5F@a^UP&+7WcnN|=va|z~cK1x`;RnB2g#t?nPmo0T-)cg0U+=M$o->j=TCz{9H@LApo1QU#& zI8bvG|FvZZ7Ll@fhe+2O0!z`_df-G21;Ww<_%w%{xc5J$38(Oat!_Blwc}GZxrvSi zFRB!&l0pZ-0Vo^(`oEhh-N(taND^myM^nbKhG|SD%TeNu)6tE9-~`Zj`6biMG(YU3 zAQ9o+DTOaDPge76I(dY8D+?d`s9*+*Zgu~B*8^CD@1~iU3bj1?ny|+vUJ8Ux zHPao*$Bc|VKnF%9!Sy=46#GT}dzfGIv4Xch)DMfo&gy(+jX-2Y9c1N{!@At4-7kM0 zp>^+~f|*|~swhXFer%<_NR`6=Engen?|Bu%kTN55o}pl=;fBcI7&1Mxbe6pXTIM)e z^_RUyU8$t6HbMF=qYQ8EU%w=Ul^sJ2M!x*@>lLj@+kb&TUshj!H`N~Ejv=13iq>B0 z1q<=i8qXG!Am{hKvPir>=f7$VtWa@78^kD3xrP23R>He;s9d>8>;6tpI)3JRpPqzR zh7Kp{c3!BSZrOxzg=L|F?H`@+(QGVlYB~@f zGe?#8k+l33#mu82FCb(nzwJe?E-!%?0R71qv1ua|1HBVzrNAKZ`F0LJrDlRH2 zYE^r^>czo8KR)zHf7r6zm|idusqZ&R4jlPC4io1dPOQnnTcqZB+1CmvhCx7~5gdHV z@+-@VZSNm%S-<=tJq}h$y`QBo2ES3`L)4*eL6mW1Z!IM3g2FZ?o`!%{UMG;PcUZ6( zu=nu-9^OW@2&X0t{miW8+{=I`CMI5i;pnU}jUL`~j_#kTa6%+PBt^{UOBRs{!MgI^ z#7`!O4;2^~*xnJ<da=+kQjUeu!Oi^ndp|0`DYI`T?Pn_-0!@pYsp;3mXP3XJ?P|#hIFQBp$%B^@8o}%-<}?ee=YMY z9zeCzLcVgTp`p>zcHHbH#|JL^9)hCz#Y2cJHD(;-e0fKvC@w`^g>Ifxqc$CEvT8 zm0|X~vmF87=Qq;4D%`Hyyy$Naxj3Cm;#e?G#A*VA?XvB1X-o$D^11y~aYjOXWzW~T zeDhrcPl86%ZyDY_d|h-#U?xLZ)YL@VPd%}iBTfoa zH8&+PaZTE2Sy}f5k?``3#`OCi=~f7#7-)ovzT*uenvzw6DnZ~69^9~9&dJw1rg8QV zt;JT7*q-ZudTmwduuP;jp$xscP-%mJE?NDMGyUAmIzW>^otocHnGL6_FQ}@hIO$b4 z_2mf*H5ACEDCo0dUulzIF<1UModq{A8xD|F^PCQevRqgw;KV@(2izb1*FtZL{akK=l)ZMH znYr+efl=uIk4iV|FFjI@75b)k4l>|F8PL<-etQ26UDcD@&`>x*9Ht@rk2T`fcno}f zW85h%d)1_iOU`5I)3@vXSA}^rA(VakyjYL<(bnRo3cgq11Xd}{F`MkmBC%Ok#912Q zg4VWFDu&ym(!?r9kt&f(S-~D#_(c-s?fv%&e_|}%M81=N#$&!d@GNm`sV_XyE%r7K z*t9Rv@`s+l} zR2H2H13AIzczn+|UzDlBRJe;!CC=H%?GnAM~8 zeqLvDulg(`G)+sgYeSKWOg%mjH1xL3;_+hicXsrGJ~U;#LBHGk%WG+*LLP1~Mm3$v z%9Z>OHpX^NCLrqt9&LpeT)6*rQDDv~? z=jSD&d+2lqrF8%<@ysPVSHhLajmP72MEB9j9E?g`>6mS;0(gCWeQ=2fC*oja*f7hs z!cZ#!ie6u>R(BOXgDzo%YQSbtLr-OM00bJ_>-%D+8ct45GHmbDiM?(LfB*?JHki70 z1%x`Cn0uxG)bkGn8WV_58*J-SBJ8Jy69ALRf2KS~B* zRf?f0SPg?@09HK_3cyM~8GuzFF?KBACj(F^{)h?wP}(E|P%r#Dlw@M!NCuz^_#5Nc zqK$>`WB~8)@4W%A@SP0c=H>=tA z*~;)T2T+g&f~w&{=g}pr#QBmnbwf+0?6=kc5UQ(&sS=_0LO`HP;uiwRG3Hv4WB@FN zXjX_7-IXRsmpa~=vZe=>$drn3Fy@SDWkhldcg&FCAvZ=>!ab?1H`$)y1L1gmC;li2 z0Lg1HWGVLqKT;yh)3MxLIblgfI2iYgX(c&D-0{7RD<5+BQNk>U0PbrQ84&WFv_%6T zD3^Ry0CS7rFkJGpQ&|8{^%Di46cjO5N)eoTuCf{`8Vf(%Wzl`$KFd$pJa+RKk^qJ zc=;+&*yE#DvvDyu9(-3}iIqVI-767f>Jl&um zsO*_epEK7;4t3H9fW|f=b!4@!3uF|;+5(2$_ZA*zOi`$C|XcXa, timestamp: number) { // 键为月份 例如 health_2026-08 const key = getMonthKey(timestamp) @@ -47,17 +53,74 @@ function addRecord(type: string, data: Record, timestamp: number) { if (!all[date]) all[date] = [] - // 在按天存储 - all[date].push({ + const record = { id: Date.now() + Math.random().toString(36).slice(2, 6), time: getTimeStr(timestamp), + timestamp, type, ...data, - }) + } + + // 在按天存储 + all[date].push(record) wx.setStorageSync(key, all) + + appendRecentRecord(type, record) } +/** + * 添加最近记录 + * @param type 类型 + * @param record 记录 + * @param limit + */ +function appendRecentRecord(type: string, record: any, limit = 7) { + const key = `recent_${type}` + const recent = wx.getStorageSync(key) || [] + + // 正序:timestamp 小的在前 + let i = 0 + while (i < recent.length && recent[i].timestamp < record.timestamp) { + i++ + } + recent.splice(i, 0, record) + + // 截断:砍掉前面的(最旧的) + if (recent.length > limit) { + recent.splice(0, recent.length - limit) + } + + wx.setStorageSync(key, recent) +} + +/** + * 删除最近记录的数据 + * @param type 类型 + * @param id id + */ +function removeFromRecentIndex(type: string, id: string) { + const key = `recent_${type}` + const recent = wx.getStorageSync(key) || [] + + const idx = recent.findIndex((item: any) => item.id === id) + if (idx !== -1) { + recent.splice(idx, 1) + wx.setStorageSync(key, recent) + } +} + +export function getRecentRecords(type: string, limit = 7): IHealthRecord[] { + const key = `recent_${type}` + const recent = wx.getStorageSync(key) || [] + return limit ? recent.slice(0, limit) : recent +} + +/** + * 删除单条记录 + * @param date 日期 + * @param id 记录id + */ export function deleteRecordByDate(date: string, id: string) { const key = `health_${date.slice(0, 7)}` const all = wx.getStorageSync(key) || {} @@ -68,6 +131,9 @@ export function deleteRecordByDate(date: string, id: string) { const idx = list.findIndex((item: any) => item.id === id) if (idx === -1) return + const record = list[idx] + const type = record.type + list.splice(idx, 1) if (list.length === 0) { @@ -79,6 +145,41 @@ export function deleteRecordByDate(date: string, id: string) { } else { wx.setStorageSync(key, all) } + + removeFromRecentIndex(type, id) +} + +/** + * 删除月份记录 + * @param month + */ +export function deleteRecordByMonth(month: string) { + const key = `health_${month}` + const all = wx.getStorageSync(key) || {} + + // 1. 先收集这个月所有记录的 id 和 type 的对应关系 + const idsByType: Record = {} + Object.values(all).forEach((list: any) => { + if (Array.isArray(list)) { + list.forEach((item: any) => { + if (!item.type) return + if (!idsByType[item.type]) idsByType[item.type] = [] + idsByType[item.type].push(item.id) + }) + } + }) + + // 2. 删主存储 + wx.removeStorageSync(key) + + // 3. 按 type 逐个清理索引里对应的 id + Object.entries(idsByType).forEach(([type, ids]) => { + const recentKey = `recent_${type}` + const recent = wx.getStorageSync(recentKey) || [] + const idSet = new Set(ids) + const filtered = recent.filter((item: any) => !idSet.has(item.id)) + wx.setStorageSync(recentKey, filtered) + }) } export function addWeight(value: number, note: string, timestamp: number) {