product.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598
  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\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::delete('temp/delete/value/:id', '/deleteValue')->name('merchantStoreParameterTemplateDeleteValue')
  30. ->option([
  31. '_alias' => '删除属性',
  32. ]);
  33. Route::post('temp/create', '/create')->name('merchantStoreParameterTemplateCreate')->option([
  34. '_alias' => '添加',
  35. ]);
  36. Route::post('temp/update/:id', '/update')->name('merchantStoreParameterTemplateUpdate')->option([
  37. '_alias' => '编辑',
  38. ]);
  39. Route::get('temp/select', '/select')->option([
  40. '_alias' => '筛选列表',
  41. '_auth' => false,
  42. ]);
  43. Route::get('temp/show', '/show')->option([
  44. '_alias' => '参数',
  45. '_auth' => false,
  46. ]);
  47. })->prefix('admin.parameter.ParameterTemplate')->option([
  48. '_path' => '/product/specs',
  49. '_auth' => true,
  50. ]);
  51. //产品规则模板
  52. Route::group('store/attr/template', function () {
  53. Route::get('lst', '/lst')->name('merchantStoreAttrTemplateLst')->option([
  54. '_alias' => '列表',
  55. ]);
  56. Route::get('list', '/getlist')->option([
  57. '_alias' => '筛选',
  58. '_auth' => false,
  59. ]);
  60. Route::post('create', '/create')->name('merchantStoreAttrTemplateCreate')->option([
  61. '_alias' => '添加 ',
  62. ]);
  63. Route::delete(':id', '/delete')->name('merchantStoreAttrTemplateDelete')->option([
  64. '_alias' => '删除',
  65. ]);
  66. Route::post(':id', '/update')->name('merchantStoreAttrTemplateUpdate')->option([
  67. '_alias' => '文件类型',
  68. ]);
  69. })->prefix('merchant.store.StoreAttrTemplate')->option([
  70. '_path' => '/product/attr',
  71. '_auth' => true,
  72. ]);
  73. //商品分类
  74. Route::group('store/category', function () {
  75. Route::get('create/form', '/createForm')->name('merchantStoreCategoryCreateForm')->option([
  76. '_alias' => '添加表单',
  77. '_auth' => false,
  78. '_form' => 'merchantStoreCategoryCreate',
  79. ]);
  80. Route::get('update/form/:id', '/updateForm')->name('merchantStoreCategoryUpdateForm')->option([
  81. '_alias' => '编辑表单',
  82. '_auth' => false,
  83. '_form' => 'merchantStoreCategoryUpdate',
  84. ]);
  85. Route::post('update/:id', '/update')->name('merchantStoreCategoryUpdate')->option([
  86. '_alias' => '编辑',
  87. ]);
  88. Route::get('lst', '/lst')->name('merchantStoreCategoryLst')->option([
  89. '_alias' => '列表',
  90. ]);
  91. Route::get('detail/:id', '/detail')->name('merchantStoreCategoryDtailt')->option([
  92. '_alias' => '详情',
  93. ]);
  94. Route::post('create', '/create')->name('merchantStoreCategoryCreate')->option([
  95. '_alias' => '添加',
  96. ]);
  97. Route::delete('delete/:id', '/delete')->name('merchantStoreCategoryDelete')->option([
  98. '_alias' => '删除',
  99. ]);
  100. Route::post('status/:id', '/switchStatus')->name('merchantStoreCategorySwitchStatus')->option([
  101. '_alias' => '修改状态',
  102. ]);
  103. Route::get('list', '/getList')->option([
  104. '_alias' => '筛选',
  105. '_auth' => false,
  106. ])->append(['type' => 1]);
  107. Route::get('select', '/getTreeList')->option([
  108. '_alias' => '树形',
  109. '_auth' => false,
  110. ]);
  111. Route::get('brandlist', '/BrandList')->option([
  112. '_alias' => '品牌列表',
  113. '_auth' => false,
  114. ]);
  115. })->prefix('admin.store.StoreCategory')->option([
  116. '_path' => '/product/classify',
  117. '_auth' => true,
  118. '_append'=> [
  119. [
  120. '_name' =>'merchantUploadImage',
  121. '_path' =>'/product/classify',
  122. '_alias' => '上传图片',
  123. '_auth' => true,
  124. ],
  125. [
  126. '_name' =>'merchantAttachmentLst',
  127. '_path' =>'/product/classify',
  128. '_alias' => '图片列表',
  129. '_auth' => true,
  130. ],
  131. ]
  132. ]);
  133. //商品
  134. Route::group('store/product', function () {
  135. Route::get('config', '/config')->option([
  136. '_alias' => '配置',
  137. '_auth' => false,
  138. ]);
  139. Route::get('get_edit/:id', '/getEdit')->name('merchantStoreProductGetEdit')->option([
  140. '_alias' => '编辑商品获取信息',
  141. ]);
  142. Route::get('lst_filter', '/getStatusFilter')->name('merchantStoreProductLstFilter')->option([
  143. '_alias' => '头部统计',
  144. ]);
  145. Route::get('lst', '/lst')->name('merchantStoreProductLst')->option([
  146. '_alias' => '列表',
  147. ]);
  148. Route::get('list', '/lst')->option([
  149. '_alias' => '列表',
  150. '_auth' => false,
  151. ]);
  152. Route::post('create', '/create')->name('merchantStoreProductCreate')->option([
  153. '_alias' => '添加',
  154. ]);
  155. Route::get('detail/:id', '/detail')->name('merchantStoreProductDetail')->option([
  156. '_alias' => '详情',
  157. ]);
  158. Route::get('temp_key', '/temp_key')->name('merchantStoreProductTempKey')->option([
  159. '_alias' => '上传视频配置',
  160. ]);
  161. Route::post('update/:id', '/update')->name('merchantStoreProductUpdate')->option([
  162. '_alias' => '编辑',
  163. ]);
  164. Route::post('free_trial/:id', '/freeTrial')->name('merchantStoreProductFreeTrial')->option([
  165. '_alias' => '免审编辑',
  166. ]);
  167. Route::delete('delete/:id', '/delete')->name('merchantStoreProductDelete')->option([
  168. '_alias' => '加入回收站',
  169. ]);
  170. Route::delete('destory/:id', '/destory')->name('merchantStoreProductDestory')->option([
  171. '_alias' => '彻底删除',
  172. ]);
  173. Route::post('restore/:id', '/restore')->name('merchantStoreProductRestore')->option([
  174. '_alias' => '恢复',
  175. ]);
  176. Route::post('status/:id', '/switchStatus')->name('merchantStoreProductSwitchStatus')->option([
  177. '_alias' => '上下架',
  178. ]);
  179. Route::post('batch_status', '/batchShow')->name('merchantStoreProductSwitchBatchStatus')->option([
  180. '_alias' => '批量上下架',
  181. ]);
  182. Route::post('batch_temp', '/batchTemplate')->name('merchantStoreProductSwitchBatchTemplate')->option([
  183. '_alias' => '批量设置运费模板',
  184. ]);
  185. Route::post('batch_labels', '/batchLabels')->name('merchantStoreProductSwitchBatchLabels')->option([
  186. '_alias' => '批量设置标签',
  187. ]);
  188. Route::post('batch_hot', '/batchHot')->name('merchantStoreProductSwitchBatchHot')->option([
  189. '_alias' => '批量设置推荐',
  190. ]);
  191. Route::post('batch_ext', '/batchExtension')->name('merchantStoreProductSwitchBatchExtension')->option([
  192. '_alias' => '批量设置推荐',
  193. ]);
  194. Route::post('batch_svip', '/batchSvipType')->name('merchantStoreProductSwitchBatchSvipType')->option([
  195. '_alias' => '批量设置会员价',
  196. ]);
  197. Route::post('sort/:id', '/updateSort')->name('merchantStoreProductUpdateSort')->option([
  198. '_alias' => '排序',
  199. ]);
  200. Route::post('preview', '/preview')->name('merchantStoreProductPreview')->option([
  201. '_alias' => '预览',
  202. ]);
  203. Route::post('labels/:id', '/setLabels')->name('merchantStoreProductLabels')->option([
  204. '_alias' => '标签',
  205. ]);
  206. Route::get('attr_value/:id', '/getAttrValue')->name('merchantStoreProductAttrValue')->option([
  207. '_alias' => '获取规格',
  208. ]);
  209. Route::post('get_attr_value/:id', '/isFormatAttr')->name('merchantStoreProductFormatAttr')->option([
  210. '_alias' => '获取规格',
  211. ]);
  212. Route::get('get_batch_list', '/getBatchList')->name('merchantStoreProductGetBatchList')->option([
  213. '_alias' => '获取批量修改列表',
  214. ]);
  215. Route::post('batch_process', '/batchProcess')->name('merchantStoreProductSwitchBatchProcess')->option([
  216. '_alias' => '批量修改商品属性',
  217. ]);
  218. Route::get('get_operate_list/:product_id', '/getOperateList')->name('merchantStoreProductGetOperateList')->option([
  219. '_alias' => '操作记录',
  220. ]);
  221. Route::post('unbind', '/unbind')->name('merchantStoreProductUnbind')->option([
  222. '_alias' => '操作记录',
  223. ]);
  224. })->prefix('merchant.store.product.Product')->option([
  225. '_path' => '/product/list',
  226. '_auth' => true,
  227. '_append'=> [
  228. [
  229. '_name' =>'merchantUploadImage',
  230. '_path' =>'/product/list',
  231. '_alias' => '上传图片',
  232. '_auth' => true,
  233. ],
  234. [
  235. '_name' =>'merchantAttachmentLst',
  236. '_path' =>'/product/list',
  237. '_alias' => '图片列表',
  238. '_auth' => true,
  239. ],
  240. ]
  241. ]);
  242. //复制商品
  243. Route::group('store/productcopy', function () {
  244. Route::get('lst', '/lst')->name('merchantStoreProductCopyLst')->option([
  245. '_alias' => '列表',
  246. ]);
  247. Route::get('get', '/get')->name('merchantStoreProductCopyGet')->option([
  248. '_alias' => '获取信息',
  249. ]);
  250. Route::get('count', '/count')->name('merchantStoreProductCopyCount')->option([
  251. '_alias' => '统计',
  252. ]);
  253. Route::post('save', '/save')->name('merchantStoreProductCopySave')->option([
  254. '_alias' => '保存',
  255. ]);
  256. })->prefix('merchant.store.product.ProductCopy')->option([
  257. '_path' => '/product/list',
  258. '_auth' => true,
  259. ]);
  260. //商品评价管理
  261. Route::group('store/reply', function () {
  262. Route::get('lst', '/lst')->name('merchantProductReplyLst')->option([
  263. '_alias' => '列表',
  264. ]);
  265. Route::get('form/:id', '/replyForm')->name('merchantProductReplyForm')->option([
  266. '_alias' => '回复表单',
  267. ]);
  268. Route::post('reply/:id', '/reply')->name('merchantProductReplyReply')->option([
  269. '_alias' => '回复',
  270. ]);
  271. })->prefix('admin.store.StoreProductReply')->option([
  272. '_path' => '/product/reviews',
  273. '_auth' => true,
  274. '_append'=> [
  275. [
  276. '_name' =>'merchantUploadImage',
  277. '_path' =>'/product/reviews',
  278. '_alias' => '上传图片',
  279. '_auth' => true,
  280. ],
  281. [
  282. '_name' =>'merchantAttachmentLst',
  283. '_path' =>'/product/reviews',
  284. '_alias' => '图片列表',
  285. '_auth' => true,
  286. ],
  287. ]
  288. ]);
  289. Route::group('store/reply', function () {
  290. Route::post('sort/:id', '/changeSort')->name('merchantProductReplySort')->option([
  291. '_alias' => '排序',
  292. ]);
  293. })->prefix('merchant.store.StoreProductReply')->option([
  294. '_path' => '/product/reviews',
  295. '_auth' => true,
  296. ]);;
  297. //商品标签
  298. Route::group('product/label', function () {
  299. Route::get('lst', '/lst')->name('merchantStoreProductLabelLst')->option([
  300. '_alias' => '列表',
  301. ]);
  302. Route::get('create/form', '/createForm')->name('merchantStoreProductLabelCreateForm')->option([
  303. '_alias' => '添加表单',
  304. '_auth' => false,
  305. '_form' => 'merchantStoreProductLabelCreate',
  306. ]);
  307. Route::post('create', '/create')->name('merchantStoreProductLabelCreate')->option([
  308. '_alias' => '添加',
  309. ]);
  310. Route::get('update/:id/form', '/updateForm')->name('merchantStoreProductLabelUpdateForm')->option([
  311. '_alias' => '编辑表单',
  312. '_auth' => false,
  313. '_form' => 'merchantStoreProductLabelUpdate',
  314. ]);
  315. Route::post('update/:id', '/update')->name('merchantStoreProductLabelUpdate')->option([
  316. '_alias' => '编辑',
  317. ]);
  318. Route::get('detail/:id', '/detail')->name('merchantStoreProductLabelDetail')->option([
  319. '_alias' => '详情',
  320. ]);
  321. Route::delete('delete/:id', '/delete')->name('merchantStoreProductLabelDelete')->option([
  322. '_alias' => '删除',
  323. ]);
  324. Route::post('status/:id', '/switchWithStatus')->name('merchantStoreProductLabelStatus')->option([
  325. '_alias' => '修改状态',
  326. ]);
  327. Route::get('option', '/getOptions')->option([
  328. '_alias' => '筛选',
  329. '_auth' => false,
  330. ]);
  331. })->prefix('merchant.store.product.ProductLabel')->option([
  332. '_path' => '/product/label',
  333. '_auth' => true,
  334. ]);
  335. Route::group('discounts/', function () {
  336. Route::post('create','/create')->name('merchantStoreDiscountsCreate')->option([
  337. '_alias' => '添加',
  338. ]);
  339. Route::post('update/:id','/update')->name('merchantStoreDiscountsUpdate')->option([
  340. '_alias' => '编辑',
  341. ]);
  342. Route::get('lst','/lst')->name('merchantStoreDiscountsLst')->option([
  343. '_alias' => '列表',
  344. ]);
  345. Route::get('detail/:id','/detail')->name('merchantStoreDiscountsDetail')->option([
  346. '_alias' => '详情',
  347. ]);
  348. Route::delete('delete/:id','/delete')->name('merchantStoreDiscountsDelete')->option([
  349. '_alias' => '删除',
  350. ]);
  351. Route::post('status/:id','/switchStatus')->name('merchantStoreDiscountsStatus')->option([
  352. '_alias' => '修改状态',
  353. ]);
  354. })->prefix('merchant.store.product.Discounts')->option([
  355. '_path' => '/marketing/discounts/list',
  356. '_auth' => true,
  357. '_append'=> [
  358. [
  359. '_name' =>'merchantUploadImage',
  360. '_path' =>'/marketing/discounts/list',
  361. '_alias' => '上传图片',
  362. '_auth' => true,
  363. ],
  364. [
  365. '_name' =>'merchantAttachmentLst',
  366. '_path' =>'/marketing/discounts/list',
  367. '_alias' => '图片列表',
  368. '_auth' => true,
  369. ],
  370. ]
  371. ]);
  372. //保障服务
  373. Route::group('guarantee',function(){
  374. Route::get('list','/list')->option([
  375. '_alias' => '列表',
  376. '_auth' => false,
  377. ]);
  378. Route::get('select','/select')->option([
  379. '_alias' => '筛选',
  380. '_auth' => false,
  381. ]);
  382. Route::get('lst','/lst')->name('merchantGuaranteeLst')->option([
  383. '_alias' => '列表',
  384. ]);
  385. Route::post('create','/create')->name('smerchantGuaranteeCreate')->option([
  386. '_alias' => '添加',
  387. ]);
  388. Route::post('update/:id','/update')->name('merchantGuaranteeUpdate')->option([
  389. '_alias' => '编辑',
  390. ]);
  391. Route::get('detail/:id','/detail')->name('merchantGuaranteeDetail')->option([
  392. '_alias' => '详情',
  393. ]);
  394. Route::delete('delete/:id','/delete')->name('merchantGuaranteeDelete')->option([
  395. '_alias' => '删除',
  396. ]);
  397. Route::post('sort/:id','/sort')->name('merchantGuaranteeSort')->option([
  398. '_alias' => '排序',
  399. ]);
  400. Route::post('status/:id','/switchStatus')->name('merchantGuaranteeStatus')->option([
  401. '_alias' => '修改状态',
  402. ]);
  403. })->prefix('merchant.store.guarantee.GuaranteeTemplate')->option([
  404. '_path' => '/config/guarantee',
  405. '_auth' => true,
  406. ]);
  407. //商品单位
  408. Route::group('product/unit', function () {
  409. Route::get('list', '/list')->name('merchantStoreProductUnitLst')->option([
  410. '_alias' => '商品单位列表',
  411. ]);
  412. Route::get('create/form', '/createForm')->name('merchantStoreProductUnitCreateForm')->option([
  413. '_alias' => '商品单位添加表单',
  414. '_auth' => false,
  415. '_form' => 'merchantStoreProductUnitCreate',
  416. ]);
  417. Route::post('create', '/create')->name('merchantStoreProductUnitCreate')->option([
  418. '_alias' => '商品单位添加',
  419. ]);
  420. Route::get('update/:id/form', '/updateForm')->name('merchantStoreProductUnitUpdateForm')->option([
  421. '_alias' => '商品单位编辑表单',
  422. '_auth' => false,
  423. '_form' => 'merchantStoreProductUnitUpdate',
  424. ]);
  425. Route::post('update/:id', '/update')->name('merchantStoreProductUnitUpdate')->option([
  426. '_alias' => '商品单位编辑',
  427. ]);
  428. Route::delete('delete/:id', '/delete')->name('merchantStoreProductUnitDelete')->option([
  429. '_alias' => '商品单位删除',
  430. ]);
  431. Route::get('option', '/getSelectList')->option([
  432. '_alias' => '筛选',
  433. '_auth' => false,
  434. ]);
  435. })->prefix('merchant.store.product.ProductUnit')->option([
  436. '_path' => '/product/unit',
  437. '_auth' => true,
  438. ]);
  439. Route::group('product/cdkey', function () {
  440. Route::get('library/lst', 'CdkeyLibrary/lst')->name('merchantStoreProductCdkeyLibraryLst')->option([
  441. '_alias' => '列表',
  442. '_auth' => true,
  443. ]);
  444. Route::get('library/detail/:id', 'CdkeyLibrary/detail')->name('merchantStoreProductCdkeyLibraryDetail')
  445. ->option([
  446. '_alias' => '列表',
  447. '_auth' => true,
  448. ]);
  449. Route::get('library/create/form', 'CdkeyLibrary/createForm')->name('merchantStoreProductCdkeyLibraryCreateForm')
  450. ->option([
  451. '_alias' => '添加表单',
  452. '_auth' => false,
  453. '_form' => 'merchantStoreProductCdkeyLibraryCreate',
  454. ]);
  455. Route::post('library/create', 'CdkeyLibrary/create')->name('merchantStoreProductCdkeyLibraryCreate')->option([
  456. '_alias' => '添加',
  457. '_auth' => true,
  458. ]);
  459. Route::get('library/update/:id/form', 'CdkeyLibrary/updateForm')->name('merchantStoreProductCdkeyLibraryUpdateForm')->option([
  460. '_alias' => '编辑表单',
  461. '_auth' => true,
  462. '_form' => 'merchantStoreProductCdkeyLibraryUpdate',
  463. ]);
  464. Route::post('library/update/:id', 'CdkeyLibrary/update')->name('merchantStoreProductCdkeyLibraryUpdate')->option([
  465. '_alias' => '编辑',
  466. '_auth' => true,
  467. ]);
  468. Route::delete('library/delete/:id', 'CdkeyLibrary/delete')->name('merchantStoreProductCdkeyLibraryDelete')
  469. ->option([
  470. '_alias' => '删除',
  471. '_auth' => true,
  472. ]);
  473. Route::get('library/excel', 'CdkeyLibrary/excel')->name('merchantStoreProductCdkeyLibraryExcel')
  474. ->option([
  475. '_alias' => '导出',
  476. '_auth' => true,
  477. ]);
  478. Route::get('library/options', 'CdkeyLibrary/options');
  479. })->prefix('merchant.store.product.')->option([
  480. '_path' => '/product/cdkey',
  481. '_auth' => true,
  482. ]);
  483. // 批量导入
  484. Route::post('product/cdkey/library/import/:type', 'merchant.store.StoreImport/import')->name('merchantStoreProductCdkeyLibraryImport')
  485. ->option([
  486. '_alias' => '批量导入',
  487. '_path' => '/product/cdkey',
  488. '_auth' => true,
  489. ]);
  490. // 卡密信息
  491. Route::group('product/cdkey', function () {
  492. Route::get('lst', 'ProductCdkey/lst')->name('merchantStoreProductCdkeyLst')->option([
  493. '_alias' => '卡密列表',
  494. '_auth' => true,
  495. ]);
  496. Route::post('create', 'ProductCdkey/create')->name('merchantStoreProductCdkeyCreate')->option([
  497. '_alias' => '添加卡密',
  498. '_auth' => true,
  499. ]);
  500. Route::post('update/:id', 'ProductCdkey/update')->name('merchantStoreProductCdkeyUpdate')->option([
  501. '_alias' => '编辑卡密',
  502. '_auth' => true,
  503. ]);
  504. Route::delete('delete/:id', 'ProductCdkey/delete')->name('merchantStoreProductCdkeyDelete')->option([
  505. '_alias' => '删除卡密',
  506. '_auth' => true,
  507. ]);
  508. Route::delete('batch_delete', 'ProductCdkey/batchDelete')->name('merchantStoreProductCdkeyLibraryBatchDelete')
  509. ->option([
  510. '_alias' => '批量删除',
  511. '_auth' => true,
  512. ]);
  513. })->prefix('merchant.store.product.')->option([
  514. '_path' => '/product/cdkey',
  515. '_auth' => true,
  516. ]);
  517. //预约商品
  518. Route::group('store/reservation/product', function () {
  519. Route::post('create', '/create')->name('merchantStoreReservationProductCreate')->option([
  520. '_alias' => '添加预约商品',
  521. '_auth' => true,
  522. ]);
  523. Route::get('edit/:id', '/editInfo')->name('merchantStoreReservationProductEditInfo')->option([
  524. '_alias' => '获取预约商品',
  525. '_auth' => true,
  526. ]);
  527. Route::post('edit/:id', '/edit')->name('merchantStoreReservationProductEdit')->option([
  528. '_alias' => '编辑预约商品',
  529. '_auth' => true,
  530. ]);
  531. Route::get('detail/:id', '/detail')->name('merchantStoreReservationProductDetail')->option([
  532. '_alias' => '预约商品详情',
  533. '_auth' => true,
  534. ]);
  535. Route::post('setStock/:id', '/batchSetReservationProductStock')->name('merchantStoreReservationProductEditStock')->option([
  536. '_alias' => '批量修改预约商品库存',
  537. '_auth' => true,
  538. ]);
  539. Route::get('showMonth/:id', '/showMonth')->name('merchantStoreReservationProductShowMonth')->option([
  540. '_alias' => '商品日历month',
  541. '_auth' => false,
  542. ]);
  543. Route::get('showDay/:id', '/showDay')->name('merchantStoreReservationProductShowDay')->option([
  544. '_alias' => '商品日历day',
  545. '_auth' => false,
  546. ]);
  547. })->prefix('merchant.store.product.ReservationProduct')->option([
  548. '_path' => '/product/list',
  549. '_auth' => true,
  550. '_append'=> [
  551. [
  552. '_name' =>'merchantUploadImage',
  553. '_path' =>'/product/list',
  554. '_alias' => '上传图片',
  555. '_auth' => true,
  556. ],
  557. [
  558. '_name' =>'merchantAttachmentLst',
  559. '_path' =>'/product/list',
  560. '_alias' => '图片列表',
  561. '_auth' => true,
  562. ],
  563. ]
  564. ]);
  565. })->middleware(AllowOriginMiddleware::class)
  566. ->middleware(MerchantTokenMiddleware::class, true)
  567. ->middleware(MerchantAuthMiddleware::class)
  568. ->middleware(MerchantCheckBaseInfoMiddleware::class)
  569. ->middleware(LogMiddleware::class);