mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-13 01:29:02 +00:00
插件/微应用可在自己的菜单入口显示数字或红点角标,插件未打开也生效。 - 后端:新增 app_badges 表 + AppBadge 模型 + Module/Badge 业务编排 + AppsController(badge__set 应用密钥鉴权 / badge__clear 用户鉴权) - 每应用独立密钥 APP_SECRET:按 appid 持久化于 appstore config.yml,鉴权校验 - 推送:复用 PushTask 下发 appBadge WS 消息;microapp_menu 附带初始角标 - 前端:appBadges Vuex module + WS 处理 + 三处菜单渲染(应用卡片/主菜单入口/ 父『应用』入口聚合)+ 移动端 Tabbar + 打开即清(badge_clear_on_open) - 用户离职级联清理;同步 ai-kb 角标知识
87 lines
4.0 KiB
PHP
87 lines
4.0 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\IndexController;
|
|
use App\Http\Controllers\Api\TestController;
|
|
use App\Http\Controllers\Api\FileController;
|
|
use App\Http\Controllers\Api\UsersController;
|
|
use App\Http\Controllers\Api\DialogController;
|
|
use App\Http\Controllers\Api\PublicController;
|
|
use App\Http\Controllers\Api\ReportController;
|
|
use App\Http\Controllers\Api\SystemController;
|
|
use App\Http\Controllers\Api\LicenseController;
|
|
use App\Http\Controllers\Api\AssistantController;
|
|
use App\Http\Controllers\Api\ProjectController;
|
|
use App\Http\Controllers\Api\ComplaintController;
|
|
use App\Http\Controllers\Api\SearchController;
|
|
use App\Http\Controllers\Api\AppsController;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Web Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here is where you can register web routes for your application. These
|
|
| routes are loaded by the RouteServiceProvider within a group which
|
|
| contains the "web" middleware group. Now create something great!
|
|
|
|
|
*/
|
|
|
|
|
|
/**
|
|
* 接口
|
|
*/
|
|
Route::prefix('api')->middleware(['webapi'])->group(function () {
|
|
// 会员
|
|
Route::any('users/{method}', UsersController::class);
|
|
Route::any('users/{method}/{action}', UsersController::class);
|
|
// 项目
|
|
Route::any('project/{method}', ProjectController::class);
|
|
Route::any('project/{method}/{action}', ProjectController::class);
|
|
// 系统
|
|
Route::any('system/{method}', SystemController::class);
|
|
Route::any('system/{method}/{action}', SystemController::class);
|
|
// 在线授权
|
|
Route::any('license/{method}', LicenseController::class);
|
|
Route::any('license/{method}/{action}', LicenseController::class);
|
|
// 对话
|
|
Route::any('dialog/{method}', DialogController::class);
|
|
Route::any('dialog/{method}/{action}', DialogController::class);
|
|
// 文件
|
|
Route::any('file/{method}', FileController::class);
|
|
Route::any('file/{method}/{action}', FileController::class);
|
|
// 报告
|
|
Route::any('report/{method}', ReportController::class);
|
|
Route::any('report/{method}/{action}', ReportController::class);
|
|
// 公开接口
|
|
Route::any('public/{method}', PublicController::class);
|
|
Route::any('public/{method}/{action}', PublicController::class);
|
|
// 助手
|
|
Route::any('assistant/{method}', AssistantController::class);
|
|
Route::any('assistant/{method}/{action}', AssistantController::class);
|
|
// 投诉
|
|
Route::any('complaint/{method}', ComplaintController::class);
|
|
Route::any('complaint/{method}/{action}', ComplaintController::class);
|
|
// 智能搜索
|
|
Route::any('search/{method}', SearchController::class);
|
|
Route::any('search/{method}/{action}', SearchController::class);
|
|
// 应用相关
|
|
Route::any('apps/{method}', AppsController::class);
|
|
Route::any('apps/{method}/{action}', AppsController::class);
|
|
// 测试
|
|
Route::any('test/{method}', TestController::class);
|
|
Route::any('test/{method}/{action}', TestController::class);
|
|
});
|
|
|
|
/**
|
|
* 页面
|
|
*/
|
|
Route::middleware(['webapi'])->group(function () {
|
|
Route::any('/', IndexController::class);
|
|
Route::any('/{method}', IndexController::class);
|
|
Route::any('/{method}/{action}', IndexController::class);
|
|
Route::any('/{method}/{action}/{child}', IndexController::class);
|
|
Route::any('/{method}/{action}/{child}/{n}', IndexController::class)->where('method', '^(?!(uploads|images)).*');
|
|
Route::any('/{method}/{action}/{child}/{n}/{c}', IndexController::class)->where('method', '^(?!(uploads|images)).*');
|
|
});
|