@@ -1,8 +1,8 @@ | |||||
#!/bin/sh | #!/bin/sh | ||||
# This is a generated file; do not edit or check into version control. | # This is a generated file; do not edit or check into version control. | ||||
export "FLUTTER_ROOT=/Users/random/sdk/flutter_sdk" | export "FLUTTER_ROOT=/Users/random/sdk/flutter_sdk" | ||||
export "FLUTTER_APPLICATION_PATH=/Users/random/code/flutter/project/qunliao" | |||||
export "FLUTTER_TARGET=/Users/random/code/flutter/project/qunliao/lib/main.dart" | |||||
export "FLUTTER_APPLICATION_PATH=/Users/random/code/flutter/project/Hibok" | |||||
export "FLUTTER_TARGET=/Users/random/code/flutter/project/Hibok/lib/main.dart" | |||||
export "FLUTTER_BUILD_DIR=build" | export "FLUTTER_BUILD_DIR=build" | ||||
export "SYMROOT=${SOURCE_ROOT}/../build/ios" | export "SYMROOT=${SOURCE_ROOT}/../build/ios" | ||||
export "FLUTTER_FRAMEWORK_DIR=/Users/random/sdk/flutter_sdk/bin/cache/artifacts/engine/ios" | export "FLUTTER_FRAMEWORK_DIR=/Users/random/sdk/flutter_sdk/bin/cache/artifacts/engine/ios" | ||||
@@ -127,6 +127,8 @@ PODS: | |||||
- Flutter | - Flutter | ||||
- share (0.5.2): | - share (0.5.2): | ||||
- Flutter | - Flutter | ||||
- share_extend (0.0.1): | |||||
- Flutter | |||||
- shared_preferences (0.0.1): | - shared_preferences (0.0.1): | ||||
- Flutter | - Flutter | ||||
- shared_preferences_macos (0.0.1): | - shared_preferences_macos (0.0.1): | ||||
@@ -189,6 +191,7 @@ DEPENDENCIES: | |||||
- photo_manager (from `.symlinks/plugins/photo_manager/ios`) | - photo_manager (from `.symlinks/plugins/photo_manager/ios`) | ||||
- receive_sharing_intent (from `.symlinks/plugins/receive_sharing_intent/ios`) | - receive_sharing_intent (from `.symlinks/plugins/receive_sharing_intent/ios`) | ||||
- share (from `.symlinks/plugins/share/ios`) | - share (from `.symlinks/plugins/share/ios`) | ||||
- share_extend (from `.symlinks/plugins/share_extend/ios`) | |||||
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) | - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) | ||||
- shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`) | - shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`) | ||||
- shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`) | - shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`) | ||||
@@ -298,6 +301,8 @@ EXTERNAL SOURCES: | |||||
:path: ".symlinks/plugins/receive_sharing_intent/ios" | :path: ".symlinks/plugins/receive_sharing_intent/ios" | ||||
share: | share: | ||||
:path: ".symlinks/plugins/share/ios" | :path: ".symlinks/plugins/share/ios" | ||||
share_extend: | |||||
:path: ".symlinks/plugins/share_extend/ios" | |||||
shared_preferences: | shared_preferences: | ||||
:path: ".symlinks/plugins/shared_preferences/ios" | :path: ".symlinks/plugins/shared_preferences/ios" | ||||
shared_preferences_macos: | shared_preferences_macos: | ||||
@@ -370,6 +375,7 @@ SPEC CHECKSUMS: | |||||
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 | Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 | ||||
receive_sharing_intent: c0d87310754e74c0f9542947e7cbdf3a0335a3b1 | receive_sharing_intent: c0d87310754e74c0f9542947e7cbdf3a0335a3b1 | ||||
share: bae0a282aab4483288913fc4dc0b935d4b491f2e | share: bae0a282aab4483288913fc4dc0b935d4b491f2e | ||||
share_extend: b6748dc53695587891126a89533b862b92548c7b | |||||
shared_preferences: 430726339841afefe5142b9c1f50cb6bd7793e01 | shared_preferences: 430726339841afefe5142b9c1f50cb6bd7793e01 | ||||
shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087 | shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087 | ||||
shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9 | shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9 | ||||
@@ -778,7 +778,7 @@ | |||||
CODE_SIGN_IDENTITY = "Apple Development"; | CODE_SIGN_IDENTITY = "Apple Development"; | ||||
CODE_SIGN_STYLE = Automatic; | CODE_SIGN_STYLE = Automatic; | ||||
CURRENT_PROJECT_VERSION = 12; | CURRENT_PROJECT_VERSION = 12; | ||||
DEVELOPMENT_TEAM = QJ9M3998Q6; | |||||
DEVELOPMENT_TEAM = ""; | |||||
ENABLE_BITCODE = NO; | ENABLE_BITCODE = NO; | ||||
FRAMEWORK_SEARCH_PATHS = ( | FRAMEWORK_SEARCH_PATHS = ( | ||||
"$(inherited)", | "$(inherited)", | ||||
@@ -1019,19 +1019,26 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
ImageProvider provider = MemoryImage(Uint8List.fromList(imgData)); | ImageProvider provider = MemoryImage(Uint8List.fromList(imgData)); | ||||
var imgSize = _getImgSize(); | var imgSize = _getImgSize(); | ||||
return GestureDetector( | |||||
child: Container( | |||||
width: imgSize.width, | |||||
height: imgSize.height, | |||||
child: ClipRRect( | |||||
child: Image( | |||||
image: provider ?? AssetImage(R.assetsImagesIcAlbum), | |||||
), | |||||
borderRadius: BorderRadius.circular(5), | |||||
)), | |||||
onTap: () async { | |||||
showFullImg(context, widget.msg); | |||||
}); | |||||
return DownloadItem( | |||||
isAutoDown: false, | |||||
msg: widget.msg, | |||||
onFinishTap: (){ | |||||
widget.hideKeyboard(); | |||||
showFullImg(context, widget.msg); | |||||
}, | |||||
child: Container( | |||||
width: imgSize.width, | |||||
height: imgSize.height, | |||||
child: ClipRRect( | |||||
child: Image( | |||||
image: provider ?? AssetImage(R.assetsImagesIcAlbum), | |||||
), | |||||
borderRadius: BorderRadius.circular(5), | |||||
), | |||||
), | |||||
); | |||||
} | } | ||||
_receiveVideo(BuildContext context, List<int> imgData, | _receiveVideo(BuildContext context, List<int> imgData, | ||||
@@ -178,7 +178,7 @@ class _CompanyServerPageState extends State<CompanyServerPage> { | |||||
if (imgSize > ImgSizeLimit) { | if (imgSize > ImgSizeLimit) { | ||||
print('图片大于 $ImgSizeLimit,压缩'); | print('图片大于 $ImgSizeLimit,压缩'); | ||||
//发送压缩图 | //发送压缩图 | ||||
sendImg = await WidgetUtil.getCompressImg(imgFile.absolute.path); | |||||
sendImg = await WidgetUtil.getCompressImg(imgFile.absolute.path ); | |||||
isNeedUpload = true; | isNeedUpload = true; | ||||
} else { | } else { | ||||
sendImg = imgFile.readAsBytesSync(); | sendImg = imgFile.readAsBytesSync(); | ||||
@@ -12,12 +12,14 @@ class DownloadItem extends StatefulWidget { | |||||
final bool isShowProgress; | final bool isShowProgress; | ||||
final bool isAutoDown; | final bool isAutoDown; | ||||
final Function onComplete; | final Function onComplete; | ||||
final Function onFinishTap; | |||||
DownloadItem( | DownloadItem( | ||||
{this.msg, | {this.msg, | ||||
this.child, | this.child, | ||||
this.isShowProgress = true, | this.isShowProgress = true, | ||||
this.isAutoDown = true, | this.isAutoDown = true, | ||||
this.onComplete}); | |||||
this.onComplete, | |||||
this.onFinishTap}); | |||||
@override | @override | ||||
_DownloadItemState createState() => _DownloadItemState(); | _DownloadItemState createState() => _DownloadItemState(); | ||||
} | } | ||||
@@ -129,7 +131,7 @@ class _DownloadItemState extends State<DownloadItem> { | |||||
(widget.msg.state != MsgState.Downloading && | (widget.msg.state != MsgState.Downloading && | ||||
widget.msg.state != MsgState.DownloadSuccess); | widget.msg.state != MsgState.DownloadSuccess); | ||||
return InkWell( | return InkWell( | ||||
onTap: isNeedDown ? downloadRes : null, | |||||
onTap: isNeedDown ? downloadRes : widget.onFinishTap, | |||||
child: Stack( | child: Stack( | ||||
alignment: Alignment.center, | alignment: Alignment.center, | ||||
children: <Widget>[widget.child, _downloadWidget()], | children: <Widget>[widget.child, _downloadWidget()], | ||||
@@ -56,6 +56,7 @@ class _PhotoPageState extends State<PhotoPage> | |||||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
Uint8List fileData; | Uint8List fileData; | ||||
if (widget.msg.localFile != null) { | if (widget.msg.localFile != null) { | ||||
print('本地了'); | |||||
fileData = File(widget.msg.localFile).readAsBytesSync(); | fileData = File(widget.msg.localFile).readAsBytesSync(); | ||||
} else { | } else { | ||||
fileData = Uint8List.fromList(widget.msg.msgContent); | fileData = Uint8List.fromList(widget.msg.msgContent); | ||||
@@ -99,15 +100,17 @@ class _PhotoPageState extends State<PhotoPage> | |||||
Positioned( | Positioned( | ||||
right: 10, | right: 10, | ||||
bottom: 10, | bottom: 10, | ||||
child: InkWell( | |||||
child: Material(child: InkWell( | |||||
onTap: saveToGallery, | onTap: saveToGallery, | ||||
child: Container( | child: Container( | ||||
width: 50, | |||||
height: 50, | |||||
padding: EdgeInsets.all(5), | padding: EdgeInsets.all(5), | ||||
decoration: BoxDecoration( | decoration: BoxDecoration( | ||||
color: Colors.grey.withAlpha(150), | color: Colors.grey.withAlpha(150), | ||||
borderRadius: BorderRadius.circular(8)), | borderRadius: BorderRadius.circular(8)), | ||||
child: Icon(Icons.save_alt, color: Colors.white70), | child: Icon(Icons.save_alt, color: Colors.white70), | ||||
))) | |||||
)),)) | |||||
], | ], | ||||
))); | ))); | ||||
} | } | ||||
@@ -1036,21 +1036,27 @@ class _GroupChatPageItemState extends State<GroupChatPageItem> | |||||
ImageProvider provider = MemoryImage(Uint8List.fromList(imgData)); | ImageProvider provider = MemoryImage(Uint8List.fromList(imgData)); | ||||
var imgSize = _getImgSize(); | var imgSize = _getImgSize(); | ||||
return GestureDetector( | |||||
child: Container( | |||||
alignment: Alignment.centerLeft, | |||||
width: imgSize.width, | |||||
height: imgSize.height, | |||||
child: ClipRRect( | |||||
child: Image( | |||||
image: provider ?? AssetImage(R.assetsImagesIcAlbum), | |||||
), | |||||
borderRadius: BorderRadius.circular(5), | |||||
)), | |||||
onTap: () async { | |||||
widget.hideKeyboard(); | |||||
showFullImg(context, widget.msg); | |||||
}); | |||||
return DownloadItem( | |||||
isAutoDown: false, | |||||
msg: widget.msg, | |||||
onFinishTap: (){ | |||||
widget.hideKeyboard(); | |||||
showFullImg(context, widget.msg); | |||||
}, | |||||
child: Container( | |||||
alignment: Alignment.centerLeft, | |||||
width: imgSize.width, | |||||
height: imgSize.height, | |||||
child: ClipRRect( | |||||
child: Image( | |||||
image: provider ?? AssetImage(R.assetsImagesIcAlbum), | |||||
), | |||||
borderRadius: BorderRadius.circular(5), | |||||
), | |||||
), | |||||
); | |||||
} | } | ||||
_receiveVideo(BuildContext context, List<int> imgData, | _receiveVideo(BuildContext context, List<int> imgData, | ||||
@@ -732,8 +732,8 @@ class InputBarState extends State<InputBar> | |||||
bool isNeedUpload = false; | bool isNeedUpload = false; | ||||
if (imgSize > ImgSizeLimit) { | if (imgSize > ImgSizeLimit) { | ||||
print('图片大于 $ImgSizeLimit,压缩'); | print('图片大于 $ImgSizeLimit,压缩'); | ||||
//发送压缩图 | |||||
sendImg = await WidgetUtil.getCompressImg(imgFile.absolute.path); | |||||
//发送压缩图 WidgetUtil.getCompressImg(path,quality: 80,percentage: 80); | |||||
sendImg = await WidgetUtil.getCompressImg(imgFile.absolute.path ); | |||||
isNeedUpload = true; | isNeedUpload = true; | ||||
} else { | } else { | ||||
sendImg = imgFile.readAsBytesSync(); | sendImg = imgFile.readAsBytesSync(); | ||||
@@ -392,7 +392,7 @@ class _UtilKeyboardState extends State<UtilKeyboard> { | |||||
File file =await FileCacheMgr().writeFile(DateTime.now().millisecondsSinceEpoch.toString(),thumbnail); | File file =await FileCacheMgr().writeFile(DateTime.now().millisecondsSinceEpoch.toString(),thumbnail); | ||||
File compressedFile = await FlutterNativeImage.compressImage(file.path, | File compressedFile = await FlutterNativeImage.compressImage(file.path, | ||||
quality: 20, percentage: 10); | |||||
quality: 30, percentage: 40); | |||||
thumbnail =compressedFile.readAsBytesSync().toList(); | thumbnail =compressedFile.readAsBytesSync().toList(); | ||||