提交 9254a4f2 authored 作者: yueweilu's avatar yueweilu

格式化代码

上级 3e998548
part of ad; part of ad;
class AdController extends GetxController { class AdController extends GetxController {
late BuildContext context; late BuildContext context;
AdController(this.context);
int _countdown = 5;
late Timer _timer;
AdController(this.context);
@override int _countdown = 5;
late Timer _timer;
@override
void onInit() { void onInit() {
super.onInit(); super.onInit();
startTime(); startTime();
} }
void startTime(){
void startTime() {
_timer = Timer.periodic(const Duration(seconds: 1), (timer) { _timer = Timer.periodic(const Duration(seconds: 1), (timer) {
if (_countdown > 0) { if (_countdown > 0) {
_countdown--; _countdown--;
update(); update();
}else { } else {
_timer.cancel(); _timer.cancel();
// context.pushReplacementNamed(Routes.splash); // context.pushReplacementNamed(Routes.splash);
context.goNamed(Routes.main); context.goNamed(Routes.main);
...@@ -28,7 +29,7 @@ class AdController extends GetxController { ...@@ -28,7 +29,7 @@ class AdController extends GetxController {
@override @override
void onClose() { void onClose() {
_timer.cancel(); _timer.cancel();
super.onClose(); super.onClose();
} }
} }
\ No newline at end of file
part of answer; part of answer;
class AnswerController extends GetxController { class AnswerController extends GetxController {
// 刷新token // 刷新token
Future<String?> refreshToken() async { Future<String?> refreshToken() async {
final result = await CommonAPI.refreshToken(); final result = await CommonAPI.refreshToken();
return result; return result;
} }
} }
\ No newline at end of file
part of book_score; part of book_score;
class BookScoreController extends GetxController { class BookScoreController extends GetxController {
final String bookId ; final String bookId;
BookScoreController(this.bookId); BookScoreController(this.bookId);
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
...@@ -10,9 +11,7 @@ class BookScoreController extends GetxController { ...@@ -10,9 +11,7 @@ class BookScoreController extends GetxController {
); );
// 评价列表 // 评价列表
List <ScoreModel> scores = []; List<ScoreModel> scores = [];
@override @override
void onClose() { void onClose() {
...@@ -20,33 +19,27 @@ class BookScoreController extends GetxController { ...@@ -20,33 +19,27 @@ class BookScoreController extends GetxController {
super.onClose(); super.onClose();
} }
final int _limit = 10; final int _limit = 10;
int _page = 1; int _page = 1;
bool _noMore = false; bool _noMore = false;
/// 获取课程内图书列表 /// 获取课程内图书列表
Future<void> _getScores(String bookId,[bool isRefresh = false]) async { Future<void> _getScores(String bookId, [bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await LibraryAPI.scores( final result =
page: _page, await LibraryAPI.scores(page: _page, limit: _limit, bookId: bookId);
limit: _limit,
bookId: bookId
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) scores.clear(); if (isRefresh) scores.clear();
scores.addAll(result); scores.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
try { try {
await _getScores(bookId,true); await _getScores(bookId, true);
refreshController.finishRefresh(IndicatorResult.success); refreshController.finishRefresh(IndicatorResult.success);
refreshController.resetFooter(); refreshController.resetFooter();
} catch (error) { } catch (error) {
...@@ -66,4 +59,4 @@ class BookScoreController extends GetxController { ...@@ -66,4 +59,4 @@ class BookScoreController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
} }
\ No newline at end of file
part of book_shop; part of book_shop;
class BookshopController extends GetxController { class BookshopController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -9,6 +8,7 @@ class BookshopController extends GetxController { ...@@ -9,6 +8,7 @@ class BookshopController extends GetxController {
// 书架数组 // 书架数组
List<CourseModel> carts = []; List<CourseModel> carts = [];
// 是否全选 // 是否全选
late bool all = false; late bool all = false;
...@@ -16,9 +16,6 @@ class BookshopController extends GetxController { ...@@ -16,9 +16,6 @@ class BookshopController extends GetxController {
int _page = 1; int _page = 1;
bool _noMore = false; bool _noMore = false;
@override @override
void onReady() { void onReady() {
onRefresh(); onRefresh();
...@@ -32,15 +29,15 @@ class BookshopController extends GetxController { ...@@ -32,15 +29,15 @@ class BookshopController extends GetxController {
} }
// 选中 与 取消选中 // 选中 与 取消选中
void select(CourseModel courseModel){ void select(CourseModel courseModel) {
if (courseModel.status == 1){ if (courseModel.status == 1) {
courseModel.selected = !courseModel.selected; courseModel.selected = !courseModel.selected;
} }
bool checkAll = true; bool checkAll = true;
for (CourseModel model in carts){ for (CourseModel model in carts) {
if (model.status == 1){ if (model.status == 1) {
if (model.selected == false){ if (model.selected == false) {
checkAll = false; checkAll = false;
} }
} }
...@@ -53,9 +50,9 @@ class BookshopController extends GetxController { ...@@ -53,9 +50,9 @@ class BookshopController extends GetxController {
// 获取选中数量 // 获取选中数量
int get num { int get num {
int num = 0; int num = 0;
for (CourseModel model in carts){ for (CourseModel model in carts) {
if (model.selected == true){ if (model.selected == true) {
num ++; num++;
} }
} }
return num; return num;
...@@ -63,12 +60,12 @@ class BookshopController extends GetxController { ...@@ -63,12 +60,12 @@ class BookshopController extends GetxController {
// 获取总价 // 获取总价
//总价格 //总价格
double get allPrice{ double get allPrice {
Decimal price = Decimal.zero; Decimal price = Decimal.zero;
for (CourseModel model in carts) { for (CourseModel model in carts) {
if (model.status == 1){ if (model.status == 1) {
if (model.selected == true){ if (model.selected == true) {
price = price + Decimal.parse(model.vipPrice??'0.00'); price = price + Decimal.parse(model.vipPrice ?? '0.00');
} }
} }
} }
...@@ -94,49 +91,44 @@ class BookshopController extends GetxController { ...@@ -94,49 +91,44 @@ class BookshopController extends GetxController {
} }
* */ * */
// 全选 // 全选
void selectAll() { void selectAll() {
if(all == false){ if (all == false) {
for (CourseModel model in carts) { for (CourseModel model in carts) {
if (model.status == 1){ if (model.status == 1) {
model.selected = true; model.selected = true;
} }
} }
all = true; all = true;
} } else {
else {
for (CourseModel model in carts) { for (CourseModel model in carts) {
if (model.status == 1){ if (model.status == 1) {
model.selected = false; model.selected = false;
} }
} }
all = false; all = false;
} }
update(); update();
} }
/// 购买的书籍 /// 购买的书籍
List<CourseModel> get buy { List<CourseModel> get buy {
List<CourseModel> temp = []; List<CourseModel> temp = [];
for (CourseModel model in carts) { for (CourseModel model in carts) {
if (model.status == 1){ if (model.status == 1) {
if (model.selected == true){ if (model.selected == true) {
temp.add(model); temp.add(model);
} }
} }
} }
return temp; return temp;
} }
/// 删除购物车 单个书籍 /// 删除购物车 单个书籍
void delCart({ void delCart({
required String cartId, required String cartId,
}) async { }) async {
bool result = await ShopAPI.delCart( bool result = await ShopAPI.delCart(cartId: cartId);
cartId: cartId);
if (result) { if (result) {
onRefresh(); onRefresh();
} }
...@@ -146,21 +138,16 @@ class BookshopController extends GetxController { ...@@ -146,21 +138,16 @@ class BookshopController extends GetxController {
Future<void> getCart([bool isRefresh = false]) async { Future<void> getCart([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await ShopAPI.cart( final result = await ShopAPI.cart(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) carts.clear(); if (isRefresh) carts.clear();
// carts.addAll(_test()); // carts.addAll(_test());
carts.addAll(result); carts.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
try { try {
await getCart(true); await getCart(true);
...@@ -184,14 +171,38 @@ class BookshopController extends GetxController { ...@@ -184,14 +171,38 @@ class BookshopController extends GetxController {
} }
} }
List<CourseModel> _test(){ List<CourseModel> _test() {
return [ return [
CourseModel(bookName: '哈1',bookId: 111,vipPrice: '100.33',authors: 'John',status: 1), CourseModel(
CourseModel(bookName: '哈2',bookId: 123,vipPrice: '12.00',authors: 'json',status: 1), bookName: '哈1',
CourseModel(bookName: '哈3',bookId: 11,vipPrice: '12.43',authors: 'hash',status: 1), bookId: 111,
CourseModel(bookName: '哈3',bookId: 11,vipPrice: '12.43',authors: 'hash',status: 1), vipPrice: '100.33',
CourseModel(bookName: '哈3',bookId: 11,vipPrice: '12.43',authors: 'hash',status: 1), authors: 'John',
status: 1),
CourseModel(
bookName: '哈2',
bookId: 123,
vipPrice: '12.00',
authors: 'json',
status: 1),
CourseModel(
bookName: '哈3',
bookId: 11,
vipPrice: '12.43',
authors: 'hash',
status: 1),
CourseModel(
bookName: '哈3',
bookId: 11,
vipPrice: '12.43',
authors: 'hash',
status: 1),
CourseModel(
bookName: '哈3',
bookId: 11,
vipPrice: '12.43',
authors: 'hash',
status: 1),
]; ];
} }
}
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ part of change_phone; ...@@ -3,6 +3,7 @@ part of change_phone;
class ChangePhoneController extends GetxController { class ChangePhoneController extends GetxController {
// 账号 // 账号
final TextEditingController phoneInput = TextEditingController(); final TextEditingController phoneInput = TextEditingController();
// 验证码 // 验证码
final TextEditingController codeInput = TextEditingController(); final TextEditingController codeInput = TextEditingController();
...@@ -10,15 +11,17 @@ class ChangePhoneController extends GetxController { ...@@ -10,15 +11,17 @@ class ChangePhoneController extends GetxController {
late Timer _timer; late Timer _timer;
// 按钮是否可用 // 按钮是否可用
bool _enable = false; bool _enable = false;
bool get enable => _enable; bool get enable => _enable;
// 倒计时60秒 // 倒计时60秒
int _countDown = 60; int _countDown = 60;
int get countDown => _countDown; int get countDown => _countDown;
bool _isCounting = false; bool _isCounting = false;
bool get isCounting => _isCounting;
bool get isCounting => _isCounting;
// 开启定时器 // 开启定时器
void start() { void start() {
...@@ -35,18 +38,17 @@ class ChangePhoneController extends GetxController { ...@@ -35,18 +38,17 @@ class ChangePhoneController extends GetxController {
// 停止计时器 // 停止计时器
void stop() { void stop() {
if (_timer != null){ if (_timer != null) {
_timer.cancel(); _timer.cancel();
_isCounting = false; _isCounting = false;
} }
_countDown = 60; _countDown = 60;
} }
void setCanClick(){ void setCanClick() {
if (phoneInput.text.length == 11 && codeInput.text.length == 6){ if (phoneInput.text.length == 11 && codeInput.text.length == 6) {
_enable = true; _enable = true;
} } else {
else{
_enable = false; _enable = false;
} }
update(); update();
...@@ -57,6 +59,7 @@ class ChangePhoneController extends GetxController { ...@@ -57,6 +59,7 @@ class ChangePhoneController extends GetxController {
_timer = Timer.periodic(const Duration(seconds: 1), (timer) { _timer = Timer.periodic(const Duration(seconds: 1), (timer) {
// 定时器回调 // 定时器回调
}); });
/// 测试账号 /// 测试账号
// if (kDebugMode) { // if (kDebugMode) {
// phoneInput.text = '13521054068'; // phoneInput.text = '13521054068';
...@@ -74,22 +77,21 @@ class ChangePhoneController extends GetxController { ...@@ -74,22 +77,21 @@ class ChangePhoneController extends GetxController {
super.onClose(); super.onClose();
} }
void sendCode() async { void sendCode() async {
final result = await AccountAPI.sendCode(phone: phoneInput.text, type: 'login'); final result = await AccountAPI.sendCode(phone: phoneInput.text, type: 'login');
if (result){ if (result) {
Toast.show('发送成功'); Toast.show('发送成功');
start(); start();
} } else {
else{
Toast.show('发送失败'); Toast.show('发送失败');
} }
} }
Future <bool> changePhone() async { Future<bool> changePhone() async {
final result = await MineAPI.changePhone(phone:phoneInput.text, code: codeInput.text,); final result = await MineAPI.changePhone(
phone: phoneInput.text,
code: codeInput.text,
);
return result; return result;
} }
}
}
\ No newline at end of file
...@@ -2,37 +2,42 @@ part of change_pwd; ...@@ -2,37 +2,42 @@ part of change_pwd;
class ChangePwdController extends GetxController { class ChangePwdController extends GetxController {
final UserInfoModel userInfo; final UserInfoModel userInfo;
ChangePwdController(this.userInfo); ChangePwdController(this.userInfo);
// 新密码 // 新密码
final TextEditingController pwdInput = TextEditingController(); final TextEditingController pwdInput = TextEditingController();
// 确认密码 // 确认密码
final TextEditingController pwd2Input = TextEditingController(); final TextEditingController pwd2Input = TextEditingController();
// 显示密码 // 显示密码
final ValueNotifier<bool> showPassword = ValueNotifier(false); final ValueNotifier<bool> showPassword = ValueNotifier(false);
// 显示密码 // 显示密码
final ValueNotifier<bool> showPassword2 = ValueNotifier(false); final ValueNotifier<bool> showPassword2 = ValueNotifier(false);
// 按钮是否可用 // 按钮是否可用
bool _enable = false; bool _enable = false;
bool get enable => _enable;
bool get enable => _enable;
void onShowPassword() => showPassword.value = !showPassword.value; void onShowPassword() => showPassword.value = !showPassword.value;
void onShowPassword2() => showPassword2.value = !showPassword2.value; void onShowPassword2() => showPassword2.value = !showPassword2.value;
void setCanClick(){ void setCanClick() {
if (ValidatorTool.isValidPassword(pwdInput.text) && ValidatorTool.isValidPassword(pwd2Input.text) && (pwdInput.text == pwd2Input.text)){ if (ValidatorTool.isValidPassword(pwdInput.text) &&
ValidatorTool.isValidPassword(pwd2Input.text) &&
(pwdInput.text == pwd2Input.text)) {
Console.log('-------${pwdInput.text}-------------${pwd2Input.text}'); Console.log('-------${pwdInput.text}-------------${pwd2Input.text}');
_enable = true; _enable = true;
} } else {
else{
_enable = false; _enable = false;
} }
update(); update();
} }
@override @override
void onClose() { void onClose() {
pwd2Input.dispose(); pwd2Input.dispose();
...@@ -40,32 +45,33 @@ class ChangePwdController extends GetxController { ...@@ -40,32 +45,33 @@ class ChangePwdController extends GetxController {
super.onClose(); super.onClose();
} }
Future <bool> changePwd() async { Future<bool> changePwd() async {
final result = await MineAPI.changePwd( final result = await MineAPI.changePwd(
password: EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(pwdInput.text)), password: EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(pwdInput.text)),
rePassword: EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(pwd2Input.text)) rePassword:
); EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(pwd2Input.text)));
if(result){ if (result) {
userInfo.password = EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(pwdInput.text)); userInfo.password =
EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(pwdInput.text));
update(); update();
} }
return result; return result;
} }
// void resetPassword(BuildContext context) async { // void resetPassword(BuildContext context) async {
// final result = await AccountAPI.resetPassword( // final result = await AccountAPI.resetPassword(
// phone: phone, // phone: phone,
// code: code, // code: code,
// password: pwdInput.text, // password: pwdInput.text,
// rePassword: pwd2Input.text // rePassword: pwd2Input.text
// ); // );
// if (result){ // if (result){
// if (context.mounted){ // if (context.mounted){
// context.goNamed(Routes.login); // context.goNamed(Routes.login);
// } // }
// } // }
// else{ // else{
// //
// } // }
// } // }
} }
part of course; part of course;
class CourseController extends GetxController { class CourseController extends GetxController {
// 课程数组 // 课程数组
List<CourseModel> courses = []; List<CourseModel> courses = [];
// 消息数组 // 消息数组
List<AdModel> ads = []; List<AdModel> ads = [];
...@@ -48,26 +47,21 @@ class CourseController extends GetxController { ...@@ -48,26 +47,21 @@ class CourseController extends GetxController {
/// 获取图书详细信息 /// 获取图书详细信息
Future<BookDetailModel> getBookDetails(String bookId) async { Future<BookDetailModel> getBookDetails(String bookId) async {
final result = await LibraryAPI.details(bookId:bookId); final result = await LibraryAPI.details(bookId: bookId);
return result; return result;
} }
/// 获取课程内图书列表 /// 获取课程内图书列表
Future<void> _getCourse([bool isRefresh = false]) async { Future<void> _getCourse([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await CourseAPI.list( final result = await CourseAPI.list(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) courses.clear(); if (isRefresh) courses.clear();
courses.addAll(result); courses.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -93,15 +87,14 @@ class CourseController extends GetxController { ...@@ -93,15 +87,14 @@ class CourseController extends GetxController {
} }
} }
// void logout(BuildContext context) async { // void logout(BuildContext context) async {
// final result = await AccountAPI.logout(); // final result = await AccountAPI.logout();
// if (result){ // if (result){
// CustomToast.success('退出成功'); // CustomToast.success('退出成功');
// await UserStore.to.logout(); // await UserStore.to.logout();
// if(context.mounted){ // if(context.mounted){
// context.goNamed(Routes.main); // context.goNamed(Routes.main);
// } // }
// } // }
// } // }
}
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ part of forget_pwd; ...@@ -3,6 +3,7 @@ part of forget_pwd;
class ForgetPwdController extends GetxController { class ForgetPwdController extends GetxController {
// 账号 // 账号
final TextEditingController phoneInput = TextEditingController(); final TextEditingController phoneInput = TextEditingController();
// 验证码 // 验证码
final TextEditingController codeInput = TextEditingController(); final TextEditingController codeInput = TextEditingController();
...@@ -10,15 +11,17 @@ class ForgetPwdController extends GetxController { ...@@ -10,15 +11,17 @@ class ForgetPwdController extends GetxController {
late Timer _timer; late Timer _timer;
// 按钮是否可用 // 按钮是否可用
bool _enable = false; bool _enable = false;
bool get enable => _enable; bool get enable => _enable;
// 倒计时60秒 // 倒计时60秒
int _countDown = 60; int _countDown = 60;
int get countDown => _countDown; int get countDown => _countDown;
bool _isCounting = false; bool _isCounting = false;
bool get isCounting => _isCounting;
bool get isCounting => _isCounting;
// 开启定时器 // 开启定时器
void start() { void start() {
...@@ -35,18 +38,18 @@ class ForgetPwdController extends GetxController { ...@@ -35,18 +38,18 @@ class ForgetPwdController extends GetxController {
// 停止计时器 // 停止计时器
void stop() { void stop() {
if (_timer != null){ if (_timer != null) {
_timer.cancel(); _timer.cancel();
_isCounting = false; _isCounting = false;
} }
_countDown = 60; _countDown = 60;
} }
void setCanClick(){ void setCanClick() {
if (ValidatorTool.isValidPhoneNumber(phoneInput.text)&& codeInput.text.length == 6){ if (ValidatorTool.isValidPhoneNumber(phoneInput.text) &&
codeInput.text.length == 6) {
_enable = true; _enable = true;
} } else {
else{
_enable = false; _enable = false;
} }
update(); update();
...@@ -57,6 +60,7 @@ class ForgetPwdController extends GetxController { ...@@ -57,6 +60,7 @@ class ForgetPwdController extends GetxController {
_timer = Timer.periodic(const Duration(seconds: 1), (timer) { _timer = Timer.periodic(const Duration(seconds: 1), (timer) {
// 定时器回调 // 定时器回调
}); });
/// 测试账号 /// 测试账号
// if (kDebugMode) { // if (kDebugMode) {
// phoneInput.text = '13521054068'; // phoneInput.text = '13521054068';
...@@ -74,22 +78,20 @@ class ForgetPwdController extends GetxController { ...@@ -74,22 +78,20 @@ class ForgetPwdController extends GetxController {
super.onClose(); super.onClose();
} }
void sendCode() async { void sendCode() async {
final result = await AccountAPI.sendCode(phone: phoneInput.text, type: 'login'); final result =
if (result){ await AccountAPI.sendCode(phone: phoneInput.text, type: 'login');
if (result) {
Toast.show('发送成功'); Toast.show('发送成功');
start(); start();
} } else {
else{
Toast.show('发送失败'); Toast.show('发送失败');
} }
} }
Future<bool> checkCode() async { Future<bool> checkCode() async {
final result = await AccountAPI.checkCode(phone: phoneInput.text, code: codeInput.text); final result = await AccountAPI.checkCode(
phone: phoneInput.text, code: codeInput.text);
return result; return result;
} }
}
}
\ No newline at end of file
...@@ -11,7 +11,6 @@ class HelpCenterController extends GetxController { ...@@ -11,7 +11,6 @@ class HelpCenterController extends GetxController {
bool _noMore = false; bool _noMore = false;
List<HelpCenterModel> helpCenters = []; List<HelpCenterModel> helpCenters = [];
@override @override
void onClose() { void onClose() {
refreshController.dispose(); refreshController.dispose();
...@@ -22,17 +21,13 @@ class HelpCenterController extends GetxController { ...@@ -22,17 +21,13 @@ class HelpCenterController extends GetxController {
Future<void> _gethelpCenters([bool isRefresh = false]) async { Future<void> _gethelpCenters([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.helpCenters( final result = await MineAPI.helpCenters(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) helpCenters.clear(); if (isRefresh) helpCenters.clear();
helpCenters.addAll(result); helpCenters.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -58,12 +53,11 @@ class HelpCenterController extends GetxController { ...@@ -58,12 +53,11 @@ class HelpCenterController extends GetxController {
} }
} }
List<HelpCenterModel> test(){ List<HelpCenterModel> test() {
return [ return [
HelpCenterModel(id: 1,helpTitle: '账号注册'), HelpCenterModel(id: 1, helpTitle: '账号注册'),
HelpCenterModel(id: 2,helpTitle: '如何进行充值'), HelpCenterModel(id: 2, helpTitle: '如何进行充值'),
HelpCenterModel(id: 3,helpTitle: '如何对内容进行划线'), HelpCenterModel(id: 3, helpTitle: '如何对内容进行划线'),
]; ];
} }
}
}
\ No newline at end of file
part of login; part of login;
enum LoginType { code, password }
enum LoginType{code, password}
class LoginController extends GetxController { class LoginController extends GetxController {
// 0:密码登录 1:验证码登录 // 0:密码登录 1:验证码登录
late int loginType = 0; late int loginType = 0;
// 2、密码登录 // 2、密码登录
// 账号 // 账号
final TextEditingController phoneInput = TextEditingController(); final TextEditingController phoneInput = TextEditingController();
// 密码 // 密码
final TextEditingController passwordInput = TextEditingController(); final TextEditingController passwordInput = TextEditingController();
// 验证码 // 验证码
final TextEditingController codeInput = TextEditingController(); final TextEditingController codeInput = TextEditingController();
// 显示密码 // 显示密码
final ValueNotifier<bool> showPassword = ValueNotifier(false); final ValueNotifier<bool> showPassword = ValueNotifier(false);
// 定时器 // 定时器
late Timer _timer; late Timer _timer;
// 按钮是否可用 // 按钮是否可用
bool _enable = false; bool _enable = false;
bool get enable => _enable; bool get enable => _enable;
// 倒计时60秒 // 倒计时60秒
int _countDown = 60; int _countDown = 60;
int get countDown => _countDown; int get countDown => _countDown;
bool _isCounting = false; bool _isCounting = false;
bool get isCounting => _isCounting; bool get isCounting => _isCounting;
// 同意协议 // 同意协议
bool _agree = false; bool _agree = false;
bool get agree => _agree; bool get agree => _agree;
void setAgree() { void setAgree() {
_agree = !_agree; _agree = !_agree;
update(); update();
...@@ -52,27 +60,26 @@ class LoginController extends GetxController { ...@@ -52,27 +60,26 @@ class LoginController extends GetxController {
// 停止计时器 // 停止计时器
void stop() { void stop() {
if (_timer != null){ if (_timer != null) {
_timer.cancel(); _timer.cancel();
_isCounting = false; _isCounting = false;
} }
_countDown = 60; _countDown = 60;
} }
void setCanClick(){ void setCanClick() {
if (loginType == 0){ if (loginType == 0) {
if (ValidatorTool.isValidPhoneNumber(phoneInput.text) && ValidatorTool.isValidPassword(passwordInput.text)){ if (ValidatorTool.isValidPhoneNumber(phoneInput.text) &&
ValidatorTool.isValidPassword(passwordInput.text)) {
_enable = true; _enable = true;
} } else {
else{
_enable = false; _enable = false;
} }
} } else {
else { if (ValidatorTool.isValidPhoneNumber(phoneInput.text) &&
if (ValidatorTool.isValidPhoneNumber(phoneInput.text) && ValidatorTool.isValidCode(codeInput.text)){ ValidatorTool.isValidCode(codeInput.text)) {
_enable = true; _enable = true;
} } else {
else{
_enable = false; _enable = false;
} }
} }
...@@ -80,18 +87,18 @@ class LoginController extends GetxController { ...@@ -80,18 +87,18 @@ class LoginController extends GetxController {
update(); update();
} }
@override @override
void onInit() { void onInit() {
_timer = Timer.periodic(const Duration(seconds: 1), (timer) { _timer = Timer.periodic(const Duration(seconds: 1), (timer) {
// 定时器回调 // 定时器回调
}); });
/// 测试账号 /// 测试账号
if (kDebugMode) { if (kDebugMode) {
phoneInput.text = '18810760819'; phoneInput.text = '18810760819';
passwordInput.text = '1234567m'; passwordInput.text = '1234567m';
// phoneInput.text = '17311837355'; // phoneInput.text = '17311837355';
// passwordInput.text = '12345678'; // passwordInput.text = '12345678';
} }
super.onInit(); super.onInit();
} }
...@@ -109,7 +116,7 @@ class LoginController extends GetxController { ...@@ -109,7 +116,7 @@ class LoginController extends GetxController {
void onShowPassword() => showPassword.value = !showPassword.value; void onShowPassword() => showPassword.value = !showPassword.value;
void updateLoginType(int value){ void updateLoginType(int value) {
stop(); stop();
loginType = value; loginType = value;
update(); update();
...@@ -131,16 +138,12 @@ class LoginController extends GetxController { ...@@ -131,16 +138,12 @@ class LoginController extends GetxController {
phone: phoneInput.text, phone: phoneInput.text,
password: EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(passwordInput.text)), password: EncryptUtil.encodeMd5(EncryptUtil.encodeMd5(passwordInput.text)),
code: codeInput.text, code: codeInput.text,
type: type type: type);
);
if((result.token ?? '').isEmpty) return;
if ((result.token ?? '').isEmpty) return;
// 存储用户信息 // 存储用户信息
await Future.wait([ await Future.wait([UserStore.to.login(result)]);
UserStore.to.login(result)
]);
// await Future.wait([ // await Future.wait([
// UserStore.to.setToken(result.token!), // UserStore.to.setToken(result.token!),
// UserStore.to.setAccessToken(result.accessToken!), // UserStore.to.setAccessToken(result.accessToken!),
...@@ -152,15 +155,14 @@ class LoginController extends GetxController { ...@@ -152,15 +155,14 @@ class LoginController extends GetxController {
// UserStore.to.profile(), // UserStore.to.profile(),
// ]); // ]);
if (context.mounted){ if (context.mounted) {
// context.goNamed(Routes.main); // context.goNamed(Routes.main);
Future.delayed(const Duration(milliseconds: 10)).then((value){ Future.delayed(const Duration(milliseconds: 10)).then((value) {
context.pop(); context.pop();
}); });
}else { } else {
context.goNamed(Routes.main); context.goNamed(Routes.main);
} }
} }
void sendCode() async { void sendCode() async {
...@@ -168,15 +170,13 @@ class LoginController extends GetxController { ...@@ -168,15 +170,13 @@ class LoginController extends GetxController {
Toast.show('请先阅读并同意《用户协议》和《隐私政策》'); Toast.show('请先阅读并同意《用户协议》和《隐私政策》');
return; return;
} }
final result = await AccountAPI.sendCode(phone: phoneInput.text, type: 'login'); final result =
if (result){ await AccountAPI.sendCode(phone: phoneInput.text, type: 'login');
if (result) {
Toast.show('发送成功'); Toast.show('发送成功');
start(); start();
} } else {
else{
Toast.show('发送失败'); Toast.show('发送失败');
} }
} }
}
}
\ No newline at end of file
part of main; part of main;
class MainController extends GetxController { class MainController extends GetxController {
late final PageController pageController; late final PageController pageController;
...@@ -23,6 +22,4 @@ class MainController extends GetxController { ...@@ -23,6 +22,4 @@ class MainController extends GetxController {
currentPage = page; currentPage = page;
update(['navigation']); update(['navigation']);
} }
}
}
\ No newline at end of file
...@@ -7,8 +7,10 @@ class SearchController extends GetxController { ...@@ -7,8 +7,10 @@ class SearchController extends GetxController {
); );
late TextEditingController searchController = TextEditingController(); late TextEditingController searchController = TextEditingController();
bool showHistory = true; bool showHistory = true;
// 搜索记录数组 // 搜索记录数组
List<String> records = []; List<String> records = [];
// 书籍数组 // 书籍数组
List<CourseModel> books = []; List<CourseModel> books = [];
...@@ -49,19 +51,15 @@ class SearchController extends GetxController { ...@@ -49,19 +51,15 @@ class SearchController extends GetxController {
update(); update();
} }
/// 收藏 与 取消收藏 /// 收藏 与 取消收藏
void love({ void love({required String bookId, required num isCollection}) async {
required String bookId, if (isCollection == 0) {
required num isCollection
}) async {
if (isCollection == 0){
isCollection = 1; isCollection = 1;
} } else {
else{
isCollection = 0; isCollection = 0;
} }
bool result = await CommonAPI.love(bookId: bookId, love: isCollection.toString()); bool result =
await CommonAPI.love(bookId: bookId, love: isCollection.toString());
if (result) { if (result) {
onRefresh(); onRefresh();
} }
...@@ -71,17 +69,14 @@ class SearchController extends GetxController { ...@@ -71,17 +69,14 @@ class SearchController extends GetxController {
Future<void> _getBooks([bool isRefresh = false]) async { Future<void> _getBooks([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await LibraryAPI.books( final result =
page: _page, await LibraryAPI.books(page: _page, limit: _limit, categoryId: '');
limit: _limit, categoryId: ''
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) books.clear(); if (isRefresh) books.clear();
books.addAll(result); books.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -94,10 +89,8 @@ class SearchController extends GetxController { ...@@ -94,10 +89,8 @@ class SearchController extends GetxController {
} }
} }
/// 本地搜索历史
/*
/// 本地搜索历史
/*
///获取搜索关键字数据 ///获取搜索关键字数据
List<String> _getHistory(){ List<String> _getHistory(){
List <String>historys = []; List <String>historys = [];
...@@ -147,8 +140,4 @@ class SearchController extends GetxController { ...@@ -147,8 +140,4 @@ class SearchController extends GetxController {
} }
*/ */
}
}
\ No newline at end of file
part of study_history; part of study_history;
class HistoryController extends GetxController {
class HistoryController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -25,23 +25,18 @@ class HistoryController extends GetxController { ...@@ -25,23 +25,18 @@ class HistoryController extends GetxController {
super.onClose(); super.onClose();
} }
/// 获取 最近学习数据 /// 获取 最近学习数据
Future<void> _getHistory([bool isRefresh = false]) async { Future<void> _getHistory([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await CommonAPI.history( final result = await CommonAPI.history(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) histories.clear(); if (isRefresh) histories.clear();
histories.addAll(result); histories.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -66,5 +61,4 @@ class HistoryController extends GetxController { ...@@ -66,5 +61,4 @@ class HistoryController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
...@@ -2,9 +2,10 @@ part of study_report; ...@@ -2,9 +2,10 @@ part of study_report;
class StudyReportController extends GetxController { class StudyReportController extends GetxController {
final String bookId; final String bookId;
StudyReportController(this.bookId); StudyReportController(this.bookId);
ReportModel model = ReportModel();
ReportModel model = ReportModel();
@override @override
void onReady() { void onReady() {
...@@ -12,10 +13,8 @@ class StudyReportController extends GetxController { ...@@ -12,10 +13,8 @@ class StudyReportController extends GetxController {
super.onReady(); super.onReady();
} }
void _getReport() async { void _getReport() async {
model = await LibraryAPI.report(bookId: bookId); model = await LibraryAPI.report(bookId: bookId);
update(); update();
} }
}
}
\ No newline at end of file
part of user_coin; part of user_coin;
class UserCoinController extends GetxController { class UserCoinController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -25,22 +24,17 @@ class UserCoinController extends GetxController { ...@@ -25,22 +24,17 @@ class UserCoinController extends GetxController {
super.onClose(); super.onClose();
} }
/// 获取紫金币记录 /// 获取紫金币记录
Future<void> getCoin([bool isRefresh = false]) async { Future<void> getCoin([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.coin( final result = await MineAPI.coin(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) coins.clear(); if (isRefresh) coins.clear();
coins.addAll(result); coins.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -65,5 +59,4 @@ class UserCoinController extends GetxController { ...@@ -65,5 +59,4 @@ class UserCoinController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
part of user_coupon; part of user_coupon;
class UserCouponController extends GetxController { class UserCouponController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
); );
// 优惠券 // 优惠券
List <CouponModel> coupons = []; List<CouponModel> coupons = [];
// late int type = 0; // late int type = 0;
...@@ -28,7 +27,6 @@ class UserCouponController extends GetxController { ...@@ -28,7 +27,6 @@ class UserCouponController extends GetxController {
super.onClose(); super.onClose();
} }
// //
// void getOverCoupons() { // void getOverCoupons() {
// _noMore = true; // _noMore = true;
...@@ -42,9 +40,9 @@ class UserCouponController extends GetxController { ...@@ -42,9 +40,9 @@ class UserCouponController extends GetxController {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.coupon( final result = await MineAPI.coupon(
page: _page, page: _page,
limit: _limit, limit: _limit,
type: 0, type: 0,
); );
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) coupons.clear(); if (isRefresh) coupons.clear();
...@@ -53,10 +51,9 @@ class UserCouponController extends GetxController { ...@@ -53,10 +51,9 @@ class UserCouponController extends GetxController {
// coupons.add(model); // coupons.add(model);
// } // }
coupons.addAll(result); coupons.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -81,6 +78,4 @@ class UserCouponController extends GetxController { ...@@ -81,6 +78,4 @@ class UserCouponController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
part of user_discuss; part of user_discuss;
class UserDiscussController extends GetxController { class UserDiscussController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -13,7 +12,6 @@ class UserDiscussController extends GetxController { ...@@ -13,7 +12,6 @@ class UserDiscussController extends GetxController {
int _page = 1; int _page = 1;
bool _noMore = false; bool _noMore = false;
@override @override
void onReady() { void onReady() {
onRefresh(); onRefresh();
...@@ -30,17 +28,13 @@ class UserDiscussController extends GetxController { ...@@ -30,17 +28,13 @@ class UserDiscussController extends GetxController {
Future<void> _getNotes([bool isRefresh = false]) async { Future<void> _getNotes([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.discuss( final result = await MineAPI.discuss(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) discuss.clear(); if (isRefresh) discuss.clear();
discuss.addAll(result); discuss.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -66,11 +60,11 @@ class UserDiscussController extends GetxController { ...@@ -66,11 +60,11 @@ class UserDiscussController extends GetxController {
} }
} }
List<CourseModel> _test(){ List<CourseModel> _test() {
return [ return [
CourseModel(), CourseModel(),
CourseModel(), CourseModel(),
CourseModel(), CourseModel(),
]; ];
} }
} }
\ No newline at end of file
...@@ -3,7 +3,9 @@ part of user_discuss_des; ...@@ -3,7 +3,9 @@ part of user_discuss_des;
class UserDiscussDesController extends GetxController { class UserDiscussDesController extends GetxController {
final String tag; final String tag;
final CourseModel model; final CourseModel model;
UserDiscussDesController(this.tag,this.model);
UserDiscussDesController(this.tag, this.model);
List<DiscussModel> discuss = []; List<DiscussModel> discuss = [];
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
...@@ -18,12 +20,14 @@ class UserDiscussDesController extends GetxController { ...@@ -18,12 +20,14 @@ class UserDiscussDesController extends GetxController {
// 展示回复输入框 // 展示回复输入框
bool showReply = false; bool showReply = false;
// 当前要回复的模型 // 当前要回复的模型
late DiscussModel discussModel; late DiscussModel discussModel;
// 当前要回复父级的模型 // 当前要回复父级的模型
late DiscussModel fatherDiscussModel; late DiscussModel fatherDiscussModel;
bool canTap= true; bool canTap = true;
@override @override
void onReady() { void onReady() {
...@@ -42,17 +46,22 @@ class UserDiscussDesController extends GetxController { ...@@ -42,17 +46,22 @@ class UserDiscussDesController extends GetxController {
showReply = !showReply; showReply = !showReply;
update(); update();
} }
void setDiscussModel(DiscussModel model){
void setDiscussModel(DiscussModel model) {
discussModel = model; discussModel = model;
} }
void setFatherDiscussModel(DiscussModel model){
void setFatherDiscussModel(DiscussModel model) {
fatherDiscussModel = model; fatherDiscussModel = model;
} }
// 删除回复 // 删除回复
Future<void> delComment({required List<DiscussModel>?list,required DiscussModel discussModel}) async { Future<void> delComment(
final result = await LibraryAPI.delComment(bookId:model.bookId!, commentId: discussModel.id!); {required List<DiscussModel>? list,
if(result){ required DiscussModel discussModel}) async {
final result = await LibraryAPI.delComment(
bookId: model.bookId!, commentId: discussModel.id!);
if (result) {
list?.remove(discussModel); list?.remove(discussModel);
Toast.show('删除成功'); Toast.show('删除成功');
} }
...@@ -60,11 +69,10 @@ class UserDiscussDesController extends GetxController { ...@@ -60,11 +69,10 @@ class UserDiscussDesController extends GetxController {
} }
Future<bool> submit() async { Future<bool> submit() async {
Map<String, dynamic> contentMap = {
Map<String,dynamic> contentMap = { 'text': replyInput.text,
'text':replyInput.text, 'audio': [],
'audio':[], 'image': []
'image':[]
}; };
final result = await LibraryAPI.addDiscuss( final result = await LibraryAPI.addDiscuss(
...@@ -73,12 +81,11 @@ class UserDiscussDesController extends GetxController { ...@@ -73,12 +81,11 @@ class UserDiscussDesController extends GetxController {
commentId: discussModel.id.toString(), commentId: discussModel.id.toString(),
quoteContent: '', quoteContent: '',
title: '', title: '',
content: jsonEncode(contentMap) content: jsonEncode(contentMap));
);
if(result.isNotEmpty){ if (result.isNotEmpty) {
Toast.show('发表成功'); Toast.show('发表成功');
discussModel.replyNum = discussModel.replyNum! +1; discussModel.replyNum = discussModel.replyNum! + 1;
DiscussModel tempModel = DiscussModel.fromJson(discussModel.toJson()); DiscussModel tempModel = DiscussModel.fromJson(discussModel.toJson());
// tempModel.status = 1; // tempModel.status = 1;
tempModel.privacyStatus = 0; tempModel.privacyStatus = 0;
...@@ -87,25 +94,23 @@ class UserDiscussDesController extends GetxController { ...@@ -87,25 +94,23 @@ class UserDiscussDesController extends GetxController {
tempModel.id = result['id']; tempModel.id = result['id'];
NoteContentModel contentModel = NoteContentModel( NoteContentModel contentModel = NoteContentModel(
text: MediaModel(content:replyInput.text,privacyStatus: 1) text: MediaModel(content: replyInput.text, privacyStatus: 1));
); tempModel.content = contentModel;
tempModel.content= contentModel;
tempModel.content?.text?.privacyStatus = 1; tempModel.content?.text?.privacyStatus = 1;
tempModel.replacePersonName = discussModel.personName; tempModel.replacePersonName = discussModel.personName;
Map<String,dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo)); Map<String, dynamic> map =
if (map.keys.contains('head_img')){ jsonDecode(StorageService.to.getString(kLocalUserInfo));
if (map.keys.contains('head_img')) {
tempModel.personPic = map['head_img']; tempModel.personPic = map['head_img'];
} }
if (map.keys.contains('name')){ if (map.keys.contains('name')) {
tempModel.personName = map['name']; tempModel.personName = map['name'];
} }
tempModel.replyNum = 0; tempModel.replyNum = 0;
fatherDiscussModel.commentAll?.add(tempModel); fatherDiscussModel.commentAll?.add(tempModel);
// fatherDiscussModel.replyNum = fatherDiscussModel.commentAll?.length; // fatherDiscussModel.replyNum = fatherDiscussModel.commentAll?.length;
} else {
}
else{
Toast.show('发表失败'); Toast.show('发表失败');
} }
replyInput.text = ''; replyInput.text = '';
...@@ -114,23 +119,22 @@ class UserDiscussDesController extends GetxController { ...@@ -114,23 +119,22 @@ class UserDiscussDesController extends GetxController {
// 重置所有信息 // 重置所有信息
// reset(); // reset();
// setShowChat(false); // setShowChat(false);
return result.isNotEmpty?true:false; return result.isNotEmpty ? true : false;
} }
Future<void> commentLove({required DiscussModel discussModel}) async { Future<void> commentLove({required DiscussModel discussModel}) async {
num type = 0; num type = 0;
if (discussModel.isPraise ==0){ if (discussModel.isPraise == 0) {
type = 1; type = 1;
} }
final result = await LibraryAPI.commentLove(bookId:model.bookId! , type: type, commentId: discussModel.id!); final result = await LibraryAPI.commentLove(
if(result){ bookId: model.bookId!, type: type, commentId: discussModel.id!);
num goodNum = discussModel.goodNum??0; if (result) {
if(type ==0){ num goodNum = discussModel.goodNum ?? 0;
goodNum --; if (type == 0) {
} goodNum--;
else{ } else {
goodNum ++; goodNum++;
} }
discussModel.isPraise = type; discussModel.isPraise = type;
discussModel.goodNum = goodNum; discussModel.goodNum = goodNum;
...@@ -146,15 +150,13 @@ class UserDiscussDesController extends GetxController { ...@@ -146,15 +150,13 @@ class UserDiscussDesController extends GetxController {
page: _page, page: _page,
limit: _limit, limit: _limit,
bookId: model.bookId.toString(), bookId: model.bookId.toString(),
types: tag types: tag);
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) discuss.clear(); if (isRefresh) discuss.clear();
discuss.addAll(result); discuss.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -180,7 +182,4 @@ class UserDiscussDesController extends GetxController { ...@@ -180,7 +182,4 @@ class UserDiscussDesController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
part of user_edit_note; part of user_edit_note;
class UserEditNoteController extends GetxController { class UserEditNoteController extends GetxController {
final NoteModel model; final NoteModel model;
final String bookId; final String bookId;
late TextEditingController contentInput; late TextEditingController contentInput;
UserEditNoteController(this.model,this.bookId){
UserEditNoteController(this.model, this.bookId) {
_setDuration(); _setDuration();
contentInput = TextEditingController(text: model.noteContent?.text?.content); contentInput =
TextEditingController(text: model.noteContent?.text?.content);
} }
// 录音 // 录音
final FlutterSoundRecorder _mRecorder = FlutterSoundRecorder(); final FlutterSoundRecorder _mRecorder = FlutterSoundRecorder();
just_audio.AudioPlayer audioPlayer = just_audio.AudioPlayer(); just_audio.AudioPlayer audioPlayer = just_audio.AudioPlayer();
// 录音开始 // 录音开始
bool startRecording = false; bool startRecording = false;
// 笔记是否公开 // 笔记是否公开
bool isPublic = false; bool isPublic = false;
...@@ -26,7 +29,7 @@ class UserEditNoteController extends GetxController { ...@@ -26,7 +29,7 @@ class UserEditNoteController extends GetxController {
@override @override
void onInit() { void onInit() {
isPublic = model.isOpen ==1?true:false; isPublic = model.isOpen == 1 ? true : false;
super.onInit(); super.onInit();
} }
...@@ -39,14 +42,16 @@ class UserEditNoteController extends GetxController { ...@@ -39,14 +42,16 @@ class UserEditNoteController extends GetxController {
} }
// 设置笔记是否公开 // 设置笔记是否公开
void setIsPublic(){ void setIsPublic() {
isPublic = !isPublic; isPublic = !isPublic;
update(); update();
} }
// 配置音频时长 // 配置音频时长
void _setDuration() async { void _setDuration() async {
for(MediaModel mediaModel in model.noteContent!.audio!){ for (MediaModel mediaModel in model.noteContent!.audio!) {
Duration? duration = await just_audio.AudioPlayer().setUrl(mediaModel.content??''); Duration? duration =
await just_audio.AudioPlayer().setUrl(mediaModel.content ?? '');
mediaModel.duration = Tools.formatDuration(duration!); mediaModel.duration = Tools.formatDuration(duration!);
} }
...@@ -54,48 +59,48 @@ class UserEditNoteController extends GetxController { ...@@ -54,48 +59,48 @@ class UserEditNoteController extends GetxController {
} }
// 删除图片 // 删除图片
void delImage(MediaModel mediaModel){ void delImage(MediaModel mediaModel) {
model.noteContent!.image!.remove(mediaModel); model.noteContent!.image!.remove(mediaModel);
update(); update();
} }
// 删除音频 // 删除音频
void delAudio(MediaModel mediaModel){ void delAudio(MediaModel mediaModel) {
model.noteContent!.audio!.remove(mediaModel); model.noteContent!.audio!.remove(mediaModel);
// 新加的录音 如果删除要删除源文件 // 新加的录音 如果删除要删除源文件
if(mediaModel.id == 0){ if (mediaModel.id == 0) {}
}
update(); update();
} }
// 添加音频 // 添加音频
void addAudio(String path,String duration){ void addAudio(String path, String duration) {
MediaModel mediaModel = MediaModel(path: path,id: 0,duration: duration); MediaModel mediaModel = MediaModel(path: path, id: 0, duration: duration);
model.noteContent!.audio!.add(mediaModel); model.noteContent!.audio!.add(mediaModel);
update(); update();
} }
// 添加图片 // 添加图片
void addImage(String path){ void addImage(String path) {
MediaModel mediaModel = MediaModel(path: path,id: 0); MediaModel mediaModel = MediaModel(path: path, id: 0);
model.noteContent!.image!.add(mediaModel); model.noteContent!.image!.add(mediaModel);
update(); update();
} }
// 初始化录音组件 // 初始化录音组件
Future<void> openTheRecorder() async { Future<void> openTheRecorder() async {
if(!initRecorder){ if (!initRecorder) {
// 获取权限 // 获取权限
if(await Access.microphone()){ if (await Access.microphone()) {
await _mRecorder.openRecorder(); await _mRecorder.openRecorder();
final session = await AudioSession.instance; final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration( await session.configure(AudioSessionConfiguration(
avAudioSessionCategory: AVAudioSessionCategory.playAndRecord, avAudioSessionCategory: AVAudioSessionCategory.playAndRecord,
avAudioSessionCategoryOptions: avAudioSessionCategoryOptions:
AVAudioSessionCategoryOptions.allowBluetooth | AVAudioSessionCategoryOptions.allowBluetooth |
AVAudioSessionCategoryOptions.defaultToSpeaker, AVAudioSessionCategoryOptions.defaultToSpeaker,
avAudioSessionMode: AVAudioSessionMode.spokenAudio, avAudioSessionMode: AVAudioSessionMode.spokenAudio,
avAudioSessionRouteSharingPolicy: avAudioSessionRouteSharingPolicy:
AVAudioSessionRouteSharingPolicy.defaultPolicy, AVAudioSessionRouteSharingPolicy.defaultPolicy,
avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none, avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none,
androidAudioAttributes: const AndroidAudioAttributes( androidAudioAttributes: const AndroidAudioAttributes(
contentType: AndroidAudioContentType.speech, contentType: AndroidAudioContentType.speech,
...@@ -107,9 +112,7 @@ class UserEditNoteController extends GetxController { ...@@ -107,9 +112,7 @@ class UserEditNoteController extends GetxController {
)); ));
} }
// 没有权限 // 没有权限
else { else {}
}
} }
initRecorder = true; initRecorder = true;
} }
...@@ -126,12 +129,11 @@ class UserEditNoteController extends GetxController { ...@@ -126,12 +129,11 @@ class UserEditNoteController extends GetxController {
toFile: '$filePath/$fileName', toFile: '$filePath/$fileName',
audioSource: sound_recorder_platform.AudioSource.microphone, audioSource: sound_recorder_platform.AudioSource.microphone,
codec: Codec.aacMP4, codec: Codec.aacMP4,
); );
} }
// 停止录音
void stopRecorder() async{
// 停止录音
void stopRecorder() async {
startRecording = false; startRecording = false;
final path = await _mRecorder.stopRecorder(); final path = await _mRecorder.stopRecorder();
var duration = await audioPlayer.setFilePath(path!); var duration = await audioPlayer.setFilePath(path!);
...@@ -141,8 +143,8 @@ class UserEditNoteController extends GetxController { ...@@ -141,8 +143,8 @@ class UserEditNoteController extends GetxController {
} }
// 播放音频 // 播放音频
void playAudio(MediaModel mediaModel){ void playAudio(MediaModel mediaModel) {
if(audioPlayer.playerState.playing){ if (audioPlayer.playerState.playing) {
audioPlayer.stop(); audioPlayer.stop();
mediaModel.currentDuration = '0:00:00'; mediaModel.currentDuration = '0:00:00';
// if(currentPlayMediaModel.id == mediaModel.id){ // if(currentPlayMediaModel.id == mediaModel.id){
...@@ -150,20 +152,21 @@ class UserEditNoteController extends GetxController { ...@@ -150,20 +152,21 @@ class UserEditNoteController extends GetxController {
// } // }
} }
// 本地音频 // 本地音频
if (mediaModel.id == 0){ if (mediaModel.id == 0) {
audioPlayer.setFilePath(mediaModel.path); audioPlayer.setFilePath(mediaModel.path);
} }
// 远程音频 // 远程音频
else { else {
audioPlayer.setUrl(mediaModel.content??''); audioPlayer.setUrl(mediaModel.content ?? '');
} }
audioPlayer.play(); audioPlayer.play();
StreamSubscription? positionSubscription; StreamSubscription? positionSubscription;
positionSubscription =audioPlayer.positionStream.listen((position) { positionSubscription = audioPlayer.positionStream.listen((position) {
String temp = Tools.formatDuration(position); String temp = Tools.formatDuration(position);
Console.log('播放时间---------------------$temp------id-------------${mediaModel.id}'); Console.log(
'播放时间---------------------$temp------id-------------${mediaModel.id}');
mediaModel.currentDuration = temp; mediaModel.currentDuration = temp;
if(position >= audioPlayer.duration!){ if (position >= audioPlayer.duration!) {
Console.log('---------播放结束-----------'); Console.log('---------播放结束-----------');
positionSubscription?.cancel(); positionSubscription?.cancel();
} }
...@@ -173,9 +176,7 @@ class UserEditNoteController extends GetxController { ...@@ -173,9 +176,7 @@ class UserEditNoteController extends GetxController {
} }
// 上传文件 // 上传文件
Future<String> upload({ Future<String> upload({required String path}) async {
required String path
}) async {
// String result = await CommonAPI.upload(path:path,fileTypes: 'comment'); // String result = await CommonAPI.upload(path:path,fileTypes: 'comment');
// return result; // return result;
OssTool tool = OssTool('zxts-comment-file'); OssTool tool = OssTool('zxts-comment-file');
...@@ -187,16 +188,16 @@ class UserEditNoteController extends GetxController { ...@@ -187,16 +188,16 @@ class UserEditNoteController extends GetxController {
Future<bool> submit() async { Future<bool> submit() async {
CustomToast.loading(); CustomToast.loading();
// 循环上传图片获取地址 // 循环上传图片获取地址
for(MediaModel mediaModel in model.noteContent!.image!){ for (MediaModel mediaModel in model.noteContent!.image!) {
if (mediaModel.id == 0){ if (mediaModel.id == 0) {
final url = await upload(path: mediaModel.path); final url = await upload(path: mediaModel.path);
mediaModel.content = url; mediaModel.content = url;
} }
} }
// 循环上传音频获取地址 // 循环上传音频获取地址
for(MediaModel mediaModel in model.noteContent!.audio!){ for (MediaModel mediaModel in model.noteContent!.audio!) {
if (mediaModel.id == 0){ if (mediaModel.id == 0) {
final url = await upload(path: mediaModel.path); final url = await upload(path: mediaModel.path);
mediaModel.content = url; mediaModel.content = url;
} }
...@@ -205,37 +206,34 @@ class UserEditNoteController extends GetxController { ...@@ -205,37 +206,34 @@ class UserEditNoteController extends GetxController {
// 组织图片 // 组织图片
List<Map> images = []; List<Map> images = [];
for(MediaModel mediaModel in model.noteContent!.image!){ for (MediaModel mediaModel in model.noteContent!.image!) {
images.add( mediaModel.toJson()); images.add(mediaModel.toJson());
} }
// 组织音频 // 组织音频
List<Map> audios = []; List<Map> audios = [];
for(MediaModel mediaModel in model.noteContent!.audio!){ for (MediaModel mediaModel in model.noteContent!.audio!) {
audios.add( mediaModel.toJson()); audios.add(mediaModel.toJson());
} }
model.noteContent!.text!.content = contentInput.text; model.noteContent!.text!.content = contentInput.text;
Map<String,dynamic> contentMap = { Map<String, dynamic> contentMap = {
'text':model.noteContent!.text!.toJson(), 'text': model.noteContent!.text!.toJson(),
'audio':audios, 'audio': audios,
'image':images 'image': images
}; };
String isOpen = '0'; String isOpen = '0';
if(isPublic){ if (isPublic) {
isOpen = '1'; isOpen = '1';
} }
final result = MineAPI.editNotes( final result = MineAPI.editNotes(
content: model.content??'', content: model.content ?? '',
notesId: model.notesId.toString(), notesId: model.notesId.toString(),
bookId: bookId, bookId: bookId,
noteContent: jsonEncode(contentMap), noteContent: jsonEncode(contentMap),
isOpen: isOpen isOpen: isOpen);
);
return result; return result;
} }
}
}
\ No newline at end of file
...@@ -3,8 +3,10 @@ part of user_feedback; ...@@ -3,8 +3,10 @@ part of user_feedback;
/// 提交意见反馈 /// 提交意见反馈
class UserFeedbackController extends GetxController { class UserFeedbackController extends GetxController {
late TextEditingController searchController = TextEditingController(); late TextEditingController searchController = TextEditingController();
// 按钮是否可用 // 按钮是否可用
bool _enable = false; bool _enable = false;
bool get enable => _enable; bool get enable => _enable;
/// 提交意见反馈 /// 提交意见反馈
...@@ -17,11 +19,10 @@ class UserFeedbackController extends GetxController { ...@@ -17,11 +19,10 @@ class UserFeedbackController extends GetxController {
return result; return result;
} }
void setCanClick(){ void setCanClick() {
if (searchController.text.isNotEmpty){ if (searchController.text.isNotEmpty) {
_enable = true; _enable = true;
} } else {
else{
_enable = false; _enable = false;
} }
update(); update();
......
...@@ -10,9 +10,9 @@ class UserGenderController extends GetxController { ...@@ -10,9 +10,9 @@ class UserGenderController extends GetxController {
final result = await MineAPI.changeInfo(sex: sex); final result = await MineAPI.changeInfo(sex: sex);
if (result) { if (result) {
Toast.show('修改成功'); Toast.show('修改成功');
userInfo.sex = sex ; userInfo.sex = sex;
Map<String,dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo)); Map<String, dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo));
if (map.keys.contains('sex')){ if (map.keys.contains('sex')) {
map['sex'] = sex; map['sex'] = sex;
await StorageService.to.setString(kLocalUserInfo, jsonEncode(map)); await StorageService.to.setString(kLocalUserInfo, jsonEncode(map));
} }
......
...@@ -2,20 +2,21 @@ part of user_info; ...@@ -2,20 +2,21 @@ part of user_info;
class UserInfoController extends GetxController { class UserInfoController extends GetxController {
final UserInfoModel userInfo; final UserInfoModel userInfo;
UserInfoController(this.userInfo); UserInfoController(this.userInfo);
// 时候展示底部视图 // 时候展示底部视图
bool showDetail = false; bool showDetail = false;
/// 上传头像 /// 上传头像
void upload({ void upload({required String path}) async {
required String path // String result = await CommonAPI.upload(path:path,fileTypes: 'user');
}) async { OssTool tool = OssTool('zxts-user-file');
// String result = await CommonAPI.upload(path:path,fileTypes: 'user'); final response = await tool.putObjectFile(path);
OssTool tool = OssTool('zxts-user-file'); _changeInfo(response.realUri.toString());
final response = await tool.putObjectFile(path);
_changeInfo(response.realUri.toString());
} }
void show(){ void show() {
showDetail = !showDetail; showDetail = !showDetail;
update(); update();
} }
...@@ -23,11 +24,11 @@ class UserInfoController extends GetxController { ...@@ -23,11 +24,11 @@ class UserInfoController extends GetxController {
/// 修改用用户信息 /// 修改用用户信息
void _changeInfo(String img) async { void _changeInfo(String img) async {
final result = await MineAPI.changeInfo(headImg: img); final result = await MineAPI.changeInfo(headImg: img);
if(result){ if (result) {
Toast.show('修改成功'); Toast.show('修改成功');
userInfo.headImg = img; userInfo.headImg = img;
Map<String,dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo)); Map<String, dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo));
if (map.keys.contains('head_img')){ if (map.keys.contains('head_img')) {
map['head_img'] = img; map['head_img'] = img;
await StorageService.to.setString(kLocalUserInfo, jsonEncode(map)); await StorageService.to.setString(kLocalUserInfo, jsonEncode(map));
} }
...@@ -35,6 +36,4 @@ class UserInfoController extends GetxController { ...@@ -35,6 +36,4 @@ class UserInfoController extends GetxController {
Get.put(MineController()).getInfo(); Get.put(MineController()).getInfo();
} }
} }
}
}
\ No newline at end of file
part of user_love; part of user_love;
class UserLoveController extends GetxController { class UserLoveController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -27,9 +26,7 @@ class UserLoveController extends GetxController { ...@@ -27,9 +26,7 @@ class UserLoveController extends GetxController {
} }
/// 取消收藏 /// 取消收藏
void unLoved({ void unLoved({required String bookId}) async {
required String bookId
}) async {
bool result = await CommonAPI.love(bookId: bookId, love: '0'); bool result = await CommonAPI.love(bookId: bookId, love: '0');
if (result) { if (result) {
onRefresh(); onRefresh();
...@@ -40,17 +37,13 @@ class UserLoveController extends GetxController { ...@@ -40,17 +37,13 @@ class UserLoveController extends GetxController {
Future<void> _getLoves([bool isRefresh = false]) async { Future<void> _getLoves([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.love( final result = await MineAPI.love(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) loves.clear(); if (isRefresh) loves.clear();
loves.addAll(result); loves.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -75,5 +68,4 @@ class UserLoveController extends GetxController { ...@@ -75,5 +68,4 @@ class UserLoveController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
part of user_msg; part of user_msg;
class MsgController extends GetxController { class MsgController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -28,7 +26,7 @@ class MsgController extends GetxController { ...@@ -28,7 +26,7 @@ class MsgController extends GetxController {
/// 消息未读变已读 /// 消息未读变已读
Future<bool> read(MsgModel model) async { Future<bool> read(MsgModel model) async {
final result = await CommonAPI.read(id: model.id.toString()); final result = await CommonAPI.read(id: model.id.toString());
if (result){ if (result) {
model.status = 1; model.status = 1;
} }
update(); update();
...@@ -45,17 +43,13 @@ class MsgController extends GetxController { ...@@ -45,17 +43,13 @@ class MsgController extends GetxController {
Future<void> _getMsgs([bool isRefresh = false]) async { Future<void> _getMsgs([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await CommonAPI.msgs( final result = await CommonAPI.msgs(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) msgs.clear(); if (isRefresh) msgs.clear();
msgs.addAll(result); msgs.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -80,4 +74,4 @@ class MsgController extends GetxController { ...@@ -80,4 +74,4 @@ class MsgController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
} }
\ No newline at end of file
...@@ -11,10 +11,10 @@ class UserNickController extends GetxController { ...@@ -11,10 +11,10 @@ class UserNickController extends GetxController {
if (result) { if (result) {
Toast.show('修改成功'); Toast.show('修改成功');
userInfo.name = nick ; userInfo.name = nick;
Map<String,dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo)); Map<String, dynamic> map = jsonDecode(StorageService.to.getString(kLocalUserInfo));
if (map.keys.contains('name')){ if (map.keys.contains('name')) {
map['name'] = nick; map['name'] = nick;
await StorageService.to.setString(kLocalUserInfo, jsonEncode(map)); await StorageService.to.setString(kLocalUserInfo, jsonEncode(map));
} }
......
part of user_notes; part of user_notes;
class UserNoteController extends GetxController { class UserNoteController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -29,18 +28,14 @@ class UserNoteController extends GetxController { ...@@ -29,18 +28,14 @@ class UserNoteController extends GetxController {
Future<void> _getNotes([bool isRefresh = false]) async { Future<void> _getNotes([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.note( final result = await MineAPI.note(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) notes.clear(); if (isRefresh) notes.clear();
// notes.addAll(_test()); // notes.addAll(_test());
notes.addAll(result); notes.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -66,11 +61,11 @@ class UserNoteController extends GetxController { ...@@ -66,11 +61,11 @@ class UserNoteController extends GetxController {
} }
} }
List<CourseModel> _test(){ List<CourseModel> _test() {
return [ return [
CourseModel(), CourseModel(),
CourseModel(), CourseModel(),
CourseModel(), CourseModel(),
]; ];
} }
} }
\ No newline at end of file
...@@ -3,7 +3,9 @@ part of user_notes_des; ...@@ -3,7 +3,9 @@ part of user_notes_des;
class UserNotesDesController extends GetxController { class UserNotesDesController extends GetxController {
final String tag; final String tag;
final CourseModel model; final CourseModel model;
UserNotesDesController(this.tag,this.model);
UserNotesDesController(this.tag, this.model);
List<NoteModel> notes = []; List<NoteModel> notes = [];
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
...@@ -17,7 +19,6 @@ class UserNotesDesController extends GetxController { ...@@ -17,7 +19,6 @@ class UserNotesDesController extends GetxController {
int _page = 1; int _page = 1;
bool _noMore = false; bool _noMore = false;
@override @override
void onReady() { void onReady() {
// onRefresh(); // onRefresh();
...@@ -32,8 +33,8 @@ class UserNotesDesController extends GetxController { ...@@ -32,8 +33,8 @@ class UserNotesDesController extends GetxController {
} }
// 播放音频 // 播放音频
void playAudio(MediaModel mediaModel){ void playAudio(MediaModel mediaModel) {
if(audioPlayer.playerState.playing){ if (audioPlayer.playerState.playing) {
audioPlayer.stop(); audioPlayer.stop();
mediaModel.currentDuration = '0:00:00'; mediaModel.currentDuration = '0:00:00';
// if(currentPlayMediaModel.id == mediaModel.id){ // if(currentPlayMediaModel.id == mediaModel.id){
...@@ -41,20 +42,21 @@ class UserNotesDesController extends GetxController { ...@@ -41,20 +42,21 @@ class UserNotesDesController extends GetxController {
// } // }
} }
// 本地音频 // 本地音频
if (mediaModel.id == 0){ if (mediaModel.id == 0) {
audioPlayer.setFilePath(mediaModel.path); audioPlayer.setFilePath(mediaModel.path);
} }
// 远程音频 // 远程音频
else { else {
audioPlayer.setUrl(mediaModel.content??''); audioPlayer.setUrl(mediaModel.content ?? '');
} }
audioPlayer.play(); audioPlayer.play();
StreamSubscription? positionSubscription; StreamSubscription? positionSubscription;
positionSubscription =audioPlayer.positionStream.listen((position) { positionSubscription = audioPlayer.positionStream.listen((position) {
String temp = Tools.formatDuration(position); String temp = Tools.formatDuration(position);
Console.log('播放时间---------------------$temp------id-------------${mediaModel.id}'); Console.log(
'播放时间---------------------$temp------id-------------${mediaModel.id}');
mediaModel.currentDuration = temp; mediaModel.currentDuration = temp;
if(position >= audioPlayer.duration!){ if (position >= audioPlayer.duration!) {
Console.log('---------播放结束-----------'); Console.log('---------播放结束-----------');
positionSubscription?.cancel(); positionSubscription?.cancel();
} }
...@@ -63,9 +65,10 @@ class UserNotesDesController extends GetxController { ...@@ -63,9 +65,10 @@ class UserNotesDesController extends GetxController {
// currentPlayMediaModel = mediaModel; // currentPlayMediaModel = mediaModel;
} }
void delNotes({required NoteModel noteModel,required String bookId}) async { void delNotes({required NoteModel noteModel, required String bookId}) async {
final result = await MineAPI.delNotes(notesId: noteModel.notesId.toString(), bookId: bookId); final result = await MineAPI.delNotes(
if (result){ notesId: noteModel.notesId.toString(), bookId: bookId);
if (result) {
Toast.show('删除笔记成功'); Toast.show('删除笔记成功');
notes.remove(noteModel); notes.remove(noteModel);
} }
...@@ -80,14 +83,16 @@ class UserNotesDesController extends GetxController { ...@@ -80,14 +83,16 @@ class UserNotesDesController extends GetxController {
page: _page, page: _page,
limit: _limit, limit: _limit,
bookId: model.bookId.toString(), bookId: model.bookId.toString(),
types: tag types: tag);
); for (NoteModel noteModel in result) {
for(NoteModel noteModel in result){ if (noteModel.noteContent != null &&
if(noteModel.noteContent!=null && noteModel.noteContent!.audio != null){ noteModel.noteContent!.audio != null) {
if(noteModel.noteContent!.audio!.isNotEmpty){ if (noteModel.noteContent!.audio!.isNotEmpty) {
await Future.forEach(noteModel.noteContent!.audio!, (MediaModel? mediaModel) async { await Future.forEach(noteModel.noteContent!.audio!,
(MediaModel? mediaModel) async {
if (mediaModel != null && mediaModel.content != null) { if (mediaModel != null && mediaModel.content != null) {
Duration? duration = await audioPlayer.setUrl(mediaModel.content!); Duration? duration =
await audioPlayer.setUrl(mediaModel.content!);
if (duration != null) { if (duration != null) {
mediaModel.duration = Tools.formatDuration(duration); mediaModel.duration = Tools.formatDuration(duration);
} }
...@@ -99,10 +104,9 @@ class UserNotesDesController extends GetxController { ...@@ -99,10 +104,9 @@ class UserNotesDesController extends GetxController {
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) notes.clear(); if (isRefresh) notes.clear();
notes.addAll(result); notes.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -111,7 +115,8 @@ class UserNotesDesController extends GetxController { ...@@ -111,7 +115,8 @@ class UserNotesDesController extends GetxController {
refreshController.finishRefresh(IndicatorResult.success); refreshController.finishRefresh(IndicatorResult.success);
refreshController.resetFooter(); refreshController.resetFooter();
} catch (error) { } catch (error) {
Console.log('----error--------------------------------------$error--------------'); Console.log(
'----error--------------------------------------$error--------------');
refreshController.finishRefresh(IndicatorResult.fail); refreshController.finishRefresh(IndicatorResult.fail);
} }
} }
...@@ -128,7 +133,4 @@ class UserNotesDesController extends GetxController { ...@@ -128,7 +133,4 @@ class UserNotesDesController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
part of user_point; part of user_point;
class UserPointController extends GetxController { class UserPointController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -25,22 +24,17 @@ class UserPointController extends GetxController { ...@@ -25,22 +24,17 @@ class UserPointController extends GetxController {
super.onClose(); super.onClose();
} }
/// 获取课程内图书列表 /// 获取课程内图书列表
Future<void> _getPoint([bool isRefresh = false]) async { Future<void> _getPoint([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.point( final result = await MineAPI.point(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) points.clear(); if (isRefresh) points.clear();
points.addAll(result); points.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -65,5 +59,4 @@ class UserPointController extends GetxController { ...@@ -65,5 +59,4 @@ class UserPointController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
part of user_wrong; part of user_wrong;
class UserWrongController extends GetxController { class UserWrongController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController( final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true, controlFinishLoad: true,
controlFinishRefresh: true, controlFinishRefresh: true,
...@@ -29,17 +28,13 @@ class UserWrongController extends GetxController { ...@@ -29,17 +28,13 @@ class UserWrongController extends GetxController {
Future<void> _getWrongs([bool isRefresh = false]) async { Future<void> _getWrongs([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.wrong( final result = await MineAPI.wrong(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) wrongs.clear(); if (isRefresh) wrongs.clear();
wrongs.addAll(result); wrongs.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -64,5 +59,4 @@ class UserWrongController extends GetxController { ...@@ -64,5 +59,4 @@ class UserWrongController extends GetxController {
refreshController.finishLoad(IndicatorResult.fail); refreshController.finishLoad(IndicatorResult.fail);
} }
} }
}
}
\ No newline at end of file
...@@ -11,7 +11,6 @@ class VersionController extends GetxController { ...@@ -11,7 +11,6 @@ class VersionController extends GetxController {
bool _noMore = false; bool _noMore = false;
List<VersionModel> versions = []; List<VersionModel> versions = [];
@override @override
void onClose() { void onClose() {
refreshController.dispose(); refreshController.dispose();
...@@ -22,17 +21,13 @@ class VersionController extends GetxController { ...@@ -22,17 +21,13 @@ class VersionController extends GetxController {
Future<void> _getVersions([bool isRefresh = false]) async { Future<void> _getVersions([bool isRefresh = false]) async {
if (isRefresh) _page = 1; if (isRefresh) _page = 1;
// 网路请求 // 网路请求
final result = await MineAPI.versions( final result = await MineAPI.versions(page: _page, limit: _limit);
page: _page,
limit: _limit
);
// 如果是刷新 清理数据 // 如果是刷新 清理数据
if (isRefresh) versions.clear(); if (isRefresh) versions.clear();
versions.addAll(result); versions.addAll(result);
_page ++; _page++;
_noMore = result.length < _limit; _noMore = result.length < _limit;
update(); update();
} }
void onRefresh() async { void onRefresh() async {
...@@ -58,11 +53,10 @@ class VersionController extends GetxController { ...@@ -58,11 +53,10 @@ class VersionController extends GetxController {
} }
} }
List<VersionModel> test(){ List<VersionModel> test() {
return [ return [
VersionModel(version: '1.11',updateTime: '2024-01-03 11:14:40'), VersionModel(version: '1.11', updateTime: '2024-01-03 11:14:40'),
VersionModel(version: '1.21',updateTime: '2023-01-03 11:14:40') VersionModel(version: '1.21', updateTime: '2023-01-03 11:14:40')
]; ];
} }
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论