193 行
11 KiB
PHP
可执行文件
193 行
11 KiB
PHP
可执行文件
<?php
|
||
|
||
// +----------------------------------------------------------------------
|
||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||
// +----------------------------------------------------------------------
|
||
// | Author: liu21st <liu21st@gmail.com>
|
||
// +----------------------------------------------------------------------
|
||
|
||
// | 同城分类信息 · v1 业务路由表
|
||
// | 契约:docs/03-接口文档.md (小程序 /api/v1/... ,后台 PC /api/v1/admin/...)
|
||
// |
|
||
// | 说明:
|
||
// | 1) Nginx 已把 ^(.*)$ 重写到 /index.php?s=$1,pathinfo_depr 为 '/'
|
||
// | 2) TP 5.0 按「注册顺序」匹配,故长路径(:id/xxx)必须写在短路径(:id)之前
|
||
// | 3) :id 统一用 \d+ 约束,避免 /post/create、/post/drafts 被 :id 误吞
|
||
// | 4) 路由不限制请求方法,动作内部按 isPost() 分支(含 GET/POST 同路径的 4 处)
|
||
// +----------------------------------------------------------------------
|
||
|
||
return [
|
||
// 变量规则
|
||
'__pattern__' => [
|
||
'id' => '\d+',
|
||
],
|
||
//别名配置,别名只能是映射到控制器且访问时必须加上请求的方法
|
||
'__alias__' => [],
|
||
|
||
/* =============== 一、用户端 · 认证与登录(Module-AUTH) =============== */
|
||
'api/v1/auth/wx-login' => 'api/Auth/wxLogin',
|
||
'api/v1/auth/bind-phone' => 'api/Auth/bindPhone',
|
||
'api/v1/auth/wx-phone' => 'api/Auth/wxPhone',
|
||
'api/v1/auth/avatar' => 'api/Auth/uploadAvatar',
|
||
'api/v1/auth/switch-type' => 'api/Auth/switchType',
|
||
'api/v1/auth/profile' => 'api/Auth/profile',
|
||
'api/v1/auth/merchant' => 'api/Auth/merchantInfo',
|
||
'api/v1/auth/merchant-apply' => 'api/Auth/merchantApply',
|
||
'api/v1/auth/password-login' => 'api/Auth/passwordLogin',
|
||
'api/v1/auth/refresh' => 'api/Auth/refresh',
|
||
'api/v1/auth/realname' => 'api/Auth/realname',
|
||
'api/v1/setting/agreement' => 'api/Setting/agreement',
|
||
|
||
/* =============== 二、用户端 · 首页与展示(Module-HOME) =============== */
|
||
'api/v1/home/banners' => 'api/Home/banners',
|
||
'api/v1/home/categories' => 'api/Home/categories',
|
||
'api/v1/home/nav-categories' => 'api/Home/navCategories',
|
||
'api/v1/home/search/hot' => 'api/Home/hotKeywords',
|
||
'api/v1/home/feed' => 'api/Home/feed',
|
||
'api/v1/home/areas' => 'api/Home/areas',
|
||
'api/v1/home/locate' => 'api/Home/locate',
|
||
|
||
/* =============== 三、用户端 · 信息发布与详情(长路径优先) =============== */
|
||
'api/v1/post/:id/dial' => 'api/Post/dial',
|
||
'api/v1/post/:id/pay-view' => 'api/Post/payView',
|
||
'api/v1/post/comment/:id/reply' => 'api/Post/replyComment',
|
||
'api/v1/post/:id/comment' => 'api/Post/comment',
|
||
'api/v1/post/:id/comments' => 'api/Post/comments',
|
||
'api/v1/post/create' => 'api/Post/create',
|
||
'api/v1/post/mine' => 'api/Post/mine',
|
||
'api/v1/post/publish-config' => 'api/Post/publishConfig',
|
||
'api/v1/post/drafts' => 'api/Post/drafts',
|
||
'api/v1/post/draft/delete' => 'api/Post/deleteDraft',
|
||
'api/v1/post/draft' => 'api/Post/saveDraft',
|
||
// 发布媒体真实上传(multipart;静态路径,排在下行 :id 通配之前,避免被吞)
|
||
'api/v1/post/upload' => 'api/Post/uploadMedia',
|
||
'api/v1/post/:id' => 'api/Post/detail',
|
||
|
||
/* =============== 三·A、用户端 · 商家主页与门店详情 =============== */
|
||
'api/v1/merchant/:id/dial' => 'api/Merchant/dial',
|
||
'api/v1/merchant/:id/posts' => 'api/Merchant/posts',
|
||
'api/v1/merchant/:id' => 'api/Merchant/detail',
|
||
|
||
/* =============== 三·B、用户端 · 互动(举报 / 收藏 / 关注) ===============
|
||
* 顺序说明:本组全部是「同前缀、不同后缀」的静态路径(favorite/list、favorite/toggle、
|
||
* favorite/status、follow/toggle、follow/list),彼此不构成前缀包含关系,注册顺序互不吞并;
|
||
* 且本表未登记 favorite/:id、follow/:id、report/:id 之类通配规则,不存在被吞风险。
|
||
*/
|
||
'api/v1/report' => 'api/Report/create',
|
||
'api/v1/favorite/list' => 'api/Favorite/list',
|
||
'api/v1/favorite/toggle' => 'api/Favorite/toggle',
|
||
'api/v1/favorite/status' => 'api/Favorite/status',
|
||
'api/v1/follow/list' => 'api/Favorite/followList',
|
||
'api/v1/follow/toggle' => 'api/Favorite/follow',
|
||
|
||
/* =============== 三·C、用户端 · 个人主页与用户详情 =============== */
|
||
'api/v1/user/:id/posts' => 'api/User/posts',
|
||
'api/v1/user/:id' => 'api/User/detail',
|
||
|
||
/* =============== 四、用户端 · 会员中心(Module-MEMBER) =============== */
|
||
'api/v1/member/plans' => 'api/Member/plans',
|
||
'api/v1/member/benefits' => 'api/Member/benefits',
|
||
'api/v1/member/open' => 'api/Member/open',
|
||
'api/v1/member/orders' => 'api/Member/orders',
|
||
'api/v1/member/assets' => 'api/Member/assets',
|
||
'api/v1/member/flows' => 'api/Member/flows',
|
||
'api/v1/member/pay-password/set' => 'api/Member/setPayPassword',
|
||
|
||
/* =============== 五、用户端 · 分销中心(Module-DIST) =============== */
|
||
'api/v1/distribution/overview' => 'api/Distribution/overview',
|
||
'api/v1/distribution/team' => 'api/Distribution/team',
|
||
'api/v1/distribution/commissions' => 'api/Distribution/commissions',
|
||
'api/v1/distribution/poster' => 'api/Distribution/poster',
|
||
'api/v1/distribution/withdraw' => 'api/Distribution/withdraw',
|
||
'api/v1/distribution/withdraw-records' => 'api/Distribution/withdrawRecords',
|
||
'api/v1/distribution/withdraw-detail' => 'api/Distribution/withdrawDetail',
|
||
'api/v1/distribution/bind' => 'api/Distribution/bind',
|
||
|
||
/* =============== 六、用户端 · 消息中心(Module-MESSAGE) =============== */
|
||
'api/v1/message/list' => 'api/Message/list',
|
||
'api/v1/message/unread-count' => 'api/Message/unreadCount',
|
||
'api/v1/message/read-all' => 'api/Message/readAll',
|
||
'api/v1/message/clear' => 'api/Message/clear',
|
||
'api/v1/message/:id/read' => 'api/Message/read',
|
||
'api/v1/message/:id/delete' => 'api/Message/delete',
|
||
|
||
/* =============== 六·B、用户端 · 交易与支付(充值 / 微信支付 / 优惠券) ===============
|
||
* · pay/notify 为微信支付异步通知:**公开路由,无需登录**,验签与订单置为 paid 由
|
||
* api/Pay::notify 内部完成(未配置商户号时也返回 SUCCESS,避免微信重试风暴);
|
||
* · 本组均为静态路径,与上面的 message/:id(\d+)及下面的 post/:id 无交叉。
|
||
*/
|
||
'api/v1/order/recharge' => 'api/Order/recharge',
|
||
'api/v1/order/cancel' => 'api/Order/cancel',
|
||
'api/v1/order/detail' => 'api/Order/detail',
|
||
'api/v1/pay/prepay' => 'api/Pay/prepay',
|
||
'api/v1/pay/status' => 'api/Pay/status',
|
||
'api/v1/pay/notify' => 'api/Pay/notifyCallback',
|
||
'api/v1/pay/transfer-notify' => 'api/Pay/transferNotify',
|
||
'api/v1/pay/refund-notify' => 'api/Pay/refundNotify',
|
||
'api/v1/coupon/list' => 'api/Coupon/list',
|
||
'api/v1/coupon/usable' => 'api/Coupon/usable',
|
||
'api/v1/coupon/receive' => 'api/Coupon/receive',
|
||
|
||
/* =============== 七、站点 UI 配置(用户端读取、后台写入) =============== */
|
||
'api/v1/setting/ui' => 'api/Setting/ui',
|
||
|
||
/* =============== 八、后台 · 数据总览(Module-ADM-DASHBOARD) =============== */
|
||
'api/v1/admin/dashboard/overview' => 'api/AdminDashboard/overview',
|
||
'api/v1/admin/dashboard/trend' => 'api/AdminDashboard/trend',
|
||
|
||
/* =============== 九、后台 · 商家管理(Module-ADM-MERCHANT) =============== */
|
||
'api/v1/admin/merchant/:id/audit' => 'api/AdminMerchant/audit',
|
||
'api/v1/admin/merchants' => 'api/AdminMerchant/index',
|
||
|
||
/* =============== 十、后台 · 会员管理(Module-ADM-MEMBER) =============== */
|
||
'api/v1/admin/member/benefit' => 'api/AdminMember/saveBenefit',
|
||
'api/v1/admin/users' => 'api/AdminMember/users',
|
||
|
||
/* =============== 十一、后台 · 信息审核(Module-ADM-AUDIT) =============== */
|
||
'api/v1/admin/post/:id/audit' => 'api/AdminPost/audit',
|
||
'api/v1/admin/post/:id/offline' => 'api/AdminPost/offline',
|
||
'api/v1/admin/posts/pending' => 'api/AdminPost/pending',
|
||
|
||
/* =============== 十二、后台 · 评价管理(Module-ADM-COMMENT) =============== */
|
||
'api/v1/admin/comment/:id/reply' => 'api/AdminComment/reply',
|
||
'api/v1/admin/comments' => 'api/AdminComment/index',
|
||
'api/v1/admin/reports' => 'api/AdminComment/reports',
|
||
|
||
/* =============== 十三、后台 · 分销管理(Module-ADM-DIST) =============== */
|
||
'api/v1/admin/dist/withdraw/:id/pay' => 'api/AdminDist/handleWithdraw',
|
||
'api/v1/admin/dist/withdraw/:id/cancel' => 'api/AdminDist/cancelWithdraw',
|
||
'api/v1/admin/dist/setting' => 'api/AdminDist/setting',
|
||
'api/v1/admin/dist/withdraws' => 'api/AdminDist/withdraws',
|
||
|
||
/* =============== 十四、后台 · 订单管理(Module-ADM-ORDER) =============== */
|
||
'api/v1/admin/order/:id/refund' => 'api/AdminOrder/refund',
|
||
'api/v1/admin/order/supplement' => 'api/AdminOrder/supplement',
|
||
'api/v1/admin/orders' => 'api/AdminOrder/index',
|
||
|
||
/* =============== 十五、后台 · 财务管理(Module-ADM-FINANCE) =============== */
|
||
'api/v1/admin/finance/flows' => 'api/AdminFinance/flows',
|
||
'api/v1/admin/finance/report' => 'api/AdminFinance/report',
|
||
|
||
/* =============== 十六、后台 · 权限管理(Module-ADM-RBAC) =============== */
|
||
'api/v1/admin/role' => 'api/AdminRbac/saveRole',
|
||
'api/v1/admin/roles' => 'api/AdminRbac/roles',
|
||
'api/v1/admin/accounts' => 'api/AdminRbac/accounts',
|
||
'api/v1/admin/logs' => 'api/AdminRbac/logs',
|
||
|
||
/* =============== 十七、后台 · 系统设置(Module-ADM-SETTING) ===============
|
||
* /setting/ui/reset 必须排在 /setting/ui 之前
|
||
*/
|
||
'api/v1/admin/setting/ui/reset' => 'api/AdminSetting/uiReset',
|
||
'api/v1/admin/setting/ui' => 'api/AdminSetting/ui',
|
||
'api/v1/admin/setting/base' => 'api/AdminSetting/base',
|
||
'api/v1/admin/setting/pay' => 'api/AdminSetting/pay',
|
||
'api/v1/admin/setting/fee' => 'api/AdminSetting/fee',
|
||
'api/v1/admin/setting/areas' => 'api/AdminSetting/areas',
|
||
'api/v1/admin/setting/area' => 'api/AdminSetting/saveArea',
|
||
'api/v1/admin/upload' => 'api/AdminSetting/upload',
|
||
];
|