utils.dart
3.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
import 'package:connectivity/connectivity.dart';
import 'package:extended_image/extended_image.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_statusbarcolor/flutter_statusbarcolor.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:flutter/services.dart';
import 'package:fluwx/fluwx.dart';
import 'package:one_key/utils/log_util.dart';
import 'package:package_info/package_info.dart';
import 'package:url_launcher/url_launcher.dart';
class Utils {
static void showToast(String msg) {
Fluttertoast.showToast(msg: msg, gravity: ToastGravity.CENTER);
}
//显示网络图片
static Widget showNetImage(String url,
{double width, double height, BoxFit fit}) {
return Image(
image: ExtendedNetworkImageProvider(url, cache: true),
width: width,
height: height,
fit: fit,
);
}
//给数字前面加0
static String addZeroNumber(int num){
return num<10?"0"+num.toString():num.toString();
}
//转换日期数字
static String formatWeekDayNum(int num){
switch(num){
case 1:
return "一";
case 2:
return "二";
case 3:
return "三";
case 4:
return "四";
case 5:
return "五";
case 6:
return "六";
case 7:
return "日";
default:
return "";
}
}
// 改变状态栏背景颜色,默认改变为透明
static changeStatusColor({Color color: Colors.white}) async {
try {
await FlutterStatusbarcolor.setStatusBarColor(color, animate: true);
if (useWhiteForeground(color)) {
FlutterStatusbarcolor.setStatusBarWhiteForeground(true);
} else {
FlutterStatusbarcolor.setStatusBarWhiteForeground(false);
}
} on PlatformException catch (e) {
debugPrint(e.toString());
}
}
//跳转拨打电话页面
static goPhone(String phoneNum) async {
String url="tel:$phoneNum";
if(await canLaunch(url)){
await launch(url);
}else{
LogUtil.e("Could not launch $url");
}
}
//跳转拨打电话页面
static goHelp() async {
String url="https://support.qq.com/product/152856";
if(await canLaunch(url)){
await launch(url);
}else{
LogUtil.e("Could not launch $url");
}
}
//获取应用版本昊
static Future<String> getCurrVersion() async {
PackageInfo packageInfo=await PackageInfo.fromPlatform();
String version=packageInfo.version;
return version;
}
//比较两个日期是否同一天
static isOneDay(DateTime one,DateTime two){
if(one.year==two.year&&one.month==two.month&&one.day==two.day)return true;
return false;
}
//分享邀请函
static goShareInvicationToWeChat(String rid){
String _webPageUrl = "http://colorcun.com/";
String _thumbnail =
"https://qn.colorcun.com/reserve/images/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201911151148572.jpg";
String _title = "用餐已为您安排,点击查看详情";
String _userName = "gh_487873d353b3";
String _path = "pages/customer/index?id=$rid&hasInvitation=1";
String _description = "OneKey";
var model = new WeChatShareMiniProgramModel(
webPageUrl: _webPageUrl,
userName: _userName,
title: _title,
path: _path,
description: _description,
thumbnail: WeChatImage.network(_thumbnail)
);
shareToWeChat(model);
}
//检查网络连接
static Future<bool> checkConnectiviy()async{
var connectivityResult = await (new Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
// I am connected to a mobile network.
return true;
} else if (connectivityResult == ConnectivityResult.wifi) {
// I am connected to a wifi network.
return true;
}
return false;
}
}