chatting/lib/chatting_api.dart

113 lines
3.3 KiB
Dart
Raw Normal View History

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
}