flutter 一键登录的界面
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'DialogRouter.dart';
import 'LoadingDialog.dart';
import 'MusicPlayer.dart';
import 'OneClick.dart';//一键登录界面
//这里跳转界面要注意:外层使用StatelessWidget,将路由跳转功能封装到StatefulWidget中,否则会报错
class Login extends StatelessWidget {const Login({Key? key}) : super(key: key);@overrideWidget build(BuildContext context) {return const MaterialApp(home: LoginRoute());}
}class LoginRoute extends StatefulWidget {const LoginRoute({Key? key}) : super(key: key);@override//状态LoginRouteState createState() => LoginRouteState();
}class LoginRouteState extends State<LoginRoute> {@overridevoid initState() {// TODO: implement initStatesuper.initState();clearPrefs();}//数据缓存获取token// token() async{// SharedPreferences prefs = await SharedPreferences.getInstance();// String? tokens = prefs.getString("token");// print("token $tokens");// }clearPrefs() async {SharedPreferences prefs = await SharedPreferences.getInstance();await prefs.clear();}@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(body: Container(//设置界面背景decoration: const BoxDecoration(image: DecorationImage(image: AssetImage("assets/base_widgets/bg_sign_in.png"),fit: BoxFit.cover,),),//Align是对齐布局,有各种排放属性child: Align(//一键登录按键放在最底下的中间alignment: FractionalOffset.bottomCenter,//包裹一个监听者才能让一些没有点击监听的控件有监听效果child: GestureDetector(//轻触后跳转界面onTap: () {//弹窗Navigator.push(context, DialogRouter(LoadingDialog(true)));//跳转到首页LoginNavigator();},child: Container(decoration: const BoxDecoration(color: Colors.pink,borderRadius: BorderRadius.all(Radius.circular(50.0))),margin: const EdgeInsets.only(bottom: 170),height: 55,width: 310,padding:const EdgeInsets.only(top: 17, left: 120, bottom: 17),child: const Text('一键登录',style: TextStyle(color: Colors.white, fontSize: 18),),))),),));}//一键登录的跳转LoginNavigator() async {// String sign = "123456" + "andr1" + "981295955" + "meet";// //请求头// Options options = Options(headers: {// "XX-Device-Type": "android",// "ML-Uuid": "123456",// "ML-Key": "andr1",// "ML-Ts": "981295955",// "ML-Package": "Music",// "ML-App-Version": "200",// "ML-Api-Version": "v2",// "lang": "en",// "channel": "Music",// "ML-Sign": sign// });//// var apiUrl = "http://mltest.mila.chat/api/v2/public/oneClickLogin";//参数// Map map = {};//// map["type"] = "5";// map["source"] = "android";//// Response result = await Dio().post(apiUrl, data: map, options: options);// if (result.statusCode == 200) {//如果接口请求成功就跳转到首页且关闭当前页面Navigator.pushAndRemoveUntil(context,MaterialPageRoute(builder: (context) => const MusicPlayer()),(route) => route == null,);// } else {// print("登录失败");// }//json解析// Map<String, dynamic> userMap = json.decode(result.toString());// var user = OneClick.fromJson(userMap);//// //数据缓存写入token值// SharedPreferences prefs = await SharedPreferences.getInstance();// await prefs.setString('token', user.data.token);//// //print用法// print(// "token为${user.data.token},id为${user.data.user.id}, 余额为${user.data.user.coin},");}
}
flutter 一键登录的界面相关推荐
- 使用 apifm 插件进行 Flutter 云开发——微信一键登录/注册
在你的 App 中集成手机微信一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握微信登录的实现 用户管理 微信开放平台创建应用 https://o ...
- 本机号码一键登录!推荐 Flutter 极光认证插件
本机号码一键登录基本成为各个 APP 的标配了. 传统的手机验证码登录方式: 输入手机号: 前端判断手机号是否有效: 后台判断手机号是否有效: 借助第三方下发手机验证码: 前端有一个倒计时,防止验证码 ...
- Flutter手机号一键登录
手机号一键登录基本上是App的标配,Flutter在这方面也有了一些支持,本篇我们采用极光的jverify插件来实现手机号一键登录的支持. 1. 极光手机号登录插件介绍 首先,我们登录到flutter ...
- flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录
flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...
- 使用 apifm 插件进行 Flutter 云开发——QQ一键登录/注册
在你的 App 中集成手机QQ一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握QQ登录的实现 申请开通QQ互联 https://connect. ...
- 易语言大漠游戏辅助设计一键登录界面
一键登录省去了我们启动游戏.选区.输入账号密码的麻烦,更高效的提高游戏辅助,界面的设计首先考虑功能,其实考虑美观. 1.引入模块 2.界面设计(流程.功能) (1)启动游戏 (2)点击开始游戏 (3) ...
- 中国移动一键登录 —— Flutter(安卓)
随着Flutter逐渐的被越来越多的公司所采用,本文将演示如何将中国移动统一认证SDK接入到Flutter应用中. 目录 1.准备工作 2.开始接入 3.运行调试 4.注意事项 1.准备工作 1.1 ...
- 中国移动一键登录 —— SDK5.8.1-5.9.0使用setAuthContentView方法开发更有个性的授权界面
此文主要解决部分接入者不知道如何设置点击事件以及设置的View没有和预想的一样全屏问题.setAuthContentView方法相较于setAuthLayoutResID 更加灵活,创建view的实例 ...
- app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...
移动互联网时代,用户的耐心越来越少,注意力也越来越弱,追求便捷与高效.登录的方式从自定义的账号密码登录,到邮箱登录,到第三方登录与手机验证码登录两种登录方式进行竞争,到现在的个人指纹,人脸识别等的识别 ...
最新文章
- 机器学习基础专题:特征工程
- 轻松创建Silverlight 4开发环境
- LBaaS 实现机制 - 每天5分钟玩转 OpenStack(125)
- 02python 中的线程
- 阿里云边缘计算与云边端协同网络的融合与挑战
- linux拷贝大量文件时有什么方法可以效验文件有没有损坏,使用linux的cp命令复制文件后验证文件是否一致的方法...
- html ajax 数据传送,HTML AJAX 简单数据JS
- 《Pytorch - 神经风格转换》
- Python下的数据处理和机器学习,对数据在线及本地获取、解析、预处理和训练、预测、交叉验证、可视化
- java extjs 教程_EXTJS入门教程及其框架搭建
- 最新推券客CMS淘宝客优惠券程序源码V3.6.1版
- 运动的“点”与“线”,竟然能产生错觉???
- 如何利用CRM来维护客户关系?
- 【jquery事件】
- mysql if 多个,mysql if条件中的多个条件
- 无源S参数2X-Thru去嵌方案
- 四溴-2,3-萘酞菁铅[PbNcBr4],酞菁铅PbN,齐岳生物提供多多种定制材料
- 数字电子技术基础(七):加法器
- vb.net 教程 2-3 流程控制:循环语句 For...Next
- 新时达服务器说明书_新时达调试指导说明书