|
|
|
@ -31,7 +31,6 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
TextEditingController textEditingController = TextEditingController(); |
|
|
|
|
ApiService apiService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override |
|
|
|
|
void initState() { |
|
|
|
|
super.initState(); |
|
|
|
@ -86,31 +85,33 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
child: Column( |
|
|
|
|
children: [ |
|
|
|
|
buildEdit(), |
|
|
|
|
Expanded(child: GridView.builder( |
|
|
|
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( |
|
|
|
|
crossAxisCount: 3, |
|
|
|
|
crossAxisSpacing: 12.w, |
|
|
|
|
mainAxisSpacing: 12.w, |
|
|
|
|
childAspectRatio: 1, |
|
|
|
|
Expanded( |
|
|
|
|
child: GridView.builder( |
|
|
|
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( |
|
|
|
|
crossAxisCount: 3, |
|
|
|
|
crossAxisSpacing: 12.w, |
|
|
|
|
mainAxisSpacing: 12.w, |
|
|
|
|
childAspectRatio: 1, |
|
|
|
|
), |
|
|
|
|
padding: EdgeInsets.all(16), |
|
|
|
|
shrinkWrap: true, |
|
|
|
|
physics: NeverScrollableScrollPhysics(), |
|
|
|
|
itemBuilder: (context, position) { |
|
|
|
|
if (mediaPaths.length > position) { |
|
|
|
|
return imageItem(mediaPaths[position]); |
|
|
|
|
} else { |
|
|
|
|
return addImageItem(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
itemCount: (mediaPaths.length == 0) |
|
|
|
|
? 1 |
|
|
|
|
: ((dynamicType == 2) |
|
|
|
|
? 1 |
|
|
|
|
: mediaPaths.length >= 9 |
|
|
|
|
? 9 |
|
|
|
|
: (mediaPaths.length + 1)), |
|
|
|
|
), |
|
|
|
|
padding: EdgeInsets.all(16), |
|
|
|
|
shrinkWrap: true, |
|
|
|
|
physics: NeverScrollableScrollPhysics(), |
|
|
|
|
itemBuilder: (context, position) { |
|
|
|
|
if (mediaPaths.length > position) { |
|
|
|
|
return imageItem(mediaPaths[position]); |
|
|
|
|
} else { |
|
|
|
|
return addImageItem(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
itemCount: (mediaPaths.length == 0) |
|
|
|
|
? 1 |
|
|
|
|
: ((dynamicType == 2) |
|
|
|
|
? 1 |
|
|
|
|
: mediaPaths.length >= 9 |
|
|
|
|
? 9 |
|
|
|
|
: (mediaPaths.length + 1)), |
|
|
|
|
),) |
|
|
|
|
), |
|
|
|
|
], |
|
|
|
|
), |
|
|
|
|
), |
|
|
|
@ -159,7 +160,6 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
if (baseData.isSuccess) { |
|
|
|
|
SmartDialog.showToast("发布成功!"); |
|
|
|
|
Future.delayed(Duration(seconds: 1), () { |
|
|
|
|
|
|
|
|
|
Navigator.of(context).pop(true); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
@ -179,7 +179,9 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
File file = File(element.path); |
|
|
|
|
if (dynamicType == 2) { |
|
|
|
|
String thumbnail; |
|
|
|
|
if (element.thumbPath != null && element.thumbPath != "" && await File(element.thumbPath).exists()) { |
|
|
|
|
if (element.thumbPath != null && |
|
|
|
|
element.thumbPath != "" && |
|
|
|
|
await File(element.thumbPath).exists()) { |
|
|
|
|
thumbnail = element.thumbPath; |
|
|
|
|
} else { |
|
|
|
|
thumbnail = await Thumbnails.getThumbnail( |
|
|
|
@ -188,14 +190,17 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
quality: 10, |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
if (thumbnail != null && thumbnail != "" && await File(thumbnail).exists()) { |
|
|
|
|
if (thumbnail != null && |
|
|
|
|
thumbnail != "" && |
|
|
|
|
await File(thumbnail).exists()) { |
|
|
|
|
BaseData<UploadResult> baseData = await apiService.upload( |
|
|
|
|
File(thumbnail), |
|
|
|
|
123123123, |
|
|
|
|
); |
|
|
|
|
if (baseData != null && baseData.isSuccess) { |
|
|
|
|
UploadResult uploadResult = baseData.data; |
|
|
|
|
mediaPaths[mediaPaths.indexOf(element)].thumbPath = uploadResult.url; |
|
|
|
|
mediaPaths[mediaPaths.indexOf(element)].thumbPath = |
|
|
|
|
uploadResult.url; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -205,7 +210,8 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
); |
|
|
|
|
if (baseData != null && baseData.isSuccess) { |
|
|
|
|
UploadResult uploadResult = baseData.data; |
|
|
|
|
mediaPaths[mediaPaths.indexOf(element)].remotePath = uploadResult.url; |
|
|
|
|
mediaPaths[mediaPaths.indexOf(element)].remotePath = |
|
|
|
|
uploadResult.url; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
@ -239,6 +245,9 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
|
|
|
|
|
///显示图片选择方式 |
|
|
|
|
showImagePicker() { |
|
|
|
|
|
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); |
|
|
|
|
|
|
|
|
|
if (dynamicType == 1) { |
|
|
|
|
getImageOrVideo(GalleryMode.image); |
|
|
|
|
return; |
|
|
|
@ -396,7 +405,7 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
|
|
|
|
|
), |
|
|
|
|
child: TextField( |
|
|
|
|
controller: textEditingController, |
|
|
|
|
maxLines:5, |
|
|
|
|
maxLines: 5, |
|
|
|
|
style: TextStyle( |
|
|
|
|
fontSize: 14.sp, |
|
|
|
|
fontWeight: MyFontWeight.medium, |
|
|
|
|