From 4bba6750636937987d659a775888a80acdf584b1 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sun, 24 Aug 2025 20:09:46 +0800 Subject: [PATCH] persistent buvid Closes #1110 Signed-off-by: bggRGjQaUbCoE --- lib/utils/login_utils.dart | 2 +- lib/utils/storage_key.dart | 3 ++- lib/utils/storage_pref.dart | 10 ++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/utils/login_utils.dart b/lib/utils/login_utils.dart index d351c3e0..9714b657 100644 --- a/lib/utils/login_utils.dart +++ b/lib/utils/login_utils.dart @@ -161,7 +161,7 @@ class LoginUtils { return 'XY${md5Str[2]}${md5Str[12]}${md5Str[22]}$md5Str'; } - static final buvid = generateBuvid(); + static final buvid = Pref.buvid; // static String getUUID() { // return const Uuid().v4().replaceAll('-', ''); diff --git a/lib/utils/storage_key.dart b/lib/utils/storage_key.dart index 766e01c7..f4468d48 100644 --- a/lib/utils/storage_key.dart +++ b/lib/utils/storage_key.dart @@ -212,7 +212,8 @@ class LocalCacheKey { blackMids = 'blackMids', danmakuFilterRules = 'danmakuFilterRules', mixinKey = 'mixinKey', - timeStamp = 'timeStamp'; + timeStamp = 'timeStamp', + buvid = 'buvid'; } class VideoBoxKey { diff --git a/lib/utils/storage_pref.dart b/lib/utils/storage_pref.dart index 3edebe7e..933396c7 100644 --- a/lib/utils/storage_pref.dart +++ b/lib/utils/storage_pref.dart @@ -25,6 +25,7 @@ import 'package:PiliPlus/plugin/pl_player/models/play_repeat.dart'; import 'package:PiliPlus/utils/context_ext.dart'; import 'package:PiliPlus/utils/extension.dart'; import 'package:PiliPlus/utils/global_data.dart'; +import 'package:PiliPlus/utils/login_utils.dart'; import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage_key.dart'; import 'package:flutter/material.dart'; @@ -797,4 +798,13 @@ class Pref { static bool get silentDownImg => _setting.get(SettingBoxKey.silentDownImg, defaultValue: false); + + static String get buvid { + String? buvid = _localCache.get(LocalCacheKey.buvid); + if (buvid == null) { + buvid = LoginUtils.generateBuvid(); + _localCache.put(LocalCacheKey.buvid, buvid); + } + return buvid; + } }