Merge branch 'main' of http://47.92.113.182:3000/hanshuang/flutter_integrated_whb
# Conflicts: # ios/Runner.xcodeproj/project.pbxprojmain
commit
2582a547c3
|
@ -493,7 +493,7 @@
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 60;
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8AKCJ9LW7D;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8AKCJ9LW7D;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
@ -503,7 +503,6 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 2.2.1;
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = uni.UNI85F7A17;
|
PRODUCT_BUNDLE_IDENTIFIER = uni.UNI85F7A17;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
@ -688,7 +687,7 @@
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 60;
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8AKCJ9LW7D;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8AKCJ9LW7D;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
@ -698,7 +697,6 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 2.2.1;
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = uni.UNI85F7A17;
|
PRODUCT_BUNDLE_IDENTIFIER = uni.UNI85F7A17;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
@ -720,7 +718,7 @@
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 60;
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8AKCJ9LW7D;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8AKCJ9LW7D;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
@ -730,7 +728,6 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 2.2.1;
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = uni.UNI85F7A17;
|
PRODUCT_BUNDLE_IDENTIFIER = uni.UNI85F7A17;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|
|
@ -20,12 +20,12 @@
|
||||||
<string>$(FLUTTER_BUILD_NAME)</string>
|
<string>$(FLUTTER_BUILD_NAME)</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||||
<key>LSApplicationQueriesSchemes</key>
|
<key>LSApplicationQueriesSchemes</key>
|
||||||
<array>
|
<array>
|
||||||
<string>baidumap</string>
|
<string>baidumap</string>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NFCReaderUsageDescription</key>
|
<key>NFCReaderUsageDescription</key>
|
||||||
|
@ -77,17 +77,10 @@
|
||||||
<false/>
|
<false/>
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
<array>
|
<array>
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
</array>
|
|
||||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
</array>
|
||||||
<key>com.apple.developer.nfc.readersession.formats</key>
|
<key>com.apple.developer.nfc.readersession.formats</key>
|
||||||
<array>
|
<array>
|
||||||
|
|
|
@ -247,7 +247,6 @@ class HomePageState extends State<HomePage> {
|
||||||
// 拉取其他数据 + 隐患列表(当 hiddenList 为空时显示 loading,否则不显示)
|
// 拉取其他数据 + 隐患列表(当 hiddenList 为空时显示 loading,否则不显示)
|
||||||
_fetchData();
|
_fetchData();
|
||||||
_fetchHiddenList(showLoading: hiddenList.isEmpty);
|
_fetchHiddenList(showLoading: hiddenList.isEmpty);
|
||||||
fetchAndSaveBd09(context);
|
|
||||||
/// 清单列表
|
/// 清单列表
|
||||||
final data = await ApiService.getListData();
|
final data = await ApiService.getListData();
|
||||||
if (data['result'] == 'success') {
|
if (data['result'] == 'success') {
|
||||||
|
@ -258,6 +257,7 @@ class HomePageState extends State<HomePage> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fetchAndSaveBd09(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _onRefresh() async {
|
Future<void> _onRefresh() async {
|
||||||
|
|
|
@ -260,84 +260,87 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 10),
|
padding: const EdgeInsets.only(bottom: 10),
|
||||||
child: Row(
|
child: Center( // 关键:把 Row 放到 Center 中
|
||||||
children: [
|
child: Row(
|
||||||
Checkbox(
|
mainAxisSize: MainAxisSize.min, // Row 根据子项宽度自适应,不再铺满父宽度
|
||||||
value: _agreed,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
activeColor: Colors.white,
|
children: [
|
||||||
checkColor: Colors.blueAccent,
|
Checkbox(
|
||||||
side: const BorderSide(color: Colors.white),
|
value: _agreed,
|
||||||
onChanged:(value) {
|
activeColor: Colors.white,
|
||||||
setState(() {
|
checkColor: Colors.blueAccent,
|
||||||
_agreed = value??false;
|
side: const BorderSide(color: Colors.white),
|
||||||
});
|
onChanged: (value) {
|
||||||
|
setState(() {
|
||||||
|
_agreed = value ?? false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
},
|
// 用 Flexible 而非 Expanded,且给 RichText 一个居中对齐
|
||||||
// (v) => setState(() => _agreed = v ?? false),
|
Flexible(
|
||||||
),
|
fit: FlexFit.loose,
|
||||||
Expanded(
|
child: RichText(
|
||||||
child: RichText(
|
textAlign: TextAlign.center, // 使文本在它的可用宽度内居中
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
const TextSpan(
|
||||||
text: '我已阅读并同意',
|
text: '我已阅读并同意',
|
||||||
style: const TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
TextSpan(
|
||||||
TextSpan(
|
text: '《服务协议》',
|
||||||
text: '《服务协议》',
|
style: const TextStyle(
|
||||||
style: const TextStyle(
|
color: Color(0xFF0D1D8C),
|
||||||
color: Color(0xFF0D1D8C),
|
fontSize: 12,
|
||||||
fontSize: 12,
|
),
|
||||||
|
recognizer: TapGestureRecognizer()
|
||||||
|
..onTap = () {
|
||||||
|
pushPage(
|
||||||
|
const WebViewPage(
|
||||||
|
name: "用户服务协议",
|
||||||
|
url: 'http://47.92.102.56:7811/file/xieyi/zsyhxy.htm',
|
||||||
|
),
|
||||||
|
context,
|
||||||
|
);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
recognizer:
|
const TextSpan(
|
||||||
TapGestureRecognizer()
|
text: '和',
|
||||||
..onTap = () {
|
style: TextStyle(
|
||||||
pushPage(
|
color: Colors.white,
|
||||||
const WebViewPage(
|
fontSize: 12,
|
||||||
name: "用户服务协议",
|
),
|
||||||
url:
|
|
||||||
'http://47.92.102.56:7811/file/xieyi/zsyhxy.htm', // 替换为目标网址
|
|
||||||
),
|
|
||||||
context,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
TextSpan(
|
|
||||||
text: '和',
|
|
||||||
style: const TextStyle(
|
|
||||||
color: Colors.white,
|
|
||||||
fontSize: 12,
|
|
||||||
),
|
),
|
||||||
),
|
TextSpan(
|
||||||
TextSpan(
|
text: '《隐私政策》',
|
||||||
text: '《隐私政策》',
|
style: const TextStyle(
|
||||||
style: const TextStyle(
|
color: Color(0xFF0D1D8C),
|
||||||
color: Color(0xFF0D1D8C),
|
fontSize: 12,
|
||||||
fontSize: 12,
|
),
|
||||||
|
recognizer: TapGestureRecognizer()
|
||||||
|
..onTap = () {
|
||||||
|
pushPage(
|
||||||
|
const WebViewPage(
|
||||||
|
name: "隐私政策",
|
||||||
|
url: 'http://47.92.102.56:7811/file/xieyi/zsysq.htm',
|
||||||
|
),
|
||||||
|
context,
|
||||||
|
);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
recognizer:
|
],
|
||||||
TapGestureRecognizer()
|
),
|
||||||
..onTap = () {
|
|
||||||
pushPage(
|
|
||||||
const WebViewPage(
|
|
||||||
name: "隐私政策",
|
|
||||||
url:
|
|
||||||
'http://47.92.102.56:7811/file/xieyi/zsysq.htm', // 替换为目标网址
|
|
||||||
),
|
|
||||||
context,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
// ),
|
// ),
|
||||||
|
|
|
@ -622,6 +622,7 @@ Future<void> openAppStore() async {
|
||||||
|
|
||||||
if (await canLaunchUrl(uri)) {
|
if (await canLaunchUrl(uri)) {
|
||||||
await launchUrl(uri, mode: LaunchMode.externalApplication);
|
await launchUrl(uri, mode: LaunchMode.externalApplication);
|
||||||
|
exit(0);
|
||||||
} else {
|
} else {
|
||||||
// 回退到 https 链接(在浏览器中打开 App Store 页面)
|
// 回退到 https 链接(在浏览器中打开 App Store 页面)
|
||||||
final Uri webUri = Uri.parse('https://itunes.apple.com/app/id$appId');
|
final Uri webUri = Uri.parse('https://itunes.apple.com/app/id$appId');
|
||||||
|
@ -630,5 +631,6 @@ Future<void> openAppStore() async {
|
||||||
} else {
|
} else {
|
||||||
throw 'Could not launch App Store for app id $appId';
|
throw 'Could not launch App Store for app id $appId';
|
||||||
}
|
}
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -150,10 +150,7 @@ class _DownloadProgressDialogState extends State<DownloadProgressDialog> {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
actions: [
|
actions: [
|
||||||
TextButton(
|
|
||||||
onPressed: _onCancel,
|
|
||||||
child: const Text('取消'),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue