From 9b6f93ca951c073d6111955eddc145e02d5d4fda Mon Sep 17 00:00:00 2001 From: userGyl Date: Tue, 17 Mar 2026 13:31:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E7=A7=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ln_jq_app/assets/html/map.html | 4 +- .../lib/pages/b_page/reservation/view.dart | 36 ++++++++++++++++++ ln_jq_app/lib/pages/c_page/mine/view.dart | 38 +++++++++++++++++++ ln_jq_app/lib/pages/login/view.dart | 4 +- 4 files changed, 77 insertions(+), 5 deletions(-) diff --git a/ln_jq_app/assets/html/map.html b/ln_jq_app/assets/html/map.html index a4d16d3..dfb6c22 100644 --- a/ln_jq_app/assets/html/map.html +++ b/ln_jq_app/assets/html/map.html @@ -21,9 +21,7 @@ .amap-callamap, .amap-lib-driving-callBtn, .amap-copyright, - .amap-logo { - display: none !important; - } + .amap-logo{bottom: 60px} /* 去除高德默认的 label 边框 and 背景 */ .amap-marker-label { diff --git a/ln_jq_app/lib/pages/b_page/reservation/view.dart b/ln_jq_app/lib/pages/b_page/reservation/view.dart index ed89f3b..1d53aed 100644 --- a/ln_jq_app/lib/pages/b_page/reservation/view.dart +++ b/ln_jq_app/lib/pages/b_page/reservation/view.dart @@ -1,9 +1,13 @@ +import 'dart:io'; + +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:getx_scaffold/getx_scaffold.dart'; import 'package:ln_jq_app/common/login_util.dart'; import 'package:ln_jq_app/pages/b_page/reservation/controller.dart'; import 'package:ln_jq_app/pages/c_page/message/view.dart'; +import 'package:ln_jq_app/pages/common/webview/view.dart'; class ReservationPage extends GetView { const ReservationPage({super.key}); @@ -36,6 +40,30 @@ class ReservationPage extends GetView { _buildSystemTips(), SizedBox(height: 24), _buildLogoutButton(), + SizedBox(height: 15.h), + Text.rich( + TextSpan( + style: const TextStyle(color: Colors.grey, fontSize: 13), + children: [ + TextSpan( + text: '《用户协议》', + style: TextStyle(color: Colors.blue, fontSize: 13), + recognizer: TapGestureRecognizer() + ..onTap = () { + openPage("用户协议", "https://lnh2e.com/user_agreement.html"); + }, + ), + TextSpan( + text: '《隐私政策》', + style: TextStyle(color: Colors.blue, fontSize: 13), + recognizer: TapGestureRecognizer() + ..onTap = () { + openPage("隐私政策", "https://lnh2e.com/privacy_agreement.html"); + }, + ), + ], + ), + ), SizedBox(height: 95.h), ], ), @@ -48,6 +76,14 @@ class ReservationPage extends GetView { ); } + void openPage(String title, String url) { + if (Platform.isIOS) { + openWebPage(url); + return; + } + Get.to(() => const WebViewPage(), arguments: {'title': title, 'url': url}); + } + /// 1. 顶部个人信息及统计栏 Widget _buildTopSection(BuildContext context) { return Container( diff --git a/ln_jq_app/lib/pages/c_page/mine/view.dart b/ln_jq_app/lib/pages/c_page/mine/view.dart index b816ca5..2543f33 100644 --- a/ln_jq_app/lib/pages/c_page/mine/view.dart +++ b/ln_jq_app/lib/pages/c_page/mine/view.dart @@ -1,10 +1,15 @@ +import 'dart:io'; + +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:getx_scaffold/common/index.dart'; import 'package:getx_scaffold/common/widgets/index.dart'; import 'package:ln_jq_app/common/login_util.dart'; +import 'package:ln_jq_app/common/styles/theme.dart'; import 'package:ln_jq_app/pages/c_page/message/view.dart'; +import 'package:ln_jq_app/pages/common/webview/view.dart'; import 'package:ln_jq_app/storage_service.dart'; import 'controller.dart'; @@ -38,6 +43,30 @@ class MinePage extends GetView { _buildSafetyReminderCard(), SizedBox(height: 24.h), _buildLogoutButton(), + SizedBox(height: 15.h), + Text.rich( + TextSpan( + style: const TextStyle(color: Colors.grey, fontSize: 13), + children: [ + TextSpan( + text: '《用户协议》', + style: TextStyle(color: Colors.blue, fontSize: 13), + recognizer: TapGestureRecognizer() + ..onTap = () { + openPage("用户协议", "https://lnh2e.com/user_agreement.html"); + }, + ), + TextSpan( + text: '《隐私政策》', + style: TextStyle(color: Colors.blue, fontSize: 13), + recognizer: TapGestureRecognizer() + ..onTap = () { + openPage("隐私政策", "https://lnh2e.com/privacy_agreement.html"); + }, + ), + ], + ), + ), SizedBox(height: 95.h), ], ), @@ -51,6 +80,15 @@ class MinePage extends GetView { ); } + void openPage(String title, String url) { + if (Platform.isIOS) { + openWebPage(url); + return; + } + Get.to(() => const WebViewPage(), arguments: {'title': title, 'url': url}); + } + + /// 构建顶部用户信息卡片 Widget _buildUserInfoCard() { return Card( diff --git a/ln_jq_app/lib/pages/login/view.dart b/ln_jq_app/lib/pages/login/view.dart index d23150c..ee15b18 100644 --- a/ln_jq_app/lib/pages/login/view.dart +++ b/ln_jq_app/lib/pages/login/view.dart @@ -150,7 +150,8 @@ class _LoginPageState extends State with SingleTickerProviderStateMix const SizedBox(height: 10), buildAgreement(), - const SizedBox(height: 40), + const SizedBox(height: 80), + _buildFooterSlogan() ], ), ), @@ -159,7 +160,6 @@ class _LoginPageState extends State with SingleTickerProviderStateMix ), ), ), - Positioned(left: 0, right: 0, bottom: 33.h, child: _buildFooterSlogan()), if (AppTheme.is_show_host) Positioned( top: 40.h,