opt: non null (#1091)

* opt: type

* opt: type 2

* opt: type 3
This commit is contained in:
My-Responsitories
2025-08-23 18:25:41 +08:00
committed by GitHub
parent 6009668427
commit 3c34e43827
75 changed files with 400 additions and 362 deletions

View File

@@ -133,11 +133,9 @@ class AccountManager extends Interceptor {
// if (kDebugMode) debugPrint('is app: ${options.path}');
// bytes是grpc响应
if (options.responseType != ResponseType.bytes) {
final dataPtr =
(options.method == 'POST' && options.data is Map
? options.data as Map
: options.queryParameters)
.cast<String, dynamic>();
final dataPtr = (options.method == 'POST' && options.data is Map
? (options.data as Map).cast<String, dynamic>()
: options.queryParameters);
if (dataPtr.isNotEmpty) {
if (!account.accessKey.isNullOrEmpty) {
dataPtr['access_key'] = account.accessKey!;

View File

@@ -294,7 +294,11 @@ class PageUtils {
);
}
static Future<void> pushDynFromId({id, rid, bool off = false}) async {
static Future<void> pushDynFromId({
String? id,
Object? rid,
bool off = false,
}) async {
SmartDialog.showLoading();
var res = await DynamicsHttp.dynamicDetail(
id: id,
@@ -308,7 +312,7 @@ class PageUtils {
toDupNamed(
'/articlePage',
parameters: {
'id': id,
'id': id!,
'type': 'opus',
},
off: off,
@@ -780,7 +784,7 @@ class PageUtils {
static EpisodeItem findEpisode(
List<EpisodeItem> episodes, {
dynamic epId,
Object? epId,
bool isPgc = true,
}) {
// epId episode -> progress episode -> first episode
@@ -795,8 +799,8 @@ class PageUtils {
}
static Future<void> viewPgc({
dynamic seasonId,
dynamic epId,
Object? seasonId,
Object? epId,
String? progress,
}) async {
try {
@@ -884,8 +888,8 @@ class PageUtils {
}
static Future<void> viewPugv({
dynamic seasonId,
dynamic epId,
Object? seasonId,
Object? epId,
int? aid,
}) async {
try {

View File

@@ -54,11 +54,11 @@ class ReplyUtils {
required int type,
required int id,
required String message,
dynamic root,
dynamic parent,
dynamic ctime,
required int root,
Object? parent,
Object? ctime,
List? pictures,
dynamic mid,
Object? mid,
bool isManual = false,
required bool biliSendCommAntifraud,
required sourceId,
@@ -144,7 +144,6 @@ class ReplyUtils {
type: type,
sort: ReplySortType.time.index,
page: 1,
enableFilter: false,
antiGoodsReply: false,
);

View File

@@ -105,14 +105,11 @@ class RequestUtils {
static Future<void> actionRelationMod({
required BuildContext context,
required dynamic mid,
required int mid,
required bool isFollow,
required ValueChanged<int>? callback,
Map? followStatus,
}) async {
if (mid == null) {
return;
}
feedBack();
if (!isFollow) {
var res = await VideoHttp.relationMod(
@@ -283,23 +280,21 @@ class RequestUtils {
// }
// }
static Future<void> insertCreatedDyn(dynamic id) async {
static Future<void> insertCreatedDyn(Object id) async {
try {
if (id != null) {
await Future.delayed(const Duration(milliseconds: 200));
var res = await DynamicsHttp.dynamicDetail(id: id);
if (res['status']) {
final ctr = Get.find<DynamicsTabController>(tag: 'all');
if (ctr.loadingState.value.isSuccess) {
List<DynamicItemModel>? list = ctr.loadingState.value.data;
if (list != null) {
list.insert(0, res['data']);
ctr.loadingState.refresh();
return;
}
await Future.delayed(const Duration(milliseconds: 200));
var res = await DynamicsHttp.dynamicDetail(id: id);
if (res['status']) {
final ctr = Get.find<DynamicsTabController>(tag: 'all');
if (ctr.loadingState.value.isSuccess) {
List<DynamicItemModel>? list = ctr.loadingState.value.data;
if (list != null) {
list.insert(0, res['data']);
ctr.loadingState.refresh();
return;
}
ctr.loadingState.value = Success([res['data']]);
}
ctr.loadingState.value = Success([res['data']]);
}
} catch (e) {
if (kDebugMode) debugPrint('create dyn $e');
@@ -307,7 +302,7 @@ class RequestUtils {
}
static Future<void> checkCreatedDyn({
dynamic id,
Object? id,
String? dynText,
bool isManual = false,
}) async {
@@ -386,8 +381,8 @@ class RequestUtils {
required BuildContext context,
required bool isCopy,
required MultiSelectController<R, T> ctr,
required dynamic mediaId,
required dynamic mid,
required Object? mediaId,
required Object mid,
}) {
FavHttp.allFavFolders(mid).then((res) {
if (context.mounted && res.dataOrNull?.list?.isNotEmpty == true) {
@@ -439,7 +434,7 @@ class RequestUtils {
isCopy: isCopy,
isFav: ctr is! LaterController,
srcMediaId: mediaId,
tarMediaId: checkedId,
tarMediaId: checkedId!,
resources: removeList
.map(
(item) => ctr is LaterController

View File

@@ -111,7 +111,7 @@ class Update {
}
// 下载适用于当前系统的安装包
static Future<void> onDownload(data) async {
static Future<void> onDownload(Map<String, dynamic> data) async {
SmartDialog.dismiss();
try {
void download(plat) {

View File

@@ -100,7 +100,7 @@ class Utils {
}
}
static String makeHeroTag(v) {
static String makeHeroTag(Object? v) {
return v.toString() + random.nextInt(9999).toString();
}

View File

@@ -58,7 +58,7 @@ class WbiSign {
}
// 为请求参数进行 wbi 签名
static void encWbi(Map<String, dynamic> params, String mixinKey) {
static void encWbi(Map<String, Object> params, String mixinKey) {
params['wts'] = DateTime.now().millisecondsSinceEpoch ~/ 1000;
// 按照 key 重排参数
final List<String> keys = params.keys.toList()..sort();
@@ -104,8 +104,8 @@ class WbiSign {
}
}
static Future<Map<String, dynamic>> makSign(
Map<String, dynamic> params,
static Future<Map<String, Object>> makSign(
Map<String, Object> params,
) async {
// params 为需要加密的请求参数
final String mixinKey = await lock.synchronized(getWbiKeys);