marketing.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 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\LogMiddleware;
  13. use app\common\middleware\MerchantAuthMiddleware;
  14. use app\common\middleware\MerchantTokenMiddleware;
  15. use think\facade\Route;
  16. use app\common\middleware\MerchantCheckBaseInfoMiddleware;
  17. Route::group(function () {
  18. //秒杀商品
  19. Route::group('store/seckill_product', function () {
  20. Route::get('lst_time', '/lst_time')->option([
  21. '_alias' => '时间配置',
  22. '_auth' => false,
  23. ]);
  24. Route::get('lst_filter', '/getStatusFilter')->name('merchantStoreSeckillProductLstFilter')->option([
  25. '_alias' => '统计',
  26. ]);
  27. Route::get('lst', '/lst')->name('merchantStoreSeckillProductLst')->option([
  28. '_alias' => '列表',
  29. ]);
  30. Route::post('create', '/create')->name('merchantStoreSeckillProductCreate')->option([
  31. '_alias' => '添加 ',
  32. ]);
  33. Route::get('detail/:id', '/detail')->name('merchantStoreSeckillProductDetail')->option([
  34. '_alias' => '详情',
  35. ]);
  36. Route::post('update/:id', '/update')->name('merchantStoreSeckillProductUpdate')->option([
  37. '_alias' => '编辑',
  38. ]);
  39. Route::delete('delete/:id', '/delete')->name('merchantStoreSeckillProductDelete')->option([
  40. '_alias' => '删除',
  41. ]);
  42. Route::delete('destory/:id', '/destory')->name('merchantStoreSeckillProductDestory')->option([
  43. '_alias' => '彻底删除',
  44. ]);
  45. Route::post('restore/:id', '/restore')->name('merchantStoreSeckillProductRestore')->option([
  46. '_alias' => '恢复',
  47. ]);
  48. Route::post('status/:id', '/switchStatus')->name('merchantStoreSeckillProductSwitchStatus')->option([
  49. '_alias' => '修改状态',
  50. ]);
  51. Route::post('sort/:id', '/updateSort')->name('merchantStoreSeckillProductUpdateSort')->option([
  52. '_alias' => '排序',
  53. ]);
  54. Route::post('preview', '/preview')->name('merchantStoreSeckillProductPreview')->option([
  55. '_alias' => '预览',
  56. ]);
  57. Route::post('labels/:id', '/setLabels')->name('merchantStoreSeckillProductLabels')->option([
  58. '_alias' => '设置标签',
  59. ]);
  60. })->prefix('merchant.store.product.ProductSeckill')->option([
  61. '_path' => '/marketing/seckill/list',
  62. '_auth' => true,
  63. '_append'=> [
  64. [
  65. '_name' =>'merchantUploadImage',
  66. '_path' =>'/marketing/seckill/list',
  67. '_alias' => '上传图片',
  68. '_auth' => true,
  69. ],
  70. [
  71. '_name' =>'merchantAttachmentLst',
  72. '_path' =>'/marketing/seckill/list',
  73. '_alias' => '图片列表',
  74. '_auth' => true,
  75. ],
  76. ]
  77. ]);
  78. //预售商品
  79. Route::group('store/product/presell', function () {
  80. Route::get('lst', '/lst')->name('merchantStoreProductPresellLst')->option([
  81. '_alias' => '列表',
  82. ]);
  83. Route::post('create', '/create')->name('merchantStoreProductPresellCreate')->option([
  84. '_alias' => '添加',
  85. ]);
  86. Route::get('detail/:id', '/detail')->name('merchantStoreProductPresellDetail')->option([
  87. '_alias' => '详情',
  88. ]);
  89. Route::post('update/:id', '/update')->name('merchantStoreProductPresellUpdate')->option([
  90. '_alias' => '编辑',
  91. ]);
  92. Route::delete('delete/:id', '/delete')->name('merchantStoreProductPresellDelete')->option([
  93. '_alias' => '删除',
  94. ]);
  95. Route::post('status/:id', '/switchStatus')->name('merchantStoreProductPresellStatus')->option([
  96. '_alias' => '修改状态',
  97. ]);
  98. Route::get('number', '/number')->option([
  99. '_alias' => '统计',
  100. '_auth' => false,
  101. ]);
  102. Route::post('sort/:id', '/updateSort')->name('merchantStoreProductPresellUpdateSort')->option([
  103. '_alias' => '排序',
  104. ]);
  105. Route::post('preview', '/preview')->name('merchantStoreProductPresellPreview')->option([
  106. '_alias' => '预览',
  107. ]);
  108. Route::post('labels/:id', '/setLabels')->name('merchantStoreProductPreselltLabels')->option([
  109. '_alias' => '设置标签',
  110. ]);
  111. })->prefix('merchant.store.product.ProductPresell')->option([
  112. '_path' => '/marketing/presell/list',
  113. '_auth' => true,
  114. '_append'=> [
  115. [
  116. '_name' =>'merchantUploadImage',
  117. '_path' =>'/marketing/presell/list',
  118. '_alias' => '上传图片',
  119. '_auth' => true,
  120. ],
  121. [
  122. '_name' =>'merchantAttachmentLst',
  123. '_path' =>'/marketing/presell/list',
  124. '_alias' => '图片列表',
  125. '_auth' => true,
  126. ],
  127. ]
  128. ]);
  129. //助力商品
  130. Route::group('store/product/assist', function () {
  131. Route::get('lst', '/lst')->name('merchantStoreProductAssistLst')->option([
  132. '_alias' => '列表 ',
  133. ]);
  134. Route::post('create', '/create')->name('merchantStoreProductAssistCreate')->option([
  135. '_alias' => '添加',
  136. ]);
  137. Route::get('detail/:id', '/detail')->name('merchantStoreProductAssistDetail')->option([
  138. '_alias' => '详情',
  139. ]);
  140. Route::post('update/:id', '/update')->name('merchantStoreProductAssistUpdate')->option([
  141. '_alias' => '编辑',
  142. ]);
  143. Route::delete('delete/:id', '/delete')->name('merchantStoreProductAssistDelete')->option([
  144. '_alias' => '删除',
  145. ]);
  146. Route::post('status/:id', '/switchStatus')->name('merchantStoreProductAssistStatus')->option([
  147. '_alias' => '修改状态',
  148. ]);
  149. Route::post('sort/:id', '/updateSort')->name('merchantStoreProductAssistUpdateSort')->option([
  150. '_alias' => '排序',
  151. ]);
  152. Route::post('preview', '/preview')->name('merchantStoreProductAssistPreview')->option([
  153. '_alias' => '预览',
  154. ]);
  155. Route::post('labels/:id', '/setLabels')->name('merchantStoreProductAssistLabels')->option([
  156. '_alias' => '设置标签',
  157. ]);
  158. })->prefix('merchant.store.product.ProductAssist')->option([
  159. '_path' => '/marketing/assist/list',
  160. '_auth' => true,
  161. '_append'=> [
  162. [
  163. '_name' =>'merchantUploadImage',
  164. '_path' =>'/marketing/assist/list',
  165. '_alias' => '上传图片',
  166. '_auth' => true,
  167. ],
  168. [
  169. '_name' =>'merchantAttachmentLst',
  170. '_path' =>'/marketing/assist/list',
  171. '_alias' => '图片列表',
  172. '_auth' => true,
  173. ],
  174. ]
  175. ]);
  176. //助力活动
  177. Route::group('store/product/assist_set', function () {
  178. Route::get('lst', '/lst')->name('merchantStoreProductAssistSetLst')->option([
  179. '_alias' => '活动列表',
  180. ]);
  181. Route::get('detail/:id', '/detail')->name('merchantStoreProductAssistSetDetail')->option([
  182. '_alias' => '活动详情',
  183. ]);
  184. })->prefix('merchant.store.product.ProductAssistSet')->option([
  185. '_path' => '/marketing/assist/assist_set',
  186. '_auth' => true,
  187. ]);
  188. //拼团商品
  189. Route::group('store/product/group', function () {
  190. Route::get('lst', '/lst')->name('merchantStoreProductGroupLst')->option([
  191. '_alias' => '列表',
  192. ]);
  193. Route::post('create', '/create')->name('merchantStoreProductGroupCreate')->option([
  194. '_alias' => '添加',
  195. ]);
  196. Route::get('detail/:id', '/detail')->name('merchantStoreProductGroupDetail')->option([
  197. '_alias' => '详情',
  198. ]);
  199. Route::post('update/:id', '/update')->name('merchantStoreProductGroupUpdate')->option([
  200. '_alias' => '编辑',
  201. ]);
  202. Route::delete('delete/:id', '/delete')->name('merchantStoreProductGroupDelete')->option([
  203. '_alias' => '删除',
  204. ]);
  205. Route::post('status/:id', '/switchStatus')->name('merchantStoreProductGroupStatus')->option([
  206. '_alias' => '修改状态',
  207. ]);
  208. Route::post('sort/:id', '/updateSort')->name('merchantStoreProductGroupSort')->option([
  209. '_alias' => '排序',
  210. ]);
  211. Route::post('preview', '/preview')->name('merchantStoreProductGroupPreview')->option([
  212. '_alias' => '预览',
  213. ]);
  214. Route::post('labels/:id', '/setLabels')->name('merchantStoreProductGroupLabels')->option([
  215. '_alias' => '设置标签',
  216. ]);
  217. })->prefix('merchant.store.product.ProductGroup')->option([
  218. '_path' => '/marketing/combination/combination_goods',
  219. '_auth' => true,
  220. '_append'=> [
  221. [
  222. '_name' =>'merchantUploadImage',
  223. '_path' =>'/marketing/combination/combination_goods',
  224. '_alias' => '上传图片',
  225. '_auth' => true,
  226. ],
  227. [
  228. '_name' =>'merchantAttachmentLst',
  229. '_path' =>'/marketing/combination/combination_goods',
  230. '_alias' => '图片列表',
  231. '_auth' => true,
  232. ],
  233. ]
  234. ]);
  235. Route::get('config/others/group_buying', 'admin.system.config.ConfigOthers/getGroupBuying')
  236. ->name('merchantConfigGroupBuying')->option([
  237. '_alias' => '拼团配置',
  238. '_path' => '/marketing/combination/combination_goods',
  239. '_auth' => true,
  240. ]);;
  241. //拼团活动
  242. Route::group('store/product/group/buying', function () {
  243. Route::get('lst', '/lst')->name('merchantStoreProductGroupBuyingLst')->option([
  244. '_alias' => '活动列表 ',
  245. ]);
  246. Route::get('detail/:id', '/detail')->name('merchantStoreProductGroupBuyingDetail')->option([
  247. '_alias' => '活动详情',
  248. ]);
  249. })->prefix('merchant.store.product.ProductGroupBuying')->option([
  250. '_path' => '/marketing/combination/combination_list',
  251. '_auth' => true,
  252. '_append'=> [
  253. [
  254. '_name' =>'merchantUploadImage',
  255. '_path' =>'/marketing/combination/combination_list',
  256. '_alias' => '上传图片',
  257. '_auth' => true,
  258. ],
  259. [
  260. '_name' =>'merchantAttachmentLst',
  261. '_path' =>'/marketing/combination/combination_list',
  262. '_alias' => '图片列表',
  263. '_auth' => true,
  264. ],
  265. ]
  266. ]);
  267. //直播间
  268. Route::group('broadcast/room', function () {
  269. Route::get('lst', '/lst')->name('merchantBroadcastRoomLst')->option([
  270. '_alias' => '列表 ',
  271. ]);
  272. Route::get('detail/:id', '/detail')->name('merchantBroadcastRoomDetail')->option([
  273. '_alias' => '详情',
  274. ]);
  275. Route::get('create/form', '/createForm')->name('merchantBroadcastRoomCreateForm')->option([
  276. '_alias' => '添加表单',
  277. '_auth' => false,
  278. '_form' => 'merchantBroadcastRoomCreate',
  279. ]);
  280. Route::post('create', '/create')->name('merchantBroadcastRoomCreate')->option([
  281. '_alias' => '添加',
  282. ]);
  283. Route::get('update/form/:id', '/updateForm')->name('merchantBroadcastRoomUpdateForm')->option([
  284. '_alias' => '编辑表单',
  285. '_auth' => false,
  286. '_form' => 'merchantBroadcastRoomUpdate',
  287. ]);
  288. Route::post('update/:id', '/update')->name('merchantBroadcastRoomUpdate')->option([
  289. '_alias' => '编辑',
  290. ]);
  291. Route::post('status/:id', '/changeStatus')->name('merchantBroadcastRoomChangeStatus')->option([
  292. '_alias' => '修改状态',
  293. ]);
  294. Route::post('export_goods', '/exportGoods')->name('merchantBroadcastRoomExportGoods')->option([
  295. '_alias' => '导入商品',
  296. ]);
  297. Route::post('rm_goods', '/rmExportGoods')->name('merchantBroadcastRoomRmExportGoods')->option([
  298. '_alias' => '删除商品',
  299. ]);
  300. Route::post('mark/:id', '/mark')->name('merchantBroadcastRoomMark')->option([
  301. '_alias' => '备注',
  302. ]);
  303. Route::get('goods/:id', '/goodsList')->name('merchantBroadcastRoomGoods')->option([
  304. '_alias' => '商品详情',
  305. ]);
  306. Route::post('closeKf/:id', '/closeKf')->name('merchantBroadcastRoomCloseKf')->option([
  307. '_alias' => '关闭客服',
  308. ]);
  309. Route::post('comment/:id', '/banComment')->name('merchantBroadcastRoomCloseComment')->option([
  310. '_alias' => '禁言',
  311. ]);
  312. Route::post('feedsPublic/:id', '/isFeedsPublic')->name('merchantBroadcastRoomCloseFeeds')->option([
  313. '_alias' => '收录',
  314. ]);
  315. Route::post('on_sale/:id', '/onSale')->name('merchantBroadcastOnSale')->option([
  316. '_alias' => '商品上下架',
  317. ]);
  318. Route::delete('delete/:id', '/delete')->name('merchantBroadcastRoomDelete')->option([
  319. '_alias' => '删除',
  320. ]);
  321. Route::get('addassistant/form/:id', '/addAssistantForm')->name('merchantBroadcastAddAssistantForm')->option([
  322. '_alias' => '添加客服表单',
  323. '_auth' => false,
  324. '_form' => 'merchantBroadcastAddAssistant',
  325. ]);
  326. Route::post('addassistant/:id', '/addAssistant')->name('merchantBroadcastAddAssistant')->option([
  327. '_alias' => '添加 客服',
  328. ]);
  329. Route::get('push_message/:id', '/pushMessage')->name('merchantBroadcastPushMessage')->option([
  330. '_alias' => '消息推送',
  331. ]);
  332. })->prefix('merchant.store.broadcast.BroadcastRoom')->option([
  333. '_path' => '/marketing/studio/list',
  334. '_auth' => true,
  335. '_append'=> [
  336. [
  337. '_name' =>'merchantUploadImage',
  338. '_path' =>'/marketing/studio/list',
  339. '_alias' => '上传图片',
  340. '_auth' => true,
  341. ],
  342. [
  343. '_name' =>'merchantAttachmentLst',
  344. '_path' =>'/marketing/studio/list',
  345. '_alias' => '图片列表',
  346. '_auth' => true,
  347. ],
  348. ]
  349. ]);
  350. //直播小助手
  351. Route::group('broadcast/assistant', function () {
  352. Route::get('lst', '/lst')->name('merchantBroadcastAssistantLst')->option([
  353. '_alias' => '列表',
  354. ]);
  355. Route::get('create/form', '/createForm')->name('merchantBroadcastAssistantCreateForm')->option([
  356. '_alias' => '添加表单',
  357. '_auth' => false,
  358. '_form' => 'merchantBroadcastAssistantCreate',
  359. ]);
  360. Route::post('create', '/create')->name('merchantBroadcastAssistantCreate')->option([
  361. '_alias' => '添加',
  362. ]);
  363. Route::get('update/:id/form', '/updateForm')->name('merchantBroadcastAssistantUpdateForm')->option([
  364. '_alias' => '编辑表单',
  365. '_auth' => false,
  366. '_form' => 'merchantBroadcastAssistantUpdate',
  367. ]);
  368. Route::post('update/:id', '/update')->name('merchantBroadcastAssistantUpdate')->option([
  369. '_alias' => '编辑',
  370. ]);
  371. Route::post('mark/:id', '/mark')->name('merchantBroadcastAssistantMark')->option([
  372. '_alias' => '备注',
  373. ]);
  374. Route::delete('delete/:id', '/delete')->name('merchantBroadcastAssistantDelete')->option([
  375. '_alias' => '删除',
  376. ]);
  377. })->prefix('merchant.store.broadcast.BroadcastAssistant')->option([
  378. '_path' => '/marketing/studio/assistant',
  379. '_auth' => true,
  380. '_append'=> [
  381. [
  382. '_name' =>'merchantUploadImage',
  383. '_path' =>'/marketing/studio/assistant',
  384. '_alias' => '上传图片',
  385. '_auth' => true,
  386. ],
  387. [
  388. '_name' =>'merchantAttachmentLst',
  389. '_path' =>'/marketing/studio/assistant',
  390. '_alias' => '图片列表',
  391. '_auth' => true,
  392. ],
  393. ]
  394. ]);
  395. //直播间商品
  396. Route::group('broadcast/goods', function () {
  397. Route::get('lst', '/lst')->name('merchantBroadcastGoodsLst')->option([
  398. '_alias' => '列表',
  399. ]);
  400. Route::get('detail/:id', '/detail')->name('merchantBroadcastGoodsDetail')->option([
  401. '_alias' => '详情',
  402. ]);
  403. Route::get('create/form', '/createForm')->name('merchantBroadcastGoodsCreateForm')->option([
  404. '_alias' => '添加表单',
  405. '_auth' => false,
  406. '_form' => 'merchantBroadcastGoodsCreate',
  407. ]);
  408. Route::post('create', '/create')->name('merchantBroadcastGoodsCreate')->option([
  409. '_alias' => '添加',
  410. ]);
  411. Route::get('update/form/:id', '/updateForm')->name('merchantBroadcastGoodsUpdateForm')->option([
  412. '_alias' => '编辑表单',
  413. '_auth' => false,
  414. '_form' => 'merchantBroadcastGoodsUpdate',
  415. ]);
  416. Route::post('update/:id', '/update')->name('merchantBroadcastGoodsUpdate')->option([
  417. '_alias' => '编辑',
  418. ]);
  419. Route::post('status/:id', '/changeStatus')->name('merchantBroadcastGoodsChangeStatus')->option([
  420. '_alias' => '修改状态',
  421. ]);
  422. Route::post('mark/:id', '/mark')->name('merchantBroadcastGoodsMark')->option([
  423. '_alias' => '备注',
  424. ]);
  425. Route::delete('delete/:id', '/delete')->name('merchantBroadcastGoodsDelete')->option([
  426. '_alias' => '删除',
  427. ]);
  428. Route::post('batch_create', '/batchCreate')->name('merchantBroadcastGoodsbatchCreate')->option([
  429. '_alias' => '批量添加',
  430. ]);
  431. })->prefix('merchant.store.broadcast.BroadcastGoods')->option([
  432. '_path' => '/marketing/studio/list',
  433. '_auth' => true,
  434. '_append'=> [
  435. [
  436. '_name' =>'merchantUploadImage',
  437. '_path' =>'/marketing/studio/list',
  438. '_alias' => '上传图片',
  439. '_auth' => true,
  440. ],
  441. [
  442. '_name' =>'merchantAttachmentLst',
  443. '_path' =>'/marketing/studio/list',
  444. '_alias' => '图片列表',
  445. '_auth' => true,
  446. ],
  447. ]
  448. ]);
  449. //积分
  450. Route::group('integral',function(){
  451. Route::get('lst','/getList')->name('merchantIntegralList')->option([
  452. '_alias' => '列表',
  453. ]);
  454. Route::get('title','/getTitle')->name('merchantIntegralTitle')->option([
  455. '_alias' => '统计',
  456. ]);
  457. })->prefix('merchant.user.UserIntegral')->option([
  458. '_path' => '/marketing/integral/log',
  459. '_auth' => true,
  460. '_append'=> [
  461. [
  462. '_name' =>'merchantConfigForm',
  463. '_path' =>'/marketing/integral/log',
  464. '_alias' => '配置获取',
  465. '_auth' => true,
  466. ],
  467. [
  468. '_name' =>'merchantConfigSave',
  469. '_path' =>'/marketing/integral/log',
  470. '_alias' => '配置保存',
  471. '_auth' => true,
  472. ],
  473. ]
  474. ]);
  475. })->middleware(AllowOriginMiddleware::class)
  476. ->middleware(MerchantTokenMiddleware::class, true)
  477. ->middleware(MerchantAuthMiddleware::class)
  478. ->middleware(MerchantCheckBaseInfoMiddleware::class)
  479. ->middleware(LogMiddleware::class);