admin.php 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 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\AdminAuthMiddleware;
  12. use app\common\middleware\AdminTokenMiddleware;
  13. use app\common\middleware\AllowOriginMiddleware;
  14. use app\common\middleware\InstallMiddleware;
  15. use app\common\middleware\LogMiddleware;
  16. use think\facade\Route;
  17. Route::group(config('admin.admin_prefix'), function () {
  18. Route::miss(function () {
  19. $DB = DIRECTORY_SEPARATOR;
  20. return view(app()->getRootPath() . 'public' . $DB . 'system.html');
  21. });
  22. })->middleware(InstallMiddleware::class);
  23. Route::group(config('admin.api_admin_prefix') . '/', function () {
  24. Route::group(function () {
  25. //短信
  26. Route::group('sms', function () {
  27. //保存配置 登录
  28. Route::post('config', '.Sms/save_basics')->name('smsLogin');
  29. //短信发送记录
  30. Route::get('record', '.Sms/record')->name('smsRecord');
  31. //短信账号数据
  32. Route::get('data', '.Sms/data')->name('smsData');
  33. //查看是否登录
  34. Route::get('is_login', '.Sms/is_login');
  35. //退出登录
  36. Route::get('logout', '.Sms/logout')->name('smsLogout');
  37. //发送短信验证码
  38. Route::post('captcha', '.Sms/captcha')->name('smsCaptcha');
  39. //修改/注册短信平台账号
  40. Route::post('register', '.Sms/save')->name('smsSave');
  41. //短信模板列表
  42. Route::get('temp', '.SmsTemplate/template')->name('smsTemplate');
  43. //短信模板申请表单
  44. Route::get('temp/form', '.SmsTemplate/form')->name('smsCreateForm');
  45. //短信模板申请
  46. Route::post('temp', '.SmsTemplate/apply')->name('smsCreate');
  47. //公共短信模板列表
  48. Route::get('public', '.SmsTemplate/public')->name('smsPublicTemplate');
  49. //剩余条数
  50. Route::get('number', '.SmsPay/number')->name('smsNumber');
  51. //获取支付套餐
  52. Route::get('price', '.SmsPay/price')->name('smsPrice');
  53. //获取支付码
  54. Route::post('pay_code', '.SmsPay/pay')->name('smsPay');
  55. //修改密码
  56. Route::post('change_password', '.Sms/changePassword')->name('smsChangePassword');
  57. //修改簽名
  58. Route::post('change_sign', '.Sms/changeSign')->name('smsChangeSign');
  59. })->prefix('admin.system.sms');
  60. //配置分类
  61. Route::group('config/classify', function () {
  62. Route::get('create/table', '/createTable')->name('configClassifyCreateForm');
  63. Route::post('create', '/create')->name('configClassifyCreate');
  64. Route::delete('delete/:id', '/delete')->name('configClassifyDelete');
  65. Route::post('update/:id', '/update')->name('configClassifyUpdate');
  66. Route::get('update/table/:id', '/updateTable')->name('configClassifyUpdateForm');
  67. Route::post('status/:id', '/switchStatus')->name('configClassifySwitchStatus');
  68. Route::get('lst', '/lst')->name('configClassifyLst');
  69. })->prefix('admin.system.config.ConfigClassify');
  70. Route::get('menus', 'admin.system.auth.Menu/menus');
  71. //配置
  72. Route::group('config/setting', function () {
  73. Route::get('create/table', '/createTable')->name('configSettingCreateForm');
  74. Route::post('create', '/create')->name('configSettingCreate');
  75. Route::post('update/:id', '/update')->name('configSettingUpdate');
  76. Route::get('update/table/:id', '/updateTable')->name('configSettingUpdateForm');
  77. Route::post('status/:id', '/switchStatus')->name('configSettingSwitchStatus');
  78. Route::get('lst', '/lst')->name('configSettingLst');
  79. Route::delete('delete/:id', '/delete')->name('configSettingDelete');
  80. Route::post('upload_file/:field', '/upload')->name('configUpload');
  81. })->prefix('admin.system.config.Config');
  82. Route::group('config/others', function () {
  83. Route::get('lst', 'ConfigOthers/lst')->name('configOthersSettingLst');
  84. Route::post('update', 'ConfigOthers/update')->name('configOthersSettingUpdate');
  85. Route::get('group_buying', 'ConfigOthers/getGroupBuying')->name('configOthersGroupBuyingDetail');
  86. Route::post('group_buying', 'ConfigOthers/setGroupBuying')->name('configOthersGroupBuyingUpdate');
  87. })->prefix('admin.system.config.');
  88. Route::get('config/:key', 'admin.system.config.Config/form')->name('configForm');
  89. Route::post('config/save/:key', 'admin.system.config.ConfigValue/save')->name('configSave');
  90. //组合数据
  91. Route::group('group', function () {
  92. Route::get('lst', '/lst')->name('groupLst');
  93. Route::post('create', '/create')->name('groupCreate');
  94. Route::post('update/:id', '/update')->name('groupUpdate');
  95. Route::get('create/table', '/createTable')->name('groupCreateForm');
  96. Route::get('update/table/:id', '/updateTable')->name('groupUpdateForm');
  97. Route::get('detail/:id', '/get')->name('groupDetail');
  98. Route::get('data/lst/:groupId', 'Data/lst')->name('groupDataLst');
  99. Route::get('data/create/table/:groupId', 'Data/createTable')->name('groupDataCreateForm');
  100. Route::post('data/create/:groupId', 'Data/create')->name('groupDataCreate');
  101. Route::get('data/update/table/:groupId/:id', 'Data/updateTable')->name('groupDataUpdateForm');
  102. Route::post('data/update/:groupId/:id', 'Data/update')->name('groupDataUpdate');
  103. Route::delete('data/delete/:id', 'Data/delete')->name('groupDataDelete');
  104. Route::post('data/status/:id', 'Data/changeStatus')->name('groupDataChangeStatus');
  105. })->prefix('admin.system.groupData.Group');
  106. //附件管理
  107. Route::group('system/attachment', function () {
  108. Route::get('lst', '/getList')->name('systemAttachmentLst');
  109. Route::delete('delete', '/delete')->name('systemAttachmentDelete');
  110. Route::post('category', '/batchChangeCategory')->name('systemAttachmentBatchChangeCategory');
  111. Route::get('update/:id/form', '/updateForm')->name('systemAttachmentUpdateForm');
  112. Route::post('update/:id', '/update')->name('systemAttachmentUpdate');
  113. })->prefix('admin.system.attachment.Attachment');
  114. //上传图片
  115. Route::post('upload/image/:id/:field', 'admin.system.attachment.Attachment/image')->name('uploadImage');
  116. //附件分类管理
  117. Route::group('system/attachment/category', function () {
  118. Route::get('formatLst', '/getFormatList')->name('systemAttachmentCategoryGetFormatList');
  119. Route::get('create/form', '/createForm')->name('systemAttachmentCategoryCreateForm');
  120. Route::get('update/form/:id', '/updateForm')->name('systemAttachmentCategoryUpdateForm');
  121. Route::post('create', '/create')->name('systemAttachmentCategoryCreate');
  122. Route::post('update/:id', '/update')->name('systemAttachmentCategoryUpdate');
  123. Route::delete('delete/:id', '/delete')->name('systemAttachmentCategoryDelete');
  124. })->prefix('admin.system.attachment.AttachmentCategory');
  125. //权限管理
  126. Route::group('system/menu', function () {
  127. Route::get('lst', '/getList')->name('systemMenuGetLst');
  128. Route::get('create/form', '/createForm')->name('systemMenuCreateForm');
  129. Route::get('update/form/:id', '/updateForm')->name('systemMenuUpdateForm');
  130. Route::post('create', '/create')->name('systemMenuCreate');
  131. Route::post('update/:id', '/update')->name('systemMenuUpdate');
  132. Route::delete('delete/:id', '/delete')->name('systemMenuDelete');
  133. })->prefix('admin.system.auth.Menu');
  134. //商户权限管理
  135. Route::group('merchant/menu', function () {
  136. Route::get('lst', '/getList')->name('systemMerchantMenuGetLst')->append(['merchant' => 1]);
  137. Route::get('create/form', '/createForm')->name('systemMerchantMenuCreateForm')->append(['merchant' => 1]);
  138. Route::get('update/form/:id', '/updateForm')->name('systemMerchantMenuUpdateForm')->append(['merchant' => 1]);
  139. Route::post('create', '/create')->name('systemMerchantMenuCreate')->append(['merchant' => 1]);
  140. Route::post('update/:id', '/update')->name('systemMerchantMenuUpdate')->append(['merchant' => 1]);
  141. Route::delete('delete/:id', '/delete')->name('systemMerchantMenuDelete')->append(['merchant' => 1]);
  142. })->prefix('admin.system.auth.Menu');
  143. //申请列表
  144. Route::group('merchant/intention', function () {
  145. Route::get('lst', '/lst')->name('systemMerchantIntentionLst');
  146. Route::post('status/:id', '/switchStatus')->name('systemMerchantIntentionStatus');
  147. Route::delete('delete/:id', '/delete')->name('systemMerchantIntentionDelete');
  148. Route::get('mark/:id/form', '/form')->name('systemMerchantIntentionMarkForm');
  149. Route::get('status/:id/form', '/statusForm')->name('systemMerchantIntentionStatusForm');
  150. Route::post('mark/:id', '/mark')->name('systemMerchantIntentionMark');
  151. Route::post('agree', '/saveAgree')->name('systemMerchantIntentionSaveAgree');
  152. Route::get('agree', '/getAgree')->name('systemMerchantIntentionGetAgree');
  153. })->prefix('admin.system.merchant.MerchantIntention');
  154. //身份规则
  155. Route::group('system/role', function () {
  156. Route::get('lst', '/getList')->name('systemRoleGetList');
  157. Route::post('create', '/create')->name('systemRoleCreate');
  158. Route::get('create/form', '/createForm')->name('systemRoleCreateForm');
  159. Route::post('update/:id', '/update')->name('systemRoleUpdate');
  160. Route::get('update/form/:id', '/updateForm')->name('systemRoleUpdateForm');
  161. Route::post('status/:id', '/switchStatus')->name('systemRoleStatus');
  162. Route::delete('delete/:id', '/delete')->name('systemRoleDelete');
  163. })->prefix('admin.system.auth.Role');
  164. //Admin管理
  165. Route::group('system/admin', function () {
  166. Route::get('lst', '.Admin/getList')->name('systemAdminLst');
  167. Route::post('status/:id', '.Admin/switchStatus')->name('systemAdminStatus');
  168. Route::post('create', '.Admin/create')->name('systemAdminCreate');
  169. Route::get('create/form', '.Admin/createForm')->name('systemAdminCreateForm');
  170. Route::post('update/:id', '.Admin/update')->name('systemAdminUpdate');
  171. Route::get('update/form/:id', '.Admin/updateForm')->name('systemAdminUpdateForm');
  172. Route::post('password/:id', '.Admin/password')->name('systemAdminPassword');
  173. Route::get('password/form/:id', '.Admin/passwordForm')->name('systemAdminPasswordForm');
  174. Route::delete('delete/:id', '.Admin/delete')->name('systemAdminDelete');
  175. Route::get('edit/form', '.Admin/editForm')->name('systemAdminEditForm');
  176. Route::post('edit', '.Admin/edit')->name('systemAdminEdit');
  177. Route::get('edit/password/form', '.Admin/editPasswordForm')->name('systemAdminEditPasswordForm');
  178. Route::post('edit/password', '.Admin/editPassword')->name('systemAdminEditPassword');
  179. Route::get('log', '.AdminLog/lst')->name('systemAdminLog');
  180. })->prefix('admin.system.admin');
  181. //商户管理
  182. Route::group('system/merchant', function () {
  183. Route::get('create/form', '.Merchant/createForm')->name('systemMerchantCreateForm');
  184. Route::get('count', '.Merchant/count');
  185. Route::get('lst', '.Merchant/lst')->name('systemMerchantLst');
  186. Route::post('create', '.Merchant/create')->name('systemMerchantCreate');
  187. Route::get('update/form/:id', '.Merchant/updateForm')->name('systemMerchantUpdateForm');
  188. Route::post('update/:id', '.Merchant/update')->name('systemMerchantUpdate');
  189. Route::post('update_local/:id', '.Merchant/updateLocal')->name('systemMerchantUpdateLocal');//商户修改定位
  190. Route::post('status/:id', '.Merchant/switchStatus')->name('systemMerchantStatus');
  191. Route::post('close/:id', '.Merchant/switchClose')->name('systemMerchantClose');
  192. Route::delete('delete/:id', '.Merchant/delete')->name('systemMerchantDelete');
  193. Route::post('password/:id', '.MerchantAdmin/password')->name('systemMerchantAdminPassword');
  194. Route::get('password/form/:id', '.MerchantAdmin/passwordForm')->name('systemMerchantAdminPasswordForm');
  195. Route::post('login/:id', '.Merchant/login')->name('systemMerchantLogin');
  196. Route::get('changecopy/:id/form', '.Merchant/changeCopyNumForm')->name('systemMerchantChangeCopyForm');
  197. Route::post('changecopy/:id', '.Merchant/changeCopyNum')->name('systemMerchantChangeCopy');
  198. })->prefix('admin.system.merchant');
  199. //商户分类
  200. Route::group('system/merchant', function () {
  201. Route::get('category/lst', '/lst')->name('systemMerchantCategoryLst');
  202. Route::get('category_lst', '/lst');
  203. Route::post('category', '/create')->name('systemMerchantCategoryCreate');
  204. Route::get('category/form', '/createForm')->name('systemMerchantCategoryCreateForm');
  205. Route::delete('category/:id', '/delete')->name('systemMerchantCategoryDelete');
  206. Route::post('category/:id', '/update')->name('systemMerchantCategoryUpdate');
  207. Route::get('category/form/:id', '/updateForm')->name('systemMerchantCategoryUpdateForm');
  208. })->prefix('admin.system.merchant.MerchantCategory');
  209. //用户标签
  210. Route::group('user/label', function () {
  211. Route::get('lst', '/lst')->name('systemUserLabelLst');
  212. Route::post('user/label', '/create')->name('systemUserLabelCreate');
  213. Route::get('form', '/createForm')->name('systemUserLabelCreateForm');
  214. Route::delete(':id', '/delete')->name('systemUserLabelDelete');
  215. Route::post(':id', '/update')->name('systemUserLabelUpdate');
  216. Route::get('form/:id', '/updateForm')->name('systemUserLabelUpdateForm');
  217. })->prefix('admin.user.UserLabel');
  218. //用户分组
  219. Route::group('user/group', function () {
  220. Route::get('lst', '/lst')->name('systemUserGroupLst');
  221. Route::post('user/group', '/create')->name('systemUserGroupCreate');
  222. Route::get('form', '/createForm')->name('systemUserGroupCreateForm');
  223. Route::delete(':id', '/delete')->name('systemUserGroupDelete');
  224. Route::post(':id', '/update')->name('systemUserGroupUpdate');
  225. Route::get('form/:id', '/updateForm')->name('systemUserGroupUpdateForm');
  226. })->prefix('admin.user.UserGroup');
  227. //推广人
  228. Route::group('user/spread', function () {
  229. Route::get('lst/:uid', '/spreadList')->name('systemUserSpreadLst');
  230. Route::get('order/:uid', '/spreadOrder')->name('systemUserSpreadOrder');
  231. Route::post('clear/:uid', '/clearSpread')->name('systemUserSpreadClear');
  232. })->prefix('admin.user.User');
  233. //用户
  234. Route::group('user', function () {
  235. //用户列表
  236. Route::get('lst', '/lst')->name('systemUserLst');
  237. Route::get('promoter/lst', '/promoterList')->name('systemPromoterUserLst');
  238. Route::get('update/form/:id', '/updateForm')->name('systemUserUpdateForm');
  239. Route::post('update/:id', '/update')->name('systemUserUpdate');
  240. Route::get('lst', '/lst')->name('systemUserLst');
  241. //修改用户分组
  242. Route::get('change_group/form/:id', '/changeGroupForm')->name('systemUserChangeGroupForm');
  243. Route::get('batch_change_group/form', '/batchChangeGroupForm')->name('systemUserBatchChangeGroupForm');
  244. Route::post('change_group/:id', '/changeGroup')->name('systemUserChangeGroup');
  245. Route::post('batch_change_group', '/batchChangeGroup')->name('systemUserBatchChangeGroup');
  246. //修改用户标签
  247. Route::get('change_label/form/:id', '/changeLabelForm')->name('systemUserChangeLabelForm');
  248. Route::get('batch_change_label/form', '/batchChangeLabelForm')->name('systemUserBatchChangeLabelForm');
  249. Route::post('change_label/:id', '/changeLabel')->name('systemUserChangeLabel');
  250. Route::post('batch_change_label', '/batchChangeLabel')->name('systemUserBatchChangeLabel');
  251. //修改用户余额
  252. Route::get('change_now_money/form/:id', '/changeNowMoneyForm')->name('systemUserChangeNowMoneyForm');
  253. Route::post('change_now_money/:id', '/changeNowMoney')->name('systemUserChangeNowMoney');
  254. //微信图文群发
  255. Route::post('news/push', '/sendNews')->name('systemWechatUserSendNews');
  256. Route::get('detail/:id', '/detail')->name('systemUserDetail');
  257. Route::get('order/:id', '/order')->name('systemUserOrder');
  258. Route::get('coupon/:id', '/coupon')->name('systemUserCoupon');
  259. Route::get('bill/:id', '/bill')->name('systemUserBill');
  260. Route::get('spread_log/:id', '/spreadLog')->name('systemUserSpreadLog');
  261. Route::get('change_spread_form/:id', '/spreadForm')->name('systemUserSpreadChangeForm');
  262. Route::post('change_spread/:id', '/spread')->name('systemUserSpreadChange');
  263. })->prefix('admin.user.User');
  264. //内容管理
  265. Route::group('system/article/category', function () {
  266. Route::get('create/form', '/createForm')->name('systemArticleCategoryCreateForm');
  267. Route::get('lst', '/lst')->name('systemArticleCategoryLst');
  268. Route::post('create', '/create')->name('systemArticleCategoryCreate');
  269. Route::get('update/form/:id', '/updateForm')->name('systemArticleCategoryUpdateForm');
  270. Route::post('update/:id', '/update')->name('systemArticleCategoryUpdate');
  271. Route::post('status/:id', '/switchStatus')->name('systemArticleCategoryStatus');
  272. Route::delete('delete/:id', '/delete')->name('systemArticleCategoryDelete');
  273. Route::get('detail/:id', '/detail')->name('systemArticleCategoryDetail');
  274. })->prefix('admin.article.ArticleCategory');
  275. Route::group('system/article/article', function () {
  276. Route::get('lst', '/getList')->name('systemArticlArticleLst');
  277. Route::post('create', '/create')->name('systemArticleArticleCreate');
  278. Route::post('update/:id', '/update')->name('systemArticArticleleUpdate');
  279. Route::delete('delete/:id', '/delete')->name('systemArticArticleleDelete');
  280. Route::get('detail/:id', '/detail')->name('systemArticArticleleDetail');
  281. Route::get('lst', '/getList')->name('systemArticlArticleLst');
  282. })->prefix('admin.article.Article');
  283. //微信菜单
  284. Route::group('wechat', function () {
  285. Route::get('menu', '/info')->name('wechatMenu');
  286. Route::post('menu', '/save')->name('saveWechatMenu');
  287. })->prefix('admin.wechat.WechatMenu');
  288. //自动回复
  289. Route::group('wechat/reply', function () {
  290. Route::get('detail/:id', '/info')->name('wechatReplyInfo');
  291. Route::post('save/:key', '/save')->name('saveWechatReply');
  292. Route::post('create', '/create')->name('createWechatReply');
  293. Route::post('update/:id', '/update')->name('updateWechatReply');
  294. Route::get('lst', '/lst')->name('wechatReplyLst');
  295. Route::delete(':id', '/delete')->name('wechatReplyDelete');
  296. Route::post('status/:id', '/changeStatus')->name('wechatReplyStatus');
  297. Route::post('upload/image', '/uploadImage')->name('wechatUploadImage');
  298. Route::post('upload/voice', '/uploadVoice')->name('wechatUploadVoice');
  299. })->prefix('admin.wechat.WechatReply');
  300. /*//微信用户标签
  301. Route::group('wechat/user/tag',function(){
  302. Route::get('/lst', '/lst')->name('wechatUserTagLst');
  303. Route::get('/create/form', '/createForm')->name('createWechatUserTagForm');
  304. Route::post('/create', '/create')->name('createWechatUserTag');
  305. Route::get('/update/form/:id', '/updateForm')->name('updateWechatUserTagForm');
  306. Route::post('/update/:id', '/update')->name('updateWechatUserTag');
  307. Route::delete('/delete/:id', '/delete')->name('deleteWechatUserTag');
  308. })->prefix('admin.wechat.WechatTag');
  309. //微信用户分组
  310. Route::group('wechat/user/group',function(){
  311. Route::get('lst', '/lst')->name('wechatUserGroupLst');
  312. Route::get('create/form', '/createForm')->name('createWechatUserGroupForm');
  313. Route::post('create', '/create')->name('createWechatUserGroup');
  314. Route::get('update/form/:id', '/updateForm')->name('updateWechatUserGroupForm');
  315. Route::post('update/:id', '/update')->name('updateWechatUserGroupTag');
  316. Route::delete('delete/:id', '/delete')->name('deleteWechatUserGroup');
  317. })->prefix('admin.wechat.WechatGroup');
  318. //微信用户管理
  319. Route::group('wechat',function(){
  320. Route::get('user/lst', '/lst')->name('wechatUserLst');
  321. Route::get('user/sync_tag/:id', '/syncTag')->name('wechatUserSyncTag');
  322. Route::get('user/tag_group', '/tagGroup')->name('wechatUserTagGroup');
  323. Route::get('user_tag/form/:id', '/tagForm')->name('wechatUserTagForm');
  324. Route::post('user_tag/:id', '/tag')->name('wechatUserTag');
  325. Route::get('user_group/form/:id', '/groupForm')->name('wechatUserGroupForm');
  326. Route::post('user_group/:id', '/group')->name('wechatUserGroup');
  327. })->prefix('admin.wechat.WechatUser');*/
  328. //图文管理
  329. Route::group('wechat/news', function () {
  330. Route::post('create', '/create')->name('systemWechatNewsCreate');
  331. Route::post('update/:id', '/update')->name('systemWechatNewsUpdate');
  332. Route::delete('delete/:id', '/delete')->name('systemWechatNewsDelete');
  333. Route::get('lst', '/lst')->name('systemWechatNewsLst');
  334. Route::post('create', '/create')->name('systemWechatNewsCreate');
  335. Route::post('update/:id', '/update')->name('systemWechatNewsUpdate');
  336. Route::delete('delete/:id', '/delete')->name('systemWechatNewsDelete');
  337. Route::get('detail/:id', '/detail')->name('systemWechatNewsDetail');
  338. })->prefix('admin.wechat.WechatNews');
  339. //商品分类
  340. Route::group('store/category', function () {
  341. Route::get('create/form', '/createForm')->name('systemStoreCategoryCreateForm');
  342. Route::get('update/form/:id', '/updateForm')->name('systemStoreCategoryUpdateForm');
  343. Route::post('update/:id', '/update')->name('systemStoreCategoryUpdate');
  344. Route::get('lst', '/lst')->name('systemStoreCategoryLst');
  345. Route::get('detail/:id', '/detail')->name('systemStoreCategoryDtailt');
  346. Route::post('create', '/create')->name('systemStoreCategoryCreate');
  347. Route::delete('delete/:id', '/delete')->name('systemStoreCategoryDelete');
  348. Route::post('status/:id', '/switchStatus')->name('systemStoreCategorySwitchStatus');
  349. Route::get('list', '/getList');
  350. })->prefix('admin.store.StoreCategory');
  351. //品牌分类
  352. Route::group('store/brand/category', function () {
  353. Route::get('create/form', '/createForm')->name('systemStoreBrandCategoryCreateForm');
  354. Route::get('update/form/:id', '/updateForm')->name('systemStoreBrandCategoryUpdateForm');
  355. Route::post('update/:id', '/update')->name('systemStoreBrandCategoryUpdate');
  356. Route::get('lst', '/lst')->name('systemStoreBrandCategoryLst');
  357. Route::get('detail/:id', '/detail')->name('systemStoreBrandCategoryDtailt');
  358. Route::post('create', '/create')->name('systemStoreBrandCategoryCreate');
  359. Route::delete('delete/:id', '/delete')->name('systemStoreBrandCategoryDelete');
  360. Route::post('status/:id', '/switchStatus')->name('systemStoreBrandCategorySwitchStatus');
  361. })->prefix('admin.store.StoreBrandCategory');
  362. //品牌
  363. Route::group('store/brand', function () {
  364. Route::get('create/form', '/createForm')->name('systemStoreBrandCreateForm');
  365. Route::get('update/form/:id', '/updateForm')->name('systemStoreBrandUpdateForm');
  366. Route::get('lst', '/lst')->name('systemStoreBrandLst');
  367. Route::post('status/:id', '/switchStatus')->name('systemStoreBrandSwithStatus');
  368. Route::post('create', '/create')->name('systemStoreBrandCreate');
  369. Route::post('update/:id', '/update')->name('systemStoreBrandUpdate');
  370. Route::delete('delete/:id', '/delete')->name('systemStoreBrandDelete');
  371. })->prefix('admin.store.StoreBrand');
  372. //商品
  373. Route::group('store/product', function () {
  374. Route::get('mer_select', '/lists');
  375. Route::get('lst_filter', '/getStatusFilter')->name('systemStoreProductLstFilter');
  376. Route::get('lst', '/lst')->name('systemStoreProductLst');
  377. Route::get('list', '/lst');
  378. Route::get('detail/:id', '/detail')->name('systemStoreProductDetail');
  379. Route::post('update/:id', '/update')->name('systemStoreProductUpdate');
  380. Route::post('status', '/switchStatus')->name('systemStoreProductSwitchStatus');
  381. Route::post('check', '/checkProduct')->name('systemStoreProductCheck');
  382. Route::post('change/:id', '/changeUsed')->name('systemStoreProductChangeUsed');
  383. Route::get('ficti/form/:id', '/addFictiForm')->name('systemStoreProductAddFictiForm');
  384. Route::post('ficti/:id', '/addFicti')->name('systemStoreProductAddFicti');
  385. })->prefix('admin.store.StoreProduct');
  386. //预售商品
  387. Route::group('store/product/presell', function () {
  388. Route::get('lst', 'StoreProductPresell/lst')->name('systemStoreProductPresellLst');
  389. Route::post('is_show/:id', 'StoreProductPresell/switchStatus')->name('systemStoreProductPresellShow');
  390. Route::get('detail/:id', 'StoreProductPresell/detail')->name('systemStoreProductPresellDetail');
  391. Route::get('get/:id', 'StoreProductPresell/get')->name('systemStoreProductPresellGet');
  392. Route::post('update/:id', 'StoreProductPresell/update')->name('systemStoreProductPresellUpdate');
  393. Route::post('status', 'StoreProductPresell/productStatus')->name('systemStoreProductPresellSwitchStatus');
  394. Route::post('agree', 'StoreProductPresell/saveAgree')->name('systemStoreProductPresellSaveAgree');
  395. Route::get('agree', 'StoreProductPresell/getAgree')->name('systemStoreProductPresellGetAgree');
  396. })->prefix('admin.store.');
  397. //助力商品
  398. Route::group('store/product/assist', function () {
  399. Route::get('lst', 'StoreProductAssist/lst')->name('systemStoreProductAssistLst');
  400. Route::post('is_show/:id', 'StoreProductAssist/switchStatus')->name('systemStoreProductAssistShow');
  401. Route::get('detail/:id', 'StoreProductAssist/detail')->name('systemStoreProductAssistDetail');
  402. Route::post('update/:id', 'StoreProductAssist/update')->name('systemStoreProductAssistProductUpdate');
  403. Route::post('status', 'StoreProductAssist/productStatus')->name('systemStoreProductAssistStatus');
  404. Route::get('set/lst', 'StoreProductAssistSet/lst')->name('systemStoreProductAssistSetLst');
  405. Route::get('set/detail/:id', 'StoreProductAssistSet/detail')->name('systemStoreProductAssistSetDetail');
  406. Route::get('get/:id', 'StoreProductAssist/get')->name('systemStoreProductAssistGet');
  407. })->prefix('admin.store.');
  408. //拼团商品
  409. Route::group('store/product/group', function () {
  410. Route::get('lst', 'StoreProductGroup/lst')->name('systemStoreProductGroupLst');
  411. Route::post('is_show/:id', 'StoreProductGroup/switchStatus')->name('systemStoreProductGroupShow');
  412. Route::get('detail/:id', 'StoreProductGroup/detail')->name('systemStoreProductGroupDetail');
  413. Route::post('update/:id', 'StoreProductGroup/update')->name('systemStoreProductGroupProductUpdate');
  414. Route::post('status', 'StoreProductGroup/productStatus')->name('systemStoreProductGroupStatus');
  415. Route::get('get/:id', 'StoreProductGroup/get')->name('systemStoreProductGroupGet');
  416. Route::post('sort/:id', 'StoreProductGroup/updateSort')->name('systemStoreProductGroupSort');
  417. Route::get('buying/lst', 'StoreProductGroupBuying/lst')->name('systemStoreProductGroupBuyingLst');
  418. Route::get('buying/detail/:id', 'StoreProductGroupBuying/detail')->name('systemStoreProductGroupBuyingDetail');
  419. })->prefix('admin.store.');
  420. //直播间
  421. Route::group('broadcast/room', function () {
  422. Route::get('lst', '/lst')->name('systemBroadcastRoomLst');
  423. Route::get('detail/:id', '/detail')->name('systemBroadcastRoomDetail');
  424. Route::get('apply/form/:id', '/applyForm')->name('systemBroadcastRoomApplyForm');
  425. Route::post('apply/:id', '/apply')->name('systemBroadcastRoomApply');
  426. Route::post('status/:id', '/changeStatus')->name('systemBroadcastRoomChangeStatus');
  427. Route::post('sort/:id', '/sort')->name('systemBroadcastRoomSort');
  428. Route::post('live_status/:id', '/changeLiveStatus')->name('systemBroadcastRoomChangeLiveStatus');
  429. Route::delete('delete/:id', '/delete')->name('systemBroadcastRoomDelete');
  430. Route::get('goods/:id', '/goodsList')->name('systemBroadcastRoomGoods');
  431. })->prefix('admin.store.BroadcastRoom');
  432. //直播间商品
  433. Route::group('broadcast/goods', function () {
  434. Route::get('lst', '/lst')->name('systemBroadcastGoodsLst');
  435. Route::get('detail/:id', '/detail')->name('systemBroadcastGoodsDetail');
  436. Route::get('apply/form/:id', '/applyForm')->name('systemBroadcastGoodsApplyForm');
  437. Route::post('apply/:id', '/apply')->name('systemBroadcastGoodsApply');
  438. Route::post('status/:id', '/changeStatus')->name('systemBroadcastGoodsChangeStatus');
  439. Route::post('sort/:id', '/sort')->name('systemBroadcastGoodsSort');
  440. Route::delete('delete/:id', '/delete')->name('systemBroadcastGoodsDelete');
  441. })->prefix('admin.store.BroadcastGoods');
  442. //礼包
  443. Route::group('store/bag', function () {
  444. Route::get('mer_select', '/lists');
  445. Route::get('list', '/lst');
  446. Route::get('lst_filter', '/getBagStatusFilter')->name('systemStoreBagLstFilter');
  447. Route::get('lst', '/bagList')->name('systemStoreBagLst');
  448. Route::get('detail/:id', '/detail')->name('systemStoreBagDetail');
  449. Route::post('update/:id', '/update')->name('systemStoreBagUpdate');
  450. Route::post('status', '/switchStatus')->name('systemStoreBagSwitchStatus');
  451. Route::post('change/:id', '/changeUsed')->name('systemStoreBagChangeUsed');
  452. })->prefix('admin.store.StoreProduct');
  453. Route::group('store/coupon', function () {
  454. Route::get('lst', '/lst')->name('systemStoreCouponLst');
  455. Route::get('issue', '/issue')->name('systemCouponIssue');
  456. Route::get('detail/:id', '/detail')->name('systemCouponDetail');
  457. })->prefix('admin.store.Coupon');
  458. //地址快读公司
  459. Route::group('store/express', function () {
  460. Route::get('lst', '/lst')->name('systemExpressLst');
  461. Route::get('create/form', '/createForm')->name('systemExpressCreateForm');
  462. Route::post('create', '/create')->name('systemExpressCreate');
  463. Route::post('status/:id', '/switchStatus')->name('systemExpressSwitchStatus');
  464. Route::get('detail/:id', '/detail')->name('systemExpressDetail');
  465. Route::get('update/form/:id', '/updateForm')->name('systemExpressUpdateForm');
  466. Route::post('update/:id', '/update')->name('systemExpressUpdate');
  467. Route::delete('delete/:id', '/delete')->name('systemExpressDelete');
  468. })->prefix('admin.store.Express');
  469. //秒杀配置管理
  470. Route::group('seckill/config', function () {
  471. Route::get('lst', '/lst')->name('systemSeckillConfigLst');
  472. Route::get('select', '/select');
  473. Route::get('create/form', '/createForm')->name('systemSeckillConfigCreateForm');
  474. Route::post('create', '/create')->name('systemSeckillConfigCreate');
  475. Route::get('update/:id/form', '/updateForm')->name('systemSeckillConfigUpdateForm');
  476. Route::post('update/:id', '/update')->name('systemSeckillConfigUpdate');
  477. Route::post('status/:id', '/switchStatus')->name('systemSeckillConfigStatus');
  478. Route::delete('delete/:id', '/delete')->name('systemSeckillConfigDelete');
  479. })->prefix('admin.store.StoreSeckill');
  480. //秒杀商品管理
  481. Route::group('seckill/product', function () {
  482. Route::get('mer_select', '/lists');
  483. Route::get('lst_filter', '/getStatusFilter')->name('systemStoreSeckillProductLstFilter');
  484. Route::get('lst', '/lst')->name('systemStoreSeckillProductLst');
  485. Route::get('list', '/lst');
  486. Route::get('detail/:id', '/detail')->name('systemStoreSeckillProductDetail');
  487. Route::post('update/:id', '/update')->name('systemStoreSeckillProductUpdate');
  488. Route::post('status', '/switchStatus')->name('systemStoreSeckillProductSwitchStatus');
  489. Route::post('change/:id', '/changeUsed')->name('systemStoreSeckillProductChangeUsed');
  490. })->prefix('admin.store.StoreProductSeckill');
  491. //商品评价管理
  492. Route::group('store/reply', function () {
  493. Route::get('lst', '/lst')->name('systemProductReplyLst');
  494. Route::get('create/form/:id?', '/virtualForm')->name('systemProductReplyCreateForm');
  495. Route::post('create', '/virtualReply')->name('systemProductReplyCreate');
  496. Route::delete('delete/:id', '/delete')->name('systemProductReplyDelete');
  497. })->prefix('admin.store.StoreProductReply');
  498. //安全维护
  499. Route::group('safety/database', function () {
  500. Route::get('lst', '/lst')->name('systemSafetyDatabaseLst');
  501. Route::get('fileList', '/fileList')->name('systemSafetyDatabaseFileList');
  502. Route::get('detail/:name', '/detail')->name('systemSafetyDatabaseDetail');
  503. Route::post('backups', '/backups')->name('systemSafetyDatabaseBackups');
  504. Route::post('optimize', '/optimize')->name('systemSafetyDatabaseOptimize');
  505. Route::post('repair', '/repair')->name('systemSafetyDatabaseRepair');
  506. Route::get('download/:feilname', '/downloadFile')->name('systemSafetyDatabaseDownloadFile');
  507. Route::delete('delete', '/deleteFile')->name('systemSafetyDatabaseDeleteFile');
  508. })->prefix('admin.system.safety.Database');
  509. //用户反馈
  510. Route::group('user/feedback', function () {
  511. Route::get('category/lst', 'FeedBackCategory/lst')->name('systemUserFeedBackCategoryLst');
  512. Route::get('category/create/form', 'FeedBackCategory/createForm')->name('systemUserFeedBackCategoryCreateForm');
  513. Route::post('category/create', 'FeedBackCategory/create')->name('systemUserFeedBackCategoryCreate');
  514. Route::get('category/update/:id/form', 'FeedBackCategory/updateForm')->name('systemUserFeedBackCategoryUpdateForm');
  515. Route::post('category/update/:id', 'FeedBackCategory/update')->name('systemUserFeedBackCategoryUpdate');
  516. Route::post('category/status/:id', 'FeedBackCategory/switchStatus')->name('systemUserFeedBackCategorySwitchStatus');
  517. Route::delete('category/delete/:id', 'FeedBackCategory/delete')->name('systemUserFeedBackCategoryDelete');
  518. Route::get('lst', 'FeedBack/lst')->name('systemUserFeedBackLst');
  519. Route::get('detail/:id', 'FeedBack/detail')->name('systemUserFeedBackDetail');
  520. Route::post('status/:id', 'FeedBack/switchStatus')->name('systemUserFeedBackStatus');
  521. //Route::post('reply/:id','FeedBack/reply')->name('systemUserFeedBackReply');
  522. Route::delete('delete/:id', 'FeedBack/delete')->name('systemUserFeedBackDelete');
  523. })->prefix('admin.user.');
  524. //商户订单
  525. Route::group('merchant/order', function () {
  526. Route::get('lst/:id', 'Order/lst')->name('systemMerchantOrderLst');
  527. Route::get('mark/:id/form', 'Order/markForm')->name('systemMerchantOrderMarkForm');
  528. Route::post('mark/:id', 'Order/mark')->name('systemMerchantOrderMark');
  529. Route::get('refund/lst/:id', 'RefundOrder/lst')->name('systemMerchantRefundOrderLst');
  530. Route::get('refund/mark/:id/form', 'RefundOrder/markForm')->name('systemMerchantRefundOrderMarkForm');
  531. Route::post('refund/mark/:id', 'RefundOrder/mark')->name('systemMerchantRefundOrderMark');
  532. Route::get('reconciliation/lst', 'Reconciliation/lst')->name('systemMerchantReconciliationLst');
  533. Route::post('reconciliation/create/:id', 'Reconciliation/create')->name('systemMerchantReconciliationCreate');
  534. Route::post('reconciliation/status/:id', 'Reconciliation/switchStatus')->name('systemMerchantReconciliationSwitchStatus');
  535. Route::get('reconciliation/:id/order', 'Order/reList')->name('systemMerchantOrderReList');
  536. Route::get('reconciliation/:id/refund', 'RefundOrder/reList')->name('systemMerchantRefundOrderReList');
  537. Route::get('reconciliation/mark/:id/form', 'Reconciliation/markForm')->name('systemMerchantReconciliationMarkForm');
  538. Route::post('reconciliation/mark/:id', 'Reconciliation/mark')->name('systemMerchantReconciliationMark');
  539. })->prefix('admin.order.');
  540. //提现
  541. Route::group('user/extract', function () {
  542. Route::get('lst', 'UserExtract/lst')->name('systemUserExtractLst');
  543. Route::post('status/:id', 'UserExtract/switchStatus')->name('systemUserExtractSwitchStatus');
  544. })->prefix('admin.user.');
  545. //微信消息模板
  546. Route::group('wechat/template', function () {
  547. Route::get('lst', 'TemplateMessage/lst')->name('systemTemplateMessageLst');
  548. Route::get('create/form', 'TemplateMessage/createform')->name('systemTemplateMessageCreateForm');
  549. Route::post('create', 'TemplateMessage/create')->name('systemTemplateMessageCreate');
  550. Route::get('update/:id/form', 'TemplateMessage/updateForm')->name('systemTemplateMessageUpdateForm');
  551. Route::post('update/:id', 'TemplateMessage/update')->name('systemTemplateMessageUpdate');
  552. Route::delete('delete/:id', 'TemplateMessage/delete')->name('systemTemplateMessageDelete');
  553. Route::post('status/:id', 'TemplateMessage/switchStatus')->name('systemTemplateMessageSwitchStatus');
  554. })->prefix('admin.wechat.');
  555. //小程序订阅消息
  556. Route::group('wechat/template/min', function () {
  557. Route::get('lst', 'TemplateMessage/minList')->name('systemTemplateMessageMinList');
  558. Route::get('create/form', 'TemplateMessage/createMinform')->name('systemTemplateMessageMinCreateForm');
  559. Route::post('create', 'TemplateMessage/create')->name('systemTemplateMessageMinCreate');
  560. Route::get('update/:id/form', 'TemplateMessage/updateForm')->name('systemTemplateMessageMinUpdateForm');
  561. Route::post('update/:id', 'TemplateMessage/update')->name('systemTemplateMessageMinUpdate');
  562. Route::delete('delete/:id', 'TemplateMessage/delete')->name('systemTemplateMessageMinDelete');
  563. Route::post('status/:id', 'TemplateMessage/switchStatus')->name('systemTemplateMessageMinSwitchStatus');
  564. })->prefix('admin.wechat.');
  565. //充值
  566. Route::group('user/recharge', function () {
  567. Route::get('list', 'UserRecharge/getList')->name('systemUserRechargeList');
  568. Route::get('total', 'UserRecharge/total')->name('systemUserRechargeTotal');
  569. })->prefix('admin.user.');
  570. //余额变动记录
  571. Route::group('bill', function () {
  572. Route::get('list', 'UserBill/getList')->name('systemUserBillList');
  573. Route::get('type', 'UserBill/type');
  574. })->prefix('admin.user.');
  575. //系统公告
  576. Route::group('notice', function () {
  577. Route::get('lst', '/lst')->name('systemNoticeList');
  578. Route::post('create', '/create')->name('systemNoticeCreate');
  579. })->prefix('admin.system.notice.SystemNotice');
  580. //资金明细
  581. Route::group('financial_record', function () {
  582. Route::get('list', '/lst')->name('systemFinancialRecordList');
  583. Route::get('export', '/export')->name('systemFinancialRecordExport');
  584. Route::get('lst', '/getList')->name('systemFinancialRecordLst');
  585. Route::get('title', '/getTitle')->name('systemFinancialRecordTitle');
  586. Route::get('count', '/title')->name('systemFinancialCount');
  587. Route::get('detail/:type', '/detail')->name('systemFinancialRecordDetail');
  588. Route::get('detail_export/:type', '/exportDetail')->name('systemFinancialRecordDetailExport');
  589. })->prefix('admin.system.merchant.FinancialRecord');
  590. //财务
  591. Route::group('financial', function () {
  592. //申请转账
  593. Route::get('lst', 'Financial/lst')->name('systemFinancialList');
  594. Route::get('detail/:id', 'Financial/detail')->name('systemFinancialDetail');
  595. Route::post('update/:id', 'Financial/update')->name('systemFinancialUpdate');
  596. Route::post('status/:id', 'Financial/switchStatus')->name('systemFinancialSwitchStatus');
  597. Route::get('mark/:id/form', 'Financial/markForm')->name('systemFinancialMarkForm');
  598. Route::post('mark/:id', 'Financial/mark')->name('systemFinancialMark');
  599. Route::get('title', 'Financial/title')->name('systemFinancialTitle');
  600. })->prefix('admin.system.financial.');
  601. //客服
  602. // Route::group('service',function(){
  603. // Route::get('lst/:id','/lst')->name('systemServiceLst');
  604. // Route::get('mer/:id/user','/merchantUserList')->name('systemServiceMerchantUserLst');
  605. // Route::get('/:id/:uid/log','/getUserMsnByMerchant')->name('systemServiceMerchantUserLogLst');
  606. // })->prefix('admin.store.StoreService');
  607. Route::group('statistics', function () {
  608. Route::get('main', '/main')->name('systemStatisticsMain');
  609. Route::get('order', '/order')->name('systemStatisticsOrder');
  610. Route::get('order_num', '/orderNum')->name('systemStatisticsOrderNum');
  611. Route::get('order_user', '/orderUser')->name('systemStatisticsOrderUser');
  612. Route::get('merchant_stock', '/merchantStock')->name('systemStatisticsMerchantStock');
  613. Route::get('merchant_rate', '/merchantRate')->name('systemStatisticsMerchantRate');
  614. Route::get('merchant_visit', '/merchantVisit')->name('systemStatisticsMerchantVisit');
  615. Route::get('user_data', '/userData')->name('systemStatisticsUserData');
  616. })->prefix('admin.Common');
  617. Route::get('statistics/user', 'merchant.Common/user')->name('systemStatisticsUser');
  618. Route::get('statistics/user_rate', 'merchant.Common/userRate')->name('systemStatisticsUserRate');
  619. //所有订单
  620. Route::group('order', function () {
  621. Route::get('filtter', 'Order/orderType')->name('systemStoreOrderFiltter');
  622. Route::get('lst', 'Order/getAllList')->name('systemOrderLst');
  623. Route::get('takelst', 'Order/getTakeList')->name('systemTakeOrderLst');
  624. Route::get('express/:id', 'Order/express')->name('systemOrderExpress');
  625. Route::get('chart', 'Order/chart')->name('systemOrderTitle');
  626. Route::get('takechart', 'Order/takeChart')->name('systemTakeOrderTitle');
  627. Route::get('detail/:id', 'Order/detail')->name('systemOrderDetail');
  628. Route::get('refund/lst', 'RefundOrder/getAllList')->name('systemRefundOrderLst');
  629. Route::get('excel', 'Order/Excel')->name('systemOrderExcel');
  630. })->prefix('admin.order.');
  631. Route::get('system/city/lst', 'merchant.store.shipping.City/lst');
  632. //退出登陆
  633. Route::get('logout', 'admin.system.admin.Login/logout');
  634. //获取版本号
  635. Route::get('version', 'admin.Common/version');
  636. //授权
  637. Route::post('auth_apply', 'admin.Common/auth_apply');
  638. Route::get('check_auth', 'admin.Common/check_auth');
  639. Route::get('auth', 'admin.Common/auth');
  640. Route::get('upload/config', 'admin.Common/uploadConfig')->name('systemUploadConfig');
  641. Route::post('upload/config', 'admin.Common/saveUploadConfig')->name('systemSaveUploadConfig');
  642. //导出文件
  643. Route::get('excel/lst', 'merchant.store.Excel/lst')->name('systemStoreExcelLst');
  644. Route::get('excel/download/:id', 'merchant.store.Excel/download')->name('systemStoreExcelDownload');
  645. })->middleware(AllowOriginMiddleware::class)
  646. ->middleware(AdminTokenMiddleware::class, true)
  647. ->middleware(AdminAuthMiddleware::class)
  648. ->middleware(LogMiddleware::class);
  649. //不带token认证
  650. Route::group(function () {
  651. //短信支付成功回调
  652. Route::any('sms/notice', 'admin.system.sms.SmsPay/notice');
  653. //验证码
  654. Route::get('captcha', 'admin.system.admin.Login/getCaptcha');
  655. //登录
  656. Route::post('login', 'admin.system.admin.Login/login');
  657. Route::get('login_config', 'admin.Common/loginConfig');
  658. Route::group(function () {
  659. })->middleware(AdminTokenMiddleware::class, false);
  660. })->middleware(AllowOriginMiddleware::class);
  661. Route::miss(function () {
  662. return app('json')->fail('接口不存在');
  663. })->middleware(AllowOriginMiddleware::class);
  664. })->middleware(InstallMiddleware::class);