vpn_sdp 2.0.9 copy "vpn_sdp: ^2.0.9" to clipboard
vpn_sdp: ^2.0.9 copied to clipboard

SDP 版本 VPN 接入 Flutter 插件,基于零信任 SDP 安全隧道 SDK 封装,提供 iOS/Android 双平台 VPN 连接管理能力。

example/lib/main.dart

import 'package:dio/dio.dart';
import 'package:ecp_global/ecp_global.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:ecp_net/net.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:vpn_sdp/sdp_vpn_exception.dart';
import 'package:vpn_sdp_example/sdp_demo_page.dart';

void main() {
  _initNet();
  runApp(const MyApp());
}

const String _dev = "http://135.0.123.110:8700/api";
const String _innerRelease = "https://gzdxoa.gzdx.com.cn:30081/api";
const String _local = "http://135.31.66.50:6602";
const String _zqSdp = "http://135.31.66.73:9000/sdp/api";

///初始化网络配置
void _initNet() {
  var convert = NetConvert(codeKeys: ["code"], messageKeys: ['msg'], successFlags: ['200']);
  var options = BaseOptions(
    baseUrl: _zqSdp,
    connectTimeout: const Duration(seconds: 10),
    receiveTimeout: const Duration(seconds: 10),
    sendTimeout: const Duration(seconds: 10),
    contentType: "application/json",
  );
  NetConfig.instance
    ..convert = convert
    ..dynamicHeader = (options, header) async {
      header["Device-Type"] = "mobile";
      header["XT-token"] = RuntimeUtils.currentUser?.token;
      header["Current-Dept"] = RuntimeUtils.currentDepartment?.deptId;
    }
    ..errorHandler = AppErrorHandle()
    ..baseOptions = options;
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: const SdpDemoPage(),
      builder: FlutterSmartDialog.init(),
      navigatorObservers: [FlutterSmartDialog.observer],
    );
  }
}

class AppErrorHandle extends NetErrorHandler {
  @override
  void onError(e) {
    if (e is PlatformException) {
      SmartDialog.showToast(e.message ?? "插件异常");
      return;
    }
    if (e is SdpVpnException) {
      SmartDialog.showToast(e.message ?? "网络异常");
      return;
    }
    super.onError(e);
  }
}
0
likes
110
points
110
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

SDP 版本 VPN 接入 Flutter 插件,基于零信任 SDP 安全隧道 SDK 封装,提供 iOS/Android 双平台 VPN 连接管理能力。

Repository

License

MIT (license)

Dependencies

flutter, package_info, permission_handler, plugin_platform_interface

More

Packages that depend on vpn_sdp

Packages that implement vpn_sdp