weibo_kit/lib/src/weibo_kit_platform_interface.dart
2022-07-26 11:28:29 +08:00

111 lines
3.5 KiB
Dart

import 'dart:typed_data';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
import 'package:weibo_kit/src/model/resp.dart';
import 'package:weibo_kit/src/weibo_constant.dart';
import 'package:weibo_kit/src/weibo_kit_method_channel.dart';
abstract class WeiboKitPlatform extends PlatformInterface {
/// Constructs a WeiboKitPlatform.
WeiboKitPlatform() : super(token: _token);
static final Object _token = Object();
static WeiboKitPlatform _instance = MethodChannelWeiboKit();
/// The default instance of [WeiboKitPlatform] to use.
///
/// Defaults to [MethodChannelWeiboKit].
static WeiboKitPlatform get instance => _instance;
/// Platform-specific implementations should set this with their own
/// platform-specific class that extends [WeiboKitPlatform] when
/// they register themselves.
static set instance(WeiboKitPlatform instance) {
PlatformInterface.verifyToken(instance, _token);
_instance = instance;
}
///
Future<void> registerApp({
required String appKey,
required String? universalLink,
required List<String> scope,
String redirectUrl = WeiboRegister.DEFAULT_REDIRECTURL, // 新浪微博开放平台 -> 我的应用 -> 应用信息 -> 高级信息 -> OAuth2.0授权设置
}) {
throw UnimplementedError('registerApp({required appKey, required universalLink, required scope, redirectUrl}) has not been implemented.');
}
///
Stream<BaseResp> respStream() {
throw UnimplementedError('respStream() has not been implemented.');
}
///
Future<bool> isInstalled() {
throw UnimplementedError('isInstalled() has not been implemented.');
}
///
Future<bool> isSupportMultipleImage() {
throw UnimplementedError('isSupportMultipleImage() has not been implemented.');
}
/// 登录
Future<void> auth({
required String appKey,
required List<String> scope,
String redirectUrl = WeiboRegister.DEFAULT_REDIRECTURL,
}) {
throw UnimplementedError('auth({required appKey, required scope, redirectUrl}) has not been implemented.');
}
/// 分享 - 文本
Future<void> shareText({
required String text,
bool clientOnly = false/* Android Only */,
}) {
throw UnimplementedError('shareText({required text, clientOnly}) has not been implemented.');
}
/// 分享 - 图片
/// Android 图片文件分享用 shareMultiImage
Future<void> shareImage({
String? text,
Uint8List? imageData,
Uri? imageUri,
bool clientOnly = false/* Android Only */,
}) {
throw UnimplementedError('shareImage({text, imageData, imageUri, clientOnly}) has not been implemented.');
}
/// 分享 - 多图
Future<void> shareMultiImage({
String? text,
required List<Uri> imageUris,
bool clientOnly = false/* Android Only */,
}) {
throw UnimplementedError('shareMultiImage({text, required imageUris, clientOnly}) has not been implemented.');
}
/// 分享 - 视频
Future<void> shareVideo({
String? text,
required Uri videoUri,
bool clientOnly = false/* Android Only */,
}) {
throw UnimplementedError('shareVideo({text, required videoUri, clientOnly}) has not been implemented.');
}
/// 分享 - 网页
Future<void> shareWebpage({
required String title,
required String description,
required Uint8List thumbData,
required String webpageUrl,
bool clientOnly = false/* Android Only */,
}) {
throw UnimplementedError('shareWebpage({required title, required description, required thumbData, required webpageUrl, clientOnly}) has not been implemented.');
}
}