app.php 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. use think\facade\Route;
  12. /**
  13. * 应用模块 相关路由
  14. */
  15. Route::group('app', function () {
  16. //小程序模板资源路由
  17. Route::resource('routine', 'v1.application.routine.RoutineTemplate')->option([
  18. 'real_name' => [
  19. 'index' => '获取小程序订阅消息列表',
  20. 'create' => '获取小程序订阅消息表单',
  21. 'save' => '保存小程序订阅消息',
  22. 'edit' => '获取修改小程序订阅消息表单',
  23. 'update' => '修改小程序订阅消息',
  24. 'delete' => '删除小程序订阅消息'
  25. ]
  26. ]);
  27. //一键同步订阅消息
  28. Route::get('routine/syncSubscribe', 'v1.application.routine.RoutineTemplate/syncSubscribe')->name('syncSubscribe')->option(['real_name' => '一键同步订阅消息']);
  29. //一键同步微信模版消息消息
  30. Route::get('wechat/syncSubscribe', 'v1.application.wechat.WechatTemplate/syncSubscribe')->name('syncSubscribe')->option(['real_name' => '一键同步模版消息']);
  31. //修改状态
  32. Route::put('routine/set_status/:id/:status', 'v1.application.routine.RoutineTemplate/set_status')->name('RoutineSetStatus')->option(['real_name' => '修改订阅消息状态']);
  33. //菜单值
  34. Route::get('wechat/menu', 'v1.application.wechat.menus/index')->option(['real_name' => '微信公众号菜单列表']);
  35. //保存菜单
  36. Route::post('wechat/menu', 'v1.application.wechat.menus/save')->option(['real_name' => '保存微信公众号菜单']);
  37. //微信模板消息资源路由
  38. Route::resource('wechat/template', 'v1.application.wechat.WechatTemplate')->option([
  39. 'real_name' => [
  40. 'index' => '获取公众号模版消息列表',
  41. 'create' => '获取公众号模版消息表单',
  42. 'save' => '保存公众号模版消息',
  43. 'edit' => '获取修改公众号模版消息表单',
  44. 'update' => '修改公众号模版消息',
  45. 'delete' => '删除公众号模版消息'
  46. ]
  47. ]);
  48. //微信模板消息修改状态
  49. Route::put('wechat/template/set_status/:id/:status', 'v1.application.wechat.WechatTemplate/set_status')->name('WechatTemplateSetStatus')->option(['real_name' => '修改关键字回复状态']);
  50. //关注回复
  51. Route::get('wechat/reply', 'v1.application.wechat.Reply/reply')->option(['real_name' => '关注回复']);
  52. //获取关注回复二维码
  53. Route::get('wechat/code_reply/:id', 'v1.application.wechat.Reply/code_reply')->option(['real_name' => '获取关注回复二维码']);
  54. //关键字回复列表
  55. Route::get('wechat/keyword', 'v1.application.wechat.Reply/index')->option(['real_name' => '关键字回复列表']);
  56. //关键字详情
  57. Route::get('wechat/keyword/:id', 'v1.application.wechat.Reply/read')->option(['real_name' => '关键字回复详情']);
  58. //保存关键字修改
  59. Route::post('wechat/keyword/:id', 'v1.application.wechat.Reply/save')->option(['real_name' => '保存关键字回复']);
  60. //删除关键字
  61. Route::delete('wechat/keyword/:id', 'v1.application.wechat.Reply/delete')->option(['real_name' => '删除关键字回复']);
  62. //修改关键字状态
  63. Route::put('wechat/keyword/set_status/:id/:status', 'v1.application.wechat.Reply/set_status')->option(['real_name' => '修改关键字回复状态']);
  64. //图文列表
  65. Route::get('wechat/news', 'v1.application.wechat.WechatNewsCategory/index')->option(['real_name' => '图文列表']);
  66. //详情
  67. Route::get('wechat/news/:id', 'v1.application.wechat.WechatNewsCategory/read')->option(['real_name' => '图文详情']);
  68. //保存图文
  69. Route::post('wechat/news', 'v1.application.wechat.WechatNewsCategory/save')->option(['real_name' => '保存图文']);
  70. //删除图文
  71. Route::delete('wechat/news/:id', 'v1.application.wechat.WechatNewsCategory/delete')->option(['real_name' => '删除图文']);
  72. //发送图文消息
  73. Route::post('wechat/push', 'v1.application.wechat.WechatNewsCategory/push')->option(['real_name' => '发送图文消息']);
  74. //用户行为列表
  75. Route::get('wechat/action', 'v1.application.wechat.WechatMessage/index')->option(['real_name' => '用户行为列表']);
  76. //用户行为列表操作名称列表
  77. Route::get('wechat/action/operate', 'v1.application.wechat.WechatMessage/operate')->option(['real_name' => '用户行为列表操作名称列表']);
  78. //下载小程序模版页面数据
  79. Route::get('routine/info', 'v1.application.routine.RoutineTemplate/getDownloadInfo')->option(['real_name' => '下载小程序页面数据']);
  80. //下载小程序模版
  81. Route::post('routine/download', 'v1.application.routine.RoutineTemplate/downloadTemp')->option(['real_name' => '下载小程序模版']);
  82. /** 公众号渠道码 */
  83. Route::get('wechat_qrcode/cate/list', 'v1.application.wechat.WechatQrcode/getCateList')->option(['real_name' => '渠道码分类列表']);
  84. Route::get('wechat_qrcode/cate/create/:id', 'v1.application.wechat.WechatQrcode/createForm')->option(['real_name' => '渠道码分类添加编辑表单']);
  85. Route::post('wechat_qrcode/cate/save', 'v1.application.wechat.WechatQrcode/saveCate')->option(['real_name' => '渠道码分类保存']);
  86. Route::delete('wechat_qrcode/cate/del/:id', 'v1.application.wechat.WechatQrcode/delCate')->option(['real_name' => '渠道码分类删除']);
  87. Route::post('wechat_qrcode/save/:id', 'v1.application.wechat.WechatQrcode/saveQrcode')->option(['real_name' => '保存渠道码']);
  88. Route::get('wechat_qrcode/info/:id', 'v1.application.wechat.WechatQrcode/qrcodeInfo')->option(['real_name' => '渠道码详情']);
  89. Route::get('wechat_qrcode/list', 'v1.application.wechat.WechatQrcode/qrcodeList')->option(['real_name' => '渠道码列表']);
  90. Route::delete('wechat_qrcode/del/:id', 'v1.application.wechat.WechatQrcode/delQrcode')->option(['real_name' => '删除渠道码']);
  91. Route::put('wechat_qrcode/set_status/:id/:status', 'v1.application.wechat.WechatQrcode/setStatus')->option(['real_name' => '切换渠道码状态']);
  92. Route::get('wechat_qrcode/user_list/:qid', 'v1.application.wechat.WechatQrcode/userList')->option(['real_name' => '渠道码用户列表']);
  93. Route::get('wechat_qrcode/statistic/:qid', 'v1.application.wechat.WechatQrcode/qrcodeStatistic')->option(['real_name' => '渠道码统计']);
  94. /** 客服相关 */
  95. //客服反馈接口
  96. Route::resource('feedback', 'v1.kefu.StoreServiceFeedback')->only(['index', 'delete', 'update', 'edit'])->option([
  97. 'real_name' => [
  98. 'index' => '获取用户反馈列表',
  99. 'edit' => '获取修改用户反馈表单',
  100. 'update' => '修改用户反馈',
  101. 'delete' => '删除用户反馈'
  102. ]
  103. ]);
  104. //话术接口
  105. Route::resource('wechat/speechcraft', 'v1.kefu.StoreServiceSpeechcraft')->option([
  106. 'real_name' => [
  107. 'index' => '获取客服话术列表',
  108. 'create' => '获取客服话术表单',
  109. 'save' => '保存客服话术',
  110. 'edit' => '获取修改客服话术表单',
  111. 'update' => '修改客服话术',
  112. 'delete' => '删除客服话术'
  113. ]
  114. ]);
  115. //话术分类接口
  116. Route::resource('wechat/speechcraftcate', 'v1.kefu.StoreServiceSpeechcraftCate')->option([
  117. 'real_name' => [
  118. 'index' => '获取客服话术分类列表',
  119. 'create' => '获取客服话术分类表单',
  120. 'save' => '保存客服话术分类',
  121. 'edit' => '获取修改客服话术分类表单',
  122. 'update' => '修改客服话术分类',
  123. 'delete' => '删除客服话术分类'
  124. ]
  125. ]);
  126. //客服列表
  127. Route::get('wechat/kefu', 'v1.kefu.StoreService/index')->option(['real_name' => '客服列表']);
  128. //客服登录
  129. Route::get('wechat/kefu/login/:id', 'v1.kefu.StoreService/keufLogin')->option(['real_name' => '客服登录']);
  130. //新增客服选择用户列表
  131. Route::get('wechat/kefu/create', 'v1.kefu.StoreService/create')->option(['real_name' => '新增客服选择用户列表']);
  132. //新增客服表单
  133. Route::get('wechat/kefu/add', 'v1.kefu.StoreService/add')->option(['real_name' => '添加客服表单']);
  134. //保存新建的数据
  135. Route::post('wechat/kefu', 'v1.kefu.StoreService/save')->option(['real_name' => '添加客服']);
  136. //编辑客服表单
  137. Route::get('wechat/kefu/:id/edit', 'v1.kefu.StoreService/edit')->option(['real_name' => '修改客服表单']);
  138. //保存编辑的数据
  139. Route::put('wechat/kefu/:id', 'v1.kefu.StoreService/update')->option(['real_name' => '修改客服']);
  140. //删除
  141. Route::delete('wechat/kefu/:id', 'v1.kefu.StoreService/delete')->option(['real_name' => '删除客服']);
  142. //修改状态
  143. Route::put('wechat/kefu/set_status/:id/:status', 'v1.kefu.StoreService/set_status')->option(['real_name' => '修改客服状态']);
  144. //聊天记录
  145. Route::get('wechat/kefu/record/:id', 'v1.kefu.StoreService/chat_user')->option(['real_name' => '聊天记录']);
  146. //查看对话
  147. Route::get('wechat/kefu/chat_list', 'v1.kefu.StoreService/chat_list')->option(['real_name' => '查看对话']);
  148. })->middleware([
  149. \app\http\middleware\AllowOriginMiddleware::class,
  150. \app\adminapi\middleware\AdminAuthTokenMiddleware::class,
  151. \app\adminapi\middleware\AdminCheckRoleMiddleware::class,
  152. \app\adminapi\middleware\AdminLogMiddleware::class
  153. ]);