@@ -42,6 +42,8 @@ captures/ | |||||
.idea/gradle.xml | .idea/gradle.xml | ||||
.idea/dictionaries | .idea/dictionaries | ||||
.idea/libraries | .idea/libraries | ||||
.idea/ | |||||
.dart_tool/ | |||||
# External native build folder generated in Android Studio 2.2 and later | # External native build folder generated in Android Studio 2.2 and later | ||||
.externalNativeBuild | .externalNativeBuild | ||||
@@ -37,7 +37,9 @@ | |||||
return @{ | return @{ | ||||
// @"domain": @"http://120.76.175.204:8989" | // @"domain": @"http://120.76.175.204:8989" | ||||
@"domain": @"http://inapi.izhyin.cn", | @"domain": @"http://inapi.izhyin.cn", | ||||
@"token": @"cc455e0c0b6a75ff09aeb966c211fb967d69b63d" | |||||
@"master_id":@"123456", | |||||
@"secret_key":@"123456" | |||||
// @"token": @"cc455e0c0b6a75ff09aeb966c211fb967d69b63d" | |||||
}; | }; | ||||
} | } | ||||
@@ -114,6 +114,16 @@ | |||||
<string>kd920070801.open.fleetingpower.com</string> | <string>kd920070801.open.fleetingpower.com</string> | ||||
</array> | </array> | ||||
</dict> | </dict> | ||||
<dict> | |||||
<key>CFBundleTypeRole</key> | |||||
<string>Editor</string> | |||||
<key>CFBundleURLName</key> | |||||
<string>alipay</string> | |||||
<key>CFBundleURLSchemes</key> | |||||
<array> | |||||
<string>tobiasexample</string> | |||||
</array> | |||||
</dict> | |||||
</array> | </array> | ||||
<key>CFBundleVersion</key> | <key>CFBundleVersion</key> | ||||
<string>$(FLUTTER_BUILD_NUMBER)</string> | <string>$(FLUTTER_BUILD_NUMBER)</string> | ||||
@@ -190,6 +200,20 @@ | |||||
<key>NSAllowsArbitraryLoads</key> | <key>NSAllowsArbitraryLoads</key> | ||||
<true/> | <true/> | ||||
</dict> | </dict> | ||||
<key>NSCameraUsageDescription</key> | |||||
<string>获取相机权限更换头像或者扫码</string> | |||||
<key>NSContactsUsageDescription</key> | |||||
<string>获取访问通信录权限添加联系人信息</string> | |||||
<key>NSLocationAlwaysUsageDescription</key> | |||||
<string>获取定位权限用于搜索附近的网点和查找附近的油站信息</string> | |||||
<key>NSLocationWhenInUseUsageDescription</key> | |||||
<string>获取定位权限用于搜索附近的网点和查找附近的油站信息</string> | |||||
<key>NSMicrophoneUsageDescription</key> | |||||
<string>获取访问麦克风权限录制语音或视频</string> | |||||
<key>NSPhotoLibraryAddUsageDescription</key> | |||||
<string>获取访问相册权限更换头像</string> | |||||
<key>NSPhotoLibraryUsageDescription</key> | |||||
<string>获取访问相册权限更换头像</string> | |||||
<key>UILaunchStoryboardName</key> | <key>UILaunchStoryboardName</key> | ||||
<string>LaunchScreen</string> | <string>LaunchScreen</string> | ||||
<key>UIMainStoryboardFile</key> | <key>UIMainStoryboardFile</key> | ||||
@@ -211,19 +235,5 @@ | |||||
<false/> | <false/> | ||||
<key>io.flutter.embedded_views_preview</key> | <key>io.flutter.embedded_views_preview</key> | ||||
<string>YES</string> | <string>YES</string> | ||||
<key>NSCameraUsageDescription</key> | |||||
<string>获取相机权限更换头像或者扫码</string> | |||||
<key>NSContactsUsageDescription</key> | |||||
<string>获取访问通信录权限添加联系人信息</string> | |||||
<key>NSLocationAlwaysUsageDescription</key> | |||||
<string>获取定位权限用于搜索附近的网点和查找附近的油站信息</string> | |||||
<key>NSLocationWhenInUseUsageDescription</key> | |||||
<string>获取定位权限用于搜索附近的网点和查找附近的油站信息</string> | |||||
<key>NSMicrophoneUsageDescription</key> | |||||
<string>获取访问麦克风权限录制语音或视频</string> | |||||
<key>NSPhotoLibraryAddUsageDescription</key> | |||||
<string>获取访问相册权限更换头像</string> | |||||
<key>NSPhotoLibraryUsageDescription</key> | |||||
<string>获取访问相册权限更换头像</string> | |||||
</dict> | </dict> | ||||
</plist> | </plist> |
@@ -1,3 +1,4 @@ | |||||
import 'package:dio/dio.dart'; | import 'package:dio/dio.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:flutter_alibc/flutter_alibc.dart'; | import 'package:flutter_alibc/flutter_alibc.dart'; | ||||
@@ -21,10 +22,7 @@ class _MyAppState extends State<MyApp> { | |||||
@override | @override | ||||
void initState() { | void initState() { | ||||
BaseWidgetRegister.init(); | BaseWidgetRegister.init(); | ||||
Jdsdk.init( | |||||
appKey: '9fc3dec00b9b40cc950dfba5262cd6d3', | |||||
appSecret: 'f785613e5fd54a129d0f0359a4e25c23') | |||||
.then((result) { | |||||
Jdsdk.init(appKey: '9fc3dec00b9b40cc950dfba5262cd6d3', appSecret: 'f785613e5fd54a129d0f0359a4e25c23').then((result) { | |||||
Logger.debug('京东初始化:${result.toString()}'); | Logger.debug('京东初始化:${result.toString()}'); | ||||
}); | }); | ||||
FlutterAlibc.initAlibc(version: "", appName: "").then((result) { | FlutterAlibc.initAlibc(version: "", appName: "").then((result) { | ||||
@@ -44,8 +42,7 @@ class _MyAppState extends State<MyApp> { | |||||
class HomePage extends StatelessWidget { | class HomePage extends StatelessWidget { | ||||
netPost() async { | netPost() async { | ||||
dynamic result = | |||||
await NetUtil.post('/api/v1/rec/featured?page=1', params: null); | |||||
dynamic result = await NetUtil.post('/api/v1/rec/featured?page=1', params: null); | |||||
print("result === ${result?.toString()}"); | print("result === ${result?.toString()}"); | ||||
} | } | ||||
@@ -64,29 +61,25 @@ class HomePage extends StatelessWidget { | |||||
onPressed: () { | onPressed: () { | ||||
// d75d2fc6592f4526e297643446416581bd89e837 | // d75d2fc6592f4526e297643446416581bd89e837 | ||||
// cc455e0c0b6a75ff09aeb966c211fb967d69b63d | // cc455e0c0b6a75ff09aeb966c211fb967d69b63d | ||||
SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_TOKEN, | |||||
'd75d2fc6592f4526e297643446416581bd89e837'); | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_TOKEN, 'd75d2fc6592f4526e297643446416581bd89e837'); | |||||
}, | }, | ||||
child: Text('登录'), | child: Text('登录'), | ||||
), | ), | ||||
RaisedButton( | RaisedButton( | ||||
onPressed: () { | onPressed: () { | ||||
SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_TOKEN, ''); | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_TOKEN, ''); | |||||
}, | }, | ||||
child: Text('退出登录'), | child: Text('退出登录'), | ||||
), | ), | ||||
RaisedButton( | RaisedButton( | ||||
onPressed: () { | onPressed: () { | ||||
NetUtil.request('/api/v1/rec/featured?page=1', params: null, | |||||
onError: (msg) { | |||||
print('onERROR = ${msg?.toString() ?? 'onError'}'); | |||||
}, onSuccess: (json) { | |||||
print('onSuccess = ${json?.toString() ?? 'onSuccess'}'); | |||||
}, onCache: (json) { | |||||
print('onCache = ${json?.toString() ?? 'onCache'}'); | |||||
}); | |||||
NetUtil.request('/api/v1/rec/featured?page=1', params: null, onError: (msg) { | |||||
print('onERROR = ${msg?.toString() ?? 'onError'}'); | |||||
}, onSuccess: (json) { | |||||
print('onSuccess = ${json?.toString() ?? 'onSuccess'}'); | |||||
}, onCache: (json) { | |||||
print('onCache = ${json?.toString() ?? 'onCache'}'); | |||||
}); | |||||
}, | }, | ||||
child: Text('网络异步请求(带缓存)'), | child: Text('网络异步请求(带缓存)'), | ||||
), | ), | ||||
@@ -142,8 +135,9 @@ class HomePage extends StatelessWidget { | |||||
onPressed: () { | onPressed: () { | ||||
// | // | ||||
Dio dio = Dio(); | Dio dio = Dio(); | ||||
dio.get( | |||||
'http://www.hairuyi.com/?mod=appapi&act=gotojingdong&gid=60291609161&yhq_url=http%3A%2F%2Fcoupon.m.jd.com%2Fcoupons%2Fshow.action%3Fkey%3Dd97e1472a8a24c39a9463dbe72b3fa32%26roleId%3D38088450%26to%3Ditem.jd.com%2F60291609161.html') | |||||
dio | |||||
.get( | |||||
'http://www.hairuyi.com/?mod=appapi&act=gotojingdong&gid=60291609161&yhq_url=http%3A%2F%2Fcoupon.m.jd.com%2Fcoupons%2Fshow.action%3Fkey%3Dd97e1472a8a24c39a9463dbe72b3fa32%26roleId%3D38088450%26to%3Ditem.jd.com%2F60291609161.html') | |||||
.then((value) { | .then((value) { | ||||
Logger.debug(value.realUri.toString()); | Logger.debug(value.realUri.toString()); | ||||
}); | }); | ||||
@@ -153,7 +147,8 @@ class HomePage extends StatelessWidget { | |||||
RaisedButton( | RaisedButton( | ||||
onPressed: () { | onPressed: () { | ||||
Jdsdk.openUrl( | Jdsdk.openUrl( | ||||
url: 'http://www.hairuyi.com/?mod=appapi&act=gotojingdong&gid=60291609161&yhq_url=http%3A%2F%2Fcoupon.m.jd.com%2Fcoupons%2Fshow.action%3Fkey%3Dd97e1472a8a24c39a9463dbe72b3fa32%26roleId%3D38088450%26to%3Ditem.jd.com%2F60291609161.html'); | |||||
url: | |||||
'http://www.hairuyi.com/?mod=appapi&act=gotojingdong&gid=60291609161&yhq_url=http%3A%2F%2Fcoupon.m.jd.com%2Fcoupons%2Fshow.action%3Fkey%3Dd97e1472a8a24c39a9463dbe72b3fa32%26roleId%3D38088450%26to%3Ditem.jd.com%2F60291609161.html'); | |||||
}, | }, | ||||
child: Text('打开京东详情'), | child: Text('打开京东详情'), | ||||
), | ), | ||||
@@ -200,14 +195,13 @@ class HomePage extends StatelessWidget { | |||||
previewImageDatas.add(PreviewImageData( | previewImageDatas.add(PreviewImageData( | ||||
previewImageType: PreviewImageType.netUrl, | previewImageType: PreviewImageType.netUrl, | ||||
data: | data: | ||||
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604924972652&di=2849a989df574db3fbb7a8994ea87fc3&imgtype=0&src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2Fc%2F574420055d0b9.jpg")); | |||||
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604924972652&di=2849a989df574db3fbb7a8994ea87fc3&imgtype=0&src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2Fc%2F574420055d0b9.jpg")); | |||||
} | } | ||||
PhotoPreview.showPhotoPreview(context, previewImageDatas,currentIndex: 0); | |||||
PhotoPreview.showPhotoPreview(context, previewImageDatas, currentIndex: 0); | |||||
}, | }, | ||||
child: Text('预览图片'), | child: Text('预览图片'), | ||||
), | ), | ||||
RaisedButton( | RaisedButton( | ||||
onPressed: () async { | onPressed: () async { | ||||
Navigator.push(context, MaterialPageRoute(builder: (_) { | Navigator.push(context, MaterialPageRoute(builder: (_) { | ||||
@@ -216,7 +210,12 @@ class HomePage extends StatelessWidget { | |||||
}, | }, | ||||
child: Text('打开登录'), | child: Text('打开登录'), | ||||
), | ), | ||||
RaisedButton( | |||||
onPressed: () async { | |||||
toPay(); | |||||
}, | |||||
child: Text('支付宝支付'), | |||||
), | |||||
], | ], | ||||
), | ), | ||||
), | ), | ||||
@@ -236,4 +235,20 @@ class HomePage extends StatelessWidget { | |||||
method: NetMethod.POST); | method: NetMethod.POST); | ||||
print('apapapsdjfdsjf: ${param?.toString()}'); | print('apapapsdjfdsjf: ${param?.toString()}'); | ||||
} | } | ||||
///支付宝支付 | |||||
void toPay() async { | |||||
var result = await AliPayUtil.toPay('app_id=2016120103683451\u0026biz_content=%7B%22out_trade_no%22%3A%22706160993071863177%22%2C%22passback_params%22%3A%22706160993071863177%22%2C%22subject%22%3A%22%E6%B5%8B%E8%AF%95%22%2C%22total_amount%22%3A%220.01%22%7D\u0026charset=utf-8\u0026format=JSON\u0026method=alipay.trade.app.pay\u0026notify_url=inapi.izhyin.cn%2Fapi%2Fv1%2Falipay%2Fcallback%3Fmaster_id%3D123456\u0026sign=juCL4eFWKDdpis0EEb8AHgazPql1QXODJ4K%2BglffzxkdUKhuPXBzkI4Fcull3RZ94kD63qlXAhGnbcPIYiUnxoec1sR5xEvEk3rxFJcmEBhPXMIX6nyh8Z2IdzeRzEjypidPR3U5T6OgdabaXADKjGd%2BKDH%2FhzCRSOyMf7TNazyoKAWX3D10R4QQjChDrBLXY6WTqrEcJVZVg8IgC1znZPuG3pO%2BtPFpiwjbT0rAcxWqj5ZbwddyDpfSM7gvpmBymDDvW3bUUQ8h4wszTClyvCQ6fXSeHX%2BgsFhqhkK01U4OhzDH4ipsMTe1Jz6fJveCICtdGd4c6Sikk%2Bhzn8br1w%3D%3D\u0026sign_type=RSA2\u0026timestamp=2021-01-06+18%3A58%3A38\u0026version=1.0'); | |||||
// var params = {'subject': '测试', 'amount': "0.01"}; | |||||
// print("请求数据"); | |||||
// NetUtil.request("/api/v1/user/alipay", params: params, method: NetMethod.POST, onSuccess: (data) async { | |||||
// print(data); | |||||
// var result = await AliPayUtil.toPay(data); | |||||
// if(result){ | |||||
// print("支付成功"); | |||||
// } | |||||
// },onError: (err){ | |||||
// print(err); | |||||
// }); | |||||
} | |||||
} | } |
@@ -1,4 +1,5 @@ | |||||
import 'dart:io'; | import 'dart:io'; | ||||
import 'dart:convert'; | |||||
import 'package:zhiying_comm/util/net_util.dart'; | import 'package:zhiying_comm/util/net_util.dart'; | ||||
import 'package:zhiying_comm/util/shared_prefe_util.dart'; | import 'package:zhiying_comm/util/shared_prefe_util.dart'; | ||||
@@ -20,8 +21,7 @@ class BaseSettingModel { | |||||
return _setting; | return _setting; | ||||
} | } | ||||
BaseSettingModel( | |||||
{this.fileProvider, this.fileBucketHost, this.fileBucketHostProtocol}); | |||||
BaseSettingModel({this.fileProvider, this.fileBucketHost, this.fileBucketHostProtocol}); | |||||
BaseSettingModel.fromJson(Map<String, dynamic> json) { | BaseSettingModel.fromJson(Map<String, dynamic> json) { | ||||
fileProvider = json['file_provider']; | fileProvider = json['file_provider']; | ||||
@@ -41,21 +41,42 @@ class BaseSettingModel { | |||||
return data; | return data; | ||||
} | } | ||||
static Future<BaseSettingModel> init() async { | |||||
Map result = | |||||
await NetUtil.post('/api/v1/new/config.json', method: NetMethod.GET); | |||||
static Future<BaseSettingModel> init({bool isGetCache}) async { | |||||
try { | try { | ||||
var data = result['data']; | |||||
_setting = BaseSettingModel.fromJson(Map<String, dynamic>.from(data)); | |||||
if(Platform.isIOS) { | |||||
if (null != _setting && _setting.isIosReview == '1') { | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '1'); | |||||
} else { | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '0'); | |||||
///判断是否获取缓存 | |||||
if (isGetCache != null && isGetCache) { | |||||
String configData = await SharedPreferencesUtil.getStringValue(GlobalConfig.MAIN_CONFIG, defaultVal: '1'); | |||||
if (configData != "1") { | |||||
_setting = BaseSettingModel.fromJson(Map<String, dynamic>.from(json.decode(configData))); | |||||
if (Platform.isIOS) { | |||||
if (null != _setting && _setting.isIosReview == '1') { | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '1'); | |||||
} else { | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '0'); | |||||
} | |||||
} | |||||
Logger.debug('基础设置初始化'); | |||||
} | |||||
NetUtil.request('/api/v1/new/config.json',onSuccess: (data){ | |||||
}); | |||||
} else { | |||||
Map result = | |||||
await NetUtil.post('/api/v1/new/config.json', method: NetMethod.GET); | |||||
var data = result['data']; | |||||
_setting = BaseSettingModel.fromJson(Map<String, dynamic>.from(data)); | |||||
if (Platform.isIOS) { | |||||
if (null != _setting && _setting.isIosReview == '1') { | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '1'); | |||||
} else { | |||||
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '0'); | |||||
} | |||||
} | } | ||||
Logger.debug('基础设置初始化'); | |||||
return _setting; | |||||
} | } | ||||
Logger.debug('基础设置初始化'); | |||||
return _setting; | |||||
} catch (err) { | } catch (err) { | ||||
Logger.error(err); | Logger.error(err); | ||||
} | } | ||||
@@ -0,0 +1,24 @@ | |||||
import 'package:tobias/tobias.dart' as tobias; | |||||
///支付宝支付 | |||||
class AliPayUtil{ | |||||
///orderCode 为后端返回支付Code字符串 | |||||
///返回true表示支付成功,false表示支付失败 | |||||
static Future<bool> toPay(String orderCode)async{ | |||||
Map<dynamic,dynamic> result= await tobias.aliPay(orderCode); | |||||
if(result!=null&&result['resultStatus']!=null&&result['resultStatus'].toString()=="9000"){ | |||||
print("支付宝支付结果"); | |||||
print(result); | |||||
return true; | |||||
}else{ | |||||
return false; | |||||
} | |||||
} | |||||
///检查是否安装了支付宝 | |||||
static Future<bool> isInstallAliPay() async { | |||||
return await tobias.isAliPayInstalled(); | |||||
} | |||||
} |
@@ -44,4 +44,7 @@ class GlobalConfig { | |||||
/// 苹果审核 | /// 苹果审核 | ||||
static final String IS_IOS_REVIEW = 'is_ios_review'; | static final String IS_IOS_REVIEW = 'is_ios_review'; | ||||
///主要配置 | |||||
static final String MAIN_CONFIG='sp_main_config'; | |||||
} | } |
@@ -93,7 +93,7 @@ class QuickLoginUtil { | |||||
} | } | ||||
// 需要自己实现这部分 | // 需要自己实现这部分 | ||||
void _doLogin(Map ret, BuildContext context) async { | |||||
Future _doLogin(Map ret, BuildContext context) async { | |||||
var opToken = ret.containsKey("opToken") ? ret["opToken"] : ""; | var opToken = ret.containsKey("opToken") ? ret["opToken"] : ""; | ||||
var token = ret.containsKey("token") ? ret["token"] : ""; | var token = ret.containsKey("token") ? ret["token"] : ""; | ||||
var operator = ret.containsKey("operator") ? ret["operator"] : ""; | var operator = ret.containsKey("operator") ? ret["operator"] : ""; | ||||
@@ -110,8 +110,12 @@ class QuickLoginUtil { | |||||
// params["appkey"] = appKey; | // params["appkey"] = appKey; | ||||
try { | try { | ||||
BuildContext context1 = navigatorKey.currentState.overlay.context; | |||||
Loading.show(context1,msg: "加载中..."); | |||||
print("加载中..."); | |||||
var result = await NetUtil.post('/api/v1/sign/mob/in', params: params, method: NetMethod.POST); | var result = await NetUtil.post('/api/v1/sign/mob/in', params: params, method: NetMethod.POST); | ||||
if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | ||||
Loading.dismiss(); | |||||
UserInfoModel model = UserInfoModel.fromJson(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]); | UserInfoModel model = UserInfoModel.fromJson(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]); | ||||
if (!EmptyUtil.isEmpty(model)) { | if (!EmptyUtil.isEmpty(model)) { | ||||
if (model.registerInviteCodeEnable == '1') { | if (model.registerInviteCodeEnable == '1') { | ||||
@@ -126,8 +130,11 @@ class QuickLoginUtil { | |||||
return; | return; | ||||
} | } | ||||
} | } | ||||
}else{ | |||||
Loading.dismiss(); | |||||
} | } | ||||
} catch (e, s) { | } catch (e, s) { | ||||
Loading.dismiss(); | |||||
Logger.error(e, s); | Logger.error(e, s); | ||||
} | } | ||||
Fluttertoast.showToast(msg: '登录失败'); | Fluttertoast.showToast(msg: '登录失败'); | ||||
@@ -182,14 +189,14 @@ class QuickLoginUtil { | |||||
// 取号接口 | // 取号接口 | ||||
void _verify(BuildContext context) { | void _verify(BuildContext context) { | ||||
Secverify.preVerify((ret, err) { | |||||
Secverify.preVerify((ret, err) async { | |||||
if (err != null) { | if (err != null) { | ||||
// showAlert(err.toString(),context); | // showAlert(err.toString(),context); | ||||
Logger.log(err.toString()); | Logger.log(err.toString()); | ||||
_openSMSLoginPage(context); | _openSMSLoginPage(context); | ||||
Loading.dismiss(); | Loading.dismiss(); | ||||
} else { | } else { | ||||
Secverify.verify((Map ret, Map err) { | |||||
Secverify.verify((Map ret, Map err) async { | |||||
if (err != null) { | if (err != null) { | ||||
//打印错误信息 | //打印错误信息 | ||||
// showAlert(err.toString(), context); | // showAlert(err.toString(), context); | ||||
@@ -214,7 +221,7 @@ class QuickLoginUtil { | |||||
Secverify.finshOauthPage(); | Secverify.finshOauthPage(); | ||||
} else if (ret.containsKey("opToken")) { | } else if (ret.containsKey("opToken")) { | ||||
//如果登录成功,将返回的信息提交给自己的服务器 | //如果登录成功,将返回的信息提交给自己的服务器 | ||||
_doLogin(ret, context); | |||||
await _doLogin(ret, context); | |||||
//调用此方法手动关闭授权页面 | //调用此方法手动关闭授权页面 | ||||
Loading.dismiss(); | Loading.dismiss(); | ||||
Secverify.finshOauthPage(); | Secverify.finshOauthPage(); | ||||
@@ -55,7 +55,7 @@ class NetUtil { | |||||
if (_dio == null) { | if (_dio == null) { | ||||
var setting = await NativeUtil.getSetting(); | var setting = await NativeUtil.getSetting(); | ||||
String domain = setting['domain']; //'http://www.hairuyi.com/'; | String domain = setting['domain']; //'http://www.hairuyi.com/'; | ||||
_config(domain, proxyUrl: '');// 192.168.0.66:8866 | |||||
_config(domain, proxyUrl: '192.168.0.102:8866');// 192.168.0.66:8866 | |||||
} | } | ||||
return _dio; | return _dio; | ||||
} | } | ||||
@@ -355,6 +355,15 @@ class NetUtil { | |||||
// token 读取SP缓存中的用户token | // token 读取SP缓存中的用户token | ||||
String token = await SharedPreferencesUtil.getStringValue(GlobalConfig.SHARED_KEY_TOKEN); | String token = await SharedPreferencesUtil.getStringValue(GlobalConfig.SHARED_KEY_TOKEN); | ||||
if(EmptyUtil.isEmpty(token)&&!bool.fromEnvironment("dart.vm.product")){ | |||||
try{ | |||||
token=setting['token']; | |||||
}catch(e,s){ | |||||
print(s); | |||||
print(e); | |||||
} | |||||
} | |||||
if (!EmptyUtil.isEmpty(token)) { | if (!EmptyUtil.isEmpty(token)) { | ||||
// params['token'] = token; | // params['token'] = token; | ||||
params['Authorization'] = 'Bearer ' + token; | params['Authorization'] = 'Bearer ' + token; | ||||
@@ -71,7 +71,7 @@ class AppUpdateUtil { | |||||
/// @needToast 是否需要提示最新版本 | /// @needToast 是否需要提示最新版本 | ||||
/// @mustShowDialog 是否必须弹窗(检查更新页面要弹窗) | /// @mustShowDialog 是否必须弹窗(检查更新页面要弹窗) | ||||
/// | /// | ||||
static void updateApp(BuildContext context, {bool needToast = false, bool mustShowDialog = false}) async { | |||||
static Future updateApp(BuildContext context, {bool needToast = false, bool mustShowDialog = false}) async { | |||||
UpdateEntity updateEntity = await _checkAppUpdate(); | UpdateEntity updateEntity = await _checkAppUpdate(); | ||||
// 有新版本,进行更新 | // 有新版本,进行更新 | ||||
if (!EmptyUtil.isEmpty(updateEntity) && updateEntity.hasUpdate) { | if (!EmptyUtil.isEmpty(updateEntity) && updateEntity.hasUpdate) { | ||||
@@ -99,6 +99,7 @@ class AppUpdateUtil { | |||||
} else { | } else { | ||||
if (needToast) Fluttertoast.showToast(msg: '已经是最新版本了~'); | if (needToast) Fluttertoast.showToast(msg: '已经是最新版本了~'); | ||||
} | } | ||||
return null; | |||||
} | } | ||||
/// 检查是否有新版本 | /// 检查是否有新版本 | ||||
@@ -37,4 +37,5 @@ export 'util/photo_preview/photo_preview.dart'; | |||||
export 'models/base/base_change_notifier.dart'; | export 'models/base/base_change_notifier.dart'; | ||||
export 'util/parse_util.dart'; | export 'util/parse_util.dart'; | ||||
export 'util/download/download.dart'; | export 'util/download/download.dart'; | ||||
export 'util/alipay_util.dart'; | |||||
@@ -577,6 +577,15 @@ packages: | |||||
url: "https://pub.flutter-io.cn" | url: "https://pub.flutter-io.cn" | ||||
source: hosted | source: hosted | ||||
version: "0.2.15" | version: "0.2.15" | ||||
tobias: | |||||
dependency: "direct main" | |||||
description: | |||||
path: "." | |||||
ref: "0.0.1" | |||||
resolved-ref: cbd12d0ea1df08062fbd06e3a04986f86c7cf1ef | |||||
url: "http://192.168.0.138:3000/FnuoOS_ZhiYing/tobias.git" | |||||
source: git | |||||
version: "1.7.1+1" | |||||
typed_data: | typed_data: | ||||
dependency: transitive | dependency: transitive | ||||
description: | description: | ||||
@@ -77,7 +77,12 @@ dependencies: | |||||
#保存文件到相册 | #保存文件到相册 | ||||
save_image: ^1.0.1 | save_image: ^1.0.1 | ||||
dio_cookie_manager: 1.0.0 | |||||
dio_cookie_manager: ^1.0.0 | |||||
#支付宝支付flutterSDK | |||||
tobias: | |||||
git: | |||||
url: 'http://192.168.0.138:3000/FnuoOS_ZhiYing/tobias.git' | |||||
ref: '0.0.1' | |||||
event_bus: 1.1.1 | event_bus: 1.1.1 | ||||