Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[功能]: 添加一些系统级的自定义钩子 #492

Closed
5 tasks
Azir-11 opened this issue Jun 14, 2024 · 3 comments
Closed
5 tasks

[功能]: 添加一些系统级的自定义钩子 #492

Azir-11 opened this issue Jun 14, 2024 · 3 comments

Comments

@Azir-11
Copy link
Member

Azir-11 commented Jun 14, 2024

在例如登陆成功、请求失败等地方添加hook,触发后可以选择的传入一些当前的状态,或是用于初始化

  • 登陆成功
  • 注销
  • 请求失败
  • 路由前置守卫(可以考虑把next给出去,在前置守卫的最下面执行,这样既可以保留系统的,也支持用户修改)
  • 路由后置守卫
@honghuangdc
Copy link
Member

实现方案待定:感觉很难设计地比较合理

  1. 单独加个登录成功后执行的钩子函数比较合理点
  2. 注销(退出用户)的钩子不好把控,对于需要权限的页面,注销后重定向到登录页,而不需要权限的页面停留在当前,而目前这个入口太多,如果在toLogin里面做,有点侵入过重。
  3. 请求失败这个在目前的createRequest里面就比较合适
  4. 路由守卫仍然交给路由守卫的钩子即可 ElegantRouter 支持路由钩子

@Azir-11
Copy link
Member Author

Azir-11 commented Jun 17, 2024

  1. 登陆成功和注销这两个主要涉及的应该是数据处理相关的,提的那个用户想要的是不侵入系统代码太多的情况下去实现自定义的数据处理,方便后续同步新的代码;
  2. 注销的可以考虑给auth里面加个logout函数?这样钩子只需要放一个地方就行了
  3. 请求失败和路由守卫其实是同理的,主要是提供一个快捷的新增逻辑入口,不用去深入读懂之前的代码,也不用怕遇到修改完同步代码的问题

所以这些钩子要核心解决的其实是便捷增加逻辑的同时,后续同步代码不会遇到很多冲突的问题

@honghuangdc
Copy link
Member

可以考虑,你有空可以思索下怎么具体实现

@honghuangdc honghuangdc changed the title 添加一些系统级的自定义钩子 [功能]添加一些系统级的自定义钩子 Jun 17, 2024
@honghuangdc honghuangdc added the enhancement New feature or request label Jun 17, 2024
@honghuangdc honghuangdc changed the title [功能]添加一些系统级的自定义钩子 [功能]: 添加一些系统级的自定义钩子 Jun 17, 2024
@honghuangdc honghuangdc removed the enhancement New feature or request label Jun 20, 2024
@Azir-11 Azir-11 closed this as completed Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants