instance property

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;
}