From fc88abb23fbd5538601cc1be3823a30bfde44d80 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Thu, 3 Oct 2024 21:28:12 +0800 Subject: [PATCH] opt: Request().post --- lib/http/black.dart | 2 +- lib/http/danmaku.dart | 3 -- lib/http/dynamics.dart | 48 ++++++++++-------- lib/http/fav.dart | 4 +- lib/http/init.dart | 3 +- lib/http/live.dart | 37 +++++++------- lib/http/login.dart | 15 ------ lib/http/member.dart | 29 ++++++----- lib/http/msg.dart | 4 -- lib/http/reply.dart | 2 +- lib/http/user.dart | 16 +++--- lib/http/video.dart | 108 ++++++++++++++++++++++++----------------- 12 files changed, 141 insertions(+), 130 deletions(-) diff --git a/lib/http/black.dart b/lib/http/black.dart index 0c6a63ab..67356a92 100644 --- a/lib/http/black.dart +++ b/lib/http/black.dart @@ -28,7 +28,7 @@ class BlackHttp { static Future removeBlack({required int fid}) async { var res = await Request().post( Api.removeBlack, - queryParameters: { + data: { 'act': 6, 'csrf': await Request.getCsrf(), 'fid': fid, diff --git a/lib/http/danmaku.dart b/lib/http/danmaku.dart index 0b108755..2ed2a415 100644 --- a/lib/http/danmaku.dart +++ b/lib/http/danmaku.dart @@ -67,9 +67,6 @@ class DanmakaHttp { var response = await Request().post( Api.shootDanmaku, data: params, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); if (response.statusCode != 200) { return { diff --git a/lib/http/dynamics.dart b/lib/http/dynamics.dart index 69619361..5ba5675e 100644 --- a/lib/http/dynamics.dart +++ b/lib/http/dynamics.dart @@ -1,4 +1,5 @@ import 'dart:math'; +import 'package:dio/dio.dart'; import '../models/dynamics/result.dart'; import '../models/dynamics/up.dart'; import 'index.dart'; @@ -69,7 +70,7 @@ class DynamicsHttp { }) async { var res = await Request().post( Api.likeDynamic, - queryParameters: { + data: { 'dynamic_id': dynamicId, 'up': up, 'csrf': await Request.getCsrf(), @@ -175,27 +176,32 @@ class DynamicsHttp { 'revs_id': {'dyn_type': 8, 'rid': oid} }; } - var res = await Request().post(Api.dynamicCreate, queryParameters: { - 'platform': 'web', - 'csrf': await Request.getCsrf(), - 'x-bili-device-req-json': {'platform': 'web', 'device': 'pc'}, - 'x-bili-web-req-json': {'spm_id': '333.999'}, - }, data: { - 'dyn_req': { - 'content': { - 'contents': [ - {'raw_text': rawText ?? '', 'type': 1, 'biz_id': ''} - ] - }, - 'scene': scene, - 'attach_card': null, - 'upload_id': uploadId, - 'meta': { - 'app_meta': {'from': 'create.dynamic.web', 'mobi_app': 'web'} - } + var res = await Request().post( + Api.dynamicCreate, + queryParameters: { + 'platform': 'web', + 'csrf': await Request.getCsrf(), + 'x-bili-device-req-json': {'platform': 'web', 'device': 'pc'}, + 'x-bili-web-req-json': {'spm_id': '333.999'}, }, - 'web_repost_src': webRepostSrc - }); + data: { + 'dyn_req': { + 'content': { + 'contents': [ + {'raw_text': rawText ?? '', 'type': 1, 'biz_id': ''} + ] + }, + 'scene': scene, + 'attach_card': null, + 'upload_id': uploadId, + 'meta': { + 'app_meta': {'from': 'create.dynamic.web', 'mobi_app': 'web'} + } + }, + 'web_repost_src': webRepostSrc + }, + options: Options(contentType: 'application/json'), + ); if (res.data['code'] == 0) { return { 'status': true, diff --git a/lib/http/fav.dart b/lib/http/fav.dart index 6f49d68a..69577e7e 100644 --- a/lib/http/fav.dart +++ b/lib/http/fav.dart @@ -11,7 +11,7 @@ class FavHttp { }) async { var res = await Request().post( Api.editFavFolder, - queryParameters: { + data: { 'title': title, 'intro': intro, 'media_id': mediaId, @@ -43,7 +43,7 @@ class FavHttp { }) async { var res = await Request().post( Api.addFavFolder, - queryParameters: { + data: { 'title': title, 'intro': intro, 'cover': cover ?? '', diff --git a/lib/http/init.dart b/lib/http/init.dart index 851f194e..5c7c8ad9 100644 --- a/lib/http/init.dart +++ b/lib/http/init.dart @@ -269,7 +269,8 @@ class Request { url, data: data, queryParameters: queryParameters, - options: options, + options: + options ?? Options(contentType: Headers.formUrlEncodedContentType), cancelToken: cancelToken, ); // print('post success: ${response.data}'); diff --git a/lib/http/live.dart b/lib/http/live.dart index f5fd2a43..d60c9e7f 100644 --- a/lib/http/live.dart +++ b/lib/http/live.dart @@ -89,23 +89,26 @@ class LiveHttp { // 发送弹幕 static Future sendDanmaku({roomId, msg}) async { - var res = await Request().post(Api.sendLiveMsg, queryParameters: { - 'bubble': 0, - 'msg': msg, - 'color': 16777215, // 颜色 - 'mode': 1, // 模式 - 'room_type': 0, - 'jumpfrom': 71001, // 直播间来源 - 'reply_mid': 0, - 'reply_attr': 0, - 'replay_dmid': '', - 'statistics': {"appId": 100, "platform": 5}, - 'fontsize': 25, // 字体大小 - 'rnd': DateTime.now().millisecondsSinceEpoch ~/ 1000, // 时间戳 - 'roomid': roomId, - 'csrf': await Request.getCsrf(), - 'csrf_token': await Request.getCsrf(), - }); + var res = await Request().post( + Api.sendLiveMsg, + data: { + 'bubble': 0, + 'msg': msg, + 'color': 16777215, // 颜色 + 'mode': 1, // 模式 + 'room_type': 0, + 'jumpfrom': 71001, // 直播间来源 + 'reply_mid': 0, + 'reply_attr': 0, + 'replay_dmid': '', + 'statistics': {"appId": 100, "platform": 5}, + 'fontsize': 25, // 字体大小 + 'rnd': DateTime.now().millisecondsSinceEpoch ~/ 1000, // 时间戳 + 'roomid': roomId, + 'csrf': await Request.getCsrf(), + 'csrf_token': await Request.getCsrf(), + }, + ); if (res.data['code'] == 0) { return { 'status': true, diff --git a/lib/http/login.dart b/lib/http/login.dart index 71d61b3f..80f58803 100644 --- a/lib/http/login.dart +++ b/lib/http/login.dart @@ -71,9 +71,6 @@ class LoginHttp { var res = await Request().post( Api.webSmsCode, data: formData, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); if (res.data['code'] == 0) { return { @@ -106,9 +103,6 @@ class LoginHttp { var res = await Request().post( Api.webSmsLogin, data: formData, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); if (res.data['code'] == 0) { return { @@ -155,9 +149,6 @@ class LoginHttp { var res = await Request().post( Api.appSmsCode, data: data, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); print(res); } @@ -208,9 +199,6 @@ class LoginHttp { var res = await Request().post( Api.loginInByPwdApi, data: data, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); print(res); } @@ -239,9 +227,6 @@ class LoginHttp { var res = await Request().post( Api.loginInByWebPwd, data: formData, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); if (res.data['code'] == 0) { if (res.data['data']['status'] == 0) { diff --git a/lib/http/member.dart b/lib/http/member.dart index 459d6747..c7b22359 100644 --- a/lib/http/member.dart +++ b/lib/http/member.dart @@ -198,13 +198,15 @@ class MemberHttp { // 设置分组 static Future addUsers(int? fids, String? tagids) async { - var res = await Request().post(Api.addUsers, queryParameters: { - 'fids': fids, - 'tagids': tagids ?? '0', - 'csrf': await Request.getCsrf(), - }, data: { - 'cross_domain': true - }); + var res = await Request().post( + Api.addUsers, + data: { + 'fids': fids, + 'tagids': tagids ?? '0', + 'csrf': await Request.getCsrf(), + }, + queryParameters: {'cross_domain': true}, + ); if (res.data['code'] == 0) { return {'status': true, 'data': [], 'msg': '操作成功'}; } else { @@ -422,11 +424,14 @@ class MemberHttp { static Future cookieToKey() async { var authCodeRes = await getTVCode(); if (authCodeRes['status']) { - var res = await Request().post(Api.cookieToKey, queryParameters: { - 'auth_code': authCodeRes['data'], - 'build': 708200, - 'csrf': await Request.getCsrf(), - }); + var res = await Request().post( + Api.cookieToKey, + data: { + 'auth_code': authCodeRes['data'], + 'build': 708200, + 'csrf': await Request.getCsrf(), + }, + ); await Future.delayed(const Duration(milliseconds: 300)); await qrcodePoll(authCodeRes['data']); if (res.data['code'] == 0) { diff --git a/lib/http/msg.dart b/lib/http/msg.dart index 869b5a28..6426a6f2 100644 --- a/lib/http/msg.dart +++ b/lib/http/msg.dart @@ -1,6 +1,5 @@ import 'dart:convert'; import 'dart:math'; -import 'package:dio/dio.dart'; import 'package:pilipala/models/msg/like.dart'; import 'package:pilipala/models/msg/reply.dart'; import 'package:pilipala/models/msg/system.dart'; @@ -158,9 +157,6 @@ class MsgHttp { 'csrf_token': csrf, 'csrf': csrf, }, - options: Options( - contentType: Headers.formUrlEncodedContentType, - ), ); if (res.data['code'] == 0) { return { diff --git a/lib/http/reply.dart b/lib/http/reply.dart index 880f9072..fc00f06b 100644 --- a/lib/http/reply.dart +++ b/lib/http/reply.dart @@ -78,7 +78,7 @@ class ReplyHttp { }) async { var res = await Request().post( Api.likeReply, - queryParameters: { + data: { 'type': type, 'oid': oid, 'rpid': rpid, diff --git a/lib/http/user.dart b/lib/http/user.dart index f4535905..26b79523 100644 --- a/lib/http/user.dart +++ b/lib/http/user.dart @@ -153,7 +153,7 @@ class UserHttp { // 暂停switchStatus传true 否则false var res = await Request().post( Api.pauseHistory, - queryParameters: { + data: { 'switch': switchStatus, 'jsonp': 'jsonp', 'csrf': await Request.getCsrf(), @@ -172,7 +172,7 @@ class UserHttp { static Future clearHistory() async { var res = await Request().post( Api.clearHistory, - queryParameters: { + data: { 'jsonp': 'jsonp', 'csrf': await Request.getCsrf(), }, @@ -190,7 +190,7 @@ class UserHttp { } var res = await Request().post( Api.toViewLater, - queryParameters: data, + data: data, ); if (res.data['code'] == 0) { return {'status': true, 'msg': 'yeah!稍后再看'}; @@ -209,7 +209,7 @@ class UserHttp { params[aid != null ? 'aid' : 'viewed'] = aid ?? true; var res = await Request().post( Api.toViewDel, - queryParameters: params, + data: params, ); if (res.data['code'] == 0) { return {'status': true, 'msg': 'yeah!成功移除'}; @@ -241,7 +241,7 @@ class UserHttp { static Future toViewClear() async { var res = await Request().post( Api.toViewClear, - queryParameters: { + data: { 'jsonp': 'jsonp', 'csrf': await Request.getCsrf(), }, @@ -257,7 +257,7 @@ class UserHttp { static Future delHistory(kid) async { var res = await Request().post( Api.delHistory, - queryParameters: { + data: { 'kid': kid, 'jsonp': 'jsonp', 'csrf': await Request.getCsrf(), @@ -406,7 +406,7 @@ class UserHttp { static Future cancelSub({required int seasonId}) async { var res = await Request().post( Api.cancelSub, - queryParameters: { + data: { 'platform': 'web', 'season_id': seasonId, 'csrf': await Request.getCsrf(), @@ -423,7 +423,7 @@ class UserHttp { static Future delFavFolder({required int mediaIds}) async { var res = await Request().post( Api.delFavFolder, - queryParameters: { + data: { 'media_ids': mediaIds, 'platform': 'web', 'csrf': await Request.getCsrf(), diff --git a/lib/http/video.dart b/lib/http/video.dart index 160f5db2..95ea6782 100644 --- a/lib/http/video.dart +++ b/lib/http/video.dart @@ -243,7 +243,7 @@ class VideoHttp { static Future coinVideo({required String bvid, required int multiply}) async { var res = await Request().post( Api.coinVideo, - queryParameters: { + data: { 'bvid': bvid, 'multiply': multiply, 'select_like': 0, @@ -271,7 +271,7 @@ class VideoHttp { static Future oneThree({required String bvid}) async { var res = await Request().post( Api.oneThree, - queryParameters: { + data: { 'bvid': bvid, 'csrf': await Request.getCsrf(), }, @@ -287,7 +287,7 @@ class VideoHttp { static Future likeVideo({required String bvid, required bool type}) async { var res = await Request().post( Api.likeVideo, - queryParameters: { + data: { 'bvid': bvid, 'like': type ? 1 : 2, 'csrf': await Request.getCsrf(), @@ -303,13 +303,16 @@ class VideoHttp { // (取消)收藏 static Future favVideo( {required int aid, String? addIds, String? delIds}) async { - var res = await Request().post(Api.favVideo, queryParameters: { - 'rid': aid, - 'type': 2, - 'add_media_ids': addIds ?? '', - 'del_media_ids': delIds ?? '', - 'csrf': await Request.getCsrf(), - }); + var res = await Request().post( + Api.favVideo, + data: { + 'rid': aid, + 'type': 2, + 'add_media_ids': addIds ?? '', + 'del_media_ids': delIds ?? '', + 'csrf': await Request.getCsrf(), + }, + ); if (res.data['code'] == 0) { return {'status': true, 'data': res.data['data']}; } else { @@ -347,14 +350,17 @@ class VideoHttp { if (message == '') { return {'status': false, 'data': [], 'msg': '请输入评论内容'}; } - var res = await Request().post(Api.replyAdd, queryParameters: { - 'type': type.index, - 'oid': oid, - 'root': root == null || root == 0 ? '' : root, - 'parent': parent == null || parent == 0 ? '' : parent, - 'message': message, - 'csrf': await Request.getCsrf(), - }); + var res = await Request().post( + Api.replyAdd, + data: { + 'type': type.index, + 'oid': oid, + 'root': root == null || root == 0 ? '' : root, + 'parent': parent == null || parent == 0 ? '' : parent, + 'message': message, + 'csrf': await Request.getCsrf(), + }, + ); log(res.toString()); if (res.data['code'] == 0) { return {'status': true, 'data': res.data['data']}; @@ -376,12 +382,15 @@ class VideoHttp { // 操作用户关系 static Future relationMod( {required int mid, required int act, required int reSrc}) async { - var res = await Request().post(Api.relationMod, queryParameters: { - 'fid': mid, - 'act': act, - 're_src': reSrc, - 'csrf': await Request.getCsrf(), - }); + var res = await Request().post( + Api.relationMod, + data: { + 'fid': mid, + 'act': act, + 're_src': reSrc, + 'csrf': await Request.getCsrf(), + }, + ); if (res.data['code'] == 0) { if (act == 5) { List blackMidsList = @@ -397,27 +406,33 @@ class VideoHttp { // 视频播放进度 static Future heartBeat({bvid, cid, progress, realtime}) async { - await Request().post(Api.heartBeat, queryParameters: { - // 'aid': aid, - 'bvid': bvid, - 'cid': cid, - // 'epid': '', - // 'sid': '', - // 'mid': '', - 'played_time': progress, - // 'realtime': realtime, - // 'type': '', - // 'sub_type': '', - 'csrf': await Request.getCsrf(), - }); + await Request().post( + Api.heartBeat, + data: { + // 'aid': aid, + 'bvid': bvid, + 'cid': cid, + // 'epid': '', + // 'sid': '', + // 'mid': '', + 'played_time': progress, + // 'realtime': realtime, + // 'type': '', + // 'sub_type': '', + 'csrf': await Request.getCsrf(), + }, + ); } // 添加追番 static Future bangumiAdd({int? seasonId}) async { - var res = await Request().post(Api.bangumiAdd, queryParameters: { - 'season_id': seasonId, - 'csrf': await Request.getCsrf(), - }); + var res = await Request().post( + Api.bangumiAdd, + data: { + 'season_id': seasonId, + 'csrf': await Request.getCsrf(), + }, + ); if (res.data['code'] == 0) { return {'status': true, 'msg': res.data['result']['toast']}; } else { @@ -427,10 +442,13 @@ class VideoHttp { // 取消追番 static Future bangumiDel({int? seasonId}) async { - var res = await Request().post(Api.bangumiDel, queryParameters: { - 'season_id': seasonId, - 'csrf': await Request.getCsrf(), - }); + var res = await Request().post( + Api.bangumiDel, + data: { + 'season_id': seasonId, + 'csrf': await Request.getCsrf(), + }, + ); if (res.data['code'] == 0) { return {'status': true, 'msg': res.data['result']['toast']}; } else {