mirror of
https://github.com/wanghongenpin/proxypin.git
synced 2026-03-18 05:13:25 +08:00
53 lines
1.6 KiB
Dart
53 lines
1.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_js/flutter_js.dart';
|
|
import 'package:proxypin/network/components/js/file.dart';
|
|
import 'package:proxypin/network/components/js/md5.dart';
|
|
|
|
// Convert JS request
|
|
// Map<String, dynamic> convertJsRequest(HttpRequest request) {
|
|
// return {
|
|
// 'url': request.requestUrl,
|
|
// 'path': request.path(),
|
|
// 'headers': request.headers.toMap(),
|
|
// 'method': request.method.name,
|
|
// 'body': request.bodyAsString
|
|
// };
|
|
// }
|
|
|
|
main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
var flutterJs = getJavascriptRuntime();
|
|
Md5Bridge.registerMd5(flutterJs);
|
|
FileBridge.registerFile(flutterJs);
|
|
|
|
// var httpRequest = HttpRequest(HttpMethod.get, "https://www.v2ex.com");
|
|
// httpRequest.headers.set('user-agent', 'Dart/3.0 (dart:io)');
|
|
|
|
const code = """
|
|
var context ='test';
|
|
var d = md5('value');
|
|
console.log(d);
|
|
var file = File('/Users/wanghongen/Downloads/test.html');
|
|
console.log(file.path);
|
|
// console.log(file.readAsStringSync());
|
|
|
|
async function onRequest() {
|
|
await file.writeAsString('await');
|
|
|
|
var text = await file.readAsString();
|
|
console.log(text);
|
|
File('/Users/wanghongen/Downloads/test.txt').create();
|
|
}
|
|
onRequest();
|
|
""";
|
|
|
|
// var jsRequest = jsonEncode(convertJsRequest(httpRequest));
|
|
|
|
var evaluate = await flutterJs.evaluateAsync(code);
|
|
// print(evaluate.stringResult);
|
|
await flutterJs.handlePromise(evaluate);
|
|
flutterJs.dartContext.clear();
|
|
flutterJs.localContext.clear();
|
|
flutterJs.evaluate('console.log(context)');
|
|
}
|