声明:这是学flutter的第一个应用,垃圾堆中的代码,
然后,大神请无视,如果作为flutter初学者,可以尝试看看
dependencies:
flutter:
sdk: flutter
dio: ^3.0.9
video_player: ^0.10.11+1
http: ^0.12.1
getflutter: ^1.0.11
permission_handler: ^4.2.0
fluttertoast: ^4.0.1
path_provider: ^1.1.0
引入依赖
import 'dart:convert' as convert;
import 'dart:math';
import 'package:http/http.dart' as http;
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:dio/dio.dart';
import 'douyin.dart';
import 'httpHeaders.dart';
import 'package:permission_handler/permission_handler.dart';
import 'oplayer.dart';
import 'package:fluttertoast/fluttertoast.dart';
void main() {
runApp(MaterialApp(debugShowCheckedModeBanner: false, home: HomePage()));
}//不显示debug
class HomePage extends StatefulWidget {
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String showText = '请输入网址';
String vurl = '';
bool hil = false;
var _username = new TextEditingController();
@override
Widget build(BuildContext context) {
var inputDecoration = InputDecoration(
icon: Icon(Icons.mode_edit),
hintText: "https://",
);
return Scaffold(
appBar: AppBar(
title: Text('抖音解析无水印'),
),
body: Container(
alignment: Alignment.center,
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Container(
alignment: Alignment.center,
child: Image.asset(
'asstes/52377818.png',
fit: BoxFit.fill,
width: 300,
height: 400,
)),
TextField(
decoration: inputDecoration,
controller: _username,
),
RaisedButton(
onPressed: () {
_juejin(url: this._username.text);
hil = true;
},
child: Text('解析1'),
),
RaisedButton(
onPressed: () {
pppo(this._username.text).then((val) {
setState(() {
if (val == 5) {
showText = '解析失败!!!';
vurl = '';
} else {
vurl = val['url'];
//print(vurl);
//https://v.douyin.com/JJVsUkT
//http://v.douyin.com/xGSE7P
showText = '解析完成';
}
});
});
hil = true;
},
child: Text('解析2'),
),