chatting/lib/chatting_api.dart

110 lines
3.1 KiB
Dart

import 'dart:collection';
import 'dart:convert';
import 'dart:io';
import 'package:chatting/chatting_api_result.dart';
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'chatting_data_page.dart';
Dio dio = new Dio();
class ChattingApi {
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;
//登陆提交
loginSubmit(String username, String password) async {
print(username);
print(password);
FormData formData = new FormData.from({
'username':username,
'password':password,
});
var result = await dio.post(
'http://customer.dsd361.com/login',
data: formData,
options: options
);
print(result.data);
token=result.data['token'];
time=result.data['loginTime'];
message=result.data['message'];
chattingApiResult= new ChattingApiResult(token,time,message,null,null,null);
print(chattingApiResult.runtimeType);
return chattingApiResult ;
}
//获取通讯录列表
getContactList() async {
}
//获取聊天列表
getChattingList() async {
token = await dataManipulation_get('token');
FormData formData = new FormData.from({
'token':token
});
var response = await dio.post('http://customer.dsd361.com/newchattings/selectChattingeFriebdList',data: formData);
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;
}
//获取当前用户信息
getCurrentUserInfo(String id) async {
var result = await dio.get('');
return result.data;
}
/**
* 异步 数据操作
*/
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); //删除数据
}
}