594 lines
16 KiB
Dart
594 lines
16 KiB
Dart
import '../utils/request.dart';
|
||
import 'package:dio/dio.dart';
|
||
|
||
// 创建一个关于user相关请求的对象
|
||
class UserApi {
|
||
/// 单例模式
|
||
static UserApi? _instance;
|
||
|
||
// 工厂函数:初始化,默认会返回唯一的实例
|
||
factory UserApi() => _instance ?? UserApi._internal();
|
||
|
||
// 用户Api实例:当访问UserApi的时候,就相当于使用了get方法来获取实例对象,如果_instance存在就返回_instance,不存在就初始化
|
||
static UserApi? get instance => _instance ?? UserApi._internal();
|
||
|
||
/// 初始化
|
||
UserApi._internal() {
|
||
// 初始化基本选项
|
||
}
|
||
|
||
// 1.获取登录页面的账号密码 ok
|
||
getLogin(data) async {
|
||
/// 开启日志打印
|
||
Request.instance?.openLog();
|
||
|
||
/// 发起网络接口请求
|
||
var result = await Request().request('/app/system/loginPassword',
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
// 返回数据
|
||
return result;
|
||
}
|
||
|
||
// 2.注册_发送验证码
|
||
getRegisterCode(data) async {
|
||
/// 开启日志打印
|
||
Request.instance?.openLog();
|
||
var result = await Request().request("/registerCheckPhone",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 3.注册新用户
|
||
getRegister(data) async {
|
||
/// 开启日志打印
|
||
Request.instance?.openLog();
|
||
var result = await Request().request("/app/system/register",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 4.发送短信验证码 ok
|
||
getSendCode(phone) async {
|
||
var result = await Request().request("/appCaptchaCode/${phone}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 5.短信验证登录 ok
|
||
getLoginCode(data) async {
|
||
var result = await Request().request("/app/system/loginSms",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 6.更改密码
|
||
getChangePassword(data) async {
|
||
var result = await Request().request("/app/system/updatePwd",
|
||
method: DioMethod.put, data: data, queryParameters: {});
|
||
|
||
return result;
|
||
}
|
||
|
||
// 登录忘记密码
|
||
getForgetPassword(data) async {
|
||
var result = await Request().request("/app/system/forgetPassword",
|
||
method: DioMethod.put,
|
||
data: data,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 7.实名认证
|
||
getRealNameAuth(data) async {
|
||
var result = await Request().request("/app/system/realNameAuthentication",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true, 'timeoutOptions': {
|
||
'receiveTimeout': const Duration(seconds: 120), // 特别长的接收超时
|
||
'connectTimeout': const Duration(seconds: 30), // 连接超时
|
||
'sendTimeout': const Duration(seconds: 60), // 发送超时
|
||
}},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 8.设置--获取用户信息
|
||
getSetting(phone) async {
|
||
var result = await Request().request("/app/system/getUserInfo/${phone}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 9.设置--修改密码--验证码验证
|
||
getChangePasswordCode(data) async {
|
||
var result = await Request().request("/app/system/verifyUpdatePasswordSms",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 10.设置--修改密码--验证码修改
|
||
getChangePwd(data) async {
|
||
var result = await Request().request("/app/system/updatePwd",
|
||
method: DioMethod.put,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 11.设置--修改密码--旧密码修改密码
|
||
getOldPwd(data) async {
|
||
var result = await Request().request("/app/system/updatePassword",
|
||
method: DioMethod.put,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 12.设置--更新用户昵称和介绍
|
||
getUpdateUserInfo(data) async {
|
||
/// 开启日志打印
|
||
Request.instance?.openLog();
|
||
var result = await Request().request("/app/system/updateNickSign",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 13.设置--用户退出
|
||
getLogout() async {
|
||
var result = await Request().request("/app/system/logOut",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 更换用户背景图 no
|
||
getUpdateUserBg(data) async {
|
||
var result = await Request().request("/app/system/changeBackground",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// -----------------------Center页面--------------------------------
|
||
// 用户创作作品
|
||
getUserWorks(data) async {
|
||
var result = await Request().request("/app/system/createUserWork",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 获取订单
|
||
getOrder() async {
|
||
var result = await Request().request("/app/system/getOrderList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 我的--我的发布 /app/system/getUserPublishWorkList
|
||
getMyPublish() async {
|
||
var result = await Request().request("/app/system/getUserPublishWork",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 我的--作品集 /app/system/getUserPublishWorkList
|
||
getMyCollection({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getUserPublishWorkList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 我的发布--作品详情
|
||
getMyPublishDetail(workId) async {
|
||
var result = await Request().request(
|
||
"/app/system/getUserPublishWorkDetail/${workId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 其余--查看作品详情
|
||
getOtherPublishDetail(workId) async {
|
||
var result = await Request().request("/app/system/getUserWork/${workId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 我的草稿箱作品列表
|
||
getDrafts({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getUserDraftWorkList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 删除草稿箱作品
|
||
deleteDraft(workId) async {
|
||
var result = await Request().request("/app/system/deleteUserWork/${workId}",
|
||
method: DioMethod.delete,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 编辑用户作品 0存草稿 1保存 1发布
|
||
editUserWork(data) async {
|
||
/// 开启日志打印
|
||
Request.instance?.openLog();
|
||
var result = await Request().request("/app/system/editUserWork",
|
||
method: DioMethod.put,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 查看我都关注了哪些人
|
||
getMyFollow({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getFollowerList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 我的--粉丝--查看哪些人关注了我
|
||
getMyFans({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getFollowedList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 新增关注
|
||
addFollow(followedUserId) async {
|
||
var result = await Request().request(
|
||
"/app/system/addFollower/${followedUserId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 取消关注
|
||
cancelFollow(followedUserId) async {
|
||
var result = await Request().request(
|
||
"/app/system/deleteFollower/${followedUserId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 消息------
|
||
// 获取新增关注人数
|
||
getNewFollow() async {
|
||
var result = await Request().request("/app/system/addFollowerCount",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 获取新增关注列表
|
||
getNewFollowList({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/addFollowerList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 查看系统消息列表
|
||
getSystemMessage({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/systemMessage",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
// 获取认证信息
|
||
getJuheAuthentication(data) async {
|
||
var result = await Request().request("/app/system/juheAuthentication",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
// 根据消息id查看消息详情
|
||
getMessageDetail(id) async {
|
||
var result = await Request().request(
|
||
"/app/system/getSystemMessageDetail/${id}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 新增点赞数
|
||
getAddLikeNum() async {
|
||
var result = await Request().request("/app/system/addLikeCount",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 获取点赞列表
|
||
getLikeList({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getWorkLikeList",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 获取资源位列表--画格子
|
||
getPublishList(data) async {
|
||
var result = await Request().request("/app/system/getAllSource",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 获取下拉选框城市和景区
|
||
getCityAndScenic() async {
|
||
var result = await Request().request("/system/source/getCityAndScenic",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 根据id获取资源位的价格
|
||
getPrice(id) async {
|
||
var result = await Request().request("/app/system/getPriceList/${id}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 中间---发布作品
|
||
getPublish(data) async {
|
||
var result = await Request().request("/app/system/publishUserWorkNew",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 支付回调
|
||
getPayCallback(damchOrderNota) async {
|
||
var result = await Request().request(
|
||
"/wxPay/wxRechargeCallback/${damchOrderNota}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 点赞功能
|
||
getLikeWork(workId) async {
|
||
var result = await Request().request("/app/system/addLike/${workId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 取消点赞功能
|
||
getCancelLikeWork(workId) async {
|
||
var result = await Request().request("/app/system/cancelLike/${workId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 首页右下角--更多查看别人发布的作品
|
||
getMoreWork({
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
bool requiresToken = false, // 添加参数控制是否需要token
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getMoreUserWork",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': requiresToken}, // 根据参数决定是否需要token
|
||
queryParameters: {
|
||
'pageNum': page,
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
|
||
// 首页右下角--查看作品详情
|
||
getWorkDetail(workId) async {
|
||
var result = await Request().request(
|
||
"/app/system/getMoreUserPublishWorkDetail/${workId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
|
||
// 他人主页
|
||
getOtherPublish(userId) async {
|
||
var result = await Request().request(
|
||
"/app/system/getMoreUserDetail/${userId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
// 注销账号
|
||
cancelAccount() async {
|
||
var result = await Request().request("/app/system/deleteUserAccount",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
// 他人发布作品
|
||
othersPublishDetail(
|
||
userId, {
|
||
int page = 1,
|
||
int pageSize = 10,
|
||
}) async {
|
||
var result = await Request().request(
|
||
"/app/system/getMoreUserPublishWork/${userId}",
|
||
method: DioMethod.get,
|
||
// queryParameters: {
|
||
// 'pageNum': page, // 页码
|
||
// 'pageSize': pageSize, // 每页数量
|
||
// },
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {
|
||
'pageNum': page, // 页码
|
||
'pageSize': pageSize,
|
||
},
|
||
);
|
||
return result;
|
||
}
|
||
// 版本更新
|
||
getVersionUpdate(version) async {
|
||
var result = await Request().request("/app/system/checkVersion/${version}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': false},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
// 获取认证信息
|
||
getAuthInfo() async {
|
||
var result = await Request().request("/app/system/getUserAuthenticationInfo",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
// 订单详情
|
||
getOrderDetail(orderId) async {
|
||
var result = await Request().request("/app/system/getSystemOrder/${orderId}",
|
||
method: DioMethod.get,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
// 关闭订单
|
||
closeOrder(data) async {
|
||
var result = await Request().request("/app/system/closeOrder",
|
||
method: DioMethod.post,
|
||
data: data,
|
||
extra: {'requiresToken': true},
|
||
queryParameters: {});
|
||
return result;
|
||
}
|
||
}
|
||
|
||
// 导出全局使用这一个实例
|
||
final userApi = UserApi();
|