liuyuqi-dellpc 2 years ago
parent
commit
69008302b8
4 changed files with 35 additions and 50 deletions
  1. 2 1
      lib/dio/api.dart
  2. 1 1
      lib/dio/track_dao.dart
  3. 2 2
      lib/pages/mine_page.dart
  4. 30 46
      lib/pages/track_page.dart

+ 2 - 1
lib/dio/api.dart

@@ -5,13 +5,14 @@ import 'package:flutter_tracker/model/user_model.dart';
 /// Author     : liuyuqi.gov@msncn
 abstract class Api {
   static const String _host = "http://flutter.yoqi.me/Track";
+  // static const String _host = "http://httpd88.ok.yoqi.me:88/Track";
   static String loginUrl = _host + "/loginByPass";
   static String logoutUrl = _host + "/logout";
   static String registerUrl = _host + "/register";
   static String getUserInfoUrl = _host + "/getUserInfo";
   static String getUserByDeviceId = _host + "'getUserByDeviceId";
   static String uploadImgUrl = _host + "/uploadImg";
-  static String uploadTrackUrl = _host + "/uploadTrack";
+  static String uploadSubmitUrl = _host + "/uploadSubmitUrl";
   static String uploadContactUrl = _host + "/uploadContact";
 
   static String getContactListUrl = _host + "/getTrackList";

+ 1 - 1
lib/dio/track_dao.dart

@@ -52,7 +52,7 @@ class TrackDao {
     return null;
   }
 
-  static Future<UserModel> uploadContact(String token) async {
+  static Future<UserModel> uploadContact(String token, String id) async {
     params.addAll({"token": token});
 
     await Dio().post(Api.uploadContactUrl, data: params).then((response) {

+ 2 - 2
lib/pages/mine_page.dart

@@ -224,14 +224,14 @@ class _MinePageState extends State<MinePage> {
         break;
       case 2:
         return Image.asset(
-          "assets/images/yellow.jpg",
+          "assets/images/red.jpg",
           width: 200,
           height: 200,
         );
         break;
       case 3:
         return Image.asset(
-          "assets/images/red.jpg",
+          "assets/images/yellow.jpg",
           width: 200,
           height: 200,
         );

+ 30 - 46
lib/pages/track_page.dart

@@ -1,7 +1,9 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_blue/flutter_blue.dart';
+import 'package:flutter_tracker/dio/login_dao.dart';
 import 'package:flutter_tracker/dio/track_dao.dart';
 import 'package:flutter_tracker/model/user_model.dart';
+import 'package:flutter_tracker/utils/app_util.dart';
 import 'package:flutter_tracker/views/contact_card.dart';
 import 'package:nearby_connections/nearby_connections.dart';
 import 'package:shared_preferences/shared_preferences.dart';
@@ -26,8 +28,7 @@ class _TrackPageState extends State<TrackPage> {
   List<BluetoothDevice> devices = [];
   List<ScanResult> myScanResult = [];
   List<String> updateTime = [];
-
-  List<UserModel> users = [];
+  String token = "";
   FlutterBlue flutterBlue = FlutterBlue.instance;
 
   @override
@@ -111,10 +112,12 @@ class _TrackPageState extends State<TrackPage> {
       return ListView.builder(
         itemBuilder: (context, index) {
           return ContactCard(
-            imagePath: 'assets/images/green.jpg',
-            infection: '健康',
-            username: "李四",
-            updateTime: updateTime[index],
+            imagePath: blueList[index].healthStatus == 1
+                ? 'assets/images/green.jpg'
+                : 'assets/images/red.jpg',
+            infection: blueList[index].healthStatus == 1 ? "阳性" : "阴性",
+            username: blueList[index].username,
+            updateTime: blueList[index].updateTime,
             deviceid: blueList[index].deviceid,
           );
         },
@@ -179,65 +182,46 @@ class _TrackPageState extends State<TrackPage> {
   @override
   void initState() {
     super.initState();
-    addContactsToList();
     getPermissions();
+    getCurrentUser();
+    addContactsToList();
   }
 
-  void discovery() async {
-    try {
-      bool a = await Nearby().startDiscovery(currentUser.username, strategy,
-          onEndpointFound: (id, name, serviceId) async {
-        // 保存数据
-      }, onEndpointLost: (id) {
-        print(id);
-      });
-      print('DISCOVERING: ${a.toString()}');
-    } catch (e) {
-      print(e);
-    }
+  void getCurrentUser() async {
+    var sharedPreferences = await SharedPreferences.getInstance();
+    token = sharedPreferences.getString("token");
+
+    UserEntity userEntity = await LoginDao.getUserInfo(token);
+    currentUser = userEntity.user;
+    print("token" + token);
+    print("user----------" + currentUser.username);
   }
 
   void getPermissions() async {
     Nearby().askLocationAndExternalStoragePermission();
   }
 
-  Future<void> getCurrentUser() async {
-    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
-    UserModel user = sharedPreferences.get("user");
-  }
-
   void addContactsToList() async {
-    await getCurrentUser();
     //  服务器获取当前用户数据
-    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
-    String token = sharedPreferences.getString("token");
     setState(() async {
-      users = await TrackDao.getContactList(token);
+      blueList = await TrackDao.getContactList(token);
+      print("----------" + blueList.length.toString());
     });
   }
 
   void startTrack(bool flag) async {
+    AppUtil.buildToast("正在获取...");
     try {
-      bool a = await Nearby().startAdvertising(
-        currentUser.username,
-        strategy,
-        onConnectionInitiated: null,
-        onConnectionResult: (id, status) {
-          print(status);
-        },
-        onDisconnected: (id) {
-          print('Disconnected $id');
-        },
-      );
-      // 上传追踪数据
-      SharedPreferences sharedPreferences =
-          await SharedPreferences.getInstance();
-      String token = sharedPreferences.getString("token");
-      TrackDao.uploadContact(token);
-      print('ADVERTISING ${a.toString()}');
+      bool a = await Nearby().startDiscovery(currentUser.username, strategy,
+          onEndpointFound: (id, name, serviceId) async {
+        print('I saw id:$id with name:$name'); // the name here is an email
+        TrackDao.uploadContact("token", name);
+      }, onEndpointLost: (id) {
+        print(id);
+      });
+      print('DISCOVERING: ${a.toString()}');
     } catch (e) {
       print(e);
     }
-    discovery();
   }
 }