feat: show member article

This commit is contained in:
bggRGjQaUbCoE
2024-10-19 10:38:29 +08:00
parent 8c26ef4ff6
commit d04a72c462
34 changed files with 1098 additions and 8 deletions

View File

@@ -300,6 +300,9 @@ class Api {
static const String spaceBangumi =
'${HttpString.appBaseUrl}/x/v2/space/bangumi';
static const String spaceArticle =
'${HttpString.appBaseUrl}/x/v2/space/article';
static const String spaceFav = '/x/v3/fav/folder/space';
// 用户名片信息

View File

@@ -20,6 +20,7 @@ import '../models/member/info.dart';
import '../models/member/seasons.dart';
import '../models/member/tags.dart';
import '../models/space_archive/data.dart' as archive;
import '../models/space_article/data.dart' as article;
import '../utils/utils.dart';
import '../utils/wbi_sign.dart';
import 'index.dart';
@@ -60,6 +61,54 @@ class MemberHttp {
}
}
static Future<LoadingState> spaceArticle({
required int mid,
required int page,
}) async {
String? accessKey = GStorage.localCache
.get(LocalCacheKey.accessKey, defaultValue: {})['value'];
Map<String, String> data = {
if (accessKey != null) 'access_key': accessKey,
'appkey': Constants.appKey,
'build': '1462100',
'c_locale': 'zh_CN',
'channel': 'yingyongbao',
'mobi_app': 'android_hd',
'platform': 'android',
'pn': '$page',
'ps': '10',
's_locale': 'zh_CN',
'statistics': Constants.statistics,
'ts': (DateTime.now().millisecondsSinceEpoch ~/ 1000).toString(),
'vmid': mid.toString(),
};
String sign = Utils.appSign(
data,
Constants.appKey,
Constants.appSec,
);
data['sign'] = sign;
int? _mid = GStorage.userInfo.get('userInfoCache')?.mid;
dynamic res = await Request().get(
Api.spaceArticle,
data: data,
options: Options(
headers: {
'env': 'prod',
'app-key': 'android_hd',
'x-bili-mid': _mid,
'bili-http-engine': 'cronet',
'user-agent': Constants.userAgent,
},
),
);
if (res.data['code'] == 0) {
return LoadingState.success(article.Data.fromJson(res.data['data']));
} else {
return LoadingState.error(res.data['message']);
}
}
static Future<LoadingState> spaceFav({
required int mid,
}) async {