product.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  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/params', function () {
  20. Route::get('temp/lst', '/lst')->name('merchantStoreParameterTemplateLst')->option([
  21. '_alias' => '列表',
  22. ]);
  23. Route::get('temp/detail/:id', '/detail')->name('merchantStoreParameterTemplateDetail')->option([
  24. '_alias' => '详情',
  25. ]);
  26. Route::delete('temp/delete/:id', '/delete')->name('merchantStoreParameterTemplateDelete')->option([
  27. '_alias' => '删除',
  28. ]);
  29. Route::post('temp/create', '/create')->name('merchantStoreParameterTemplateCreate')->option([
  30. '_alias' => '添加',
  31. ]);
  32. Route::post('temp/update/:id', '/update')->name('merchantStoreParameterTemplateUpdate')->option([
  33. '_alias' => '编辑',
  34. ]);
  35. Route::get('temp/select', '/select')->option([
  36. '_alias' => '筛选列表',
  37. '_auth' => false,
  38. ]);
  39. Route::get('temp/show', '/show')->option([
  40. '_alias' => '参数',
  41. '_auth' => false,
  42. ]);
  43. })->prefix('admin.parameter.ParameterTemplate')->option([
  44. '_path' => '/product/specs',
  45. '_auth' => true,
  46. ]);
  47. //产品规则模板
  48. Route::group('store/attr/template', function () {
  49. Route::get('lst', '/lst')->name('merchantStoreAttrTemplateLst')->option([
  50. '_alias' => '列表',
  51. ]);
  52. Route::get('list', '/getlist')->option([
  53. '_alias' => '筛选',
  54. '_auth' => false,
  55. ]);
  56. Route::post('create', '/create')->name('merchantStoreAttrTemplateCreate')->option([
  57. '_alias' => '添加 ',
  58. ]);
  59. Route::delete(':id', '/delete')->name('merchantStoreAttrTemplateDelete')->option([
  60. '_alias' => '删除',
  61. ]);
  62. Route::post(':id', '/update')->name('merchantStoreAttrTemplateUpdate')->option([
  63. '_alias' => '文件类型',
  64. ]);
  65. })->prefix('merchant.store.StoreAttrTemplate')->option([
  66. '_path' => '/product/attr',
  67. '_auth' => true,
  68. ]);
  69. //商品分类
  70. Route::group('store/category', function () {
  71. Route::get('create/form', '/createForm')->name('merchantStoreCategoryCreateForm')->option([
  72. '_alias' => '添加表单',
  73. '_auth' => false,
  74. '_form' => 'merchantStoreCategoryCreate',
  75. ]);
  76. Route::get('update/form/:id', '/updateForm')->name('merchantStoreCategoryUpdateForm')->option([
  77. '_alias' => '编辑表单',
  78. '_auth' => false,
  79. '_form' => 'merchantStoreCategoryUpdate',
  80. ]);
  81. Route::post('update/:id', '/update')->name('merchantStoreCategoryUpdate')->option([
  82. '_alias' => '编辑',
  83. ]);
  84. Route::get('lst', '/lst')->name('merchantStoreCategoryLst')->option([
  85. '_alias' => '列表',
  86. ]);
  87. Route::get('detail/:id', '/detail')->name('merchantStoreCategoryDtailt')->option([
  88. '_alias' => '详情',
  89. ]);
  90. Route::post('create', '/create')->name('merchantStoreCategoryCreate')->option([
  91. '_alias' => '添加',
  92. ]);
  93. Route::delete('delete/:id', '/delete')->name('merchantStoreCategoryDelete')->option([
  94. '_alias' => '删除',
  95. ]);
  96. Route::post('status/:id', '/switchStatus')->name('merchantStoreCategorySwitchStatus')->option([
  97. '_alias' => '修改状态',
  98. ]);
  99. Route::get('list', '/getList')->option([
  100. '_alias' => '筛选',
  101. '_auth' => false,
  102. ])->append(['type' => 1]);
  103. Route::get('select', '/getTreeList')->option([
  104. '_alias' => '树形',
  105. '_auth' => false,
  106. ]);
  107. Route::get('brandlist', '/BrandList')->option([
  108. '_alias' => '品牌列表',
  109. '_auth' => false,
  110. ]);
  111. })->prefix('admin.store.StoreCategory')->option([
  112. '_path' => '/product/classify',
  113. '_auth' => true,
  114. '_append'=> [
  115. [
  116. '_name' =>'merchantUploadImage',
  117. '_path' =>'/product/classify',
  118. '_alias' => '上传图片',
  119. '_auth' => true,
  120. ],
  121. [
  122. '_name' =>'merchantAttachmentLst',
  123. '_path' =>'/product/classify',
  124. '_alias' => '图片列表',
  125. '_auth' => true,
  126. ],
  127. ]
  128. ]);
  129. //商品
  130. Route::group('store/product', function () {
  131. Route::get('config', '/config')->option([
  132. '_alias' => '配置',
  133. '_auth' => false,
  134. ]);
  135. Route::get('lst_filter', '/getStatusFilter')->name('merchantStoreProductLstFilter')->option([
  136. '_alias' => '头部统计',
  137. ]);
  138. Route::get('lst', '/lst')->name('merchantStoreProductLst')->option([
  139. '_alias' => '列表',
  140. ]);
  141. Route::get('list', '/lst')->option([
  142. '_alias' => '列表',
  143. '_auth' => false,
  144. ]);
  145. Route::post('create', '/create')->name('merchantStoreProductCreate')->option([
  146. '_alias' => '添加',
  147. ]);
  148. Route::get('detail/:id', '/detail')->name('merchantStoreProductDetail')->option([
  149. '_alias' => '详情',
  150. ]);
  151. Route::get('temp_key', '/temp_key')->name('merchantStoreProductTempKey')->option([
  152. '_alias' => '上传视频配置',
  153. ]);
  154. Route::post('update/:id', '/update')->name('merchantStoreProductUpdate')->option([
  155. '_alias' => '编辑',
  156. ]);
  157. Route::post('free_trial/:id', '/freeTrial')->name('merchantStoreProductFreeTrial')->option([
  158. '_alias' => '免审编辑',
  159. ]);
  160. Route::delete('delete/:id', '/delete')->name('merchantStoreProductDelete')->option([
  161. '_alias' => '删除',
  162. ]);
  163. Route::delete('destory/:id', '/destory')->name('merchantStoreProductDestory')->option([
  164. '_alias' => '加入回收站',
  165. ]);
  166. Route::post('restore/:id', '/restore')->name('merchantStoreProductRestore')->option([
  167. '_alias' => '恢复',
  168. ]);
  169. Route::post('status/:id', '/switchStatus')->name('merchantStoreProductSwitchStatus')->option([
  170. '_alias' => '上下架',
  171. ]);
  172. Route::post('batch_status', '/batchShow')->name('merchantStoreProductSwitchBatchStatus')->option([
  173. '_alias' => '批量上下架',
  174. ]);
  175. Route::post('batch_temp', '/batchTemplate')->name('merchantStoreProductSwitchBatchTemplate')->option([
  176. '_alias' => '批量设置运费模板',
  177. ]);
  178. Route::post('batch_labels', '/batchLabels')->name('merchantStoreProductSwitchBatchLabels')->option([
  179. '_alias' => '批量设置标签',
  180. ]);
  181. Route::post('batch_hot', '/batchHot')->name('merchantStoreProductSwitchBatchHot')->option([
  182. '_alias' => '批量设置推荐',
  183. ]);
  184. Route::post('batch_ext', '/batchExtension')->name('merchantStoreProductSwitchBatchExtension')->option([
  185. '_alias' => '批量设置推荐',
  186. ]);
  187. Route::post('batch_svip', '/batchSvipType')->name('merchantStoreProductSwitchBatchSvipType')->option([
  188. '_alias' => '批量设置会员价',
  189. ]);
  190. Route::post('sort/:id', '/updateSort')->name('merchantStoreProductUpdateSort')->option([
  191. '_alias' => '排序',
  192. ]);
  193. Route::post('preview', '/preview')->name('merchantStoreProductPreview')->option([
  194. '_alias' => '预览',
  195. ]);
  196. Route::post('labels/:id', '/setLabels')->name('merchantStoreProductLabels')->option([
  197. '_alias' => '标签',
  198. ]);
  199. Route::get('attr_value/:id', '/getAttrValue')->name('merchantStoreProductAttrValue')->option([
  200. '_alias' => '获取规格',
  201. ]);
  202. })->prefix('merchant.store.product.Product')->option([
  203. '_path' => '/product/list',
  204. '_auth' => true,
  205. '_append'=> [
  206. [
  207. '_name' =>'merchantUploadImage',
  208. '_path' =>'/product/list',
  209. '_alias' => '上传图片',
  210. '_auth' => true,
  211. ],
  212. [
  213. '_name' =>'merchantAttachmentLst',
  214. '_path' =>'/product/list',
  215. '_alias' => '图片列表',
  216. '_auth' => true,
  217. ],
  218. ]
  219. ]);
  220. //复制商品
  221. Route::group('store/productcopy', function () {
  222. Route::get('lst', '/lst')->name('merchantStoreProductCopyLst')->option([
  223. '_alias' => '列表',
  224. ]);
  225. Route::get('get', '/get')->name('merchantStoreProductCopyGet')->option([
  226. '_alias' => '获取信息',
  227. ]);
  228. Route::get('count', '/count')->name('merchantStoreProductCopyCount')->option([
  229. '_alias' => '统计',
  230. ]);
  231. Route::post('save', '/save')->name('merchantStoreProductCopySave')->option([
  232. '_alias' => '保存',
  233. ]);
  234. })->prefix('merchant.store.product.ProductCopy')->option([
  235. '_path' => '/product/list',
  236. '_auth' => true,
  237. ]);
  238. //商品评价管理
  239. Route::group('store/reply', function () {
  240. Route::get('lst', '/lst')->name('merchantProductReplyLst')->option([
  241. '_alias' => '列表',
  242. ]);
  243. Route::get('form/:id', '/replyForm')->name('merchantProductReplyForm')->option([
  244. '_alias' => '回复表单',
  245. ]);
  246. Route::post('reply/:id', '/reply')->name('merchantProductReplyReply')->option([
  247. '_alias' => '回复',
  248. ]);
  249. })->prefix('admin.store.StoreProductReply')->option([
  250. '_path' => '/product/reviews',
  251. '_auth' => true,
  252. '_append'=> [
  253. [
  254. '_name' =>'merchantUploadImage',
  255. '_path' =>'/product/reviews',
  256. '_alias' => '上传图片',
  257. '_auth' => true,
  258. ],
  259. [
  260. '_name' =>'merchantAttachmentLst',
  261. '_path' =>'/product/reviews',
  262. '_alias' => '图片列表',
  263. '_auth' => true,
  264. ],
  265. ]
  266. ]);
  267. Route::group('store/reply', function () {
  268. Route::post('sort/:id', '/changeSort')->name('merchantProductReplySort')->option([
  269. '_alias' => '排序',
  270. ]);
  271. })->prefix('merchant.store.StoreProductReply')->option([
  272. '_path' => '/product/reviews',
  273. '_auth' => true,
  274. ]);;
  275. //商品标签
  276. Route::group('product/label', function () {
  277. Route::get('lst', '/lst')->name('merchantStoreProductLabelLst')->option([
  278. '_alias' => '列表',
  279. ]);
  280. Route::get('create/form', '/createForm')->name('merchantStoreProductLabelCreateForm')->option([
  281. '_alias' => '添加表单',
  282. '_auth' => false,
  283. '_form' => 'merchantStoreProductLabelCreate',
  284. ]);
  285. Route::post('create', '/create')->name('merchantStoreProductLabelCreate')->option([
  286. '_alias' => '添加',
  287. ]);
  288. Route::get('update/:id/form', '/updateForm')->name('merchantStoreProductLabelUpdateForm')->option([
  289. '_alias' => '编辑表单',
  290. '_auth' => false,
  291. '_form' => 'merchantStoreProductLabelUpdate',
  292. ]);
  293. Route::post('update/:id', '/update')->name('merchantStoreProductLabelUpdate')->option([
  294. '_alias' => '编辑',
  295. ]);
  296. Route::get('detail/:id', '/detail')->name('merchantStoreProductLabelDetail')->option([
  297. '_alias' => '详情',
  298. ]);
  299. Route::delete('delete/:id', '/delete')->name('merchantStoreProductLabelDelete')->option([
  300. '_alias' => '删除',
  301. ]);
  302. Route::post('status/:id', '/switchWithStatus')->name('merchantStoreProductLabelStatus')->option([
  303. '_alias' => '修改状态',
  304. ]);
  305. Route::get('option', '/getOptions')->option([
  306. '_alias' => '筛选',
  307. '_auth' => false,
  308. ]);
  309. })->prefix('merchant.store.product.ProductLabel')->option([
  310. '_path' => '/product/label',
  311. '_auth' => true,
  312. ]);
  313. Route::group('discounts/', function () {
  314. Route::post('create','/create')->name('merchantStoreDiscountsCreate')->option([
  315. '_alias' => '添加',
  316. ]);
  317. Route::post('update/:id','/update')->name('merchantStoreDiscountsUpdate')->option([
  318. '_alias' => '编辑',
  319. ]);
  320. Route::get('lst','/lst')->name('merchantStoreDiscountsLst')->option([
  321. '_alias' => '列表',
  322. ]);
  323. Route::get('detail/:id','/detail')->name('merchantStoreDiscountsDetail')->option([
  324. '_alias' => '详情',
  325. ]);
  326. Route::delete('delete/:id','/delete')->name('merchantStoreDiscountsDelete')->option([
  327. '_alias' => '删除',
  328. ]);
  329. Route::post('status/:id','/switchStatus')->name('merchantStoreDiscountsStatus')->option([
  330. '_alias' => '修改状态',
  331. ]);
  332. })->prefix('merchant.store.product.Discounts')->option([
  333. '_path' => '/marketing/discounts/list',
  334. '_auth' => true,
  335. '_append'=> [
  336. [
  337. '_name' =>'merchantUploadImage',
  338. '_path' =>'/marketing/discounts/list',
  339. '_alias' => '上传图片',
  340. '_auth' => true,
  341. ],
  342. [
  343. '_name' =>'merchantAttachmentLst',
  344. '_path' =>'/marketing/discounts/list',
  345. '_alias' => '图片列表',
  346. '_auth' => true,
  347. ],
  348. ]
  349. ]);
  350. //保障服务
  351. Route::group('guarantee',function(){
  352. Route::get('list','/list')->option([
  353. '_alias' => '列表',
  354. '_auth' => false,
  355. ]);
  356. Route::get('select','/select')->option([
  357. '_alias' => '筛选',
  358. '_auth' => false,
  359. ]);
  360. Route::get('lst','/lst')->name('merchantGuaranteeLst')->option([
  361. '_alias' => '列表',
  362. ]);
  363. Route::post('create','/create')->name('smerchantGuaranteeCreate')->option([
  364. '_alias' => '添加',
  365. ]);
  366. Route::post('update/:id','/update')->name('merchantGuaranteeUpdate')->option([
  367. '_alias' => '编辑',
  368. ]);
  369. Route::get('detail/:id','/detail')->name('merchantGuaranteeDetail')->option([
  370. '_alias' => '详情',
  371. ]);
  372. Route::delete('delete/:id','/delete')->name('merchantGuaranteeDelete')->option([
  373. '_alias' => '删除',
  374. ]);
  375. Route::post('sort/:id','/sort')->name('merchantGuaranteeSort')->option([
  376. '_alias' => '排序',
  377. ]);
  378. Route::post('status/:id','/switchStatus')->name('merchantGuaranteeStatus')->option([
  379. '_alias' => '修改状态',
  380. ]);
  381. })->prefix('merchant.store.guarantee.GuaranteeTemplate')->option([
  382. '_path' => '/config/guarantee',
  383. '_auth' => true,
  384. ]);
  385. })->middleware(AllowOriginMiddleware::class)
  386. ->middleware(MerchantTokenMiddleware::class, true)
  387. ->middleware(MerchantAuthMiddleware::class)
  388. ->middleware(MerchantCheckBaseInfoMiddleware::class)
  389. ->middleware(LogMiddleware::class);