import 'package:flutter/material.dart'; import 'package:trackoffical_app/generated/assets.dart'; import 'package:trackoffical_app/route.dart'; import 'package:trackoffical_app/screen.dart'; import 'package:get/get.dart'; import '../service/app.dart'; class AskPermissionsView extends StatelessWidget { const AskPermissionsView({super.key}); @override Widget build(BuildContext context) { return WillPopScope(child: Scaffold( backgroundColor: Colors.white, body: Padding( padding: EdgeInsets.all(4.53.wp), child: Column( children: [ Expanded( child: Center( child: Image.asset( Assets.imagesImLogo, height: 11.2.wp, ))), _elem(Icons.storage_outlined, '存储空间', '使用存储空间进行设备固件升级,app在线升级,保存摄像头照片等'), _elem(Icons.location_on_outlined, '地理位置信息', '辅助蓝牙进行位置搜索,定位扫描时位置'), _elem(Icons.camera_alt_outlined, '摄像头', '在用户进行摄像头标记时,如果选择了照片添加,此时会调取手机摄像头进行照片的拍摄。'), Padding( padding: EdgeInsets.fromLTRB(3.74.wp, 6.5.wp, 3.74.wp, 0), child: Text( '您可以在系统设置中关闭授权,但是会影响部分功能的使用, 请在使用前务必请阅读并同意 安全协议 和 隐私政策 全部条款,如您同意并接全部条款,请点击同意开始使用我们的产品及服务。', style: TextStyle(fontSize: 2.65.wp),), ), Expanded(child: Center(child: Column( mainAxisSize: MainAxisSize.min, children: [ SizedBox( width: 59.7.wp, height: 10.1.wp, child: FilledButton(onPressed: agree, child: const Text('同意')) ), TextButton(onPressed: cancel, child: const Text('我再想想')) ], ))) ], ), ), ), onWillPop: ()async{ cancel(); return false; }) ; } void agree()async{ toNext(); } void toNext(){ var name = RouteName.home; if (App.to.userProfile.age.val > 300) { name = RouteName.homeSaveUserInfo; } Get.offAllNamed(name); } void cancel(){ toNext(); } Widget _elem(IconData icon, String title, String msg) { return Container( decoration: const BoxDecoration( color: Color(0xffe3f5ff), ), padding: EdgeInsets.all(4.16.wp), margin: EdgeInsets.only(bottom: 2.67.wp), child: Row( children: [ Icon( icon, size: 7.wp, color: Colors.blue, ), SizedBox(width: 2.3.wp), Expanded( child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(title, style: TextStyle( color: const Color(0xff404040), fontSize: 3.73.wp)), SizedBox(height: 1.3.wp), Text(msg, style: TextStyle( color: const Color(0xff404040), fontSize: 3.2.wp)) ], )) ], ), ); } } void main() { runPreview(const AskPermissionsView()); }