# router **Repository Path**: seek_admin/router ## Basic Information - **Project Name**: router - **Description**: 路由框架,登录校验 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-12 - **Last Updated**: 2022-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # router #### 项目架构 @ARouter(path = "/user/AccountSettingActivity") class AccountSettingActivity --buildSrc:自定定义gradle插件 结合自定义注解@AParameterBind通过字节码插桩救赎试下AParameterBind.bind(this),让开发人员摆脱手动添加的烦恼. var isCheck = false @AParameter var bundle:Bundle? = null @AParameter("/user/getUserInfo") lateinit var iUser: IUser @AParameterBind override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_test) // Toast.makeText(this, iUser.getString(), Toast.LENGTH_SHORT).show() // var name = loginClass.name } ---通过自定义注解Alogin +LoginIntercept 实验方法级别的登录校验 @ALogin(path="/user/AboutActivity",clz = UserUtil::class) private fun initView() { toast("验证登录通过了") val user = QSharedPreferences.user user?.let { menu_account.setSubTitle(it.info.phone) } menu_password.setOnClickListener { ARouterManager.instance.build("/user/PasswordSettingActivity") .navigation(this@AccountSettingActivity) } } /** * 登录判断实现类 */ interface LoginIntercept { fun isLogin():Boolean //登录返回true 不需要登录返回false } 删除了原有的业务逻辑仅保留了路由框架相关结构,build可以查看结果过程 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0512/152236_4fc7f4f3_632426.png "屏幕截图.png")