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 一键登录的界面相关推荐

  1. 使用 apifm 插件进行 Flutter 云开发——微信一键登录/注册

    在你的 App 中集成手机微信一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握微信登录的实现 用户管理 微信开放平台创建应用 https://o ...

  2. 本机号码一键登录!推荐 Flutter 极光认证插件

    本机号码一键登录基本成为各个 APP 的标配了. 传统的手机验证码登录方式: 输入手机号: 前端判断手机号是否有效: 后台判断手机号是否有效: 借助第三方下发手机验证码: 前端有一个倒计时,防止验证码 ...

  3. Flutter手机号一键登录

    手机号一键登录基本上是App的标配,Flutter在这方面也有了一些支持,本篇我们采用极光的jverify插件来实现手机号一键登录的支持. 1. 极光手机号登录插件介绍 首先,我们登录到flutter ...

  4. flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录

    flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...

  5. 使用 apifm 插件进行 Flutter 云开发——QQ一键登录/注册

    在你的 App 中集成手机QQ一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握QQ登录的实现 申请开通QQ互联 https://connect. ...

  6. 易语言大漠游戏辅助设计一键登录界面

    一键登录省去了我们启动游戏.选区.输入账号密码的麻烦,更高效的提高游戏辅助,界面的设计首先考虑功能,其实考虑美观. 1.引入模块 2.界面设计(流程.功能) (1)启动游戏 (2)点击开始游戏 (3) ...

  7. 中国移动一键登录 —— Flutter(安卓)

    随着Flutter逐渐的被越来越多的公司所采用,本文将演示如何将中国移动统一认证SDK接入到Flutter应用中. 目录 1.准备工作 2.开始接入 3.运行调试 4.注意事项 1.准备工作 1.1 ...

  8. 中国移动一键登录 —— SDK5.8.1-5.9.0使用setAuthContentView方法开发更有个性的授权界面

    此文主要解决部分接入者不知道如何设置点击事件以及设置的View没有和预想的一样全屏问题.setAuthContentView方法相较于setAuthLayoutResID 更加灵活,创建view的实例 ...

  9. app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...

    移动互联网时代,用户的耐心越来越少,注意力也越来越弱,追求便捷与高效.登录的方式从自定义的账号密码登录,到邮箱登录,到第三方登录与手机验证码登录两种登录方式进行竞争,到现在的个人指纹,人脸识别等的识别 ...

最新文章

  1. 机器学习基础专题:特征工程
  2. 轻松创建Silverlight 4开发环境
  3. LBaaS 实现机制 - 每天5分钟玩转 OpenStack(125)
  4. 02python 中的线程
  5. 阿里云边缘计算与云边端协同网络的融合与挑战
  6. linux拷贝大量文件时有什么方法可以效验文件有没有损坏,使用linux的cp命令复制文件后验证文件是否一致的方法...
  7. html ajax 数据传送,HTML AJAX 简单数据JS
  8. 《Pytorch - 神经风格转换》
  9. Python下的数据处理和机器学习,对数据在线及本地获取、解析、预处理和训练、预测、交叉验证、可视化
  10. java extjs 教程_EXTJS入门教程及其框架搭建
  11. 最新推券客CMS淘宝客优惠券程序源码V3.6.1版
  12. 运动的“点”与“线”,竟然能产生错觉???
  13. 如何利用CRM来维护客户关系?
  14. 【jquery事件】
  15. mysql if 多个,mysql if条件中的多个条件
  16. 无源S参数2X-Thru去嵌方案
  17. 四溴-2,3-萘酞菁铅[PbNcBr4],酞菁铅PbN,齐岳生物提供多多种定制材料
  18. 数字电子技术基础(七):加法器
  19. vb.net 教程 2-3 流程控制:循环语句 For...Next
  20. 新时达服务器说明书_新时达调试指导说明书

热门文章

  1. 遍历JSONObject
  2. 越来越多的人选择注册离岸公司这是为什么?
  3. 【李明杰老师分享】iOS图片拉伸技巧
  4. DRV8837 12V单通道全桥电机驱动芯片替代料GC8837
  5. js简单遍历解析json字符串
  6. 如何用Python绘制好看的词云代码?个人总结
  7. 石墨烯新用途被发现,可用于检测神经类疾病
  8. 联想发布全球首款骁龙 855 手机,最高 12G 内存,明年 1 月发售
  9. 同步整流升压IC 2.1A大电流移动电源升压方案
  10. 计算机音乐谱despacito,西语神曲:《Despacito 》附小提琴谱