Coder Social home page Coder Social logo

didilinkin / react-admin-antd Goto Github PK

View Code? Open in Web Editor NEW
63.0 7.0 17.0 9.6 MB

(原始版本在 - Router 分支)基于React-Antd的后台管理系统; 将使用webpack3+Redux+React-router4+styled-components+ESlint4(目前为测试数据, 非正式)

License: MIT License

JavaScript 96.37% HTML 0.16% Dockerfile 0.02% Less 3.45%
react redux react-router-v4 react-router-redux redux-devtools redux-logger webpack3 eslint standard styled-components

react-admin-antd's Introduction

长江中心 - 物业管理系统 - V2.0版本

脚手架模型来自 react-admin

NPM 版本请 升级到 5.0.3 以上

Nodejs 版本 尽量使用 7.9.0 版本(可能在 node v8 版本有错误; 不推荐使用 v8以上)

开发环境, 请务必使用 chrome 作为调试浏览器; 并且安装 react-devtoolsredux-devtools 调试插件;

因登录验证为 项目局域网内进行验证所以需要进行配置 Local Storage服务. 详细方法

使用技术:

全家桶 作用 版本
react 视图库 15.6.1
redux 状态管理 3.7.1
react-redux Redux的 React 绑定库 5.0.5
react-router-4             路由管理         4.1.1
react-router-redux 路由状态 5.0.0-alpha.6
react-router-config 静态路由配置 1.0.0-beta.3
开发依赖 作用 版本
ant-design UI框架 2.10.4
axios 交互处理 0.16.1
less 样式预处理器(AntD) 2.7.2
history 路由历史 4.6.3
webpack 模块打包 1.14.0
babel ES6转译ES5 6.24.1
mockjs 模拟接口 1.0.1-beta3
Elf-ES ES版本Elf(管理样式) 2.2.1
lodash 实用工具库 4.17.4
styled-components CSS in JS实现方法 2.0.0
polished JS风格的轻量样式工具集 1.1.3
store.js 操作local storage 2.0.12

使用插件:

插件名称 作用 版本
babel-plugin-import AntD 加载组件模块 1.2.1
echarts-for-react 基于React对echarts封装的可视化图表 1.4.1
nprogress 顶部加载条 0.2.0
react-draft-wysiwyg ReactJS和DraftJS库构建的Wysiwyg编辑器 1.10.0
react-draggable 拖拽模块(简单版) 2.2.6
react-quill React的 Quill组件(富文本) 1.0.0-rc.2
recharts 另一个基于React封装的echarts图表(备用) 1.0.0-alpha.0
screenfull 全屏插件 3.2.0
animate.css CSS3 动画功能 3.5.2
qs 字符串解析库(配合axios) 6.4.0
moment JS处理 / 操作 / 转换 时间日期 2.18.1
hotcss 移动端布局终极解决方案 2.2.1

目录结构

借鉴: Redux + React 应用程序架构的 3 条规范(内附实例)

借鉴: React + Redux 最佳实践

借鉴: Redux状态管理之痛点、分析与改良

├── build /                         # 打包的文件目录
├── config /                        # webpack配置
├—— node_modules /                  # npm安装依赖目录
├── public /                        # 静态文件
│   ├── favicon.ico                 |   # 网页图标
│   ├── index.html                  |   # 入口 HTML文件
│   ├── npm.json                    |   # echarts测试数据
│   └── weibo.json                  |   # echarts测试数据
├── scripts /                       # webpack 配置文件
│   ├── build.js                    |   # webpack - '打包'配置
│   ├── start.js                    |   # webpack - '开发'配置
│   └── test.js                     |   # webpack - '测试'配置
├── src /                           # 开发目录
│   └── index.js                    |   # 项目的整体js入口文件, 配置插件
├── .babelrc                        # Babel 配置
├── .editorconfig                   # 统一编辑器配置
├── .env                            # 启动项目自定义端口配置文件
├── .eslintrc.js                    # ES( js / jsx ) 语法纠错
├── .eslintignore                   # 纠错忽略 配置
├── .gitignore                      # git忽略 配置
├── LICENSE                         # GPL3.0
├── package-lock.json               # NPM 依赖包 版本锁
├── package.json                    # 项目 配置
├── README.md                       # 项目 说明
├── .postcssrc.js                   # Postcss 配置
├── tsconfig.json                   # TypeScript 配置(已配置好 - 未使用)
├── tslint.json                     # TSlint(TS) 语法纠错(已配置好 - 未使用)
└── yarn.lock                       # Yarn 依赖包版本锁


登录验证, Local Storage配置 方法

chrome 点击 F12, 在 调试台选择 Application 选项. 配置 KeyValue

// key          :       value
isAuthenticate: true
token: 0b4c544c-ca0b-4c09-94eb-e27a16593823
PermissionsList: [{"id":1,"menuNumber":1,"menuName":"系统管理","permissionCode":"sys:view","menuType":1,"menuImg":"fa-cog","menuUrl":"","sort":10,"parentId":3,"delFlag":true,"createBy":null,"createDate":null,"updateBy":null,"updateDate":null},{"id":17,"menuNumber":2,"menuName":"角色管理","permissionCode":"user:view","menuType":2,"menuImg":"","menuUrl":"/sys/role","sort":1,"parentId":1,"delFlag":true,"createBy":null,"createDate":1487908425000,"updateBy":null,"updateDate":null},{"id":19,"menuNumber":3,"menuName":"角色修改","permissionCode":"role:up","menuType":3,"menuImg":"","menuUrl":"/role","sort":33,"parentId":17,"delFlag":true,"createBy":null,"createDate":1487995337000,"updateBy":null,"updateDate":null},{"id":20,"menuNumber":3,"menuName":"角色添加","permissionCode":"role:save","menuType":3,"menuImg":"","menuUrl":"222","sort":44,"parentId":17,"delFlag":true,"createBy":null,"createDate":1487995370000,"updateBy":null,"updateDate":null},{"id":21,"menuNumber":2,"menuName":"部门管理","permissionCode":"department:view","menuType":2,"menuImg":"","menuUrl":"/sys/department","sort":2,"parentId":1,"delFlag":true,"createBy":null,"createDate":1488176482000,"updateBy":null,"updateDate":null},{"id":22,"menuNumber":3,"menuName":"部门添加","permissionCode":"department:save","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":21,"delFlag":true,"createBy":null,"createDate":1488176542000,"updateBy":null,"updateDate":null},{"id":23,"menuNumber":3,"menuName":"部门编辑","permissionCode":"department:up","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":21,"delFlag":true,"createBy":null,"createDate":1488176566000,"updateBy":null,"updateDate":null},{"id":24,"menuNumber":2,"menuName":"登录账号","permissionCode":"user:view","menuType":2,"menuImg":"","menuUrl":"/sys/carousel","sort":3,"parentId":1,"delFlag":true,"createBy":null,"createDate":1488176740000,"updateBy":null,"updateDate":null},{"id":25,"menuNumber":3,"menuName":"账号添加","permissionCode":"user:save","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":24,"delFlag":true,"createBy":null,"createDate":1488176782000,"updateBy":null,"updateDate":null},{"id":26,"menuNumber":3,"menuName":"账号编辑","permissionCode":"user:up","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":24,"delFlag":true,"createBy":null,"createDate":1488176810000,"updateBy":null,"updateDate":null},{"id":27,"menuNumber":3,"menuName":"账号删除","permissionCode":"user:delete","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":24,"delFlag":true,"createBy":null,"createDate":1488176836000,"updateBy":null,"updateDate":null},{"id":28,"menuNumber":2,"menuName":"数据字典","permissionCode":"dict:view","menuType":2,"menuImg":"","menuUrl":"/sys/dict","sort":4,"parentId":1,"delFlag":true,"createBy":null,"createDate":1488176888000,"updateBy":null,"updateDate":null},{"id":29,"menuNumber":3,"menuName":"字典添加","permissionCode":"dict:save","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":28,"delFlag":true,"createBy":null,"createDate":1488176918000,"updateBy":null,"updateDate":null},{"id":30,"menuNumber":3,"menuName":"字典修改","permissionCode":"dict:up","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":28,"delFlag":true,"createBy":null,"createDate":1488176945000,"updateBy":null,"updateDate":null},{"id":31,"menuNumber":3,"menuName":"字典删除","permissionCode":"dict:delete","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":28,"delFlag":true,"createBy":null,"createDate":1488176973000,"updateBy":null,"updateDate":null},{"id":32,"menuNumber":2,"menuName":"操作日志","permissionCode":"log:view","menuType":2,"menuImg":"","menuUrl":"/sys/log","sort":5,"parentId":1,"delFlag":true,"createBy":null,"createDate":1488177014000,"updateBy":null,"updateDate":null},{"id":33,"menuNumber":2,"menuName":"菜单管理","permissionCode":"menu:view","menuType":2,"menuImg":"","menuUrl":"/sys/menu","sort":6,"parentId":1,"delFlag":true,"createBy":null,"createDate":1488177043000,"updateBy":null,"updateDate":null},{"id":34,"menuNumber":3,"menuName":"菜单添加","permissionCode":"menu:save","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":33,"delFlag":true,"createBy":null,"createDate":1488177069000,"updateBy":null,"updateDate":null},{"id":35,"menuNumber":3,"menuName":"菜单编辑","permissionCode":"menu:up","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":33,"delFlag":true,"createBy":null,"createDate":1488177101000,"updateBy":null,"updateDate":null},{"id":36,"menuNumber":3,"menuName":"菜单删除","permissionCode":"menu:delete","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":33,"delFlag":true,"createBy":null,"createDate":1488177135000,"updateBy":null,"updateDate":null},{"id":47,"menuNumber":1,"menuName":"财务管理","permissionCode":"finance:*","menuType":1,"menuImg":"fa-credit-card","menuUrl":"","sort":8,"parentId":3,"delFlag":true,"createBy":null,"createDate":1488243891000,"updateBy":null,"updateDate":null},{"id":48,"menuNumber":2,"menuName":"财务设置","permissionCode":"finace:view","menuType":2,"menuImg":"","menuUrl":"/sys/dict/finace","sort":15,"parentId":47,"delFlag":true,"createBy":null,"createDate":1488243938000,"updateBy":null,"updateDate":null},{"id":65,"menuNumber":3,"menuName":"水费审核","permissionCode":"shuifei","menuType":2,"menuImg":"","menuUrl":"/water/waterBillReviewed","sort":9,"parentId":47,"delFlag":true,"createBy":null,"createDate":1488619622000,"updateBy":null,"updateDate":null},{"id":165,"menuNumber":4,"menuName":"收款","permissionCode":"water:receivables","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":65,"delFlag":true,"createBy":null,"createDate":1494588564000,"updateBy":null,"updateDate":null},{"id":166,"menuNumber":4,"menuName":"开票","permissionCode":"water:billing","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":65,"delFlag":true,"createBy":null,"createDate":1494588631000,"updateBy":null,"updateDate":null},{"id":169,"menuNumber":4,"menuName":"违约金收款","permissionCode":"water:penaltyReceivables","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":65,"delFlag":true,"createBy":null,"createDate":1494589000000,"updateBy":null,"updateDate":null},{"id":170,"menuNumber":4,"menuName":"违约金开票","permissionCode":"water:penaltybilling","menuType":3,"menuImg":"","menuUrl":"","sort":4,"parentId":65,"delFlag":true,"createBy":null,"createDate":1494589058000,"updateBy":null,"updateDate":1494932357000},{"id":70,"menuNumber":2,"menuName":"租金审核","permissionCode":"rrrt","menuType":2,"menuImg":"","menuUrl":"collectRent/searchFinance","sort":1,"parentId":47,"delFlag":true,"createBy":null,"createDate":1488856006000,"updateBy":null,"updateDate":null},{"id":158,"menuNumber":3,"menuName":"租金收款","permissionCode":"collectRentPaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":70,"delFlag":true,"createBy":null,"createDate":1492161703000,"updateBy":null,"updateDate":null},{"id":174,"menuNumber":3,"menuName":"租金开票","permissionCode":"collectRentInvoice","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":70,"delFlag":true,"createBy":null,"createDate":1494812368000,"updateBy":null,"updateDate":1494932369000},{"id":175,"menuNumber":3,"menuName":"租金违约金收费","permissionCode":"collectRentLatePaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":70,"delFlag":true,"createBy":null,"createDate":1494812404000,"updateBy":null,"updateDate":1494932373000},{"id":176,"menuNumber":3,"menuName":"租金违约金开票","permissionCode":"collectRentLateInvoice","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":70,"delFlag":true,"createBy":null,"createDate":1494812433000,"updateBy":null,"updateDate":1494932376000},{"id":71,"menuNumber":2,"menuName":"租赁保证金审核","permissionCode":"fsgd","menuType":2,"menuImg":"","menuUrl":"/cashDeposit/cashDepositRentAudit","sort":11,"parentId":47,"delFlag":true,"createBy":null,"createDate":1488856387000,"updateBy":null,"updateDate":null},{"id":177,"menuNumber":3,"menuName":"租赁保证金财务审核","permissionCode":"cashDepositRentPaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":71,"delFlag":true,"createBy":null,"createDate":1494827547000,"updateBy":null,"updateDate":1494932380000},{"id":72,"menuNumber":2,"menuName":"能源管理押金审核","permissionCode":"rwer","menuType":2,"menuImg":"","menuUrl":"/cashDeposit/cashDepositPmAudit","sort":12,"parentId":47,"delFlag":true,"createBy":null,"createDate":1488856448000,"updateBy":null,"updateDate":null},{"id":178,"menuNumber":3,"menuName":"物业保证金财务审核","permissionCode":"cashDepositPmPaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":72,"delFlag":true,"createBy":null,"createDate":1494827593000,"updateBy":null,"updateDate":1494932384000},{"id":80,"menuNumber":2,"menuName":"物业费审核","permissionCode":"sss","menuType":2,"menuImg":"","menuUrl":"/propertyFee/searchFinance","sort":5,"parentId":47,"delFlag":true,"createBy":null,"createDate":1488884502000,"updateBy":null,"updateDate":null},{"id":131,"menuNumber":3,"menuName":"物业费作废","permissionCode":"cancellation","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":80,"delFlag":true,"createBy":null,"createDate":1491471907000,"updateBy":null,"updateDate":null},{"id":157,"menuNumber":3,"menuName":"物业收款","permissionCode":"propertyPaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":80,"delFlag":true,"createBy":null,"createDate":1492160516000,"updateBy":null,"updateDate":null},{"id":171,"menuNumber":3,"menuName":"物业费开票","permissionCode":"propertyInvoice","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":80,"delFlag":true,"createBy":null,"createDate":1494812098000,"updateBy":null,"updateDate":1494932353000},{"id":172,"menuNumber":3,"menuName":"物业费违约金收费","permissionCode":"propertyLatePaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":80,"delFlag":true,"createBy":null,"createDate":1494812194000,"updateBy":null,"updateDate":1494932362000},{"id":173,"menuNumber":3,"menuName":"物业费违约金开票","permissionCode":"propertyLateInvoice","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":80,"delFlag":true,"createBy":null,"createDate":1494812226000,"updateBy":null,"updateDate":1494932366000},{"id":84,"menuNumber":2,"menuName":"电费审核","permissionCode":"dfsh","menuType":2,"menuImg":"","menuUrl":"/electricityFees/electricityFeesExamine","sort":7,"parentId":47,"delFlag":true,"createBy":null,"createDate":1489814329000,"updateBy":null,"updateDate":null},{"id":163,"menuNumber":3,"menuName":"收费","permissionCode":"electricity:receivables","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":84,"delFlag":true,"createBy":null,"createDate":1494588448000,"updateBy":null,"updateDate":null},{"id":164,"menuNumber":3,"menuName":"开票","permissionCode":"electricity:billing","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":84,"delFlag":true,"createBy":null,"createDate":1494588502000,"updateBy":null,"updateDate":null},{"id":167,"menuNumber":3,"menuName":"违约金收款","permissionCode":"electricity:penaltyReceivables","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":84,"delFlag":true,"createBy":null,"createDate":1494588838000,"updateBy":null,"updateDate":null},{"id":168,"menuNumber":3,"menuName":"违约金开票","permissionCode":"electricity:penaltybilling","menuType":3,"menuImg":"","menuUrl":"","sort":4,"parentId":84,"delFlag":true,"createBy":null,"createDate":1494588930000,"updateBy":null,"updateDate":null},{"id":103,"menuNumber":2,"menuName":"二次装修审核","permissionCode":"fdfd","menuType":2,"menuImg":"","menuUrl":"secondDecorate/searchFinance","sort":10,"parentId":47,"delFlag":true,"createBy":null,"createDate":1490777730000,"updateBy":null,"updateDate":null},{"id":180,"menuNumber":3,"menuName":"二次装修财务审核","permissionCode":"secondDecoratePaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":103,"delFlag":true,"createBy":null,"createDate":1494902249000,"updateBy":null,"updateDate":1494932390000},{"id":181,"menuNumber":2,"menuName":"欢乐颂管理押金审核","permissionCode":"dddddddddd","menuType":2,"menuImg":"","menuUrl":"/cashDeposit/cashDepositSongAudit","sort":13,"parentId":47,"delFlag":true,"createBy":null,"createDate":1496775233000,"updateBy":null,"updateDate":null},{"id":182,"menuNumber":3,"menuName":"财务审核","permissionCode":"cashDepositSongPaid","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":181,"delFlag":true,"createBy":null,"createDate":1496775296000,"updateBy":null,"updateDate":null},{"id":50,"menuNumber":1,"menuName":"客户管理","permissionCode":"search:*","menuType":1,"menuImg":"fa-address-card-o","menuUrl":"","sort":5,"parentId":3,"delFlag":true,"createBy":null,"createDate":1488244379000,"updateBy":null,"updateDate":null},{"id":51,"menuNumber":2,"menuName":"客户资料","permissionCode":"customer:view","menuType":2,"menuImg":"","menuUrl":"/customer/search","sort":1,"parentId":50,"delFlag":true,"createBy":null,"createDate":1488244424000,"updateBy":null,"updateDate":null},{"id":136,"menuNumber":3,"menuName":"添加客户","permissionCode":"addCustomer","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":51,"delFlag":true,"createBy":null,"createDate":1492153302000,"updateBy":null,"updateDate":null},{"id":137,"menuNumber":3,"menuName":"修改客户","permissionCode":"editCustomer","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":51,"delFlag":true,"createBy":null,"createDate":1492153330000,"updateBy":null,"updateDate":null},{"id":154,"menuNumber":3,"menuName":"删除客户","permissionCode":"deleteCustomer","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":51,"delFlag":true,"createBy":null,"createDate":1492153425000,"updateBy":null,"updateDate":null},{"id":52,"menuNumber":2,"menuName":"合同管理","permissionCode":"rentContract:view","menuType":2,"menuImg":"","menuUrl":"/rentContract/search","sort":3,"parentId":50,"delFlag":true,"createBy":null,"createDate":1488244469000,"updateBy":null,"updateDate":null},{"id":104,"menuNumber":3,"menuName":"添加合同","permissionCode":"addContract","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":52,"delFlag":true,"createBy":null,"createDate":1490944019000,"updateBy":null,"updateDate":null},{"id":105,"menuNumber":3,"menuName":"修改合同","permissionCode":"enditContract","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":52,"delFlag":true,"createBy":null,"createDate":1490944203000,"updateBy":null,"updateDate":null},{"id":106,"menuNumber":3,"menuName":"编辑转租信息","permissionCode":"editSublet","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":52,"delFlag":true,"createBy":null,"createDate":1490944938000,"updateBy":null,"updateDate":null},{"id":107,"menuNumber":3,"menuName":"添加转租信息","permissionCode":"addSublet","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":52,"delFlag":true,"createBy":null,"createDate":1490945010000,"updateBy":null,"updateDate":null},{"id":108,"menuNumber":3,"menuName":"删除转租信息","permissionCode":"deleteSublet","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":52,"delFlag":true,"createBy":null,"createDate":1490945023000,"updateBy":null,"updateDate":null},{"id":109,"menuNumber":3,"menuName":"终止合同","permissionCode":"stopContract","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":52,"delFlag":true,"createBy":null,"createDate":1490945391000,"updateBy":null,"updateDate":null},{"id":183,"menuNumber":3,"menuName":"变更合同","permissionCode":"contractEditPm","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":52,"delFlag":true,"createBy":null,"createDate":1498029123000,"updateBy":null,"updateDate":1498057975000},{"id":53,"menuNumber":2,"menuName":"门禁卡管理","permissionCode":"elevatorCard:view","menuType":2,"menuImg":"","menuUrl":"/elevatorCard/search","sort":5,"parentId":50,"delFlag":true,"createBy":null,"createDate":1488244518000,"updateBy":null,"updateDate":null},{"id":110,"menuNumber":3,"menuName":"添加门禁卡","permissionCode":"addETcard","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":53,"delFlag":true,"createBy":null,"createDate":1490945583000,"updateBy":null,"updateDate":null},{"id":111,"menuNumber":3,"menuName":"修改门禁卡","permissionCode":"editETcard","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":53,"delFlag":true,"createBy":null,"createDate":1490945610000,"updateBy":null,"updateDate":null},{"id":112,"menuNumber":3,"menuName":"退门禁卡","permissionCode":"deleteETcard","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":53,"delFlag":true,"createBy":null,"createDate":1490945638000,"updateBy":null,"updateDate":null},{"id":54,"menuNumber":2,"menuName":"门禁卡押金","permissionCode":"elevatorCardDeposit:view","menuType":2,"menuImg":"","menuUrl":"/elevatorCardDeposit/search","sort":7,"parentId":50,"delFlag":true,"createBy":null,"createDate":1488244550000,"updateBy":null,"updateDate":null},{"id":73,"menuNumber":2,"menuName":"保证金管理","permissionCode":"cfsf","menuType":2,"menuImg":"","menuUrl":"/cashDeposit/searchCashDeposit","sort":9,"parentId":50,"delFlag":true,"createBy":null,"createDate":1488856510000,"updateBy":null,"updateDate":null},{"id":126,"menuNumber":3,"menuName":"保证金扣款","permissionCode":"chargeCashDeposit","menuType":1,"menuImg":"","menuUrl":"","sort":null,"parentId":73,"delFlag":true,"createBy":null,"createDate":1491471349000,"updateBy":null,"updateDate":null},{"id":127,"menuNumber":3,"menuName":"保证金退款","permissionCode":"refundCashDeposit","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":73,"delFlag":true,"createBy":null,"createDate":1491471483000,"updateBy":null,"updateDate":null},{"id":56,"menuNumber":1,"menuName":"收费管理","permissionCode":"charge:*","menuType":1,"menuImg":"fa-calendar-check-o","menuUrl":"","sort":1,"parentId":3,"delFlag":true,"createBy":null,"createDate":1488273034000,"updateBy":null,"updateDate":null},{"id":57,"menuNumber":2,"menuName":"抄表水费","permissionCode":"read:*","menuType":2,"menuImg":"","menuUrl":"/water/waterbill","sort":7,"parentId":56,"delFlag":true,"createBy":null,"createDate":1488273143000,"updateBy":null,"updateDate":null},{"id":58,"menuNumber":3,"menuName":"水费查询","permissionCode":"aterrates:view","menuType":2,"menuImg":"","menuUrl":"/water/waterFee","sort":1,"parentId":57,"delFlag":true,"createBy":null,"createDate":1488273237000,"updateBy":null,"updateDate":null},{"id":86,"menuNumber":4,"menuName":"审核中","permissionCode":"waterAudit","menuType":2,"menuImg":"","menuUrl":"","sort":2,"parentId":58,"delFlag":true,"createBy":null,"createDate":1490666823000,"updateBy":null,"updateDate":null},{"id":87,"menuNumber":4,"menuName":"审核失败","permissionCode":"waterAuditFailure","menuType":2,"menuImg":"","menuUrl":"","sort":3,"parentId":58,"delFlag":true,"createBy":null,"createDate":1490666858000,"updateBy":null,"updateDate":null},{"id":94,"menuNumber":5,"menuName":"重新发起","permissionCode":"waterLaunchtwo","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":87,"delFlag":true,"createBy":null,"createDate":1490765091000,"updateBy":null,"updateDate":null},{"id":88,"menuNumber":4,"menuName":"审核成功","permissionCode":"waterAuditSuccess","menuType":2,"menuImg":"","menuUrl":"","sort":4,"parentId":58,"delFlag":true,"createBy":null,"createDate":1490666896000,"updateBy":null,"updateDate":null},{"id":90,"menuNumber":4,"menuName":"待发起","permissionCode":"waterPendingLaunch","menuType":2,"menuImg":"","menuUrl":"","sort":1,"parentId":58,"delFlag":true,"createBy":null,"createDate":1490764690000,"updateBy":null,"updateDate":null},{"id":91,"menuNumber":5,"menuName":"添加电费","permissionCode":"addWater","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":90,"delFlag":true,"createBy":null,"createDate":1490764854000,"updateBy":null,"updateDate":null},{"id":92,"menuNumber":5,"menuName":"重新发起","permissionCode":"waterLaunch","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":90,"delFlag":true,"createBy":null,"createDate":1490764928000,"updateBy":null,"updateDate":null},{"id":93,"menuNumber":5,"menuName":"发起审核","permissionCode":"waterLaunchExamine","menuType":3,"menuImg":"","menuUrl":"","sort":4,"parentId":90,"delFlag":true,"createBy":null,"createDate":1490765012000,"updateBy":null,"updateDate":null},{"id":59,"menuNumber":3,"menuName":"水费记录","permissionCode":"water:ist:view","menuType":2,"menuImg":"","menuUrl":"/water/waterFeeList","sort":2,"parentId":57,"delFlag":true,"createBy":null,"createDate":1488273283000,"updateBy":null,"updateDate":null},{"id":74,"menuNumber":2,"menuName":"应收租金","permissionCode":"asfa","menuType":2,"menuImg":"","menuUrl":"/collectRent/search","sort":3,"parentId":56,"delFlag":true,"createBy":null,"createDate":1488856556000,"updateBy":null,"updateDate":null},{"id":75,"menuNumber":3,"menuName":"应收租金","permissionCode":"wer","menuType":2,"menuImg":"","menuUrl":"/collectRent/search","sort":1,"parentId":74,"delFlag":true,"createBy":null,"createDate":1488856600000,"updateBy":null,"updateDate":null},{"id":118,"menuNumber":4,"menuName":"收租","permissionCode":"openRentPaidWind","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":75,"delFlag":true,"createBy":null,"createDate":1491469374000,"updateBy":null,"updateDate":null},{"id":119,"menuNumber":4,"menuName":"重新收租","permissionCode":"openRentPaidWindAgain","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":75,"delFlag":true,"createBy":null,"createDate":1491469862000,"updateBy":null,"updateDate":null},{"id":76,"menuNumber":3,"menuName":"租金记录","permissionCode":"asdfas","menuType":2,"menuImg":"","menuUrl":"/collectRent/layout","sort":2,"parentId":74,"delFlag":true,"createBy":null,"createDate":1488856636000,"updateBy":null,"updateDate":null},{"id":77,"menuNumber":2,"menuName":"应收物业费","permissionCode":"propertyFee:view","menuType":2,"menuImg":"","menuUrl":"/propertyFee/search","sort":2,"parentId":56,"delFlag":true,"createBy":null,"createDate":1488863409000,"updateBy":null,"updateDate":null},{"id":78,"menuNumber":3,"menuName":"应收物业费","permissionCode":"/propertyFee/search","menuType":1,"menuImg":"","menuUrl":"/propertyFee/search","sort":1,"parentId":77,"delFlag":true,"createBy":null,"createDate":1488863836000,"updateBy":null,"updateDate":null},{"id":120,"menuNumber":4,"menuName":"收物业费","permissionCode":"openPropertyPaidWind","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":78,"delFlag":true,"createBy":null,"createDate":1491470109000,"updateBy":null,"updateDate":null},{"id":121,"menuNumber":4,"menuName":"重新收物业费","permissionCode":"openPropertyPaidWindAgain","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":78,"delFlag":true,"createBy":null,"createDate":1491470189000,"updateBy":null,"updateDate":null},{"id":132,"menuNumber":4,"menuName":"提交到财务审核","permissionCode":"updatePmPaid","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":78,"delFlag":true,"createBy":null,"createDate":1491804254000,"updateBy":null,"updateDate":null},{"id":179,"menuNumber":4,"menuName":"物业费删除","permissionCode":"deletePropertyFee","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":78,"delFlag":true,"createBy":null,"createDate":1494900296000,"updateBy":null,"updateDate":1494932388000},{"id":79,"menuNumber":3,"menuName":"物业费记录","permissionCode":"ass","menuType":1,"menuImg":"","menuUrl":"/propertyFee/layout","sort":2,"parentId":77,"delFlag":true,"createBy":null,"createDate":1488875972000,"updateBy":null,"updateDate":null},{"id":81,"menuNumber":2,"menuName":"抄表电费","permissionCode":"chaobiaodianfei","menuType":2,"menuImg":"","menuUrl":"/electricityFees/electricityFees","sort":5,"parentId":56,"delFlag":true,"createBy":null,"createDate":1489556498000,"updateBy":null,"updateDate":null},{"id":82,"menuNumber":3,"menuName":"电费查询","permissionCode":"dianfeichaxun","menuType":2,"menuImg":"","menuUrl":"/electricityFees/electricityFees","sort":1,"parentId":81,"delFlag":true,"createBy":null,"createDate":1489556555000,"updateBy":null,"updateDate":null},{"id":95,"menuNumber":4,"menuName":"待发起","permissionCode":"electricPendingLaunch","menuType":2,"menuImg":"","menuUrl":"","sort":1,"parentId":82,"delFlag":true,"createBy":null,"createDate":1490765348000,"updateBy":null,"updateDate":null},{"id":99,"menuNumber":5,"menuName":"添加电费","permissionCode":"addElectric","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":95,"delFlag":true,"createBy":null,"createDate":1490766234000,"updateBy":null,"updateDate":null},{"id":100,"menuNumber":5,"menuName":"重新发起","permissionCode":"electricLaunch","menuType":3,"menuImg":"","menuUrl":"","sort":3,"parentId":95,"delFlag":true,"createBy":null,"createDate":1490766302000,"updateBy":null,"updateDate":null},{"id":101,"menuNumber":5,"menuName":"发起审核","permissionCode":"electricExamine","menuType":3,"menuImg":"","menuUrl":"","sort":4,"parentId":95,"delFlag":true,"createBy":null,"createDate":1490766356000,"updateBy":null,"updateDate":null},{"id":96,"menuNumber":4,"menuName":"审核中","permissionCode":"electricAudit","menuType":2,"menuImg":"","menuUrl":"","sort":2,"parentId":82,"delFlag":true,"createBy":null,"createDate":1490765525000,"updateBy":null,"updateDate":null},{"id":97,"menuNumber":4,"menuName":"审核失败","permissionCode":"electricAuditFailure","menuType":2,"menuImg":"","menuUrl":"","sort":3,"parentId":82,"delFlag":true,"createBy":null,"createDate":1490766054000,"updateBy":null,"updateDate":null},{"id":102,"menuNumber":5,"menuName":"重新发起","permissionCode":"electricLaunchtwo","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":97,"delFlag":true,"createBy":null,"createDate":1490766386000,"updateBy":null,"updateDate":null},{"id":98,"menuNumber":4,"menuName":"审核成功","permissionCode":"electricAuditSuccess","menuType":2,"menuImg":"","menuUrl":"","sort":4,"parentId":82,"delFlag":true,"createBy":null,"createDate":1490766118000,"updateBy":null,"updateDate":null},{"id":83,"menuNumber":3,"menuName":"电费记录","permissionCode":"dfjl","menuType":2,"menuImg":"","menuUrl":"/electricityFees/electricityFeesAll","sort":2,"parentId":81,"delFlag":true,"createBy":null,"createDate":1489813420000,"updateBy":null,"updateDate":null},{"id":89,"menuNumber":2,"menuName":"二次装修","permissionCode":"rer","menuType":2,"menuImg":"","menuUrl":"/secondDecorate/search","sort":9,"parentId":56,"delFlag":true,"createBy":null,"createDate":1490755126000,"updateBy":null,"updateDate":null},{"id":128,"menuNumber":3,"menuName":"添加二次装修","permissionCode":"addSecondDecorate","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":89,"delFlag":true,"createBy":null,"createDate":1491471712000,"updateBy":null,"updateDate":null},{"id":129,"menuNumber":3,"menuName":"二次装修扣款","permissionCode":"chargeSecondDecorate","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":89,"delFlag":true,"createBy":null,"createDate":1491471804000,"updateBy":null,"updateDate":null},{"id":130,"menuNumber":3,"menuName":"二次装修退款","permissionCode":"refundSecondDecorate","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":89,"delFlag":true,"createBy":null,"createDate":1491471828000,"updateBy":null,"updateDate":null},{"id":66,"menuNumber":1,"menuName":"房产管理","permissionCode":"abc","menuType":1,"menuImg":"fa-bank","menuUrl":"","sort":3,"parentId":3,"delFlag":true,"createBy":null,"createDate":1488855477000,"updateBy":null,"updateDate":null},{"id":67,"menuNumber":2,"menuName":"楼宇管理","permissionCode":"www","menuType":2,"menuImg":"","menuUrl":"/building/search","sort":3,"parentId":66,"delFlag":true,"createBy":null,"createDate":1488855895000,"updateBy":null,"updateDate":null},{"id":134,"menuNumber":3,"menuName":"添加楼宇","permissionCode":"addBuild","menuType":3,"menuImg":"","menuUrl":"","sort":1,"parentId":67,"delFlag":true,"createBy":null,"createDate":1492152675000,"updateBy":null,"updateDate":null},{"id":135,"menuNumber":3,"menuName":"编辑楼宇","permissionCode":"editBuild","menuType":3,"menuImg":"","menuUrl":"","sort":2,"parentId":67,"delFlag":true,"createBy":null,"createDate":1492152780000,"updateBy":null,"updateDate":null},{"id":68,"menuNumber":2,"menuName":"房间管理","permissionCode":"rrr","menuType":2,"menuImg":"","menuUrl":"/room/layout","sort":1,"parentId":66,"delFlag":true,"createBy":null,"createDate":1488855936000,"updateBy":null,"updateDate":null},{"id":122,"menuNumber":3,"menuName":"房间添加","permissionCode":"addRoom","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":68,"delFlag":true,"createBy":null,"createDate":1491470306000,"updateBy":null,"updateDate":null},{"id":123,"menuNumber":3,"menuName":"房间编辑","permissionCode":"editRoom","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":68,"delFlag":true,"createBy":null,"createDate":1491470406000,"updateBy":null,"updateDate":null},{"id":156,"menuNumber":3,"menuName":"历史租户合同详情","permissionCode":"customerContractDetail","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":68,"delFlag":true,"createBy":null,"createDate":1492158557000,"updateBy":null,"updateDate":null},{"id":69,"menuNumber":2,"menuName":"注册公司","permissionCode":"ddd","menuType":2,"menuImg":"","menuUrl":"/company/layout","sort":7,"parentId":66,"delFlag":true,"createBy":null,"createDate":1488855965000,"updateBy":null,"updateDate":null},{"id":124,"menuNumber":3,"menuName":"公司编辑","permissionCode":"editCompany","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":69,"delFlag":true,"createBy":null,"createDate":1491470833000,"updateBy":null,"updateDate":null},{"id":125,"menuNumber":3,"menuName":"添加公司","permissionCode":"addCompany","menuType":3,"menuImg":"","menuUrl":"","sort":null,"parentId":69,"delFlag":true,"createBy":null,"createDate":1491470901000,"updateBy":null,"updateDate":null},{"id":162,"menuNumber":2,"menuName":"房间图示","permissionCode":"room:histogram","menuType":2,"menuImg":"","menuUrl":"/room/histogramAll","sort":5,"parentId":66,"delFlag":true,"createBy":null,"createDate":1493101522000,"updateBy":null,"updateDate":null},{"id":113,"menuNumber":1,"menuName":"统计报表","permissionCode":"statistical","menuType":1,"menuImg":"fa-bar-chart","menuUrl":"","sort":7,"parentId":3,"delFlag":true,"createBy":null,"createDate":1491372170000,"updateBy":null,"updateDate":null},{"id":114,"menuNumber":2,"menuName":"水费汇总","permissionCode":"water:form","menuType":2,"menuImg":"","menuUrl":"/water/waterBillList","sort":7,"parentId":113,"delFlag":true,"createBy":null,"createDate":1491372318000,"updateBy":null,"updateDate":null},{"id":115,"menuNumber":2,"menuName":"电费汇总","permissionCode":"electric:form","menuType":2,"menuImg":"","menuUrl":"/electricityFees/electricityFeesAll","sort":5,"parentId":113,"delFlag":true,"createBy":null,"createDate":1491373724000,"updateBy":null,"updateDate":null},{"id":116,"menuNumber":2,"menuName":"租金汇总","permissionCode":"fdf","menuType":2,"menuImg":"","menuUrl":"/collectRent/auditSuccessAll","sort":1,"parentId":113,"delFlag":true,"createBy":null,"createDate":1491445578000,"updateBy":null,"updateDate":null},{"id":117,"menuNumber":2,"menuName":"物业费汇总","permissionCode":"ggg","menuType":2,"menuImg":"","menuUrl":"/propertyFee/auditSuccessAll","sort":3,"parentId":113,"delFlag":true,"createBy":null,"createDate":1491445627000,"updateBy":null,"updateDate":null},{"id":205,"menuNumber":1,"menuName":"房源管理","permissionCode":"building","menuType":1,"menuImg":"","menuUrl":"/home/building","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504691348000,"updateBy":null,"updateDate":null},{"id":206,"menuNumber":2,"menuName":"楼宇图示","permissionCode":"buildingShow","menuType":2,"menuImg":"","menuUrl":"/home/building/buildingShow","sort":null,"parentId":205,"delFlag":false,"createBy":null,"createDate":1504691389000,"updateBy":null,"updateDate":null},{"id":207,"menuNumber":2,"menuName":"编辑房间","permissionCode":"editRoom","menuType":2,"menuImg":"","menuUrl":"/home/building/editAvailability/editRoom","sort":null,"parentId":205,"delFlag":false,"createBy":null,"createDate":1504691412000,"updateBy":null,"updateDate":null},{"id":208,"menuNumber":2,"menuName":"编辑楼宇","permissionCode":"editBuilding","menuType":2,"menuImg":"","menuUrl":"/home/building/editAvailability/editBuilding","sort":null,"parentId":205,"delFlag":false,"createBy":null,"createDate":1504691436000,"updateBy":null,"updateDate":null},{"id":209,"menuNumber":1,"menuName":"租赁管理","permissionCode":"lease","menuType":1,"menuImg":"","menuUrl":"/home/lease","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504691499000,"updateBy":null,"updateDate":null},{"id":210,"menuNumber":2,"menuName":"租赁合同","permissionCode":"leaseContract","menuType":2,"menuImg":"","menuUrl":"/home/lease/leaseContract","sort":null,"parentId":209,"delFlag":false,"createBy":null,"createDate":1504691524000,"updateBy":null,"updateDate":null},{"id":211,"menuNumber":2,"menuName":"租金管理","permissionCode":"rentManagement","menuType":2,"menuImg":"","menuUrl":"/home/lease/rentManagement","sort":null,"parentId":209,"delFlag":false,"createBy":null,"createDate":1504691545000,"updateBy":null,"updateDate":null},{"id":212,"menuNumber":2,"menuName":"注册信息","permissionCode":"registrationMessage","menuType":2,"menuImg":"","menuUrl":"/home/building/registrationMessage","sort":null,"parentId":209,"delFlag":false,"createBy":null,"createDate":1504691571000,"updateBy":null,"updateDate":null},{"id":213,"menuNumber":1,"menuName":"物业管理","permissionCode":"property","menuType":1,"menuImg":"","menuUrl":"/home/property","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504691812000,"updateBy":null,"updateDate":null},{"id":214,"menuNumber":2,"menuName":"物业合同","permissionCode":"contract","menuType":2,"menuImg":"","menuUrl":"/home/property/contract","sort":null,"parentId":213,"delFlag":false,"createBy":null,"createDate":1504691838000,"updateBy":null,"updateDate":null},{"id":215,"menuNumber":2,"menuName":"物业费管理","permissionCode":"propertyFee","menuType":2,"menuImg":"","menuUrl":"/home/property/propertyFee","sort":null,"parentId":213,"delFlag":false,"createBy":null,"createDate":1504691862000,"updateBy":null,"updateDate":null},{"id":216,"menuNumber":2,"menuName":"电费管理","permissionCode":"electricCharge","menuType":2,"menuImg":"","menuUrl":"/home/property/electricCharge","sort":null,"parentId":213,"delFlag":false,"createBy":null,"createDate":1504691884000,"updateBy":null,"updateDate":null},{"id":217,"menuNumber":2,"menuName":"水费管理","permissionCode":"waterCharge","menuType":2,"menuImg":"","menuUrl":"/home/property/waterCharge","sort":null,"parentId":213,"delFlag":false,"createBy":null,"createDate":1504691906000,"updateBy":null,"updateDate":null},{"id":218,"menuNumber":2,"menuName":"物业公告","permissionCode":"propertyNotice","menuType":2,"menuImg":"","menuUrl":"/home/client/propertyNotice","sort":null,"parentId":213,"delFlag":false,"createBy":null,"createDate":1504691930000,"updateBy":null,"updateDate":null},{"id":219,"menuNumber":1,"menuName":"客户管理","permissionCode":"client","menuType":1,"menuImg":"","menuUrl":"/home/client","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504691985000,"updateBy":null,"updateDate":null},{"id":220,"menuNumber":2,"menuName":"客户资料","permissionCode":"information","menuType":2,"menuImg":"","menuUrl":"/home/client/information","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504692010000,"updateBy":null,"updateDate":null},{"id":221,"menuNumber":2,"menuName":"客户报修","permissionCode":"repair","menuType":1,"menuImg":"","menuUrl":"/home/client/repair","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504692036000,"updateBy":null,"updateDate":null},{"id":227,"menuNumber":2,"menuName":"投诉建议","permissionCode":"complain","menuType":2,"menuImg":"","menuUrl":"/home/client/complain","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504747306000,"updateBy":null,"updateDate":null},{"id":228,"menuNumber":2,"menuName":"整改通知","permissionCode":"notice","menuType":2,"menuImg":"","menuUrl":"/home/client/notice","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504747328000,"updateBy":null,"updateDate":null},{"id":229,"menuNumber":2,"menuName":"二次装修","permissionCode":"secondaryDecoration","menuType":2,"menuImg":"","menuUrl":"/home/client/secondaryDecoration","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504747362000,"updateBy":null,"updateDate":null},{"id":222,"menuNumber":3,"menuName":"客户报修","permissionCode":"clientRepair","menuType":2,"menuImg":"","menuUrl":"/home/client/repair/clientRepair","sort":null,"parentId":221,"delFlag":false,"createBy":null,"createDate":1504692066000,"updateBy":null,"updateDate":null},{"id":225,"menuNumber":3,"menuName":"客户回访","permissionCode":"returnVisit","menuType":2,"menuImg":"","menuUrl":"/home/client/repair/returnVisit","sort":null,"parentId":221,"delFlag":false,"createBy":null,"createDate":1504692153000,"updateBy":null,"updateDate":null},{"id":226,"menuNumber":3,"menuName":"维修费设置","permissionCode":"maintenanceFees","menuType":2,"menuImg":"","menuUrl":"/home/client/repair/maintenanceFees","sort":null,"parentId":221,"delFlag":false,"createBy":null,"createDate":1504692186000,"updateBy":null,"updateDate":null},{"id":230,"menuNumber":2,"menuName":"保证金管理","permissionCode":"margin","menuType":2,"menuImg":"","menuUrl":"/home/client/margin","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504747385000,"updateBy":null,"updateDate":null},{"id":231,"menuNumber":2,"menuName":"门禁卡管理","permissionCode":"accessCard","menuType":1,"menuImg":"","menuUrl":"/home/client/accessCard","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504747417000,"updateBy":null,"updateDate":null},{"id":232,"menuNumber":3,"menuName":"门禁卡管理","permissionCode":"management","menuType":2,"menuImg":"","menuUrl":"/home/client/accessCard/management","sort":null,"parentId":231,"delFlag":false,"createBy":null,"createDate":1504747439000,"updateBy":null,"updateDate":null},{"id":233,"menuNumber":3,"menuName":"门禁卡押金","permissionCode":"deposit","menuType":2,"menuImg":"","menuUrl":"/home/client/accessCard/deposit","sort":null,"parentId":231,"delFlag":false,"createBy":null,"createDate":1504747467000,"updateBy":null,"updateDate":null},{"id":234,"menuNumber":2,"menuName":"房间梆定","permissionCode":"roombinding","menuType":2,"menuImg":"","menuUrl":"/home/client/roombinding","sort":null,"parentId":219,"delFlag":false,"createBy":null,"createDate":1504747498000,"updateBy":null,"updateDate":null},{"id":235,"menuNumber":1,"menuName":"财务管理","permissionCode":"finance","menuType":1,"menuImg":"","menuUrl":"/home/finance","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504747593000,"updateBy":null,"updateDate":null},{"id":236,"menuNumber":2,"menuName":"财务设置","permissionCode":"config","menuType":1,"menuImg":"","menuUrl":"/home/finance/config","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747619000,"updateBy":null,"updateDate":null},{"id":239,"menuNumber":2,"menuName":"租金审核","permissionCode":"rentReview","menuType":2,"menuImg":"","menuUrl":"/home/finance/rentReview","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747692000,"updateBy":null,"updateDate":null},{"id":240,"menuNumber":2,"menuName":"物业费审核","permissionCode":"propertyCostsReview","menuType":2,"menuImg":"","menuUrl":"/home/finance/propertyCostsReview","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747716000,"updateBy":null,"updateDate":null},{"id":241,"menuNumber":2,"menuName":"电费审核","permissionCode":"electricity","menuType":2,"menuImg":"","menuUrl":"/home/finance/electricity","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747739000,"updateBy":null,"updateDate":null},{"id":242,"menuNumber":2,"menuName":"水费审核","permissionCode":"waterFee","menuType":2,"menuImg":"","menuUrl":"/home/finance/waterFee","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747767000,"updateBy":null,"updateDate":null},{"id":243,"menuNumber":2,"menuName":"租赁保证金审核","permissionCode":"leaseMargin","menuType":2,"menuImg":"","menuUrl":"/home/finance/leaseMargin","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747789000,"updateBy":null,"updateDate":null},{"id":237,"menuNumber":3,"menuName":"收费设置","permissionCode":"toll","menuType":2,"menuImg":"","menuUrl":"/home/finance/config/toll","sort":null,"parentId":236,"delFlag":false,"createBy":null,"createDate":1504747642000,"updateBy":null,"updateDate":null},{"id":238,"menuNumber":3,"menuName":"开票信息","permissionCode":"billing","menuType":2,"menuImg":"","menuUrl":"/home/finance/config/billing","sort":null,"parentId":236,"delFlag":false,"createBy":null,"createDate":1504747662000,"updateBy":null,"updateDate":null},{"id":244,"menuNumber":2,"menuName":"欢乐颂押金审核","permissionCode":"happyDeposit","menuType":2,"menuImg":"","menuUrl":"/home/finance/happyDeposit","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747812000,"updateBy":null,"updateDate":null},{"id":245,"menuNumber":2,"menuName":"能源管理押金审核","permissionCode":"energyDeposit","menuType":2,"menuImg":"","menuUrl":"/home/finance/energyDeposit","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747835000,"updateBy":null,"updateDate":null},{"id":246,"menuNumber":2,"menuName":"二次装修审核","permissionCode":"secondReview","menuType":2,"menuImg":"","menuUrl":"/home/finance/secondReview","sort":null,"parentId":235,"delFlag":false,"createBy":null,"createDate":1504747862000,"updateBy":null,"updateDate":null},{"id":248,"menuNumber":2,"menuName":"租金汇总","permissionCode":"rent","menuType":2,"menuImg":"","menuUrl":"/home/statistics/rent","sort":null,"parentId":247,"delFlag":false,"createBy":null,"createDate":1504747951000,"updateBy":null,"updateDate":null},{"id":247,"menuNumber":1,"menuName":"统计报表","permissionCode":"statistics","menuType":1,"menuImg":"","menuUrl":"/home/statistics","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504747924000,"updateBy":null,"updateDate":null},{"id":249,"menuNumber":2,"menuName":"物业费汇总","permissionCode":"propertyCosts","menuType":2,"menuImg":"","menuUrl":"/home/statistics/propertyCosts","sort":null,"parentId":247,"delFlag":false,"createBy":null,"createDate":1504747973000,"updateBy":null,"updateDate":null},{"id":250,"menuNumber":2,"menuName":"电费汇总","permissionCode":"electricityBill","menuType":2,"menuImg":"","menuUrl":"/home/statistics/electricityBill","sort":null,"parentId":247,"delFlag":false,"createBy":null,"createDate":1504748004000,"updateBy":null,"updateDate":null},{"id":251,"menuNumber":2,"menuName":"水费汇总","permissionCode":"watchFee","menuType":2,"menuImg":"","menuUrl":"/home/statistics/watchFee","sort":null,"parentId":247,"delFlag":false,"createBy":null,"createDate":1504748027000,"updateBy":null,"updateDate":null},{"id":252,"menuNumber":1,"menuName":"仓库管理","permissionCode":"wareHouse","menuType":1,"menuImg":"","menuUrl":"/home/wareHouse","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504748176000,"updateBy":null,"updateDate":null},{"id":253,"menuNumber":2,"menuName":"库存管理","permissionCode":"inventoryManage","menuType":2,"menuImg":"","menuUrl":"/home/wareHouse/inventoryManage","sort":null,"parentId":252,"delFlag":false,"createBy":null,"createDate":1504748232000,"updateBy":null,"updateDate":null},{"id":254,"menuNumber":2,"menuName":"领用统计","permissionCode":"receiveStatistics","menuType":2,"menuImg":"","menuUrl":"/home/wareHouse/receiveStatistics","sort":null,"parentId":252,"delFlag":false,"createBy":null,"createDate":1504748253000,"updateBy":null,"updateDate":null},{"id":255,"menuNumber":2,"menuName":"材料管理","permissionCode":"meterialManagement","menuType":2,"menuImg":"","menuUrl":"/home/wareHouse/meterialManagement","sort":null,"parentId":252,"delFlag":false,"createBy":null,"createDate":1504748277000,"updateBy":null,"updateDate":null},{"id":256,"menuNumber":1,"menuName":"设备管理","permissionCode":"equipment","menuType":1,"menuImg":"","menuUrl":"/home/equipment","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504748353000,"updateBy":null,"updateDate":null},{"id":263,"menuNumber":1,"menuName":"系统设置","permissionCode":"system","menuType":1,"menuImg":"","menuUrl":"/home/system","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504748558000,"updateBy":null,"updateDate":null},{"id":269,"menuNumber":1,"menuName":"智能硬件","permissionCode":"hardware","menuType":1,"menuImg":"","menuUrl":"/home/hardware","sort":null,"parentId":3,"delFlag":false,"createBy":null,"createDate":1504748916000,"updateBy":null,"updateDate":null},{"id":257,"menuNumber":2,"menuName":"设备维保","permissionCode":"maintain","menuType":1,"menuImg":"","menuUrl":"/home/equipment/maintain","sort":null,"parentId":256,"delFlag":false,"createBy":null,"createDate":1504748384000,"updateBy":null,"updateDate":null},{"id":258,"menuNumber":3,"menuName":"保养记录","permissionCode":"maintenancePlan","menuType":2,"menuImg":"","menuUrl":"/home/equipment/maintain/maintenancePlan","sort":null,"parentId":257,"delFlag":false,"createBy":null,"createDate":1504748409000,"updateBy":null,"updateDate":null},{"id":259,"menuNumber":3,"menuName":"维修记录","permissionCode":"repairRecord","menuType":2,"menuImg":"","menuUrl":"/home/equipment/maintain/repairRecord","sort":null,"parentId":257,"delFlag":false,"createBy":null,"createDate":1504748437000,"updateBy":null,"updateDate":null},{"id":260,"menuNumber":2,"menuName":"设备台账","permissionCode":"equipmentAccount","menuType":2,"menuImg":"","menuUrl":"/home/equipment/equipmentAccount","sort":null,"parentId":256,"delFlag":false,"createBy":null,"createDate":1504748472000,"updateBy":null,"updateDate":null},{"id":261,"menuNumber":2,"menuName":"机房管理","permissionCode":"computerRoomManagement","menuType":2,"menuImg":"","menuUrl":"/home/equipment/computerRoomManagement","sort":null,"parentId":256,"delFlag":false,"createBy":null,"createDate":1504748493000,"updateBy":null,"updateDate":null},{"id":262,"menuNumber":2,"menuName":"设备巡检","permissionCode":"inspection","menuType":2,"menuImg":"","menuUrl":"/home/equipment/inspection","sort":null,"parentId":256,"delFlag":false,"createBy":null,"createDate":1504748517000,"updateBy":null,"updateDate":null},{"id":264,"menuNumber":2,"menuName":"角色管理","permissionCode":"role","menuType":2,"menuImg":"","menuUrl":"/home/system/role","sort":null,"parentId":263,"delFlag":false,"createBy":null,"createDate":1504748580000,"updateBy":null,"updateDate":null},{"id":265,"menuNumber":2,"menuName":"部门管理","permissionCode":"department","menuType":2,"menuImg":"","menuUrl":"/home/system/department","sort":null,"parentId":263,"delFlag":false,"createBy":null,"createDate":1504748605000,"updateBy":null,"updateDate":null},{"id":266,"menuNumber":2,"menuName":"账号管理","permissionCode":"account","menuType":2,"menuImg":"","menuUrl":"/home/system/account","sort":null,"parentId":263,"delFlag":false,"createBy":null,"createDate":1504748622000,"updateBy":null,"updateDate":null},{"id":267,"menuNumber":2,"menuName":"操作日志","permissionCode":"operationLog","menuType":2,"menuImg":"","menuUrl":"/home/system/operationLog","sort":null,"parentId":263,"delFlag":false,"createBy":null,"createDate":1504748642000,"updateBy":null,"updateDate":null},{"id":268,"menuNumber":2,"menuName":"菜单管理","permissionCode":"menu","menuType":2,"menuImg":"","menuUrl":"/home/system/menu","sort":null,"parentId":263,"delFlag":false,"createBy":null,"createDate":1504748663000,"updateBy":null,"updateDate":null},{"id":270,"menuNumber":2,"menuName":"空调监控","permissionCode":"airconditionermonitor","menuType":1,"menuImg":"","menuUrl":"/home/hardware/airconditionermonitor","sort":null,"parentId":269,"delFlag":false,"createBy":null,"createDate":1504748941000,"updateBy":null,"updateDate":null},{"id":271,"menuNumber":3,"menuName":"空调监控列表","permissionCode":"monitoringlist","menuType":2,"menuImg":"","menuUrl":"/home/hardware/airconditionermonitor/monitoringlist","sort":null,"parentId":270,"delFlag":false,"createBy":null,"createDate":1504748971000,"updateBy":null,"updateDate":null}]

配置如图


项目效果(内网效果, 外网无数据)


ToDoList

  • 关于: 首次运行 yarn start 开发模式, 只进入首页 无法登录的问题解决方案;(因 目前登录服务是在局域网内进行, 所以需要手动配置一下 localStore本地数据), 会尽快完善 这个测试功能;
  • redux 中使用 异步thunk
  • redux 中使用 redux-saga; 中文文档

react-admin-antd's People

Contributors

didilinkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-admin-antd's Issues

eslint配置文件.eslintrc.js中的JavaScript Standard Style是完整的吗?

@didilinkin
RT
我的意思是

// 以下规则为 'Standard' 规范( 无修改 )
        // "indent": [ "error", 2 ],                                                   // 两格缩进
        "quotes": [ "error", "single" ],                                            // 必须使用单引号
        "no-unused-vars": "error",                                                  // 不要定义未使用的变量
        "keyword-spacing": [ "error", { "before": true } ],                         // 关键字后面加空格
        "space-before-function-paren": "error",                                     // 函数声明时括号与函数名间加空格
        "eqeqeq": [ "error", "always" ],                                            // 使用 === 替代 ==
        "space-infix-ops":  "error",                                                // 字符串拼接操作符 (Infix operators) 之间要留空格
        "comma-spacing": [ "error", { "before": false, "after": true } ],           // 逗号前面禁止 加空格 / 逗号后面必须 加空格
        "brace-style": "error",                                                     // 关键字要与花括号保持在同一行
        "curly": "error",                                                           // 多行 if 语句的的括号不能省
        "handle-callback-err": "error",                                             // 不要丢掉异常处理中err参数
        "no-undef": "error",                                                        // 使用浏览器全局变量时加上 window. 前缀
        "no-multiple-empty-lines": ["error", { "max": 2, "maxBOF": 1 }],            // 不允许有连续多行空行
        // "operator-linebreak": [ "error", "after" ],                                 // 对于三元运算符 ? 和 : 与他们所负责的代码处于同一行( 所有的运算符必须在同一行 )
        "one-var": [ "error", { var: "never", let: "never", const: "never" } ],     // 每个 var 关键字单独声明一个变量
        "no-cond-assign": "error",                                                  // 条件语句中赋值语句使用括号包起来。这样使得代码更加清晰可读,而不会认为是将条件判断语句的全等号(===)错写成了等号(=)
        "block-spacing": "error",                                                   // 单行代码块两边加空格
        "camelcase": "error",                                                       // 对于变量和函数名统一使用驼峰命名法
        "comma-dangle": [ "error", "never" ],                                       // 不允许有多余的行末逗号
        "comma-style": [ "error", "last" ],                                         // 始终将逗号置于行末
        "dot-location": [ "error", "object" ],                                      // 点号操作符须与属性需在同一行
        "eol-last": [ "error", "always" ],                                          // 文件末尾留一空行
        "func-call-spacing": ["error", "never"],                                    // 函数调用时标识符与括号间不留间隔
        "key-spacing": [ "error", { "beforeColon": false } ],                       // 键值对当中冒号与值之间要留空白
        "new-cap" : "error",                                                        // 构造函数要以大写字母开头
        "new-parens": "error",                                                      // 无参的构造函数调用时要带上括号
        "accessor-pairs": "error",                                                  // 对象中定义了存值器,一定要对应的定义取值器
        "constructor-super": "error",                                               // 子类的构造器中一定要调用 super
        "no-array-constructor": "error",                                            // 使用数组字面量而不是构造器( 禁止使用 Array 构造函数 )
        "no-caller": "error",                                                       // 避免使用 arguments.callee 和 arguments.caller
        "no-class-assign": "error",                                                 // 避免对类名重新赋值
        "no-const-assign": "error",                                                 // 避免修改使用 const 声明的变量
        "no-constant-condition": "error",                                           // 避免使用常量作为条件表达式的条件( 循环语句除外 )
        "no-control-regex": "error",                                                // 正则中不要使用控制符
        //"no-debugger": "error",                                                     // 不要使用 debugger
        "no-delete-var": "error",                                                   // 不要对变量使用 delete 操作
        "no-dupe-args": "error",                                                    // 不要定义冗余的函数参数
        "no-dupe-class-members": "error",                                           // 类中不要定义冗余的属性
        "no-dupe-keys": "error",                                                    // 对象字面量中不要定义重复的属性
        "no-duplicate-case": "error",                                               // switch 语句中不要定义重复的 case 分支
        "no-duplicate-imports": "error",                                            // 同一模块有多个导入时一次性写完
        "no-empty-character-class": "error",                                        // 正则中不要使用空字符
        "no-empty-pattern": "error",                                                // 不要解构空值
        "no-eval": "error",                                                         // 不要使用 eval()
        "no-ex-assign": "error",                                                    // catch 中不要对错误重新赋值
        "no-extend-native": "error",                                                // 不要扩展原生对象
        "no-extra-bind": "error",                                                   // 避免多余的函数上下文绑定
        "no-extra-boolean-cast": "error",                                           // 避免不必要的布尔转换
        // "no-extra-parens": "error",                                                 // 不要使用多余的括号包裹函数
        "no-fallthrough": "error",                                                  // switch 一定要使用 break 来将条件分支正常中断
        "no-floating-decimal": "error",                                             // 不要省去小数点前面的0
        "no-func-assign": "error",                                                  // 避免对声明过的函数重新赋值
        "no-global-assign": "error",                                                // 不要对全局只读对象重新赋值
        "no-implied-eval": "error",                                                 // 注意隐式的 eval()
        "no-inner-declarations": "error",                                           // 嵌套的代码块中禁止再定义函数
        "no-invalid-regexp": "error",                                               // 不要向 RegExp 构造器传入非法的正则表达式
        "no-irregular-whitespace": "error",                                         // 不要使用非法的空白符
        "no-iterator": "error",                                                     // 禁止使用 __iterator__
        "no-label-var": "error",                                                    // 外部变量不要与对象属性重名
        "no-labels": "error",                                                       // 不要使用标签语句
        "no-lone-blocks": "error",                                                  // 不要书写不必要的嵌套代码块
        "no-mixed-spaces-and-tabs": "error",                                        // 不要混合使用空格与制表符作为缩进
        // "no-multi-spaces": "error",                                                 // 除了缩进,不要使用多个空格
        "no-multi-str": "error",                                                    // 不要使用多行字符串
        "no-new": "error",                                                          // new 创建对象实例后需要赋值给变量
        "no-new-func": "error",                                                     // 禁止使用 Function 构造器
        "no-new-object": "error",                                                   // 禁止使用 Object 构造器
        "no-new-require": "error",                                                  // 禁止使用 new require
        "no-new-symbol": "error",                                                   // 禁止使用 Symbol 构造器
        "no-new-wrappers": "error",                                                 // 禁止使用原始包装器
        "no-obj-calls": "error",                                                    // 不要将全局对象的属性作为函数调用
        "no-octal": "error",                                                        // 不要使用八进制字面量
        "no-octal-escape": "error",                                                 // 字符串字面量中也不要使用八进制转义字符
        "no-path-concat": "error",                                                  // 使用 __dirname 和 __filename 时尽量避免使用字符串拼接
        "no-proto": "error",                                                        // 使用 getPrototypeOf 来替代 __proto__
        "no-redeclare": "error",                                                    // 不要重复声明变量
        "no-regex-spaces": "error",                                                 // 正则中避免使用多个空格
        "no-return-assign": "error",                                                // return 语句中的赋值必需有括号包裹
        "no-self-assign": "error",                                                  // 避免将变量赋值给自己
        "no-self-compare": "error",                                                 // 避免将变量与自己进行比较操作
        "no-sequences": "error",                                                    // 避免使用逗号操作符
        "no-shadow-restricted-names" : "error",                                     // 不要随意更改关键字的值
        "no-sparse-arrays": "error",                                                // 禁止使用稀疏数组(Sparse arrays)
        "no-tabs" : "error",                                                        // 不要使用制表符
        "no-template-curly-in-string" : "error",                                    // 正确使用 ES6 中的字符串模板
        "no-this-before-super": "error",                                            // 使用 this 前请确保 super() 已调用
        "no-throw-literal": "error",                                                // 用 throw 抛错时,抛出 Error 对象而不是字符串
        "no-trailing-spaces": "error",                                              // 行末不留空格
        "no-undef-init": "error",                                                   // 不要使用 undefined 来初始化变量
        "no-unmodified-loop-condition": "error",                                    // 循环语句中注意更新循环变量
        "no-unneeded-ternary" : "error",                                            // 如果有更好的实现,尽量不要使用三元表达式
        "no-unreachable": "error",                                                  // return,throw,continue 和 break 后不要再跟代码
        "no-unsafe-finally" : "error",                                              // finally 代码块中不要再改变程序执行流程
        "no-unsafe-negation": "error",                                              // 关系运算符的左值不要做取反操作
        "no-useless-call": "error",                                                 // 避免不必要的 .call() 和 .apply()
        "no-useless-computed-key": "error",                                         // 避免使用不必要的计算值作对象属性
        "no-useless-constructor": "error",                                          // 禁止多余的构造器
        "no-useless-escape": "error",                                               // 禁止不必要的转义
        "no-useless-rename": "error",                                               // import, export 和解构操作中,禁止赋值到同名变量
        "no-whitespace-before-property": "error",                                   // 属性前面不要加空格
        "no-with": "error",                                                         // 禁止使用 with
        "object-property-newline": "error",                                         // 对象属性换行时注意统一代码风格
        "padded-blocks": [ "error", "never" ],                                                   // 代码块中避免多余留白
        "rest-spread-spacing": "error",                                             // 展开运算符与它的表达式间不要留空白
        "semi-spacing": "error",                                                    // 遇到分号时空格要后留前不留
        "space-before-blocks": "error",                                             // 代码块首尾留空格
        "space-in-parens": "error",                                                 // 圆括号间不留空格
        "space-unary-ops": "error",                                                 // 一元运算符后面跟一个空格
        "spaced-comment": "error",                                                  // 注释首尾留空格
        "template-curly-spacing": "error",                                          // 模板字符串中变量前后不加空格
        "use-isnan": "error",                                                       // 检查 NaN 的正确姿势是使用 isNaN()
        "valid-typeof": "error",                                                    // 用合法的字符串跟 typeof 进行比较操作
        "wrap-iife": "error",                                                       // 自调用匿名函数 (IIFEs) 使用括号包裹
        "yield-star-spacing": "error",                                              // yield * 中的 * 前后都要有空格
        "yoda": "error",                                                            // 请书写优雅的条件语句(avoid Yoda conditions)
        "semi": [ "error", "never" ],                                               // 不要使用分号
        "no-unexpected-multiline": "error",                                         // 禁止使用令人困惑的多行表达式

这部分是完整的JavaScript Standard Style吗?

Failed to compile.

Failed to compile.

./node_modules/_rc-animate@2.4.1@rc-animate/es/AnimateChild.js
76:11-34 'css-animation' does not contain an export named 'isCssAnimationSupported'.

build后部署在服务器上访问始终404.

试过nginx
server {
...
location / {
try_files $uri /index.html
}
}
和Apache 服务器
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^.*$ / [L,QSA]
都不行,请问你这个应该怎么弄。
是否是路由的问题?

react-router-config在未登录的情况下路由保护

@didilinkin
privateRoutes.js中,exact为true,应该只能对访问路径为/拦截,验证是否登录,如下:
const privateRoutes = [{
path: '/',
exact: true,
component: PrivateRoute // 无其他信息; 不需要渲染组件
}]
那么,访问其他的路径,是不会验证登录的,是不是有问题?

scripts/start.js是脚手架生成的吗?

看到这个文件里面有
// @remove-on-eject-begin
/**

  • Copyright (c) 2015-present, Facebook, Inc.
  • All rights reserved.
  • This source code is licensed under the BSD-style license found in the
  • LICENSE file in the root directory of this source tree. An additional grant
  • of patent rights can be found in the PATENTS file in the same directory.
    */
    // @remove-on-eject-end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.