2020-06-10 10:27:55 +00:00
|
|
|
import 'dart:collection';
|
|
|
|
|
import 'dart:convert';
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
import 'package:chatting/chatting_api_result.dart';
|
2020-06-09 09:35:43 +00:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:dio/dio.dart';
|
2020-06-10 10:27:55 +00:00
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
|
|
|
|
|
|
import 'chatting_data_page.dart';
|
2020-06-09 09:35:43 +00:00
|
|
|
|
|
|
|
|
Dio dio = new Dio();
|
|
|
|
|
|
2020-06-09 10:36:07 +00:00
|
|
|
class ChattingApi {
|
2020-06-10 10:27:55 +00:00
|
|
|
Options options = Options(headers: {HttpHeaders.acceptHeader: "accept: application/json"});
|
|
|
|
|
String token;
|
|
|
|
|
int time;
|
|
|
|
|
String message;
|
|
|
|
|
ChattingApiResult chattingApiResult ;
|
|
|
|
|
Map<String,Object> map = new Map<String,Object>();
|
|
|
|
|
List<MessageData> list;
|
|
|
|
|
|
2020-06-09 10:36:07 +00:00
|
|
|
//登陆提交
|
2020-06-10 10:27:55 +00:00
|
|
|
loginSubmit(String username, String password) async {
|
|
|
|
|
print(username);
|
|
|
|
|
print(password);
|
|
|
|
|
FormData formData = new FormData.from({
|
|
|
|
|
'username':username,
|
|
|
|
|
'password':password,
|
|
|
|
|
});
|
|
|
|
|
var result = await dio.post(
|
2020-06-11 03:54:14 +00:00
|
|
|
'http://192.168.55.141/login',
|
2020-06-10 10:27:55 +00:00
|
|
|
data: formData,
|
|
|
|
|
options: options
|
|
|
|
|
);
|
|
|
|
|
print(result.data);
|
|
|
|
|
token=result.data['token'];
|
|
|
|
|
time=result.data['loginTime'];
|
|
|
|
|
message=result.data['message'];
|
2020-06-11 03:54:14 +00:00
|
|
|
chattingApiResult= new ChattingApiResult(null,token,time,message,null,null,null);
|
2020-06-10 10:27:55 +00:00
|
|
|
print(chattingApiResult.runtimeType);
|
|
|
|
|
return chattingApiResult ;
|
2020-06-09 10:36:07 +00:00
|
|
|
}
|
2020-06-09 09:35:43 +00:00
|
|
|
|
|
|
|
|
//获取通讯录列表
|
2020-06-10 10:27:55 +00:00
|
|
|
getContactList() async {
|
2020-06-09 09:35:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取聊天列表
|
2020-06-10 10:27:55 +00:00
|
|
|
getChattingList() async {
|
|
|
|
|
token = await dataManipulation_get('token');
|
|
|
|
|
|
|
|
|
|
FormData formData = new FormData.from({
|
|
|
|
|
'token':token
|
|
|
|
|
});
|
2020-06-11 03:54:14 +00:00
|
|
|
var response = await dio.post('http://192.168.55.141/newchattings/selectChattingeFriebdList',data: formData);
|
2020-06-10 10:27:55 +00:00
|
|
|
List result=response.data;
|
|
|
|
|
list = new List();
|
|
|
|
|
result.forEach((item) {
|
|
|
|
|
int sendId =int.parse(item['send_id']);
|
|
|
|
|
int receiveId =item['receiveId'];
|
|
|
|
|
String photoUrl =item['photoUrl'];
|
|
|
|
|
String user_name =item['user_name'];
|
|
|
|
|
String content =item['lastOne_chattinglog']['content'];
|
|
|
|
|
int cl_addTime =item['cl_addTime'];
|
|
|
|
|
MessageData messageData =new MessageData(sendId, receiveId,"http://blogimages.jspang.com/blogtouxiang1.jpg", user_name, content, DateTime.fromMillisecondsSinceEpoch(cl_addTime), MessageType.CHAT);
|
|
|
|
|
list.add(messageData);
|
|
|
|
|
});
|
|
|
|
|
return list;
|
2020-06-09 09:35:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前用户信息
|
2020-06-11 03:54:14 +00:00
|
|
|
getCurrentUserInfo() async {
|
|
|
|
|
token = await dataManipulation_get('token');
|
|
|
|
|
var response = await dio.get('http://192.168.55.141/iUsers/getuser?token='+token+'&source=app');
|
|
|
|
|
var result=response.data;
|
|
|
|
|
print(result);
|
2020-06-09 09:35:43 +00:00
|
|
|
return result.data;
|
|
|
|
|
}
|
2020-06-10 10:27:55 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 异步 数据操作
|
|
|
|
|
*/
|
|
|
|
|
void dataManipulation_set(String key, var value) async {
|
|
|
|
|
final prefs = await SharedPreferences.getInstance(); //获取SP的实例
|
|
|
|
|
prefs.setString(key, value); //存储数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 异步 数据操作
|
|
|
|
|
*/
|
|
|
|
|
void dataManipulation_setint(String key, var value) async {
|
|
|
|
|
final prefs = await SharedPreferences.getInstance(); //获取SP的实例
|
|
|
|
|
prefs.setInt(key, value); //存储数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 异步 数据操作
|
|
|
|
|
*/
|
|
|
|
|
dataManipulation_get(String key) async {
|
|
|
|
|
final prefs = await SharedPreferences.getInstance(); //获取SP的实例
|
|
|
|
|
var value = prefs.get(key); //获取数据
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 异步 数据操作
|
|
|
|
|
*/
|
|
|
|
|
void dataManipulation_remove(String key, var value) async {
|
|
|
|
|
final prefs = await SharedPreferences.getInstance(); //获取SP的实例
|
|
|
|
|
prefs.remove(key); //删除数据
|
|
|
|
|
}
|
2020-06-09 10:36:07 +00:00
|
|
|
}
|