instance property
FlutterSmartPttPlatform
get
instance
Implementation
static FlutterSmartPttPlatform get instance => _instance;
set
instance
(FlutterSmartPttPlatform instance)
Implementation
static set instance(FlutterSmartPttPlatform instance) {
//verifyToken 是 plugin_platform_interface 包提供的静态方法,要求子类在构造函数中传入一个「唯一令牌(token)」
//验证instance是本接口的继承类
//核心作用是:强制所有实现 PlatformInterface 抽象类的子类,必须遵循「正确的继承规则」,防止非法实现类替换核心实例
//提前拦截错误:比如你新增 WebFlutterSmartPtt 时,如果不小心写错了继承(比如直接继承 PlatformInterface 而非 FlutterSmartPttPlatform),替换 instance 时会立刻报错,而不是等到 Web 端用户使用时崩溃
//保障全局实例的合法性:FlutterSmartPttPlatform.instance 是插件的核心全局实例,所有对外 API 都依赖它,verifyToken 确保这个实例永远是符合接口规范的
//团队协作安全:如果有其他开发者扩展你的插件(比如新增 Linux 实现),verifyToken 能强制他遵循你的接口定义,避免「私改实例导致全局异常」
//即确保instance的实例是继承的本接口,否则替换instance的实例时会直接抛出异常,而不是调用instance的方法时
PlatformInterface.verifyToken(instance, _token);
_instance = instance;
}