mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-26 12:20:17 +08:00
@@ -71,8 +71,8 @@ abstract final class Accounts {
|
||||
// }
|
||||
|
||||
static Future<void> refresh() async {
|
||||
for (var a in account.values) {
|
||||
for (var t in a.type) {
|
||||
for (final a in account.values) {
|
||||
for (final t in a.type) {
|
||||
accountMode[t.index] = a;
|
||||
}
|
||||
}
|
||||
@@ -93,7 +93,7 @@ abstract final class Accounts {
|
||||
}
|
||||
|
||||
static Future<void> deleteAll(Set<Account> accounts) async {
|
||||
var isLoginMain = Accounts.main.isLogin;
|
||||
final isLoginMain = Accounts.main.isLogin;
|
||||
for (int i = 0; i < AccountType.values.length; i++) {
|
||||
if (accounts.contains(accountMode[i])) {
|
||||
accountMode[i] = AnonymousAccount();
|
||||
|
||||
@@ -186,7 +186,7 @@ extension BiliCookie on Cookie {
|
||||
extension BiliCookieJar on DefaultCookieJar {
|
||||
Map<String, String> toJson() {
|
||||
final cookies = domainCookies['bilibili.com']?['/'] ?? const {};
|
||||
return {for (var i in cookies.values) i.cookie.name: i.cookie.value};
|
||||
return {for (final i in cookies.values) i.cookie.name: i.cookie.value};
|
||||
}
|
||||
|
||||
List<Cookie> toList() =>
|
||||
@@ -207,7 +207,7 @@ extension BiliCookieJar on DefaultCookieJar {
|
||||
DefaultCookieJar(ignoreExpires: true)
|
||||
..domainCookies['bilibili.com'] = {
|
||||
'/': {
|
||||
for (var i in json.entries)
|
||||
for (final i in json.entries)
|
||||
i.key: SerializableCookie(
|
||||
Cookie(i.key, i.value)..setBiliDomain(),
|
||||
),
|
||||
@@ -218,7 +218,7 @@ extension BiliCookieJar on DefaultCookieJar {
|
||||
DefaultCookieJar(ignoreExpires: true)
|
||||
..domainCookies['bilibili.com'] = {
|
||||
'/': {
|
||||
for (var i in cookies)
|
||||
for (final i in cookies)
|
||||
i['name']!: SerializableCookie(
|
||||
Cookie(i['name']!, i['value']!)..setBiliDomain(),
|
||||
),
|
||||
|
||||
@@ -28,7 +28,7 @@ abstract final class AppSign {
|
||||
List<MapEntry<String, dynamic /*String?|Iterable<String>*/>>
|
||||
queryParameters,
|
||||
) {
|
||||
var result = StringBuffer();
|
||||
final result = StringBuffer();
|
||||
var separator = '';
|
||||
|
||||
void writeParameter(String key, String? value) {
|
||||
@@ -43,8 +43,8 @@ abstract final class AppSign {
|
||||
}
|
||||
}
|
||||
|
||||
for (var i in queryParameters) {
|
||||
if (i.value case Iterable<String> values) {
|
||||
for (final i in queryParameters) {
|
||||
if (i.value case final Iterable<String> values) {
|
||||
for (final String value in values) {
|
||||
writeParameter(i.key, value);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ extension FileSystemEntityExt on FileSystemEntity {
|
||||
extension DirectoryExt on Directory {
|
||||
Future<bool> lengthGte(int length) async {
|
||||
int count = 0;
|
||||
await for (var _ in list()) {
|
||||
await for (final _ in list()) {
|
||||
if (++count == length) return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -16,7 +16,7 @@ extension IterableExt<T> on Iterable<T> {
|
||||
}
|
||||
|
||||
T? firstWhereOrNull(bool Function(T element) test) {
|
||||
for (var element in this) {
|
||||
for (final element in this) {
|
||||
if (test(element)) return element;
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -18,7 +18,7 @@ extension IntExt on int? {
|
||||
|
||||
extension DoubleExt on double {
|
||||
double toPrecision(int fractionDigits) {
|
||||
var mod = pow(10, fractionDigits.toDouble()).toDouble();
|
||||
final mod = pow(10, fractionDigits.toDouble()).toDouble();
|
||||
return ((this * mod).round().toDouble() / mod);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ abstract final class IdUtils {
|
||||
|
||||
static const data =
|
||||
'FcwAPNKTMug3GV5Lj7EJnHpWsx4tb8haYeviqBz6rkCy12mUSDQX9RdoZf';
|
||||
static final invData = {for (var (i, c) in data.codeUnits.indexed) c: i};
|
||||
static final invData = {for (final (i, c) in data.codeUnits.indexed) c: i};
|
||||
|
||||
static final bvRegex = RegExp(r'bv1[0-9a-zA-Z]{9}', caseSensitive: false);
|
||||
static final bvRegexExact = RegExp(
|
||||
@@ -84,7 +84,7 @@ abstract final class IdUtils {
|
||||
return '';
|
||||
}
|
||||
|
||||
var midByte = ascii.encode(uid.toString());
|
||||
final midByte = ascii.encode(uid.toString());
|
||||
|
||||
const key = 'ad1va46a7lza';
|
||||
for (int i = 0; i < midByte.length; i++) {
|
||||
|
||||
@@ -218,7 +218,7 @@ abstract final class ImageUtils {
|
||||
if (PlatformUtils.isMobile) {
|
||||
final delList = <String>[];
|
||||
final saveList = <SaveFileData>[];
|
||||
for (var i in result) {
|
||||
for (final i in result) {
|
||||
if (i.del) delList.add(i.filePath);
|
||||
if (i.statusCode == 200) {
|
||||
saveList.add(
|
||||
@@ -231,11 +231,11 @@ abstract final class ImageUtils {
|
||||
}
|
||||
}
|
||||
await SaverGallery.saveFiles(saveList, skipIfExists: false);
|
||||
for (var i in delList) {
|
||||
for (final i in delList) {
|
||||
File(i).tryDel();
|
||||
}
|
||||
} else {
|
||||
for (var res in result) {
|
||||
for (final res in result) {
|
||||
if (res.statusCode == 200) {
|
||||
await saveFileImg(
|
||||
filePath: res.filePath,
|
||||
|
||||
@@ -91,7 +91,7 @@ abstract final class LoginUtils {
|
||||
}
|
||||
|
||||
static String generateBuvid() {
|
||||
var md5Str = Digest(
|
||||
final md5Str = Digest(
|
||||
List.generate(16, (_) => Utils.random.nextInt(256)),
|
||||
).toString();
|
||||
return 'XY${md5Str[2]}${md5Str[12]}${md5Str[22]}$md5Str';
|
||||
|
||||
@@ -808,7 +808,7 @@ abstract final class PageUtils {
|
||||
}) async {
|
||||
try {
|
||||
SmartDialog.showLoading(msg: '资源获取中');
|
||||
var result = await SearchHttp.pgcInfo(seasonId: seasonId, epId: epId);
|
||||
final result = await SearchHttp.pgcInfo(seasonId: seasonId, epId: epId);
|
||||
SmartDialog.dismiss();
|
||||
if (result.isSuccess) {
|
||||
PgcInfoModel data = result.data;
|
||||
@@ -845,10 +845,10 @@ abstract final class PageUtils {
|
||||
if (episode == null) {
|
||||
final sections = data.section;
|
||||
if (sections != null && sections.isNotEmpty) {
|
||||
for (var section in sections) {
|
||||
for (final section in sections) {
|
||||
final episodes = section.episodes;
|
||||
if (episodes != null && episodes.isNotEmpty) {
|
||||
for (var episode in episodes) {
|
||||
for (final episode in episodes) {
|
||||
if (episode.epId.toString() == epId) {
|
||||
// view as ugc
|
||||
viewSection(episode);
|
||||
@@ -906,7 +906,7 @@ abstract final class PageUtils {
|
||||
}) async {
|
||||
try {
|
||||
SmartDialog.showLoading(msg: '资源获取中');
|
||||
var res = await SearchHttp.pugvInfo(seasonId: seasonId, epId: epId);
|
||||
final res = await SearchHttp.pugvInfo(seasonId: seasonId, epId: epId);
|
||||
SmartDialog.dismiss();
|
||||
if (res.isSuccess) {
|
||||
PgcInfoModel data = res.data;
|
||||
|
||||
@@ -146,7 +146,7 @@ abstract final class ReplyUtils {
|
||||
// root reply
|
||||
if (root == 0) {
|
||||
// no cookie check
|
||||
var res = await ReplyHttp.replyList(
|
||||
final res = await ReplyHttp.replyList(
|
||||
isLogin: false,
|
||||
oid: oid,
|
||||
nextOffset: '',
|
||||
|
||||
@@ -43,7 +43,7 @@ abstract final class RequestUtils {
|
||||
if (!account.isLogin) {
|
||||
return;
|
||||
}
|
||||
var res = await UserHttp.historyStatus(account: account);
|
||||
final res = await UserHttp.historyStatus(account: account);
|
||||
if (res case Success(:final response)) {
|
||||
GStorage.localCache.put(LocalCacheKey.historyPause, response);
|
||||
}
|
||||
@@ -107,7 +107,7 @@ abstract final class RequestUtils {
|
||||
}
|
||||
feedBack();
|
||||
if (!isFollow) {
|
||||
var res = await VideoHttp.relationMod(
|
||||
final res = await VideoHttp.relationMod(
|
||||
mid: mid,
|
||||
act: 1,
|
||||
reSrc: 11,
|
||||
@@ -165,7 +165,7 @@ abstract final class RequestUtils {
|
||||
dense: true,
|
||||
onTap: () async {
|
||||
Get.back();
|
||||
var result = await showModalBottomSheet<Set<int>>(
|
||||
final result = await showModalBottomSheet<Set<int>>(
|
||||
context: context,
|
||||
useSafeArea: true,
|
||||
isScrollControlled: true,
|
||||
@@ -208,7 +208,7 @@ abstract final class RequestUtils {
|
||||
dense: true,
|
||||
onTap: () async {
|
||||
Get.back();
|
||||
var res = await VideoHttp.relationMod(
|
||||
final res = await VideoHttp.relationMod(
|
||||
mid: mid,
|
||||
act: 2,
|
||||
reSrc: 11,
|
||||
@@ -257,7 +257,7 @@ abstract final class RequestUtils {
|
||||
|
||||
// static Future<dynamic> getWwebid(mid) async {
|
||||
// try {
|
||||
// var response = await Request().get(
|
||||
// final response = await Request().get(
|
||||
// '${HttpString.spaceBaseUrl}/$mid/dynamic',
|
||||
// options: Options(
|
||||
// extra: {'account': AnonymousAccount()},
|
||||
@@ -278,7 +278,7 @@ abstract final class RequestUtils {
|
||||
try {
|
||||
if (id != null) {
|
||||
await Future.delayed(const Duration(milliseconds: 450));
|
||||
var res = await DynamicsHttp.dynamicDetail(id: id);
|
||||
final res = await DynamicsHttp.dynamicDetail(id: id);
|
||||
if (res.isSuccess) {
|
||||
final ctr = Get.find<DynamicsTabController>(tag: 'all');
|
||||
if (ctr.loadingState.value.isSuccess) {
|
||||
@@ -308,7 +308,10 @@ abstract final class RequestUtils {
|
||||
if (!isManual) {
|
||||
await Future.delayed(const Duration(seconds: 5));
|
||||
}
|
||||
var res = await DynamicsHttp.dynamicDetail(id: id, clearCookie: true);
|
||||
final res = await DynamicsHttp.dynamicDetail(
|
||||
id: id,
|
||||
clearCookie: true,
|
||||
);
|
||||
final isSuccess = res.isSuccess;
|
||||
showDialog(
|
||||
context: Get.context!,
|
||||
@@ -364,7 +367,7 @@ abstract final class RequestUtils {
|
||||
int count = like?.count ?? 0;
|
||||
bool status = like?.status ?? false;
|
||||
int up = status ? 2 : 1;
|
||||
var res = await DynamicsHttp.thumbDynamic(dynamicId: dynamicId, up: up);
|
||||
final res = await DynamicsHttp.thumbDynamic(dynamicId: dynamicId, up: up);
|
||||
if (res.isSuccess) {
|
||||
SmartDialog.showToast(!status ? '点赞成功' : '取消赞');
|
||||
if (up == 1) {
|
||||
@@ -552,7 +555,7 @@ abstract final class RequestUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
var registerData = Gt3RegisterData(
|
||||
final registerData = Gt3RegisterData(
|
||||
challenge: challenge,
|
||||
gt: gt,
|
||||
success: true,
|
||||
|
||||
@@ -33,7 +33,7 @@ abstract final class VideoUtils {
|
||||
String? mcdnUpgcxcode;
|
||||
|
||||
String last = '';
|
||||
for (var url in urls) {
|
||||
for (final url in urls) {
|
||||
last = url;
|
||||
if (_mirrorRegex.hasMatch(url)) {
|
||||
final uri = Uri.parse(url);
|
||||
|
||||
Reference in New Issue
Block a user