使用vue和laravel API管理用户会话数据的良好做法

Marcelo巫师编码器

我正在构建一个single-page applicationwithVuelaravelAPI作为后端。我尝试过packages类似Vue Session的方法,但效果很好,但是在几乎每个API调用中,我总是需要发送2或3个始终相同(存储在中vue-session)的参数,例如user_idcompany_id我以前在其他应用程序中使用common PHP sessionsZend_Sessionwith Zend Framework来管理此问题,因此,我始终将这些信息存储在我的应用程序中,backend session而不必每次都通过frontend

这是我以前如何做的一个例子 PHP session

$model->insert(array(
    'user_id' => $this->session->user_id, //stored in session
    'company_id' => $this->session->company_id, //stored in session
    'field1' => $this->getParam('field1'), //frontend param (ajax)
    'field2' => $this->getParam('field2') //frontend param (ajax)
));

这就是我VueLaravel

const data = {
    user_id: this.$session.get('user_id'), //this is what i'm trying to get rid of
    company_id: this.$session.get('company_id'), //this is what i'm trying to get rid of²
    field1: this.field1,
    field2: this.field2
}

axios
   .post('/api/some/endpoint', this.data)
   .then(resp => {
      //...//
})

基本上,在此示例中,我不需要总是发送user_idcompany_id作为post param

在这种情况下,有什么办法可以使代码更好地“重用”?

Duannx

1,您可以将会话数据保存在cookie中。浏览器将自动将您的cookie发送到服务器。用户注销时,请不要忘记删除cookie。

2,如果您仍然想使用Vue会话或其他存储,则可以轻松地创建一个包装post方法并将用户信息添加到有效负载中的方法

function postRequest(url, payload) {
    payload.user_id = this.$session.get('user_id')
    payload.company_id = this.$session.get('company_id')
    return axios.post(url, payload)
}

每当您要发布信息时,请使用此方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

骨干僵尸的观点和良好做法

来自分类Dev

嵌套类和良好做法

来自分类Dev

ViewModel列表中的良好做法和DateTime的使用

来自分类Dev

良好做法-使用LiquiBase软件包

来自分类Dev

使用时,卡夫卡的良好做法与JPA

来自分类Dev

如何使用良好做法在javascript中声明矩阵?

来自分类Dev

良好做法-使用LiquiBase软件包

来自分类Dev

良好做法:用于后端的未使用属性

来自分类Dev

宁静的API,良好做法

来自分类Dev

在持续集成服务器上使用logback和TestNG时的良好做法

来自分类Dev

检查用户输入的良好做法

来自分类Dev

WPF关于打开窗口和后退按钮的良好做法

来自分类Dev

asp.net网页中Request和Request.Form的良好做法2

来自分类Dev

PHP数组和对象放在一起-不良/良好做法?

来自分类Dev

asp.net网页中Request和Request.Form的良好做法2

来自分类Dev

工具栏状态不会改变颜色和ActionBar良好做法

来自分类Dev

将flexbox用于布局和菜单/其他子组件的良好做法?

来自分类Dev

如何使用Laravel和Vue js搜索数据?

来自分类Dev

在viewController之间进行转换时,使用静态变量存储变量的良好做法吗?

来自分类Dev

将Graylog与tarantool一起使用的良好做法是什么?

来自分类Dev

使用Vue.js和laravel / passport和GuzzleHttp时无法同时获取令牌和用户数据

来自分类Dev

保护/限制用户组功能的良好做法

来自分类Dev

保护/限制用户组功能的良好做法

来自分类Dev

在Unity中存储只读数据的良好做法

来自分类Dev

以自定义格式解析数据的良好做法

来自分类Dev

会话不在 Vue.js 和 Laravel 中存储数据

来自分类Dev

继承,AFNetworking,良好做法?

来自分类Dev

Angular Translate的良好做法

来自分类Dev

静态工厂-良好做法?

Related 相关文章

  1. 1

    骨干僵尸的观点和良好做法

  2. 2

    嵌套类和良好做法

  3. 3

    ViewModel列表中的良好做法和DateTime的使用

  4. 4

    良好做法-使用LiquiBase软件包

  5. 5

    使用时,卡夫卡的良好做法与JPA

  6. 6

    如何使用良好做法在javascript中声明矩阵?

  7. 7

    良好做法-使用LiquiBase软件包

  8. 8

    良好做法:用于后端的未使用属性

  9. 9

    宁静的API,良好做法

  10. 10

    在持续集成服务器上使用logback和TestNG时的良好做法

  11. 11

    检查用户输入的良好做法

  12. 12

    WPF关于打开窗口和后退按钮的良好做法

  13. 13

    asp.net网页中Request和Request.Form的良好做法2

  14. 14

    PHP数组和对象放在一起-不良/良好做法?

  15. 15

    asp.net网页中Request和Request.Form的良好做法2

  16. 16

    工具栏状态不会改变颜色和ActionBar良好做法

  17. 17

    将flexbox用于布局和菜单/其他子组件的良好做法?

  18. 18

    如何使用Laravel和Vue js搜索数据?

  19. 19

    在viewController之间进行转换时,使用静态变量存储变量的良好做法吗?

  20. 20

    将Graylog与tarantool一起使用的良好做法是什么?

  21. 21

    使用Vue.js和laravel / passport和GuzzleHttp时无法同时获取令牌和用户数据

  22. 22

    保护/限制用户组功能的良好做法

  23. 23

    保护/限制用户组功能的良好做法

  24. 24

    在Unity中存储只读数据的良好做法

  25. 25

    以自定义格式解析数据的良好做法

  26. 26

    会话不在 Vue.js 和 Laravel 中存储数据

  27. 27

    继承,AFNetworking,良好做法?

  28. 28

    Angular Translate的良好做法

  29. 29

    静态工厂-良好做法?

热门标签

归档