import 'package:eitc_erm_app/utils/Component.dart'; import 'package:eitc_erm_app/utils/Constants.dart'; import 'package:eitc_erm_app/utils/logger.dart'; import 'package:flutter/material.dart'; import 'package:html/parser.dart' as parser; import 'package:http/http.dart' as http; import 'bean/normal_response3.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); runApp(Agreement()); } class Agreement extends StatefulWidget { @override State createState() => AgreementState(); } class AgreementState extends State { ValueNotifier result = ValueNotifier(null); late Future _future; String strHtml = ""; String strHtml1 = ""; String strHtml2 = ""; String strHtml3 = ""; String strHtml4 = ""; String strHtml5 = ""; @override void initState() { super.initState(); _future = fetchData(); } Future fetchData() async { Map headers = { 'token': Global.token, }; final response = await http.get(Uri.parse('${Global.BaseUrl}api/user-notice')); if (response.statusCode == 200) { final json = decodeBodyToJson(response.bodyBytes); logd(json); NormalResponse3 mNormalResponse3 = new NormalResponse3.fromJson(json); if (mNormalResponse3.code == Global.responseSuccessCode) { int i = 0; parser.parse(mNormalResponse3.data).body?.children.forEach((element) { if (i == 0) { strHtml = element.text; i++; } else if (i == 1) { strHtml1 = element.text; i++; } else if (i == 2) { strHtml2 = element.text; i++; } else if (i == 3) { strHtml3 = element.text; i++; } else if (i == 4) { strHtml4 = element.text; i++; } else if (i == 5) { strHtml5 = element.text; i++; } }); setState(() {}); return mNormalResponse3; } else { Component.toast(mNormalResponse3.msg.toString(), 0); } return null; } else { Component.toast("出错了,请稍后再试!", 0); return null; } } @override Widget build(BuildContext context) { return Scaffold( appBar: new AppBar( title: new Text('用户协议', style: TextStyle( color: Colors.white, )), centerTitle: true, elevation: 0.5, backgroundColor: Global.StatusBarColor, leading: new IconButton( tooltip: '返回上一页', icon: const Icon( Icons.arrow_back_ios, color: Colors.white, ), onPressed: () { Navigator.of(context).pop(); //_nextPage(-1); }, ), ), body: SingleChildScrollView( child: Center( child: Padding( padding: const EdgeInsets.all(20), child: Column(children: [ Center( child: Text( strHtml, style: const TextStyle( fontSize: 18, color: Colors.black, ), ), ), Text( strHtml1 + strHtml2 + strHtml3 + strHtml4 + strHtml5, style: const TextStyle( fontSize: 13, color: Colors.grey, ), ), ]))), ), ); } }