VuePressVuePress
  • Introduction
  • Getting Started
  • Users

    • 身份验证
  • 客户前台

    • 前台接口
  • 管理后台

    • 用户管理
    • 角色管理
    • 权限管理
    • 操作日志
  • English
  • 简体中文
  • Introduction
  • Getting Started
  • Users

    • 身份验证
  • 客户前台

    • 前台接口
  • 管理后台

    • 用户管理
    • 角色管理
    • 权限管理
    • 操作日志
  • English
  • 简体中文
  • Guide

    • Introduction
    • Getting Started

Getting Started

前端已自动化部署,意思是:当Git仓库有新的 push,服务器会自动向Git仓库 pull 拉取代码并运行 npm i && npm run build。

Environment

请在 Vite + Vue 3 项目的根目录添加文件 .env.example,并添加以下环境变量:

VITE_API_URL=https://api.games.178t.com

VITE_PUSHER_APP_KEY='请向后端询问密钥'
VITE_PUSHER_HOST="reverb.178t.com"
VITE_PUSHER_PORT=443
VITE_PUSHER_SCHEME=https
VITE_PUSHER_APP_CLUSTER=mt1

Dependencies

此项目的前台和后台都会用到 WebSockets,请安装 laravel-echo 及 pusher-js。

npm install --save-dev laravel-echo pusher-js

使用示例:

import Echo from "laravel-echo"
import Pusher from "pusher-js"

window.Pusher = Pusher

window.Echo = new Echo({
  broadcaster: 'pusher',
  key: import.meta.env.VITE_PUSHER_APP_KEY,
  cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER,
  wsHost: import.meta.env.VITE_PUSHER_HOST,
  wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
  wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
  forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',
  enabledTransports: ['ws', 'wss'],
    
  authorizer: (channel, options) => {
    return {
      authorize: (socketId, callback) => {
        axios.post(`${import.meta.env.VITE_API_URL}/broadcasting/auth`, {
          socket_id: socketId,
          channel_name: channel.name
        }).then(response => {
          callback(null, response.data)
        }).catch(error => {
          callback(error)
        })
      }
    }
  }
})

HTTP Client

如果使用 axios 作为 HTTP Client,应添加以下配置:

axios.defaults.withCredentials = true;
axios.defaults.withXSRFToken = true;
Last Updated:
Contributors: jinfakeji168
Prev
Introduction