Files
anxinyan/server-api/config/route.php
2026-06-11 14:34:12 +08:00

346 lines
24 KiB
PHP

<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use Webman\Route;
use app\controller\app\HomeController;
use app\controller\app\CatalogController;
use app\controller\app\AppraisalController;
use app\controller\app\OrdersController;
use app\controller\app\ReportsController;
use app\controller\app\VerifyController;
use app\controller\app\MaterialTagsController as AppMaterialTagsController;
use app\controller\app\MaterialTagRedirectController as AppMaterialTagRedirectController;
use app\controller\app\MessagesController as AppMessagesController;
use app\controller\app\SupplementController as AppSupplementController;
use app\controller\app\TicketsController as AppTicketsController;
use app\controller\app\ShippingController as AppShippingController;
use app\controller\app\AddressesController as AppAddressesController;
use app\controller\app\HelpCenterController as AppHelpCenterController;
use app\controller\app\SettingsController as AppSettingsController;
use app\controller\app\AuthController as AppAuthController;
use app\controller\app\MineController as AppMineController;
use app\controller\admin\DashboardController as AdminDashboardController;
use app\controller\admin\OrdersController as AdminOrdersController;
use app\controller\admin\CatalogController as AdminCatalogController;
use app\controller\admin\ReportsController as AdminReportsController;
use app\controller\admin\AppraisalTasksController as AdminAppraisalTasksController;
use app\controller\admin\MessagesController as AdminMessagesController;
use app\controller\admin\TicketsController as AdminTicketsController;
use app\controller\admin\UsersController as AdminUsersController;
use app\controller\admin\WarehousesController as AdminWarehousesController;
use app\controller\admin\MaterialsController as AdminMaterialsController;
use app\controller\admin\AccessController as AdminAccessController;
use app\controller\admin\ContentsController as AdminContentsController;
use app\controller\admin\SystemConfigsController as AdminSystemConfigsController;
use app\controller\admin\ServicePricePackagesController as AdminServicePricePackagesController;
use app\controller\admin\AuthController as AdminAuthController;
use app\controller\admin\CustomersController as AdminCustomersController;
use app\controller\admin\WarehouseWorkbenchController as AdminWarehouseWorkbenchController;
use app\controller\admin\ExpressCompaniesController as AdminExpressCompaniesController;
use app\controller\admin\FileUploadController as AdminFileUploadController;
use app\controller\open\OrdersController as OpenOrdersController;
use app\controller\open\Kuaidi100Controller as OpenKuaidi100Controller;
use app\controller\open\ShouqianbaPaymentController as OpenShouqianbaPaymentController;
Route::get('/', [app\controller\IndexController::class, 'json']);
Route::get('/T/{token}', [AppMaterialTagRedirectController::class, 'redirect']);
Route::get('/t/{token}', [AppMaterialTagRedirectController::class, 'redirect']);
Route::options('/api/app/appraisal/draft/create', function () {
return response('', 204);
});
Route::options('/api/app/appraisal/draft/save', function () {
return response('', 204);
});
Route::options('/api/app/appraisal/file/upload', function () {
return response('', 204);
});
Route::options('/api/app/appraisal/file/delete', function () {
return response('', 204);
});
Route::options('/api/app/appraisal/preview', function () {
return response('', 204);
});
Route::options('/api/app/appraisal/submit', function () {
return response('', 204);
});
Route::options('/api/app/message/read', function () {
return response('', 204);
});
Route::options('/api/app/messages/read-all', function () {
return response('', 204);
});
Route::options('/api/app/order/supplement/file/upload', function () {
return response('', 204);
});
Route::options('/api/app/order/supplement/file/delete', function () {
return response('', 204);
});
Route::options('/api/app/order/supplement/submit', function () {
return response('', 204);
});
Route::options('/api/app/ticket/create', function () {
return response('', 204);
});
Route::options('/api/app/ticket/reply', function () {
return response('', 204);
});
Route::options('/api/app/ticket/file/upload', function () {
return response('', 204);
});
Route::options('/api/app/ticket/file/delete', function () {
return response('', 204);
});
Route::options('/api/app/order/shipping/save', function () {
return response('', 204);
});
Route::options('/api/app/order/return-address/save', function () {
return response('', 204);
});
Route::options('/api/app/order/pay/retry', function () {
return response('', 204);
});
Route::options('/api/app/order/payment/status', function () {
return response('', 204);
});
Route::options('/api/app/order/cancel', function () {
return response('', 204);
});
Route::options('/api/app/address/save', function () {
return response('', 204);
});
Route::options('/api/app/address/default', function () {
return response('', 204);
});
Route::options('/api/app/address/delete', function () {
return response('', 204);
});
Route::options('/api/app/settings/save', function () {
return response('', 204);
});
Route::options('/api/app/{path:.+}', function () {
return response('', 204);
});
Route::options('/api/app/auth/{path:.+}', function () {
return response('', 204);
});
Route::options('/api/admin/{path:.+}', function () {
return response('', 204);
});
Route::options('/api/open/v1/{path:.+}', function () {
return response('', 204);
});
Route::options('/api/open/shouqianba/payment/notify', function () {
return response('', 204);
});
Route::get('/api/app/home/index', [HomeController::class, 'index']);
Route::get('/api/app/content/page-visuals', [HomeController::class, 'pageVisuals']);
Route::get('/api/app/catalog/categories', [CatalogController::class, 'categories']);
Route::get('/api/app/catalog/brands', [CatalogController::class, 'brands']);
Route::post('/api/app/appraisal/draft/create', [AppraisalController::class, 'createDraft']);
Route::get('/api/app/appraisal/draft', [AppraisalController::class, 'draftDetail']);
Route::post('/api/app/appraisal/draft/save', [AppraisalController::class, 'saveDraft']);
Route::post('/api/app/appraisal/file/upload', [AppraisalController::class, 'uploadFile']);
Route::post('/api/app/appraisal/file/delete', [AppraisalController::class, 'deleteFile']);
Route::get('/api/app/appraisal/service-configs', [AppraisalController::class, 'serviceConfigs']);
Route::get('/api/app/appraisal/upload-template', [AppraisalController::class, 'uploadTemplate']);
Route::post('/api/app/appraisal/preview', [AppraisalController::class, 'preview']);
Route::post('/api/app/appraisal/submit', [AppraisalController::class, 'submit']);
Route::get('/api/app/orders', [OrdersController::class, 'index']);
Route::get('/api/app/order/detail', [OrdersController::class, 'detail']);
Route::post('/api/app/order/return-address/save', [OrdersController::class, 'saveReturnAddress']);
Route::post('/api/app/order/pay/retry', [OrdersController::class, 'retryPayment']);
Route::get('/api/app/order/payment/status', [OrdersController::class, 'paymentStatus']);
Route::post('/api/app/order/cancel', [OrdersController::class, 'cancel']);
Route::get('/api/app/reports', [ReportsController::class, 'index']);
Route::get('/api/app/report/detail', [ReportsController::class, 'detail']);
Route::post('/api/app/report/anti-counterfeit/verify', [ReportsController::class, 'antiCounterfeitVerify']);
Route::get('/api/app/verify', [VerifyController::class, 'show']);
Route::get('/api/app/material-tag', [AppMaterialTagsController::class, 'show']);
Route::post('/api/app/material-tag/verify', [AppMaterialTagsController::class, 'verify']);
Route::get('/api/app/help-center', [AppHelpCenterController::class, 'index']);
Route::get('/api/app/help-article/detail', [AppHelpCenterController::class, 'detail']);
Route::post('/api/app/auth/send-code', [AppAuthController::class, 'sendCode']);
Route::post('/api/app/auth/login/code', [AppAuthController::class, 'loginByCode']);
Route::post('/api/app/auth/login/password', [AppAuthController::class, 'loginByPassword']);
Route::get('/api/app/auth/wechat/config', [AppAuthController::class, 'wechatConfig']);
Route::post('/api/app/auth/wechat/exchange', [AppAuthController::class, 'wechatExchange']);
Route::post('/api/app/auth/wechat/bind-mobile', [AppAuthController::class, 'wechatBindMobile']);
Route::post('/api/app/auth/mini-program/exchange', [AppAuthController::class, 'miniProgramExchange']);
Route::post('/api/app/auth/mini-program/bind-mobile', [AppAuthController::class, 'miniProgramBindMobile']);
Route::post('/api/app/auth/mini-program/bind', [AppAuthController::class, 'miniProgramBind']);
Route::get('/api/app/auth/me', [AppAuthController::class, 'me']);
Route::post('/api/app/auth/password/save', [AppAuthController::class, 'savePassword']);
Route::post('/api/app/auth/logout', [AppAuthController::class, 'logout']);
Route::get('/api/app/mine/overview', [AppMineController::class, 'overview']);
Route::get('/api/app/settings', [AppSettingsController::class, 'detail']);
Route::post('/api/app/settings/save', [AppSettingsController::class, 'save']);
Route::get('/api/app/messages/summary', [AppMessagesController::class, 'summary']);
Route::get('/api/app/messages/meta', [AppMessagesController::class, 'meta']);
Route::get('/api/app/messages', [AppMessagesController::class, 'index']);
Route::post('/api/app/message/read', [AppMessagesController::class, 'read']);
Route::post('/api/app/messages/read-all', [AppMessagesController::class, 'readAll']);
Route::get('/api/app/order/supplement', [AppSupplementController::class, 'detail']);
Route::post('/api/app/order/supplement/file/upload', [AppSupplementController::class, 'uploadFile']);
Route::post('/api/app/order/supplement/file/delete', [AppSupplementController::class, 'deleteFile']);
Route::post('/api/app/order/supplement/submit', [AppSupplementController::class, 'submit']);
Route::get('/api/app/tickets/overview', [AppTicketsController::class, 'overview']);
Route::get('/api/app/ticket/meta', [AppTicketsController::class, 'meta']);
Route::get('/api/app/tickets', [AppTicketsController::class, 'index']);
Route::get('/api/app/ticket/detail', [AppTicketsController::class, 'detail']);
Route::post('/api/app/ticket/create', [AppTicketsController::class, 'create']);
Route::post('/api/app/ticket/reply', [AppTicketsController::class, 'reply']);
Route::post('/api/app/ticket/file/upload', [AppTicketsController::class, 'uploadFile']);
Route::post('/api/app/ticket/file/delete', [AppTicketsController::class, 'deleteFile']);
Route::get('/api/app/order/shipping', [AppShippingController::class, 'detail']);
Route::post('/api/app/order/shipping/recognize', [AppShippingController::class, 'recognize']);
Route::post('/api/app/order/shipping/save', [AppShippingController::class, 'save']);
Route::get('/api/app/addresses', [AppAddressesController::class, 'index']);
Route::get('/api/app/address/detail', [AppAddressesController::class, 'detail']);
Route::post('/api/app/address/save', [AppAddressesController::class, 'save']);
Route::post('/api/app/address/default', [AppAddressesController::class, 'setDefault']);
Route::post('/api/app/address/delete', [AppAddressesController::class, 'delete']);
Route::post('/api/open/v1/orders', [OpenOrdersController::class, 'create']);
Route::post('/api/open/v1/orders/shipping', [OpenOrdersController::class, 'shipping']);
Route::get('/api/open/v1/orders', [OpenOrdersController::class, 'detail']);
Route::get('/api/open/v1/orders/{external_order_no}', [OpenOrdersController::class, 'detail']);
Route::get('/api/open/v1/service-price-packages', [OpenOrdersController::class, 'servicePricePackages']);
Route::post('/api/open/kuaidi100/callback', [OpenKuaidi100Controller::class, 'callback']);
Route::post('/api/open/shouqianba/payment/notify', [OpenShouqianbaPaymentController::class, 'notify']);
Route::get('/api/admin/ping', function () {
return api_success(['pong' => true]);
});
Route::post('/api/admin/auth/login', [AdminAuthController::class, 'login']);
Route::get('/api/admin/auth/me', [AdminAuthController::class, 'me']);
Route::post('/api/admin/auth/logout', [AdminAuthController::class, 'logout']);
Route::post('/api/admin/file-upload/direct-policy', [AdminFileUploadController::class, 'directPolicy']);
Route::get('/api/admin/dashboard', [AdminDashboardController::class, 'index']);
Route::get('/api/admin/orders', [AdminOrdersController::class, 'index']);
Route::get('/api/admin/order/detail', [AdminOrdersController::class, 'detail']);
Route::get('/api/admin/manual-order/meta', [AdminOrdersController::class, 'manualOrderMeta']);
Route::post('/api/admin/manual-order/create', [AdminOrdersController::class, 'createManualOrder']);
Route::post('/api/admin/manual-order/file/upload', [AdminOrdersController::class, 'uploadManualOrderFile']);
Route::get('/api/admin/order/warehouse/options', [AdminOrdersController::class, 'warehouseOptions']);
Route::post('/api/admin/order/warehouse/reassign', [AdminOrdersController::class, 'reassignWarehouse']);
Route::post('/api/admin/order/logistics/receive', [AdminOrdersController::class, 'receiveLogistics']);
Route::post('/api/admin/order/return-logistics/save', [AdminOrdersController::class, 'saveReturnLogistics']);
Route::post('/api/admin/order/return-logistics/receive', [AdminOrdersController::class, 'receiveReturnLogistics']);
Route::get('/api/admin/catalog/overview', [AdminCatalogController::class, 'overview']);
Route::get('/api/admin/catalog/categories', [AdminCatalogController::class, 'categories']);
Route::get('/api/admin/catalog/brands', [AdminCatalogController::class, 'brands']);
Route::get('/api/admin/catalog/upload-templates', [AdminCatalogController::class, 'uploadTemplates']);
Route::get('/api/admin/catalog/appraisal-templates', [AdminCatalogController::class, 'appraisalTemplates']);
Route::post('/api/admin/catalog/upload-template/sample-image/upload', [AdminCatalogController::class, 'uploadTemplateSampleImage']);
Route::post('/api/admin/catalog/upload-template/sample-image/delete', [AdminCatalogController::class, 'deleteUploadTemplateSampleImage']);
Route::post('/api/admin/catalog/category/save', [AdminCatalogController::class, 'saveCategory']);
Route::post('/api/admin/catalog/brand/save', [AdminCatalogController::class, 'saveBrand']);
Route::post('/api/admin/catalog/upload-templates/save', [AdminCatalogController::class, 'saveUploadTemplates']);
Route::post('/api/admin/catalog/appraisal-templates/save', [AdminCatalogController::class, 'saveAppraisalTemplates']);
Route::get('/api/admin/reports', [AdminReportsController::class, 'index']);
Route::get('/api/admin/report/detail', [AdminReportsController::class, 'detail']);
Route::post('/api/admin/report/trace-visibility', [AdminReportsController::class, 'updateTraceVisibility']);
Route::post('/api/admin/report/inspection/save', [AdminReportsController::class, 'saveInspection']);
Route::post('/api/admin/report/publish', [AdminReportsController::class, 'publish']);
Route::post('/api/admin/report/reject', [AdminReportsController::class, 'reject']);
Route::get('/api/admin/appraisal-tasks', [AdminAppraisalTasksController::class, 'index']);
Route::get('/api/admin/appraisal-task/detail', [AdminAppraisalTasksController::class, 'detail']);
Route::get('/api/admin/appraisal-task/assignable-admins', [AdminAppraisalTasksController::class, 'assignableAdmins']);
Route::post('/api/admin/appraisal-task/assign', [AdminAppraisalTasksController::class, 'assign']);
Route::post('/api/admin/appraisal-task/save-result', [AdminAppraisalTasksController::class, 'saveResult']);
Route::post('/api/admin/appraisal-task/material-tag/bind', [AdminAppraisalTasksController::class, 'bindMaterialTag']);
Route::post('/api/admin/appraisal-task/material-tag/publish', [AdminAppraisalTasksController::class, 'publishWithMaterialTag']);
Route::post('/api/admin/appraisal-task/transfer-tag/scan', [AdminAppraisalTasksController::class, 'scanTransferTag']);
Route::post('/api/admin/appraisal-task/zhongjian-report/save', [AdminAppraisalTasksController::class, 'saveZhongjianReport']);
Route::post('/api/admin/appraisal-task/request-supplement', [AdminAppraisalTasksController::class, 'requestSupplement']);
Route::post('/api/admin/appraisal-task/evidence/upload', [AdminAppraisalTasksController::class, 'uploadEvidenceFile']);
Route::post('/api/admin/appraisal-task/evidence/delete', [AdminAppraisalTasksController::class, 'deleteEvidenceFile']);
Route::get('/api/admin/messages/overview', [AdminMessagesController::class, 'overview']);
Route::get('/api/admin/messages/templates', [AdminMessagesController::class, 'templates']);
Route::get('/api/admin/messages/logs', [AdminMessagesController::class, 'logs']);
Route::post('/api/admin/messages/template/save', [AdminMessagesController::class, 'saveTemplate']);
Route::get('/api/admin/tickets/overview', [AdminTicketsController::class, 'overview']);
Route::get('/api/admin/tickets', [AdminTicketsController::class, 'index']);
Route::get('/api/admin/ticket/detail', [AdminTicketsController::class, 'detail']);
Route::post('/api/admin/ticket/save', [AdminTicketsController::class, 'save']);
Route::post('/api/admin/ticket/reply', [AdminTicketsController::class, 'reply']);
Route::post('/api/admin/ticket/file/upload', [AdminTicketsController::class, 'uploadFile']);
Route::post('/api/admin/ticket/file/delete', [AdminTicketsController::class, 'deleteFile']);
Route::get('/api/admin/users/overview', [AdminUsersController::class, 'overview']);
Route::get('/api/admin/users', [AdminUsersController::class, 'index']);
Route::get('/api/admin/user/detail', [AdminUsersController::class, 'detail']);
Route::post('/api/admin/user/save', [AdminUsersController::class, 'save']);
Route::get('/api/admin/customers', [AdminCustomersController::class, 'index']);
Route::get('/api/admin/customer/detail', [AdminCustomersController::class, 'detail']);
Route::post('/api/admin/customer/save', [AdminCustomersController::class, 'save']);
Route::post('/api/admin/customer/app/create', [AdminCustomersController::class, 'createApp']);
Route::post('/api/admin/customer/app/status', [AdminCustomersController::class, 'updateAppStatus']);
Route::post('/api/admin/customer/app/reset-secret', [AdminCustomersController::class, 'resetAppSecret']);
Route::get('/api/admin/customer/orders', [AdminCustomersController::class, 'orders']);
Route::get('/api/admin/customer/order/progress', [AdminCustomersController::class, 'orderProgress']);
Route::get('/api/admin/customer/events', [AdminCustomersController::class, 'events']);
Route::get('/api/admin/customer/deliveries', [AdminCustomersController::class, 'deliveries']);
Route::post('/api/admin/customer/event/resend', [AdminCustomersController::class, 'resendEvent']);
Route::get('/api/admin/warehouses/overview', [AdminWarehousesController::class, 'overview']);
Route::get('/api/admin/warehouses', [AdminWarehousesController::class, 'index']);
Route::post('/api/admin/warehouse/save', [AdminWarehousesController::class, 'save']);
Route::get('/api/admin/express-companies', [AdminExpressCompaniesController::class, 'index']);
Route::get('/api/admin/express-company/catalog', [AdminExpressCompaniesController::class, 'catalog']);
Route::post('/api/admin/express-company/catalog/sync', [AdminExpressCompaniesController::class, 'syncCatalog']);
Route::post('/api/admin/express-company/recognize', [AdminExpressCompaniesController::class, 'recognize']);
Route::post('/api/admin/express-company/save', [AdminExpressCompaniesController::class, 'save']);
Route::get('/api/admin/warehouse-workbench/inbound/lookup', [AdminWarehouseWorkbenchController::class, 'inboundLookup']);
Route::post('/api/admin/warehouse-workbench/inbound/receive', [AdminWarehouseWorkbenchController::class, 'inboundReceive']);
Route::post('/api/admin/warehouse-workbench/inbound/evidence/upload', [AdminWarehouseWorkbenchController::class, 'uploadInboundEvidenceFile']);
Route::post('/api/admin/warehouse-workbench/return/packing/upload', [AdminWarehouseWorkbenchController::class, 'uploadReturnPackingFile']);
Route::get('/api/admin/warehouse-workbench/zhongjian/lookup', [AdminWarehouseWorkbenchController::class, 'zhongjianLookup']);
Route::post('/api/admin/warehouse-workbench/zhongjian/outbound', [AdminWarehouseWorkbenchController::class, 'zhongjianOutbound']);
Route::post('/api/admin/warehouse-workbench/zhongjian/inbound', [AdminWarehouseWorkbenchController::class, 'zhongjianInbound']);
Route::get('/api/admin/warehouse-workbench/return/lookup', [AdminWarehouseWorkbenchController::class, 'returnLookup']);
Route::post('/api/admin/warehouse-workbench/return/material-tag/verify', [AdminWarehouseWorkbenchController::class, 'verifyReturnMaterialTag']);
Route::post('/api/admin/warehouse-workbench/return/zhongjian/confirm', [AdminWarehouseWorkbenchController::class, 'confirmZhongjianReturn']);
Route::post('/api/admin/warehouse-workbench/return/report/confirm', [AdminWarehouseWorkbenchController::class, 'confirmReturnReport']);
Route::post('/api/admin/warehouse-workbench/return/ship', [AdminWarehouseWorkbenchController::class, 'shipReturn']);
Route::get('/api/admin/material/batches', [AdminMaterialsController::class, 'batches']);
Route::get('/api/admin/material/batch/detail', [AdminMaterialsController::class, 'detail']);
Route::post('/api/admin/material/batch/create', [AdminMaterialsController::class, 'create']);
Route::post('/api/admin/material/batch/invalidate', [AdminMaterialsController::class, 'invalidateBatch']);
Route::post('/api/admin/material/tag/invalidate', [AdminMaterialsController::class, 'invalidateTag']);
Route::get('/api/admin/material/batch/download-link', [AdminMaterialsController::class, 'downloadLink']);
Route::get('/api/admin/material/batch/download', [AdminMaterialsController::class, 'download']);
Route::get('/api/admin/access/overview', [AdminAccessController::class, 'overview']);
Route::get('/api/admin/access/admins', [AdminAccessController::class, 'admins']);
Route::get('/api/admin/access/roles', [AdminAccessController::class, 'roles']);
Route::get('/api/admin/access/permissions', [AdminAccessController::class, 'permissions']);
Route::post('/api/admin/access/admin/save', [AdminAccessController::class, 'saveAdmin']);
Route::post('/api/admin/access/role/save', [AdminAccessController::class, 'saveRole']);
Route::get('/api/admin/content/bootstrap', [AdminContentsController::class, 'bootstrap']);
Route::get('/api/admin/content/home', [AdminContentsController::class, 'home']);
Route::post('/api/admin/content/image/upload', [AdminContentsController::class, 'uploadImage']);
Route::post('/api/admin/content/home/save', [AdminContentsController::class, 'saveHome']);
Route::get('/api/admin/content/policy', [AdminContentsController::class, 'policy']);
Route::post('/api/admin/content/policy/save', [AdminContentsController::class, 'savePolicy']);
Route::get('/api/admin/content/meta', [AdminContentsController::class, 'meta']);
Route::post('/api/admin/content/meta/save', [AdminContentsController::class, 'saveMeta']);
Route::get('/api/admin/content/help/articles', [AdminContentsController::class, 'helpArticles']);
Route::post('/api/admin/content/help/article/save', [AdminContentsController::class, 'saveHelpArticle']);
Route::post('/api/admin/content/help/article/delete', [AdminContentsController::class, 'deleteHelpArticle']);
Route::get('/api/admin/system-configs', [AdminSystemConfigsController::class, 'index']);
Route::post('/api/admin/system-configs/upload-file', [AdminSystemConfigsController::class, 'uploadFile']);
Route::post('/api/admin/system-configs/save', [AdminSystemConfigsController::class, 'save']);
Route::get('/api/admin/service-price-packages', [AdminServicePricePackagesController::class, 'index']);
Route::post('/api/admin/service-price-package/save', [AdminServicePricePackagesController::class, 'save']);
Route::post('/api/admin/service-price-package/status', [AdminServicePricePackagesController::class, 'updateStatus']);
Route::post('/api/admin/service-price-package/default', [AdminServicePricePackagesController::class, 'setDefault']);