mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
refactor: migrate to gRPC [wip]
This commit is contained in:
124
lib/grpc/app/playeronline/v1/playeronline.dart
Normal file
124
lib/grpc/app/playeronline/v1/playeronline.dart
Normal file
@@ -0,0 +1,124 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:PiliPalaX/grpc/device/device.pb.dart';
|
||||
import 'package:PiliPalaX/grpc/fawkes/fawkes.pb.dart';
|
||||
import 'package:PiliPalaX/grpc/locale/locale.pb.dart';
|
||||
import 'package:PiliPalaX/grpc/metadata/metadata.pb.dart';
|
||||
import 'package:PiliPalaX/grpc/network/network.pb.dart';
|
||||
import 'package:PiliPalaX/grpc/app/playeronline/v1/playeronline.pbgrpc.dart';
|
||||
import 'package:PiliPalaX/grpc/restriction/restriction.pb.dart';
|
||||
import 'package:PiliPalaX/utils/storage.dart';
|
||||
import 'package:PiliPalaX/utils/utils.dart';
|
||||
import 'package:fixnum/src/int64.dart';
|
||||
import 'package:grpc/grpc.dart';
|
||||
|
||||
class OnlineClient {
|
||||
ClientChannel? _channel;
|
||||
PlayerOnlineClient? _stub;
|
||||
|
||||
OnlineClient() {
|
||||
_channel = ClientChannel(
|
||||
'grpc.biliapi.net',
|
||||
port: 443,
|
||||
options: ChannelOptions(
|
||||
credentials: ChannelCredentials.secure(),
|
||||
),
|
||||
);
|
||||
_stub = PlayerOnlineClient(_channel!);
|
||||
}
|
||||
|
||||
Future<void> playerOnline({
|
||||
int aid = 0,
|
||||
int cid = 0,
|
||||
}) async {
|
||||
try {
|
||||
int mid = GStorage.userInfo.get('userInfoCache').mid;
|
||||
String accessKey = GStorage.localCache
|
||||
.get(LocalCacheKey.accessKey, defaultValue: {})['value'];
|
||||
String traceId = Utils.genTraceId();
|
||||
String eId = Utils.genAuroraEid(mid);
|
||||
|
||||
final metadata = {
|
||||
'user-agent':
|
||||
'Dalvik/2.1.0 (Linux; U; Android 12; android Build/android) 7380300 os/android model/android mobi_app/android build/7380300 channel/master innerVer/7380300 osVer/12 network/2 grpc-java-cronet/1.36.1',
|
||||
'x-bili-gaia-vtoken': '',
|
||||
'x-bili-aurora-eid': eId,
|
||||
'x-bili-mid': mid.toString(),
|
||||
'x-bili-aurora-zone': '',
|
||||
'x-bili-trace-id': traceId,
|
||||
'authorization': 'identify_v1 $accessKey',
|
||||
'buvid': 'XX82B818F96FB2F312B3A1BA44DB41892FF99',
|
||||
'bili-http-engine': 'cronet',
|
||||
'te': 'trailers',
|
||||
'x-bili-fawkes-req-bin': base64Encode((FawkesReq()
|
||||
..appkey = 'android64'
|
||||
..env = 'prod'
|
||||
..sessionId = '5974f68d')
|
||||
.writeToBuffer()),
|
||||
'x-bili-metadata-bin': base64Encode((Metadata()
|
||||
..accessKey = accessKey
|
||||
..mobiApp = 'android'
|
||||
..device = 'phone'
|
||||
..build = 7380300
|
||||
..channel = 'bili'
|
||||
..buvid = 'XX82B818F96FB2F312B3A1BA44DB41892FF99'
|
||||
..platform = 'android')
|
||||
.writeToBuffer()),
|
||||
'x-bili-device-bin': base64Encode((Device()
|
||||
..appId = 1
|
||||
..build = 7380300
|
||||
..buvid = 'XX82B818F96FB2F312B3A1BA44DB41892FF99'
|
||||
..mobiApp = 'android'
|
||||
..platform = 'android'
|
||||
..device = 'phone'
|
||||
..channel = 'bili'
|
||||
..brand = ''
|
||||
..model = ''
|
||||
..osver = ''
|
||||
..fpLocal = ''
|
||||
..fpRemote = ''
|
||||
..versionName = ''
|
||||
..fp = ''
|
||||
..fts = Int64(123456789))
|
||||
.writeToBuffer()),
|
||||
'x-bili-network-bin': base64Encode((Network()
|
||||
..type = NetworkType.WIFI
|
||||
..tf = TFType.TF_UNKNOWN
|
||||
..oid = 'CMCC')
|
||||
.writeToBuffer()),
|
||||
'x-bili-restriction-bin': base64Encode((Restriction()
|
||||
..teenagersMode = false
|
||||
..lessonsMode = false
|
||||
..mode = ModeType.NORMAL
|
||||
..review = false
|
||||
..disableRcmd = false
|
||||
..basicMode = false)
|
||||
.writeToBuffer()),
|
||||
'x-bili-locale-bin': base64Encode((Locale()
|
||||
..cLocale = LocaleIds(language: 'CN')
|
||||
..sLocale = LocaleIds(language: 'CN')
|
||||
..simCode = ''
|
||||
..timezone = 'Asia/Shanghai')
|
||||
.writeToBuffer()),
|
||||
'x-bili-exps-bin': '',
|
||||
};
|
||||
|
||||
final options = CallOptions(
|
||||
metadata: metadata,
|
||||
);
|
||||
|
||||
final request = PlayerOnlineReq()
|
||||
..aid = Int64(aid)
|
||||
..cid = Int64(cid)
|
||||
..playOpen = true;
|
||||
final response = await _stub!.playerOnline(request, options: options);
|
||||
print('Server response: ${response.totalText}');
|
||||
} catch (e) {
|
||||
print('Caught error: $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> shutdown() async {
|
||||
await _channel?.shutdown();
|
||||
}
|
||||
}
|
||||
477
lib/grpc/app/playeronline/v1/playeronline.pb.dart
Normal file
477
lib/grpc/app/playeronline/v1/playeronline.pb.dart
Normal file
@@ -0,0 +1,477 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: playeronline.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
/// 空回复
|
||||
class NoReply extends $pb.GeneratedMessage {
|
||||
factory NoReply() => create();
|
||||
NoReply._() : super();
|
||||
factory NoReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory NoReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NoReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.app.playeronline.v1'), createEmptyInstance: create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
NoReply clone() => NoReply()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
NoReply copyWith(void Function(NoReply) updates) => super.copyWith((message) => updates(message as NoReply)) as NoReply;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static NoReply create() => NoReply._();
|
||||
NoReply createEmptyInstance() => create();
|
||||
static $pb.PbList<NoReply> createRepeated() => $pb.PbList<NoReply>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static NoReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NoReply>(create);
|
||||
static NoReply? _defaultInstance;
|
||||
}
|
||||
|
||||
/// 获取在线人数-回复
|
||||
class PlayerOnlineReply extends $pb.GeneratedMessage {
|
||||
factory PlayerOnlineReply({
|
||||
$core.String? totalText,
|
||||
$fixnum.Int64? secNext,
|
||||
$core.bool? bottomShow,
|
||||
$core.bool? sdmShow,
|
||||
$core.String? sdmText,
|
||||
$fixnum.Int64? totalNumber,
|
||||
$core.String? totalNumberText,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (totalText != null) {
|
||||
$result.totalText = totalText;
|
||||
}
|
||||
if (secNext != null) {
|
||||
$result.secNext = secNext;
|
||||
}
|
||||
if (bottomShow != null) {
|
||||
$result.bottomShow = bottomShow;
|
||||
}
|
||||
if (sdmShow != null) {
|
||||
$result.sdmShow = sdmShow;
|
||||
}
|
||||
if (sdmText != null) {
|
||||
$result.sdmText = sdmText;
|
||||
}
|
||||
if (totalNumber != null) {
|
||||
$result.totalNumber = totalNumber;
|
||||
}
|
||||
if (totalNumberText != null) {
|
||||
$result.totalNumberText = totalNumberText;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
PlayerOnlineReply._() : super();
|
||||
factory PlayerOnlineReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory PlayerOnlineReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PlayerOnlineReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.app.playeronline.v1'), createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'totalText')
|
||||
..aInt64(2, _omitFieldNames ? '' : 'secNext')
|
||||
..aOB(3, _omitFieldNames ? '' : 'bottomShow')
|
||||
..aOB(4, _omitFieldNames ? '' : 'sdmShow')
|
||||
..aOS(5, _omitFieldNames ? '' : 'sdmText')
|
||||
..aInt64(6, _omitFieldNames ? '' : 'totalNumber')
|
||||
..aOS(7, _omitFieldNames ? '' : 'totalNumberText')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
PlayerOnlineReply clone() => PlayerOnlineReply()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
PlayerOnlineReply copyWith(void Function(PlayerOnlineReply) updates) => super.copyWith((message) => updates(message as PlayerOnlineReply)) as PlayerOnlineReply;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PlayerOnlineReply create() => PlayerOnlineReply._();
|
||||
PlayerOnlineReply createEmptyInstance() => create();
|
||||
static $pb.PbList<PlayerOnlineReply> createRepeated() => $pb.PbList<PlayerOnlineReply>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PlayerOnlineReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PlayerOnlineReply>(create);
|
||||
static PlayerOnlineReply? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get totalText => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set totalText($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasTotalText() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearTotalText() => clearField(1);
|
||||
|
||||
/// 下次轮询间隔时间
|
||||
@$pb.TagNumber(2)
|
||||
$fixnum.Int64 get secNext => $_getI64(1);
|
||||
@$pb.TagNumber(2)
|
||||
set secNext($fixnum.Int64 v) { $_setInt64(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasSecNext() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearSecNext() => clearField(2);
|
||||
|
||||
/// 是否底部显示
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool get bottomShow => $_getBF(2);
|
||||
@$pb.TagNumber(3)
|
||||
set bottomShow($core.bool v) { $_setBool(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasBottomShow() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearBottomShow() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool get sdmShow => $_getBF(3);
|
||||
@$pb.TagNumber(4)
|
||||
set sdmShow($core.bool v) { $_setBool(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasSdmShow() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearSdmShow() => clearField(4);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.String get sdmText => $_getSZ(4);
|
||||
@$pb.TagNumber(5)
|
||||
set sdmText($core.String v) { $_setString(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasSdmText() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearSdmText() => clearField(5);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$fixnum.Int64 get totalNumber => $_getI64(5);
|
||||
@$pb.TagNumber(6)
|
||||
set totalNumber($fixnum.Int64 v) { $_setInt64(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasTotalNumber() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearTotalNumber() => clearField(6);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.String get totalNumberText => $_getSZ(6);
|
||||
@$pb.TagNumber(7)
|
||||
set totalNumberText($core.String v) { $_setString(6, v); }
|
||||
@$pb.TagNumber(7)
|
||||
$core.bool hasTotalNumberText() => $_has(6);
|
||||
@$pb.TagNumber(7)
|
||||
void clearTotalNumberText() => clearField(7);
|
||||
}
|
||||
|
||||
/// 获取在线人数-请求
|
||||
class PlayerOnlineReq extends $pb.GeneratedMessage {
|
||||
factory PlayerOnlineReq({
|
||||
$fixnum.Int64? aid,
|
||||
$fixnum.Int64? cid,
|
||||
$core.bool? playOpen,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (aid != null) {
|
||||
$result.aid = aid;
|
||||
}
|
||||
if (cid != null) {
|
||||
$result.cid = cid;
|
||||
}
|
||||
if (playOpen != null) {
|
||||
$result.playOpen = playOpen;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
PlayerOnlineReq._() : super();
|
||||
factory PlayerOnlineReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory PlayerOnlineReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PlayerOnlineReq', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.app.playeronline.v1'), createEmptyInstance: create)
|
||||
..aInt64(1, _omitFieldNames ? '' : 'aid')
|
||||
..aInt64(2, _omitFieldNames ? '' : 'cid')
|
||||
..aOB(3, _omitFieldNames ? '' : 'playOpen')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
PlayerOnlineReq clone() => PlayerOnlineReq()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
PlayerOnlineReq copyWith(void Function(PlayerOnlineReq) updates) => super.copyWith((message) => updates(message as PlayerOnlineReq)) as PlayerOnlineReq;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PlayerOnlineReq create() => PlayerOnlineReq._();
|
||||
PlayerOnlineReq createEmptyInstance() => create();
|
||||
static $pb.PbList<PlayerOnlineReq> createRepeated() => $pb.PbList<PlayerOnlineReq>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PlayerOnlineReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PlayerOnlineReq>(create);
|
||||
static PlayerOnlineReq? _defaultInstance;
|
||||
|
||||
/// 稿件 avid
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get aid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set aid($fixnum.Int64 v) { $_setInt64(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAid() => clearField(1);
|
||||
|
||||
/// 视频 cid
|
||||
@$pb.TagNumber(2)
|
||||
$fixnum.Int64 get cid => $_getI64(1);
|
||||
@$pb.TagNumber(2)
|
||||
set cid($fixnum.Int64 v) { $_setInt64(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasCid() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearCid() => clearField(2);
|
||||
|
||||
/// 是否在播放中
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool get playOpen => $_getBF(2);
|
||||
@$pb.TagNumber(3)
|
||||
set playOpen($core.bool v) { $_setBool(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasPlayOpen() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearPlayOpen() => clearField(3);
|
||||
}
|
||||
|
||||
class PremiereInfoReply extends $pb.GeneratedMessage {
|
||||
factory PremiereInfoReply({
|
||||
$core.String? premiereOverText,
|
||||
$fixnum.Int64? participant,
|
||||
$fixnum.Int64? interaction,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (premiereOverText != null) {
|
||||
$result.premiereOverText = premiereOverText;
|
||||
}
|
||||
if (participant != null) {
|
||||
$result.participant = participant;
|
||||
}
|
||||
if (interaction != null) {
|
||||
$result.interaction = interaction;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
PremiereInfoReply._() : super();
|
||||
factory PremiereInfoReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory PremiereInfoReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PremiereInfoReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.app.playeronline.v1'), createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'premiereOverText')
|
||||
..aInt64(2, _omitFieldNames ? '' : 'participant')
|
||||
..aInt64(3, _omitFieldNames ? '' : 'interaction')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
PremiereInfoReply clone() => PremiereInfoReply()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
PremiereInfoReply copyWith(void Function(PremiereInfoReply) updates) => super.copyWith((message) => updates(message as PremiereInfoReply)) as PremiereInfoReply;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PremiereInfoReply create() => PremiereInfoReply._();
|
||||
PremiereInfoReply createEmptyInstance() => create();
|
||||
static $pb.PbList<PremiereInfoReply> createRepeated() => $pb.PbList<PremiereInfoReply>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PremiereInfoReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PremiereInfoReply>(create);
|
||||
static PremiereInfoReply? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get premiereOverText => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set premiereOverText($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasPremiereOverText() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearPremiereOverText() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$fixnum.Int64 get participant => $_getI64(1);
|
||||
@$pb.TagNumber(2)
|
||||
set participant($fixnum.Int64 v) { $_setInt64(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasParticipant() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearParticipant() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$fixnum.Int64 get interaction => $_getI64(2);
|
||||
@$pb.TagNumber(3)
|
||||
set interaction($fixnum.Int64 v) { $_setInt64(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasInteraction() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearInteraction() => clearField(3);
|
||||
}
|
||||
|
||||
class PremiereInfoReq extends $pb.GeneratedMessage {
|
||||
factory PremiereInfoReq({
|
||||
$fixnum.Int64? aid,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (aid != null) {
|
||||
$result.aid = aid;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
PremiereInfoReq._() : super();
|
||||
factory PremiereInfoReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory PremiereInfoReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PremiereInfoReq', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.app.playeronline.v1'), createEmptyInstance: create)
|
||||
..aInt64(1, _omitFieldNames ? '' : 'aid')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
PremiereInfoReq clone() => PremiereInfoReq()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
PremiereInfoReq copyWith(void Function(PremiereInfoReq) updates) => super.copyWith((message) => updates(message as PremiereInfoReq)) as PremiereInfoReq;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PremiereInfoReq create() => PremiereInfoReq._();
|
||||
PremiereInfoReq createEmptyInstance() => create();
|
||||
static $pb.PbList<PremiereInfoReq> createRepeated() => $pb.PbList<PremiereInfoReq>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static PremiereInfoReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PremiereInfoReq>(create);
|
||||
static PremiereInfoReq? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get aid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set aid($fixnum.Int64 v) { $_setInt64(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAid() => clearField(1);
|
||||
}
|
||||
|
||||
class ReportWatchReq extends $pb.GeneratedMessage {
|
||||
factory ReportWatchReq({
|
||||
$fixnum.Int64? aid,
|
||||
$core.String? biz,
|
||||
$core.String? buvid,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (aid != null) {
|
||||
$result.aid = aid;
|
||||
}
|
||||
if (biz != null) {
|
||||
$result.biz = biz;
|
||||
}
|
||||
if (buvid != null) {
|
||||
$result.buvid = buvid;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
ReportWatchReq._() : super();
|
||||
factory ReportWatchReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory ReportWatchReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ReportWatchReq', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.app.playeronline.v1'), createEmptyInstance: create)
|
||||
..aInt64(1, _omitFieldNames ? '' : 'aid')
|
||||
..aOS(2, _omitFieldNames ? '' : 'biz')
|
||||
..aOS(3, _omitFieldNames ? '' : 'buvid')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
ReportWatchReq clone() => ReportWatchReq()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
ReportWatchReq copyWith(void Function(ReportWatchReq) updates) => super.copyWith((message) => updates(message as ReportWatchReq)) as ReportWatchReq;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ReportWatchReq create() => ReportWatchReq._();
|
||||
ReportWatchReq createEmptyInstance() => create();
|
||||
static $pb.PbList<ReportWatchReq> createRepeated() => $pb.PbList<ReportWatchReq>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ReportWatchReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ReportWatchReq>(create);
|
||||
static ReportWatchReq? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$fixnum.Int64 get aid => $_getI64(0);
|
||||
@$pb.TagNumber(1)
|
||||
set aid($fixnum.Int64 v) { $_setInt64(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAid() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAid() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get biz => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set biz($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasBiz() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearBiz() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get buvid => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set buvid($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasBuvid() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearBuvid() => clearField(3);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
11
lib/grpc/app/playeronline/v1/playeronline.pbenum.dart
Normal file
11
lib/grpc/app/playeronline/v1/playeronline.pbenum.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: playeronline.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
99
lib/grpc/app/playeronline/v1/playeronline.pbgrpc.dart
Normal file
99
lib/grpc/app/playeronline/v1/playeronline.pbgrpc.dart
Normal file
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: playeronline.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:async' as $async;
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:grpc/service_api.dart' as $grpc;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'playeronline.pb.dart' as $0;
|
||||
|
||||
export 'playeronline.pb.dart';
|
||||
|
||||
@$pb.GrpcServiceName('bilibili.app.playeronline.v1.PlayerOnline')
|
||||
class PlayerOnlineClient extends $grpc.Client {
|
||||
static final _$playerOnline = $grpc.ClientMethod<$0.PlayerOnlineReq, $0.PlayerOnlineReply>(
|
||||
'/bilibili.app.playeronline.v1.PlayerOnline/PlayerOnline',
|
||||
($0.PlayerOnlineReq value) => value.writeToBuffer(),
|
||||
($core.List<$core.int> value) => $0.PlayerOnlineReply.fromBuffer(value));
|
||||
static final _$premiereInfo = $grpc.ClientMethod<$0.PremiereInfoReq, $0.PremiereInfoReply>(
|
||||
'/bilibili.app.playeronline.v1.PlayerOnline/PremiereInfo',
|
||||
($0.PremiereInfoReq value) => value.writeToBuffer(),
|
||||
($core.List<$core.int> value) => $0.PremiereInfoReply.fromBuffer(value));
|
||||
static final _$reportWatch = $grpc.ClientMethod<$0.ReportWatchReq, $0.NoReply>(
|
||||
'/bilibili.app.playeronline.v1.PlayerOnline/ReportWatch',
|
||||
($0.ReportWatchReq value) => value.writeToBuffer(),
|
||||
($core.List<$core.int> value) => $0.NoReply.fromBuffer(value));
|
||||
|
||||
PlayerOnlineClient($grpc.ClientChannel channel,
|
||||
{$grpc.CallOptions? options,
|
||||
$core.Iterable<$grpc.ClientInterceptor>? interceptors})
|
||||
: super(channel, options: options,
|
||||
interceptors: interceptors);
|
||||
|
||||
$grpc.ResponseFuture<$0.PlayerOnlineReply> playerOnline($0.PlayerOnlineReq request, {$grpc.CallOptions? options}) {
|
||||
return $createUnaryCall(_$playerOnline, request, options: options);
|
||||
}
|
||||
|
||||
$grpc.ResponseFuture<$0.PremiereInfoReply> premiereInfo($0.PremiereInfoReq request, {$grpc.CallOptions? options}) {
|
||||
return $createUnaryCall(_$premiereInfo, request, options: options);
|
||||
}
|
||||
|
||||
$grpc.ResponseFuture<$0.NoReply> reportWatch($0.ReportWatchReq request, {$grpc.CallOptions? options}) {
|
||||
return $createUnaryCall(_$reportWatch, request, options: options);
|
||||
}
|
||||
}
|
||||
|
||||
@$pb.GrpcServiceName('bilibili.app.playeronline.v1.PlayerOnline')
|
||||
abstract class PlayerOnlineServiceBase extends $grpc.Service {
|
||||
$core.String get $name => 'bilibili.app.playeronline.v1.PlayerOnline';
|
||||
|
||||
PlayerOnlineServiceBase() {
|
||||
$addMethod($grpc.ServiceMethod<$0.PlayerOnlineReq, $0.PlayerOnlineReply>(
|
||||
'PlayerOnline',
|
||||
playerOnline_Pre,
|
||||
false,
|
||||
false,
|
||||
($core.List<$core.int> value) => $0.PlayerOnlineReq.fromBuffer(value),
|
||||
($0.PlayerOnlineReply value) => value.writeToBuffer()));
|
||||
$addMethod($grpc.ServiceMethod<$0.PremiereInfoReq, $0.PremiereInfoReply>(
|
||||
'PremiereInfo',
|
||||
premiereInfo_Pre,
|
||||
false,
|
||||
false,
|
||||
($core.List<$core.int> value) => $0.PremiereInfoReq.fromBuffer(value),
|
||||
($0.PremiereInfoReply value) => value.writeToBuffer()));
|
||||
$addMethod($grpc.ServiceMethod<$0.ReportWatchReq, $0.NoReply>(
|
||||
'ReportWatch',
|
||||
reportWatch_Pre,
|
||||
false,
|
||||
false,
|
||||
($core.List<$core.int> value) => $0.ReportWatchReq.fromBuffer(value),
|
||||
($0.NoReply value) => value.writeToBuffer()));
|
||||
}
|
||||
|
||||
$async.Future<$0.PlayerOnlineReply> playerOnline_Pre($grpc.ServiceCall call, $async.Future<$0.PlayerOnlineReq> request) async {
|
||||
return playerOnline(call, await request);
|
||||
}
|
||||
|
||||
$async.Future<$0.PremiereInfoReply> premiereInfo_Pre($grpc.ServiceCall call, $async.Future<$0.PremiereInfoReq> request) async {
|
||||
return premiereInfo(call, await request);
|
||||
}
|
||||
|
||||
$async.Future<$0.NoReply> reportWatch_Pre($grpc.ServiceCall call, $async.Future<$0.ReportWatchReq> request) async {
|
||||
return reportWatch(call, await request);
|
||||
}
|
||||
|
||||
$async.Future<$0.PlayerOnlineReply> playerOnline($grpc.ServiceCall call, $0.PlayerOnlineReq request);
|
||||
$async.Future<$0.PremiereInfoReply> premiereInfo($grpc.ServiceCall call, $0.PremiereInfoReq request);
|
||||
$async.Future<$0.NoReply> reportWatch($grpc.ServiceCall call, $0.ReportWatchReq request);
|
||||
}
|
||||
104
lib/grpc/app/playeronline/v1/playeronline.pbjson.dart
Normal file
104
lib/grpc/app/playeronline/v1/playeronline.pbjson.dart
Normal file
@@ -0,0 +1,104 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: playeronline.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use noReplyDescriptor instead')
|
||||
const NoReply$json = {
|
||||
'1': 'NoReply',
|
||||
};
|
||||
|
||||
/// Descriptor for `NoReply`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List noReplyDescriptor = $convert.base64Decode(
|
||||
'CgdOb1JlcGx5');
|
||||
|
||||
@$core.Deprecated('Use playerOnlineReplyDescriptor instead')
|
||||
const PlayerOnlineReply$json = {
|
||||
'1': 'PlayerOnlineReply',
|
||||
'2': [
|
||||
{'1': 'total_text', '3': 1, '4': 1, '5': 9, '10': 'totalText'},
|
||||
{'1': 'sec_next', '3': 2, '4': 1, '5': 3, '10': 'secNext'},
|
||||
{'1': 'bottom_show', '3': 3, '4': 1, '5': 8, '10': 'bottomShow'},
|
||||
{'1': 'sdm_show', '3': 4, '4': 1, '5': 8, '10': 'sdmShow'},
|
||||
{'1': 'sdm_text', '3': 5, '4': 1, '5': 9, '10': 'sdmText'},
|
||||
{'1': 'total_number', '3': 6, '4': 1, '5': 3, '10': 'totalNumber'},
|
||||
{'1': 'total_number_text', '3': 7, '4': 1, '5': 9, '10': 'totalNumberText'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `PlayerOnlineReply`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List playerOnlineReplyDescriptor = $convert.base64Decode(
|
||||
'ChFQbGF5ZXJPbmxpbmVSZXBseRIdCgp0b3RhbF90ZXh0GAEgASgJUgl0b3RhbFRleHQSGQoIc2'
|
||||
'VjX25leHQYAiABKANSB3NlY05leHQSHwoLYm90dG9tX3Nob3cYAyABKAhSCmJvdHRvbVNob3cS'
|
||||
'GQoIc2RtX3Nob3cYBCABKAhSB3NkbVNob3cSGQoIc2RtX3RleHQYBSABKAlSB3NkbVRleHQSIQ'
|
||||
'oMdG90YWxfbnVtYmVyGAYgASgDUgt0b3RhbE51bWJlchIqChF0b3RhbF9udW1iZXJfdGV4dBgH'
|
||||
'IAEoCVIPdG90YWxOdW1iZXJUZXh0');
|
||||
|
||||
@$core.Deprecated('Use playerOnlineReqDescriptor instead')
|
||||
const PlayerOnlineReq$json = {
|
||||
'1': 'PlayerOnlineReq',
|
||||
'2': [
|
||||
{'1': 'aid', '3': 1, '4': 1, '5': 3, '10': 'aid'},
|
||||
{'1': 'cid', '3': 2, '4': 1, '5': 3, '10': 'cid'},
|
||||
{'1': 'play_open', '3': 3, '4': 1, '5': 8, '10': 'playOpen'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `PlayerOnlineReq`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List playerOnlineReqDescriptor = $convert.base64Decode(
|
||||
'Cg9QbGF5ZXJPbmxpbmVSZXESEAoDYWlkGAEgASgDUgNhaWQSEAoDY2lkGAIgASgDUgNjaWQSGw'
|
||||
'oJcGxheV9vcGVuGAMgASgIUghwbGF5T3Blbg==');
|
||||
|
||||
@$core.Deprecated('Use premiereInfoReplyDescriptor instead')
|
||||
const PremiereInfoReply$json = {
|
||||
'1': 'PremiereInfoReply',
|
||||
'2': [
|
||||
{'1': 'premiere_over_text', '3': 1, '4': 1, '5': 9, '10': 'premiereOverText'},
|
||||
{'1': 'participant', '3': 2, '4': 1, '5': 3, '10': 'participant'},
|
||||
{'1': 'interaction', '3': 3, '4': 1, '5': 3, '10': 'interaction'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `PremiereInfoReply`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List premiereInfoReplyDescriptor = $convert.base64Decode(
|
||||
'ChFQcmVtaWVyZUluZm9SZXBseRIsChJwcmVtaWVyZV9vdmVyX3RleHQYASABKAlSEHByZW1pZX'
|
||||
'JlT3ZlclRleHQSIAoLcGFydGljaXBhbnQYAiABKANSC3BhcnRpY2lwYW50EiAKC2ludGVyYWN0'
|
||||
'aW9uGAMgASgDUgtpbnRlcmFjdGlvbg==');
|
||||
|
||||
@$core.Deprecated('Use premiereInfoReqDescriptor instead')
|
||||
const PremiereInfoReq$json = {
|
||||
'1': 'PremiereInfoReq',
|
||||
'2': [
|
||||
{'1': 'aid', '3': 1, '4': 1, '5': 3, '10': 'aid'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `PremiereInfoReq`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List premiereInfoReqDescriptor = $convert.base64Decode(
|
||||
'Cg9QcmVtaWVyZUluZm9SZXESEAoDYWlkGAEgASgDUgNhaWQ=');
|
||||
|
||||
@$core.Deprecated('Use reportWatchReqDescriptor instead')
|
||||
const ReportWatchReq$json = {
|
||||
'1': 'ReportWatchReq',
|
||||
'2': [
|
||||
{'1': 'aid', '3': 1, '4': 1, '5': 3, '10': 'aid'},
|
||||
{'1': 'biz', '3': 2, '4': 1, '5': 9, '10': 'biz'},
|
||||
{'1': 'buvid', '3': 3, '4': 1, '5': 9, '10': 'buvid'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ReportWatchReq`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List reportWatchReqDescriptor = $convert.base64Decode(
|
||||
'Cg5SZXBvcnRXYXRjaFJlcRIQCgNhaWQYASABKANSA2FpZBIQCgNiaXoYAiABKAlSA2JpehIUCg'
|
||||
'VidXZpZBgDIAEoCVIFYnV2aWQ=');
|
||||
|
||||
285
lib/grpc/device/device.pb.dart
Normal file
285
lib/grpc/device/device.pb.dart
Normal file
@@ -0,0 +1,285 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: device.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
/// 设备信息
|
||||
/// gRPC头部:x-bili-device-bin
|
||||
class Device extends $pb.GeneratedMessage {
|
||||
factory Device({
|
||||
$core.int? appId,
|
||||
$core.int? build,
|
||||
$core.String? buvid,
|
||||
$core.String? mobiApp,
|
||||
$core.String? platform,
|
||||
$core.String? device,
|
||||
$core.String? channel,
|
||||
$core.String? brand,
|
||||
$core.String? model,
|
||||
$core.String? osver,
|
||||
$core.String? fpLocal,
|
||||
$core.String? fpRemote,
|
||||
$core.String? versionName,
|
||||
$core.String? fp,
|
||||
$fixnum.Int64? fts,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (appId != null) {
|
||||
$result.appId = appId;
|
||||
}
|
||||
if (build != null) {
|
||||
$result.build = build;
|
||||
}
|
||||
if (buvid != null) {
|
||||
$result.buvid = buvid;
|
||||
}
|
||||
if (mobiApp != null) {
|
||||
$result.mobiApp = mobiApp;
|
||||
}
|
||||
if (platform != null) {
|
||||
$result.platform = platform;
|
||||
}
|
||||
if (device != null) {
|
||||
$result.device = device;
|
||||
}
|
||||
if (channel != null) {
|
||||
$result.channel = channel;
|
||||
}
|
||||
if (brand != null) {
|
||||
$result.brand = brand;
|
||||
}
|
||||
if (model != null) {
|
||||
$result.model = model;
|
||||
}
|
||||
if (osver != null) {
|
||||
$result.osver = osver;
|
||||
}
|
||||
if (fpLocal != null) {
|
||||
$result.fpLocal = fpLocal;
|
||||
}
|
||||
if (fpRemote != null) {
|
||||
$result.fpRemote = fpRemote;
|
||||
}
|
||||
if (versionName != null) {
|
||||
$result.versionName = versionName;
|
||||
}
|
||||
if (fp != null) {
|
||||
$result.fp = fp;
|
||||
}
|
||||
if (fts != null) {
|
||||
$result.fts = fts;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
Device._() : super();
|
||||
factory Device.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Device.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Device', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.device'), createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'appId', $pb.PbFieldType.O3)
|
||||
..a<$core.int>(2, _omitFieldNames ? '' : 'build', $pb.PbFieldType.O3)
|
||||
..aOS(3, _omitFieldNames ? '' : 'buvid')
|
||||
..aOS(4, _omitFieldNames ? '' : 'mobiApp')
|
||||
..aOS(5, _omitFieldNames ? '' : 'platform')
|
||||
..aOS(6, _omitFieldNames ? '' : 'device')
|
||||
..aOS(7, _omitFieldNames ? '' : 'channel')
|
||||
..aOS(8, _omitFieldNames ? '' : 'brand')
|
||||
..aOS(9, _omitFieldNames ? '' : 'model')
|
||||
..aOS(10, _omitFieldNames ? '' : 'osver')
|
||||
..aOS(11, _omitFieldNames ? '' : 'fpLocal')
|
||||
..aOS(12, _omitFieldNames ? '' : 'fpRemote')
|
||||
..aOS(13, _omitFieldNames ? '' : 'versionName')
|
||||
..aOS(14, _omitFieldNames ? '' : 'fp')
|
||||
..aInt64(15, _omitFieldNames ? '' : 'fts')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Device clone() => Device()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Device copyWith(void Function(Device) updates) => super.copyWith((message) => updates(message as Device)) as Device;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Device create() => Device._();
|
||||
Device createEmptyInstance() => create();
|
||||
static $pb.PbList<Device> createRepeated() => $pb.PbList<Device>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Device getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Device>(create);
|
||||
static Device? _defaultInstance;
|
||||
|
||||
/// 产品id
|
||||
/// 粉 白 蓝 直播姬 HD 海外 OTT 漫画 TV野版 小视频 网易漫画 网易漫画 网易漫画HD 国际版 东南亚版
|
||||
/// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 30
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get appId => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set appId($core.int v) { $_setSignedInt32(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAppId() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAppId() => clearField(1);
|
||||
|
||||
/// 构建id
|
||||
@$pb.TagNumber(2)
|
||||
$core.int get build => $_getIZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set build($core.int v) { $_setSignedInt32(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasBuild() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearBuild() => clearField(2);
|
||||
|
||||
/// 设备buvid
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get buvid => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set buvid($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasBuvid() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearBuvid() => clearField(3);
|
||||
|
||||
/// 包类型
|
||||
@$pb.TagNumber(4)
|
||||
$core.String get mobiApp => $_getSZ(3);
|
||||
@$pb.TagNumber(4)
|
||||
set mobiApp($core.String v) { $_setString(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasMobiApp() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearMobiApp() => clearField(4);
|
||||
|
||||
/// 平台类型
|
||||
/// ios android
|
||||
@$pb.TagNumber(5)
|
||||
$core.String get platform => $_getSZ(4);
|
||||
@$pb.TagNumber(5)
|
||||
set platform($core.String v) { $_setString(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasPlatform() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearPlatform() => clearField(5);
|
||||
|
||||
/// 设备类型
|
||||
@$pb.TagNumber(6)
|
||||
$core.String get device => $_getSZ(5);
|
||||
@$pb.TagNumber(6)
|
||||
set device($core.String v) { $_setString(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasDevice() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearDevice() => clearField(6);
|
||||
|
||||
/// 渠道
|
||||
@$pb.TagNumber(7)
|
||||
$core.String get channel => $_getSZ(6);
|
||||
@$pb.TagNumber(7)
|
||||
set channel($core.String v) { $_setString(6, v); }
|
||||
@$pb.TagNumber(7)
|
||||
$core.bool hasChannel() => $_has(6);
|
||||
@$pb.TagNumber(7)
|
||||
void clearChannel() => clearField(7);
|
||||
|
||||
/// 手机品牌
|
||||
@$pb.TagNumber(8)
|
||||
$core.String get brand => $_getSZ(7);
|
||||
@$pb.TagNumber(8)
|
||||
set brand($core.String v) { $_setString(7, v); }
|
||||
@$pb.TagNumber(8)
|
||||
$core.bool hasBrand() => $_has(7);
|
||||
@$pb.TagNumber(8)
|
||||
void clearBrand() => clearField(8);
|
||||
|
||||
/// 手机型号
|
||||
@$pb.TagNumber(9)
|
||||
$core.String get model => $_getSZ(8);
|
||||
@$pb.TagNumber(9)
|
||||
set model($core.String v) { $_setString(8, v); }
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasModel() => $_has(8);
|
||||
@$pb.TagNumber(9)
|
||||
void clearModel() => clearField(9);
|
||||
|
||||
/// 系统版本
|
||||
@$pb.TagNumber(10)
|
||||
$core.String get osver => $_getSZ(9);
|
||||
@$pb.TagNumber(10)
|
||||
set osver($core.String v) { $_setString(9, v); }
|
||||
@$pb.TagNumber(10)
|
||||
$core.bool hasOsver() => $_has(9);
|
||||
@$pb.TagNumber(10)
|
||||
void clearOsver() => clearField(10);
|
||||
|
||||
/// 本地设备指纹
|
||||
@$pb.TagNumber(11)
|
||||
$core.String get fpLocal => $_getSZ(10);
|
||||
@$pb.TagNumber(11)
|
||||
set fpLocal($core.String v) { $_setString(10, v); }
|
||||
@$pb.TagNumber(11)
|
||||
$core.bool hasFpLocal() => $_has(10);
|
||||
@$pb.TagNumber(11)
|
||||
void clearFpLocal() => clearField(11);
|
||||
|
||||
/// 远程设备指纹
|
||||
@$pb.TagNumber(12)
|
||||
$core.String get fpRemote => $_getSZ(11);
|
||||
@$pb.TagNumber(12)
|
||||
set fpRemote($core.String v) { $_setString(11, v); }
|
||||
@$pb.TagNumber(12)
|
||||
$core.bool hasFpRemote() => $_has(11);
|
||||
@$pb.TagNumber(12)
|
||||
void clearFpRemote() => clearField(12);
|
||||
|
||||
/// APP版本号
|
||||
@$pb.TagNumber(13)
|
||||
$core.String get versionName => $_getSZ(12);
|
||||
@$pb.TagNumber(13)
|
||||
set versionName($core.String v) { $_setString(12, v); }
|
||||
@$pb.TagNumber(13)
|
||||
$core.bool hasVersionName() => $_has(12);
|
||||
@$pb.TagNumber(13)
|
||||
void clearVersionName() => clearField(13);
|
||||
|
||||
/// 设备指纹, 不区分本地或远程设备指纹,作为推送目标的索引
|
||||
@$pb.TagNumber(14)
|
||||
$core.String get fp => $_getSZ(13);
|
||||
@$pb.TagNumber(14)
|
||||
set fp($core.String v) { $_setString(13, v); }
|
||||
@$pb.TagNumber(14)
|
||||
$core.bool hasFp() => $_has(13);
|
||||
@$pb.TagNumber(14)
|
||||
void clearFp() => clearField(14);
|
||||
|
||||
/// 首次启动时的毫秒时间戳
|
||||
@$pb.TagNumber(15)
|
||||
$fixnum.Int64 get fts => $_getI64(14);
|
||||
@$pb.TagNumber(15)
|
||||
set fts($fixnum.Int64 v) { $_setInt64(14, v); }
|
||||
@$pb.TagNumber(15)
|
||||
$core.bool hasFts() => $_has(14);
|
||||
@$pb.TagNumber(15)
|
||||
void clearFts() => clearField(15);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
11
lib/grpc/device/device.pbenum.dart
Normal file
11
lib/grpc/device/device.pbenum.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: device.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
47
lib/grpc/device/device.pbjson.dart
Normal file
47
lib/grpc/device/device.pbjson.dart
Normal file
@@ -0,0 +1,47 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: device.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use deviceDescriptor instead')
|
||||
const Device$json = {
|
||||
'1': 'Device',
|
||||
'2': [
|
||||
{'1': 'app_id', '3': 1, '4': 1, '5': 5, '10': 'appId'},
|
||||
{'1': 'build', '3': 2, '4': 1, '5': 5, '10': 'build'},
|
||||
{'1': 'buvid', '3': 3, '4': 1, '5': 9, '10': 'buvid'},
|
||||
{'1': 'mobi_app', '3': 4, '4': 1, '5': 9, '10': 'mobiApp'},
|
||||
{'1': 'platform', '3': 5, '4': 1, '5': 9, '10': 'platform'},
|
||||
{'1': 'device', '3': 6, '4': 1, '5': 9, '10': 'device'},
|
||||
{'1': 'channel', '3': 7, '4': 1, '5': 9, '10': 'channel'},
|
||||
{'1': 'brand', '3': 8, '4': 1, '5': 9, '10': 'brand'},
|
||||
{'1': 'model', '3': 9, '4': 1, '5': 9, '10': 'model'},
|
||||
{'1': 'osver', '3': 10, '4': 1, '5': 9, '10': 'osver'},
|
||||
{'1': 'fp_local', '3': 11, '4': 1, '5': 9, '10': 'fpLocal'},
|
||||
{'1': 'fp_remote', '3': 12, '4': 1, '5': 9, '10': 'fpRemote'},
|
||||
{'1': 'version_name', '3': 13, '4': 1, '5': 9, '10': 'versionName'},
|
||||
{'1': 'fp', '3': 14, '4': 1, '5': 9, '10': 'fp'},
|
||||
{'1': 'fts', '3': 15, '4': 1, '5': 3, '10': 'fts'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Device`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List deviceDescriptor = $convert.base64Decode(
|
||||
'CgZEZXZpY2USFQoGYXBwX2lkGAEgASgFUgVhcHBJZBIUCgVidWlsZBgCIAEoBVIFYnVpbGQSFA'
|
||||
'oFYnV2aWQYAyABKAlSBWJ1dmlkEhkKCG1vYmlfYXBwGAQgASgJUgdtb2JpQXBwEhoKCHBsYXRm'
|
||||
'b3JtGAUgASgJUghwbGF0Zm9ybRIWCgZkZXZpY2UYBiABKAlSBmRldmljZRIYCgdjaGFubmVsGA'
|
||||
'cgASgJUgdjaGFubmVsEhQKBWJyYW5kGAggASgJUgVicmFuZBIUCgVtb2RlbBgJIAEoCVIFbW9k'
|
||||
'ZWwSFAoFb3N2ZXIYCiABKAlSBW9zdmVyEhkKCGZwX2xvY2FsGAsgASgJUgdmcExvY2FsEhsKCW'
|
||||
'ZwX3JlbW90ZRgMIAEoCVIIZnBSZW1vdGUSIQoMdmVyc2lvbl9uYW1lGA0gASgJUgt2ZXJzaW9u'
|
||||
'TmFtZRIOCgJmcBgOIAEoCVICZnASEAoDZnRzGA8gASgDUgNmdHM=');
|
||||
|
||||
179
lib/grpc/fawkes/fawkes.pb.dart
Normal file
179
lib/grpc/fawkes/fawkes.pb.dart
Normal file
@@ -0,0 +1,179 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: fawkes.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class FawkesReply extends $pb.GeneratedMessage {
|
||||
factory FawkesReply({
|
||||
$core.String? config,
|
||||
$core.String? ff,
|
||||
$core.String? dd,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (config != null) {
|
||||
$result.config = config;
|
||||
}
|
||||
if (ff != null) {
|
||||
$result.ff = ff;
|
||||
}
|
||||
if (dd != null) {
|
||||
$result.dd = dd;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
FawkesReply._() : super();
|
||||
factory FawkesReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory FawkesReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FawkesReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.fawkes'), createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'config')
|
||||
..aOS(2, _omitFieldNames ? '' : 'ff')
|
||||
..aOS(3, _omitFieldNames ? '' : 'dd')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
FawkesReply clone() => FawkesReply()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
FawkesReply copyWith(void Function(FawkesReply) updates) => super.copyWith((message) => updates(message as FawkesReply)) as FawkesReply;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static FawkesReply create() => FawkesReply._();
|
||||
FawkesReply createEmptyInstance() => create();
|
||||
static $pb.PbList<FawkesReply> createRepeated() => $pb.PbList<FawkesReply>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static FawkesReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<FawkesReply>(create);
|
||||
static FawkesReply? _defaultInstance;
|
||||
|
||||
/// 客户端在fawkes系统中对应的已发布最新的config版本号
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get config => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set config($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasConfig() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearConfig() => clearField(1);
|
||||
|
||||
/// 客户端在fawkes系统中对应的已发布最新的ff版本号
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get ff => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set ff($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasFf() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearFf() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get dd => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set dd($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasDd() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearDd() => clearField(3);
|
||||
}
|
||||
|
||||
class FawkesReq extends $pb.GeneratedMessage {
|
||||
factory FawkesReq({
|
||||
$core.String? appkey,
|
||||
$core.String? env,
|
||||
$core.String? sessionId,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (appkey != null) {
|
||||
$result.appkey = appkey;
|
||||
}
|
||||
if (env != null) {
|
||||
$result.env = env;
|
||||
}
|
||||
if (sessionId != null) {
|
||||
$result.sessionId = sessionId;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
FawkesReq._() : super();
|
||||
factory FawkesReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory FawkesReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FawkesReq', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.fawkes'), createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'appkey')
|
||||
..aOS(2, _omitFieldNames ? '' : 'env')
|
||||
..aOS(3, _omitFieldNames ? '' : 'sessionId')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
FawkesReq clone() => FawkesReq()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
FawkesReq copyWith(void Function(FawkesReq) updates) => super.copyWith((message) => updates(message as FawkesReq)) as FawkesReq;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static FawkesReq create() => FawkesReq._();
|
||||
FawkesReq createEmptyInstance() => create();
|
||||
static $pb.PbList<FawkesReq> createRepeated() => $pb.PbList<FawkesReq>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static FawkesReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<FawkesReq>(create);
|
||||
static FawkesReq? _defaultInstance;
|
||||
|
||||
/// 客户端在fawkes系统的唯一名, 如 `android64`
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get appkey => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set appkey($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAppkey() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAppkey() => clearField(1);
|
||||
|
||||
/// 客户端在fawkes系统中的环境参数, 如 `prod`
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get env => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set env($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasEnv() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearEnv() => clearField(2);
|
||||
|
||||
/// 启动id, 8 位 0~9, a~z 组成的字符串
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get sessionId => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set sessionId($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasSessionId() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearSessionId() => clearField(3);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
11
lib/grpc/fawkes/fawkes.pbenum.dart
Normal file
11
lib/grpc/fawkes/fawkes.pbenum.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: fawkes.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
45
lib/grpc/fawkes/fawkes.pbjson.dart
Normal file
45
lib/grpc/fawkes/fawkes.pbjson.dart
Normal file
@@ -0,0 +1,45 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: fawkes.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use fawkesReplyDescriptor instead')
|
||||
const FawkesReply$json = {
|
||||
'1': 'FawkesReply',
|
||||
'2': [
|
||||
{'1': 'config', '3': 1, '4': 1, '5': 9, '10': 'config'},
|
||||
{'1': 'ff', '3': 2, '4': 1, '5': 9, '10': 'ff'},
|
||||
{'1': 'dd', '3': 3, '4': 1, '5': 9, '10': 'dd'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `FawkesReply`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List fawkesReplyDescriptor = $convert.base64Decode(
|
||||
'CgtGYXdrZXNSZXBseRIWCgZjb25maWcYASABKAlSBmNvbmZpZxIOCgJmZhgCIAEoCVICZmYSDg'
|
||||
'oCZGQYAyABKAlSAmRk');
|
||||
|
||||
@$core.Deprecated('Use fawkesReqDescriptor instead')
|
||||
const FawkesReq$json = {
|
||||
'1': 'FawkesReq',
|
||||
'2': [
|
||||
{'1': 'appkey', '3': 1, '4': 1, '5': 9, '10': 'appkey'},
|
||||
{'1': 'env', '3': 2, '4': 1, '5': 9, '10': 'env'},
|
||||
{'1': 'session_id', '3': 3, '4': 1, '5': 9, '10': 'sessionId'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `FawkesReq`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List fawkesReqDescriptor = $convert.base64Decode(
|
||||
'CglGYXdrZXNSZXESFgoGYXBwa2V5GAEgASgJUgZhcHBrZXkSEAoDZW52GAIgASgJUgNlbnYSHQ'
|
||||
'oKc2Vzc2lvbl9pZBgDIAEoCVIJc2Vzc2lvbklk');
|
||||
|
||||
202
lib/grpc/locale/locale.pb.dart
Normal file
202
lib/grpc/locale/locale.pb.dart
Normal file
@@ -0,0 +1,202 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: locale.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
/// 区域标识
|
||||
/// gRPC头部:x-bili-locale-bin
|
||||
class Locale extends $pb.GeneratedMessage {
|
||||
factory Locale({
|
||||
LocaleIds? cLocale,
|
||||
LocaleIds? sLocale,
|
||||
$core.String? simCode,
|
||||
$core.String? timezone,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (cLocale != null) {
|
||||
$result.cLocale = cLocale;
|
||||
}
|
||||
if (sLocale != null) {
|
||||
$result.sLocale = sLocale;
|
||||
}
|
||||
if (simCode != null) {
|
||||
$result.simCode = simCode;
|
||||
}
|
||||
if (timezone != null) {
|
||||
$result.timezone = timezone;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
Locale._() : super();
|
||||
factory Locale.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Locale.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Locale', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.locale'), createEmptyInstance: create)
|
||||
..aOM<LocaleIds>(1, _omitFieldNames ? '' : 'cLocale', subBuilder: LocaleIds.create)
|
||||
..aOM<LocaleIds>(2, _omitFieldNames ? '' : 'sLocale', subBuilder: LocaleIds.create)
|
||||
..aOS(3, _omitFieldNames ? '' : 'simCode')
|
||||
..aOS(4, _omitFieldNames ? '' : 'timezone')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Locale clone() => Locale()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Locale copyWith(void Function(Locale) updates) => super.copyWith((message) => updates(message as Locale)) as Locale;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Locale create() => Locale._();
|
||||
Locale createEmptyInstance() => create();
|
||||
static $pb.PbList<Locale> createRepeated() => $pb.PbList<Locale>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Locale getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Locale>(create);
|
||||
static Locale? _defaultInstance;
|
||||
|
||||
/// App设置的locale
|
||||
@$pb.TagNumber(1)
|
||||
LocaleIds get cLocale => $_getN(0);
|
||||
@$pb.TagNumber(1)
|
||||
set cLocale(LocaleIds v) { setField(1, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasCLocale() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearCLocale() => clearField(1);
|
||||
@$pb.TagNumber(1)
|
||||
LocaleIds ensureCLocale() => $_ensure(0);
|
||||
|
||||
/// 系统默认的locale
|
||||
@$pb.TagNumber(2)
|
||||
LocaleIds get sLocale => $_getN(1);
|
||||
@$pb.TagNumber(2)
|
||||
set sLocale(LocaleIds v) { setField(2, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasSLocale() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearSLocale() => clearField(2);
|
||||
@$pb.TagNumber(2)
|
||||
LocaleIds ensureSLocale() => $_ensure(1);
|
||||
|
||||
/// sim卡的国家码+运营商码
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get simCode => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set simCode($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasSimCode() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearSimCode() => clearField(3);
|
||||
|
||||
/// 时区
|
||||
@$pb.TagNumber(4)
|
||||
$core.String get timezone => $_getSZ(3);
|
||||
@$pb.TagNumber(4)
|
||||
set timezone($core.String v) { $_setString(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasTimezone() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearTimezone() => clearField(4);
|
||||
}
|
||||
|
||||
/// Defined by https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html
|
||||
class LocaleIds extends $pb.GeneratedMessage {
|
||||
factory LocaleIds({
|
||||
$core.String? language,
|
||||
$core.String? script,
|
||||
$core.String? region,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (language != null) {
|
||||
$result.language = language;
|
||||
}
|
||||
if (script != null) {
|
||||
$result.script = script;
|
||||
}
|
||||
if (region != null) {
|
||||
$result.region = region;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
LocaleIds._() : super();
|
||||
factory LocaleIds.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory LocaleIds.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LocaleIds', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.locale'), createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'language')
|
||||
..aOS(2, _omitFieldNames ? '' : 'script')
|
||||
..aOS(3, _omitFieldNames ? '' : 'region')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
LocaleIds clone() => LocaleIds()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
LocaleIds copyWith(void Function(LocaleIds) updates) => super.copyWith((message) => updates(message as LocaleIds)) as LocaleIds;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static LocaleIds create() => LocaleIds._();
|
||||
LocaleIds createEmptyInstance() => create();
|
||||
static $pb.PbList<LocaleIds> createRepeated() => $pb.PbList<LocaleIds>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static LocaleIds getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LocaleIds>(create);
|
||||
static LocaleIds? _defaultInstance;
|
||||
|
||||
/// A language designator is a code that represents a language.
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get language => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set language($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasLanguage() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearLanguage() => clearField(1);
|
||||
|
||||
/// Writing systems.
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get script => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set script($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasScript() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearScript() => clearField(2);
|
||||
|
||||
/// A region designator is a code that represents a country or an area.
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get region => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set region($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasRegion() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearRegion() => clearField(3);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
11
lib/grpc/locale/locale.pbenum.dart
Normal file
11
lib/grpc/locale/locale.pbenum.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: locale.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
48
lib/grpc/locale/locale.pbjson.dart
Normal file
48
lib/grpc/locale/locale.pbjson.dart
Normal file
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: locale.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use localeDescriptor instead')
|
||||
const Locale$json = {
|
||||
'1': 'Locale',
|
||||
'2': [
|
||||
{'1': 'c_locale', '3': 1, '4': 1, '5': 11, '6': '.bilibili.metadata.locale.LocaleIds', '10': 'cLocale'},
|
||||
{'1': 's_locale', '3': 2, '4': 1, '5': 11, '6': '.bilibili.metadata.locale.LocaleIds', '10': 'sLocale'},
|
||||
{'1': 'sim_code', '3': 3, '4': 1, '5': 9, '10': 'simCode'},
|
||||
{'1': 'timezone', '3': 4, '4': 1, '5': 9, '10': 'timezone'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Locale`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List localeDescriptor = $convert.base64Decode(
|
||||
'CgZMb2NhbGUSPgoIY19sb2NhbGUYASABKAsyIy5iaWxpYmlsaS5tZXRhZGF0YS5sb2NhbGUuTG'
|
||||
'9jYWxlSWRzUgdjTG9jYWxlEj4KCHNfbG9jYWxlGAIgASgLMiMuYmlsaWJpbGkubWV0YWRhdGEu'
|
||||
'bG9jYWxlLkxvY2FsZUlkc1IHc0xvY2FsZRIZCghzaW1fY29kZRgDIAEoCVIHc2ltQ29kZRIaCg'
|
||||
'h0aW1lem9uZRgEIAEoCVIIdGltZXpvbmU=');
|
||||
|
||||
@$core.Deprecated('Use localeIdsDescriptor instead')
|
||||
const LocaleIds$json = {
|
||||
'1': 'LocaleIds',
|
||||
'2': [
|
||||
{'1': 'language', '3': 1, '4': 1, '5': 9, '10': 'language'},
|
||||
{'1': 'script', '3': 2, '4': 1, '5': 9, '10': 'script'},
|
||||
{'1': 'region', '3': 3, '4': 1, '5': 9, '10': 'region'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `LocaleIds`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List localeIdsDescriptor = $convert.base64Decode(
|
||||
'CglMb2NhbGVJZHMSGgoIbGFuZ3VhZ2UYASABKAlSCGxhbmd1YWdlEhYKBnNjcmlwdBgCIAEoCV'
|
||||
'IGc2NyaXB0EhYKBnJlZ2lvbhgDIAEoCVIGcmVnaW9u');
|
||||
|
||||
161
lib/grpc/metadata/metadata.pb.dart
Normal file
161
lib/grpc/metadata/metadata.pb.dart
Normal file
@@ -0,0 +1,161 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: metadata.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
/// 请求元数据
|
||||
/// gRPC头部:x-bili-metadata-bin
|
||||
class Metadata extends $pb.GeneratedMessage {
|
||||
factory Metadata({
|
||||
$core.String? accessKey,
|
||||
$core.String? mobiApp,
|
||||
$core.String? device,
|
||||
$core.int? build,
|
||||
$core.String? channel,
|
||||
$core.String? buvid,
|
||||
$core.String? platform,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (accessKey != null) {
|
||||
$result.accessKey = accessKey;
|
||||
}
|
||||
if (mobiApp != null) {
|
||||
$result.mobiApp = mobiApp;
|
||||
}
|
||||
if (device != null) {
|
||||
$result.device = device;
|
||||
}
|
||||
if (build != null) {
|
||||
$result.build = build;
|
||||
}
|
||||
if (channel != null) {
|
||||
$result.channel = channel;
|
||||
}
|
||||
if (buvid != null) {
|
||||
$result.buvid = buvid;
|
||||
}
|
||||
if (platform != null) {
|
||||
$result.platform = platform;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
Metadata._() : super();
|
||||
factory Metadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Metadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Metadata', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata'), createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'accessKey')
|
||||
..aOS(2, _omitFieldNames ? '' : 'mobiApp')
|
||||
..aOS(3, _omitFieldNames ? '' : 'device')
|
||||
..a<$core.int>(4, _omitFieldNames ? '' : 'build', $pb.PbFieldType.O3)
|
||||
..aOS(5, _omitFieldNames ? '' : 'channel')
|
||||
..aOS(6, _omitFieldNames ? '' : 'buvid')
|
||||
..aOS(7, _omitFieldNames ? '' : 'platform')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Metadata clone() => Metadata()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Metadata copyWith(void Function(Metadata) updates) => super.copyWith((message) => updates(message as Metadata)) as Metadata;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Metadata create() => Metadata._();
|
||||
Metadata createEmptyInstance() => create();
|
||||
static $pb.PbList<Metadata> createRepeated() => $pb.PbList<Metadata>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Metadata getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Metadata>(create);
|
||||
static Metadata? _defaultInstance;
|
||||
|
||||
/// 登录 access_key
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get accessKey => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set accessKey($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAccessKey() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAccessKey() => clearField(1);
|
||||
|
||||
/// 包类型, 如 `android`
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get mobiApp => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set mobiApp($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasMobiApp() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearMobiApp() => clearField(2);
|
||||
|
||||
/// 运行设备, 留空即可
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get device => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set device($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasDevice() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearDevice() => clearField(3);
|
||||
|
||||
/// 构建id, 如 `7380300`
|
||||
@$pb.TagNumber(4)
|
||||
$core.int get build => $_getIZ(3);
|
||||
@$pb.TagNumber(4)
|
||||
set build($core.int v) { $_setSignedInt32(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasBuild() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearBuild() => clearField(4);
|
||||
|
||||
/// APP分发渠道, 如 `master`
|
||||
@$pb.TagNumber(5)
|
||||
$core.String get channel => $_getSZ(4);
|
||||
@$pb.TagNumber(5)
|
||||
set channel($core.String v) { $_setString(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasChannel() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearChannel() => clearField(5);
|
||||
|
||||
/// 设备唯一标识
|
||||
@$pb.TagNumber(6)
|
||||
$core.String get buvid => $_getSZ(5);
|
||||
@$pb.TagNumber(6)
|
||||
set buvid($core.String v) { $_setString(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasBuvid() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearBuvid() => clearField(6);
|
||||
|
||||
/// 平台类型, 如 `android`
|
||||
@$pb.TagNumber(7)
|
||||
$core.String get platform => $_getSZ(6);
|
||||
@$pb.TagNumber(7)
|
||||
set platform($core.String v) { $_setString(6, v); }
|
||||
@$pb.TagNumber(7)
|
||||
$core.bool hasPlatform() => $_has(6);
|
||||
@$pb.TagNumber(7)
|
||||
void clearPlatform() => clearField(7);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
11
lib/grpc/metadata/metadata.pbenum.dart
Normal file
11
lib/grpc/metadata/metadata.pbenum.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: metadata.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
36
lib/grpc/metadata/metadata.pbjson.dart
Normal file
36
lib/grpc/metadata/metadata.pbjson.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: metadata.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use metadataDescriptor instead')
|
||||
const Metadata$json = {
|
||||
'1': 'Metadata',
|
||||
'2': [
|
||||
{'1': 'access_key', '3': 1, '4': 1, '5': 9, '10': 'accessKey'},
|
||||
{'1': 'mobi_app', '3': 2, '4': 1, '5': 9, '10': 'mobiApp'},
|
||||
{'1': 'device', '3': 3, '4': 1, '5': 9, '10': 'device'},
|
||||
{'1': 'build', '3': 4, '4': 1, '5': 5, '10': 'build'},
|
||||
{'1': 'channel', '3': 5, '4': 1, '5': 9, '10': 'channel'},
|
||||
{'1': 'buvid', '3': 6, '4': 1, '5': 9, '10': 'buvid'},
|
||||
{'1': 'platform', '3': 7, '4': 1, '5': 9, '10': 'platform'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Metadata`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List metadataDescriptor = $convert.base64Decode(
|
||||
'CghNZXRhZGF0YRIdCgphY2Nlc3Nfa2V5GAEgASgJUglhY2Nlc3NLZXkSGQoIbW9iaV9hcHAYAi'
|
||||
'ABKAlSB21vYmlBcHASFgoGZGV2aWNlGAMgASgJUgZkZXZpY2USFAoFYnVpbGQYBCABKAVSBWJ1'
|
||||
'aWxkEhgKB2NoYW5uZWwYBSABKAlSB2NoYW5uZWwSFAoFYnV2aWQYBiABKAlSBWJ1dmlkEhoKCH'
|
||||
'BsYXRmb3JtGAcgASgJUghwbGF0Zm9ybQ==');
|
||||
|
||||
105
lib/grpc/network/network.pb.dart
Normal file
105
lib/grpc/network/network.pb.dart
Normal file
@@ -0,0 +1,105 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: network.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'network.pbenum.dart';
|
||||
|
||||
export 'network.pbenum.dart';
|
||||
|
||||
/// 网络类型标识
|
||||
/// gRPC头部:x-bili-network-bin
|
||||
class Network extends $pb.GeneratedMessage {
|
||||
factory Network({
|
||||
NetworkType? type,
|
||||
TFType? tf,
|
||||
$core.String? oid,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (type != null) {
|
||||
$result.type = type;
|
||||
}
|
||||
if (tf != null) {
|
||||
$result.tf = tf;
|
||||
}
|
||||
if (oid != null) {
|
||||
$result.oid = oid;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
Network._() : super();
|
||||
factory Network.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Network.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Network', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.network'), createEmptyInstance: create)
|
||||
..e<NetworkType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: NetworkType.NT_UNKNOWN, valueOf: NetworkType.valueOf, enumValues: NetworkType.values)
|
||||
..e<TFType>(2, _omitFieldNames ? '' : 'tf', $pb.PbFieldType.OE, defaultOrMaker: TFType.TF_UNKNOWN, valueOf: TFType.valueOf, enumValues: TFType.values)
|
||||
..aOS(3, _omitFieldNames ? '' : 'oid')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Network clone() => Network()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Network copyWith(void Function(Network) updates) => super.copyWith((message) => updates(message as Network)) as Network;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Network create() => Network._();
|
||||
Network createEmptyInstance() => create();
|
||||
static $pb.PbList<Network> createRepeated() => $pb.PbList<Network>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Network getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Network>(create);
|
||||
static Network? _defaultInstance;
|
||||
|
||||
/// 网络类型
|
||||
@$pb.TagNumber(1)
|
||||
NetworkType get type => $_getN(0);
|
||||
@$pb.TagNumber(1)
|
||||
set type(NetworkType v) { setField(1, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasType() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearType() => clearField(1);
|
||||
|
||||
/// 免流类型
|
||||
@$pb.TagNumber(2)
|
||||
TFType get tf => $_getN(1);
|
||||
@$pb.TagNumber(2)
|
||||
set tf(TFType v) { setField(2, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasTf() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearTf() => clearField(2);
|
||||
|
||||
/// 运营商
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get oid => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set oid($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasOid() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearOid() => clearField(3);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
67
lib/grpc/network/network.pbenum.dart
Normal file
67
lib/grpc/network/network.pbenum.dart
Normal file
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: network.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
/// 网络类型
|
||||
class NetworkType extends $pb.ProtobufEnum {
|
||||
static const NetworkType NT_UNKNOWN = NetworkType._(0, _omitEnumNames ? '' : 'NT_UNKNOWN');
|
||||
static const NetworkType WIFI = NetworkType._(1, _omitEnumNames ? '' : 'WIFI');
|
||||
static const NetworkType CELLULAR = NetworkType._(2, _omitEnumNames ? '' : 'CELLULAR');
|
||||
static const NetworkType OFFLINE = NetworkType._(3, _omitEnumNames ? '' : 'OFFLINE');
|
||||
static const NetworkType OTHERNET = NetworkType._(4, _omitEnumNames ? '' : 'OTHERNET');
|
||||
static const NetworkType ETHERNET = NetworkType._(5, _omitEnumNames ? '' : 'ETHERNET');
|
||||
|
||||
static const $core.List<NetworkType> values = <NetworkType> [
|
||||
NT_UNKNOWN,
|
||||
WIFI,
|
||||
CELLULAR,
|
||||
OFFLINE,
|
||||
OTHERNET,
|
||||
ETHERNET,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, NetworkType> _byValue = $pb.ProtobufEnum.initByValue(values);
|
||||
static NetworkType? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const NetworkType._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
/// 免流类型
|
||||
class TFType extends $pb.ProtobufEnum {
|
||||
static const TFType TF_UNKNOWN = TFType._(0, _omitEnumNames ? '' : 'TF_UNKNOWN');
|
||||
static const TFType U_CARD = TFType._(1, _omitEnumNames ? '' : 'U_CARD');
|
||||
static const TFType U_PKG = TFType._(2, _omitEnumNames ? '' : 'U_PKG');
|
||||
static const TFType C_CARD = TFType._(3, _omitEnumNames ? '' : 'C_CARD');
|
||||
static const TFType C_PKG = TFType._(4, _omitEnumNames ? '' : 'C_PKG');
|
||||
static const TFType T_CARD = TFType._(5, _omitEnumNames ? '' : 'T_CARD');
|
||||
static const TFType T_PKG = TFType._(6, _omitEnumNames ? '' : 'T_PKG');
|
||||
|
||||
static const $core.List<TFType> values = <TFType> [
|
||||
TF_UNKNOWN,
|
||||
U_CARD,
|
||||
U_PKG,
|
||||
C_CARD,
|
||||
C_PKG,
|
||||
T_CARD,
|
||||
T_PKG,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, TFType> _byValue = $pb.ProtobufEnum.initByValue(values);
|
||||
static TFType? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const TFType._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
|
||||
const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
68
lib/grpc/network/network.pbjson.dart
Normal file
68
lib/grpc/network/network.pbjson.dart
Normal file
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: network.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use networkTypeDescriptor instead')
|
||||
const NetworkType$json = {
|
||||
'1': 'NetworkType',
|
||||
'2': [
|
||||
{'1': 'NT_UNKNOWN', '2': 0},
|
||||
{'1': 'WIFI', '2': 1},
|
||||
{'1': 'CELLULAR', '2': 2},
|
||||
{'1': 'OFFLINE', '2': 3},
|
||||
{'1': 'OTHERNET', '2': 4},
|
||||
{'1': 'ETHERNET', '2': 5},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `NetworkType`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List networkTypeDescriptor = $convert.base64Decode(
|
||||
'CgtOZXR3b3JrVHlwZRIOCgpOVF9VTktOT1dOEAASCAoEV0lGSRABEgwKCENFTExVTEFSEAISCw'
|
||||
'oHT0ZGTElORRADEgwKCE9USEVSTkVUEAQSDAoIRVRIRVJORVQQBQ==');
|
||||
|
||||
@$core.Deprecated('Use tFTypeDescriptor instead')
|
||||
const TFType$json = {
|
||||
'1': 'TFType',
|
||||
'2': [
|
||||
{'1': 'TF_UNKNOWN', '2': 0},
|
||||
{'1': 'U_CARD', '2': 1},
|
||||
{'1': 'U_PKG', '2': 2},
|
||||
{'1': 'C_CARD', '2': 3},
|
||||
{'1': 'C_PKG', '2': 4},
|
||||
{'1': 'T_CARD', '2': 5},
|
||||
{'1': 'T_PKG', '2': 6},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `TFType`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List tFTypeDescriptor = $convert.base64Decode(
|
||||
'CgZURlR5cGUSDgoKVEZfVU5LTk9XThAAEgoKBlVfQ0FSRBABEgkKBVVfUEtHEAISCgoGQ19DQV'
|
||||
'JEEAMSCQoFQ19QS0cQBBIKCgZUX0NBUkQQBRIJCgVUX1BLRxAG');
|
||||
|
||||
@$core.Deprecated('Use networkDescriptor instead')
|
||||
const Network$json = {
|
||||
'1': 'Network',
|
||||
'2': [
|
||||
{'1': 'type', '3': 1, '4': 1, '5': 14, '6': '.bilibili.metadata.network.NetworkType', '10': 'type'},
|
||||
{'1': 'tf', '3': 2, '4': 1, '5': 14, '6': '.bilibili.metadata.network.TFType', '10': 'tf'},
|
||||
{'1': 'oid', '3': 3, '4': 1, '5': 9, '10': 'oid'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Network`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List networkDescriptor = $convert.base64Decode(
|
||||
'CgdOZXR3b3JrEjoKBHR5cGUYASABKA4yJi5iaWxpYmlsaS5tZXRhZGF0YS5uZXR3b3JrLk5ldH'
|
||||
'dvcmtUeXBlUgR0eXBlEjEKAnRmGAIgASgOMiEuYmlsaWJpbGkubWV0YWRhdGEubmV0d29yay5U'
|
||||
'RlR5cGVSAnRmEhAKA29pZBgDIAEoCVIDb2lk');
|
||||
|
||||
148
lib/grpc/restriction/restriction.pb.dart
Normal file
148
lib/grpc/restriction/restriction.pb.dart
Normal file
@@ -0,0 +1,148 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: restriction.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'restriction.pbenum.dart';
|
||||
|
||||
export 'restriction.pbenum.dart';
|
||||
|
||||
/// 限制条件
|
||||
class Restriction extends $pb.GeneratedMessage {
|
||||
factory Restriction({
|
||||
$core.bool? teenagersMode,
|
||||
$core.bool? lessonsMode,
|
||||
ModeType? mode,
|
||||
$core.bool? review,
|
||||
$core.bool? disableRcmd,
|
||||
$core.bool? basicMode,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (teenagersMode != null) {
|
||||
$result.teenagersMode = teenagersMode;
|
||||
}
|
||||
if (lessonsMode != null) {
|
||||
$result.lessonsMode = lessonsMode;
|
||||
}
|
||||
if (mode != null) {
|
||||
$result.mode = mode;
|
||||
}
|
||||
if (review != null) {
|
||||
$result.review = review;
|
||||
}
|
||||
if (disableRcmd != null) {
|
||||
$result.disableRcmd = disableRcmd;
|
||||
}
|
||||
if (basicMode != null) {
|
||||
$result.basicMode = basicMode;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
Restriction._() : super();
|
||||
factory Restriction.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Restriction.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Restriction', package: const $pb.PackageName(_omitMessageNames ? '' : 'bilibili.metadata.restriction'), createEmptyInstance: create)
|
||||
..aOB(1, _omitFieldNames ? '' : 'teenagersMode')
|
||||
..aOB(2, _omitFieldNames ? '' : 'lessonsMode')
|
||||
..e<ModeType>(3, _omitFieldNames ? '' : 'mode', $pb.PbFieldType.OE, defaultOrMaker: ModeType.NORMAL, valueOf: ModeType.valueOf, enumValues: ModeType.values)
|
||||
..aOB(4, _omitFieldNames ? '' : 'review')
|
||||
..aOB(5, _omitFieldNames ? '' : 'disableRcmd')
|
||||
..aOB(6, _omitFieldNames ? '' : 'basicMode')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
Restriction clone() => Restriction()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
Restriction copyWith(void Function(Restriction) updates) => super.copyWith((message) => updates(message as Restriction)) as Restriction;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Restriction create() => Restriction._();
|
||||
Restriction createEmptyInstance() => create();
|
||||
static $pb.PbList<Restriction> createRepeated() => $pb.PbList<Restriction>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Restriction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Restriction>(create);
|
||||
static Restriction? _defaultInstance;
|
||||
|
||||
/// 青少年模式开关状态
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool get teenagersMode => $_getBF(0);
|
||||
@$pb.TagNumber(1)
|
||||
set teenagersMode($core.bool v) { $_setBool(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasTeenagersMode() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearTeenagersMode() => clearField(1);
|
||||
|
||||
/// 课堂模式开关状态
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool get lessonsMode => $_getBF(1);
|
||||
@$pb.TagNumber(2)
|
||||
set lessonsMode($core.bool v) { $_setBool(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasLessonsMode() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearLessonsMode() => clearField(2);
|
||||
|
||||
/// 模式类型(旧版)
|
||||
@$pb.TagNumber(3)
|
||||
ModeType get mode => $_getN(2);
|
||||
@$pb.TagNumber(3)
|
||||
set mode(ModeType v) { setField(3, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasMode() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearMode() => clearField(3);
|
||||
|
||||
/// app 审核review状态
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool get review => $_getBF(3);
|
||||
@$pb.TagNumber(4)
|
||||
set review($core.bool v) { $_setBool(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasReview() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearReview() => clearField(4);
|
||||
|
||||
/// 客户端是否选择关闭个性化推荐
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool get disableRcmd => $_getBF(4);
|
||||
@$pb.TagNumber(5)
|
||||
set disableRcmd($core.bool v) { $_setBool(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasDisableRcmd() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearDisableRcmd() => clearField(5);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool get basicMode => $_getBF(5);
|
||||
@$pb.TagNumber(6)
|
||||
set basicMode($core.bool v) { $_setBool(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasBasicMode() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearBasicMode() => clearField(6);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
37
lib/grpc/restriction/restriction.pbenum.dart
Normal file
37
lib/grpc/restriction/restriction.pbenum.dart
Normal file
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: restriction.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
/// 模式类型
|
||||
class ModeType extends $pb.ProtobufEnum {
|
||||
static const ModeType NORMAL = ModeType._(0, _omitEnumNames ? '' : 'NORMAL');
|
||||
static const ModeType TEENAGERS = ModeType._(1, _omitEnumNames ? '' : 'TEENAGERS');
|
||||
static const ModeType LESSONS = ModeType._(2, _omitEnumNames ? '' : 'LESSONS');
|
||||
static const ModeType BASIC = ModeType._(3, _omitEnumNames ? '' : 'BASIC');
|
||||
|
||||
static const $core.List<ModeType> values = <ModeType> [
|
||||
NORMAL,
|
||||
TEENAGERS,
|
||||
LESSONS,
|
||||
BASIC,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, ModeType> _byValue = $pb.ProtobufEnum.initByValue(values);
|
||||
static ModeType? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const ModeType._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
|
||||
const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
52
lib/grpc/restriction/restriction.pbjson.dart
Normal file
52
lib/grpc/restriction/restriction.pbjson.dart
Normal file
@@ -0,0 +1,52 @@
|
||||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: restriction.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use modeTypeDescriptor instead')
|
||||
const ModeType$json = {
|
||||
'1': 'ModeType',
|
||||
'2': [
|
||||
{'1': 'NORMAL', '2': 0},
|
||||
{'1': 'TEENAGERS', '2': 1},
|
||||
{'1': 'LESSONS', '2': 2},
|
||||
{'1': 'BASIC', '2': 3},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ModeType`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List modeTypeDescriptor = $convert.base64Decode(
|
||||
'CghNb2RlVHlwZRIKCgZOT1JNQUwQABINCglURUVOQUdFUlMQARILCgdMRVNTT05TEAISCQoFQk'
|
||||
'FTSUMQAw==');
|
||||
|
||||
@$core.Deprecated('Use restrictionDescriptor instead')
|
||||
const Restriction$json = {
|
||||
'1': 'Restriction',
|
||||
'2': [
|
||||
{'1': 'teenagers_mode', '3': 1, '4': 1, '5': 8, '10': 'teenagersMode'},
|
||||
{'1': 'lessons_mode', '3': 2, '4': 1, '5': 8, '10': 'lessonsMode'},
|
||||
{'1': 'mode', '3': 3, '4': 1, '5': 14, '6': '.bilibili.metadata.restriction.ModeType', '10': 'mode'},
|
||||
{'1': 'review', '3': 4, '4': 1, '5': 8, '10': 'review'},
|
||||
{'1': 'disable_rcmd', '3': 5, '4': 1, '5': 8, '10': 'disableRcmd'},
|
||||
{'1': 'basic_mode', '3': 6, '4': 1, '5': 8, '10': 'basicMode'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Restriction`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List restrictionDescriptor = $convert.base64Decode(
|
||||
'CgtSZXN0cmljdGlvbhIlCg50ZWVuYWdlcnNfbW9kZRgBIAEoCFINdGVlbmFnZXJzTW9kZRIhCg'
|
||||
'xsZXNzb25zX21vZGUYAiABKAhSC2xlc3NvbnNNb2RlEjsKBG1vZGUYAyABKA4yJy5iaWxpYmls'
|
||||
'aS5tZXRhZGF0YS5yZXN0cmljdGlvbi5Nb2RlVHlwZVIEbW9kZRIWCgZyZXZpZXcYBCABKAhSBn'
|
||||
'JldmlldxIhCgxkaXNhYmxlX3JjbWQYBSABKAhSC2Rpc2FibGVSY21kEh0KCmJhc2ljX21vZGUY'
|
||||
'BiABKAhSCWJhc2ljTW9kZQ==');
|
||||
|
||||
@@ -13,6 +13,7 @@ import 'package:PiliPalaX/pages/video/detail/introduction/widgets/intro_detail.d
|
||||
as video;
|
||||
import 'package:PiliPalaX/pages/video/detail/reply_reply/view.dart';
|
||||
import 'package:PiliPalaX/pages/video/detail/widgets/ai_detail.dart';
|
||||
import 'package:PiliPalaX/grpc/app/playeronline/v1/playeronline.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:PiliPalaX/utils/id_utils.dart';
|
||||
import 'package:auto_orientation/auto_orientation.dart';
|
||||
@@ -87,14 +88,23 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
final onlineClient = OnlineClient();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
PlPlayerController.setPlayCallBack(playCallBack);
|
||||
if (Get.arguments != null && Get.arguments['heroTag'] != null) {
|
||||
heroTag = Get.arguments['heroTag'];
|
||||
}
|
||||
videoDetailController = Get.put(VideoDetailController(), tag: heroTag);
|
||||
|
||||
onlineClient.playerOnline(
|
||||
aid: IdUtils.bv2av(videoDetailController.bvid),
|
||||
cid: videoDetailController.cid.value,
|
||||
);
|
||||
|
||||
_videoReplyController = Get.put(
|
||||
VideoReplyController(videoDetailController.oid.value, '0', '1'),
|
||||
tag: heroTag);
|
||||
|
||||
@@ -25,6 +25,74 @@ import '../models/github/latest.dart';
|
||||
class Utils {
|
||||
static final Random random = Random();
|
||||
|
||||
static String genAuroraEid(int uid) {
|
||||
if (uid == 0) {
|
||||
return ''; // Return null for a UID of 0
|
||||
}
|
||||
|
||||
// 1. Convert UID to a byte array.
|
||||
List<int> midByte = utf8.encode(uid.toString());
|
||||
List<int> resultByte = List<int>.filled(midByte.length, 0);
|
||||
|
||||
// 2. XOR each byte with the corresponding byte from the key.
|
||||
const key = 'ad1va46a7lza';
|
||||
for (int i = 0; i < midByte.length; i++) {
|
||||
resultByte[i] = midByte[i] ^ key.codeUnitAt(i % key.length);
|
||||
}
|
||||
|
||||
// 3. Perform Base64 encoding without padding.
|
||||
String base64Encoded =
|
||||
base64.encode(resultByte).replaceAll('=', ''); // Remove padding
|
||||
|
||||
// Return the resulting x-bili-aurora-eid.
|
||||
return base64Encoded;
|
||||
}
|
||||
|
||||
static String genRandomString(int length) {
|
||||
const characters = '0123456789abcdefghijklmnopqrstuvwxyz';
|
||||
Random random = Random();
|
||||
return List.generate(
|
||||
length, (index) => characters[random.nextInt(characters.length)])
|
||||
.join();
|
||||
}
|
||||
|
||||
static String genTraceId() {
|
||||
// 1. Generate a 32-character random string (random_id).
|
||||
String randomId = genRandomString(32);
|
||||
|
||||
// 2. Take the first 24 characters of random_id as random_trace_id.
|
||||
StringBuffer randomTraceId = StringBuffer(randomId.substring(0, 24));
|
||||
|
||||
// 3. Initialize an array b_arr with a length of 3, initial values are 0.
|
||||
List<int> bArr = List.filled(3, 0);
|
||||
|
||||
// Get the current timestamp.
|
||||
int ts = DateTime.now().millisecondsSinceEpoch ~/ 1000;
|
||||
|
||||
// Using a loop to traverse b_arr from high to low.
|
||||
for (int i = 2; i >= 0; i--) {
|
||||
ts >>= 8; // Right shift ts by 8 bits.
|
||||
bArr[i] = (ts ~/ 128) % 2 == 0
|
||||
? (ts % 256)
|
||||
: (ts % 256) - 256; // Assign value based on condition.
|
||||
}
|
||||
|
||||
// 4. Convert each element in b_arr to a two-digit hexadecimal string and append to random_trace_id.
|
||||
for (int value in bArr) {
|
||||
randomTraceId
|
||||
.write(value.toRadixString(16).padLeft(2, '0')); // Convert to hex.
|
||||
}
|
||||
|
||||
// 5. Append the 31st and 32nd characters of random_id to random_trace_id.
|
||||
randomTraceId.write(randomId.substring(30, 32));
|
||||
|
||||
// 6. Finally, concatenate as '{random_trace_id}:{random_trace_id[16..32]}:0:0'.
|
||||
String randomTraceIdFinal =
|
||||
'${randomTraceId.toString()}:${randomTraceId.toString().substring(16, 32)}:0:0';
|
||||
|
||||
return randomTraceIdFinal;
|
||||
}
|
||||
|
||||
static void viewBangumi({
|
||||
dynamic seasonId,
|
||||
dynamic epId,
|
||||
|
||||
24
pubspec.lock
24
pubspec.lock
@@ -821,6 +821,22 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
google_identity_services_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: google_identity_services_web
|
||||
sha256: "5be191523702ba8d7a01ca97c17fca096822ccf246b0a9f11923a6ded06199b6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.1+4"
|
||||
googleapis_auth:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: googleapis_auth
|
||||
sha256: befd71383a955535060acde8792e7efc11d2fccd03dd1d3ec434e85b68775938
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.6.0"
|
||||
graphs:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -829,6 +845,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.2"
|
||||
grpc:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: grpc
|
||||
sha256: "5b99b7a420937d4361ece68b798c9af8e04b5bc128a7859f2a4be87427694813"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.1"
|
||||
gt3_flutter_plugin:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
||||
@@ -112,7 +112,7 @@ dependencies:
|
||||
git:
|
||||
url: https://github.com/orz12/auto_orientation.git
|
||||
ref: master
|
||||
protobuf: ^3.0.0
|
||||
protobuf: ^3.1.0
|
||||
animations: ^2.0.8
|
||||
|
||||
# 获取appx信息
|
||||
@@ -166,6 +166,7 @@ dependencies:
|
||||
path: packages/chat_bottom_container
|
||||
image_picker: ^1.1.2
|
||||
intl: ^0.19.0
|
||||
grpc: ^4.0.1
|
||||
|
||||
dependency_overrides:
|
||||
# mime:
|
||||
|
||||
Reference in New Issue
Block a user