提交 05eca12a authored 作者: 岳维路's avatar 岳维路

合并分支 'test' 到 'sim'

Test 查看合并请求 kiwitap/zijing-app!24
...@@ -206,7 +206,7 @@ abstract class LibraryAPI { ...@@ -206,7 +206,7 @@ abstract class LibraryAPI {
} }
/// 10、发布讨论回复 /// 10、发布讨论回复
static Future <bool> addDiscuss({ static Future <Map<String,dynamic>> addDiscuss({
required String bookId, required String bookId,
required String chapterId, required String chapterId,
required String commentId, required String commentId,
...@@ -227,9 +227,9 @@ abstract class LibraryAPI { ...@@ -227,9 +227,9 @@ abstract class LibraryAPI {
showLoading: true showLoading: true
); );
if (result.data is Map && result.data['is_success'] == 1){ if (result.data is Map && result.data['is_success'] == 1){
return true; return result.data;
} }
return false; return {};
} }
/// 11、获取离线书籍下载地址 和 秘钥串 /// 11、获取离线书籍下载地址 和 秘钥串
......
...@@ -30,6 +30,7 @@ class BuildUser extends StatelessWidget { ...@@ -30,6 +30,7 @@ class BuildUser extends StatelessWidget {
// color: Colors.cyan, // color: Colors.cyan,
child: CustomImage.network( child: CustomImage.network(
url: userInfo.headImg ?? '', url: userInfo.headImg ?? '',
placeholder: Image.asset('assets/images/user_default_icon.png'),
radius: 22.5.w, radius: 22.5.w,
), ),
), ),
......
...@@ -588,7 +588,7 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide ...@@ -588,7 +588,7 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide
title: titleInput.text, title: titleInput.text,
content: jsonEncode(contentMap) content: jsonEncode(contentMap)
); );
if(result){ if(result.isNotEmpty){
Toast.show('话题发表成功'); Toast.show('话题发表成功');
} }
else{ else{
...@@ -598,7 +598,7 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide ...@@ -598,7 +598,7 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide
// 重置所有信息 // 重置所有信息
reset(); reset();
setShowChat(false); setShowChat(false);
return result; return result.isNotEmpty?true:false;
} }
......
...@@ -91,10 +91,10 @@ class DiscussController extends GetxController { ...@@ -91,10 +91,10 @@ class DiscussController extends GetxController {
} }
// 删除回复 // 删除回复
Future<void> delComment({required DiscussModel discussModel}) async { Future<void> delComment({required List<DiscussModel>?list,required DiscussModel discussModel}) async {
final result = await LibraryAPI.delComment(bookId:bookDetailModel.bookId!, commentId: discussModel.id!); final result = await LibraryAPI.delComment(bookId:bookDetailModel.bookId!, commentId: discussModel.id!);
if(result){ if(result){
discuss.remove(discussModel); list?.remove(discussModel);
Toast.show('删除成功'); Toast.show('删除成功');
} }
update(); update();
...@@ -116,14 +116,14 @@ class DiscussController extends GetxController { ...@@ -116,14 +116,14 @@ class DiscussController extends GetxController {
title: '', title: '',
content: jsonEncode(contentMap) content: jsonEncode(contentMap)
); );
if(result){ if(result.isNotEmpty){
Toast.show('发表成功');
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.commentsCheck = 0; tempModel.commentsCheck = 0;
tempModel.isMy = 1; tempModel.isMy = 1;
tempModel.id = result['id'];
NoteContentModel contentModel = NoteContentModel( NoteContentModel contentModel = NoteContentModel(
text: MediaModel(content:replyInput.text,privacyStatus: 1) text: MediaModel(content:replyInput.text,privacyStatus: 1)
...@@ -152,7 +152,7 @@ class DiscussController extends GetxController { ...@@ -152,7 +152,7 @@ class DiscussController extends GetxController {
// setShowChat(false); // setShowChat(false);
replyInput.text = ''; replyInput.text = '';
update(); update();
return result; return result.isNotEmpty?true:false;
} }
/// 搜全文 /// 搜全文
......
...@@ -120,8 +120,8 @@ class _ReadDiscussPageState extends State<ReadDiscussPage> { ...@@ -120,8 +120,8 @@ class _ReadDiscussPageState extends State<ReadDiscussPage> {
model: model, model: model,
controller: controller, controller: controller,
bookId: widget.bookDetailModel.bookId.toString(), bookId: widget.bookDetailModel.bookId.toString(),
onTapDel: (DiscussModel dModel){ onTapDel: (List<DiscussModel>?list,DiscussModel dModel){
controller.delComment(discussModel: dModel); controller.delComment(list:list,discussModel: dModel);
}, },
); );
}, },
......
...@@ -49,10 +49,10 @@ class UserDiscussDesController extends GetxController { ...@@ -49,10 +49,10 @@ class UserDiscussDesController extends GetxController {
} }
// 删除回复 // 删除回复
Future<void> delComment({required DiscussModel discussModel}) async { Future<void> delComment({required List<DiscussModel>?list,required DiscussModel discussModel}) async {
final result = await LibraryAPI.delComment(bookId:model.bookId!, commentId: discussModel.id!); final result = await LibraryAPI.delComment(bookId:model.bookId!, commentId: discussModel.id!);
if(result){ if(result){
discuss.remove(discussModel); list?.remove(discussModel);
Toast.show('删除成功'); Toast.show('删除成功');
} }
update(); update();
...@@ -75,13 +75,14 @@ class UserDiscussDesController extends GetxController { ...@@ -75,13 +75,14 @@ class UserDiscussDesController extends GetxController {
content: jsonEncode(contentMap) content: jsonEncode(contentMap)
); );
if(result){ 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.commentsCheck = 0; tempModel.commentsCheck = 0;
tempModel.isMy = 1; tempModel.isMy = 1;
tempModel.id = result['id'];
NoteContentModel contentModel = NoteContentModel( NoteContentModel contentModel = NoteContentModel(
text: MediaModel(content:replyInput.text,privacyStatus: 1) text: MediaModel(content:replyInput.text,privacyStatus: 1)
...@@ -111,7 +112,7 @@ class UserDiscussDesController extends GetxController { ...@@ -111,7 +112,7 @@ class UserDiscussDesController extends GetxController {
// 重置所有信息 // 重置所有信息
// reset(); // reset();
// setShowChat(false); // setShowChat(false);
return result; return result.isNotEmpty?true:false;
} }
......
...@@ -4,7 +4,7 @@ class BuildDiscuss extends StatefulWidget { ...@@ -4,7 +4,7 @@ class BuildDiscuss extends StatefulWidget {
final DiscussModel model; final DiscussModel model;
final DiscussController? controller; final DiscussController? controller;
final String bookId; final String bookId;
final void Function(DiscussModel dModel)? onTapDel; final void Function(List<DiscussModel>?list, DiscussModel dModel)? onTapDel;
final UserDiscussDesController? userDiscussDesController; final UserDiscussDesController? userDiscussDesController;
const BuildDiscuss({ const BuildDiscuss({
Key? key, Key? key,
...@@ -47,7 +47,12 @@ class _BuildDiscussState extends State<BuildDiscuss> { ...@@ -47,7 +47,12 @@ class _BuildDiscussState extends State<BuildDiscuss> {
SlidableAction( SlidableAction(
// An action can be bigger than the others. // An action can be bigger than the others.
onPressed: (BuildContext context){ onPressed: (BuildContext context){
if (widget.onTapDel !=null) widget.onTapDel!(widget.model); if(widget.controller != null){
if (widget.onTapDel !=null) widget.onTapDel!(widget.controller?.discuss,widget.model);
}
if(widget.userDiscussDesController != null){
if (widget.onTapDel !=null) widget.onTapDel!(widget.userDiscussDesController?.discuss,widget.model);
}
}, },
backgroundColor: const Color(0xFFAE1414), backgroundColor: const Color(0xFFAE1414),
foregroundColor: Colors.white, foregroundColor: Colors.white,
...@@ -112,7 +117,7 @@ class _BuildDiscussState extends State<BuildDiscuss> { ...@@ -112,7 +117,7 @@ class _BuildDiscussState extends State<BuildDiscuss> {
SlidableAction( SlidableAction(
// An action can be bigger than the others. // An action can be bigger than the others.
onPressed: (BuildContext context){ onPressed: (BuildContext context){
if (widget.onTapDel !=null) widget.onTapDel!(model); if (widget.onTapDel !=null) widget.onTapDel!(fatherModel.commentAll,model);
}, },
backgroundColor: const Color(0xFFAE1414), backgroundColor: const Color(0xFFAE1414),
foregroundColor: Colors.white, foregroundColor: Colors.white,
...@@ -131,7 +136,7 @@ class _BuildDiscussState extends State<BuildDiscuss> { ...@@ -131,7 +136,7 @@ class _BuildDiscussState extends State<BuildDiscuss> {
child: Container( child: Container(
width: 35.w, width: 35.w,
height: 35.w, height: 35.w,
child: CustomImage.network(url: model.personPic??''), child: CustomImage.network(url: model.personPic??'',placeholder: Image.asset('assets/images/user_default_icon.png'),),
), ),
), ),
), ),
...@@ -322,7 +327,7 @@ class _BuildDiscussState extends State<BuildDiscuss> { ...@@ -322,7 +327,7 @@ class _BuildDiscussState extends State<BuildDiscuss> {
List<String>images = widget.model.content?.image?.map((MediaModel model) => model.content??'').toList()??[]; List<String>images = widget.model.content?.image?.map((MediaModel model) => model.content??'').toList()??[];
return GestureDetector( return GestureDetector(
onTap: (){ onTap: (){
context.pushNamed(Routes.imageView,extra:images); context.pushNamed(Routes.imageView,extra:images,queryParameters: {'index': index.toString()});
}, },
child: Stack( child: Stack(
children: [ children: [
......
...@@ -33,8 +33,8 @@ class _BuildListPageState extends State<BuildListPage> with AutomaticKeepAliveCl ...@@ -33,8 +33,8 @@ class _BuildListPageState extends State<BuildListPage> with AutomaticKeepAliveCl
model: model, model: model,
bookId: widget.model.bookId.toString(), bookId: widget.model.bookId.toString(),
userDiscussDesController: controller, userDiscussDesController: controller,
onTapDel: (DiscussModel dModel){ onTapDel: (List<DiscussModel>?list,DiscussModel dModel){
controller.delComment(discussModel: dModel); controller.delComment(list: list,discussModel: dModel);
}, },
); );
}, },
......
...@@ -77,6 +77,7 @@ class _UserInfoPageState extends State<UserInfoPage> { ...@@ -77,6 +77,7 @@ class _UserInfoPageState extends State<UserInfoPage> {
url: url:
controller.userInfo.headImg ?? controller.userInfo.headImg ??
'', '',
placeholder: Image.asset('assets/images/user_default_icon.png'),
radius: 16.5, radius: 16.5,
), ),
), ),
......
...@@ -20,7 +20,7 @@ class UserNotesDesController extends GetxController { ...@@ -20,7 +20,7 @@ class UserNotesDesController extends GetxController {
@override @override
void onReady() { void onReady() {
onRefresh(); // onRefresh();
super.onReady(); super.onReady();
} }
...@@ -85,11 +85,14 @@ class UserNotesDesController extends GetxController { ...@@ -85,11 +85,14 @@ class UserNotesDesController extends GetxController {
for(NoteModel noteModel in result){ for(NoteModel noteModel in result){
if(noteModel.noteContent!=null && noteModel.noteContent!.audio != null){ if(noteModel.noteContent!=null && noteModel.noteContent!.audio != null){
if(noteModel.noteContent!.audio!.isNotEmpty){ if(noteModel.noteContent!.audio!.isNotEmpty){
for(MediaModel? mediaModel in noteModel.noteContent!.audio!){ await Future.forEach(noteModel.noteContent!.audio!, (MediaModel? mediaModel) async {
Duration? duration = await audioPlayer.setUrl(mediaModel?.content??''); if (mediaModel != null && mediaModel.content != null) {
Duration? duration = await audioPlayer.setUrl(mediaModel.content!);
mediaModel?.duration = Tools.formatDuration(duration!); if (duration != null) {
} mediaModel.duration = Tools.formatDuration(duration);
}
}
});
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论