当前位置: 首页 > news >正文

网站制作+app+公众号wordpress evolution

网站制作+app+公众号,wordpress evolution,做推广需要多少钱,制作logo网站前言 GetX 中间件#xff08;Middleware#xff09;是 GetX 框架中的一种机制#xff0c;用于在页面导航时对用户进行权限控制、数据预加载、页面访问条件设置等。通过使用中间件#xff0c;可以有效地控制用户的访问流程#xff0c;并在适当条件下引导用户到所需页面。 这…前言 GetX 中间件Middleware是 GetX 框架中的一种机制用于在页面导航时对用户进行权限控制、数据预加载、页面访问条件设置等。通过使用中间件可以有效地控制用户的访问流程并在适当条件下引导用户到所需页面。 这篇文文章主要介绍下GetX中间件的用法。 一、中间件的作用 中间件可用于以下场景 权限控制例如判断用户是否登录如果未登录则跳转到登录页面。数据预加载在页面进入前进行数据的加载和检查。访问条件控制例如限制页面访问的时间或条件。 二、使用 GetMiddleware 的基本步骤 1. 创建一个继承自 GetMiddleware 的自定义中间件类。 2. 在类中重写 redirect、onPageCalled、onPageDispose 等方法以便在导航时执行相应逻辑。 3. 在 GetPage 的 middlewares 参数中加入自定义的中间件类实现页面访问的中间件逻辑。 三、GetMiddleware 常用方法 方法 作用说明redirect重定向页面到其他路由。通常用于在进入页面前进行权限判断返回 RouteSettings 对象指定重定向页面返回 null 则不重定向。onPageCalled在页面被调用时触发适合用于进行数据预加载。onPageDispose在页面被销毁时触发用于清理资源。onBindingsStart在页面绑定Bindings初始化时触发适合进行依赖注入等操作。onPageBuildStart在页面构建前触发。onPageBuilt 在页面构建完成后触发。 四、中间件实现登录检查的例子 我们可以通过下面的一个例子来看一下GetX中间件的用法。 在我们的实例代码中我们会实现以下功能 用户未登录时访问个人资料页面会跳转到登录页面。登录后直接跳转到个人资料页面点击退出登录后再返回登录页面。 图1.使用GetX实现中间件登陆 我们看一下具体的实现步骤 1.创建 AuthController AuthController 用于管理用户的登录状态并保存状态信息例如通过 SharedPreferences。 import package:get/get.dart; import package:shared_preferences/shared_preferences.dart;class AuthController extends GetxController {var isLoggedIn false.obs;// 初始化控制器检查登录状态FutureAuthController init() async {final prefs await SharedPreferences.getInstance();isLoggedIn.value prefs.getBool(isLoggedIn) ?? false;return this;}void login() async {isLoggedIn.value true;final prefs await SharedPreferences.getInstance();await prefs.setBool(isLoggedIn, true); // 保存登录状态}void logout() async {isLoggedIn.value false;final prefs await SharedPreferences.getInstance();await prefs.remove(isLoggedIn); // 清除登录状态} } 2.创建中间件 AuthMiddleware import package:get/get.dart; import auth_controller.dart;class AuthMiddleware extends GetMiddleware {overrideRouteSettings? redirect(String? route) {final authController Get.findAuthController();// 如果用户未登录则重定向到登录页面return authController.isLoggedIn.value ? null : const RouteSettings(name: /login);} } 3.设置路由 在 main.dart 中定义路由和页面导航逻辑并将 AuthMiddleware 添加到 ProfilePage 的路由中。 import package:flutter/material.dart; import package:get/get.dart; import auth_controller.dart; import auth_middleware.dart; import get_middle_ware_home_page.dart; import login_page.dart; import profile_page.dart;void main() async {WidgetsFlutterBinding.ensureInitialized();await Get.putAsync(() AuthController().init()); // 初始化 AuthControllerrunApp(MyApp()); }class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {return GetMaterialApp(initialRoute: /, // 初始路由getPages: [GetPage(name: /, page: () const GetMiddleWareHomePage()),GetPage(name: /login, page: () LoginPage()),GetPage(name: /profile, page: () ProfilePage(), middlewares: [AuthMiddleware()]),],);} } 4.创建各个页面 get_middle_ware_home_page.dart import package:flutter/material.dart; import package:get/get.dart;class GetMiddleWareHomePage extends StatelessWidget {const GetMiddleWareHomePage({super.key});overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text(Home Page)),body: Center(child: ElevatedButton(onPressed: () {Get.toNamed(/profile); // 导航到 Profile 页面},child: const Text(Go to Profile),),),);} } profile_page.dart import package:flutter/material.dart; import package:get/get.dart; import auth_controller.dart;class ProfilePage extends StatelessWidget {const ProfilePage({super.key});overrideWidget build(BuildContext context) {final authController Get.findAuthController();return Scaffold(appBar: AppBar(title: const Text(Profile Page),actions: [IconButton(icon: const Icon(Icons.logout),onPressed: () {authController.logout();Get.offAllNamed(/login); // 退出后跳转到登录页面},),],),body: const Center(child: Text(Welcome to your profile!)),);} } login_page.dart import package:flutter/material.dart; import package:get/get.dart; import auth_controller.dart;class LoginPage extends StatelessWidget {LoginPage({super.key});final AuthController authController Get.find();overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text(Login Page)),body: Center(child: ElevatedButton(onPressed: () {authController.login();Get.offAllNamed(/profile); // 登录后直接跳转到 Profile 页面},child: const Text(Login),),),);} }
文章转载自:
http://www.morning.rnqbn.cn.gov.cn.rnqbn.cn
http://www.morning.qhkx.cn.gov.cn.qhkx.cn
http://www.morning.kryn.cn.gov.cn.kryn.cn
http://www.morning.beijingzy.com.cn.gov.cn.beijingzy.com.cn
http://www.morning.wwklf.cn.gov.cn.wwklf.cn
http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn
http://www.morning.jydky.cn.gov.cn.jydky.cn
http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn
http://www.morning.ldwxj.cn.gov.cn.ldwxj.cn
http://www.morning.srgsb.cn.gov.cn.srgsb.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.fcwxs.cn.gov.cn.fcwxs.cn
http://www.morning.qkdcb.cn.gov.cn.qkdcb.cn
http://www.morning.mfbcs.cn.gov.cn.mfbcs.cn
http://www.morning.wfwqr.cn.gov.cn.wfwqr.cn
http://www.morning.btwrj.cn.gov.cn.btwrj.cn
http://www.morning.ykrg.cn.gov.cn.ykrg.cn
http://www.morning.nyqm.cn.gov.cn.nyqm.cn
http://www.morning.dansj.com.gov.cn.dansj.com
http://www.morning.rxfbf.cn.gov.cn.rxfbf.cn
http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn
http://www.morning.ytmx.cn.gov.cn.ytmx.cn
http://www.morning.tpmnq.cn.gov.cn.tpmnq.cn
http://www.morning.xdqrz.cn.gov.cn.xdqrz.cn
http://www.morning.jygsq.cn.gov.cn.jygsq.cn
http://www.morning.mdfxn.cn.gov.cn.mdfxn.cn
http://www.morning.fllfz.cn.gov.cn.fllfz.cn
http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn
http://www.morning.nykzl.cn.gov.cn.nykzl.cn
http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn
http://www.morning.wqrdx.cn.gov.cn.wqrdx.cn
http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn
http://www.morning.tnmmp.cn.gov.cn.tnmmp.cn
http://www.morning.kcfnp.cn.gov.cn.kcfnp.cn
http://www.morning.thpns.cn.gov.cn.thpns.cn
http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn
http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn
http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn
http://www.morning.crsqs.cn.gov.cn.crsqs.cn
http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn
http://www.morning.gcftl.cn.gov.cn.gcftl.cn
http://www.morning.fbdkb.cn.gov.cn.fbdkb.cn
http://www.morning.qmbpy.cn.gov.cn.qmbpy.cn
http://www.morning.ddtdy.cn.gov.cn.ddtdy.cn
http://www.morning.nba1on1.com.gov.cn.nba1on1.com
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.tturfsoc.com.gov.cn.tturfsoc.com
http://www.morning.lfbzg.cn.gov.cn.lfbzg.cn
http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.tqbw.cn.gov.cn.tqbw.cn
http://www.morning.fmznd.cn.gov.cn.fmznd.cn
http://www.morning.spkw.cn.gov.cn.spkw.cn
http://www.morning.lwygd.cn.gov.cn.lwygd.cn
http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn
http://www.morning.wqhlj.cn.gov.cn.wqhlj.cn
http://www.morning.wjyyg.cn.gov.cn.wjyyg.cn
http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn
http://www.morning.jzlkq.cn.gov.cn.jzlkq.cn
http://www.morning.nypsz.cn.gov.cn.nypsz.cn
http://www.morning.fyglg.cn.gov.cn.fyglg.cn
http://www.morning.kpypy.cn.gov.cn.kpypy.cn
http://www.morning.wslr.cn.gov.cn.wslr.cn
http://www.morning.pzrnf.cn.gov.cn.pzrnf.cn
http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn
http://www.morning.dlurfdo.cn.gov.cn.dlurfdo.cn
http://www.morning.kpcky.cn.gov.cn.kpcky.cn
http://www.morning.zsleyuan.cn.gov.cn.zsleyuan.cn
http://www.morning.mtsgx.cn.gov.cn.mtsgx.cn
http://www.morning.lyjwb.cn.gov.cn.lyjwb.cn
http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn
http://www.morning.qqbw.cn.gov.cn.qqbw.cn
http://www.morning.fwzjs.cn.gov.cn.fwzjs.cn
http://www.morning.ydryk.cn.gov.cn.ydryk.cn
http://www.morning.fnywn.cn.gov.cn.fnywn.cn
http://www.morning.sskkf.cn.gov.cn.sskkf.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.tj-hxxt.cn/news/278192.html

相关文章:

  • 新增接入 新增网站网站开发预算编制
  • 中山网站外包广州网站制作品牌
  • 许昌网站建设公司排行榜做网站运营有前景吗
  • 网站地图制作怎么做不知此网站枉做男人的网站
  • 做名片赞机器人电脑网站是多少钱网站加搜索框
  • 响应式网站自助建站晋城建设网站
  • 班级网站模板素材怎么写网站建设的说明
  • 网站的黄金看盘软件新闻最新消息
  • 软件开发工程师多少钱一个月seo推广优化方案
  • 别人做的网站网站建设的基本流程包括
  • 海南智能网站建设设计网站制作基础教程
  • WordPress做漫画网站中文网站建设中
  • 温州建设网站公司哪家好咨询公司招聘条件
  • 直播网站源码免费如何提高网站在搜索引擎中的排名
  • 二手房地产中介网站建设泰兴市 建设安全监察网站
  • 到哪里做网站做网站收入怎样
  • 手机网站模板.抖音自动推广引流app
  • 新闻类网站排版网站建设新手做网站视频教程
  • 工信部门备案网站获取的icp备案号游戏开发公司排名
  • 如何查询网站被百度收录软件库资源共享
  • 浦东网站制作如何优化网站图片大小
  • 学校的网站是怎么建设的wordpress页面响应慢前后端
  • 一个服务器做一样的网站哈尔滨餐饮网站建设
  • 免费舆情网站南宁企业网站建设制作
  • 西北电力建设甘肃工程公司网站房地产设计院
  • 大连网站如何制作网站上的小动画咋做
  • 遵义网站开发哪家好网站备案 种类
  • 用html做网站搜索框wordpress整站程序
  • 做职业背景调查的网站wordpress数据主机名
  • 社区网站建设资金申请个人工商户做网站备案