CRMEB multi-store v2
首页
官网
技术社区
开源地址
🌲 序言
🦁️ 系统简介
产品介绍
更新记录
v2.6.0
V2.5.0
V2.4.0
V2.3.1
V2.3.0
V2.2.2
V2.2.1
V2.2.0
V2.1.01
V2.1.0
V2.0.0
功能清单
多店 v2.6
多店 v2.5
多店 v2.4
Pro v2.3.1
Pro v2.3
Pro v2.2.2
Pro v2.2.1
Pro v2.2
Pro v2.1
产品结构图
多店 v2.6
多店 v2.5
多店 v2.4
Pro v2.3.1
Pro v2.3
Pro v2.2.2
Pro v2.2.2
Pro v2.2
Pro v2.1
🧭 系统安装
运行环境
服务器及域名设置
服务器购买
服务器端口
域名购买
域名解析
SSL证书申请
证书申请注意事项
宝塔申请SSL
阿里云申请SSL
腾讯云申请SSL
https域名配置
安装指南
新手推荐-宝塔安装教程
1.服务器配置
阿里云
腾讯云
京东云
2.软件安装
3.源码上传
4.PHP设置
5.站点配置
6.反向代理
NGINX反向代理
Apache反向代理
7.添加守护进程
Supervisor管理器
堡塔应用管理器
8.程序一键安装
9.安装完成重启守护进程
Linux安装教程
Linux命令行配置
手动安装、重装、多站点安装
安装完检测
升级指南
2.1.01升级2.1.1
2.1.0升级2.1.01
2.1.0 beta升级2.1.0
2.0升级2.1.0
2.0升级帮助
⬇️系统配置
账号相关介绍
应用配置
公众号配置
1.公众号配置
2.公众号开发配置
小程序配置
小程序直播配置
1.微信平台配置
2.CRMEB后台配置
3、打包上传
前端提交审核(2.1及之后版本)
前端提交审核(2.1之前版本)
4.确认发布
小程序发货信息
PC介绍
PC安装
PC设置
APP端
支付配置
微信支付
微信支付v3接口
支付宝支付
一号通
一号通账户
短信
商品采集
物流查询
电子面单
云存储
存储说明
阿里云OSS
腾讯云COS
七牛云存储
京东云OSS
华为云OBS
天翼云OSS
其他配置
公众号模板消息
小程序订阅消息
地图配置
多系统配置
企业微信配置
通讯录配置
客户配置
自建应用设置
同城配送
UU配置
达达配送
小票打印配置
易联云配置
飞蛾云配置
📖 使用手册
用户
用户管理
客服管理
客服功能
客服接待
账号注销
会员管理
用户等级
付费会员
用户设置
功能介绍
操作步骤
商品
商品分类
商品规格
商品添加
商品采集
商品评价
商品品牌
商品单位
商品参数
保障服务
商品标签
订单
订单发货
订单退款
订单打印
订单提醒
订单收银
电子面单-快递100打印机
电子面单-通用打印机
营销
拼团
秒杀(2.5及以后版本)
秒杀(2.5之前版本)
砍价
积分
积分介绍
积分设置
积分签到
积分商城
积分抽奖
九宫格抽奖
优惠套餐
余额充值
优惠活动
优惠券
限时折扣
满减满折
满送活动
第N件N折
活动规则
文章
文章管理
文章分类
短视频
功能介绍
操作步骤
活动背景
活动边框
公众号渠道码
分销
分销介绍
分销配置
分销等级
分销员管理
佣金提现
门店
门店分类(平台管理)
门店列表(平台管理)
门店拼单
门店桌码
平台管理
运营状况
门店管理
门店订单
门店财务
门店登录
商品
商品管理
商品评价
商品规格
运费模版
订单
门店收银
订单管理
售后退款
用户
用户管理
用户标签
员工
店员管理
店员列表
店员业绩统计
配送员管理
配送员列表
配送员业绩统计
财务
门店流水
账单记录
转账申请
财务设置
设置
系统设置
门店设置
管理员
配送设置
移动端管理
店员
配送员
扫码核销
门店收银台
收银
挂单
订单
桌码
核销
退货
用户
移动端主页
供应商
供应商独立端
供应商订单
供应商设置
供应商硬件配置
商品
商品管理
商品评价
商品规格
运费模版
财务
资金流水
账单记录
转账申请
财务设置
供应商管理
供应商入驻申请
订单管理
订单列表
售后订单
订单统计
供应商财务
资金流水
账单记录
转账申请
财务设置
菜单设置
装修
主页装修
页面配置
主题风格
PC页面
系统表单
财务
财务操作
财务记录
佣金记录
商城硬件
企业微信
客户管理
企业渠道码
欢迎语
客户列表
客户群发
朋友圈列表
客户群运营
客户群列表
自动拉群
客户群群发
员工列表
企业微信设置
导购
设置
商城设置
商城邮费
邮费结构
发货设置
运费模板
物流公司
城市数据
配送员管理
同城配送
支付设置
交易设置
基础配置
应用设置
公众号
小程序
PC
微信开放平台
🔧 开发手册
开发规范
开发教程视频
Docker运行
打包教程
APP打包
1.基础配置
2.开发调试
3.打包上线
4.APP打包
移动端(uni-app)打包
说明
H5、公众号
小程序
平台后台(admin)打包
PC打包
门店后台(store)打包
收银端(cashier)打包
供应商端(supplier)打包
PC SEO打包
后台前端说明
主题一键换色
后台前端开发
前端配置说明
前端添加页面
前端引用组件
前端构建和发布
后台页面打包
后端开发文档
目录结构
数据字典
事件
系统配置
后台表单说明
付费采集
对外接口说明
路由
移动端路由
后端路由
门店路由
对外接口路由
❓常见问题
安装配置问题
多项目部署问题汇总
安装首页数据库链接失败
mysql修改sql_mode
安装完成之后登录后台报错
守护进程启动失败问题总结
怎么区分php是非线程安全
Nginx添加反向代理报错
后台一直登录不了提示验证码错误处理
新安装后台提示服务器内部错误
swoole重启命令
安装页面无样式问题
可以使用宝塔应用管理器
开放平台必须要配置吗
新安装的时候提示数据库报错问题
安装好supervisor配置守护进程,显示空白
安装提示文件没权限
搭建多套pro会出现数据混乱
访问首页是下载文件
访问首页提示502
修改反向代理端口和swoole端口方法
配置业务域名检验文件放置位置
公众号配置服务器提示token失败
PC端扫码登录配置
PHP 安装swoole_loader扩展(文件找不到)
安装登录后台秒退(登录失效)
访问报500错误
错误:NOAUTH Authentication required.
后台问题
修改后台标题
后台忘记密码
后台子管理员权限问题
后台装修切换模版或其他操作引起Template not exists错误
后台配置成功不生效
关于composer更新的问题
清除数据菜单找不到,或者生产环境不允许执行
订单列表商品信息缺少、或错乱
加入队列失败
新增菜单不显示
diy首页预览小程序码不展示
怎么新增快递公司信息
easywechat 缓存失败
后台登录提示保存token失败
后台传了图片不显示,是损坏的
订单分配逻辑、在分配问题
企业微信常见问题
队列不执行排查
移动端问题
小程序商品详情无分享按钮
小程序无法生成海报问题
支付成功订单状态没改
小程序不发订阅消息排查
小程序超包一般处理办法
小程序端(由于清除用户数据)导致扫码绑定分销关系错乱或者绑定失败
H5打包文件放置位置
小程序登录显示session_key失败
APP端打包详细教程
小程序端打包后提示请求失败
PC打包提示文件大小超限
多端账号统一
客服已经登录,却提示不在线
商品不送达检查
移动端图片不展示(后台域名配置斜杠结尾)
PC端页面标题、关键词、描述修改
PC支付二维码不展示
小程序审核失败
H5标题怎么修改
小程序上传后打开空白
设置优惠券不展示
清除用户数据后无法再次授权
分享绑定关系
小程序审核开发者处理信息填写
地址添加选择地图问题
APP打包首页就在慢问题
更换门店首页顶部图片
各版本常见问题
v2.3.1常见问题
v2.3.0常见问题
v2.2.2常见问题
v2.2.1常见问题
v2.2.0常见问题
v2.1.1常见问题
v2.1.01常见问题
v2.1.0常见问题
v2.0.0常见问题
使用问题
短信包有效期时常吗
后台购买短信可不可以开发票
一号通申请模版
直播开通
优惠券可以领取多次吗
公众号引导关注设置
开放平台怎么绑定公众号、小程序
小程序充值怎么关闭
小票打印参数怎么修改
怎么关掉积分抵扣金额
添加了客服怎么收不到订单通知
顺丰快递查询不到物流信息
移动端网址怎么找
如何删除商品
限时秒杀背景在哪里更换
用户默认图像更改
授权码查看
分享标题修改
怎么添加网站底部备案号
下单页面快递配送怎么隐藏
商品默认评分
小程序跳转企业微信客服
公众号登录没有反应
小程序登录提示错误
查询不到物流信息
企业微信同步标签、选择成员问题
关闭直播间同步
关注公众号、公众号事件生成用户(想去掉这个逻辑)
设置上传文件大小
分享标题修改
企业微信客服怎么设置使用
app打包微信登录失败问题
小程序直播使用
商品怎么不支持加入购物车
小程序客服设置使用
企业微信
欢迎语
关键词
pro授权提交
crmeb授权证书
crmeb授权查询
crmeb pro演示地址
宝塔怎么输入命令
获取session_key失败,请检查您的配置
怎么查看版本号
appid不能为空
pro同步小程序订阅消息
pro去版权
小程序订阅消息收不到
微信小程序直播接入文档
小程序静默登录后获取微信头像失败
保存token失败
pro查看版本
pro重启服务器后502
宝塔启动消息队列
pro开启了消息队列报错
pro的help在哪
pro无权访问
积分抵扣开关无效
pro下载
pro分销说明及设置
pro后台有记录前端用户操作记录么
crmeb 一个服务器配置多个系统
pro只支持通过 swoole 服务运行项目
pro支付成功但是订单失败
上传文件类型不允许
上传的图片不显示
pro后台是饿了么ui吗
pro后端如何添加页面
一号通常见问题总结
常见错误反馈帮助
npm install报错常见问题
前端代码位置、打包后文件放置讲解
在哪里下载完整包、更新包?
客服链接失败问题
苹果手机商城图片不展示
收银台扫码支付提示支付失败
提示授权域名跟当前访问不一致
授权域名授权的是那个域名
公共函数文件加密在哪里写公共函数?
开启热更新
微信授权登录语法错误(php7.3以下语法兼容)
支付宝支付提示没有权限
更换域名,test测试域名授权操作
👑 商业授权
门店路由
# 路由 route/store.php ~~~ /** * 门店路由配置 */ Route::group('storeapi', function () { /** * 不需要登录不验证权限 */ Route::group(function () { Route::get('code', 'Test/code')->name('code')->option(['real_name' => '测试验证码']); Route::get('index', 'Test/index')->name('index')->option(['real_name' => '测试主页']); //账号密码登录 Route::post('login', 'Login/login')->name('login')->option(['real_name' => '账号密码登录']); //登录信息 Route::get('login/info', 'Login/info')->name('loginInfo')->option(['real_name' => '登录信息']); //图片验证码 Route::get('captcha_store', 'Login/captcha')->name('captcha')->option(['real_name' => '图片验证码']); }); /** * 只需登录不验证权限 */ Route::group(function () { //获取logo Route::get('logo', 'Common/getLogo')->option(['real_name' => '获取logo']); //获取配置 Route::get('config', 'Common/getConfig')->option(['real_name' => '获取配置']); //获取未读消息 Route::get('jnotice', 'Common/jnotice')->option(['real_name' => '获取未读消息']); //获取省市区街道 Route::get('city', 'Common/city')->option(['real_name' => '获取省市区街道']); //获取搜索菜单列表 Route::get('menusList', 'Common/menusList')->option(['real_name' => '搜索菜单列表']); //修改当前管理员信息 Route::put('update_store', 'Login/updateStore')->name('updateStore')->option(['real_name' => '修改当前登录店员信息']); //退出登录 Route::get('logout', 'Login/logOut')->option(['real_name' => '退出登录']); //修改密码 Route::put('updatePwd', 'staff.StoreStaff/updateStaffPwd')->option(['real_name' => '修改密码']); })->middleware(AuthTokenMiddleware::class); /** * 需登录验证权限 */ Route::group(function () { //首页头部统计数据 Route::get('home/header', 'Common/homeStatics')->option(['real_name' => '首页头部统计数据']); //首页营业趋势图表 Route::get('home/operate', 'Common/operateChart')->option(['real_name' => '首页营业趋势图表']); //首页交易图表 Route::get('home/orderChart', 'Common/orderChart')->option(['real_name' => '首页交易图表']); //首页店员统计 Route::get('home/staff', 'Common/staffChart')->option(['real_name' => '首页店员统计']); //轮询查询扫码订单支付状态 Route::post('check_order_status/:type', 'Common/checkOrderStatus')->option(['real_name' => '轮询订单状态接口'])->name('checkOrderStatus');//轮询订单状态接口 })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class]); /** * 基础管理 */ Route::group('system', function () { //获取角色菜单列表 Route::get('menusList', 'system.SystemMenus/index')->option(['real_name' => '获取角色菜单列表']); //获取菜单子权限列表 Route::get('sonMenusList/:role_id/:id', 'system.SystemMenus/sonMenusList')->option(['real_name' => '获取菜单子权限列表']); //管理员身份列表 Route::get('role', 'system.SystemRole/index')->option(['real_name' => '管理员身份列表']); //管理员身份权限列表 Route::get('role/create', 'system.SystemRole/create')->option(['real_name' => '管理员身份权限列表']); //编辑角色详情 Route::get('role/:id/edit', 'system.SystemRole/edit')->option(['real_name' => '编辑角色详情']); //新建或编辑管理员 Route::post('role/:id', 'system.SystemRole/save')->option(['real_name' => '新建或编辑管理员']); //修改管理员身份状态 Route::put('role/set_status/:id/:status', 'system.SystemRole/set_status')->option(['real_name' => '修改管理员身份状态']); //删除管理员身份 Route::delete('role/:id', 'system.SystemRole/delete')->option(['real_name' => '删除管理员身份']); //获取当前登录门店信息 Route::get('store/info', 'system.Store/info')->option(['real_name' => '获取当前登录门店信息']); //修改当前登录门店信息 Route::put('store/update', 'system.Store/update')->option(['real_name' => '修改当前登录门店信息']); //门店管理员资源路由 Route::resource('admin', 'system.StoreAdmin')->option(['real_name' => [ 'index' => '获取管理员列表', 'read' => '获取管理员详情', 'create' => '获取创建管理员表单', 'save' => '保存管理员', 'edit' => '获取修改管理员表单', 'update' => '修改管理员', 'delete' => '删除管理员' ]]); //修改管理员状态 Route::put('admin/set_status/:id/:status', 'system.StoreAdmin/set_status')->option(['real_name' => '修改管理员状态']); Route::get('config/edit_basics', 'system.Config/edit_basics')->option(['real_name' => '门店配置表单']); Route::get('config/:type', 'system.Config/getConfig')->option(['real_name' => '获取门店配置']); Route::post('config/:type', 'system.Config/save')->option(['real_name' => '保存门店配置']); //系统日志 Route::get('log', 'system.Log/index')->name('SystemLog')->option(['real_name' => '系统日志']); //系统日志管理员搜索条件 Route::get('log/search_admin', 'system.Log/search_admin')->option(['real_name' => '系统日志管理员搜索条件']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * 用户 */ Route::group('user', function () { //门店搜索用户 Route::get('search', 'user.User/search')->option(['real_name' => '门店搜索用户']); //获取指定用户的信息 Route::get('one_info/:id', 'user.User/oneUserInfo')->option(['real_name' => '获取指定用户的信息']); //用户管理资源路由 Route::resource('user', 'user.User')->except(['create', 'save'])->option(['real_name' => [ 'index' => '获取门店用户列表', 'read' => '获取门店用户详情', 'edit' => '获取修改用户表单', 'update' => '修改用户', 'delete' => '删除用户' ]]); //用户标签分类 Route::resource('user_label_cate', 'user.UserLabelCate')->option(['real_name' => [ 'index' => '获取标签分类列表', 'read' => '获取标签分类详情', 'create' => '获取创建标签分类表单', 'save' => '保存标签分类', 'edit' => '获取修改标签分类表单', 'update' => '修改标签分类', 'delete' => '删除标签分类' ]]); //添加或修改用户标签 Route::post('user_label/save', 'user.UserLabel/save')->option(['real_name' => '添加或修改用户标签']); //用户标签 Route::resource('user_label', 'user.UserLabel')->except(['read', 'save', 'update'])->option(['real_name' => [ 'index' => '获取标签列表', 'read' => '获取标签详情', 'create' => '获取创建标签表单', 'save' => '保存分类', 'edit' => '获取修改标签表单', 'update' => '修改标签', 'delete' => '删除标签' ]]); //获取用户标签 Route::get('label/:uid', 'user.UserLabel/getUserLabel')->option(['real_name' => '获取用户标签']); //设置和取消用户标签 Route::post('label/:uid', 'user.UserLabel/setUserLabel')->option(['real_name' => '设置和取消用户标签']); //设置用户标签 Route::post('set_label', 'user.User/set_label')->option(['real_name' => '设置用户标签']); //保存用户标签 Route::put('save_set_label', 'user.User/save_set_label')->option(['real_name' => '保存用户标签']); //获取充值套餐 Route::get('recharge/meal', 'user.UserRecharge/index')->option(['real_name' => '获取充值套餐']); //给用户充值 Route::post('recharge', 'user.UserRecharge/recharge')->option(['real_name' => '获取充值套餐']); //获取svip列表 Route::get('member/ship', 'user.UserMember/index')->option(['real_name' => '获取svip列表']); //给用户购买付费会员 Route::post('member', 'user.UserMember/payMember')->option(['real_name' => '给用户购买付费会员']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * 员工 */ Route::group('staff', function () { //获取店员详情 Route::get('staff_info', 'staff.StoreStaff/info')->option(['real_name' => '获取店员详情']); //获取店员统计详情 Route::get('info/:id', 'staff.StoreStaff/staffDetail')->option(['real_name' => '获取店员统计详情']); //获取店员交易统计 Route::get('statistics', 'staff.StoreStaff/statistics')->option(['real_name' => '获取店员交易统计']); //获取店员交易头部数据 Route::get('statisticsHeader', 'staff.StoreStaff/statisticsHeader')->option(['real_name' => '获取店员交易头部数据']); //获取门店所有店员 Route::get('staff/all', 'staff.StoreStaff/getStaffSelect')->option(['real_name' => '获取门店所有店员']); //店员资源路由 Route::resource('staff', 'staff.StoreStaff')->option(['real_name' => [ 'index' => '获取门店店员列表', 'read' => '获取门店店员详情', 'create' => '添加门店店员表单', 'save' => '保存店员', 'edit' => '获取修改门店店员表单', 'update' => '修改门店店员', 'delete' => '删除门店店员' ]]); //店员绑定uid Route::post('binding/user', 'staff.StoreStaff/bandingUser')->option(['real_name' => '店员绑定uid']); //修改店员状态 Route::put('staff/set_show/:id/:is_show', 'staff.StoreStaff/set_show')->option(['real_name' => '修改店员状态']); //获取配送员统计详情 Route::get('delivery/info/:id', 'staff.StoreDelivery/deliveryDetail')->option(['real_name' => '获取配送员统计详情']); //配送员账单统计 Route::get('delivery/statistics', 'staff.StoreDelivery/statistics')->option(['real_name' => '配送员账单统计']);//配送员账单统计 //获取配送员select Route::get('delivery/get_delivery_select', 'staff.StoreDelivery/getDeliverySelect')->option(['real_name' => '获取配送员select']); //配送员账单统计头部 Route::get('delivery/statisticsHeader', 'staff.StoreDelivery/statisticsHeader')->option(['real_name' => '配送员账单头部']); //配送员资源路由 Route::resource('delivery', 'staff.StoreDelivery')->option(['real_name' => [ 'index' => '获取配送员列表', 'read' => '获取配送员详情', 'create' => '添加配送员表单', 'save' => '保存配送员', 'edit' => '获取修改配送员表单', 'update' => '修改配送员', 'delete' => '删除配送员' ]]); //修改配送员状态 Route::put('delivery/set_show/:id/:status', 'staff.StoreDelivery/set_status')->option(['real_name' => '修改配送员状态']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * 财务 */ Route::group('finance', function () { //获取门店财务信息 Route::get('info', 'system.Store/getFinanceInfo')->option(['real_name' => '获取关联用户标签']); //设置门店财务信息 Route::post('info', 'system.Store/setFinanceInfo')->option(['real_name' => '设置门店财务信息']); //门店转账列表 Route::get('storeExtract/list', 'finance.StoreExtract/index')->option(['real_name' => '门店转账列表']); //门店转账记录备注 Route::post('storeExtract/mark/:id', 'finance.StoreExtract/mark')->option(['real_name' => '门店转账记录备注']); //门店申请转账 Route::post('storeExtract/cash', 'finance.StoreExtract/cash')->option(['real_name' => '门店申请转账']); //门店流水列表 Route::get('store_finance_flow/list', 'finance.StoreFinanceFlow/index')->option(['real_name' => '门店流水列表']); //获取店员select Route::get('store_finance_flow/staff', 'finance.StoreFinanceFlow/getStaffSelect')->option(['real_name' => '获取店员select']); //门店流水备注 Route::post('store_finance_flow/mark/:id', 'finance.StoreFinanceFlow/mark')->option(['real_name' => '门店流水备注']); //门店账单记录 Route::get('store_finance_flow/fund_record', 'finance.StoreFinanceFlow/fundRecord')->option(['real_name' => '门店账单记录']); //门店账单详情 Route::get('store_finance_flow/fund_record_info', 'finance.StoreFinanceFlow/fundRecordInfo')->option(['real_name' => '门店账单详情']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * 商品 */ Route::group('product', function () { //获取商品规格 Route::get('product/attrs/:id', 'product.StoreProduct/getAttrs')->option(['real_name' => '获取商品规格']); //快速批量修改库存 Route::put('product/saveStocks/:id', 'product.StoreProduct/saveProductAttrsStock')->option(['real_name' => '快速批量修改库存']); //商品管理路由 Route::resource('product', 'product.StoreProduct')->except(['create', 'save', 'delete'])->option(['real_name' => [ 'index' => '获取商品列表', 'read' => '获取商品详情', 'edit' => '获取修改商品表单', 'update' => '修改商品', ]]); //获取关联用户标签 Route::get('getUserLabel', 'product.StoreProduct/getUserLabel')->option(['real_name' => '获取关联用户标签']); //商品分类cascader行列表 Route::get('category', 'product.StoreProduct/cascader_list')->option(['real_name' => '商品分类cascader行列表']); //商品列表头部数据 Route::get('type_header', 'product.StoreProduct/type_header')->option(['real_name' => '商品列表头部数据']); //修改商品状态 Route::put('product/set_show/:id/:is_show', 'product.StoreProduct/set_show')->option(['real_name' => '修改商品状态']); //商品评价 //商品评论列表 Route::get('reply', 'product.StoreProductReply/index')->option(['real_name' => '商品评论列表']); //商品回复评论 Route::put('reply/set_reply/:id', 'product.StoreProductReply/set_reply')->option(['real_name' => '商品回复评论']); //删除商品评论 Route::delete('reply/:id', 'product.StoreProductReply/delete')->option(['real_name' => '删除商品评论']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * 附件相关路由 */ Route::group('file', function () { //图片附件列表 Route::get('file', 'file.SystemAttachment/index')->option(['real_name' => '图片附件列表']); //删除图片 Route::post('file/delete', 'file.SystemAttachment/delete')->option(['real_name' => '删除图片']); //移动图片分类表单 Route::get('file/move', 'file.SystemAttachment/move')->option(['real_name' => '移动图片分类表单']); //移动图片分类 Route::put('file/do_move', 'file.SystemAttachment/moveImageCate')->option(['real_name' => '移动图片分类']); //修改图片名称 Route::put('file/update/:id', 'file.SystemAttachment/update')->option(['real_name' => '修改图片名称']); //上传图片 Route::post('upload/[:upload_type]', 'file.SystemAttachment/upload')->option(['real_name' => '上传图片']); //附件分类管理资源路由 Route::resource('category', 'file.SystemAttachmentCategory')->option(['real_name' => [ 'index' => '获取附件分类列表', 'read' => '获取附件分类详情', 'create' => '获取创建附件分类表单', 'save' => '保存附件分类', 'edit' => '获取修改附件分类表单', 'update' => '修改附件分类', 'delete' => '删除附件分类' ]]); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); Route::group('order', function () { Route::group('cashier', function () { Route::post('user', 'order.Cashier/getUserInfo')->name('cashierUserInfo')->option(['real_name' => '获取收银台用户信息']); Route::get('cate', 'order.Cashier/getCateGoryList')->name('cashierCateGoryList')->option(['real_name' => '获取收银台一级分类列表']); Route::get('product', 'order.Cashier/getProductList')->name('cashierProductList')->option(['real_name' => '获取收银台商品信息']); Route::get('cart/:uid/:staff_id', 'order.Cashier/getCartList')->name('cashierCartList')->option(['real_name' => '获取收银台购物车信息']); Route::post('cart/:uid', 'order.Cashier/addCart')->name('cashierAddCart')->option(['real_name' => '收银台添加购物车']); Route::delete('cart/:uid', 'order.Cashier/delCart')->name('cashierDelCart')->option(['real_name' => '收银台删除购物车信息']); Route::put('cart/:uid', 'order.Cashier/numCart')->name('cashierNumCart')->option(['real_name' => '收银台更改购物车数量']); Route::put('changeCart', 'order.Cashier/changeCart')->name('cashierChangeCart')->option(['real_name' => '收银台更改购物车规格']); Route::post('compute/:uid', 'order.Cashier/computeOrder')->name('cashierComputeOrder')->option(['real_name' => '收银台计算订单金额']); Route::post('create/:uid', 'order.Cashier/createOrder')->name('cashierCreateOrder')->option(['real_name' => '收银台创建订单']); Route::get('staff', 'order.Cashier/getStaffList')->name('getStaffList')->option(['real_name' => '获取当前门店店员列表和店员信息']); Route::post('code', 'order.Cashier/getAnalysisCode')->name('getAnalysisCode')->option(['real_name' => '扫码自动解析']); Route::get('detail/:id/[:uid]', 'order.Cashier/getProductDetail')->name('getProductDetail')->option(['real_name' => '收银台获取商品详情']); Route::post('pay/:orderId', 'order.Cashier/payOrder')->name('payOrder')->option(['real_name' => '收银台订单支付']); Route::get('cashier_scan', 'order.Cashier/cashier_scan')->name('cashierScan')->option(['real_name' => '门店收银台二维码']); Route::post('coupon_list/:uid', 'order.Cashier/couponList')->name('cashierScan')->option(['real_name' => '用户优惠券列表']); }); //充值订单列表 Route::get('recharge', 'order.Recharge/index')->name('RechargeOrderList')->option(['real_name' => '充值订单列表']); //删除充值记录 Route::delete('recharge/:id', 'order.Recharge/delete')->option(['real_name' => '删除充值记录']); //获取用户充值数据 Route::get('recharge/user_recharge', 'order.Recharge/user_recharge')->option(['real_name' => '获取用户充值数据']); //充值退款表单 Route::get('recharge/:id/refund_edit', 'order.Recharge/refund_edit')->option(['real_name' => '充值退款表单']); //充值退款 Route::put('recharge/:id', 'order.Recharge/refund_update')->option(['real_name' => '充值退款']); //保存充值订单备注 Route::put('recharge/remark/:id', 'order.Recharge/remarks')->option(['real_name' => '保存充值订单备注']); //获取充值订单备注 Route::get('recharge/remark/:id', 'order.Recharge/getRemark')->option(['real_name' => '获取充值订单备注']); //付费会员订单列表 Route::get('vip_order', 'order.PayVipOrder/index')->name('PayVipOrderList')->option(['real_name' => '付费会员订单列表']); //获取会员备注 Route::get('vip/remark/:id', 'order.PayVipOrder/getRemark')->name('getRemark')->option(['real_name' => '获取会员备注']); //获取会员状态 Route::get('vip/status/:id', 'order.PayVipOrder/status')->name('getStatusList')->option(['real_name' => '获取会员状态']); //保存会员备注 Route::put('vip/remark/:id', 'order.PayVipOrder/remark')->name('remarkSave')->option(['real_name' => '保存会员备注']); //打印订单 Route::get('print/:id', 'order.Order/order_print')->name('StoreOrderPrint')->option(['real_name' => '打印订单']); //获取头部数据 Route::get('header', 'order.Order/header')->name('StoreOrderHeader')->option(['real_name' => '获取门店订单头部统计']); //订单列表 Route::get('list', 'order.Order/index')->name('StoreOrderList')->option(['real_name' => '订单列表']); //订单头部数据 Route::get('chart', 'order.Order/chart')->name('StoreOrderChart')->option(['real_name' => '订单头部数据']); //订单核销 Route::post('write', 'order.Order/write_order')->name('writeOrder')->option(['real_name' => '订单核销']); //获取核销订单商品信息 Route::get('writeOff/cartInfo', 'order.Order/orderCartInfo')->name('writeOrderCartInfo')->option(['real_name' => '获取核销订单商品信息']); //订单号核销 Route::put('write_update/:order_id', 'order.Order/wirteoff')->name('writeOrderUpdate')->option(['real_name' => '订单号核销']); //获取订单编辑表单 Route::get('edit/:id', 'order.Order/edit')->name('StoreOrderEdit')->option(['real_name' => '获取订单编辑表单']); //修改订单 Route::put('update/:id', 'order.Order/update')->name('StoreOrderUpdate')->option(['real_name' => '修改订单']); //确认收货 Route::put('take/:id', 'order.Order/take_delivery')->name('StoreOrderTakeDelivery')->option(['real_name' => '确认收货']); //订单发送货 Route::put('delivery/:id', 'order.Order/update_delivery')->name('StoreOrderUpdateDelivery')->option(['real_name' => '订单发送货']); //获取订单可拆分商品列表 Route::get('split_cart_info/:id', 'order.Order/split_cart_info')->name('StoreOrderSplitCartInfo')->option(['real_name' => '获取订单可拆分商品列表']); //拆单发送货 Route::put('split_delivery/:id', 'order.Order/split_delivery')->name('StoreOrderSplitDelivery')->option(['real_name' => '拆单发送货']); //获取订单拆分子订单列表 Route::get('split_order/:id', 'order.Order/split_order')->name('StoreOrderSplitOrder')->option(['real_name' => '获取订单拆分子订单列表']); //订单退款表单 Route::get('refund/:id', 'order.Order/refund')->name('StoreOrderRefund')->option(['real_name' => '订单退款表单']); //订单退款 Route::put('refund/:id', 'order.Order/update_refund')->name('StoreOrderUpdateRefund')->option(['real_name' => '订单退款']); //快递公司电子面单模版 Route::get('express/temp', 'order.Order/express_temp')->option(['real_name' => '快递公司电子面单模版']); //获取物流信息 Route::get('express/:id', 'order.Order/get_express')->name('StoreOrderUpdateExpress')->option(['real_name' => '获取物流信息']); //获取物流公司 Route::get('express_list', 'order.Order/express')->name('StoreOrdeRexpressList')->option(['real_name' => '获取物流公司']); //订单详情 Route::get('info/:id', 'order.Order/order_info')->name('StoreOrderorInfo')->option(['real_name' => '订单详情']); //获取配送信息表单 Route::get('distribution/:id', 'order.Order/distribution')->name('StoreOrderorDistribution')->option(['real_name' => '获取配送信息表单']); //修改配送信息 Route::put('distribution/:id', 'order.Order/update_distribution')->name('StoreOrderorUpdateDistribution')->option(['real_name' => '修改配送信息']); //获取不退款表单 Route::get('no_refund/:id', 'order.Order/no_refund')->name('StoreOrderorNoRefund')->option(['real_name' => '获取不退款表单']); //修改不退款理由 Route::put('no_refund/:id', 'order.Order/update_un_refund')->name('StoreOrderorUpdateNoRefund')->option(['real_name' => '修改不退款理由']); //线下支付 Route::post('pay_offline/:id', 'order.Order/pay_offline')->name('StoreOrderorPayOffline')->option(['real_name' => '线下支付']); //获取退积分表单 Route::get('refund_integral/:id', 'order.Order/refund_integral')->name('StoreOrderorRefundIntegral')->option(['real_name' => '获取退积分表单']); //修改退积分 Route::put('refund_integral/:id', 'order.Order/update_refund_integral')->name('StoreOrderorUpdateRefundIntegral')->option(['real_name' => '修改退积分']); //修改备注信息 Route::put('remark/:id', 'order.Order/remark')->name('StoreOrderorRemark')->option(['real_name' => '修改备注信息']); //获取订单状态 Route::get('status/:id', 'order.Order/status')->name('StoreOrderorStatus')->option(['real_name' => '获取订单状态']); //删除订单单个 Route::delete('del/:id', 'order.Order/del')->name('StoreOrderorDel')->option(['real_name' => '删除订单单个']); //批量删除订单 Route::post('dels', 'order.Order/del_orders')->name('StoreOrderorDels')->option(['real_name' => '批量删除订单']); //面单默认配置信息 Route::get('sheet_info', 'order.Order/getDeliveryInfo')->option(['real_name' => '面单默认配置信息']); //电子面单模板列表 Route::get('expr/temp', 'order.Order/expr_temp')->option(['real_name' => '电子面单模板列表']); //更多操作打印电子面单 Route::get('order_dump/:order_id', 'order.Order/order_dump')->option(['real_name' => '更多操作打印电子面单']); //批量发货 Route::get('hand/batch_delivery', 'order.Order/hand_batch_delivery')->option(['real_name' => '批量发货']); //自动批量发货 Route::post('other/batch_delivery', 'order.Order/other_batch_delivery')->option(['real_name' => '自动批量发货']); //订单批量删除 Route::post('batch/del_orders', 'order.Order/del_orders')->option(['real_name' => '订单批量删除']); //订单导出 Route::post('export/:type', 'order.Order/export')->option(['real_name' => '订单导出']); //订单列表获取配送员 Route::get('delivery/list', 'order.Order/getDeliveryList')->option(['real_name' => '订单列表获取配送员']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * 售后 相关路由 */ Route::group('refund', function () { //售后列表 Route::get('list', 'order.Refund/getRefundList')->option(['real_name' => '售后订单列表']); //商家同意退款,等待用户退货 Route::get('agree/:order_id', 'order.Refund/agreeRefund')->option(['real_name' => '商家同意退款,等待用户退货']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class,]); /** * 导出excel相关路由 */ Route::group('export', function () { //门店账单导出 Route::get('financeRecord', 'export.ExportExcel/financeRecord')->option(['real_name' => '门店账单导出']); })->middleware([AuthTokenMiddleware::class, StoreCkeckRoleMiddleware::class, StoreLogMiddleware::class]); /** * miss 路由 */ Route::miss(function () { if (app()->request->isOptions()) { $header = Config::get('cookie.header'); $header['Access-Control-Allow-Origin'] = app()->request->header('origin'); return Response::create('ok')->code(200)->header($header); } else return Response::create()->code(404); }); })->prefix('store.')->middleware(InstallMiddleware::class)->middleware(AllowOriginMiddleware::class)->middleware(StationOpenMiddleware::class); ~~~
本页目录