Procházet zdrojové kódy

启动页token验证

daxu0403 před 7 roky
rodič
revize
7314f9aa30

+ 1 - 0
lib/home_page.dart

@@ -33,6 +33,7 @@ class _HomePageState extends State < HomePage > with SingleTickerProviderStateMi
 
   @override
   Widget build(BuildContext context) {
+     ScreenUtil.instance = ScreenUtil(width: 750, height: 1334,allowFontScaling:false)..init(context);
     return
     Scaffold(
       body: IndexedStack(

+ 1 - 1
lib/login_page.dart

@@ -24,7 +24,7 @@ class _LoginPageState extends State < LoginPage > {
 
   @override
   Widget build(BuildContext context) {
-    ScreenUtil.instance = ScreenUtil(width: 750, height: 1334,allowFontScaling:false)..init(context);
+     ScreenUtil.instance = ScreenUtil(width: 750, height: 1334,allowFontScaling:false)..init(context);
     return Scaffold(
       body: Container(
         color: Colors.white,

+ 2 - 3
lib/main.dart

@@ -1,6 +1,5 @@
 import 'package:flutter/material.dart';
-//import 'home_page.dart';
-import 'login_page.dart';
+import 'start_page.dart';
 void main()=>runApp(MyApp());
 
 class MyApp extends StatelessWidget {
@@ -12,7 +11,7 @@ class MyApp extends StatelessWidget {
     return MaterialApp(
       debugShowCheckedModeBanner: false,
       //debugShowMaterialGrid:true,
-      home: LoginPage(),
+      home: StartPage(),
     );
   }
 }

+ 1 - 1
lib/pages/order_management_page.dart

@@ -331,7 +331,7 @@ class _QueryWidgetState extends State < QueryWidget > {
                       setState(() {
                         page = 1;
                       });
-                      fromStatusGetOrderList(orderStatus, page, _orderNo).then((resp) {
+                      fromStatusGetOrderList(orderStatus, page, likeOrderNoList[index]).then((resp) {
                         if (isNotError(context, resp)) {
                           FromStatusGetOrderObj tempObj = FromStatusGetOrderObj.fromJson(resp.data);
                           setState(() {

+ 8 - 0
lib/pages/send_express_page.dart

@@ -128,6 +128,14 @@ class _SendExpressPageState extends State < SendExpressPage > with AutomaticKeep
       //if (_scrollController.position.pixels == _scrollController.position.maxScrollExtent) {}
     });
     sendCompanyPhoneController.addListener(() {
+      if(int.tryParse(sendCompanyPhoneController.text)==null){
+          sendCompanyPhoneController.text = sendCompanyPhone;
+      }
+      if(sendCompanyPhoneController.text.length>11){
+        sendCompanyPhoneController.text = sendCompanyPhone;
+      }
+      print(sendCompanyAddreddController);
+      print(sendCompanyPhoneController.text);
       setState(() {
         sendCompanyPhone = sendCompanyPhoneController.text;
       });

+ 48 - 18
lib/start_page.dart

@@ -1,33 +1,63 @@
 import 'package:flutter/material.dart';
+import 'util/api.dart';
+import 'util/util.dart';
+import 'util/session.dart';
+import 'util/models.dart';
 import 'login_page.dart';
+import 'home_page.dart';
 class StartPage extends StatefulWidget {
   final Widget child;
 
-  StartPage({Key key, this.child}) : super(key: key);
+  StartPage({
+    Key key,
+    this.child
+  }): super(key: key);
 
   _StartPageState createState() => _StartPageState();
 }
 
-class _StartPageState extends State<StartPage> {
+class _StartPageState extends State < StartPage > {
+
+  @override
+  void initState() {
+    super.initState();
+    getKey('token').then((token) {
+      print(token);
+      if (token != null) {
+        print('token存在去验证token');
+        checkToken(token).then((resp) {
+          if (isNotError(context, resp)) {
+            print('获得toekn,跳转主页');
+            CheckToken token = CheckToken.fromJson(resp.data);
+            setKey('token', token.data);
+            Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) {
+              return HomePage();
+            }));
+          } else {
+            print('token错误,跳登录页');
+            Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) {
+              return LoginPage();
+            }));
+          }
+        });
+      } else {
+        print('token不存在跳转登录页');
+        Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) {
+          return LoginPage();
+        }));
+      }
+    });
+  }
+
   @override
   Widget build(BuildContext context) {
     return Container(
-       child: Stack(
-        alignment:Alignment.center,//如果子widget没有定位,此属性定位
-        children: <Widget>[
-          Container(
-            child:Image.asset(
-              "lib/images/start_page.png",//本地图片路径必须和配置文件的图片路径一致
-              fit:BoxFit.cover
-            )
-          ),
-          Positioned(
-            top: 30.0,
-            right: 10.0,
-            child:Text("99",textDirection: TextDirection.ltr,)
-          )
-        ],
-      )
+      child: Container(
+        child: Image.asset(
+          "lib/images/start_page.png", //本地图片路径必须和配置文件的图片路径一致
+          fit: BoxFit.cover
+        )
+      ),
     );
   }
 }

+ 6 - 0
lib/util/api.dart

@@ -10,6 +10,12 @@ Future login(phone, passwrod) async {
   return response;
 }
 
+//token验证
+Future checkToken(String token) async{
+  var response = await Http().post('app/uzer/logistics/check_token',data:{'token':token});
+  return response;
+}
+
 //获取接单列表
 Future getOrderList(String stationId, String lineId, int page) async {
   var response = await Http().post('app/order/wait_order_list_pages', data: {

+ 24 - 0
lib/util/models.dart

@@ -749,4 +749,28 @@ class LikeOrderNo {
       data:json['data'],
     );
   }
+}
+
+//验证token是否过期返回对象
+class CheckToken{
+  bool success;
+  int code;
+  String msg;
+  String data;
+
+  CheckToken({
+    this.success,
+    this.code,
+    this.msg,
+    this.data,
+  });
+
+  factory CheckToken.fromJson(Map<String,dynamic> json){
+    return CheckToken(
+      success:json['success'],
+      code:json['code'],
+      msg:json['msg'],
+      data:json['data'],
+    );
+  }
 }