定制 infinity-it/tools 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

infinity-it/tools

Composer 安装命令:

composer require infinity-it/tools

包简介

README 文档

README

Tools

1. Installation

composer require "infinity-it/tools"

2. required packages

  • package.json

    {
      "dependencies": {
        "tools": "file:vendor/infinity-it/tools"
      }
    }
  • run

    npm i

3. usage

import { /* ... */} from 'tools'

4. Refresh Token

updates the token in all relevant locations (Axios headers, meta tags, and input fields), and optionally runs a callback with the new token and authentication data.

  • route

    use \App\Http\Middleware\VerifyCsrfToken;
    Route::post('refreshToken', fn() => refreshToken())->withoutMiddleware(VerifyCsrfToken::class)->name('refreshToken');
  • js

    • use:
      import {csrf_update} from 'tools'
      import route from 'ziggy-js'
      
      csrf_update(route('refreshToken'), 'guard-name', /*callback(token, authData)*/null, axios)
    • globally use:
    axios.interceptors.response.use(
        response => response,
        async error => {
            const originalRequest = error.config
            if (error.response && error.response.status === 419 && !originalRequest._retry) {
                originalRequest._retry = true
                return new Promise((resolve, reject) => {
                    csrf_update(route('refreshToken'), 'web', (token, authData) => {
                        originalRequest.headers['X-CSRF-TOKEN'] = token
                        axios(originalRequest)
                            .then(resolve)
                            .catch(reject)
                    }, axios)
                })
            }
            return Promise.reject(error)
        }
    )

5. app translate

  • app.blade.php
<head>
  <script>
    window._locale = '{{ app()->getLocale() }}'
    window._translations = {!! cache('translations') !!};
  </script>
</head>
  • app.js
import {__, trans} from 'tools'
  • Provider
    • Laravel 10 and below: config/app.php
      'providers' => [
          ...
          /*
          * Package Service Providers...
          */
          InfinityIt\Tools\Providers\TranslationServiceProvider::class,
          ...
      ]
    • Laravel 11 and above : bootstrap/providers.php
      return [
          ...
          InfinityIt\Tools\Providers\TranslationServiceProvider::class,
      ];

统计信息

  • 总下载量: 95
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: JavaScript

其他信息

  • 授权协议: proprietary
  • 更新时间: 2024-10-21