ar_tourism_flutter_unity/lib/apis/app.dart
2025-05-14 17:04:13 +08:00

594 lines
16 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();