diff --git a/README.md b/README.md index e6808647d..d79ac602c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -![输入图片说明](readme/pic/gitee.jpg) +
-支持免费商用的PHP **多语言** 商城系统 +CRMEB开源商城系统PHP版
@@ -36,34 +36,67 @@
-宽 屏 预 览 +宽屏预览
-### 介绍 -CRMEB打通版是历经6年时间匠心之作!系统全开源可商用,包含小程序商城、H5商城、公众号商城、PC商城、App,多种分销模式、拼团、砍价、秒杀、优惠券、抽奖、积分、会员等级、小程序直播、页面DIY,前后端分离全部100%开源。方便二开,更有详细使用文档、接口文档、数据字典、二开文档/视频教程。为开发者赋能,助力企业发展、国家富强,致力于打造最受欢迎的商城项目 +--- + +### 📋 更新说明 + +``` +v5.0.0 更新说明【更新时间2023年06月12日】 +1、后台管理页面增加风格选项切换功能 +2、新增接口管理 +3、新增代码生成功能,能快速生成基础的增删改查代码,并自动生成菜单和功能页面 +4、文件管理和数据库管理增加添加备注功能 +5、后台根据新增的路由表,生成接口文档,并支持在线调试 +6、权限管理优化,业务和开发分离,分工更明确 +7、新增代理商申请页面按钮开关 +8、增加小程序发货信息管理接口 +9、优惠券优化,优惠券修改后台添加,增加多分类,恢复系统赠送功能 +10、后台分类样式统一,优化分类选择体验 +以及其他共计21跳更新和优化 + +v4.7.1 更新说明【更新时间2023年04月26日】 +1.优化订单下单时订单号的生成 +2.版权设置增加清除缓存,及时生效 +3.企业微信无法通知问题修复 +4.修复重量体积包邮的问题 +5.佣金转入余额报错问题处理 +6.拼团未支付的时候查看拼团报错处理 +7.自提商品下单后默认门店不是最近的问题处理 +8.不能修改cos空间名,cos优化; +9.核销订单部分退款问题优化 +10.更新修改后台admin之后无法选择图片的问题 +以及其他共计40跳更新和优化 +``` +### 用心做开源,我们也很需要你的鼓励!右上角Star,等你点亮! + +--- + +### 📝 介绍 +CRMEB开源商城系统是一款全开源可商用的系统,前后端分离开发,全部100%开源,在小程序、公众号、H5、APP、PC端都能用,使用方便,二开方便!安装使用也很简单!使用文档、接口文档、数据字典、二开文档、视频教程,各种资料应有尽有,就算你是技术小白,也能轻松上手! + +欢迎大家来体验、来提建议,来一起让CRMEB开源商城系统更强大,让更多开发者受益!虽然是开源,但我们该有的功能全都有!拼团、秒杀、优惠券、抽奖、积分、直播、分销、页面DIY... 常用商城系统功能,都是全开源,直接用! CRMEB开源商城Java版:https://gitee.com/ZhongBangKeJi/crmeb_java +--- - -### 系统亮点 +### 🫧 系统亮点 ~~~ -多 语 言:后台随时配置语言包,移动端支持多语言切换; -高 性 能:redis缓存、队列、长连接、多种云储存、支持集群部署; -个 性 UI:多种风格切换、支持DIY各种首页/专题页面 -前后端分离:后端TP6,管理端iviewui,移动端uniapp; -代码规范:遵循PSR-2命名规范、Restful标准接口、代码严格分层、注释齐全、统一错误码; -权限管理:内置强大灵活的权限管理,可以控制到每一个菜单; -开发配置:低代码增加配置、系统组合数据模块; -二开效率:PHP快速生成表单、内置所有事件、后台在线编辑器、代码注释齐全、完整接口文档; -快速上手:详细帮助文档、接口文档、数据库字典、代码注释、一键安装; -系统安全:系统操作日志、系统生产日志、文件校验、数据备份; -系统功能:请看帮助文档 https://doc.crmeb.com/single/crmeb_v4/1758 -用户体验:等您来评! +1.前后端分离:后端TP6,管理端iView UI,移动端Uni-app; +2.代码规范:遵循PSR-2命名规范、Restful标准接口、代码严格分层、注释齐全、统一错误码; +3.权限管理:内置强大灵活的权限管理,可以控制到每一个菜单; +4.开发配置:低代码增加配置、系统组合数据模块; +5.二开效率:应用form-builder PHP快速生成表单、内置所有事件、后台接口管理调试、后台代码在线编辑器、代码生成,快速对接第三方接口; +6.快速上手:详细帮助文档、后台接口管理、后台数据库字典、系统文件管理备注、代码注释、一键安装; +7.系统安全:系统操作日志、系统生产日志、文件校验、数据备份; +8.高 性 能:支持Redis缓存、队列、长连接、多种云储存、支持集群部署。 ~~~ +--- - -### 运行环境 +### 🖥 运行环境 ``` Nignx/Apache/IIS @@ -73,97 +106,116 @@ Redis ``` -> 温馨提示:虚拟空间不支持,推荐使用bt宝塔面板,服务器推荐阿里云ecs或腾讯云cvm 云服务器: 查看 +> 温馨提示:虚拟空间不支持,推荐使用bt宝塔面板,服务器推荐京东云服务器:注册即享6.5折专属优惠,点我领取! -### 系统演示 +### 📱 系统演示 ![输入图片说明](readme/pic/20公众号.jpg) -管理后台: http://v4.crmeb.net/admin 账号:demo 密码:crmeb.com +管理后台: http://v5.crmeb.net/admin -H5端:http://v4.crmeb.net/(移动端打开) +账号:demo 密码:crmeb.com -PC端:http://v4.crmeb.net/(电脑端打开) +H5端:http://v5.crmeb.net/(移动端打开) -APP下载:http://app.crmeb.cn/bzv (苹果手机直接在APP Store里搜索CRMEB下载) +PC端:http://v5.crmeb.net/(电脑端打开) + +APP下载:http://app.crmeb.cn/bzv(苹果手机直接在APP Store里搜索CRMEB下载) + +> 听说,大神你想看看CRMEB开源项目的完整框架?戳这儿,轻松获取! --- -#### 体验云部署 - 不懂服务器?不懂技术?无法解决高并发?想数据私有化?还想后期定制开发? +### 🔐 安装教程 - 推荐云部署版一键超低价格低至 :collision: 9.9元/年,解决以上所有问题点击了解 +想要快速安装,教程来助攻!查看安装教程! --- -### 官方论坛 +### 📲 核心功能 +#### 商城页面维护:自定义底部菜单、5种主题风格切换、分类页风格切换、个人中心风格切换、数据配置、首页DIY设计、开屏广告... +#### 商品:商品运营(分类、列表、详情、规格、收藏、评价、视频、海报、采集、口令)、卡密商品、虚拟商品、商品预售、限购 +#### 订单:订单状态、订单类型、移动端订单管理、移动端订单核销、发票管理 +#### 营销功能:拼团、秒杀、砍价、预售、积分商城、九宫格抽奖、优惠券、积分、余额充值、公众号渠道码、微信小程序直播 +#### 物流配送:快递发货、商家发货、虚拟发货、自提点核销、物流跟踪 +#### 分销推广:分销模式、绑定模式、分销推广、返佣设置、佣金提现、拼团返佣 +#### 用户:用户等级、付费会员(SVIP)、用户管理 +#### 客服:客服管理、客服工作台 +#### 第三方设置:短信、商品采集、小票打印、电子面单打印、物流查询、云存储 +#### 多终端适配:小程序、公众号、H5、APP、PC端 +#### 系统设置:开发配置、安全维护、城市数据、权限控制、消息管理、多语言包、在线升级 +#### 方便二开:接口管理、代码自动生成、文件和数据库备注管理、自动生成接口文档、业务与开发权限分管 + +![输入图片说明](readme/pic/PHP功能列表.jpg) -产品BUG、优化建议,欢迎社区反馈:https://www.crmeb.com/ask/thread/list?id=147 +--- + +### 📖 UI界面展示 + +![输入图片说明](readme/pic/ui_01.jpg) +![输入图片说明](readme/pic/ui_02.jpg) +![输入图片说明](readme/pic/ui2_01.jpg) +![输入图片说明](readme/pic/ui2_02.jpg) + +--- -### 页面展示 -(页面仅展示部分UI) -![输入图片说明](readme/pic/gitee开源版详情_01.jpg) -![输入图片说明](readme/pic/gitee开源版详情_02.jpg) -![输入图片说明](readme/pic/gitee开源版详情_03.jpg) -![输入图片说明](readme/pic/gitee开源版详情_04.jpg) -![输入图片说明](readme/pic/gitee开源版详情_05.jpg) +### 📕 CRMEB公益 +做开源,帮助更多人!CRMEB开源项目,不仅让开发者从中受益,也在公益活动中帮助了很多人,对此,我们很荣幸,也乐此不疲! -
-点击查看高清版全套UI设计图 -
+So~~想要用CRMEB开源商城系统做公益项目的朋友,可以来免费申请商业版系统哦!有需要的朋友,快去找官方客服咨询吧! +--- +### 💎 捐赠 +赠人玫瑰,手留余香!CRMEB诚挚地邀请大家积极参与捐赠,我们会将捐赠获得的费用,悉数用于支持公益项目,让善意无限传递下去! +在此深表感谢~ -### 推荐项目(欢迎合作,QQ:763569752 ) +--- +### 📞 CRMEB互动 +#### 技术娱乐!代码写累了?那就歇会吧!扫码让你开心一刻! +![输入图片说明](readme/pic/小剧场.jpg) +#### 技术社区!找方法、提bug、看官方消息、拿活跃大奖!都在 CRMEB 技术社区 应有尽有 +#### 技术交流!跟着官方,不迷路!欢迎扫码加入CRMEB 开源项目群,一手消息及资源,尽在掌握! +![输入图片说明](readme/pic/联系我们.jpg) -| 项目名称 | 关注量 | 项目介绍 | -| ------------ | ------------ | ------------ | -| [![](https://img.shields.io/badge/CRMEB-CRMChat-blue.svg)](https://gitee.com/ZhongBangKeJi/CRMChat) | [![](https://gitee.com/ZhongBangKeJi/CRMChat/badge/star.svg)](https://gitee.com/ZhongBangKeJi/CRMChat/stargazers) | CRMChat客服系统,支持接入各种渠道. | -| [![](https://img.shields.io/badge/CRMEB-crmeb_java-blue.svg)](https://gitee.com/ZhongBangKeJi/crmeb_java) | [![](https://gitee.com/ZhongBangKeJi/crmeb_java/badge/star.svg)](https://gitee.com/ZhongBangKeJi/crmeb_java/stargazers) | JAVA版开源商城. | -| [![](https://img.shields.io/badge/xaboy-formbuilder-blue.svg)](https://gitee.com/xaboy/form-builder) | [![](https://gitee.com/xaboy/form-builder/badge/star.svg)](https://gitee.com/xaboy/form-builder/stargazers) | PHP表单生成器,快速生成现代化的form表单。 | -| [![](https://img.shields.io/badge/就眠儀式-LayuiVue-blue.svg)](https://gitee.com/layui/layui-vue) | [![](https://gitee.com/layui/layui-vue/badge/star.svg)](https://gitee.com/layui/layui-vue/stargazers) | layui-vue(谐音:类UI)是一套Vue3.0 的桌面端组件库. | -| [![](https://img.shields.io/badge/逆天的蝈蝈-TpFlow-blue.svg)](https://gitee.com/ntdgg/tpflow) | [![](https://gitee.com/ntdgg/tpflow/badge/star.svg?theme=gvp)](https://gitee.com/ntdgg/tpflow/stargazers) | TpFlow工作流引擎是一套规范化的流程管理系统,基于业务而驱动系统生命力的一套引擎. | - -### 商业版购买 -开源不易,以下如果有需要,请支持一下,感谢您的支持,让我们更多动力! - -[![](readme/pic/gitee2.png)](https://www.crmeb.com/index/criteria) - -### 🔥🔥庆祝:CRMEB开源商城系统Gitee star突破10000+ 专属活动福利 [点击了解](https://www.crmeb.com/ask/thread/20738) - -### 感谢参与开发者 -感谢大神们提交代码(排名不分先后) +--- +### 📻 感谢参与开发者 +#### 感谢大神们提交代码(排名不分先后) @yizhisamoye,@bys1123,@xaboy,@youngxj0,@jacklincheung,@392256866,@sxsea -欢迎反馈问题 [反馈问题](https://gitee.com/ZhongBangKeJi/CRMEB/issues)。 +欢迎反馈问题 -欢迎提交代码 [提交代码](https://gitee.com/ZhongBangKeJi/CRMEB/pulls)。 - -### 特别鸣谢 +欢迎提交代码 +--- +### 📸 特别鸣谢 排名不分先后,感谢这些软件的开发者:thinkphp、iview、vue、mysql、redis、uniapp、echarts、tree-table-vue、swiper、form-create等,如有遗漏请联系我! -### 核心开发团队 +--- +### 🎬 核心开发团队 产品:木子刀客 技术:聆听、等风来、xaboy、吴汐、最后一片叶、旺仔、小小、娜娜、归来仍是少年 UI:xy-yyds、LXT -测试:夏天、绵绵羊、。ws +测试:夏天、绵绵羊、。ws、半山 -### 使用须知 -1.允许用于个人学习、毕业设计、教学案例、公益事业、商业使用; +--- +### 📺 使用须知 +1、允许用于个人学习、毕业设计、教学案例、公益事业、商业使用; -2.如果商用必须保留版权信息,请自觉遵守; +2、如果商用必须保留版权信息,请自觉遵守; -3.禁止将本项目的代码和资源进行任何形式的出售,产生的一切任何后果责任由侵权者自负。 +3、禁止将本项目的代码和资源进行任何形式的出售,产生的一切任何后果责任由侵权者自负。 -### 版权信息 + +--- +### 💾 版权信息 本项目包含的第三方源码和二进制文件之版权信息另行标注。 @@ -173,6 +225,9 @@ All rights reserved。 CRMEB® 商标和著作权所有者为西安众邦网络科技有限公司。 + + --- + [返回顶部 :fa-arrow-circle-up: ](https://gitee.com/ZhongBangKeJi/CRMEB#%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D) diff --git a/crmeb/.version b/crmeb/.version index d7f1d2386..76345ae3e 100644 --- a/crmeb/.version +++ b/crmeb/.version @@ -1,5 +1,5 @@ -version=CRMEB-KY v5.1.0 -version_code=510 +version=CRMEB-KY v5.2.0 +version_code=520 platform=gitee app_id=ze7x9rxsv09l6pvsyo app_key=fuF7U9zaybLa5gageVQzxtxQMFnvU2OI diff --git a/crmeb/app/adminapi/controller/PublicController.php b/crmeb/app/adminapi/controller/PublicController.php index 1bc31e70f..d13091ba9 100644 --- a/crmeb/app/adminapi/controller/PublicController.php +++ b/crmeb/app/adminapi/controller/PublicController.php @@ -68,7 +68,7 @@ class PublicController if ($service->cacheDriver()->get('scan_upload') != $uploadToken) { return app('json')->fail(410086); } - $service->upload($pid, $file, $upload_type, $type, '', $uploadToken); + $service->upload((int)$pid, $file, $upload_type, $type, '', $uploadToken); return app('json')->success(100032); } } diff --git a/crmeb/app/adminapi/controller/UpgradeController.php b/crmeb/app/adminapi/controller/UpgradeController.php index 493c0c28b..d56534c14 100644 --- a/crmeb/app/adminapi/controller/UpgradeController.php +++ b/crmeb/app/adminapi/controller/UpgradeController.php @@ -734,8 +734,8 @@ class UpgradeController */ public function upData() { - $data['new_version'] = 'CRMEB-BZ v5.0.0'; - $data['new_code'] = 500; + $data['new_version'] = 'CRMEB-BZ v5.1.0'; + $data['new_code'] = 510; $data['update_sql'] = [ [ 'code' => 500, @@ -16797,6 +16797,1281 @@ INSERT INTO `@table` (`id`, `pid`, `app_name`, `name`, `mark`, `path`, `sort`, ` (183, 0, 'api', '发票', '', '', 0, 1683360771); SQL ], + + + + + + + [ + 'code' => 510, + 'type' => -1, + 'table' => "express", + 'sql' => "truncate table `@table`" + ], + [ + 'code' => 510, + 'type' => -1, + 'table' => "express", + 'sql' => << 510, + 'type' => 3, + 'table' => "store_order", + 'field' => "is_stock_up", + 'findSql' => "show columns from `@table` like 'is_stock_up'", + 'sql' => "ALTER TABLE `@table` ADD `is_stock_up` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否备货中' AFTER `status`" + ], + [ + 'code' => 510, + 'type' => 3, + 'table' => "store_product_reply", + 'field' => "suk", + 'findSql' => "show columns from `@table` like 'suk'", + 'sql' => "ALTER TABLE `@table` ADD `suk` varchar(255) NOT NULL DEFAULT '' COMMENT '规格名称'" + ], + [ + 'code' => 510, + 'type' => 3, + 'table' => "system_attachment", + 'field' => "scan_token", + 'findSql' => "show columns from `@table` like 'scan_token'", + 'sql' => "ALTER TABLE `@table` ADD `scan_token` varchar(32) NOT NULL DEFAULT '' COMMENT '扫码上传的token'" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config_tab", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `eng_title` = 'jd_oss_config'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='storage_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, @tabId, '京东云配置', 'jd_oss_config', 0, 0, '', 0, 0)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config_tab", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `eng_title` = 'obs_config'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='storage_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, @tabId, '华为云配置', 'obs_config', 0, 0, '', 0, 0)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config_tab", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `eng_title` = 'ty_oss_config'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='storage_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, @tabId, '天翼云配置', 'ty_oss_config', 0, 0, '', 0, 0)" + ], + [ + 'code' => 510, + 'type' => 7, + 'table' => "system_config_tab", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `eng_title` = 'system_sms'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='basics'", + 'sql' => "UPDATE `@table` SET `pid` = @tabId, `status` = 1, `type` = 0 WHERE `eng_title` = 'system_sms'" + ], + [ + 'code' => 510, + 'type' => 7, + 'table' => "system_config_tab", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `eng_title` = 'online_translation'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='basics'", + 'sql' => "UPDATE `@table` SET `pid` = @tabId WHERE `eng_title` = 'online_translation'" + ], + [ + 'code' => 510, + 'type' => 7, + 'table' => "system_config", + 'findSql' => "select id from @table where `menu_name` = 'sms_account'", + 'sql' => "UPDATE `@table` SET `info` = '一号通应用AppId', `desc` = '一号通账号内创建应用的AppId' WHERE `menu_name` = 'sms_account'" + ], + [ + 'code' => 510, + 'type' => 7, + 'table' => "system_config", + 'findSql' => "select id from @table where `menu_name` = 'sms_token'", + 'sql' => "UPDATE `@table` SET `info` = '一号通应用AppSecret', `desc` = '一号通账号内创建应用的AppSecret' WHERE `menu_name` = 'sms_token'" + ], + [ + 'code' => 510, + 'type' => 7, + 'table' => "system_config", + 'findSql' => "select id from @table where `menu_name` = 'integral_frozen'", + 'sql' => "UPDATE `@table` SET `desc` = '积分冻结(天),0为不冻结' WHERE `menu_name` = 'integral_frozen'" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'jd_accessKey'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='jd_oss_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'jd_accessKey', 'text', 'input', @tabId, '', 1, '', 100, 0, '\"\"', '京东云accessKey', '京东云accessKey', 0, 1)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'jd_secretKey'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='jd_oss_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'jd_secretKey', 'text', 'input', @tabId, '', 1, '', 100, 0, '\"\"', '京东云secretKey', '京东云secretKey', 0, 1)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'hw_accessKey'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='obs_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'hw_accessKey', 'text', 'input', @tabId, '', 1, '', 100, 0, '\"\"', '华为云accessKey', '华为云accessKey', 0, 1)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'hw_secretKey'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='obs_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'hw_secretKey', 'text', 'input', @tabId, '', 1, '', 100, 0, '\"\"', '华为云secretKey', '华为云secretKey', 0, 1)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'ty_secretKey'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='ty_oss_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'ty_secretKey', 'text', 'input', @tabId, '', 1, '', 100, 0, '\"\"', '天翼云secretKey', '天翼云secretKey', 0, 1)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'ty_accessKey'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='ty_oss_config'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'ty_accessKey', 'text', 'input', @tabId, '', 1, '', 100, 0, '\"\"', '天翼云accessKey', '天翼云accessKey', 0, 1)" + ], + [ + 'code' => 510, + 'type' => 6, + 'table' => "system_config", + 'whereTable' => "system_config_tab", + 'findSql' => "select id from @table where `menu_name` = 'coupon_return_open'", + 'whereSql' => "SELECT id as tabId FROM `@whereTable` WHERE `eng_title`='store_base'", + 'sql' => "INSERT INTO `@table` VALUES (NULL, 'coupon_return_open', 'radio', 'input', @tabId, '1=>退还\n0=>不退还', 1, '', 0, 0, '\"1\"', '优惠券退还状态', '优惠券是否退回开关,商品成功退款后,退回/不退回使用的优惠券', 0, 1)" + ], + ]; return $data; } diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php b/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php index a8d175401..ebb7415a3 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php @@ -111,24 +111,25 @@ class SystemRoute extends AuthController ['describe', ''], ]); - if (!$data['name']) { - return app('json')->fail(500031); - } - if (!$data['path']) { - return app('json')->fail(500032); - } - if (!$data['method']) { - return app('json')->fail(500033); - } - if (!$data['app_name']) { - return app('json')->fail(500034); - } +// if (!$data['name']) { +// return app('json')->fail(500031); +// } +// if (!$data['path']) { +// return app('json')->fail(500032); +// } +// if (!$data['method']) { +// return app('json')->fail(500033); +// } +// if (!$data['app_name']) { +// return app('json')->fail(500034); +// } if ($id) { $this->services->update($id, $data); } else { $data['add_time'] = date('Y-m-d H:i:s'); $this->services->save($data); } + $this->services->cacheDriver()->clear(); return app('json')->success($id ? 100001 : 100021); } diff --git a/crmeb/app/api/controller/pc/PublicController.php b/crmeb/app/api/controller/pc/PublicController.php index a27240474..9e4b05a83 100644 --- a/crmeb/app/api/controller/pc/PublicController.php +++ b/crmeb/app/api/controller/pc/PublicController.php @@ -51,6 +51,8 @@ class PublicController $data['site_keywords'] = sys_config('site_keywords'); $data['site_description'] = sys_config('site_description'); $data['network_security'] = sys_config('network_security'); + $data['network_security_url'] = sys_config('network_security_url'); + $data['icp_url'] = sys_config('icp_url'); $logoUrl = sys_config('pc_logo'); if (strstr($logoUrl, 'http') === false && $logoUrl) { $logoUrl = sys_config('site_url') . $logoUrl; diff --git a/crmeb/app/common.php b/crmeb/app/common.php index 8d8575b0d..fb9968911 100644 --- a/crmeb/app/common.php +++ b/crmeb/app/common.php @@ -23,6 +23,7 @@ use app\services\system\lang\LangCodeServices; use app\services\system\lang\LangCountryServices; use think\facade\Config; use think\facade\Log; +use think\facade\Db; if (!function_exists('crmebLog')) { /** @@ -1090,3 +1091,19 @@ if (!function_exists('out_push')) { return true; } } + +if (!function_exists('dump_sql')) { + /** + * 默认数据推送 + * @param string $pushUrl + * @param array $data + * @param string $tip + * @return bool + */ + function dump_sql() + { + Db::listen(function ($sql) { + var_dump($sql); + }); + } +} diff --git a/crmeb/app/dao/activity/coupon/StoreCouponIssueDao.php b/crmeb/app/dao/activity/coupon/StoreCouponIssueDao.php index dd06cd2e0..6dac47ece 100644 --- a/crmeb/app/dao/activity/coupon/StoreCouponIssueDao.php +++ b/crmeb/app/dao/activity/coupon/StoreCouponIssueDao.php @@ -72,6 +72,17 @@ class StoreCouponIssueDao extends BaseDao ->page($page, $limit)->order('id desc')->select()->toArray(); } + /** + * 优惠券数量 + * @param $where + * @return int + * @throws \ReflectionException + */ + public function couponCount($where): int + { + return $this->search($where)->count(); + } + /** * 获取优惠券列表 * @param int $uid 用户ID diff --git a/crmeb/app/dao/activity/integral/StoreIntegralOrderDao.php b/crmeb/app/dao/activity/integral/StoreIntegralOrderDao.php index 515b21d6b..726c35719 100644 --- a/crmeb/app/dao/activity/integral/StoreIntegralOrderDao.php +++ b/crmeb/app/dao/activity/integral/StoreIntegralOrderDao.php @@ -95,7 +95,7 @@ class StoreIntegralOrderDao extends BaseDao */ public function count(array $where = [], bool $search = true) { - return $this->search($where, $search)->count(); + return $this->search($where)->count(); } /** diff --git a/crmeb/app/dao/activity/seckill/StoreSeckillDao.php b/crmeb/app/dao/activity/seckill/StoreSeckillDao.php index 7034905d1..efcb6cbbe 100644 --- a/crmeb/app/dao/activity/seckill/StoreSeckillDao.php +++ b/crmeb/app/dao/activity/seckill/StoreSeckillDao.php @@ -41,7 +41,7 @@ class StoreSeckillDao extends BaseDao */ public function search(array $where = [], bool $search = false) { - return parent::search($where, $search)->when(isset($where['seckllTime']), function ($query) use ($where) { + return parent::search($where)->when(isset($where['seckllTime']), function ($query) use ($where) { [$startTime, $stopTime] = is_array($where['seckllTime']) ? $where['seckllTime'] : [time(), time() - 86400]; $query->where('start_time', '<=', $startTime)->where('stop_time', '>=', $stopTime); })->when(isset($where['sid']) && $where['sid'], function ($query) use ($where) { @@ -67,6 +67,7 @@ class StoreSeckillDao extends BaseDao * 条件获取数量 * @param array $where * @return int + * @throws \ReflectionException */ public function getCount(array $where) { diff --git a/crmeb/app/outapi/controller/User.php b/crmeb/app/outapi/controller/User.php index 60ac589fe..49d009376 100644 --- a/crmeb/app/outapi/controller/User.php +++ b/crmeb/app/outapi/controller/User.php @@ -130,7 +130,8 @@ class User extends AuthController public function info($uid) { if (!$uid) return app('json')->fail(100100); - return app('json')->success($this->services->userInfo($uid)); + $data = $this->services->userInfo($uid); + return app('json')->success(compact('data')); } /** diff --git a/crmeb/app/services/activity/coupon/StoreCouponIssueServices.php b/crmeb/app/services/activity/coupon/StoreCouponIssueServices.php index bb667dabc..6c88aff60 100644 --- a/crmeb/app/services/activity/coupon/StoreCouponIssueServices.php +++ b/crmeb/app/services/activity/coupon/StoreCouponIssueServices.php @@ -65,8 +65,7 @@ class StoreCouponIssueServices extends BaseServices foreach ($list as &$item) { $item['use_time'] = date('Y-m-d', $item['start_use_time']) . ' ~ ' . date('Y-m-d', $item['end_use_time']); } -// unset($where['type'], $where['receive_type']); - $count = $this->dao->count($where); + $count = $this->dao->couponCount($where); return compact('list', 'count'); } diff --git a/crmeb/app/services/activity/lottery/LuckLotteryServices.php b/crmeb/app/services/activity/lottery/LuckLotteryServices.php index a5114ede3..0bd1f2d36 100644 --- a/crmeb/app/services/activity/lottery/LuckLotteryServices.php +++ b/crmeb/app/services/activity/lottery/LuckLotteryServices.php @@ -210,7 +210,9 @@ class LuckLotteryServices extends BaseServices $luckPrizeServices = app()->make(LuckPrizeServices::class); $data = []; $sort = 1; + $prizeStatus = false; foreach ($prizes as $prize) { + if (isset($prize['type']) && $prize['type'] == 1) $prizeStatus = true; $prize = $luckPrizeServices->checkPrizeData($prize); $prize['lottery_id'] = $lottery->id; unset($prize['id']); @@ -219,6 +221,9 @@ class LuckLotteryServices extends BaseServices $data[] = $prize; $sort++; } + if (!$prizeStatus) { + throw new AdminException('必须设置至少一个未中奖'); + } if (!$luckPrizeServices->saveAll($data)) { throw new AdminException(400536); } @@ -261,7 +266,9 @@ class LuckLotteryServices extends BaseServices $insert = []; $time = time(); $sort = 1; + $prizeStatus = false; foreach ($newPrizes as $prize) { + if (isset($prize['type']) && $prize['type'] == 1) $prizeStatus = true; $prize = $luckPrizeServices->checkPrizeData($prize); $prize['sort'] = $sort; if (isset($prize['id']) && $prize['id']) { @@ -280,6 +287,9 @@ class LuckLotteryServices extends BaseServices } $sort++; } + if (!$prizeStatus) { + throw new AdminException('必须设置至少一个未中奖'); + } if ($insert) { if (!$luckPrizeServices->saveAll($insert)) { throw new AdminException(100022); diff --git a/crmeb/app/services/system/SystemRouteServices.php b/crmeb/app/services/system/SystemRouteServices.php index 4d496df46..a6851ea21 100644 --- a/crmeb/app/services/system/SystemRouteServices.php +++ b/crmeb/app/services/system/SystemRouteServices.php @@ -201,6 +201,9 @@ class SystemRouteServices extends BaseServices { $oneId = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => $cateName, 'pid' => 0], 'id'); if (!$oneId) { + //修复重复同步后反复增加二级文件夹 + $id = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => $cateName, 'pid' => $pid], 'id'); + if ($id) return $id; $res = app()->make(SystemRouteCateServices::class)->save([ 'app_name' => $app, 'name' => $cateName, diff --git a/crmeb/app/services/system/config/SystemConfigServices.php b/crmeb/app/services/system/config/SystemConfigServices.php index ce1d17cc2..6450f0b51 100644 --- a/crmeb/app/services/system/config/SystemConfigServices.php +++ b/crmeb/app/services/system/config/SystemConfigServices.php @@ -91,6 +91,7 @@ class SystemConfigServices extends BaseServices 'spread_banner' => '', 'brokerage_level' => '', 'division_status' => '', + 'agent_apply_open' => '', ], 'show_value' => 1 ], diff --git a/crmeb/app/services/user/OutUserServices.php b/crmeb/app/services/user/OutUserServices.php index 19debd700..1620ae8b1 100644 --- a/crmeb/app/services/user/OutUserServices.php +++ b/crmeb/app/services/user/OutUserServices.php @@ -15,6 +15,7 @@ namespace app\services\user; use app\dao\user\UserDao; use app\services\activity\coupon\StoreCouponIssueServices; +use app\services\agent\AgentLevelServices; use app\services\BaseServices; use app\services\system\SystemUserLevelServices; use crmeb\exceptions\ApiException; @@ -92,9 +93,19 @@ class OutUserServices extends BaseServices */ public function userInfo($uid) { + $userType = ['h5' => 'H5', 'wechat' => '公众号', 'routine' => '小程序', 'app' => 'APP', 'pc' => 'PC']; $fields = ['uid', 'real_name', 'mark', 'nickname', 'avatar', 'phone', 'now_money', 'brokerage_price', 'integral', 'exp', 'sign_num', 'user_type', 'status', 'level', 'agent_level', 'spread_open', 'spread_uid', 'spread_time', 'user_type', 'is_promoter', 'pay_count', 'is_ever_level', 'is_money_level', 'overdue_time', 'add_time']; - return app()->make(UserServices::class)->get($uid, $fields); + $data = app()->make(UserServices::class)->get($uid, $fields); + $data['user_type'] = $userType[$data['user_type']]; + $data['status'] = $data['status'] ? '正常' : '禁用'; + $data['level'] = app()->make(SystemUserLevelServices::class)->value($data['level'], 'name') ?? '无'; + $data['agent_level'] = app()->make(AgentLevelServices::class)->value($data['agent_level'], 'name') ?? '无'; + $data['spread_open'] = $data['spread_open'] ? '分销开启' : '分销关闭'; + $data['spread_name'] = app()->make(UserServices::class)->value($data['spread_uid'], 'nickname') ?? '无'; + $data['spread_time'] = date('Y-m-d H:i:s', $data['spread_time']); + $data['add_time'] = date('Y-m-d H:i:s', $data['add_time']); + return $data; } /** diff --git a/crmeb/app/services/user/UserServices.php b/crmeb/app/services/user/UserServices.php index 3b64e8b68..5853cfdbf 100644 --- a/crmeb/app/services/user/UserServices.php +++ b/crmeb/app/services/user/UserServices.php @@ -2041,6 +2041,17 @@ class UserServices extends BaseServices if (!$userInfo) { return false; } + + //根据手机号码查询此用户注销过,不反推广佣金 + if ($userInfo['phone'] != '' && $this->dao->getCount(['phone' => $userInfo['phone'], 'is_del' => 1])) { + return false; + } + //根据openid查询此用户注销过,不反推广佣金 + $openidArray = app()->make(WechatUserServices::class)->getColumn(['uid' => $uid], 'openid', 'id'); + if ($this->dao->getCount([['openid', 'in', $openidArray], ['is_del', '=', 1]])) { + return false; + } + if (!$spread_user) { $spread_user = $this->dao->getOne(['uid' => $spread_uid, 'status' => 1]); } diff --git a/crmeb/app/services/wechat/WechatServices.php b/crmeb/app/services/wechat/WechatServices.php index a1f83786d..e79af86dc 100644 --- a/crmeb/app/services/wechat/WechatServices.php +++ b/crmeb/app/services/wechat/WechatServices.php @@ -395,8 +395,7 @@ class WechatServices extends BaseServices if (!$uid && !$res) { return false; } - } - if ($openid && $storeUserMobile) { + } elseif ($openid && $storeUserMobile) { /** @var UserServices $userServices */ $userServices = app()->make(UserServices::class); $uid = $this->dao->value(['openid' => $openid], 'uid'); diff --git a/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php b/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php index a5910585b..f888d2c48 100644 --- a/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php +++ b/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php @@ -4,36 +4,19 @@ namespace crmeb\services\easywechat\orderShipping; use crmeb\exceptions\AdminException; use crmeb\services\CacheService; -use EasyWeChat\Core\AccessToken; use EasyWeChat\Core\Exceptions\HttpException; -use think\facade\Cache; class OrderClient extends BaseOrder { - const redis_prefix = 'mini_order'; + const cache_prefix = 'mini_order'; const express_company = 'ZTO'; // 默认发货快递公司为(中通快递) - /** - * @var \Redis + * @var */ - protected $redis; - - /** - * @return object|\Redis|null - * - * @date 2023/05/10 - * @author yyw - */ - protected function getRedis() - { - if (empty($this->redis)) { - $this->redis = Cache::store('redis')->handler(); - } - return $this->redis; - } + protected $cache; /** * 处理联系人 @@ -214,8 +197,8 @@ class OrderClient extends BaseOrder { $res = $this->isManaged(); if ($res['is_trade_managed']) { - $key = self::redis_prefix . '_is_trade_managed'; - $this->getRedis()->set($key, $res['is_trade_managed']); + $key = self::cache_prefix . '_is_trade_managed'; + CacheService::set($key, $res['is_trade_managed']); return true; } else { return false; @@ -232,8 +215,8 @@ class OrderClient extends BaseOrder */ public function checkManaged() { - $key = self::redis_prefix . '_is_trade_managed'; - if ($this->getRedis()->exists($key)) { + $key = self::cache_prefix . '_is_trade_managed'; + if (CacheService::get($key)) { return true; } else { return $this->setManaged(); @@ -252,10 +235,10 @@ class OrderClient extends BaseOrder { $list = $this->getDeliveryList(); if ($list) { - $key = self::redis_prefix . '_delivery_list'; + $key = self::cache_prefix . '_delivery_list'; $date = array_column($list['delivery_list'], 'delivery_id', 'delivery_name'); // 创建缓存 - $this->getRedis()->hMSet($key, $date); + CacheService::set($key, json_encode($date)); return $date; } else { @@ -274,15 +257,14 @@ class OrderClient extends BaseOrder */ public function getDelivery($company_name) { - $key = self::redis_prefix . '_delivery_list'; - if (!$this->getRedis()->exists($key)) { + $key = self::cache_prefix . '_delivery_list'; + if (!CacheService::get($key)) { $date = $this->setDeliveryList(); $express_company = $date[$company_name] ?? ''; } else { - $express_company = $this->getRedis()->hMGet($key, [$company_name])[$company_name] ?? ''; + $express_company = json_decode(CacheService::get($key), true)[$company_name] ?? ''; } if (empty($express_company)) { -// throw new AdminException('物流公司异常2'); $express_company = self::express_company; } diff --git a/crmeb/crmeb/services/upload/storage/Cos.php b/crmeb/crmeb/services/upload/storage/Cos.php index 3e26b9601..1179b8b23 100644 --- a/crmeb/crmeb/services/upload/storage/Cos.php +++ b/crmeb/crmeb/services/upload/storage/Cos.php @@ -440,14 +440,11 @@ class Cos extends BaseUpload public function deleteBucket(string $name) { try { - $res = $this->app()->deleteBucket($name); - if ($res->get('RequestId')) { - return true; - } + $this->app()->deleteBucket($name); + return true; } catch (\Throwable $e) { return $this->setError($e->getMessage()); } - return false; } /** @@ -459,8 +456,8 @@ class Cos extends BaseUpload { $this->storageRegion = $region; try { - $res = $this->app()->GetBucketDomain($name); - $domainRules = $res->toArray()['DomainRules']; + $res = $this->app()->getBucketDomain($name); + $domainRules = $res['DomainRules']; return array_column($domainRules, 'Name'); } catch (\Throwable $e) { } @@ -533,11 +530,11 @@ class Cos extends BaseUpload { $this->storageRegion = $region; try { - $res = $this->app()->PutBucketCors($name, [ - 'AllowedHeaders' => ['*'], - 'AllowedMethods' => ['PUT', 'GET', 'POST', 'DELETE', 'HEAD'], - 'AllowedOrigins' => ['*'], - 'ExposeHeaders' => ['ETag', 'Content-Length', 'x-cos-request-id'], + $res = $this->app()->putBucketCors($name, [ + 'AllowedHeader' => ['*'], + 'AllowedMethod' => ['PUT', 'GET', 'POST', 'DELETE', 'HEAD'], + 'AllowedOrigin' => ['*'], + 'ExposeHeader' => ['ETag', 'Content-Length', 'x-cos-request-id'], 'MaxAgeSeconds' => 12 ]); if (isset($res['RequestId'])) { diff --git a/crmeb/public/install/crmeb.sql b/crmeb/public/install/crmeb.sql index f76dd5d53..540569c75 100755 --- a/crmeb/public/install/crmeb.sql +++ b/crmeb/public/install/crmeb.sql @@ -33607,8 +33607,8 @@ INSERT INTO `eb_system_config` (`id`, `menu_name`, `type`, `input_type`, `config (116, 'order_seckill_time', 'text', 'number', 27, '', 0, '', 100, 0, '1', '秒杀未支付订单取消时间', '秒杀未支付订单取消时间,单位(小时),如果为0将使用默认活动取消时间,优先使用单独活动配置', 0, 1), (117, 'order_pink_time', 'text', 'number', 27, '', 0, '', 100, 0, '1', '拼团未支付取消订单时间', '拼团未支付取消订单时间,单位(小时),如果为0将使用默认活动取消时间,优先使用单独活动配置', 0, 1), (122, 'system_delivery_time', 'text', 'number', 27, '', 0, 'required:true,digits:true,min:0', 100, 0, '7', '自动收货时间', '系统自动收货时间,单位(天),0为不设置自动收货', 80, 1), -(123, 'sms_account', 'text', 'input', 18, '', 1, '', 0, 0, '\"\"', '一号通AccessKey', '一号通账号内创建的AccessKey', 10, 1), -(137, 'sms_token', 'text', 'input', 18, '', 1, '', 0, 0, '\"\"', '一号通SecretKey', '一号通账号内创建的SecretKey', 9, 1), +(123, 'sms_account', 'text', 'input', 18, '', 1, '', 0, 0, '\"\"', '一号通应用AppId', '一号通账号内创建应用的AppId', 10, 1), +(137, 'sms_token', 'text', 'input', 18, '', 1, '', 0, 0, '\"\"', '一号通应用AppSecret', '一号通账号内创建应用的AppSecret', 9, 1), (138, 'h5_avatar', 'upload', 'input', 101, '', 1, '', 0, 0, '\"\\/statics\\/system_images\\/default_avatar.jpeg\"', '用户默认头像', '用户默认头像,后台添加用户以及用户登录的默认头像显示,尺寸(80*80)', 3, 1), (139, 'offline_pay_status', 'radio', 'input', 109, '1=>开启\n2=>关闭', 1, '', 0, 0, '\"1\"', '线下支付', '线下支付请选择开启或关闭', 89, 1), (141, 'recharge_switch', 'radio', 'input', 28, '1=>开启\n0=>关闭', 1, '', 0, 0, '0', '小程序充值开关', '仅小程序端的充值开关,小程序提交审核前,需要关闭此功能', 4, 1), @@ -33722,7 +33722,7 @@ INSERT INTO `eb_system_config` (`id`, `menu_name`, `type`, `input_type`, `config (379, 'ico_path', 'upload', 'input', 26, '', 3, '', 0, 0, '\"\"', 'ICO图标', '程序ICO图标,更换后需要清除浏览器缓存', 85, 1), (383, 'tengxun_appid', 'text', 'input', 82, '', 0, '', 0, 0, '\"\"', '腾讯云APPID', '腾讯云APPID', 0, 1), (384, 'extract_type', 'checkbox', 'input', 74, '0=>银行卡\n1=>微信\n2=>支付宝', 1, '', 0, 0, '[\"0\",\"1\",\"2\"]', '提现方式', '提现方式', 0, 1), -(385, 'integral_frozen', 'text', 'input', 11, '', 1, '', 100, 0, '\"0\"', '积分冻结(天)', '积分冻结(天)', 0, 1), +(385, 'integral_frozen', 'text', 'input', 11, '', 1, '', 100, 0, '\"0\"', '积分冻结(天)', '积分冻结(天),0为不冻结', 0, 1), (386, 'print_type', 'radio', 'input', 86, '1=>易联云\n2=>飞鹅云', 1, '', 0, 0, '\"1\"', '平台选择', '打印平台选择', 0, 1), (387, 'config_export_type', 'radio', 'input', 93, '1=>一号通', 1, '', 0, 0, '1', '电子面单类型', '电子面单类型', 0, 1), (388, 'customer_corpId', 'text', 'input', 69, '', 1, '', 0, 0, '\"\"', '企业ID', '如果客服链接填写企业微信客服,小程序需要跳转企业微信客服的话需要配置此项,并且在小程序客服中绑定企业ID', 0, 1), @@ -33806,7 +33806,7 @@ INSERT INTO `eb_system_config_tab` (`id`, `pid`, `title`, `eng_title`, `status`, (7, 78, '小程序配置', 'routine', 1, 0, 'logo-android', 3, 0), (9, 0, '分销配置', 'fenxiao', 1, 0, 'md-contacts', 3, 0), (11, 100, '用户积分配置', 'point', 1, 0, 'logo-euro', 0, 0), -(18, 65, '一号通', 'system_sms', 1, 0, 'ios-chatboxes', 0, 0), +(18, 1, '一号通', 'system_sms', 1, 0, 'ios-chatboxes', 0, 0), (21, 65, '小票打印配置', 'printing_deploy', 1, 0, 'logo-buffer', 3, 0), (23, 65, '商城支付配置', 'pay_config', 1, 0, 'logo-usd', 3, 70), (26, 1, '站点配置', 'web_site', 1, 0, '', 0, 100), @@ -33852,7 +33852,7 @@ INSERT INTO `eb_system_config_tab` (`id`, `pid`, `title`, `eng_title`, `status`, (103, 102, '基础配置', 'out_basic', 1, 0, '', 3, 0), (104, 102, '推送配置', 'out_push', 1, 0, '', 3, 0), (105, 100, '新用户设置', 'new_user_setting', 1, 0, '', 0, 0), -(106, 5, '机器翻译配置', 'online_translation', 1, 0, '', 0, 0), +(106, 1, '机器翻译配置', 'online_translation', 1, 0, '', 0, 0), (107, 21, '飞鹅云配置', 'fey_config', 1, 0, '', 3, 0), (108, 23, '通联支付', 'allinpay', 1, 0, '', 3, 0), (109, 23, '基础配置', 'pay_basic', 1, 0, '', 3, 100), @@ -49486,7 +49486,7 @@ INSERT INTO `eb_system_route` (`id`, `cate_id`, `app_name`, `name`, `describe`, (840, 91, 'outapi', '用户列表', '', 'user/list', 'GET', 'app/outapi/controller/User.php', 'lst', '[{\"attribute\":\"page\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u5206\\u9875\",\"id\":\"row_333\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"limit\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u6761\\u6570\",\"id\":\"row_340\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u72b6\\u6001\\u7801\",\"id\":\"row_347\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"msg\",\"type\":\"string\",\"trip\":\"\\u4fe1\\u606f\\u63cf\\u8ff0\",\"id\":\"row_354\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"data\",\"type\":\"array\",\"trip\":\"\\u8fd4\\u56de\\u503c\",\"id\":\"row_361\",\"_X_ROW_CHILD\":[{\"attribute\":\"list\",\"type\":\"array\",\"trip\":\"\\u7528\\u6237\\u6570\\u636e\",\"id\":1666945585846,\"parentId\":\"row_361\",\"_X_ROW_CHILD\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1666945628068,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":1666945628257,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":1666945628508,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":1666945628681,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":1666945629013,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":1666945629174,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":1666945629334,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":1666945629496,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":1666945629645,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":1666945629801,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":1666945629974,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":1666945630134,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":1666945630280,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":1666945630454,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":1666945630614,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":1666945630787,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":1666945630933,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":1666945631120,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":1666945751767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":1666945751942,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":1666945752114,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":1666945752288,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":1666945752435,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":1666945752623,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":1666945752767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":1666945752914,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]}],\"children\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1666945628068,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":1666945628257,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":1666945628508,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":1666945628681,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":1666945629013,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":1666945629174,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":1666945629334,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":1666945629496,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":1666945629645,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":1666945629801,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":1666945629974,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":1666945630134,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":1666945630280,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":1666945630454,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":1666945630614,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":1666945630787,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":1666945630933,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":1666945631120,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":1666945751767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":1666945751942,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":1666945752114,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":1666945752288,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":1666945752435,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":1666945752623,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":1666945752767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":1666945752914,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]}]},{\"attribute\":\"count\",\"type\":\"number\",\"trip\":\"\\u603b\\u6761\\u6570\",\"id\":1666945588267,\"parentId\":\"row_361\",\"_X_ROW_CHILD\":[],\"children\":[]}],\"children\":[{\"attribute\":\"list\",\"type\":\"array\",\"trip\":\"\\u7528\\u6237\\u6570\\u636e\",\"id\":1666945585846,\"parentId\":\"row_361\",\"_X_ROW_CHILD\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1666945628068,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":1666945628257,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":1666945628508,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":1666945628681,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":1666945629013,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":1666945629174,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":1666945629334,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":1666945629496,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":1666945629645,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":1666945629801,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":1666945629974,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":1666945630134,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":1666945630280,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":1666945630454,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":1666945630614,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":1666945630787,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":1666945630933,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":1666945631120,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":1666945751767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":1666945751942,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":1666945752114,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":1666945752288,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":1666945752435,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":1666945752623,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":1666945752767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":1666945752914,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]}],\"children\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1666945628068,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":1666945628257,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":1666945628508,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":1666945628681,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":1666945629013,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":1666945629174,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":1666945629334,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":1666945629496,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":1666945629645,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":1666945629801,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":1666945629974,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":1666945630134,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":1666945630280,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":1666945630454,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":1666945630614,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":1666945630787,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":1666945630933,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":1666945631120,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":1666945751767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":1666945751942,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":1666945752114,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":1666945752288,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":1666945752435,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":1666945752623,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":1666945752767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":1666945752914,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]}]},{\"attribute\":\"count\",\"type\":\"number\",\"trip\":\"\\u603b\\u6761\\u6570\",\"id\":1666945588267,\"parentId\":\"row_361\",\"_X_ROW_CHILD\":[],\"children\":[]}]},{\"attribute\":\"list\",\"type\":\"array\",\"trip\":\"\\u7528\\u6237\\u6570\\u636e\",\"id\":\"1666945585846\",\"parentId\":\"row_361\",\"_X_ROW_CHILD\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1666945628068,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":1666945628257,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":1666945628508,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":1666945628681,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":1666945629013,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":1666945629174,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":1666945629334,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":1666945629496,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":1666945629645,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":1666945629801,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":1666945629974,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":1666945630134,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":1666945630280,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":1666945630454,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":1666945630614,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":1666945630787,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":1666945630933,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":1666945631120,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":1666945751767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":1666945751942,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":1666945752114,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":1666945752288,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":1666945752435,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":1666945752623,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":1666945752767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":1666945752914,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]}],\"children\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1666945628068,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":1666945628257,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":1666945628508,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":1666945628681,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":1666945629013,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":1666945629174,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":1666945629334,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":1666945629496,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":1666945629645,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":1666945629801,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":1666945629974,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":1666945630134,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":1666945630280,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":1666945630454,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":1666945630614,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":1666945630787,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":1666945630933,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":1666945631120,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":1666945751767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":1666945751942,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":1666945752114,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":1666945752288,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":1666945752435,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":1666945752623,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":1666945752767,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":1666945752914,\"parentId\":1666945585846,\"_X_ROW_CHILD\":[],\"children\":[]}]},{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":\"1666945628068\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"string\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":\"1666945628257\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"trip\":\"\\u5907\\u6ce8\",\"id\":\"1666945628508\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"string\",\"trip\":\"\\u6635\\u79f0\",\"id\":\"1666945628681\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"string\",\"trip\":\"\\u5934\\u50cf\",\"id\":\"1666945629013\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":\"1666945629174\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"string\",\"trip\":\"\\u4f59\\u989d\",\"id\":\"1666945629334\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"string\",\"trip\":\"\\u4f63\\u91d1\\u91d1\\u989d\",\"id\":\"1666945629496\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"number\",\"trip\":\"\\u79ef\\u5206\",\"id\":\"1666945629645\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"string\",\"trip\":\"\\u4f1a\\u5458\\u7ecf\\u9a8c\",\"id\":\"1666945629801\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"sign_num\",\"type\":\"number\",\"trip\":\"\\u8fde\\u7eed\\u7b7e\\u5230\\u5929\\u6570\",\"id\":\"1666945629974\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":\"1666945630134\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":\"1666945630280\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\",\"id\":\"1666945630454\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"number\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":\"1666945630614\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c\",\"id\":\"1666945630787\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458ID\",\"id\":\"1666945630933\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u5173\\u8054\\u65f6\\u95f4\",\"id\":\"1666945631120\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650\",\"id\":\"1666945751767\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pay_count\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237\\u8d2d\\u4e70\\u6b21\\u6570\",\"id\":\"1666945751942\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_ever_level\",\"type\":\"number\",\"trip\":\"\\u662f\\u5426\\u6c38\\u4e45\\u6027\\u4f1a\\u5458 0\\u975e\\u6c38\\u4e45 1\\u6c38\\u4e45\",\"id\":\"1666945752114\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_money_level\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u6765\\u6e90 0\\u4e0d\\u662f 1\\u82b1\\u94b1\\u8d2d\\u4e70\\u7684\\u4f1a\\u5458 2\\u4f1a\\u5458\\u5361\\u9886\\u53d6 3\\u8d60\\u9001\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f\",\"id\":\"1666945752288\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"overdue_time\",\"type\":\"number\",\"trip\":\"\\u4f1a\\u5458\\u5230\\u671f\\u65f6\\u95f4\",\"id\":\"1666945752435\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid_nickname\",\"type\":\"string\",\"trip\":\"\\u63a8\\u5e7f\\u5458\\u6635\\u79f0\",\"id\":\"1666945752623\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level_name\",\"type\":\"string\",\"trip\":\"\\u7528\\u6237\\u7b49\\u7ea7\\u540d\\u79f0\",\"id\":\"1666945752767\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"number\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":\"1666945752914\",\"parentId\":\"1666945585846\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"count\",\"type\":\"number\",\"trip\":\"\\u603b\\u6761\\u6570\",\"id\":\"1666945588267\",\"parentId\":\"row_361\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '/user/list?page=1&limit=20', '{\n \"status\": 200,\n \"msg\": \"success\",\n \"data\": {\n \"list\": [\n {\n \"uid\": 2,\n \"real_name\": \"喜羊羊\",\n \"mark\": \"\",\n \"nickname\": \"130****0001\",\n \"avatar\": \"http://bz.wuht.net/statics/system_images/default_avatar.jpeg\",\n \"phone\": \"13000000001\",\n \"now_money\": \"97892.39\",\n \"brokerage_price\": \"1.00\",\n \"integral\": 1008,\n \"exp\": \"1008.90\",\n \"sign_num\": 0,\n \"user_type\": \"H5\",\n \"status\": 1,\n \"level\": 2,\n \"agent_level\": 0,\n \"spread_open\": 1,\n \"spread_uid\": 0,\n \"spread_time\": 0,\n \"is_promoter\": 1,\n \"pay_count\": 5,\n \"is_ever_level\": 0,\n \"is_money_level\": 0,\n \"overdue_time\": 0,\n \"add_time\": 1658214778,\n \"spread_uid_nickname\": \"\",\n \"level_name\": \"V2\"\n },\n {\n \"uid\": 1,\n \"real_name\": \"哒答\",\n \"mark\": \"\",\n \"nickname\": \"momo\",\n \"avatar\": \"http://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM6XbXMe12oINNuq9uEaxLDWpQxShj4FrLP9vicJRxaP36eLoxIu60pqPfXL6RibvYsGzE4RpXTjgZiag/132\",\n \"phone\": \"13000000000\",\n \"now_money\": \"97982.00\",\n \"brokerage_price\": \"0.00\",\n \"integral\": 0,\n \"exp\": \"0.00\",\n \"sign_num\": 0,\n \"user_type\": \"小程序\",\n \"status\": 1,\n \"level\": 0,\n \"agent_level\": 0,\n \"spread_open\": 1,\n \"spread_uid\": 0,\n \"spread_time\": 0,\n \"is_promoter\": 1,\n \"pay_count\": 3,\n \"is_ever_level\": 0,\n \"is_money_level\": 0,\n \"overdue_time\": 0,\n \"add_time\": 1658214670,\n \"spread_uid_nickname\": \"\",\n \"level_name\": \"\"\n }\n ],\n \"count\": 2\n }\n}', 0, '2023-05-06 08:03:02', NULL), (841, 91, 'outapi', '新增用户', '', 'user', 'POST', 'app/outapi/controller/User.php', 'save', '[{\"attribute\":\"real_name\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":\"row_247\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":\"row_254\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u5907\\u6ce8\",\"id\":\"row_261\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pwd\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u5bc6\\u7801\",\"id\":\"row_268\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u7b49\\u7ea7ID\\uff0c\\u4ece\\u7b49\\u7ea7\\u5217\\u8868\\u83b7\\u53d6\",\"id\":\"row_275\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c 1\\u5f00\\u542f 0\\u5173\\u95ed(\\u9ed8\\u8ba4)\",\"id\":\"row_282\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650 1\\u5f00\\u542f 0\\u5173\\u95ed(\\u9ed8\\u8ba4)\",\"id\":\"row_289\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":\"row_296\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u72b6\\u6001\\u7801\",\"id\":\"row_303\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"msg\",\"type\":\"string\",\"trip\":\"\\u4fe1\\u606f\\u63cf\\u8ff0\",\"id\":\"row_310\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"data\",\"type\":\"array\",\"trip\":\"\\u8fd4\\u56de\\u503c\",\"id\":\"row_317\",\"_X_ROW_CHILD\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1665988030602,\"parentId\":\"row_317\",\"_X_ROW_CHILD\":[],\"children\":[]}],\"children\":[{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":1665988030602,\"parentId\":\"row_317\",\"_X_ROW_CHILD\":[],\"children\":[]}]},{\"attribute\":\"uid\",\"type\":\"number\",\"trip\":\"\\u7528\\u6237ID\",\"id\":\"1665988030602\",\"parentId\":\"row_317\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '{\n \"real_name\": \"张三\",\n \"phone\": \"15289381076\",\n \"mark\": \"重要客户\",\n \"pwd\": \"123123\",\n \"level\": 5,\n \"spread_open\": 1,\n \"is_promoter\": 1,\n \"status\": 1\n}', '{\n \"status\": 200,\n \"msg\": \"添加成功\",\n \"data\": {\n \"uid\": 10\n }\n}', 0, '2023-05-06 08:03:02', NULL), (842, 91, 'outapi', '修改用户', '', 'user/', 'PUT', 'app/outapi/controller/User.php', 'update', '[{\"attribute\":\"real_name\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u771f\\u5b9e\\u59d3\\u540d\",\"id\":\"row_247\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u624b\\u673a\\u53f7\",\"id\":\"row_254\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"mark\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u5907\\u6ce8\",\"id\":\"row_261\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"pwd\",\"type\":\"string\",\"must\":\"0\",\"trip\":\"\\u5bc6\\u7801\\uff0c\\u7559\\u7a7a\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_268\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u7b49\\u7ea7ID\\uff0c\\u4ece\\u7b49\\u7ea7\\u5217\\u8868\\u83b7\\u53d6\",\"id\":\"row_275\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u63a8\\u5e7f\\u8d44\\u683c 1\\u5f00\\u542f 0\\u5173\\u95ed(\\u9ed8\\u8ba4)\",\"id\":\"row_282\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"is_promoter\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u63a8\\u5e7f\\u6743\\u9650 1\\u5f00\\u542f 0\\u5173\\u95ed(\\u9ed8\\u8ba4)\",\"id\":\"row_289\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u7528\\u6237\\u72b6\\u6001 1\\u542f\\u7528 0\\u7981\\u7528\",\"id\":\"row_296\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u72b6\\u6001\\u7801\",\"id\":\"row_210\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"msg\",\"type\":\"string\",\"trip\":\"\\u4fe1\\u606f\\u63cf\\u8ff0\",\"id\":\"row_217\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '/user/1\n{\n \"real_name\": \"张某\",\n \"phone\": \"15289381077\",\n \"mark\": \"重要客户\",\n \"pwd\": \"123123\",\n \"level\": 4,\n \"spread_open\": 1,\n \"is_promoter\": 1,\n \"status\": 1\n}', '{\n \"status\": 200,\n \"msg\": \"修改成功\"\n}', 0, '2023-05-06 08:03:02', NULL), -(843, 91, 'outapi', '赠送积分/金额', '', 'user/give/', 'PUT', 'app/outapi/controller/User.php', 'give', '[{\"attribute\":\"money_status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4f59\\u989d\\u4fee\\u6539\\u7c7b\\u578b 1\\u589e\\u52a0 2\\u51cf\\u5c11\",\"id\":\"row_290\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"money\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u4f59\\u989d 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_297\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integration_status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u79ef\\u5206\\u4fee\\u6539\\u7c7b\\u578b 1\\u589e\\u52a0 2\\u51cf\\u5c11\",\"id\":\"row_304\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integration\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u79ef\\u5206 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_311\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"days\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f \\u4ee5\\u5929\\u4e3a\\u5355\\u4f4d\\u7d2f\\u52a0 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_318\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"coupon\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4f18\\u60e0\\u5238ID 0\\u4e0d\\u8d60\\u9001\",\"id\":\"row_325\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u72b6\\u6001\\u7801\",\"id\":\"row_332\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"msg\",\"type\":\"string\",\"trip\":\"\\u4fe1\\u606f\\u63cf\\u8ff0\",\"id\":\"row_339\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '/user/give/1\n{\n \"money_status\": 1,\n \"money\": \"9.02\",\n \"integration_status\": 1,\n \"integration\": 50,\n \"days\": 1,\n \"coupon\": 0\n}', '{\n \"status\": 200,\n \"msg\": \"操作成功\"\n}', 0, '2023-05-06 08:03:02', NULL), +(843, 91, 'outapi', '赠送金额', '', 'user/give_balance/', 'PUT', 'app/outapi/controller/User.php', 'giveBalance', '[{\"attribute\":\"money_status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4f59\\u989d\\u4fee\\u6539\\u7c7b\\u578b 1\\u589e\\u52a0 2\\u51cf\\u5c11\",\"id\":\"row_290\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"money\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u4f59\\u989d 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_297\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integration_status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u79ef\\u5206\\u4fee\\u6539\\u7c7b\\u578b 1\\u589e\\u52a0 2\\u51cf\\u5c11\",\"id\":\"row_304\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integration\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u79ef\\u5206 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_311\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"days\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f \\u4ee5\\u5929\\u4e3a\\u5355\\u4f4d\\u7d2f\\u52a0 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_318\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"coupon\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4f18\\u60e0\\u5238ID 0\\u4e0d\\u8d60\\u9001\",\"id\":\"row_325\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u72b6\\u6001\\u7801\",\"id\":\"row_332\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"msg\",\"type\":\"string\",\"trip\":\"\\u4fe1\\u606f\\u63cf\\u8ff0\",\"id\":\"row_339\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '/user/give_balance/1\n{\n \"money_status\": 1,\n \"money\": \"9.02\",\n \"integration_status\": 1,\n \"integration\": 50,\n \"days\": 1,\n \"coupon\": 0\n}', '{\n \"status\": 200,\n \"msg\": \"操作成功\"\n}', 0, '2023-05-06 08:03:02', NULL), (844, 92, 'kefuapi', '账号登录', '', 'login', 'POST', 'app/kefuapi/controller/Login.php', 'login', '', '', '', '', '', 0, '2023-05-06 08:03:19', NULL), (845, 92, 'kefuapi', '获取扫码登录key', '', 'key', 'GET', 'app/kefuapi/controller/Login.php', 'getLoginKey', '', '', '', '', '', 0, '2023-05-06 08:03:19', NULL), (846, 92, 'kefuapi', '检测扫码情况', '', 'scan/', 'GET', 'app/kefuapi/controller/Login.php', 'scanLogin', '', '', '', '', '', 0, '2023-05-06 08:03:19', NULL), @@ -49807,6 +49807,11 @@ INSERT INTO `eb_system_route` (`id`, `cate_id`, `app_name`, `name`, `describe`, (1692, 183, 'api', '删除发票', '', 'v2/invoice/del/', 'GET', 'app/api/controller/v2/user/UserInvoiceController.php', 'delInvoice', '', '', '', '', '', 0, '2023-05-06 08:12:51', NULL), (1693, 183, 'api', '订单申请开票记录', '', 'v2/order/invoice_list', 'GET', 'app/api/controller/v2/order/StoreOrderInvoiceController.php', 'list', '', '', '', '', '', 0, '2023-05-06 08:12:51', NULL), (1694, 183, 'api', '订单开票详情', '', 'v2/order/invoice_detail/', 'GET', 'app/api/controller/v2/order/StoreOrderInvoiceController.php', 'detail', '', '', '', '', '', 0, '2023-05-06 08:12:51', NULL); +INSERT INTO `eb_system_route` (`id`, `cate_id`, `app_name`, `name`, `describe`, `path`, `method`, `file_path`, `action`, `request`, `request_type`, `response`, `request_example`, `response_example`, `type`, `add_time`, `delete_time`) VALUES +(1696, 91, 'outapi', '用户详情', '获取用户详情', 'user/info/', 'GET', 'app/outapi/controller/User.php', 'userInfo', '[{\"attribute\":\"uid\",\"type\":\"\",\"must\":\"1\",\"trip\":\"\\u7528\\u6237uid\",\"id\":\"row_17\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"uid\",\"type\":\"\",\"trip\":\"\\u7528\\u6237uid\",\"id\":\"row_24\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"real_name\",\"type\":\"\",\"trip\":\"\\u540d\\u79f0\",\"id\":\"row_32\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"nickname\",\"type\":\"\",\"trip\":\"\\u6635\\u79f0\",\"id\":\"row_40\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"avatar\",\"type\":\"\",\"trip\":\"\\u5934\\u50cf\",\"id\":\"row_48\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"phone\",\"type\":\"\",\"trip\":\"\\u7535\\u8bdd\",\"id\":\"row_56\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"now_money\",\"type\":\"\",\"trip\":\"\\u4f59\\u989d\",\"id\":\"row_64\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"brokerage_price\",\"type\":\"\",\"trip\":\"\\u4f63\\u91d1\",\"id\":\"row_72\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integral\",\"type\":\"\",\"trip\":\"\\u79ef\\u5206\",\"id\":\"row_80\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"exp\",\"type\":\"\",\"trip\":\"\\u7ecf\\u9a8c\",\"id\":\"row_88\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"user_type\",\"type\":\"\",\"trip\":\"\\u7528\\u6237\\u7c7b\\u578b\",\"id\":\"row_104\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"status\",\"type\":\"\",\"trip\":\"\\u72b6\\u6001\",\"id\":\"row_112\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"level\",\"type\":\"\",\"trip\":\"\\u7b49\\u7ea7\",\"id\":\"row_120\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"agent_level\",\"type\":\"\",\"trip\":\"\\u5206\\u9500\\u7b49\\u7ea7\",\"id\":\"row_128\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_open\",\"type\":\"\",\"trip\":\"\\u5206\\u9500\\u5f00\\u542f\",\"id\":\"row_136\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_uid\",\"type\":\"\",\"trip\":\"\\u4e0a\\u7ea7uid\",\"id\":\"row_144\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_time\",\"type\":\"\",\"trip\":\"\\u4e0a\\u7ea7\\u6635\\u79f0\",\"id\":\"row_152\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"spread_name\",\"type\":\"\",\"trip\":\"\\u7ed1\\u5b9a\\u65f6\\u95f4\",\"id\":\"row_160\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"add_time\",\"type\":\"\",\"trip\":\"\\u6dfb\\u52a0\\u65f6\\u95f4\",\"id\":\"row_168\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '/user/info/1\n{\n \"money_status\": 1,\n \"money\": \"9.02\",\n \"integration_status\": 1,\n \"integration\": 50,\n \"days\": 1,\n \"coupon\": 0\n}', '{\"status\":\"200\",\"msg\":\"success\",\"data\":{\"data\":{\"uid\":1,\"real_name\":\"\\u5f20\\u4e09\",\"mark\":\"\",\"nickname\":\"CRMEB\",\"avatar\":\"\\/statics\\/system_images\\/default_avatar.jpeg\",\"phone\":\"13000000000\",\"now_money\":\"9744.45\",\"brokerage_price\":\"126.89\",\"integral\":9701,\"exp\":\"3000.00\",\"sign_num\":0,\"user_type\":\"H5\",\"status\":\"\\u6b63\\u5e38\",\"level\":\"V3\",\"agent_level\":\"\\u65e0\",\"spread_open\":\"\\u5206\\u9500\\u5f00\\u542f\",\"spread_uid\":0,\"spread_time\":\"1970-01-01 08:00:00\",\"is_promoter\":1,\"pay_count\":2,\"is_ever_level\":0,\"is_money_level\":0,\"overdue_time\":0,\"add_time\":1642573867,\"spread_name\":\"\\u65e0\"}}}', 0, '2023-07-07 14:42:04', NULL); +INSERT INTO `eb_system_route` (`id`, `cate_id`, `app_name`, `name`, `describe`, `path`, `method`, `file_path`, `action`, `request`, `request_type`, `response`, `request_example`, `response_example`, `type`, `add_time`, `delete_time`) VALUES +(1697, 91, 'outapi', '赠送积分', '', 'user/give_point/', 'GET', 'app/outapi/controller/User.php', 'givePoint', '[{\"attribute\":\"money_status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4f59\\u989d\\u4fee\\u6539\\u7c7b\\u578b 1\\u589e\\u52a0 2\\u51cf\\u5c11\",\"id\":\"row_290\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"money\",\"type\":\"string\",\"must\":\"1\",\"trip\":\"\\u4f59\\u989d 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_297\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integration_status\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u79ef\\u5206\\u4fee\\u6539\\u7c7b\\u578b 1\\u589e\\u52a0 2\\u51cf\\u5c11\",\"id\":\"row_304\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"integration\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u79ef\\u5206 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_311\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"days\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4ed8\\u8d39\\u4f1a\\u5458\\u65f6\\u957f \\u4ee5\\u5929\\u4e3a\\u5355\\u4f4d\\u7d2f\\u52a0 0\\u4e0d\\u66f4\\u65b0\",\"id\":\"row_318\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"coupon\",\"type\":\"number\",\"must\":\"1\",\"trip\":\"\\u4f18\\u60e0\\u5238ID 0\\u4e0d\\u8d60\\u9001\",\"id\":\"row_325\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '', '[{\"attribute\":\"status\",\"type\":\"number\",\"trip\":\"\\u72b6\\u6001\\u7801\",\"id\":\"row_332\",\"_X_ROW_CHILD\":[],\"children\":[]},{\"attribute\":\"msg\",\"type\":\"string\",\"trip\":\"\\u4fe1\\u606f\\u63cf\\u8ff0\",\"id\":\"row_339\",\"_X_ROW_CHILD\":[],\"children\":[]}]', '/user/give_point/1\n{\n \"money_status\": 1,\n \"money\": \"9.02\",\n \"integration_status\": 1,\n \"integration\": 50,\n \"days\": 1,\n \"coupon\": 0\n}', '', 0, '0000-00-00 00:00:00', NULL); + -- -------------------------------------------------------- @@ -49984,6 +49989,7 @@ CREATE TABLE IF NOT EXISTS `eb_system_storage` ( `region` varchar(100) NOT NULL DEFAULT '' COMMENT '地域', `acl` enum('private','public-read','public-read-write') NOT NULL DEFAULT 'public-read' COMMENT '权限', `domain` varchar(100) NOT NULL DEFAULT '' COMMENT '空间域名', + `cdn` varchar(255) NOT NULL DEFAULT '' COMMENT 'CDN加速域名', `cname` varchar(255) NOT NULL DEFAULT '' COMMENT 'CNAME值', `is_ssl` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0=http,1=https', `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态', diff --git a/readme/pic/PHP功能列表.jpg b/readme/pic/PHP功能列表.jpg new file mode 100644 index 000000000..8f0d7e411 Binary files /dev/null and b/readme/pic/PHP功能列表.jpg differ diff --git a/readme/pic/ui.jpg b/readme/pic/ui.jpg new file mode 100644 index 000000000..3308da8bb Binary files /dev/null and b/readme/pic/ui.jpg differ diff --git a/readme/pic/ui2.jpg b/readme/pic/ui2.jpg new file mode 100644 index 000000000..a735a7fa6 Binary files /dev/null and b/readme/pic/ui2.jpg differ diff --git a/readme/pic/ui2_01.jpg b/readme/pic/ui2_01.jpg new file mode 100644 index 000000000..e6abccb5e Binary files /dev/null and b/readme/pic/ui2_01.jpg differ diff --git a/readme/pic/ui2_02.jpg b/readme/pic/ui2_02.jpg new file mode 100644 index 000000000..68081d412 Binary files /dev/null and b/readme/pic/ui2_02.jpg differ diff --git a/readme/pic/ui_01.jpg b/readme/pic/ui_01.jpg new file mode 100644 index 000000000..a9d2a62fd Binary files /dev/null and b/readme/pic/ui_01.jpg differ diff --git a/readme/pic/ui_02.jpg b/readme/pic/ui_02.jpg new file mode 100644 index 000000000..ac8c7234b Binary files /dev/null and b/readme/pic/ui_02.jpg differ diff --git a/readme/pic/小剧场.jpg b/readme/pic/小剧场.jpg new file mode 100644 index 000000000..b79b5da7f Binary files /dev/null and b/readme/pic/小剧场.jpg differ diff --git a/readme/pic/联系我们.jpg b/readme/pic/联系我们.jpg new file mode 100644 index 000000000..1cdd25b33 Binary files /dev/null and b/readme/pic/联系我们.jpg differ diff --git a/template/admin/src/components/goodsList/index.vue b/template/admin/src/components/goodsList/index.vue index 72b461884..ed8e64eea 100644 --- a/template/admin/src/components/goodsList/index.vue +++ b/template/admin/src/components/goodsList/index.vue @@ -13,7 +13,7 @@ v-model="formValidate.cate_id" size="small" :options="treeSelect" - :props="{ emitPath: false }" + :props="{ checkStrictly: true, emitPath: false }" clearable > diff --git a/template/admin/src/components/uploadPictures/index.vue b/template/admin/src/components/uploadPictures/index.vue index baa82f824..ab562e14c 100644 --- a/template/admin/src/components/uploadPictures/index.vue +++ b/template/admin/src/components/uploadPictures/index.vue @@ -402,6 +402,7 @@ export default { pid: this.pids, images: this.ids.toString(), }; + if (!data.images) return; moveApi(data) .then(async (res) => { this.$message.success(res.msg); diff --git a/template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue b/template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue index e06575382..b4719ff81 100644 --- a/template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue +++ b/template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue @@ -67,7 +67,7 @@ 订单备注 已收货 - + 删除订单 diff --git a/template/admin/src/pages/order/orderList/handle/orderDetails.vue b/template/admin/src/pages/order/orderList/handle/orderDetails.vue index 3642b29e2..e2cf8b3a8 100644 --- a/template/admin/src/pages/order/orderList/handle/orderDetails.vue +++ b/template/admin/src/pages/order/orderList/handle/orderDetails.vue @@ -96,9 +96,23 @@ >虚拟发货备注:{{ orderDatalist.orderInfo.fictitious_content }} - + +
商品信息
+ +
+
+ +
+ {{ val.productInfo.store_name + ' | ' + }}{{ val.productInfo.attrInfo ? val.productInfo.attrInfo.suk : '' }} + {{ '¥' + val.truePrice + ' x ' + val.cart_num }} +
+
+
- +
发票信息
发票抬头:{{ orderDatalist.orderInfo.invoice.name }} @@ -150,7 +164,6 @@ 联系邮箱:{{ orderDatalist.orderInfo.invoice.email || '' }} 联系电话:{{ orderDatalist.orderInfo.invoice.user_phone || '' }} -
开票状态:{{ orderDatalist.orderInfo.invoice.is_invoice ? '已开票' : '未开票' }}
- - +
表单信息
diff --git a/template/admin/src/pages/product/productList/index.vue b/template/admin/src/pages/product/productList/index.vue index a2c72edda..d0cfbc990 100644 --- a/template/admin/src/pages/product/productList/index.vue +++ b/template/admin/src/pages/product/productList/index.vue @@ -13,11 +13,6 @@ - { - console.log(err); - this.$message.error(err); + this.$message.error(err.msg); }); } catch (error) { console.log(error); @@ -696,7 +695,7 @@ export default { this.formValidate = res.data; }) .catch((err) => { - this.$message.error(err); + this.$message.error(err.msg); }); }, async handleSubmit() { @@ -718,7 +717,7 @@ export default { this.getRoteData(this.paramsId); }) .catch((err) => { - this.$message.error(err); + this.$message.error(err.msg); }); }, async insertEvent(type) { @@ -833,7 +832,7 @@ export default { this.getInterfaceList(); }) .catch((err) => { - this.$message.error(err); + this.$message.error(err.msg); }); }, //侧边栏右键点击事件 @@ -938,7 +937,7 @@ export default { node.remove(); }) .catch((err) => { - this.$message.error(err); + this.$message.error(err.msg); }); }, onCancel: () => {}, @@ -956,7 +955,7 @@ export default { this.$message.success(res.msg); }) .catch((err) => { - this.$message.error(err); + this.$message.error(err.msg); }); } }, diff --git a/template/admin/src/styles/style.css b/template/admin/src/styles/style.css index 940987c10..b65eb23a2 100644 --- a/template/admin/src/styles/style.css +++ b/template/admin/src/styles/style.css @@ -213,8 +213,9 @@ body { font-size: 13px; padding: 10px 5px !important; } - -.ivu-form .ivu-form-item-label, +.ivu-form .ivu-form-item-label { + font-size: 12px !important; +} .ivu-radio-group-button .ivu-radio-wrapper, .ivu-table { font-size: 13px !important; diff --git a/template/uni-app/components/productWindow/index.vue b/template/uni-app/components/productWindow/index.vue index bdcd5758c..2638d9544 100644 --- a/template/uni-app/components/productWindow/index.vue +++ b/template/uni-app/components/productWindow/index.vue @@ -151,7 +151,7 @@ * */ bindCode: function(e) { - this.$emit('iptCartNum', this.attr.productSelect.cart_num); + this.$emit('iptCartNum', e); }, closeAttr: function() { this.$emit('myevent'); diff --git a/template/uni-app/config/app.js b/template/uni-app/config/app.js index 7ebce379f..6e3b9007d 100644 --- a/template/uni-app/config/app.js +++ b/template/uni-app/config/app.js @@ -13,7 +13,7 @@ module.exports = { // 后台版本号 - SYSTEM_VERSION: 510, + SYSTEM_VERSION: 520, // 以下配置在不做二开的前提下,不需要做任何的修改 HEADER: { diff --git a/template/uni-app/pages/goods_details/index.vue b/template/uni-app/pages/goods_details/index.vue index 43c91200c..7591d087e 100644 --- a/template/uni-app/pages/goods_details/index.vue +++ b/template/uni-app/pages/goods_details/index.vue @@ -806,7 +806,15 @@ * */ iptCartNum: function(e) { - this.$set(this.attr.productSelect, "cart_num", e); + if (e) { + let number = 1 + if (Number.isInteger(parseInt(e)) && parseInt(e) > 0) { + number = parseInt(e); + } + this.$nextTick(e => { + this.$set(this.attr.productSelect, "cart_num", e < 0 ? 1 : number); + }) + } }, // 后退 returns() { diff --git a/template/uni-app/pages/users/promoter-list/index.vue b/template/uni-app/pages/users/promoter-list/index.vue index 56707f3b9..9354ceb49 100644 --- a/template/uni-app/pages/users/promoter-list/index.vue +++ b/template/uni-app/pages/users/promoter-list/index.vue @@ -18,7 +18,7 @@ --> - diff --git a/template/uni-app/pages/users/promoter-order/index.vue b/template/uni-app/pages/users/promoter-order/index.vue index 468687318..f597dcfac 100644 --- a/template/uni-app/pages/users/promoter-order/index.vue +++ b/template/uni-app/pages/users/promoter-order/index.vue @@ -4,7 +4,7 @@ - {{$t(`累积推广订单`)}} + {{$t(`累计推广订单`)}} {{count || 0}}{{$t(`单`)}} @@ -34,9 +34,7 @@ {{$t(`订单编号`)}}:{{child.order_id}} - {{$t(`返佣时间`)}}:{{child.time}} - {{$t(`下单时间`)}}:{{child.time}} + {{$t(`下单时间`)}}:{{child.time}} {{child.open?$t(`收起`):$t(`更多`)}} diff --git a/template/uni-app/pages/users/wechat_login/index.vue b/template/uni-app/pages/users/wechat_login/index.vue index b0e010a20..dd0b978f1 100644 --- a/template/uni-app/pages/users/wechat_login/index.vue +++ b/template/uni-app/pages/users/wechat_login/index.vue @@ -22,11 +22,11 @@ + class="bg-green btn1">{{$t(`授权登录`)}} + class="bg-green btn1">{{$t(`授权登录`)}} + class="bg-green btn1">{{$t(`授权登录`)}}