api.php 60 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. <?php
  2. use app\http\middleware\AllowOriginMiddleware;
  3. use app\http\middleware\api\AuthTokenMiddleware;
  4. use app\http\middleware\api\BlockerMiddleware;
  5. use app\http\middleware\api\ClientMiddleware;
  6. use app\http\middleware\InstallMiddleware;
  7. use app\http\middleware\StationOpenMiddleware;
  8. use think\facade\Config;
  9. use think\facade\Route;
  10. use think\Response;
  11. /**
  12. * 用户端路由配置
  13. */
  14. Route::group('api', function () {
  15. /**
  16. * 无需授权接口
  17. */
  18. Route::group(function () {
  19. Route::get('geoLbscoder', 'v1.PublicController/geoLbscoder')->name('geoLbscoder');//经纬度转位置信息
  20. Route::get('city', 'v2.PublicController/city')->name('city');//增加省市区
  21. Route::get('site_config', 'v1.PublicController/getSiteConfig')->name('getSiteConfig');//获取网站配置
  22. Route::get('navigation/[:template_name]', 'v1.PublicController/getNavigation')->name('getNavigation');//获取底部导航
  23. Route::get('search/keyword', 'v1.PublicController/search')->name('searchKeyword');//热门搜索关键字获取
  24. Route::get('category', 'v1.product.CategoryController/category')->name('category');//商品分类类
  25. Route::get('category_version', 'v1.product.CategoryController/getCategoryVersion')->name('getCategoryVersion');//商品分类类版本
  26. Route::get('reply/list/:id', 'v1.product.StoreProductController/reply_list')->name('replyList');//商品评价列表
  27. Route::get('reply/config/:id', 'v1.product.StoreProductController/reply_config')->name('replyConfig');//商品评价数量和好评度
  28. Route::get('user_agreement/[:type]', 'v1.PublicController/getUserAgreement')
  29. ->name('getUserAgreement')
  30. ->middleware(AuthTokenMiddleware::class, false);//获取用户协议
  31. Route::get('get_open_adv', 'v1.PublicController/getOpenAdv')->name('getOpenAdv');//首页开屏广告
  32. })->middleware(StationOpenMiddleware::class);
  33. /**
  34. * 授权不通过,不会抛出异常继续执行
  35. */
  36. Route::group(function () {
  37. //公共类
  38. Route::get('index', 'v1.PublicController/index')->name('index');//首页
  39. Route::get('menu/user', 'v1.PublicController/menu_user')->name('menuUser');//个人中心菜单
  40. //商品类
  41. Route::get('brand', 'v1.product.StoreProductController/brand')->name('brand');//品牌列表
  42. Route::get('presale/list', 'v1.product.StoreProductController/presaleList')->name('presaleList');//预售商品列表
  43. Route::post('image_base64', 'v1.PublicController/get_image_base64')->name('getImageBase64');// 获取图片base64
  44. Route::get('product/detail/recommend/:id','v1.product.StoreProductController/recommend')->name('productRecommend');//商品详情推荐商品
  45. Route::get('product/detail/activity/:id','v1.product.StoreProductController/activity')->name('productActivity');//商品详情关联活动
  46. Route::get('product/detail/:id/[:type]', 'v1.product.StoreProductController/detail')->name('detail');//商品详情
  47. Route::get('product/store/detail/:id', 'v2.product.StoreProductController/getStoreProductInfo')->name('getStoreProductInfo');//用平台商品ID获取门店该商品详情
  48. Route::get('product/detail_content/:id/', 'v1.product.StoreProductController/detailContent')->name('detailContent');//商品详情内容
  49. Route::get('groom/list/:type', 'v1.product.StoreProductController/groom_list')->name('groomList');//获取首页推荐不同类型商品的轮播图和商品
  50. Route::get('products', 'v1.product.StoreProductController/lst')->name('products');//商品列表
  51. Route::get('product/hot', 'v1.product.StoreProductController/product_hot')->name('productHot');//为你推荐
  52. Route::get('reply/comment/:id', 'v1.product.StoreProductController/commentList')->name('commentList');//评价回复列表
  53. //文章分类类
  54. Route::get('article/category/list', 'v1.publics.ArticleCategoryController/lst')->name('articleCategoryList');//文章分类列表
  55. //文章类
  56. Route::get('article/list/:cid', 'v1.publics.ArticleController/lst')->name('articleList');//文章列表
  57. Route::get('article/details/:id', 'v1.publics.ArticleController/details')->name('articleDetails');//文章详情
  58. Route::get('article/hot/list', 'v1.publics.ArticleController/hot')->name('articleHotList');//文章 热门
  59. Route::get('article/new/list', 'v1.publics.ArticleController/new')->name('articleNewList');//文章 最新
  60. Route::get('article/banner/list', 'v1.publics.ArticleController/banner')->name('articleBannerList');//文章 banner
  61. //活动---秒杀
  62. Route::get('seckill/index', 'v1.activity.StoreSeckillController/index')->name('seckillIndex');//秒杀商品时间区间
  63. Route::get('seckill/list/:time', 'v1.activity.StoreSeckillController/lst')->name('seckillList');//秒杀商品列表
  64. Route::get('seckill/detail/:id/[:time]', 'v1.activity.StoreSeckillController/detail')->name('seckillDetail');//秒杀商品详情
  65. Route::get('seckill/detail_code/:id', 'v1.activity.StoreSeckillController/detailCode')->name('seckilldetailCode');//秒杀商品二维码
  66. //活动---砍价
  67. Route::get('bargain/config', 'v1.activity.StoreBargainController/config')->name('bargainConfig');//砍价商品列表配置
  68. Route::get('bargain/list', 'v1.activity.StoreBargainController/lst')->name('bargainList');//砍价商品列表
  69. Route::get('bargain/detail/:id', 'v1.activity.StoreBargainController/detail')->name('bargainDetail');//砍价商品详情
  70. //活动---拼团
  71. Route::get('combination/list', 'v1.activity.StoreCombinationController/lst')->name('combinationList');//拼团商品列表
  72. Route::get('combination/detail/:id', 'v1.activity.StoreCombinationController/detail')->name('combinationDetail');//拼团商品详情
  73. Route::get('combination/detail_code/:id', 'v1.activity.StoreCombinationController/detailCode')->name('detailCode');//拼团商品详情二维码
  74. //用户类
  75. Route::get('user/activity', 'v1.user.UserController/activity')->name('userActivity');//活动状态
  76. //微信
  77. Route::get('wechat/config', 'v1.wechat.WechatController/config')->name('wechatConfig');//微信 sdk 配置
  78. Route::get('wechat/auth', 'v1.wechat.WechatController/auth')->name('wechatAuth');//微信授权
  79. Route::post('wechat/app_auth', 'v1.wechat.WechatController/appAuth')->name('appAuth');//微信APP授权
  80. //小程序登陆
  81. Route::post('wechat/mp_auth', 'v1.wechat.AuthController/mp_auth')->name('mpAuth');//小程序登陆
  82. Route::get('wechat/get_logo', 'v1.PublicController/getLogo')->name('getLogo');//登陆页面logo
  83. Route::get('wechat/teml_ids', 'v1.wechat.AuthController/teml_ids')->name('wechatTemlIds');//小程序订阅消息
  84. Route::get('wechat/live', 'v1.wechat.AuthController/live')->name('wechatLive');//小程序直播列表
  85. Route::get('wechat/livePlaybacks/:id', 'v1.wechat.AuthController/livePlaybacks')->name('livePlaybacks');//小程序直播回放
  86. //物流公司
  87. Route::get('logistics', 'v1.PublicController/logistics')->name('logistics');//物流公司列表
  88. //分享配置
  89. Route::get('share', 'v1.PublicController/share')->name('share');//分享配置
  90. //优惠券
  91. Route::get('coupons', 'v1.activity.StoreCouponsController/lst')->name('couponsList'); //可领取优惠券列表
  92. //短信购买异步通知
  93. Route::post('sms/pay/notify', 'v1.PublicController/sms_pay_notify')->name('smsPayNotify'); //短信购买异步通知
  94. //获取关注微信公众号海报
  95. Route::get('wechat/follow', 'v1.wechat.WechatController/follow')->name('Follow');
  96. //用户是否关注
  97. Route::get('subscribe', 'v1.user.UserController/subscribe')->name('Subscribe');
  98. //门店列表
  99. Route::get('store_list', 'v1.PublicController/store_list')->name('storeList');
  100. //获取城市列表
  101. Route::get('city_list', 'v1.PublicController/city_list')->name('cityList');
  102. //获取附近最近门店
  103. Route::get('nearby_store', 'v1.store.StoreController/nearbyStore')->name('nearbyStore');
  104. Route::get('pink', 'v1.PublicController/pink')->name('pinkData');
  105. Route::get('combination/banner_list', 'v1.activity.StoreCombinationController/banner_list')->name('combinationBannerList');//拼团列表轮播图
  106. Route::post('user/set_visit', 'v1.user.UserController/set_visit')->name('setVisit');// 添加用户访问记录
  107. Route::get('copy_words', 'v1.PublicController/copy_words')->name('copyWords');// 复制口令接口
  108. //活动---积分商城
  109. Route::get('store_integral/index', 'v1.activity.StoreIntegralController/index')->name('storeIntegralIndex');//积分商城首页数据
  110. Route::get('store_integral/list', 'v1.activity.StoreIntegralController/lst')->name('storeIntegralList');//积分商品列表
  111. Route::get('store_integral/detail/:id', 'v1.activity.StoreIntegralController/detail')->name('storeIntegralDetail');//积分商品详情
  112. //优惠套餐列表
  113. Route::get('store_discounts/list/:product_id', 'v1.activity.StoreDiscountsController/index');
  114. //获取客服类型
  115. Route::get('get_customer_type', 'v2.PublicController/getCustomerType')->name('getCustomerType');//获取客服类型
  116. Route::get('user/service/get_adv', 'v1.user.StoreService/getKfAdv')->name('userServiceGetKfAdv');//获取客服页面广告
  117. })->middleware(StationOpenMiddleware::class)->middleware(AuthTokenMiddleware::class, false);
  118. /**
  119. * diy相关
  120. */
  121. Route::group('diy', function () {
  122. //无需登录接口
  123. Route::group(function () {
  124. Route::get('get_diy/[:id]', 'v1.PublicController/getDiy');//DIY接口
  125. Route::get('diy_version/[:id]', 'v1.PublicController/getDiyVersion');//DIY版本接口
  126. });
  127. //未授权接口---不会抛异常
  128. Route::group(function () {
  129. Route::get('user_info', 'v1.diy.Diy/userInfo')->name('diyUserInfo');//diy用户信息
  130. Route::get('video_list', 'v1.diy.Diy/videoList')->name('diyVideoList');//diy短视频列表
  131. Route::get('newcomer_list', 'v1.diy.Diy/newcomerList')->name('diyNewcomerList');//diy新人专享商品列表
  132. })->middleware(AuthTokenMiddleware::class, false);
  133. //需要授权接口
  134. Route::group(function () {
  135. })->middleware(AuthTokenMiddleware::class, true);
  136. })->middleware(StationOpenMiddleware::class);
  137. Route::any('wechat/serve', 'v1.wechat.WechatController/serve');//公众号服务
  138. Route::any('wechat/miniServe', 'v1.wechat.WechatController/miniServe');//小程序服务
  139. Route::any('work/serve', 'v1.wechat.WechatController/work');//公众号服务
  140. Route::any('wechat/notify', 'v1.wechat.WechatController/notify');//公众号支付回调
  141. Route::any('routine/notify', 'v1.wechat.AuthController/notify');//小程序支付回调
  142. Route::any('pay/notify/:type', 'v1.PayController/notify');//支付回调
  143. Route::any('city_delivery/notify', 'v1.CityDeliveryController/notify');//UU、达达回调
  144. Route::get('get_script', 'v1.PublicController/getScript');//统计代码
  145. Route::get('get_copyright', 'v1.PublicController/getCopyright');//获取版权
  146. //图形验证码
  147. Route::get('ajcaptcha', 'v1.LoginController/ajcaptcha')->name('ajcaptcha');
  148. //图形验证码
  149. Route::post('ajcheck', 'v1.LoginController/ajcheck')->name('ajcheck');
  150. /**
  151. * 登录类
  152. */
  153. Route::group(function () {
  154. //apple快捷登陆
  155. Route::post('apple_login', 'v1.LoginController/appleLogin')->name('appleLogin');//微信APP授权
  156. //账号密码登录
  157. Route::post('login', 'v1.LoginController/login')->name('login');
  158. // 获取发短信的key
  159. Route::get('verify_code', 'v1.LoginController/verifyCode')->name('verifyCode');
  160. //手机号登录
  161. Route::post('login/mobile', 'v1.LoginController/mobile')->name('loginMobile');
  162. //图片验证码
  163. Route::get('sms_captcha', 'v1.LoginController/captcha')->name('captcha');
  164. //验证码发送
  165. Route::post('register/verify', 'v1.LoginController/verify')->name('registerVerify');
  166. //手机号注册
  167. Route::post('register', 'v1.LoginController/register')->name('register');
  168. //手机号修改密码
  169. Route::post('register/reset', 'v1.LoginController/reset')->name('registerReset');
  170. // 绑定手机号(静默授权 还未有用户信息)
  171. Route::post('binding', 'v1.LoginController/binding_phone')->name('bindingPhone');
  172. // 支付宝复制链接支付
  173. Route::get('ali_pay', 'v1.order.StoreOrderController/aliPay')->name('aliPay');
  174. })->middleware(StationOpenMiddleware::class);
  175. /**
  176. * 会员授权接口
  177. */
  178. Route::group(function () {
  179. //保存商品评价回复
  180. Route::post('reply/comment/:id', 'v1.product.StoreProductController/replyComment')->name('replyComment');
  181. //获取评论详情
  182. Route::get('reply/info/:id', 'v1.product.StoreProductController/replyInfo')->name('replyInfo');
  183. //评论回复点赞
  184. Route::post('reply/praise/:id', 'v1.product.StoreProductController/commentPraise')->name('commentPraise');
  185. //取消评论回复点赞
  186. Route::post('reply/un_praise/:id', 'v1.product.StoreProductController/unCommentPraise')->name('unCommentPraise');
  187. //评论点赞
  188. Route::post('reply/reply_praise/:id', 'v1.product.StoreProductController/replyPraise')->name('replyPraise');
  189. //取消评论点赞
  190. Route::post('reply/un_reply_praise/:id', 'v1.product.StoreProductController/unReplyPraise')->name('unReplyPraise');
  191. // 用户注销
  192. Route::get('cancel/user', 'v1.PublicController/cancelUser')->name('cancelUser');
  193. //用户修改手机号
  194. Route::post('user/updatePhone', 'v1.LoginController/update_binding_phone')->name('updateBindingPhone');
  195. //设置登录code
  196. Route::post('user/code', 'v1.user.StoreService/setLoginCode')->name('setLoginCode');
  197. //查看code是否可用
  198. Route::get('user/code', 'v1.LoginController/setLoginKey')->name('getLoginKey');
  199. //用户绑定手机号
  200. Route::post('user/binding', 'v1.LoginController/user_binding_phone')->name('userBindingPhone');
  201. Route::get('logout', 'v1.LoginController/logout')->name('logout');// 退出登录
  202. Route::post('switch_h5', 'v1.LoginController/switch_h5')->name('switch_h5');// 切换账号
  203. //商品类
  204. Route::get('product/code/:id', 'v1.product.StoreProductController/code')->name('productCode');//商品分享二维码 推广员
  205. //公共类
  206. Route::post('upload/image', 'v1.PublicController/upload_image')->name('uploadImage');//图片上传
  207. //用户类 客服聊天记录
  208. Route::get('user/service/list', 'v1.user.StoreService/lst')->name('userServiceList');//客服列表
  209. Route::get('user/service/record', 'v1.user.StoreService/record')->name('userServiceRecord');//客服聊天记录
  210. Route::post('user/service/feedback', 'v1.user.StoreService/saveFeedback')->name('saveFeedback');//保存客服反馈信息
  211. Route::get('user/service/feedback', 'v1.user.StoreService/getFeedbackInfo')->name('getFeedbackInfo');//获得客服反馈头部信息
  212. Route::get('user/record', 'v1.user.StoreService/recordList')->name('recordList');//获取用户和客服的消息列表
  213. //用户类 用户
  214. Route::get('user', 'v1.user.UserController/user')->name('user');//个人中心
  215. Route::post('user/spread', 'v1.user.UserController/spread')->name('userSpread');//静默绑定授权
  216. Route::post('user/edit', 'v1.user.UserController/edit')->name('userEdit');//用户修改信息
  217. Route::get('user/balance', 'v1.user.UserController/balance')->name('userBalance');//用户资金统计
  218. Route::get('userinfo', 'v1.user.UserController/userinfo')->name('userinfo');// 用户信息
  219. Route::get('user/rand_code', 'v1.user.UserController/randCode')->name('randCode');//查看用户code
  220. Route::get('user/visit_list', 'v1.user.UserController/visitList')->name('visitList');//商品浏览列表
  221. Route::delete('user/visit', 'v1.user.UserController/visitDelete')->name('visitDelete');//商品浏览记录删除
  222. //用户类 地址
  223. Route::get('address/detail/:id', 'v1.user.UserAddressController/address')->name('address');//获取单个地址
  224. Route::get('address/list', 'v1.user.UserAddressController/address_list')->name('addressList');//地址列表
  225. Route::post('address/default/set', 'v1.user.UserAddressController/address_default_set')->name('addressDefaultSet');//设置默认地址
  226. Route::get('address/default', 'v1.user.UserAddressController/address_default')->name('addressDefault');//获取默认地址
  227. Route::post('address/edit', 'v1.user.UserAddressController/address_edit')->name('addressEdit');//修改 添加 地址
  228. Route::post('address/del', 'v1.user.UserAddressController/address_del')->name('addressDel');//删除地址
  229. //用户类 收藏
  230. Route::get('collect/user', 'v1.user.UserCollectController/collect_user')->name('collectUser');//收藏商品列表
  231. Route::post('collect/add', 'v1.user.UserCollectController/collect_add')->name('collectAdd');//添加收藏
  232. Route::post('collect/del', 'v1.user.UserCollectController/collect_del')->name('collectDel');//取消收藏
  233. Route::post('collect/all', 'v1.user.UserCollectController/collect_all')->name('collectAll');//批量添加收藏
  234. Route::get('brokerage_rank', 'v1.user.UserBrokerageController/brokerage_rank')->name('brokerageRank');//佣金排行
  235. Route::get('rank', 'v1.user.UserController/rank')->name('rank');//推广人排行
  236. //用戶类 分享
  237. Route::post('user/share', 'v1.PublicController/user_share')->name('user_share');//记录用户分享
  238. Route::get('user/share/words', 'v1.PublicController/copy_share_words')->name('user_share_words');//关键字分享
  239. //用户类 点赞
  240. // Route::post('like/add', 'user.UserController/like_add')->name('likeAdd');//添加点赞
  241. // Route::post('like/del', 'user.UserController/like_del')->name('likeDel');//取消点赞
  242. //用户类 签到
  243. Route::get('sign/config', 'v1.user.UserSignController/sign_config')->name('signConfig');//签到配置
  244. Route::get('sign/list', 'v1.user.UserSignController/sign_list')->name('signList');//签到列表
  245. Route::get('sign/month', 'v1.user.UserSignController/sign_month')->name('signIntegral');//签到列表(年月)
  246. Route::post('sign/user', 'v1.user.UserSignController/sign_user')->name('signUser');//签到用户信息
  247. Route::post('sign/integral', 'v1.user.UserSignController/sign_integral')->middleware(BlockerMiddleware::class)->name('signIntegral');//签到
  248. //优惠券类
  249. Route::post('coupon/receive', 'v1.activity.StoreCouponsController/receive')->name('couponReceive'); //领取优惠券
  250. Route::post('coupon/receive/batch', 'v1.activity.StoreCouponsController/receive_batch')->name('couponReceiveBatch'); //批量领取优惠券
  251. Route::get('coupons/user/:types', 'v1.activity.StoreCouponsController/user')->name('couponsUser');//用户已领取优惠券
  252. Route::get('coupons/order/:price', 'v1.activity.StoreCouponsController/order')->name('couponsOrder');//优惠券 订单列表
  253. //购物车类
  254. Route::get('cart/list', 'v1.order.StoreCartController/lst')->name('cartList'); //购物车列表
  255. Route::post('cart/compute', 'v1.order.StoreCartController/computeCart')->name('computeCart'); //购物车列表重新计算
  256. Route::post('cart/add', 'v1.order.StoreCartController/add')->middleware(BlockerMiddleware::class)->name('cartAdd'); //购物车添加
  257. Route::post('cart/del', 'v1.order.StoreCartController/del')->name('cartDel'); //购物车删除
  258. Route::post('order/cancel', 'v1.order.StoreOrderController/cancel')->name('orderCancel'); //订单取消
  259. Route::post('cart/num', 'v1.order.StoreCartController/num')->name('cartNum'); //购物车 修改商品数量
  260. Route::get('cart/count', 'v1.order.StoreCartController/count')->name('cartCount'); //购物车 获取数量
  261. //订单类
  262. Route::post('order/check_shipping', 'v1.order.StoreOrderController/checkShipping')->name('checkShipping'); //检测是否显示快递和自提标签
  263. Route::post('order/confirm', 'v1.order.StoreOrderController/confirm')->name('orderConfirm'); //订单确认
  264. Route::post('order/computed/:key', 'v1.order.StoreOrderController/computedOrder')->name('computedOrder'); //计算订单金额
  265. Route::post('order/create/:key', 'v1.order.StoreOrderController/create')->middleware(BlockerMiddleware::class)->name('orderCreate'); //订单创建
  266. Route::get('order/data', 'v1.order.StoreOrderController/data')->name('orderData'); //订单统计数据
  267. Route::get('order/list', 'v1.order.StoreOrderController/lst')->name('orderList'); //订单列表
  268. Route::get('order/detail/:uni', 'v1.order.StoreOrderController/detail')->name('orderDetail'); //订单详情
  269. Route::get('order/write/records/:id', 'v1.order.StoreOrderController/writeOffRecords')->name('writeOffRecords'); //订单核销记录
  270. Route::get('delivery_order/detail/:id', 'v1.order.StoreOrderController/deliveryOrderDetail')->name('deliveryOrderDetail'); //配送订单详情
  271. //订单售后
  272. Route::get('order/refund/reason', 'v1.order.StoreOrderController/refund_reason')->name('orderRefundReason'); //订单退款理由
  273. Route::get('order/refund/cart_info/:id', 'v1.order.StoreOrderController/refundCartInfo')->name('StoreOrderRefundCartInfo');//获取退款商品列表
  274. Route::post('order/refund/cart_info', 'v1.order.StoreOrderController/refundCartInfoList')->name('StoreOrderRefundCartInfoList');//获取退款商品列表
  275. Route::post('order/refund/apply/:id', 'v1.order.StoreOrderController/applyRefund')->middleware(BlockerMiddleware::class)->name('StoreOrderApplRefund');//订单申请退款V2
  276. Route::post('order/refund/verify', 'v1.order.StoreOrderController/refund_verify')->middleware(BlockerMiddleware::class)->name('orderRefundVerify'); //订单申请退款
  277. Route::post('order/refund/express', 'v1.order.StoreOrderController/refund_express')->name('orderRefundExpress'); //退货退款填写订单号
  278. Route::get('order/refund/list', 'v1.order.StoreOrderRefundController/lst')->name('orderRefundList'); //售后订单列表
  279. Route::get('order/refund/detail/:uni', 'v1.order.StoreOrderRefundController/detail')->name('orderRefundDetail'); //售后订单详情
  280. Route::post('order/refund/cancel/:uni', 'v1.order.StoreOrderRefundController/cancelApply')->name('orderRefundCancel'); //取消售后申请
  281. Route::get('order/refund/del/:uni', 'v1.order.StoreOrderRefundController/delRefundOrder')->name('delRefundOrder'); //删除已退款和拒绝退款的订单
  282. Route::post('order/take', 'v1.order.StoreOrderController/take')->name('orderTake'); //订单收货
  283. Route::get('order/express/:uni/[:type]', 'v1.order.StoreOrderController/express')->name('orderExpress'); //订单查看物流
  284. Route::post('order/del', 'v1.order.StoreOrderController/del')->name('orderDel'); //订单删除
  285. Route::post('order/again', 'v1.order.StoreOrderController/again')->name('orderAgain'); //订单 再次下单
  286. Route::post('order/pay', 'v1.order.StoreOrderController/pay')->name('orderPay'); //订单支付
  287. Route::post('order/product', 'v1.order.StoreOrderController/product')->name('orderProduct'); //订单商品信息
  288. Route::post('order/comment', 'v1.order.StoreOrderController/comment')->middleware(BlockerMiddleware::class)->name('orderComment'); //订单评价
  289. Route::get('order/pay_cashier', 'v1.order.StoreOrderController/payCashierOrder')->name('payCashierOrder'); //用户门店下单付款
  290. //活动---砍价
  291. Route::post('bargain/start', 'v1.activity.StoreBargainController/start')->name('bargainStart');//砍价开启
  292. Route::post('bargain/start/user', 'v1.activity.StoreBargainController/start_user')->name('bargainStartUser');//砍价 开启砍价用户信息
  293. Route::post('bargain/share', 'v1.activity.StoreBargainController/share')->name('bargainShare');//砍价 观看/分享/参与次数
  294. Route::post('bargain/help', 'v1.activity.StoreBargainController/help')->name('bargainHelp');//砍价 帮助好友砍价
  295. Route::post('bargain/help/price', 'v1.activity.StoreBargainController/help_price')->name('bargainHelpPrice');//砍价 砍掉金额
  296. Route::post('bargain/help/count', 'v1.activity.StoreBargainController/help_count')->name('bargainHelpCount');//砍价 砍价帮总人数、剩余金额、进度条、已经砍掉的价格
  297. Route::post('bargain/help/list', 'v1.activity.StoreBargainController/help_list')->name('bargainHelpList');//砍价 砍价帮
  298. Route::get('bargain/user/list', 'v1.activity.StoreBargainController/user_list')->name('bargainUserList');//砍价列表(已参与)
  299. Route::post('bargain/user/cancel', 'v1.activity.StoreBargainController/user_cancel')->name('bargainUserCancel');//砍价取消
  300. Route::get('bargain/poster_info/:bargainId', 'v1.activity.StoreBargainController/posterInfo')->name('posterInfo');//砍价海报详细信息
  301. //活动---拼团
  302. Route::get('combination/pink/:id', 'v1.activity.StoreCombinationController/pink')->name('combinationPink');//拼团开团
  303. Route::post('combination/remove', 'v1.activity.StoreCombinationController/remove')->name('combinationRemove');//拼团 取消开团
  304. Route::get('combination/poster_info/:id', 'v1.activity.StoreCombinationController/posterInfo')->name('pinkPosterInfo');//拼团海报详细获取
  305. //账单类
  306. Route::get('commission', 'v1.user.UserBrokerageController/commission')->name('commission');//推广数据 昨天的佣金 累计提现金额 当前佣金
  307. Route::post('spread/people', 'v1.user.UserController/spread_people')->name('spreadPeople');//推荐用户
  308. Route::post('spread/order', 'v1.user.UserBrokerageController/spread_order')->name('spreadOrder');//推广订单
  309. Route::get('spread/commission/:type', 'v1.user.UserBillController/spread_commission')->name('spreadCommission');//推广佣金明细
  310. Route::get('spread/count/:type', 'v1.user.UserBrokerageController/spread_count')->name('spreadCount');//推广 佣金 3/提现 4 总和
  311. Route::get('integral/list', 'v1.user.UserBillController/integral_list')->name('integralList');//积分记录
  312. Route::get('user/routine_code', 'v1.user.UserBillController/getRoutineCode')->name('getRoutineCode');//小程序二维码
  313. Route::get('user/spread_info', 'v1.user.UserBillController/getSpreadInfo')->name('getSpreadInfo');//获取分销背景等信息
  314. //提现类
  315. Route::get('extract/bank', 'v1.user.UserExtractController/bank')->name('extractBank');//提现银行/提现最低金额
  316. Route::post('extract/cash', 'v1.user.UserExtractController/cash')->name('extractCash');//提现申请
  317. //充值类
  318. Route::post('recharge/recharge', 'v1.user.UserRechargeController/recharge')->name('rechargeRecharge');//统一充值
  319. Route::post('recharge/routine', 'v1.user.UserRechargeController/routine')->name('rechargeRoutine');//小程序充值
  320. Route::post('recharge/wechat', 'v1.user.UserRechargeController/wechat')->name('rechargeWechat');//公众号充值
  321. Route::get('recharge/index', 'v1.user.UserRechargeController/index')->name('rechargeQuota');//充值余额选择
  322. //会员等级类
  323. Route::get('user/level/detection', 'v1.user.UserLevelController/detection')->name('userLevelDetection');//检测用户是否可以成为会员
  324. Route::get('user/level/grade', 'v1.user.UserLevelController/grade')->name('userLevelGrade');//会员等级列表
  325. Route::get('user/level/task/:id', 'v1.user.UserLevelController/task')->name('userLevelTask');//获取等级任务
  326. Route::get('user/level/info', 'v1.user.UserLevelController/userLevelInfo')->name('levelInfo');//获取等级任务
  327. Route::get('user/level/expList', 'v1.user.UserLevelController/expList')->name('expList');//获取等级任务
  328. Route::get('user/level/activate_info', 'v1.user.UserLevelController/activateInfo')->name('userActivateInfo');//用户激活会员卡需要的信息
  329. Route::post('user/level/activate', 'v1.user.UserLevelController/activateLevel')->name('userActivateLevel');//用户激活会员卡
  330. //首页获取未支付订单
  331. Route::get('order/nopay', 'v1.order.StoreOrderController/get_noPay')->name('getNoPay');//获取未支付订单
  332. Route::get('seckill/code/:id', 'v1.activity.StoreSeckillController/code')->name('seckillCode');//秒杀商品海报
  333. Route::get('combination/code/:id', 'v1.activity.StoreCombinationController/code')->name('combinationCode');//拼团商品海报
  334. //会员卡
  335. Route::get('user/member/card/index', 'v1.user.MemberCardController/index')->name('userMemberCardIndex');// 主页会员权益介绍页
  336. Route::post('user/member/card/draw', 'v1.user.MemberCardController/draw_member_card')->name('userMemberCardDraw');//卡密领取会员卡
  337. Route::post('user/member/card/create', 'v1.order.OtherOrderController/create')->name('userMemberCardCreate');//购买卡创建订单
  338. Route::get('user/member/coupons/list', 'v1.user.MemberCardController/memberCouponList')->name('userMemberCouponsList');//会员券列表
  339. Route::get('user/member/overdue/time', 'v1.user.MemberCardController/getOverdueTime')->name('userMemberOverdueTime');//会员时间
  340. //线下付款
  341. Route::post('order/offline/check/price', 'v1.order.OtherOrderController/computed_offline_pay_price')->name('orderOfflineCheckPrice'); //检测线下付款金额
  342. Route::post('order/offline/create', 'v1.order.OtherOrderController/create')->name('orderOfflineCreate'); //检测线下付款金额
  343. Route::get('order/offline/pay/type', 'v1.order.OtherOrderController/pay_type')->name('orderOfflineCreate'); //线下付款支付方式
  344. //积分商城订单
  345. Route::post('store_integral/order/confirm', 'v1.activity.StoreIntegralOrderController/confirm')->name('storeIntegralOrderConfirm'); //订单确认
  346. Route::post('store_integral/order/create', 'v1.activity.StoreIntegralOrderController/create')->name('storeIntegralOrderCreate'); //订单创建
  347. Route::get('store_integral/order/detail/:uni', 'v1.activity.StoreIntegralOrderController/detail')->name('storeIntegralOrderDetail'); //订单详情
  348. Route::get('store_integral/order/list', 'v1.activity.StoreIntegralOrderController/lst')->name('storeIntegralOrderList'); //订单列表
  349. Route::post('store_integral/order/take', 'v1.activity.StoreIntegralOrderController/take')->name('storeIntegralOrderTake'); //订单收货
  350. Route::get('store_integral/order/express/:uni', 'v1.activity.StoreIntegralOrderController/express')->name('storeIntegralOrderExpress'); //订单查看物流
  351. Route::post('store_integral/order/del', 'v1.activity.StoreIntegralOrderController/del')->name('storeIntegralOrderDel'); //订单删除
  352. //消息站内信
  353. Route::get('user/message_system/list', 'v1.user.MessageSystemController/message_list')->name('MessageSystemList'); //站内信列表
  354. Route::get('user/message_system/detail/:id', 'v1.user.MessageSystemController/detail')->name('MessageSystemDetail'); //详情
  355. //供应商申请
  356. Route::get('user/apply/record', 'v1.system.UserApplyController/userApplyRecord')->name('userApplyRecord'); //供应商申请记录
  357. Route::post('user/apply/supplier/:id', 'v1.system.UserApplyController/userApply')->name('userApplySupplier'); //供应商申请
  358. Route::get('user/apply/:id', 'v1.system.UserApplyController/getInfo')->name('userApplyInfo'); //单个申请记录数据
  359. })->middleware(StationOpenMiddleware::class)->middleware(AuthTokenMiddleware::class, true);
  360. /**
  361. * v1.1 版本路由
  362. */
  363. Route::group('v2', function () {
  364. //无需授权接口
  365. Route::group(function () {
  366. //小程序登录页面自动加载,返回用户信息的缓存key,返回是否强制绑定手机号
  367. Route::get('routine/auth_type', 'v2.wechat.AuthController/authType')->option(['real_name' => '小程序页面登录类型']);
  368. //小程序授权登录,返回token
  369. Route::get('routine/auth_login', 'v2.wechat.AuthController/authLogin')->option(['real_name' => '小程序授权登录']);
  370. //小程序授权绑定手机号
  371. Route::post('routine/auth_binding_phone', 'v2.wechat.AuthController/authBindingPhone')->option(['real_name' => '小程序授权绑定手机号']);
  372. //小程序手机号直接登录
  373. Route::post('routine/phone_login', 'v2.wechat.AuthController/phoneLogin')->option(['real_name' => '手机号直接登录']);
  374. //小程序授权后绑定手机号
  375. Route::post('routine/binding_phone', 'v2.wechat.AuthController/BindingPhone')->option(['real_name' => '小程序授权后绑定手机号']);
  376. //公众号授权登录,返回token
  377. Route::get('wechat/auth_login', 'v2.wechat.WechatController/authLogin')->option(['real_name' => '公众号授权登录']);
  378. //公众号授权绑定手机号
  379. Route::post('wechat/auth_binding_phone', 'v2.wechat.WechatController/silenceAuthBindingPhone')->option(['real_name' => '公众号授权绑定手机号']);
  380. //小程序授权
  381. Route::get('wechat/routine_auth', 'v2.wechat.AuthController/auth');
  382. //小程序静默授权
  383. Route::get('wechat/silence_auth', 'v2.wechat.AuthController/silenceAuthNoLogin');
  384. //小程序静默授权登陆
  385. Route::get('wechat/silence_auth_login', 'v2.wechat.AuthController/silenceAuth');
  386. //小程序授权绑定手机号
  387. Route::post('auth_bindind_phone', 'v2.wechat.AuthController/authBindingPhone');
  388. //小程序手机号登录直接绑定
  389. Route::post('phone_silence_auth', 'v2.wechat.AuthController/silenceAuthBindingPhone');
  390. //公众号授权登录
  391. Route::get('wechat/auth', 'v2.wechat.WechatController/auth');
  392. //公众号静默授权
  393. Route::get('wechat/wx_silence_auth', 'v2.wechat.WechatController/silenceAuthNoLogin');
  394. //公众号静默授权登陆
  395. Route::get('wechat/wx_silence_auth_login', 'v2.wechat.WechatController/silenceAuth');
  396. //微信手机号登录直接绑定
  397. Route::post('phone_wx_silence_auth', 'v2.wechat.WechatController/silenceAuthBindingPhone');
  398. //DIY接口
  399. Route::get('diy/get_diy/[:name]', 'v2.PublicController/getDiy');
  400. //是否强制绑定手机号
  401. Route::get('bind_status', 'v2.PublicController/bindPhoneStatus');
  402. //获取门店自提开启状态
  403. Route::get('diy/get_store_status', 'v2.PublicController/getStoreStatus');
  404. //一键换色
  405. Route::get('diy/color_change/:name', 'v2.PublicController/colorChange');
  406. //商品详情diy
  407. Route::get('diy/product_detail', 'v2.PublicController/productDetailDiy');
  408. //获取地址列表
  409. Route::get('cityList', 'v2.PublicController/cityList');
  410. //活动优惠活动商品列表
  411. Route::get('promotions/productList/:type', 'v2.activity.StorePromotions/productList');
  412. //优惠活动赠品信息
  413. Route::get('promotions/give_info/:id', 'v2.activity.StorePromotions/getPromotionsGive');
  414. });
  415. //需要授权
  416. Route::group(function () {
  417. Route::post('reset_cart', 'v2.order.StoreCartController/resetCart')->name('resetCart');
  418. Route::get('new_coupon', 'v2.activity.StoreCouponsController/getNewCoupon')->name('getNewCoupon');//获取新人券
  419. Route::post('user/user_update', 'v2.wechat.AuthController/updateInfo');
  420. Route::post('order/product_coupon/:orderId', 'v2.activity.StoreCouponsController/getOrderProductCoupon');//获取订单商品关联优惠券
  421. Route::get('user/service/record', 'v2.user.StoreService/record')->name('userServiceRecord');//客服聊天记录
  422. Route::get('cart_list', 'v2.order.StoreCartController/getCartList');
  423. Route::get('get_attr/:id/:type', 'v2.product.StoreProductController/getProductAttr');
  424. Route::post('set_cart_num', 'v2.order.StoreCartController/setCartNum');
  425. //订单申请发票
  426. Route::post('order/make_up_invoice', 'v2.order.StoreOrderInvoiceController/makeUp')->name('orderMakeUpInvoice');
  427. //用户发票列表
  428. Route::get('invoice', 'v2.user.UserInvoiceController/invoiceList')->name('userInvoiceLIst');
  429. //单个发票详情
  430. Route::get('invoice/detail/:id', 'v2.user.UserInvoiceController/invoice')->name('userInvoiceDetail');
  431. //修改|添加发票
  432. Route::post('invoice/save', 'v2.user.UserInvoiceController/saveInvoice')->name('userInvoiceSave');
  433. //设置默认发票
  434. Route::post('invoice/set_default/:id', 'v2.user.UserInvoiceController/setDefaultInvoice')->name('userInvoiceSetDefault');
  435. //获取默认发票
  436. Route::get('invoice/get_default/:type', 'v2.user.UserInvoiceController/getDefaultInvoice')->name('userInvoiceGetDefault');
  437. //删除发票
  438. Route::get('invoice/del/:id', 'v2.user.UserInvoiceController/delInvoice')->name('userInvoiceDel');
  439. //订单申请开票记录
  440. Route::get('order/invoice_list', 'v2.order.StoreOrderInvoiceController/list')->name('orderInvoiceList');
  441. //订单开票详情
  442. Route::get('order/invoice_detail/:uni', 'v2.order.StoreOrderInvoiceController/detail')->name('orderInvoiceList');
  443. //清除搜索记录
  444. Route::get('user/clean_search', 'v2.user.UserSearchController/cleanUserSearch')->name('cleanUserSearch');
  445. //更新公众号用户信息
  446. Route::get('user/wechat', 'v2.user.UserController/updateUserInfo')->name('updateUserInfo');
  447. //抽奖活动详情
  448. Route::get('lottery/info/[:factor]', 'v2.activity.LuckLotteryController/lotteryInfo')->name('lotteryInfo');
  449. //参与抽奖
  450. Route::post('lottery', 'v2.activity.LuckLotteryController/luckLottery')->middleware(BlockerMiddleware::class)->name('luckLottery');
  451. //领取奖品
  452. Route::post('lottery/receive', 'v2.activity.LuckLotteryController/lotteryReceive')->name('lotteryReceive');
  453. //抽奖记录
  454. Route::get('lottery/record', 'v2.activity.LuckLotteryController/lotteryRecord')->name('lotteryRecord');
  455. //获取分销等级列表
  456. Route::get('agent/level_list', 'v2.agent.AgentLevel/levelList')->name('agentLevelList');
  457. //获取分销等级任务列表
  458. Route::get('agent/level_task_list', 'v2.agent.AgentLevel/levelTaskList')->name('agentLevelTaskList');
  459. //获取用户余额、佣金、提现明细列表
  460. Route::get('user/money_list/:type', 'v2.user.UserController/userMoneyList')->name('userMoneyList');
  461. //获取用户推广用户列表
  462. Route::get('agent/agent_user_list/:type', 'v2.agent.AgentController/agentUserList')->name('agentUserList');
  463. //获取用户推广获得收益,佣金轮播,分销规则
  464. Route::get('agent/agent_info', 'v2.agent.AgentController/agentInfo')->name('agentInfo');
  465. //优惠活动凑单商品列表
  466. Route::get('promotions/collect_order/product', 'v2.activity.StorePromotions/collectOrderProduct');
  467. //拼单接口
  468. //验证是否在配送范围
  469. Route::get('is/within', 'v2.activity.UserCollageController/isWithinScopeDistribution')->name('isWithinScopeDistribution');
  470. //发起拼单
  471. Route::get('user/initiate/collage', 'v2.activity.UserCollageController/userInitiateCollage')->name('userInitiateCollage');
  472. //检查用户是否发起拼单
  473. Route::get('is/user/initiate/collage', 'v2.activity.UserCollageController/isUserInitiateCollage')->name('isUserInitiateCollage');
  474. //检查拼单
  475. Route::get('is/initiate/collage', 'v2.activity.UserCollageController/isInitiateCollage')->name('isInitiateCollage');
  476. //购物车 统计 数量
  477. Route::get('user/initiate/collage/count', 'v2.activity.UserCollageController/count')->name('count');
  478. //拼单购物车列表
  479. Route::get('user/initiate/collage/cart_list', 'v2.activity.UserCollageController/getCartList')->name('getCartList');
  480. //拼单购物车删除商品
  481. Route::post('del/collage/cart', 'v2.activity.UserCollageController/delUserCollagePartake')->name('delUserCollagePartake');
  482. //获取自提门店信息
  483. Route::get('collage/store/data', 'v2.activity.UserCollageController/getStoredata')->name('getStoredata');
  484. //用户添加拼单商品
  485. Route::post('add/collage/partake', 'v2.activity.UserCollageController/addCollagePartake')->name('addCollagePartake');
  486. //用户清空拼单数据
  487. Route::get('empty/collage/partake', 'v2.activity.UserCollageController/emptyCollagePartake')->name('emptyCollagePartake');
  488. //复制他人拼单商品
  489. Route::get('duplicate/collage/partake', 'v2.activity.UserCollageController/duplicateCollagePartake')->name('duplicateCollagePartake');
  490. //获取用户拼单数据
  491. Route::get('user/collage/partake', 'v2.activity.UserCollageController/getUserCollagePartake')->name('getUserCollagePartake');
  492. //取消拼单
  493. Route::get('user/cancel', 'v2.activity.UserCollageController/cancelInitiateCollage')->name('cancelInitiateCollage');
  494. //结算拼单
  495. Route::get('user/settle/collage', 'v2.activity.UserCollageController/userSettleAccountsCollage')->name('userSettleAccountsCollage');
  496. //桌码
  497. //门店桌码配置
  498. Route::get('table/data', 'v2.activity.UserCodeController/getData')->name('getData');
  499. //记录桌码
  500. Route::get('add/table/code', 'v2.activity.UserCodeController/setTableCode')->name('setTableCode');
  501. //检查是否开启桌码
  502. Route::get('is/table/code', 'v2.activity.UserCodeController/isUserTableCode')->name('isUserTableCode');
  503. //处理换桌商品
  504. Route::get('changing/table', 'v2.activity.UserCodeController/userChangingTables')->name('userChangingTables');
  505. //获取桌码记录
  506. Route::get('get/table/code', 'v2.activity.UserCodeController/getTableCode')->name('getTableCode');
  507. //获取门店信息
  508. Route::get('get/store/data', 'v2.activity.UserCodeController/getStoredata')->name('getStoredata');
  509. //获取二维码信息
  510. Route::get('get/code/data', 'v2.activity.UserCodeController/getTableCodeData')->name('getTableCodeData');
  511. //购物车 统计 数量
  512. Route::get('cart/count', 'v2.activity.UserCodeController/count')->name('count');
  513. //获取购物车
  514. Route::get('get/cate/list', 'v2.activity.UserCodeController/getCartList')->name('getCartList');
  515. //桌码购物车删除商品
  516. Route::post('del/table/cart', 'v2.activity.UserCodeController/delUserTableCodePartake')->name('delUserTableCodePartake');
  517. //确认下单
  518. Route::get('user/place/order', 'v2.activity.UserCodeController/userPlaceOrder')->name('userPlaceOrder');
  519. //用户添加桌码商品
  520. Route::get('add/table/cate', 'v2.activity.UserCodeController/addTableCodePartake')->name('addTableCodePartake');
  521. //用户清空购物车
  522. Route::get('user/empty/data', 'v2.activity.UserCodeController/emptyTablePartake')->name('emptyTablePartake');
  523. //获取桌码数据
  524. Route::get('get/table/partake', 'v2.activity.UserCodeController/getUserTableCodePartake')->name('getUserTableCodePartake');
  525. //结算拼单
  526. Route::get('user/settle/table', 'v2.activity.UserCodeController/userSettleAccountsCollage')->name('userSettleAccountsCollage');
  527. })->middleware(AuthTokenMiddleware::class, true);
  528. //授权不通过,不会抛出异常继续执行
  529. Route::group(function () {
  530. //用户搜索记录
  531. Route::get('user/search_list', 'v2.user.UserSearchController/getUserSeachList')->name('userSearchList');
  532. Route::get('get_today_coupon', 'v2.activity.StoreCouponsController/getTodayCoupon');//新优惠券弹窗接口
  533. Route::get('subscribe', 'v2.PublicController/subscribe')->name('WechatSubscribe');// 微信公众号用户是否关注
  534. //公共类
  535. Route::get('index', 'v2.PublicController/index')->name('index');//首页
  536. //优惠券
  537. Route::get('coupons', 'v2.activity.StoreCouponsController/lst')->name('couponsList'); //可领取优惠券列表
  538. //商品评价列表
  539. Route::get('reply/list/:id', 'v2.product.StoreProductController/reply_list')->name('v2replyList');//商品评价列表
  540. })->middleware(AuthTokenMiddleware::class, false);
  541. })->middleware(StationOpenMiddleware::class);
  542. /**
  543. * 营销路由
  544. */
  545. Route::group('marketing', function () {
  546. //无需登录接口
  547. Route::group(function () {
  548. });
  549. //未授权接口---不会抛异常
  550. Route::group(function () {
  551. Route::get('short_video', 'v1.activity.VideoController/list')->name('shortVideoList');//短视频列表
  552. Route::get('short_video/comment/:id', 'v1.activity.VideoController/commentList')->name('shortVideoCommentList');//短视频评论列表
  553. Route::get('short_video/product/:id', 'v1.activity.VideoController/productList')->name('shortVideoProductList');//短视频关联商品列表
  554. //新人礼
  555. Route::get('newcomer/product_list', 'v1.activity.StoreNewcomerController/lst')->name('newcomerProductList');//新人专享商品
  556. Route::get('newcomer/product_detail/:id', 'v1.activity.StoreNewcomerController/detail')->name('newcomerProductInfo');//新人商品详情
  557. })->middleware(AuthTokenMiddleware::class, false);
  558. //需要授权接口
  559. Route::group(function () {
  560. Route::post('short_video/comment/:id/:pid', 'v1.activity.VideoController/saveComment')->name('shortVideoComment');//短视频评论
  561. Route::get('short_video/comment_reply/:pid', 'v1.activity.VideoController/commentReplyList')->name('shortVideoCommentReplyList');//短视频评论回复列表
  562. Route::delete('short_video/comment/:id', 'v1.activity.VideoController/commentDelete')->name('shortVideoCommentDelete');//删除短视频评论
  563. Route::get('short_video/comment/:type/:id', 'v1.activity.VideoController/commentRelation')->name('shortVideoCommentRelation');//短视频评论点赞
  564. Route::get('short_video/:type/:id', 'v1.activity.VideoController/relation')->name('shortVideoRelation');//短视频点赞、收藏、分享
  565. //新人礼
  566. Route::get('newcomer/info', 'v1.activity.StoreNewcomerController/getInfo')->name('newcomerInfo');//新人礼信息
  567. Route::get('newcomer/gift', 'v1.activity.StoreNewcomerController/getGift')->name('newcomerInfo');//新人大礼包弹窗信息
  568. })->middleware(AuthTokenMiddleware::class, true);
  569. })->middleware(StationOpenMiddleware::class);
  570. /**
  571. * pc 路由
  572. */
  573. Route::group('pc', function () {
  574. //登陆接口
  575. Route::group(function () {
  576. Route::get('key', 'pc.LoginController/getLoginKey')->name('getLoginKey');//获取扫码登录key
  577. Route::get('scan/:key', 'pc.LoginController/scanLogin')->name('scanLogin');//检测扫码情况
  578. Route::get('get_appid', 'pc.LoginController/getAppid')->name('getAppid');//检测扫码情况
  579. Route::get('wechat_auth', 'pc.LoginController/wechatAuth')->name('wechatAuth');//检测扫码情况
  580. });
  581. //未授权接口
  582. Route::group(function () {
  583. Route::get('get_pay_vip_code', 'pc.HomeController/getPayVipCode')->name('getPayVipCode');//获取付费会员购买页面二维码
  584. Route::get('get_product_phone_buy', 'pc.HomeController/getProductPhoneBuy')->name('getProductPhoneBuy');//手机购买跳转url配置
  585. Route::get('get_banner', 'pc.HomeController/getBanner')->name('getBanner');//PC首页轮播图
  586. Route::get('get_category_product', 'pc.HomeController/getCategoryProduct')->name('getCategoryProduct');//首页分类尚品
  587. Route::get('get_products', 'pc.ProductController/getProductList')->name('getProductList');//商品列表
  588. Route::get('get_product_code/:product_id', 'pc.ProductController/getProductRoutineCode')->name('getProductRoutineCode');//商品详情小程序二维码
  589. Route::get('get_city/:pid', 'pc.PublicController/getCity')->name('getCity');//获取城市数据
  590. Route::get('check_order_status/:order_id/:end_time', 'pc.OrderController/checkOrderStatus')->name('checkOrderStatus');//轮询订单状态接口
  591. Route::get('get_company_info', 'pc.PublicController/getCompanyInfo')->name('getCompanyInfo');//获取公司信息
  592. Route::get('get_recommend/:type', 'pc.ProductController/getRecommendList')->name('getRecommendList');//获取推荐商品
  593. Route::get('get_wechat_qrcode', 'pc.PublicController/getWechatQrcode')->name('getWechatQrcode');//获取关注二维码
  594. Route::get('get_good_product', 'pc.ProductController/getGoodProduct')->name('getGoodProduct');//获取优品推荐
  595. })->middleware(AuthTokenMiddleware::class, false);
  596. //会员授权接口
  597. Route::group(function () {
  598. Route::get('get_cart_list', 'pc.CartController/getCartList')->name('getCartList');//购物车列表
  599. Route::get('get_balance_record/:type', 'pc.UserController/getBalanceRecord')->name('getBalanceRecord');//余额记录
  600. Route::get('get_order_list', 'pc.OrderController/getOrderList')->name('getOrderList');//订单列表
  601. Route::get('get_collect_list', 'pc.UserController/getCollectList')->name('getCollectList');//收藏列表
  602. Route::post('order/refund/cart_info', 'pc.OrderController/refundCartInfoList')->name('StoreOrderRefundCartInfoList');//获取退款商品列表
  603. Route::get('order/refund/list', 'pc.OrderController/refundList')->name('orderRefundList'); //售后订单列表
  604. })->middleware(AuthTokenMiddleware::class, true);
  605. })->middleware(StationOpenMiddleware::class);
  606. /**
  607. * 管理员订单操作类
  608. */
  609. Route::post('order/order_verific', 'v1.admin.StoreOrderController/order_verific')
  610. ->middleware(StationOpenMiddleware::class)
  611. ->middleware(AuthTokenMiddleware::class, true)
  612. ->middleware(\app\http\middleware\api\CustomerMiddleware::class)->name('order');//订单核销
  613. Route::group('admin', function () {
  614. Route::get('erp/config', 'v1.admin.StoreOrderController/getErpConfig')->name('getErpConfig');//获取erp配置
  615. Route::get('order/statistics', 'v1.admin.StoreOrderController/statistics')->name('adminOrderStatistics');//订单数据统计
  616. Route::get('order/data', 'v1.admin.StoreOrderController/data')->name('adminOrderData');//订单每月统计数据
  617. Route::get('order/list', 'v1.admin.StoreOrderController/lst')->name('adminOrderList');//订单列表
  618. Route::get('refund_order/list', 'v1.admin.StoreOrderController/refundOrderList')->name('RefundOrderList');//退款订单列表
  619. Route::get('refund_order/detail/:uni', 'v1.admin.StoreOrderController/refundOrderDetail')->name('RefundOrderDetail');//退款订单详情
  620. Route::post('refund_order/remark', 'v1.admin.StoreOrderController/refundRemark')->name('refundRemark');//退款订单备注
  621. Route::get('order/detail/:orderId', 'v1.admin.StoreOrderController/detail')->name('adminOrderDetail');//订单详情
  622. Route::get('order/delivery/gain/:orderId', 'v1.admin.StoreOrderController/delivery_gain')->name('adminOrderDeliveryGain');//订单发货获取订单信息
  623. Route::post('order/delivery/keep/:id', 'v1.admin.StoreOrderController/delivery_keep')->name('adminOrderDeliveryKeep');//订单发货
  624. Route::post('order/price', 'v1.admin.StoreOrderController/price')->name('adminOrderPrice');//订单改价
  625. Route::post('order/remark', 'v1.admin.StoreOrderController/remark')->name('adminOrderRemark');//订单备注
  626. Route::get('order/time', 'v1.admin.StoreOrderController/time')->name('adminOrderTime');//订单交易额时间统计
  627. Route::post('order/offline', 'v1.admin.StoreOrderController/offline')->name('adminOrderOffline');//订单支付
  628. Route::post('order/refund', 'v1.admin.StoreOrderController/refund')->name('adminOrderRefund');//订单退款
  629. Route::post('order/refund_agree/:id', 'v1.admin.StoreOrderController/agreeRefund')->name('adminOrderAgreeRefund');//商家同意退货退款
  630. Route::get('order/delivery', 'v1.admin.StoreOrderController/getDeliveryAll')->name('getDeliveryAll');//获取配送员
  631. Route::get('order/delivery_info/:orderId', 'v1.admin.StoreOrderController/getDeliveryInfo')->name('getDeliveryInfo');//获取电子面单默认信息
  632. Route::get('order/export_temp', 'v1.admin.StoreOrderController/getExportTemp')->name('getExportTemp');//获取电子面单模板获取
  633. Route::get('order/export_all', 'v1.admin.StoreOrderController/getExportAll')->name('getExportAll');//获取物流公司
  634. Route::get('order/split_cart_info/:id', 'v1.admin.StoreOrderController/split_cart_info')->name('StoreOrderSplitCartInfo')->option(['real_name' => '获取订单可拆分商品列表']);//获取订单可拆分商品列表
  635. Route::put('order/split_delivery/:id', 'v1.admin.StoreOrderController/split_delivery')->name('StoreOrderSplitDelivery')->option(['real_name' => '拆单发送货']);//拆单发送货
  636. })->middleware(StationOpenMiddleware::class)->middleware(AuthTokenMiddleware::class, true)->middleware(\app\http\middleware\api\CustomerMiddleware::class);
  637. /**
  638. * 移动端门店中心 路由
  639. */
  640. Route::group('store', function () {
  641. //无需登录接口
  642. Route::group(function () {
  643. Route::get('category', 'v1.store.CategoryController/category')->name('category');//商品分类
  644. });
  645. //未授权接口---不会抛异常
  646. Route::group(function () {
  647. Route::get('list', 'v1.store.StoreController/getStoreList')->name('storeList');//门店列表
  648. Route::get('customer/list/:store_id', 'v1.store.StoreController/getCustomerList')->name('customerList');//客服列表
  649. Route::get('customer/info/:id', 'v1.store.StoreController/getCustomerInfo')->name('customerInfo');//客服详情
  650. Route::get('products', 'v1.store.StoreProductController/lst')->name('storeProducts');//商品列表
  651. Route::get('brand', 'v1.store.StoreProductController/brand')->name('brand');//品牌列表
  652. })->middleware(AuthTokenMiddleware::class, false);
  653. //需要授权接口
  654. Route::group(function () {
  655. //门店店员订单操作类
  656. Route::get('staff/info', 'store.StoreStaffController/info')->name('storeStaffInfo');//门店店员信息
  657. Route::get('staff/statistics', 'store.StoreStaffController/statistics')->name('storeStatistics');//门店|店员统计信息
  658. Route::get('staff/data/:type', 'store.StoreStaffController/data');//详细信息列表
  659. Route::get('order/statistics', 'store.StoreOrderController/statistics')->name('adminOrderStatistics');//订单数据统计
  660. Route::get('order/data', 'store.StoreOrderController/data')->name('adminOrderData');//订单每月统计数据
  661. Route::get('staff/card/code', 'store.StoreStaffController/code');//详细信息列表
  662. Route::get('delivery/info', 'store.StoreDeliveryController/info')->name('storeStaffInfo');//配送员信息
  663. Route::get('delivery/statistics', 'store.StoreDeliveryController/statistics')->name('deliveryStatistics');//门店配送员统计信息
  664. Route::get('delivery/data', 'store.StoreDeliveryController/data')->name('deliveryData');//每月配送统计列表数据
  665. Route::get('delivery/order', 'store.StoreDeliveryController/orderList')->name('deliveryOrder');//配送员订单列表
  666. Route::get('delivery/list', 'store.StoreDeliveryController/getDeliveryAll')->name('getDeliveryAll');//获取配送员列表
  667. Route::get('order/list', 'store.StoreOrderController/lst')->name('storeOrderList');//订单列表
  668. Route::get('refund/list', 'store.StoreOrderController/refundList')->name('refundList');//订单列表
  669. Route::get('refund/detail/:id', 'store.StoreOrderController/refundDetail')->name('refundDetail');//订单列表
  670. Route::get('order/detail/:id', 'store.StoreOrderController/detail')->name('storeOrderDetail');//订单详情
  671. Route::get('order/delivery_info/:orderId', 'store.StoreOrderController/deliveryInfo')->name('storeOrderDeliveryInfo');//订单发货获取订单信息
  672. Route::post('order/delivery/:id', 'store.StoreOrderController/delivery')->name('storeOrderDelivery');//订单发货
  673. Route::get('order/split_cart_info/:id', 'store.StoreOrderController/split_cart_info')->name('StoreOrderSplitCartInfo');//获取订单可拆分商品列表
  674. Route::put('order/split_delivery/:id', 'store.StoreOrderController/split_delivery')->name('StoreOrderSplitDelivery');//拆单发送货
  675. Route::post('order/price', 'store.StoreOrderController/price')->name('storeOrderPrice');//订单改价
  676. Route::post('order/remark', 'store.StoreOrderController/remark')->name('storeOrderRemark');//订单备注
  677. Route::post('refund/remark', 'store.StoreOrderController/refundRemark')->name('refundRemark');//订单备注
  678. Route::post('order/offline', 'store.StoreOrderController/offline')->name('storeOrderOffline');//订单支付
  679. Route::post('order/refund', 'store.StoreOrderController/refund')->name('storeOrderRefund');//订单退款
  680. Route::post('order/refund_agree/:id', 'store.StoreOrderController/agreeRefund')->name('storeOrderAgreeRefund');//商家同意退货退款
  681. Route::get('order/export_temp', 'store.StoreOrderController/getExportTemp')->name('storeOrderExportTemp');//获取电子面单模板获取
  682. Route::get('order/export_all', 'store.StoreOrderController/getExportAll')->name('storeOrderExportAll');//获取物流公司
  683. Route::post('order/cancel/:id', 'store.StoreOrderController/cancel')->name('storeOrderCancel'); //订单取消
  684. Route::delete('order/del/:id', 'store.StoreOrderController/del')->name('storeOrderDel');//订单删除
  685. Route::get('order/writeoff_info/:type', 'store.StoreOrderController/writeoffOrderinfo')->name('writeoffOrderinfo');//扫码核销获取订单信息
  686. Route::get('order/cart_info/:type', 'store.StoreOrderController/orderCartInfo')->name('writeoffOrderCartInfo');//核销获取商品信息
  687. Route::post('order/writeoff/:type', 'store.StoreOrderController/wirteoff')->name('storeOrderWriteoff');//订单核销
  688. })->middleware(AuthTokenMiddleware::class, true);
  689. })->middleware(StationOpenMiddleware::class);
  690. /**
  691. * 企业微信
  692. */
  693. Route::group('work', function () {
  694. //获取企业微信jsSDK配置
  695. Route::get('config', 'v1.work.WorkController/config')->name('WorkConfig');
  696. //获取企业微信应用jsSDK配置
  697. Route::get('agentConfig', 'v1.work.WorkController/agentConfig')->name('agentConfig');
  698. //获取客户群详情
  699. Route::get('groupInfo', 'v1.work.GroupChatController/getGroupInfo')->name('getGroupInfo');
  700. //获取群成员列表
  701. Route::get('groupMember/:id', 'v1.work.GroupChatController/getChatMemberList')->name('getChatMemberList');
  702. Route::group(function () {
  703. //获取客户信息详情
  704. Route::get('client/info', 'v1.work.ClientController/getClientInfo')->name('getClientInfo');
  705. //获取客户订单列表
  706. Route::get('order/list', 'v1.work.OrderController/getUserOrderList')->name('getWorkOrderList');
  707. //获取客户订单详情
  708. Route::get('order/info/:id', 'v1.work.OrderController/orderInfo')->name('getWorkOrderInfo');
  709. //购买商品记录
  710. Route::get('product/cart_list', 'v1.work.ProductController/getCartProductList')->name('getCartProductList');
  711. //浏览记录商品记录
  712. Route::get('product/visit_list', 'v1.work.ProductController/getVisitProductList')->name('getVisitProductList');
  713. })->middleware(ClientMiddleware::class);
  714. });
  715. /**
  716. * miss 路由
  717. */
  718. Route::miss(function () {
  719. if (app()->request->isOptions()) {
  720. $header = Config::get('cookie.header');
  721. $header['Access-Control-Allow-Origin'] = app()->request->header('origin');
  722. return Response::create('ok')->code(200)->header($header);
  723. } else
  724. return Response::create()->code(404);
  725. });
  726. })->prefix('api.')->middleware(InstallMiddleware::class)->middleware(AllowOriginMiddleware::class)->middleware(StationOpenMiddleware::class);