api.php 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. use app\common\middleware\AllowOriginMiddleware;
  12. use app\common\middleware\CheckSiteOpenMiddleware;
  13. use app\common\middleware\InstallMiddleware;
  14. use app\common\middleware\UserTokenMiddleware;
  15. use app\common\middleware\VisitProductMiddleware;
  16. use app\common\middleware\RequestLockMiddleware;
  17. use think\facade\Route;
  18. Route::group('api/', function () {
  19. Route::any('test', 'api.Auth/test');
  20. Route::get('auto_send', 'api.Auth/autoSend');
  21. //强制登录
  22. Route::group(function () {
  23. Route::get('pay/config', 'api.store.order.StoreOrder/payConfig');
  24. Route::group('v3', function () {
  25. //新的下单接口,支持分账
  26. Route::group('order', function () {
  27. Route::post('check', '/v3CheckOrder');
  28. Route::post('create', '/v3CreateOrder');
  29. })->prefix('api.store.order.StoreOrder');
  30. });
  31. Route::group('v2', function () {
  32. //新的下单接口,支持分账
  33. Route::group('order', function () {
  34. Route::post('check', '/v2CheckOrder');
  35. Route::post('create', '/v2CreateOrder');
  36. })->prefix('api.store.order.StoreOrder');
  37. });
  38. //退出登录
  39. Route::post('logout', 'api.Auth/logout');
  40. //用户信息
  41. Route::get('user', 'api.Auth/userInfo');
  42. //绑定推荐人
  43. Route::post('user/spread', 'api.Auth/spread');
  44. // Route::post('verify/validate', 'api.store.order.StoreOrder/validateVerify');
  45. //优惠券
  46. Route::group('coupon', function () {
  47. Route::post('receive/:id', 'api.store.product.StoreCoupon/receiveCoupon');
  48. });
  49. //订单
  50. Route::group('order', function () {
  51. Route::post('check', '/checkOrder');
  52. Route::post('create', '/createOrder');
  53. Route::get('group_order_list', '/groupOrderList');
  54. Route::get('group_order_detail/:id', '/groupOrderDetail');
  55. Route::post('cancel/:id', '/cancelGroupOrder');
  56. Route::get('list', '/lst');
  57. Route::get('detail/:id', '/detail');
  58. Route::get('number', '/number');
  59. Route::post('pay/:id', '/groupOrderPay');
  60. Route::post('points/pay/:id', '/groupOrderPay')->append(['is_points' => 1]);
  61. Route::post('take/:id', '/take');
  62. Route::post('express/:id', '/express');
  63. Route::post('del/:id', '/del');
  64. Route::get('status/:id', '/groupOrderStatus');
  65. Route::get('verify_code/:id', '/verifyCode');
  66. Route::post('receipt/:id', '/createReceipt');
  67. Route::get('delivery/:id', '/getOrderDelivery');
  68. Route::get('cashier_order/:id', '/getCashierOrder');
  69. Route::post('self/cancel/:id', '/cancelOrder');
  70. Route::get('verify/validate', '/validateVerify');
  71. Route::post('verify/validate', '/validateVerify');
  72. })->prefix('api.store.order.StoreOrder');
  73. // 预售
  74. Route::group('presell', function () {
  75. Route::post('pay/:id', '/pay');
  76. })->prefix('api.store.order.PresellOrder');
  77. //退款单
  78. Route::group('refund', function () {
  79. Route::get('batch_product/:id', '/batchProduct');
  80. Route::get('express/:id', '/express');
  81. Route::get('product/:id', '/product');
  82. Route::post('apply/:id', '/refund');
  83. Route::get('list', '/lst');
  84. Route::get('detail/:id', '/detail');
  85. Route::post('del/:id', '/del');
  86. Route::post('back_goods/:id', '/back_goods');
  87. Route::post('cancel/:id', '/cancel');
  88. Route::post('platform/:id', '/platformIntervene');
  89. })->prefix('api.store.order.StoreRefundOrder');
  90. //评价
  91. Route::group('reply', function () {
  92. Route::get('product/:id', '/product');
  93. Route::post(':id', '/reply');
  94. })->prefix('api.store.product.StoreReply');
  95. //注销用户
  96. Route::post('user/cancel', 'api.Auth/cancel');
  97. //用户
  98. Route::group('user', function () {
  99. //切换账号
  100. Route::get('account', 'User/account');
  101. Route::post('switch', 'User/switchUser');
  102. //修改信息
  103. Route::post('change/phone', 'User/changePhone');
  104. Route::post('change/info', 'User/updateBaseInfo');
  105. // 修改推荐人
  106. Route::post('change/spread', 'User/updateSpreadUid');
  107. Route::post('change/password', 'User/changePassword');
  108. //收藏
  109. Route::get('/relation/product/lst', 'UserRelation/productList');
  110. Route::get('/relation/merchant/lst', 'UserRelation/merchantList');
  111. Route::post('/relation/create', 'UserRelation/create');
  112. Route::post('/relation/batch/create', 'UserRelation/batchCreate');
  113. Route::post('/relation/delete', 'UserRelation/delete');
  114. Route::post('/relation/batch/delete', 'UserRelation/batchDelete');
  115. //反馈
  116. Route::post('/feedback', 'Feedback/feedback');
  117. Route::get('/feedback/list', 'Feedback/feedbackList');
  118. Route::get('/feedback/detail/:id', 'Feedback/detail');
  119. //充值
  120. Route::post('/recharge', 'UserRecharge/recharge');
  121. Route::post('/recharge/brokerage', 'UserRecharge/brokerage');
  122. //地址
  123. Route::get('/address/lst', 'UserAddress/lst');
  124. Route::post('/address/create', 'UserAddress/create');
  125. Route::get('/address/detail/:id', 'UserAddress/detail');
  126. Route::post('/address/update/:id', 'UserAddress/editDefault');
  127. Route::post('/address/delete/:id', 'UserAddress/delete');
  128. //分销海报
  129. Route::get('/spread_image', 'User/spread_image');
  130. Route::get('/v2/spread_image', 'User/spread_image_v2');
  131. //推广人列表
  132. Route::get('/spread_list', 'User/spread_list');
  133. //提现
  134. Route::get('/extract/lst', 'UserExtract/lst');
  135. Route::get('/extract/detail/:id', 'UserExtract/detail');
  136. Route::get('/extract/banklst', 'UserExtract/bankLst');
  137. Route::post('/extract/create', 'UserExtract/create');
  138. Route::get('/extract/history_bank', 'UserExtract/historyBank');
  139. Route::get('/extract/history', 'UserExtract/history');
  140. //绑定手机号
  141. Route::post('binding', 'User/binding');
  142. //小程序获取手机号
  143. Route::post('mp/binding', 'User/mpPhone');
  144. //余额记录
  145. Route::get('bill', 'User/bill');
  146. //奖金记录
  147. Route::get('brokerage_list', 'User/brokerage_list');
  148. //推广人订单
  149. Route::get('spread_order', 'User/spread_order');
  150. //推广人排行榜
  151. Route::get('spread_top', 'User/spread_top');
  152. //奖金排行榜
  153. Route::get('brokerage_top', 'User/brokerage_top');
  154. Route::get('spread_info', 'User/spread_info');
  155. Route::get('spread_level', 'User/spread_info');
  156. Route::get('brokerage/info', 'User/brokerage_info');
  157. Route::get('brokerage/all', 'User/brokerage_all');
  158. Route::get('brokerage/notice', 'User/notice');
  159. //浏览记录
  160. Route::get('history', 'UserHistory/lst');
  161. Route::post('history/delete/:id', 'UserHistory/deleteHistory');
  162. Route::post('history/batch/delete', 'UserHistory/deleteHistoryBatch');
  163. //发票
  164. Route::post('receipt/create', 'UserReceipt/create');
  165. Route::get('receipt/lst', 'UserReceipt/lst');
  166. Route::get('receipt/order', 'UserReceipt/order');
  167. Route::get('receipt/order/:id', 'UserReceipt/orderDetail');
  168. Route::post('receipt/delete/:id', 'UserReceipt/delete');
  169. Route::post('receipt/update/:id', 'UserReceipt/update');
  170. Route::post('receipt/is_default/:id', 'UserReceipt/isDefault');
  171. Route::get('receipt/detail/:id', 'UserReceipt/detail');
  172. //签到
  173. Route::get('sign/lst', 'UserSign/lst');
  174. Route::get('sign/info', 'UserSign/info');
  175. Route::post('sign/create', 'UserSign/create');
  176. Route::get('sign/month', 'UserSign/month');
  177. //积分
  178. Route::get('integral/info', 'User/integralInfo');
  179. Route::get('integral/lst', 'User/integralList');
  180. //客服列表
  181. Route::get('services', 'User/services');
  182. Route::get('member/info', 'User/memberInfo');
  183. Route::get('member/log', 'Member/getMemberValue');
  184. // 用户表单数据操作
  185. Route::get('fields/info', 'UserFields/info');
  186. Route::post('fields/save', 'UserFields/save');
  187. Route::delete('fields/delete', 'UserFields/delete');
  188. //分红积分明细
  189. Route::get('award/integral_list', 'User/award_integral_list');
  190. //分红份额明细
  191. Route::get('award/range_list', 'User/award_range_list');
  192. //冻结分红份额明细
  193. Route::get('award/unclaimed_range_list', 'User/award_unclaimed_range_list');
  194. //冻结奖金明细
  195. Route::get('award/freeze_brokerage_list', 'User/freeze_brokerage_list');
  196. // 分红积分提现
  197. Route::get('award/create', 'User/award_create');
  198. // 最新的积分价格
  199. Route::get('award/price', 'award/integral_price');
  200. })->prefix('api.user.');
  201. //购物车
  202. Route::group('user/cart', function () {
  203. Route::post('/check/:id', 'StoreCart/checkCerate');
  204. Route::get('/lst', 'StoreCart/lst');
  205. Route::post('/create', 'StoreCart/create');
  206. Route::post('/again', 'StoreCart/again');
  207. Route::post('/change/:id', 'StoreCart/change');
  208. Route::post('/delete', 'StoreCart/batchDelete');
  209. Route::get('/count', 'StoreCart/cartCount');
  210. Route::post('/batchCreate', 'StoreCart/batchCreate');
  211. })->prefix('api.store.order.');
  212. Route::group('store/product', function () {
  213. Route::post('/assist/create/:id', 'StoreProductAssistSet/create');
  214. Route::get('/assist/detail/:id', 'StoreProductAssistSet/detail');
  215. Route::post('/assist/set/:id', 'StoreProductAssistSet/set');
  216. Route::get('/assist/user/:id', 'StoreProductAssistSet/userList');
  217. Route::get('/assist/share/:id', 'StoreProductAssistSet/shareNum');
  218. Route::get('/assist/set/lst', 'StoreProductAssistSet/lst');
  219. Route::post('/assist/set/delete/:id', 'StoreProductAssistSet/delete');
  220. Route::post('/increase_take', 'StoreProduct/setIncreaseTake');
  221. Route::get('/get_attr_value/:id', 'StoreProduct/getAttrValue');
  222. })->prefix('api.store.product.');
  223. //申请商户
  224. Route::get('intention/lst', 'api.store.merchant.MerchantIntention/lst');
  225. Route::get('intention/detail/:id', 'api.store.merchant.MerchantIntention/detail');
  226. Route::post('intention/update/:id', 'api.store.merchant.MerchantIntention/update');
  227. Route::post('store/product/group/cancel', 'api.store.product.StoreProductGroup/cancel');
  228. //社区
  229. Route::group('community', function () {
  230. Route::post('/create', 'Community/create');
  231. Route::post('/update/:id', 'Community/update');
  232. Route::post('/delete/:id', 'Community/delete');
  233. Route::get('pay_product/lst', 'Community/payList');
  234. Route::get('rela_product/lst', 'Community/relationList');
  235. Route::get('hist_product/lst', 'Community/historyList');
  236. Route::post('fans/:id', 'Community/setFocus');
  237. Route::get('fans/lst', 'Community/getUserFans');
  238. Route::get('focus/lst', 'Community/getUserFocus');
  239. Route::post('start/:id', 'Community/startCommunity');
  240. Route::get('start/lst', 'Community/getUserStartCommunity');
  241. Route::post('reply/create/:id', 'CommunityReply/create');
  242. Route::post('reply/start/:id', 'CommunityReply/start');
  243. Route::get('order/:id', 'Community/getSpuByOrder');
  244. })->prefix('api.community.');
  245. //请求频率
  246. Route::group(function () {
  247. //付费会员购买
  248. Route::post('svip/pay/:id', 'api.user.Svip/createOrder');
  249. //订单检查
  250. Route::group('order/v3', function () {
  251. Route::post('check', 'PointsOrder/beforCheck');
  252. Route::post('create', 'PointsOrder/createOrder');
  253. Route::post('pay/:id', 'PointsOrder/orderPay');
  254. })->prefix('api.store.order.');
  255. })->middleware(\app\common\middleware\BlockerMiddleware::class);
  256. Route::group('points/order', function () {
  257. Route::get('lst', 'PointsOrder/lst');
  258. Route::get('detail/:id', 'PointsOrder/detail');
  259. Route::post('take/:id', 'PointsOrder/take');
  260. Route::post('deleate/:id', 'PointsOrder/del');
  261. })->prefix('api.store.order.');
  262. Route::group('user/form', function () {
  263. Route::post('/create/:id', '/create');
  264. Route::get('/lst', '/lst');
  265. Route::get('/detail/:id', '/detail');
  266. Route::get('/show/:id', '/show');
  267. })->prefix('api.store.form.FormRelated');
  268. })->middleware(UserTokenMiddleware::class, true);
  269. //非强制登录
  270. Route::group(function () {
  271. // 付费会员
  272. Route::group('svip', function () {
  273. //价格列表
  274. Route::get('pay_lst', '/getTypeLst');
  275. Route::get('user_info', '/svipUserInfo');
  276. Route::get('coupon_lst', '/svipCoupon');
  277. Route::get('product_lst', '/svipProductList');
  278. Route::post('coupon_receive/:id', '/receiveCoupon');
  279. })->prefix('api.user.Svip');
  280. //社区
  281. Route::group('community', function () {
  282. //社区文章列表
  283. Route::get('/lst', 'Community/lst');
  284. Route::get('/user_lst', 'Community/userList');
  285. Route::get('/video_lst', 'Community/videoShow');
  286. //详情
  287. Route::get('/show/:id', 'Community/show');
  288. //用户页
  289. Route::get('/user/info/:id', 'Community/userInfo');
  290. //用户的文章
  291. Route::get('/user/community/:id', 'Community/userCommunitylst');
  292. //用户的视频
  293. Route::get('/user/community_video/:id', 'Community/userCommunityVideolst');
  294. //分类&话题
  295. Route::get('category/lst', 'CommunityCategory/lst');
  296. Route::get('/:id/reply', 'CommunityReply/lst');
  297. Route::get('/focuslst', 'Community/focuslst');
  298. Route::get('qrcode/:id', 'Community/qrcode');
  299. })->prefix('api.community.');
  300. //上传图片
  301. Route::post('upload/image/:field', 'api.Common/uploadImage');
  302. Route::post('scan_upload/image/:field/:token', 'api.Common/scanUploadImage');
  303. //入住商户上传证件接口
  304. Route::post('upload/certificate/:field', 'api.Common/uploadCertificate');
  305. //获取商户基本信息
  306. Route::get('service/info/:id', 'api.store.service.Service/merchantInfo');
  307. //公共配置
  308. Route::get('config', 'api.Common/config');
  309. Route::get('has_service/:id', 'api.store.service.Service/hasService');
  310. //专题
  311. Route::group('activity', function () {
  312. Route::get('lst/:id', 'api.Common/activityLst');
  313. Route::get('info/:id', 'api.Common/activityInfo');
  314. });
  315. //商品
  316. Route::group('store/product', function () {
  317. Route::get('seckill/select', 'StoreProductSeckill/select');
  318. Route::get('seckill/lst', 'StoreProductSeckill/lst');
  319. Route::get('seckill/detail/:id', 'StoreProductSeckill/detail')->middleware(VisitProductMiddleware::class, 1);
  320. Route::get('category/lst', 'StoreCategory/lst');
  321. Route::get('category', 'StoreCategory/children');
  322. Route::get('brand/lst', 'StoreBrand/lst');
  323. Route::get('detail/:id', 'StoreProduct/detail')->middleware(VisitProductMiddleware::class, 0);
  324. Route::get('show/:id', 'StoreProduct/show');
  325. Route::get('good_list/:id', 'StoreProduct/getGoodList');
  326. Route::get('/qrcode/:id', 'StoreProduct/qrcode');
  327. Route::get('category/hotranking', 'StoreCategory/cateHotRanking');
  328. Route::get('bag/explain', 'StoreProduct/getBagExplain');
  329. Route::get('/reply/lst/:id', 'StoreReply/lst');
  330. //预售
  331. Route::get('/presell/lst', 'StoreProductPresell/lst');
  332. Route::get('/presell/detail/:id', 'StoreProductPresell/detail')->middleware(VisitProductMiddleware::class, 2);
  333. //预售协议
  334. Route::get('presell/agree', 'StoreProductPresell/getAgree');
  335. //助力
  336. Route::get('/assist/lst', 'StoreProductAssist/lst');
  337. //拼团
  338. Route::get('group/lst', 'StoreProductGroup/lst');
  339. Route::get('group/detail/:id', 'StoreProductGroup/detail')->middleware(VisitProductMiddleware::class, 4);
  340. Route::get('group/count', 'StoreProductGroup/userCount');
  341. Route::get('group/category', 'StoreProductGroup/category');
  342. Route::get('group/get/:id', 'StoreProductGroup/groupBuying');
  343. Route::get('/guarantee/:id', 'StoreProduct/guaranteeTemplate');
  344. Route::get('/preview', 'StoreProduct/preview');
  345. Route::get('/price_rule/:id', 'StoreProduct/priceRule');
  346. Route::get('/cate_hot', 'StoreProduct/cateHotList');
  347. //商品列表获取商品规格
  348. Route::get('/get_spec/:id', 'StoreProduct/getSpec');
  349. // 商品列表获取推荐商品
  350. Route::get('/recommendProduct', 'StoreProduct/recommendProduct');
  351. /**
  352. * 预约商品相关
  353. */
  354. Route::get('/reservation/getMonth/:id', 'StorePrdouctReservation/showMonth');
  355. Route::get('/reservation/getDay/:id', 'StorePrdouctReservation/showDay');
  356. })->prefix('api.store.product.');
  357. //各种商品列表
  358. Route::group('product/spu', function () {
  359. //礼包 product/spu/bag
  360. Route::get('/bag', 'StoreSpu/bag');
  361. //商品 product/spu/lst
  362. Route::get('/lst', 'StoreSpu/lst');
  363. //热门 product/spu/hot/:type
  364. Route::get('/hot/:type', 'StoreSpu/hot');
  365. //推荐 product/spu/recommend
  366. Route::get('/recommend', 'StoreSpu/recommend');
  367. //商户商品 product/spu/merchant/:id
  368. Route::get('/merchant/:id', 'StoreSpu/merProductLst');
  369. //礼包推荐 product/spu/bag/recommend
  370. Route::get('/bag/recommend', 'StoreSpu/bagRecommend');
  371. //活动分类 product/spu/active/category/:type
  372. Route::get('/active/category/:type', 'StoreSpu/activeCategory');
  373. //标签获取数据
  374. Route::get('/labels', 'StoreSpu/labelsLst');
  375. //本地生活商品
  376. Route::get('/local/:id', 'StoreSpu/local');
  377. //复制口令
  378. Route::get('/copy', 'StoreSpu/copy');
  379. Route::get('/get/:id', 'StoreSpu/get');
  380. //优惠券商品列表
  381. Route::get('/coupon_product', 'StoreSpu/getProductByCoupon');
  382. //热卖排行
  383. Route::get('/get_hot_ranking', 'StoreSpu/getHotRanking');
  384. //商品参数
  385. Route::get('/params', 'StoreParams/select');
  386. //商品参数值
  387. Route::get('/params_value/:id', 'StoreParams/getValue');
  388. //商品热搜
  389. Route::get('/hot_lst', 'StoreProduct/getHotList');
  390. Route::get('/hot_top', 'StoreProduct/getHotTop');
  391. })->prefix('api.store.product.');
  392. //直播
  393. Route::group('broadcast', function () {
  394. Route::get('/lst', 'BroadcastRoom/lst');
  395. Route::get('/hot', 'BroadcastRoom/hot');
  396. })->prefix('api.store.broadcast.');
  397. //优惠券
  398. Route::group('coupon', function () {
  399. Route::get('product', 'api.store.product.StoreCoupon/coupon');
  400. Route::get('store/:id', 'api.store.product.StoreCoupon/merCoupon');
  401. Route::get('list', 'api.store.product.StoreCoupon/lst');
  402. Route::get('getlst', 'api.store.product.StoreCoupon/getList');
  403. Route::get('new_people', 'api.store.product.StoreCoupon/newPeople');
  404. });
  405. //商户
  406. Route::group('store/merchant/', function () {
  407. Route::get('/lst', 'Merchant/lst');
  408. Route::get('/product/lst/:id', 'Merchant/productList');
  409. Route::get('/category/lst/:id', 'Merchant/categoryList');
  410. Route::get('/detail/0', 'Merchant/systemDetail');
  411. Route::get('/detail/:id', 'Merchant/detail');
  412. Route::get('/qrcode/:id', 'Merchant/qrcode');
  413. Route::get('/local', 'Merchant/localLst');
  414. Route::get('/localDetail/:id', 'Merchant/localDetail');
  415. })->prefix('api.store.merchant.');
  416. Route::post('store/certificate/:merId', 'api.Auth/getMerCertificate');
  417. //文章
  418. Route::group('article', function () {
  419. Route::get('/lst/:cid', 'Article/lst');
  420. Route::get('/list', 'Article/list');
  421. Route::get('detail/:id', 'Article/detail');
  422. Route::get('/category/lst', 'ArticleCategory/lst');
  423. })->prefix('api.article.');
  424. Route::post('upload/video', 'merchant.Common/uploadVideo');
  425. Route::get('excel/download/:id', 'merchant.store.order.Order/download');
  426. //申请商户
  427. Route::post('intention/create', 'api.store.merchant.MerchantIntention/create');
  428. Route::get('intention/cate', 'api.store.merchant.MerchantIntention/cateLst');
  429. Route::get('intention/type', 'api.store.merchant.MerchantIntention/typeLst');
  430. //浏览
  431. Route::post('common/visit', 'api.Common/visit');
  432. Route::get('store/product/assist/count', 'api.store.product.StoreProductAssist/userCount');
  433. Route::get('store/expr/temps', 'admin.system.serve.Export/getExportTemp');
  434. //复制口令
  435. Route::get('command/copy', 'api.Common/getCommand');
  436. Route::group('discounts', function () {
  437. Route::get('lst', '/lst');
  438. })->prefix('api.store.product.Discounts');
  439. //test
  440. Route::any('store/test', 'api.Auth/test');
  441. Route::get('subscribe', 'api.Common/subscribe');
  442. Route::group('points', function () {
  443. Route::get('home', '/home');
  444. Route::get('scope', '/points_mall_scope');
  445. Route::get('lst', '/lst');
  446. Route::get('detail/:id', '/detail');
  447. })->prefix('api.store.product.PointsProduct');
  448. Route::group('diy', function () {
  449. //普通商品详情
  450. Route::get('/product_detail', '/productDetail');
  451. //秒杀
  452. Route::get('/seckill', '/seckill');
  453. //助力
  454. Route::get('/assist', '/assist');
  455. //预售
  456. Route::get('/presell', '/presell');
  457. //拼团
  458. Route::get('/group', '/group');
  459. //商品列表
  460. Route::get('/spu', '/spu');
  461. //社区
  462. Route::get('/community', '/community');
  463. //优惠券
  464. Route::get('/coupon', '/coupon');
  465. //品牌好店
  466. Route::get('/store', '/store');
  467. //二级分类
  468. Route::get('/category', '/category');
  469. //直播
  470. Route::get('/broadcast', '/broadcast');
  471. //热卖排行
  472. Route::get('/hot_top', '/hot_top');
  473. })->prefix('api.Diy');
  474. Route::group('system/form', function () {
  475. Route::get('/lst', '/lst');
  476. Route::get('/detail/:id', '/detail');
  477. Route::get('/info/:form_id', '/getFormInfo');
  478. Route::get('/share_posters/:id', '/getSharePosters');
  479. })->prefix('api.store.form.Form');
  480. })->middleware(UserTokenMiddleware::class, false);
  481. //微信支付回调
  482. Route::any('notice/wechat_pay', 'api.Common/wechatNotify')->name('wechatNotify');
  483. //微信支付回调
  484. Route::any('notice/wechat_combine_pay/:type', 'api.Common/wechatCombinePayNotify')->name('wechatCombinePayNotify');
  485. Route::any('notice/routine_combine_pay/:type', 'api.Common/routineCombinePayNotify')->name('routineCombinePayNotify');
  486. Route::any('notice/callback', 'api.Common/deliveryNotify');
  487. //小程序支付回调
  488. Route::any('notice/routine_pay', 'api.Common/routineNotify')->name('routineNotify');
  489. Route::any('notice/mchNotify/:type', 'api.Common/mchNotify')->name('mchNotify');
  490. //支付宝支付回调
  491. Route::any('notice/alipay_pay/:type', 'api.Common/alipayNotify')->name('alipayNotify');
  492. //城市列表
  493. Route::get('system/city/lst', 'merchant.store.shipping.City/getlist');
  494. Route::get('v2/system/city/lst/:pid', 'merchant.store.shipping.City/lstV2');
  495. Route::get('v2/system/city', 'merchant.store.shipping.City/cityList');
  496. //热门搜索
  497. Route::get('common/hot_keyword', 'api.Common/hotKeyword')->append(['type' => 0]);
  498. //社区热门搜索
  499. Route::get('common/commuunity/hot_keyword', 'api.Common/hotKeyword')->append(['type' => 1]);
  500. //推荐页 banner
  501. Route::get('common/hot_banner/:type', 'api.Common/hotBanner');
  502. //退款原因
  503. Route::get('common/refund_message', 'api.Common/refundMessage');
  504. //充值赠送
  505. Route::get('common/recharge_quota', 'api.Common/userRechargeQuota');
  506. //快递公司
  507. Route::get('common/express', 'api.Common/express');
  508. //图片转 base64
  509. Route::post('common/base64', 'api.Common/get_image_base64');
  510. //个人中心菜单
  511. Route::get('common/menus', 'api.Common/menus');
  512. //首页数据
  513. Route::get('common/home', 'api.Common/home');
  514. //经纬度转位置信息
  515. Route::get('lbs/geocoder', 'api.Common/lbs_geocoder');
  516. //位置信息转经纬度
  517. Route::get('lbs/address', 'api.Common/lbs_address');
  518. //获取支付宝支付链接
  519. Route::get('common/pay_key/:key', 'api.Common/pay_key');
  520. //用户反馈类型
  521. Route::get('common/feedback_type', 'api.user.FeedBackCategory/lst');
  522. //登录
  523. Route::post('auth/login', 'api.Auth/login');
  524. //获取小程序登录是否需绑定手机号处理
  525. Route::post('auth/mp_login_type', 'api.Auth/mpLoginType');
  526. //登录
  527. Route::post('auth', 'api.Auth/authLogin');
  528. //短信登录
  529. Route::post('auth/smslogin', 'api.Auth/smsLogin');
  530. //注册
  531. Route::post('auth/register', 'api.Auth/register');
  532. //小程序手机号注册
  533. Route::post('auth/mp_phone', 'api.Auth/mpPhone');
  534. //微信授权
  535. Route::get('auth/wechat', 'api.Auth/auth');
  536. //小程序授权
  537. Route::post('auth/mp', 'api.Auth/mpAuth');
  538. //app授权
  539. Route::post('auth/app', 'api.Auth/appAuth');
  540. //apple授权
  541. Route::post('auth/apple', 'api.Auth/appleAuth');
  542. //修改密码
  543. Route::post('user/change_pwd', 'api.Auth/changePassword');
  544. //验证码
  545. Route::post('auth/verify', 'api.Auth/verify');
  546. //微信配置
  547. Route::get('wechat/config', 'api.Wechat/jsConfig');
  548. //图片验证码
  549. Route::get('captcha', 'api.Auth/getCaptcha');
  550. //获取协议列表
  551. Route::get('agreement_lst', 'admin.system.Cache/getKeyLst')->append(['type' => 1]);
  552. //获取协议内容
  553. Route::get('agreement/:key', 'admin.system.Cache/getAgree');
  554. Route::get('copyright', 'api.Common/copyright');
  555. Route::get('script', 'api.Common/script');
  556. Route::get('appVersion', 'api.Common/appVersion');
  557. Route::get('navigation', 'api.Common/getNavigation')->middleware(UserTokenMiddleware::class, false);
  558. Route::get('micro', 'api.Common/micro');
  559. Route::get('version', 'admin.Common/version');
  560. Route::any('getVersion', 'api.Common/getVersion')->name('getVersion');
  561. Route::get('diy', 'api.Common/diy');
  562. //滑块验证码
  563. Route::get('ajcaptcha', 'api.Auth/ajcaptcha');
  564. Route::post('ajcheck', 'api.Auth/ajcheck');
  565. Route::get('open_screen', 'api.Common/open_screen');
  566. //可以查看所有路由的接口 - 开发者使用
  567. Route::get('route/list', 'api.Route/list');
  568. })->middleware(AllowOriginMiddleware::class)
  569. ->middleware(InstallMiddleware::class)
  570. ->middleware(CheckSiteOpenMiddleware::class)
  571. ->middleware(RequestLockMiddleware::class);
  572. Route::any('/', 'View/h5')
  573. ->middleware(InstallMiddleware::class)
  574. ->middleware(CheckSiteOpenMiddleware::class);
  575. Route::group('/pages', function () {
  576. Route::miss('View/h5');
  577. })->middleware(InstallMiddleware::class)
  578. ->middleware(CheckSiteOpenMiddleware::class);
  579. Route::group('/open-location', function () {
  580. Route::miss('View/h5');
  581. })->middleware(InstallMiddleware::class)
  582. ->middleware(CheckSiteOpenMiddleware::class);