NyaLCF icon indicating copy to clipboard operation
NyaLCF copied to clipboard

支持深度链接启动

Open Muska-Ami opened this issue 1 year ago • 5 comments

如题,支持官网的深度链接调用启动 目前官方格式为

locyanfrp://:frp_token/:proxy_id

Muska-Ami avatar Jan 14 '24 10:01 Muska-Ami

需要帮助,由于我不会CPP所以没法写接收的函数

Muska-Ami avatar Jan 23 '24 15:01 Muska-Ami

  void _parseDeepLink(String deepLink) {
    if (deepLink.isNotEmpty) {
      // 如果有深度链接,则提取数据
      Uri uri = Uri.parse(deepLink);
      String scheme = uri.scheme;
      if (scheme == 'locyanfrp') {
        // 如果是你指定的scheme(locyanfrp),则提取frp_token和proxy_id
        String frpToken = uri.pathSegments.isNotEmpty ? uri.pathSegments[0] : '';
        String proxyId = uri.pathSegments.length > 1 ? uri.pathSegments[1] : '';
        setState(() {
          _deepLinkData = 'FRP Token: $frpToken\nProxy ID: $proxyId';
        });
      }
    }
  }

我不知道这样行不行,放这看看吧(

ltzXiaoYanMo avatar May 01 '24 13:05 ltzXiaoYanMo

  void _parseDeepLink(String deepLink) {
    if (deepLink.isNotEmpty) {
      // 如果有深度链接,则提取数据
      Uri uri = Uri.parse(deepLink);
      String scheme = uri.scheme;
      if (scheme == 'locyanfrp') {
        // 如果是你指定的scheme(locyanfrp),则提取frp_token和proxy_id
        String frpToken = uri.pathSegments.isNotEmpty ? uri.pathSegments[0] : '';
        String proxyId = uri.pathSegments.length > 1 ? uri.pathSegments[1] : '';
        setState(() {
          _deepLinkData = 'FRP Token: $frpToken\nProxy ID: $proxyId';
        });
      }
    }
  }

我不知道这样行不行,放这看看吧(

这只是解析了Uri

Muska-Ami avatar May 01 '24 14:05 Muska-Ami

  void _parseDeepLink(String deepLink) {
    if (deepLink.isNotEmpty) {
      // 如果有深度链接,则提取数据
      Uri uri = Uri.parse(deepLink);
      String scheme = uri.scheme;
      if (scheme == 'locyanfrp') {
        // 如果是你指定的scheme(locyanfrp),则提取frp_token和proxy_id
        String frpToken = uri.pathSegments.isNotEmpty ? uri.pathSegments[0] : '';
        String proxyId = uri.pathSegments.length > 1 ? uri.pathSegments[1] : '';
        setState(() {
          _deepLinkData = 'FRP Token: $frpToken\nProxy ID: $proxyId';
        });
      }
    }
  }

我不知道这样行不行,放这看看吧(

这只是解析了Uri

他能解析就是成功,怎么提取下辈子再说(

ltzXiaoYanMo avatar May 01 '24 14:05 ltzXiaoYanMo

https://docs.flutter.dev/ui/navigation/deep-linking

Muska-Ami avatar May 16 '24 12:05 Muska-Ami

https://pub.dev/packages/app_links

Muska-Ami avatar Jul 18 '24 20:07 Muska-Ami

当前的实现感觉仍有不足,直接调用会新开一个启动器 进程,造成不必要的占用,应该给应用加一个RPC接口,先检测是否存在进程再判断是否应该启动GUI,否则直接使用现有进程执行操作

Muska-Ami avatar Jul 18 '24 23:07 Muska-Ami

当前的实现感觉仍有不足,直接调用会新开一个启动器 进程,造成不必要的占用,应该给应用加一个RPC接口,先检测是否存在进程再判断是否应该启动GUI,否则直接使用现有进程执行操作

强制给自己添加难度是吧,那我先不卷了(?

ltzXiaoYanMo avatar Jul 19 '24 04:07 ltzXiaoYanMo