opt: search member archive

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-08 18:11:47 +08:00
parent 63a12ba6ed
commit ce89a5fdb9
2 changed files with 26 additions and 0 deletions

View File

@@ -336,6 +336,7 @@ class MemberHttp {
String? keyword, String? keyword,
String order = 'pubdate', String order = 'pubdate',
bool orderAvoided = true, bool orderAvoided = true,
dynamic wwebid,
}) async { }) async {
String dmImgStr = Utils.base64EncodeRandomString(16, 64); String dmImgStr = Utils.base64EncodeRandomString(16, 64);
String dmCoverImgStr = Utils.base64EncodeRandomString(32, 128); String dmCoverImgStr = Utils.base64EncodeRandomString(32, 128);
@@ -353,6 +354,7 @@ class MemberHttp {
'dm_img_str': dmImgStr, 'dm_img_str': dmImgStr,
'dm_cover_img_str': dmCoverImgStr, 'dm_cover_img_str': dmCoverImgStr,
'dm_img_inter': '{"ds":[],"wh":[0,0,0],"of":[0,0,0]}', 'dm_img_inter': '{"ds":[],"wh":[0,0,0],"of":[0,0,0]}',
'w_webid': wwebid,
}); });
var res = await Request().get( var res = await Request().get(
Api.memberArchive, Api.memberArchive,

View File

@@ -1,8 +1,14 @@
import 'dart:convert';
import 'package:PiliPalaX/http/constants.dart';
import 'package:PiliPalaX/http/init.dart';
import 'package:PiliPalaX/http/loading_state.dart'; import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/utils/extension.dart'; import 'package:PiliPalaX/utils/extension.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:PiliPalaX/http/member.dart'; import 'package:PiliPalaX/http/member.dart';
import 'package:html/dom.dart' as dom;
import 'package:html/parser.dart' as html_parser;
class MemberSearchController extends GetxController class MemberSearchController extends GetxController
with GetSingleTickerProviderStateMixin { with GetSingleTickerProviderStateMixin {
@@ -26,11 +32,14 @@ class MemberSearchController extends GetxController
bool isEndDynamic = false; bool isEndDynamic = false;
Rx<LoadingState> dynamicState = LoadingState.loading().obs; Rx<LoadingState> dynamicState = LoadingState.loading().obs;
dynamic wwebid;
@override @override
void onInit() { void onInit() {
super.onInit(); super.onInit();
mid = int.parse(Get.parameters['mid']!); mid = int.parse(Get.parameters['mid']!);
uname.value = Get.parameters['uname']!; uname.value = Get.parameters['uname']!;
getWwebid();
} }
// 清空搜索 // 清空搜索
@@ -96,6 +105,20 @@ class MemberSearchController extends GetxController
} }
} }
Future getWwebid() async {
try {
dynamic response =
await Request().get('${HttpString.spaceBaseUrl}/$mid/dynamic');
dom.Document document = html_parser.parse(response.data);
dom.Element? scriptElement =
document.querySelector('script#__RENDER_DATA__');
wwebid = jsonDecode(
Uri.decodeComponent(scriptElement?.text ?? ''))['access_id'];
} catch (e) {
debugPrint('failed to get wwebid: $e');
}
}
// 搜索视频 // 搜索视频
Future searchArchives([bool isRefresh = true]) async { Future searchArchives([bool isRefresh = true]) async {
if (isRefresh.not && isEndArchive) return; if (isRefresh.not && isEndArchive) return;
@@ -104,6 +127,7 @@ class MemberSearchController extends GetxController
pn: archivePn, pn: archivePn,
keyword: textEditingController.text, keyword: textEditingController.text,
order: 'pubdate', order: 'pubdate',
wwebid: wwebid,
); );
if (res['status']) { if (res['status']) {
if (isRefresh) { if (isRefresh) {