页面逻辑
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import 'package:chat/models/user_info_model.dart';
|
||||
import 'package:chat/routes/auth_routes.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get_storage/get_storage.dart';
|
||||
@@ -19,10 +20,10 @@ class AuthService extends GetxService {
|
||||
late String userSig = '';
|
||||
|
||||
/// 获取存储的token,这个可以做到持久化存储
|
||||
String get _userSig =>
|
||||
_box.read('userSig') ??
|
||||
'eJwtzEELgjAYxvHvsnPIu7VNJ3ToIIKsIAp2ljbrRYylJs3ou2fq8fk98P*Qiz5Hg2tJSlgEZDNvtO7RY4UzixU7W5feoyUp5QAxVVzR5XFvj62bXAjBAGDRHpu-SSnZlseKrxW8TU1p9sV4v3YJoyFrDrV*QYu5yrQ*2cqUzyHkPpixOMbJjnx-EqUv9A__';
|
||||
String get _userId => _box.read('userId') ?? '5';
|
||||
String get _userSig => _box.read('userSig') ?? '';
|
||||
String get _userId => _box.read('userId') ?? '';
|
||||
|
||||
Rx<UserInfoModel> userInfo = UserInfoModel.empty().obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
@@ -44,8 +45,8 @@ class AuthService extends GetxService {
|
||||
}
|
||||
|
||||
Future<bool> login(String address) async {
|
||||
_box.write('userId', '5');
|
||||
userId = '5';
|
||||
_box.write('userId', '');
|
||||
userId = '';
|
||||
isLogin.value = true;
|
||||
|
||||
return true;
|
||||
@@ -58,6 +59,7 @@ class AuthService extends GetxService {
|
||||
_box.remove('userId');
|
||||
userSig = '';
|
||||
userId = '';
|
||||
userInfo.value = UserInfoModel.empty();
|
||||
isLogin.value = false;
|
||||
Get.offAllNamed(AuthRoutes.index);
|
||||
}
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
import 'package:chat/models/moment/moment_model.dart';
|
||||
import 'package:chat/models/upload_model.dart';
|
||||
import 'package:chat/utils/request/http.dart';
|
||||
import 'package:chat/utils/ui_tools.dart';
|
||||
|
||||
class MomentService {
|
||||
MomentService._();
|
||||
|
||||
/// 获取“发现”列表数据
|
||||
///
|
||||
/// [createAt] 最后一列的create_at
|
||||
static Future<MomentModel?> fetchMomentList([String? createAt]) async {
|
||||
try {
|
||||
final result = await Http.get(
|
||||
'user/dynamics',
|
||||
params: {'created_at': createAt},
|
||||
);
|
||||
return MomentModel.fromMap(result);
|
||||
} catch (e) {
|
||||
UiTools.toast('获取发现列表失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 点赞
|
||||
///
|
||||
/// [dynamicId]
|
||||
static Future<bool?> likeMoment(int dynamicId) async {
|
||||
try {
|
||||
final result = await Http.post('user/dynamics/$dynamicId/like');
|
||||
return result['is_like'];
|
||||
} catch (e) {
|
||||
UiTools.toast('点赞失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 删除
|
||||
///
|
||||
/// [dynamicId]
|
||||
static Future<bool?> delMoment(int dynamicId) async {
|
||||
try {
|
||||
final result = await Http.delete('user/dynamics/$dynamicId');
|
||||
return result;
|
||||
} catch (e) {
|
||||
UiTools.toast('删除失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 回复或评论
|
||||
/// [dynamicId]
|
||||
/// [content] 评论内容
|
||||
/// [parentId] 回复的评论id
|
||||
static Future<Comment?> replyComment(
|
||||
int dynamicId,
|
||||
String content, [
|
||||
int? parentId,
|
||||
]) async {
|
||||
try {
|
||||
final result = await Http.post(
|
||||
'user/dynamics/$dynamicId/comment',
|
||||
data: {
|
||||
'content': content,
|
||||
'parent_id': parentId,
|
||||
},
|
||||
);
|
||||
return Comment.fromMap(result);
|
||||
} catch (e) {
|
||||
UiTools.toast('评论失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 删除评论
|
||||
/// [dynamicId]
|
||||
/// [comment] 评论id
|
||||
static Future<bool?> delComment(
|
||||
int dynamicId, [
|
||||
int? commentId,
|
||||
]) async {
|
||||
try {
|
||||
final result = await Http.delete(
|
||||
'user/dynamics/$dynamicId/comment/$commentId',
|
||||
);
|
||||
return result;
|
||||
} catch (e) {
|
||||
UiTools.toast('删除评论失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 上传文件
|
||||
static Future<UploadModel?> uploadFile(String filePath) async {
|
||||
try {
|
||||
final result = await Http.upload('storage/upload', filePath: filePath);
|
||||
return UploadModel.fromJson(result);
|
||||
} catch (e) {
|
||||
UiTools.toast('上传失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 发布“发现”内容
|
||||
///
|
||||
/// [description] 文本内容
|
||||
/// [pictures] 媒体内容
|
||||
static Future<dynamic> publishMoment({
|
||||
required String description,
|
||||
required List<String> pictures,
|
||||
}) async {
|
||||
try {
|
||||
final result = await Http.post('user/dynamics', data: {
|
||||
'description': description,
|
||||
'pictures': pictures,
|
||||
});
|
||||
return result;
|
||||
} catch (e) {
|
||||
UiTools.toast('发布失败');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -42,7 +42,7 @@ class TimService extends GetxService {
|
||||
return TencentImSDKPlugin.v2TIMManager;
|
||||
}
|
||||
|
||||
int sdkAppID = 1400719491;
|
||||
int sdkAppID = 1400673817;
|
||||
|
||||
String get _userSig => AuthService.to.userSig;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user