From 1ce875be27d9011c3944c6b975d9f817947ecdf8 Mon Sep 17 00:00:00 2001 From: wwf <1971391498@qq.com> Date: 星期三, 01 十月 2025 16:22:24 +0800 Subject: [PATCH] 登录、注册 --- entry/src/main/ets/utils/PreferencesUtils.ets | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 0 deletions(-) diff --git a/entry/src/main/ets/utils/PreferencesUtils.ets b/entry/src/main/ets/utils/PreferencesUtils.ets new file mode 100644 index 0000000..584527d --- /dev/null +++ b/entry/src/main/ets/utils/PreferencesUtils.ets @@ -0,0 +1,92 @@ +import { preferences } from "@kit.ArkData"; + +/** + * @ProjectName : HealthNS + * @FileName : PreferencesUtils + * @UserName : 淇ⅵ + * @Time : 2025/9/14 09:25 + * @Description : 鏈湴鎸佷箙鍖栧瓨鍌� + */ +class PreferencesUtils { + //鍒涘缓PS鏈湴瀛樺偍鐨勯泦鍚堟暟鎹紝鍙互鏀寔澶氫釜瀛樺偍瀛樺湪 + prefMap: Map<string,preferences.Preferences> = new Map(); + //鍒濆鍖栨柟娉� 鍚屾锛堢被浼间簬鎺掗槦锛屼笂涓换鍔″畬鎴愶紝鎵嶅洖鍒颁笅涓�涓换鍔★紝鍩烘湰涓嶈兘鏈夎�楁椂鎿嶄綔锛� + //寮傛锛屽紑杈熶竴涓瓙绾跨▼锛屽湪瀛愮嚎绋嬭繍琛屽畬姣曪紝缁撴灉杩斿洖缁欎富绾跨▼ + //鎻愪緵寮傛绾跨▼璇硶绯� async/await + //context: Context 褰撳墠閭d釜椤甸潰瑕佷娇鐢紝name瀛樺偍鐨勫悕绉� + async loadPreferences(context: Context,name:string){ + //涓轰簡淇濊瘉姝e父杩涜鍒濆鍖栵紝鎺ㄨ崘浣跨敤寮傚父鎹曡幏锛屼繚璇佸湪寮傚父鎯呭喌涓嬶紝APP涓嶄細宕╂簝 + try { + //鍒濆鍖栨棤闂锛屾墽琛屾甯搁�昏緫 + //鍒涘缓PS瀛樺偍 + const pref = await preferences.getPreferences(context,name) + //鍒濆鍚庣殑瀛樺偍锛屽瓨鏀捐繎Map闆嗗悎 + this.prefMap.set(name,pref) + console.info(`鍒濆鍖�${name}瀛樺偍瀹屾垚`) + } catch (e) { + console.info(`鍒濆鍖�${name}澶辫触锛屽け璐ュ師鍥狅細 ${e}}`) + } + } + //娣诲姞鏁版嵁 name: PS瀛樺偍鐨勫悕绉帮紝key锛氬瓨鍌ㄥ�肩殑鍒悕锛寁alue瀛樺偍鐨勫叿浣撳�� + async putPreferences(name:string,key:string,value:preferences.ValueType){ + //鍏堝垽鏂璏ap鏁版嵁閲屾湁娌℃湁姝e父鍒濆鍖栵紙闆嗗悎閲屽瓨涓嶅瓨鍦ㄥ綋鍓峆S瀛樺偍锛� + if (!this.prefMap.has(name)) { + //! 闈烇紝琛ㄧず鏀筆S涓嶅瓨鍦� + console.info(`${name}瀛樺偍涓嶅瓨鍦�,璇峰垵濮嬪寲`) + return + } + try { + //褰揚S瀛樺偍瀛樺湪锛屾墽琛屽綋涓嬮�昏緫 + const pref = this.prefMap.get(name) + //鍐欏叆鏁版嵁 + await pref?.put(key,value) + //鎸佷箙鍖栵紝鍒风鐩� + await pref?.flush() + console.info(`${name}瀛樺偍鍐欏叆鏁版嵁鎴愬姛`) + } catch (e){ + console.info(`${name}瀛樺偍鍐欏叆鏁版嵁澶辫触锛屽け璐ュ師鍥狅細 ${e}`) + } + } + //璇诲彇鏁版嵁 + async getPreferences(name: string,key: string,defaultValue: preferences.ValueType){ + //鍏堝垽鏂璏ap鏁版嵁閲屾湁娌℃湁姝e父鍒濆鍖栵紙闆嗗悎閲屽瓨涓嶅瓨鍦ㄥ綋鍓峆S瀛樺偍锛� + if (!this.prefMap.has(name)) { + //! 闈烇紝琛ㄧず鏀筆S涓嶅瓨鍦� + console.info(`璇诲彇${name}瀛樺偍涓嶅瓨鍦�,璇峰垵濮嬪寲`) + return + } + try { + //鑾峰彇Map閲岄潰瀛樼殑瀛樺偍 + const pref = this.prefMap.get(name) + //寮�濮嬭鍙栨暟鎹� + const value = await pref?.get(key,defaultValue) + console.info(`璇诲彇${name}瀛樺偍鎴愬姛锛屾暟鎹负锛�${JSON.stringify(value)}`) + return value + } catch (e){ + console.info(`璇诲彇${name}瀛樺偍鎵嬪け璐ワ紝澶辫触鍘熷洜: ${e}}`) + return e + } + } + //鍒犻櫎鏁版嵁 + async delPreferences(name:string,key:string){ + //鍏堝垽鏂璏ap鏁版嵁閲屾湁娌℃湁姝e父鍒濆鍖栵紙闆嗗悎閲屽瓨涓嶅瓨鍦ㄥ綋鍓峆S瀛樺偍锛� + if (!this.prefMap.has(name)) { + //! 闈烇紝琛ㄧず鏀筆S涓嶅瓨鍦� + console.info(`璇诲彇${name}瀛樺偍涓嶅瓨鍦�,鏃犳硶鍒犻櫎`) + return + } + try { + //鎷垮埌瀛樺偍 + const pref = this.prefMap.get(name) + //寮�濮嬪垹闄ゆ暟鎹� + await pref?.delete(key) + //鍒风鐩� + await pref?.flush() + console.info(`鍒犻櫎${name}瀛樺偍鎴愬姛`) + }catch (e) { + console.info(`鍒犻櫎${name}瀛樺偍澶辫触锛屽け璐ュ師鍥�:${e}`) + } + } +} +//浠垮崟鍒╋紝鏁翠釜椤圭洰鍙渶瑕佷竴涓瓨鍌紝鍑忓皯绾跨▼娑堣�� +export default new PreferencesUtils() as PreferencesUtils \ No newline at end of file -- Gitblit v1.8.0