* @copyright walkor * @link http://www.workerman.net/ * @license http://www.opensource.org/licenses/mit-license.php MIT License */ use Webman\Route; /** * 当前路由规则:/{业务域}/{模块}/{操作} (可扩展:/{业务域}/{版本号}/{模块}/{操作}) */ // 管理后台 API 样例 // GET /admin/user/{user_id}/tokens // 返回用户token+元信息 // POST /admin/user/{user_id}/kickout // body: {"tokens": ["..."]} // 踢下线 // POST /admin/user/{user_id}/kickout_all // 一键踢全部 Route::any('/c', [app\controller\IndexController::class, 'createResource']); Route::any('/perm', [app\controller\IndexController::class, 'perm']); // 飞书 Route::any('/feishu/event', [app\common\controller\NotifyController::class, 'feishuEvent']); // 飞书回调 Route::any('/feishu/callback', [app\common\controller\NotifyController::class, 'feishuCallback']); // 代理oss文件地址 Route::any('/proxy/ossurl', [app\common\controller\UploadController::class, 'proxy']); Route::any('/upload', [app\common\controller\UploadController::class, 'uploadFile']); Route::any('/upload/image', [app\common\controller\UploadController::class, 'uploadImage']); Route::any('/upload/delete', [app\common\controller\UploadController::class, 'deleteFile']); // 询单转发 Route::group('/inquiry/transmit', function () { Route::any('/form', [app\admin\controller\InquiryTransmitController::class, 'form']); }); // 公共 Route::group('/common', function () { Route::group('/auth', function () { Route::any('/login', [app\common\controller\AuthController::class, 'login']); Route::any('/register', [app\common\controller\AuthController::class, 'register']); Route::any('/feishu/scope', [app\common\controller\AuthController::class, 'feishuScope']); Route::any('/refresh/token', [app\common\controller\AuthController::class, 'refresh']); // // 调试 Route::any('/feishu/auth', [app\common\controller\AuthController::class, 'feishuAuth']); }); Route::group('/user', function () { Route::any('/info', [app\common\controller\UserController::class, 'info']); Route::any('/get', [app\common\controller\UserController::class, 'getUser']); Route::any('/team', [app\common\controller\UserController::class, 'team']); Route::any('/resign', [app\common\controller\UserController::class, 'resignMember']); }); Route::group('/preset', function () { Route::any('/corps', [app\common\controller\PresetController::class, 'corps']); Route::any('/feishu/app', [app\common\controller\PresetController::class, 'feishuApp']); Route::any('/systems', [app\common\controller\PresetController::class, 'systems']); Route::any('/roles', [app\common\controller\PresetController::class, 'roles']); Route::any('/currency', [app\common\controller\PresetController::class, 'currency']); Route::any('/cache/clear', [app\common\controller\PresetController::class, 'cacheClear']); Route::any('/menus', [app\common\controller\PresetController::class, 'menus']); Route::any('/brand', [app\common\controller\PresetController::class, 'brand']); Route::any('/brand/series', [app\common\controller\PresetController::class, 'series']); Route::any('/account', [app\common\controller\PresetController::class, 'account']); Route::any('/dict', [app\common\controller\PresetController::class, 'dict']); Route::any('/dictItem', [app\common\controller\PresetController::class, 'dictItem']); Route::any('/port', [app\common\controller\PresetController::class, 'port']); Route::any('/color', [app\common\controller\PresetController::class, 'color']); Route::any('/modification', [app\common\controller\PresetController::class, 'modification']); Route::any('/usergroup', [app\common\controller\PresetController::class, 'userGroup']); Route::any('/usergroup/scene', [app\common\controller\PresetController::class, 'userGroupScene']); }); // 消息通知 Route::group('/notice', function () { Route::any('/list', [app\common\controller\MessageUserStatusController::class, 'index']); Route::any('/show', [app\common\controller\MessageUserStatusController::class, 'show']); Route::any('/read', [app\common\controller\MessageUserStatusController::class, 'read']); Route::any('/destroy', [app\common\controller\MessageUserStatusController::class, 'destroy']); Route::any('/unread', [app\common\controller\MessageUserStatusController::class, 'listUnRead']); }); // 品牌 Route::group('/brand', function () { Route::any('/list', [app\common\controller\BrandController::class, 'index']); Route::any('/show', [app\common\controller\BrandController::class, 'show']); Route::any('/store', [app\common\controller\BrandController::class, 'store']); Route::any('/update', [app\common\controller\BrandController::class, 'update']); Route::any('/hot', [app\common\controller\BrandController::class, 'update']); Route::any('/destroy', [app\common\controller\BrandController::class, 'destroy']); Route::any('/crawlSeries', [app\common\controller\BrandController::class, 'crawlSeries']); Route::any('/crawlSeriesCreate', [app\common\controller\BrandController::class, 'crawlSeriesCreate']); // 车系 Route::group('/series', function () { Route::any('/list', [app\common\controller\BrandSeriesController::class, 'index']); Route::any('/show', [app\common\controller\BrandSeriesController::class, 'show']); Route::any('/store', [app\common\controller\BrandSeriesController::class, 'store']); Route::any('/update', [app\common\controller\BrandSeriesController::class, 'update']); Route::any('/destroy', [app\common\controller\BrandSeriesController::class, 'destroy']); Route::any('/crawlModels', [app\common\controller\BrandSeriesController::class, 'crawlModels']); Route::any('/crawlModelCreate', [app\common\controller\BrandSeriesController::class, 'crawlModelCreate']); Route::any('/crawlKeyword', [app\common\controller\BrandSeriesController::class, 'crawlKeyword']); Route::any('/crawlKeywordCreate', [app\common\controller\BrandSeriesController::class, 'crawlKeywordCreate']); Route::any('/crawlUrl', [app\common\controller\BrandSeriesController::class, 'crawlUrl']); Route::any('/crawl', [app\common\controller\BrandSeriesController::class, 'crawl']); }); }); // 港口 Route::group('/port', function () { Route::any('/list', [app\common\controller\SysPortController::class, 'index']); Route::any('/show', [app\common\controller\SysPortController::class, 'show']); Route::any('/store', [app\common\controller\SysPortController::class, 'store']); Route::any('/update', [app\common\controller\SysPortController::class, 'update']); Route::any('/destroy', [app\common\controller\SysPortController::class, 'destroy']); }); }); // 后台管理 Route::group('/admin', function () { // 消息通知 Route::group('/notice', function () { Route::any('/list', [app\common\controller\MessageNotificationsController::class, 'index']); Route::any('/show', [app\common\controller\MessageNotificationsController::class, 'show']); Route::any('/push', [app\common\controller\MessageNotificationsController::class, 'push']); Route::any('/destroy', [app\common\controller\MessageNotificationsController::class, 'destroy']); }); // 角色 Route::group('/role', function () { Route::any('/list', [app\admin\controller\RoleController::class, 'index']); Route::any('/show', [app\admin\controller\RoleController::class, 'show']); Route::any('/store', [app\admin\controller\RoleController::class, 'store']); Route::any('/update', [app\admin\controller\RoleController::class, 'update']); Route::any('/destroy', [app\admin\controller\RoleController::class, 'destroy']); Route::any('/menu/resource', [app\admin\controller\RoleController::class, 'menuResource']); }); // 公司 Route::group('/corp', function () { Route::any('/list', [app\admin\controller\CorpController::class, 'index']); Route::any('/show', [app\admin\controller\CorpController::class, 'show']); Route::any('/store', [app\admin\controller\CorpController::class, 'store']); Route::any('/update', [app\admin\controller\CorpController::class, 'update']); Route::any('/destroy', [app\admin\controller\CorpController::class, 'destroy']); }); // 系统 Route::group('/systems', function () { Route::any('/list', [app\admin\controller\SystemsController::class, 'index']); Route::any('/show', [app\admin\controller\SystemsController::class, 'show']); Route::any('/store', [app\admin\controller\SystemsController::class, 'store']); Route::any('/update', [app\admin\controller\SystemsController::class, 'update']); Route::any('/destroy', [app\admin\controller\SystemsController::class, 'destroy']); }); // 飞书应用 Route::group('/corp/feishu', function () { Route::any('/list', [app\admin\controller\CorpFeishuAppController::class, 'index']); Route::any('/show', [app\admin\controller\CorpFeishuAppController::class, 'show']); Route::any('/store', [app\admin\controller\CorpFeishuAppController::class, 'store']); Route::any('/update', [app\admin\controller\CorpFeishuAppController::class, 'update']); Route::any('/destroy', [app\admin\controller\CorpFeishuAppController::class, 'destroy']); }); // 资源 Route::group('/resources', function () { Route::any('/list/tree', [app\common\controller\ResourceController::class, 'listTree']); Route::any('/show', [app\common\controller\ResourceController::class, 'show']); Route::any('/store', [app\common\controller\ResourceController::class, 'store']); Route::any('/update', [app\common\controller\ResourceController::class, 'update']); Route::any('/destroy', [app\common\controller\ResourceController::class, 'destroy']); Route::any('/list/menu', [app\common\controller\ResourceController::class, 'menuList']); Route::any('/list/menu/tree', [app\common\controller\ResourceController::class, 'menuTreeList']); }); // 用户 Route::group('/user', function () { Route::any('/list', [app\admin\controller\UserController::class, 'index']); Route::any('/show', [app\admin\controller\UserController::class, 'show']); Route::any('/update', [app\admin\controller\UserController::class, 'update']); Route::any('/edit', [app\admin\controller\UserController::class, 'edit']); Route::any('/authorize', [app\admin\controller\UserController::class, 'authorize']); Route::any('/set/resources', [app\admin\controller\UserController::class, 'updateResources']); Route::any('/update/password', [app\admin\controller\UserController::class, 'savePassword']); Route::any('/update/sign', [app\admin\controller\UserController::class, 'updateSign']); }); // 询单 Route::group('/inquiry', function () { Route::any('/list', [app\inquiry\controller\InquiryLogController::class, 'index']); Route::any('/show', [app\inquiry\controller\InquiryLogController::class, 'show']); Route::any('/store', [app\inquiry\controller\InquiryLogController::class, 'store']); Route::any('/update', [app\inquiry\controller\InquiryLogController::class, 'update']); Route::any('/destroy', [app\inquiry\controller\InquiryLogController::class, 'destroy']); Route::any('/release', [app\inquiry\controller\InquiryLogController::class, 'release']); Route::any('/allocation', [app\inquiry\controller\InquiryLogController::class, 'allocation']); Route::any('/reallocation', [app\inquiry\controller\InquiryLogController::class, 'reAllocation']); // 统计 Route::group('/statistics', function () { Route::any('/whole', [app\inquiry\controller\StatisticsController::class, 'whole']); Route::any('/channel/count', [app\inquiry\controller\StatisticsController::class, 'channelCount']); Route::any('/country/count', [app\inquiry\controller\StatisticsController::class, 'countryCount']); Route::any('/track/count', [app\inquiry\controller\StatisticsController::class, 'trackCount']); Route::any('/day/count', [app\inquiry\controller\StatisticsController::class, 'dayCount']); Route::any('/inquiry/count', [app\inquiry\controller\StatisticsController::class, 'inquiryCount']); }); }); // 询单转发 Route::group('/inquiry', function () { Route::group('/transmit', function () { Route::any('/list', [app\admin\controller\InquiryTransmitController::class, 'index']); Route::any('/show', [app\admin\controller\InquiryTransmitController::class, 'show']); Route::any('/store', [app\admin\controller\InquiryTransmitController::class, 'store']); Route::any('/update', [app\admin\controller\InquiryTransmitController::class, 'update']); Route::any('/destroy', [app\admin\controller\InquiryTransmitController::class, 'destroy']); }); Route::group('/config', function () { Route::any('/list', [app\admin\controller\InquiryTransmitConfigController::class, 'index']); Route::any('/show', [app\admin\controller\InquiryTransmitConfigController::class, 'show']); Route::any('/store', [app\admin\controller\InquiryTransmitConfigController::class, 'store']); Route::any('/update', [app\admin\controller\InquiryTransmitConfigController::class, 'update']); Route::any('/destroy', [app\admin\controller\InquiryTransmitConfigController::class, 'destroy']); }); }); // crm Route::group('/crm', function () { Route::group('/customer', function () { Route::any('/list', [app\crmAdmin\controller\CustomerController::class, 'list']); Route::any('/export', [app\crmAdmin\controller\CustomerController::class, 'export']); Route::any('/audit', [app\crmAdmin\controller\CustomerController::class, 'audit']); Route::any('/transfer', [app\crmAdmin\controller\CustomerController::class, 'transfer']); Route::any('/detail', [app\crmAdmin\controller\CustomerController::class, 'detail']); Route::any('/delete', [app\crmAdmin\controller\CustomerController::class, 'delete']); Route::any('/restore', [app\crmAdmin\controller\CustomerController::class, 'restore']); //恢复客户 Route::any('/cede', [app\crm\controller\CustomerController::class, 'cede']); Route::any('/follow', [app\crmAdmin\controller\CustomerController::class, 'follow']); Route::any('/allocation', [app\crmAdmin\controller\CustomerController::class, 'allocation']); }); // 统计 Route::group('/statistics', function () { Route::any('/whole', [app\crmAdmin\controller\StatisticsController::class, 'whole']); Route::any('/channel/count', [app\crmAdmin\controller\StatisticsController::class, 'channelCount']); Route::any('/country/count', [app\crmAdmin\controller\StatisticsController::class, 'countryCount']); Route::any('/track/count', [app\crmAdmin\controller\StatisticsController::class, 'trackCount']); Route::any('/day/count', [app\crmAdmin\controller\StatisticsController::class, 'dayCount']); Route::any('/customer/count', [app\crmAdmin\controller\StatisticsController::class, 'customerCount']); }); }); // 车辆 Route::group('/vehicle', function () { // 基础信息 Route::group('/sku', function () { Route::any('/list', [app\common\controller\VehVehicleSkuController::class, 'index']); Route::any('/show', [app\common\controller\VehVehicleSkuController::class, 'show']); Route::any('/store', [app\common\controller\VehVehicleSkuController::class, 'store']); Route::any('/update', [app\common\controller\VehVehicleSkuController::class, 'update']); Route::any('/destroy', [app\common\controller\VehVehicleSkuController::class, 'destroy']); }); }); // 字典 Route::group('/dict', function () { Route::any('/list', [app\admin\controller\SysDictController::class, 'index']); Route::any('/show', [app\admin\controller\SysDictController::class, 'show']); Route::any('/store', [app\admin\controller\SysDictController::class, 'store']); Route::any('/update', [app\admin\controller\SysDictController::class, 'update']); Route::any('/destroy', [app\admin\controller\SysDictController::class, 'destroy']); Route::any('/scope', [app\admin\controller\SysDictController::class, 'listScope']); // 字典分类 Route::any('/group', [app\admin\controller\SysDictController::class, 'group']); Route::group('/item', function () { Route::any('/list', [app\admin\controller\SysDictItemController::class, 'index']); Route::any('/show', [app\admin\controller\SysDictItemController::class, 'show']); Route::any('/store', [app\admin\controller\SysDictItemController::class, 'store']); Route::any('/update', [app\admin\controller\SysDictItemController::class, 'update']); Route::any('/destroy', [app\admin\controller\SysDictItemController::class, 'destroy']); }); }); // 货币 Route::group('/currency', function () { Route::any('/list', [app\admin\controller\SysCurrencyController::class, 'index']); Route::any('/show', [app\admin\controller\SysCurrencyController::class, 'show']); Route::any('/store', [app\admin\controller\SysCurrencyController::class, 'store']); Route::any('/update', [app\admin\controller\SysCurrencyController::class, 'update']); Route::any('/destroy', [app\admin\controller\SysCurrencyController::class, 'destroy']); }); // 品牌 Route::group('/brand', function () { Route::any('/list', [app\admin\controller\BrandController::class, 'index']); Route::any('/show', [app\admin\controller\BrandController::class, 'show']); Route::any('/store', [app\admin\controller\BrandController::class, 'store']); Route::any('/update', [app\admin\controller\BrandController::class, 'update']); Route::any('/hot', [app\admin\controller\BrandController::class, 'update']); Route::any('/destroy', [app\admin\controller\BrandController::class, 'destroy']); // 车系 Route::group('/series', function () { Route::any('/list', [app\admin\controller\BrandSeriesController::class, 'index']); Route::any('/show', [app\admin\controller\BrandSeriesController::class, 'show']); Route::any('/store', [app\admin\controller\BrandSeriesController::class, 'store']); Route::any('/update', [app\admin\controller\BrandSeriesController::class, 'update']); Route::any('/destroy', [app\admin\controller\BrandSeriesController::class, 'destroy']); }); }); // 汽车颜色 Route::group('/color', function () { Route::any('/list', [app\admin\controller\VehColorController::class, 'index']); Route::any('/show', [app\admin\controller\VehColorController::class, 'show']); Route::any('/store', [app\admin\controller\VehColorController::class, 'store']); Route::any('/update', [app\admin\controller\VehColorController::class, 'update']); Route::any('/destroy', [app\admin\controller\VehColorController::class, 'destroy']); }); // 汽车改装项目 Route::group('/modification', function () { Route::any('/list', [app\admin\controller\VehModificationController::class, 'index']); Route::any('/show', [app\admin\controller\VehModificationController::class, 'show']); Route::any('/store', [app\admin\controller\VehModificationController::class, 'store']); Route::any('/update', [app\admin\controller\VehModificationController::class, 'update']); Route::any('/destroy', [app\admin\controller\VehModificationController::class, 'destroy']); }); // 账户 Route::group('/account', function () { Route::any('/list', [app\admin\controller\SysAccountController::class, 'index']); Route::any('/show', [app\admin\controller\SysAccountController::class, 'show']); Route::any('/store', [app\admin\controller\SysAccountController::class, 'store']); Route::any('/update', [app\admin\controller\SysAccountController::class, 'update']); Route::any('/destroy', [app\admin\controller\SysAccountController::class, 'destroy']); }); // 港口 Route::group('/port', function () { Route::any('/list', [app\admin\controller\SysPortController::class, 'index']); Route::any('/show', [app\admin\controller\SysPortController::class, 'show']); Route::any('/store', [app\admin\controller\SysPortController::class, 'store']); Route::any('/update', [app\admin\controller\SysPortController::class, 'update']); Route::any('/destroy', [app\admin\controller\SysPortController::class, 'destroy']); }); // 审批 Route::group('/approval', function () { Route::any('/list', [app\admin\controller\ApprovalFlowsController::class, 'index']); Route::any('/show', [app\admin\controller\ApprovalFlowsController::class, 'show']); Route::any('/store', [app\admin\controller\ApprovalFlowsController::class, 'store']); Route::any('/update', [app\admin\controller\ApprovalFlowsController::class, 'update']); Route::any('/destroy', [app\admin\controller\ApprovalFlowsController::class, 'destroy']); }); // 审批记录 Route::group('/approval/records', function () { Route::any('/list', [app\admin\controller\ApprovalRecordsController::class, 'index']); Route::any('/logs', [app\admin\controller\ApprovalRecordsController::class, 'logs']); Route::any('/action', [app\admin\controller\ApprovalRecordsController::class, 'approve']); Route::any('/todo', [app\admin\controller\ApprovalRecordsController::class, 'todo']); Route::any('/border', [app\admin\controller\ApprovalRecordsController::class, 'businessOrder']); Route::any('/transfer', [app\admin\controller\ApprovalRecordsController::class, 'transferApproval']); Route::any('/timeline', [app\admin\controller\ApprovalRecordsController::class, 'approvalTimeline']); }); Route::group('/stock/order', function () { Route::any('/list', [app\admin\controller\StockOrdersController::class, 'index']); Route::any('/show', [app\admin\controller\StockOrdersController::class, 'show']); Route::any('/store', [app\admin\controller\StockOrdersController::class, 'store']); Route::any('/print', [app\admin\controller\StockOrdersController::class, 'print']); Route::any('/detail', [app\admin\controller\StockOrdersController::class, 'detail']); Route::any('/destroy', [app\admin\controller\StockOrdersController::class, 'destroy']); }); // crm Route::group('/targets', function () { Route::group('/monthly', function () { Route::any('/list', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'index']); Route::any('/store', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'store']); Route::any('/update', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'update']); Route::any('/destroy', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'destroy']); Route::any('/show', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'show']); }); Route::group('/annual', function () { Route::any('/list', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'index']); Route::any('/store', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'store']); Route::any('/update', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'update']); Route::any('/destroy', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'destroy']); Route::any('/show', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'show']); }); Route::group('/statistics', function () { Route::any('/total', [app\admin\targets\controller\StatisticsController::class, 'total']); Route::any('/ranking', [app\admin\targets\controller\StatisticsController::class, 'ranking']); Route::any('/user/month', [app\admin\targets\controller\StatisticsController::class, 'achievedUserByMonth']); Route::any('/user/progressh', [app\admin\targets\controller\StatisticsController::class, 'userProgressh']); Route::any('/user/achieved', [app\admin\targets\controller\StatisticsController::class, 'userAchieved']); }); }); Route::group('/purchase/order', function () { Route::any('/predata', [app\common\controller\PurchaseOrdersController::class, 'preQueryData']); Route::any('/list', [app\common\controller\PurchaseOrdersController::class, 'index']); Route::any('/show', [app\common\controller\PurchaseOrdersController::class, 'show']); Route::any('/store', [app\common\controller\PurchaseOrdersController::class, 'store']); Route::any('/update', [app\common\controller\PurchaseOrdersController::class, 'update']); Route::any('/destroy', [app\common\controller\PurchaseOrdersController::class, 'destroy']); Route::any('/resubmit', [app\common\controller\PurchaseOrdersController::class, 'resubmit']); }); Route::group('/user/group', function () { Route::any('/list', [app\admin\controller\UserGroupController::class, 'index']); Route::any('/show', [app\admin\controller\UserGroupController::class, 'show']); Route::any('/store', [app\admin\controller\UserGroupController::class, 'store']); Route::any('/update', [app\admin\controller\UserGroupController::class, 'update']); Route::any('/destroy', [app\admin\controller\UserGroupController::class, 'destroy']); }); // 操作日志 Route::group('/op/log', function () { Route::any('/list', [app\common\controller\SysOpLogController::class, 'index']); Route::any('/show', [app\common\controller\SysOpLogController::class, 'show']); }); // 操作日志 Route::group('/update/log', function () { Route::any('/list', [app\common\controller\SysUpdateLogController::class, 'index']); Route::any('/show', [app\common\controller\SysUpdateLogController::class, 'show']); Route::any('/store', [app\common\controller\SysUpdateLogController::class, 'store']); Route::any('/update', [app\common\controller\SysUpdateLogController::class, 'update']); Route::any('/destroy', [app\common\controller\SysUpdateLogController::class, 'destroy']); }); // 收款记录 Route::group('/receipt', function () { Route::any('/list', [app\common\controller\FinReceiptController::class, 'index']); Route::any('/show', [app\common\controller\FinReceiptController::class, 'show']); Route::any('/store', [app\common\controller\FinReceiptController::class, 'store']); Route::any('/update', [app\common\controller\FinReceiptController::class, 'update']); Route::any('/payment', [app\common\controller\FinReceiptController::class, 'payment']); Route::any('/destroy', [app\common\controller\FinReceiptController::class, 'destroy']); Route::any('/credit', [app\common\controller\FinReceiptController::class, 'credit']); }); // 收款记录历史 Route::group('/receipt/his', function () { Route::any('/list', [app\common\controller\FinReceiptHisController::class, 'index']); Route::any('/show', [app\common\controller\FinReceiptHisController::class, 'show']); }); Route::group('/fin', function () { Route::any('/statistics', [app\admin\controller\dashboard\FinStatisticsController::class, 'statistics']); }); // 付款申请 Route::group('/payment', function () { Route::any('/list', [app\common\controller\FinPaymentApplyController::class, 'index']); Route::any('/show', [app\common\controller\FinPaymentApplyController::class, 'show']); Route::any('/store', [app\common\controller\FinPaymentApplyController::class, 'store']); Route::any('/update', [app\common\controller\FinPaymentApplyController::class, 'update']); Route::any('/delete', [app\common\controller\FinPaymentApplyController::class, 'delete']); }); // 系统配置 Route::group('/config', function () { Route::any('/list', [app\admin\controller\SysConfigController::class, 'index']); Route::any('/show', [app\admin\controller\SysConfigController::class, 'show']); Route::any('/store', [app\admin\controller\SysConfigController::class, 'store']); Route::any('/update', [app\admin\controller\SysConfigController::class, 'update']); Route::any('/destroy', [app\admin\controller\SysConfigController::class, 'destroy']); }); // 仪表盘 Route::group('/dashboard', function () { // 内勤 Route::group('/officeclerk', function () { Route::any('/card', [app\admin\controller\dashboard\OfficeClerkController::class, 'card']); Route::any('/curve', [app\admin\controller\dashboard\OfficeClerkController::class, 'curve']); Route::any('/approval', [app\admin\controller\dashboard\OfficeClerkController::class, 'approval']); Route::any('/claim', [app\admin\controller\dashboard\OfficeClerkController::class, 'claim']); }); }); Route::group('/finance', function () { Route::group('/dubai', function () { Route::any('/list', [app\admin\controller\FinanceReconDubaiFilesController::class, 'index']); Route::any('/show', [app\admin\controller\FinanceReconDubaiFilesController::class, 'show']); Route::any('/store', [app\admin\controller\FinanceReconDubaiFilesController::class, 'store']); Route::any('/update', [app\admin\controller\FinanceReconDubaiFilesController::class, 'update']); Route::any('/destroy', [app\admin\controller\FinanceReconDubaiFilesController::class, 'destroy']); }); }); //仪表盘路由规则 Route::group('/dashboard', function () { Route::group('/rule', function () { Route::any('/list', [app\admin\controller\UserDashboardRuleController::class, 'index']); Route::any('/show', [app\admin\controller\UserDashboardRuleController::class, 'show']); Route::any('/store', [app\admin\controller\UserDashboardRuleController::class, 'store']); Route::any('/update', [app\admin\controller\UserDashboardRuleController::class, 'update']); Route::any('/destroy', [app\admin\controller\UserDashboardRuleController::class, 'destroy']); }); }); }); Route::group('/ticket', function () { //工单 Route::any('/ticket/add', [app\ticket\controller\TicketController::class, 'add']); Route::any('/ticket/edit', [app\ticket\controller\TicketController::class, 'edit']); Route::any('/ticket/list', [app\ticket\controller\TicketController::class, 'index']); Route::any('/ticket/self', [app\ticket\controller\TicketController::class, 'self']); Route::any('/ticket/status', [app\ticket\controller\TicketController::class, 'status']); Route::any('/ticket/getStatus', [app\ticket\controller\TicketController::class, 'getStatus']); Route::any('/upload', [app\common\controller\UploadController::class, 'uploadFile']); Route::any('/upload/image', [app\common\controller\UploadController::class, 'uploadImage']); //工单沟通记录 Route::any('/conversation/add', [app\ticket\controller\ConversationController::class, 'add']); Route::any('/conversation/sendEmail', [app\ticket\controller\ConversationController::class, 'sendEmail']); Route::any('/conversation/edit', [app\ticket\controller\ConversationController::class, 'edit']); Route::any('/conversation/list', [app\ticket\controller\ConversationController::class, 'index']); //工单分类 Route::any('/categorie/add', [app\ticket\controller\CategorieController::class, 'add']); Route::any('/categorie/edit', [app\ticket\controller\CategorieController::class, 'edit']); Route::any('/categorie/list', [app\ticket\controller\CategorieController::class, 'index']); Route::any('/categorie/getAll', [app\ticket\controller\CategorieController::class, 'getAll']); Route::any('/categorie/delete', [app\ticket\controller\CategorieController::class, 'delete']); }); //crm Route::group('/crm', function () { //跟进 Route::any('/follow/list', [app\crm\controller\FollowController::class, 'list']); Route::any('/follow/detail', [app\crm\controller\FollowController::class, 'detail']); Route::any('/follow/add', [app\crm\controller\FollowController::class, 'save']); Route::any('/follow/getFollowType', [app\crm\controller\FollowController::class, 'getFollowType']); //客户 Route::any('/customer/list', [app\crm\controller\CustomerController::class, 'list']); Route::any('/customer/index', [app\crm\controller\CustomerController::class, 'index']); Route::any('/customer/detail', [app\crm\controller\CustomerController::class, 'detail']); Route::any('/customer/add', [app\crm\controller\CustomerController::class, 'save']); Route::any('/customer/claim', [app\crm\controller\CustomerController::class, 'claim']); Route::any('/customer/restore', [app\crm\controller\CustomerController::class, 'restore']); Route::any('/customer/delete', [app\crm\controller\CustomerController::class, 'delete']); Route::any('/customer/waitFollow', [app\crm\controller\CustomerController::class, 'waitFollow']); Route::any('/customer/statistics', [app\crm\controller\CustomerController::class, 'statistics']); Route::any('/customer/getChannel', [app\crm\controller\CustomerController::class, 'getChannel']); Route::any('/customer/getCountry', [app\crm\controller\CustomerController::class, 'getCountry']); Route::any('/customer/followNext', [app\crm\controller\CustomerController::class, 'followNext']); Route::any('/customer/report', [app\crm\controller\CustomerController::class, 'report']); Route::any('/customer/distinctNotice', [app\crm\controller\CustomerController::class, 'distinctNotice']); Route::any('/customer/preset', [app\crm\controller\CustomerController::class, 'preset']); Route::any('/tagGroup/list', [app\crm\controller\TagGroupController::class, 'list']); Route::any('/tagGroup/updatePivot', [app\crm\controller\TagGroupController::class, 'updatePivot']); Route::any('/upload/image', [app\common\controller\UploadController::class, 'uploadImage']); Route::any('/user/edit', [app\common\controller\UserController::class, 'edit']); Route::any('/user/savePassword', [app\common\controller\UserController::class, 'savePassword']); // 备货单 Route::group('/stock/order', function () { Route::any('/list', [app\crm\controller\StockOrdersController::class, 'index']); Route::any('/show', [app\crm\controller\StockOrdersController::class, 'show']); Route::any('/store', [app\crm\controller\StockOrdersController::class, 'store']); Route::any('/update', [app\crm\controller\StockOrdersController::class, 'update']); Route::any('/print', [app\crm\controller\StockOrdersController::class, 'print']); Route::any('/approval', [app\crm\controller\StockOrdersController::class, 'approval']); Route::any('/detail', [app\crm\controller\StockOrdersController::class, 'detail']); Route::any('/ultimate/approval', [app\crm\controller\StockOrdersController::class, 'ultimateApproval']); Route::any('/nullify/approval', [app\crm\controller\StockOrdersController::class, 'approvalNullify']); Route::any('/revoke/approval', [app\crm\controller\StockOrdersController::class, 'approvalRevoke']); Route::any('/destroy', [app\crm\controller\StockOrdersController::class, 'destroy']); }); // 审批记录 Route::group('/approval/records', function () { Route::any('/list', [app\crm\controller\ApprovalRecordsController::class, 'index']); Route::any('/logs', [app\crm\controller\ApprovalRecordsController::class, 'logs']); Route::any('/action', [app\crm\controller\ApprovalRecordsController::class, 'approve']); Route::any('/todo', [app\admin\controller\ApprovalRecordsController::class, 'todo']); Route::any('/border', [app\admin\controller\ApprovalRecordsController::class, 'businessOrder']); }); // 汽车颜色 Route::group('/color', function () { Route::any('/list', [app\common\controller\VehColorController::class, 'index']); Route::any('/show', [app\common\controller\VehColorController::class, 'show']); Route::any('/store', [app\common\controller\VehColorController::class, 'store']); Route::any('/update', [app\common\controller\VehColorController::class, 'update']); Route::any('/destroy', [app\common\controller\VehColorController::class, 'destroy']); }); // 车辆 Route::group('/vehicle', function () { // 基础信息 Route::group('/sku', function () { Route::any('/list', [app\common\controller\VehVehicleSkuController::class, 'index']); Route::any('/show', [app\common\controller\VehVehicleSkuController::class, 'show']); Route::any('/store', [app\common\controller\VehVehicleSkuController::class, 'store']); Route::any('/update', [app\common\controller\VehVehicleSkuController::class, 'update']); Route::any('/destroy', [app\common\controller\VehVehicleSkuController::class, 'destroy']); Route::any('/preset', [app\common\controller\VehVehicleSkuController::class, 'preset']); }); }); // 汽车改装项目 Route::group('/modification', function () { Route::any('/list', [app\common\controller\VehModificationController::class, 'index']); Route::any('/show', [app\common\controller\VehModificationController::class, 'show']); Route::any('/store', [app\common\controller\VehModificationController::class, 'store']); Route::any('/update', [app\common\controller\VehModificationController::class, 'update']); Route::any('/destroy', [app\common\controller\VehModificationController::class, 'destroy']); }); }); // 公共 API(API Key 鉴权;通过 noNeedLogin/noNeedHeaderData 跳过 JWT 和 BasicData) Route::group('/common/public', function () { Route::any('/pi/list', [app\common\controller\PublicApiController::class, 'piList']); Route::any('/vin/list', [app\common\controller\PublicApiController::class, 'vinList']); Route::any('/staff/list', [app\common\controller\PublicApiController::class, 'staffList']); })->middleware([app\middleware\AccessControl::class, app\middleware\ApiKeyAuth::class]);