mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-17 07:36:14 +08:00
opt pub panel
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import 'package:PiliPlus/common/widgets/pair.dart';
|
||||
import 'package:PiliPlus/http/api.dart';
|
||||
import 'package:PiliPlus/http/constants.dart';
|
||||
import 'package:PiliPlus/http/init.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/common/dynamic/dynamics_type.dart';
|
||||
import 'package:PiliPlus/models/common/reply/reply_option_type.dart';
|
||||
import 'package:PiliPlus/models/dynamics/article_list/data.dart';
|
||||
import 'package:PiliPlus/models/dynamics/dyn_topic_feed/topic_card_list.dart';
|
||||
import 'package:PiliPlus/models/dynamics/dyn_topic_top/top_details.dart';
|
||||
@@ -12,6 +14,7 @@ import 'package:PiliPlus/models/dynamics/vote_model.dart';
|
||||
import 'package:PiliPlus/models/space_article/item.dart';
|
||||
import 'package:PiliPlus/utils/accounts/account.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:PiliPlus/utils/wbi_sign.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
@@ -131,6 +134,96 @@ class DynamicsHttp {
|
||||
}
|
||||
}
|
||||
|
||||
static Future createDynamic({
|
||||
dynamic mid,
|
||||
dynamic dynIdStr, // repost dyn
|
||||
dynamic rid, // repost video
|
||||
dynamic dynType,
|
||||
dynamic rawText,
|
||||
List? pics,
|
||||
int? publishTime,
|
||||
ReplyOptionType? replyOption,
|
||||
int? privatePub,
|
||||
List<Map<String, dynamic>>? extraContent,
|
||||
Pair<int, String>? topic,
|
||||
String? title,
|
||||
}) async {
|
||||
var res = await Request().post(
|
||||
Api.createDynamic,
|
||||
queryParameters: {
|
||||
'platform': 'web',
|
||||
'csrf': Accounts.main.csrf,
|
||||
'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": "",
|
||||
},
|
||||
if (extraContent != null) ...extraContent,
|
||||
],
|
||||
if (title?.isNotEmpty == true) 'title': title,
|
||||
},
|
||||
if (privatePub != null || replyOption != null || publishTime != null)
|
||||
"option": {
|
||||
if (privatePub != null) 'private_pub': privatePub,
|
||||
if (publishTime != null) "timer_pub_time": publishTime,
|
||||
if (replyOption == ReplyOptionType.close)
|
||||
"close_comment": 1
|
||||
else if (replyOption == ReplyOptionType.choose)
|
||||
"up_choose_comment": 1,
|
||||
},
|
||||
"scene": rid != null
|
||||
? 5
|
||||
: dynIdStr != null
|
||||
? 4
|
||||
: pics != null
|
||||
? 2
|
||||
: 1,
|
||||
if (pics != null) 'pics': pics,
|
||||
"attach_card": null,
|
||||
"upload_id":
|
||||
"${rid != null ? 0 : mid}_${DateTime.now().millisecondsSinceEpoch ~/ 1000}_${Utils.random.nextInt(9000) + 1000}",
|
||||
"meta": {
|
||||
"app_meta": {"from": "create.dynamic.web", "mobi_app": "web"}
|
||||
},
|
||||
if (topic != null)
|
||||
"topic": {
|
||||
"id": topic.first,
|
||||
"name": topic.second,
|
||||
"from_source": "dyn.web.list",
|
||||
"from_topic_id": 0,
|
||||
}
|
||||
},
|
||||
if (dynIdStr != null || rid != null)
|
||||
"web_repost_src": {
|
||||
if (dynIdStr != null) "dyn_id_str": dynIdStr,
|
||||
if (rid != null)
|
||||
"revs_id": {
|
||||
"dyn_type": dynType,
|
||||
"rid": rid,
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return {
|
||||
'status': true,
|
||||
'data': res.data['data'],
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
'status': false,
|
||||
'msg': res.data['message'],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
static Future dynamicDetail({
|
||||
dynamic id,
|
||||
|
||||
Reference in New Issue
Block a user