Weller před 4 roky
rodič
revize
e71057a42c
5 změnil soubory, kde provedl 63 přidání a 30 odebrání
  1. +4
    -4
      example/pubspec.yaml
  2. +2
    -0
      lib/pages/login_page/account/login_account_page.dart
  3. +1
    -0
      lib/pages/login_page/login_page.dart
  4. +15
    -9
      lib/util/net_util.dart
  5. +41
    -17
      lib/util/photo_preview/photo_preview.dart

+ 4
- 4
example/pubspec.yaml Zobrazit soubor

@@ -20,10 +20,10 @@ dev_dependencies:
zhiying_comm:
path: ../

flutter_alibc:
git:
ref: 0.0.1
url: http://192.168.0.138:3000/FnuoOS_ZhiYing/zhiying_flutter_alibc.git
# flutter_alibc:
# git:
# ref: 0.0.1
# url: http://192.168.0.138:3000/FnuoOS_ZhiYing/zhiying_flutter_alibc.git

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec


+ 2
- 0
lib/pages/login_page/account/login_account_page.dart Zobrazit soubor

@@ -106,6 +106,7 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i

setState(() {
_useVcode = !_useVcode;
_canSubmit = false;
});
// 清除缓存
if (_useVcode) {
@@ -128,6 +129,7 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i
void _openAgreement(String url) {
if (!EmptyUtil.isEmpty(url)) {
print('打开协议$url');
RouterUtil.openWebview(url, context);
}
}



+ 1
- 0
lib/pages/login_page/login_page.dart Zobrazit soubor

@@ -65,6 +65,7 @@ class _LoginPageContainerState extends State<LoginPageContainer> {
void _jumpUserAgreement(String url) {
if(!EmptyUtil.isEmpty(url)) {
print('协议');
RouterUtil.openWebview(url, context);
}
}



+ 15
- 9
lib/util/net_util.dart Zobrazit soubor

@@ -94,7 +94,7 @@ class NetUtil {
}

/// 同步请求
static Future<dynamic> post(String path, {Map<String, dynamic> params, Map<String, dynamic> queryParameters, NetMethod method = NetMethod.POST, bool cache = false}) async {
static Future<dynamic> post(String path, {Map<String, dynamic> params, Map<String, dynamic> queryParameters, NetMethod method = NetMethod.POST, bool cache = false, bool showToast = true}) async {
if (params == null) {
params = {};
}
@@ -131,12 +131,18 @@ class NetUtil {
// 缓存返回的数据
} else {
Logger.error('error: ' + result[GlobalConfig.HTTP_RESPONSE_KEY_MSG]);
if (result[GlobalConfig.HTTP_RESPONSE_KEY_CODE] != 401000) {
Fluttertoast.showToast(
msg: result[GlobalConfig.HTTP_RESPONSE_KEY_MSG],
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
///
/// 401000 验证用户失败(不提示Toast)
/// 404004 没有找到对应模块(跳空页面,不提示toast)
///
if (result[GlobalConfig.HTTP_RESPONSE_KEY_CODE] != 401000 && result[GlobalConfig.HTTP_RESPONSE_KEY_CODE] != 404004) {
if(showToast) {
Fluttertoast.showToast(
msg: result[GlobalConfig.HTTP_RESPONSE_KEY_MSG],
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
}
}

// 退出登陆
@@ -159,7 +165,7 @@ class NetUtil {
}

/// 异步请求
static void request(String path, {NetMethod method = NetMethod.GET, Map<String, dynamic> params,Map<String, dynamic> queryParameters, OnSuccess onSuccess, OnError onError, OnCache onCache}) async {
static void request(String path, {NetMethod method = NetMethod.GET, Map<String, dynamic> params,Map<String, dynamic> queryParameters, OnSuccess onSuccess, OnError onError, OnCache onCache, bool showToast = true}) async {
if (params == null) {
params = {};
}
@@ -172,7 +178,7 @@ class NetUtil {
}

try {
Map result = await NetUtil.post(path, method: method, params: params, queryParameters: queryParameters);
Map result = await NetUtil.post(path, method: method, params: params, queryParameters: queryParameters, showToast: showToast);
// TODO 解密?
if (isSuccess(result)) {
if (onSuccess != null) {


+ 41
- 17
lib/util/photo_preview/photo_preview.dart Zobrazit soubor

@@ -1,5 +1,6 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:loading_indicator/loading_indicator.dart';

import 'package:photo_view/photo_view.dart';
import 'package:photo_view/photo_view_gallery.dart';
@@ -9,16 +10,25 @@ import 'package:zhiying_comm/zhiying_comm.dart';
class PhotoPreview extends StatefulWidget {
List<PreviewImageData> previewImageDatas;
int index;
String heroTagSuffix;

PhotoPreview({Key key, this.previewImageDatas, this.index = 0})
PhotoPreview(
{Key key,
this.previewImageDatas,
this.index = 0,
this.heroTagSuffix = ""})
: super(key: key);

PhotoPreview._showPhotoViewByData(
{Key key, this.previewImageDatas, this.index})
: super(key: key);
{Key key,
this.previewImageDatas,
this.index = 0,
this.heroTagSuffix = ""})
: super(key: key) {
}

PhotoPreview._showPhotoViewByImages(
{Key key, List<String> images, this.index})
{Key key, List<String> images, this.index = 0, this.heroTagSuffix = ""})
: super(key: key) {
if (images != null) {
previewImageDatas = List();
@@ -32,21 +42,23 @@ class PhotoPreview extends StatefulWidget {
///显示类型的一些预览
static showPhotoPreview(
BuildContext context, List<PreviewImageData> previewImageDatas,
{int currentIndex = 0}) {
{int currentIndex = 0, String heroTagSuffix}) {
Navigator.of(context).push(new FadeRoute(
page: PhotoPreview._showPhotoViewByData(
previewImageDatas: previewImageDatas,
index: currentIndex,
heroTagSuffix: heroTagSuffix,
)));
}

///显示仅仅是一组list<String>类型的图片预览
static showPhotoPreviewByimages(BuildContext context, List<String> images,
{int currentIndex = 0}) {
{int currentIndex = 0, String heroTagSuffix = ""}) {
Navigator.of(context).push(new FadeRoute(
page: PhotoPreview._showPhotoViewByImages(
images: images,
index: currentIndex,
heroTagSuffix: heroTagSuffix,
)));
}

@@ -71,7 +83,7 @@ class _PhotoPreviewState extends State<PhotoPreview> {
images: widget.previewImageDatas,
index: widget.index,
controller: pageController,
heroTag: "",
heroTagSuffix: widget.heroTagSuffix ?? "",
));
}
}
@@ -100,7 +112,7 @@ enum PreviewImageType {
class PhotoViewGalleryScreen extends StatefulWidget {
List<PreviewImageData> images = [];
int index = 0;
String heroTag;
String heroTagSuffix;
PageController controller;

PhotoViewGalleryScreen(
@@ -108,7 +120,7 @@ class PhotoViewGalleryScreen extends StatefulWidget {
@required this.images,
this.index,
this.controller,
this.heroTag})
this.heroTagSuffix})
: super(key: key) {
controller = PageController(initialPage: index);
}
@@ -143,8 +155,10 @@ class _PhotoViewGalleryScreenState extends State<PhotoViewGalleryScreen> {
builder: (BuildContext context, int index) {
return PhotoViewGalleryPageOptions(
imageProvider: _buildPage(context, index),
heroAttributes: widget.heroTag.isNotEmpty
? PhotoViewHeroAttributes(tag: widget.heroTag)
heroAttributes: widget.heroTagSuffix.isNotEmpty
? PhotoViewHeroAttributes(
tag: (widget.images[index].data ?? "") +
widget.heroTagSuffix)
: null,
);
},
@@ -152,6 +166,19 @@ class _PhotoViewGalleryScreenState extends State<PhotoViewGalleryScreen> {
loadFailedChild: Container(
child: Text("加载失败"),
),
loadingBuilder: (context,event){
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
width: 48,
constraints: BoxConstraints(maxWidth: 48,maxHeight: 48),
height: 48,
child: LoadingIndicator(indicatorType: Indicator.ballSpinFadeLoader,color: Colors.white,)
),
],
);
},
backgroundDecoration: BoxDecoration(color: Colors.black),
pageController: widget.controller,
enableRotation: true,
@@ -220,12 +247,9 @@ class FadeRoute extends PageRouteBuilder {
Animation<double> secondaryAnimation,
Widget child,
) =>
ScaleTransition(
scale: animation,
child: FadeTransition(
opacity: animation,
child: child,
),
FadeTransition(
opacity: animation,
child: child,
),
);
}

Načítá se…
Zrušit
Uložit