* opt: uuid

* tweak

* opt: SlideDialog

* mod: fvmrc [skip ci]

* Revert "mod: fvmrc [skip ci]"

This reverts commit 500fd7f454.

* Revert "opt: SlideDialog"

This reverts commit b435a312a6.

---------

Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
My-Responsitories
2026-01-11 10:45:51 +08:00
committed by GitHub
parent 34a839d9e2
commit c40d794180
12 changed files with 66 additions and 55 deletions

View File

@@ -35,11 +35,12 @@ import 'package:PiliPlus/utils/login_utils.dart';
import 'package:PiliPlus/utils/platform_utils.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_key.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:crypto/crypto.dart';
import 'package:flex_seed_scheme/flex_seed_scheme.dart' show FlexSchemeVariant;
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:uuid/uuid.dart';
abstract final class Pref {
static final Box _setting = GStorage.setting;
@@ -300,7 +301,9 @@ abstract final class Pref {
static String get blockUserID {
String? blockUserID = _setting.get(SettingBoxKey.blockUserID);
if (blockUserID == null || blockUserID.isEmpty) {
blockUserID = const Uuid().v4().replaceAll('-', '');
blockUserID = Digest(
List.generate(16, (_) => Utils.random.nextInt(256)),
).toString();
_setting.put(SettingBoxKey.blockUserID, blockUserID);
}
return blockUserID;

View File

@@ -2,6 +2,7 @@
// https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/misc/sign/wbi.md
// import md5 from 'md5'
// import axios from 'axios'
import 'dart:async';
import 'dart:convert';
import 'package:PiliPlus/http/api.dart';
@@ -74,7 +75,7 @@ abstract final class WbiSign {
.toString(); // 计算 w_rid
}
static Future<String> _getWbiKeys(DateTime nowDate) async {
static Future<String> _getWbiKeys() async {
final resp = await Request().get(Api.userInfo);
try {
final wbiUrls = resp.data['data']['wbi_img'];
@@ -84,9 +85,7 @@ abstract final class WbiSign {
Utils.getFileName(wbiUrls['sub_url'], fileExt: false),
);
_localCache
..put(LocalCacheKey.mixinKey, mixinKey)
..put(LocalCacheKey.timeStamp, nowDate.millisecondsSinceEpoch);
_localCache.put(LocalCacheKey.mixinKey, mixinKey);
return mixinKey;
} catch (_) {
@@ -94,17 +93,19 @@ abstract final class WbiSign {
}
}
static Future<String> getWbiKeys() async {
final DateTime nowDate = DateTime.now();
static FutureOr<String> getWbiKeys() {
final nowDate = DateTime.now();
if (DateTime.fromMillisecondsSinceEpoch(
_localCache.get(LocalCacheKey.timeStamp, defaultValue: 0) as int,
).day ==
nowDate.day) {
final String? mixinKey = _localCache.get(LocalCacheKey.mixinKey);
if (mixinKey != null) return mixinKey;
return _future ??= _getWbiKeys(nowDate);
return _future ??= _getWbiKeys();
} else {
return _future = _getWbiKeys(nowDate);
return _future = _localCache
.put(LocalCacheKey.timeStamp, nowDate.millisecondsSinceEpoch)
.then((_) => _getWbiKeys());
}
}