├── .babelrc ├── .gitignore ├── .idea ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml ├── modules.xml ├── parkingos_cloud_vue.iml └── watcherTasks.xml ├── .postcssrc.js ├── LICENSE ├── build ├── build.js ├── check-versions.js ├── logo.png ├── utils.js ├── vue-loader.conf.js ├── webpack.base.conf.js ├── webpack.dev.conf.js └── webpack.prod.conf.js ├── config ├── dev.env.js ├── index.js ├── other.env.js ├── prod.env.js ├── produce.env.js └── test.env.js ├── devicewin.html ├── dist ├── favicon.ico ├── login.html └── static │ ├── dll.vendor_60cc45.js │ ├── fonts │ ├── DIGITAL-Regular.331f46f.ttf │ ├── DIGITAL-Regular.7c11c61.eot │ ├── element-icons.6f0a763.ttf │ ├── iconfont.3d29e64.ttf │ └── iconfont.64a01d6.eot │ ├── img │ ├── bgImg.c85c2af.jpg │ ├── carbg.6d415a6.png │ ├── headerBg.3ec45dd.png │ ├── iconfont.552a109.svg │ ├── iconfont.a994a96.svg │ ├── inoutcount.7a4a85c.png │ ├── order-info-error.0bd5c2e.png │ ├── screenBg.8b1d143.png │ ├── shop-header-bg.9ad4a9b.png │ └── shop-header-bg2.f5ae7d9.png │ ├── js │ ├── dll.dll.js │ └── vendor.dll.js │ └── test.txt ├── docs ├── assets │ ├── eu-da8078d54b4abf70799ad11a4d31071f.jpeg │ ├── iconfont-51a180261bc13bd924dcb053b67c1909.png │ ├── iconfont-demo-51a180261bc13bd924dcb053b67c1909.png │ ├── logo-6570e94ccedb8bfad887ae87385c24fc.png │ ├── onekey-5c608ec520618beb00c312cb7a413caf.jpg │ ├── parkingos-8629c0547f8428da74196650a8279746.jpeg │ └── spring-b6c78951c046ea0f63f2d8afd910a416.jpg ├── index.html ├── js │ ├── index.0765abeb.js │ ├── index.231a17c9.js │ ├── index.43e61040.js │ ├── index.f2412888.js │ └── index.fa0a629a.js ├── website │ ├── .babelrc │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── README.md │ ├── config │ │ ├── webpack.build-website.config.js │ │ └── webpack.dev-website.config.js │ ├── package.json │ └── page │ │ ├── assets │ │ ├── images │ │ │ ├── HERA.png │ │ │ ├── eu.jpeg │ │ │ ├── index-kit.png │ │ │ ├── index-lightweight.png │ │ │ ├── index-powerful.png │ │ │ ├── logo.png │ │ │ ├── onekey.jpg │ │ │ ├── parkingos.jpeg │ │ │ ├── sad.png │ │ │ ├── spring.jpg │ │ │ └── vue.jpg │ │ ├── js │ │ │ ├── highlight │ │ │ │ ├── CHANGES.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── README.ru.md │ │ │ │ ├── highlight.pack.js │ │ │ │ └── styles │ │ │ │ │ └── default.css │ │ │ └── particles │ │ │ │ ├── particles.js │ │ │ │ └── particles.json │ │ └── reset.css │ │ ├── components │ │ ├── App │ │ │ ├── AppContent.vue │ │ │ ├── AppHeader.vue │ │ │ └── UsageSidebar.vue │ │ ├── Basics │ │ │ └── QuickStart.vue │ │ ├── Components │ │ │ ├── Markdown.vue │ │ │ └── NotSupport.md │ │ ├── Index.vue │ │ └── Index │ │ │ └── Index.vue │ │ ├── index.html │ │ ├── index.js │ │ ├── router │ │ └── index.js │ │ └── util │ │ └── utils.js └── zh-cn │ ├── desc │ ├── assets │ │ └── iconfont-demo.png │ ├── backend.md │ ├── db.md │ ├── dev.md │ └── frontend.md │ └── quick │ ├── backend.md │ └── frontend.md ├── favicon.ico ├── index.html ├── monitor.html ├── package.json ├── parkingos_cloud_vue.iml ├── readme.md ├── src ├── App.vue ├── DeviceWinApp.vue ├── MonitorApp.vue ├── api │ ├── api.js │ ├── base.js │ ├── http_url.js │ ├── request.js │ └── tcp.js ├── assets │ ├── bg.jpg │ ├── bg.png │ ├── center.png │ ├── center1.png │ ├── code.png │ ├── eye.png │ ├── fonts │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── iconfont.css │ ├── iconfont.eot │ ├── iconfont.svg │ ├── iconfont.ttf │ ├── iconfont.woff │ ├── iconfont │ │ ├── demo.css │ │ ├── iconfont.css │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ ├── images │ │ ├── bgImg.jpg │ │ ├── bgtext.png │ │ ├── checked.png │ │ ├── chuchang.png │ │ ├── close.png │ │ ├── data-bg.png │ │ ├── eye-hide.png │ │ ├── eye-show.png │ │ ├── info-icon.png │ │ ├── login-user.png │ │ ├── logo.png │ │ ├── mobile.png │ │ ├── no.png │ │ ├── no_car_photo.png │ │ ├── off.png │ │ ├── order-back.png │ │ ├── password.png │ │ ├── pay-error.png │ │ ├── pay-success.png │ │ ├── renewal.png │ │ ├── ruchang.png │ │ ├── screen │ │ │ ├── abnormal.png │ │ │ ├── entrance.png │ │ │ ├── headerBg.png │ │ │ ├── incomeBg.png │ │ │ ├── infoItem.png │ │ │ ├── information.png │ │ │ ├── inoutcount.png │ │ │ ├── inoutpark.png │ │ │ ├── inpark.png │ │ │ ├── notUsed.png │ │ │ ├── offLine.png │ │ │ ├── onLine.png │ │ │ ├── onlineBg.png │ │ │ ├── outPark.png │ │ │ ├── parkall.png │ │ │ ├── screen.jpg │ │ │ ├── screen.png │ │ │ └── screenBg.png │ │ ├── shangxian.png │ │ ├── shop-car.png │ │ ├── shop │ │ │ ├── carbg.png │ │ │ ├── in-dev.png │ │ │ ├── ocr-tip-bg.png │ │ │ ├── order-info-error.png │ │ │ ├── shop-admin-bgimg.png │ │ │ ├── shop-header-bg.png │ │ │ ├── shop-header-bg2.png │ │ │ ├── state-available.png │ │ │ └── state-unavailable.png │ │ ├── user.png │ │ ├── vcode.png │ │ ├── within-logo.png │ │ ├── within-logo2.png │ │ ├── xiaxian.png │ │ └── zaichang.png │ ├── lg.png │ ├── lg1.png │ ├── lg3.png │ ├── loading.gif │ ├── login_logo.png │ ├── logo.png │ ├── logo_top.png │ ├── menu.svg │ ├── off.gif │ ├── off.png │ ├── on.gif │ ├── on.png │ ├── order.svg │ ├── pwd.png │ ├── shop-iconfont │ │ ├── DIGITAL-Regular.eot │ │ ├── DIGITAL-Regular.ttf │ │ ├── iconfont.css │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ ├── success.gif │ └── user.png ├── common │ ├── css │ │ ├── common.css │ │ ├── datacenter.css │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── fonts │ │ ├── DIGITAL-Dream.TTF │ │ ├── DIGITAL-Dreamfat.ttf │ │ ├── DIGITAL-Regular.ttf │ │ └── customfont.css │ └── js │ │ ├── auth.js │ │ ├── common.js │ │ ├── connector.js │ │ ├── const.js │ │ ├── const_test.js │ │ ├── const_yun.js │ │ ├── dataTranslate.js │ │ ├── env.js │ │ ├── fetch.js │ │ ├── jquery.js │ │ ├── util.js │ │ ├── vue-router.js │ │ ├── vue.js │ │ └── vue.min.js ├── components │ ├── AddForm.vue │ ├── ChartsPie.vue │ ├── CommonTable.vue │ ├── ComplexSearch.vue │ ├── CountBar.vue │ ├── CustomKeyboard.vue │ ├── DateSelector.vue │ ├── EditForm.vue │ ├── InforCard.vue │ ├── Keyboard.vue │ ├── NumberRoller.vue │ ├── SingleNumberRoller.vue │ ├── Sticky │ │ └── index.vue │ ├── add-form │ │ ├── addForm.vue │ │ ├── input-number.vue │ │ └── item.vue │ ├── add-subs │ │ ├── AddButtons.vue │ │ ├── AddCityInfo.vue │ │ ├── AddDate.vue │ │ ├── AddEmployeeRole.vue │ │ ├── AddNumber.vue │ │ ├── AddSelect.vue │ │ ├── AddText.vue │ │ ├── AddTextarea.vue │ │ └── AddUpload.vue │ ├── creat-qrcode │ │ └── index.vue │ ├── edit-form │ │ ├── editForm.vue │ │ └── item.vue │ ├── edit-subs │ │ ├── EditDate.vue │ │ ├── EditNumber.vue │ │ ├── EditSelect.vue │ │ ├── EditText.vue │ │ ├── EditTextarea.vue │ │ └── EditUpload.vue │ ├── subs │ │ ├── Date.vue │ │ ├── Number.vue │ │ ├── Select.vue │ │ └── Text.vue │ ├── super-form │ │ ├── inline-form.vue │ │ ├── input-number.vue │ │ └── item.vue │ └── table │ │ ├── TabPane.vue │ │ ├── TableExpand.vue │ │ ├── expand.js │ │ └── sticky.vue ├── devicewin.js ├── main.js ├── monitor.js ├── pages │ ├── 404.vue │ ├── CarReduce.vue │ ├── CarReduce_back.vue │ ├── CodeReduce.vue │ ├── CodeReduce_back.vue │ ├── FreeCarReduce.vue │ ├── FreeCodeReduce.vue │ ├── FreeCodeReduce_back.vue │ ├── FreeReduceExport.vue │ ├── HomeCloud.vue │ ├── HomeCloud_Admin.vue │ ├── HomeCloud_City.vue │ ├── HomeCloud_Service.vue │ ├── HomeCloud_Union.vue │ ├── LoginCloud.vue │ ├── ReduceExport.vue │ ├── admin │ │ ├── BigScreen_Service.vue │ │ ├── City_Manage.vue │ │ ├── City_Manage_Staff.vue │ │ ├── City_Manage_back.vue │ │ ├── CreateUin.vue │ │ ├── Message_Service.vue │ │ ├── Program_Service.vue │ │ └── Public_Service.vue │ ├── city │ │ ├── Account.vue │ │ ├── Development.vue │ │ ├── Firm_SystemManage_Logs.vue │ │ ├── MoneyRecord.vue │ │ ├── NewUnionProfit.vue │ │ ├── humanResources │ │ │ ├── EmployeeManage.vue │ │ │ ├── MessageNtification.vue │ │ │ └── RoleManage.vue │ │ ├── parkManagement │ │ │ ├── MaterielTable.vue │ │ │ ├── Park_Manage.vue │ │ │ ├── Park_Manage_Staff.vue │ │ │ └── template │ │ │ │ ├── ChargingAssembly.vue │ │ │ │ └── StaffAssembly.vue │ │ ├── personalitySettings │ │ │ ├── Setting_Manage.vue │ │ │ └── authSetting.vue │ │ ├── serManagement │ │ │ ├── Ser_Manage.vue │ │ │ └── Ser_Manage_Staff.vue │ │ └── unionManagement │ │ │ ├── Union_Manage.vue │ │ │ └── Union_Manage_Staff.vue │ ├── other │ │ ├── assets │ │ │ └── images │ │ │ │ ├── within-logo.png │ │ │ │ ├── within-logo2.png │ │ │ │ └── yunbo.jpg │ │ └── union │ │ │ ├── Data_Center.vue │ │ │ ├── assets │ │ │ └── images │ │ │ │ └── dataCenter │ │ │ │ ├── all-right.png │ │ │ │ ├── all.png │ │ │ │ ├── black-right.png │ │ │ │ ├── black.png │ │ │ │ ├── month-right.png │ │ │ │ ├── month.png │ │ │ │ ├── park-right.png │ │ │ │ └── park.png │ │ │ └── components │ │ │ └── InforCard.vue │ ├── park │ │ ├── Abnormal_Order.vue │ │ ├── AddServices_Program.vue │ │ ├── AddServices_Public.vue │ │ ├── Bolink_Expense.vue │ │ ├── Bolink_Income.vue │ │ ├── Data_Center_Park.vue │ │ ├── Data_Screen.vue │ │ ├── EmployeePermission_EmployeeManage.vue │ │ ├── EmployeePermission_RoleManage.vue │ │ ├── EquipmentManage_Camera.vue │ │ ├── EquipmentManage_Channel.vue │ │ ├── EquipmentManage_Intercom.vue │ │ ├── EquipmentManage_LED.vue │ │ ├── EquipmentManage_Monitor.vue │ │ ├── EquipmentManage_Watchhouse.vue │ │ ├── EquipmentManage_WorkStation.vue │ │ ├── MonthMember_Refill.vue │ │ ├── MonthMember_VIP.vue │ │ ├── OnlinePay_CashManage.vue │ │ ├── OnlinePay_Income.vue │ │ ├── OrderManage_OrderDetail.vue │ │ ├── OrderManage_Orders.vue │ │ ├── OrderManage_Poles.vue │ │ ├── OrderStatistics_CollectorReport.vue │ │ ├── OrderStatistics_DailyBalance.vue │ │ ├── OrderStatistics_DailyReport.vue │ │ ├── OrderStatistics_MonthReport.vue │ │ ├── Park_WhiteList.vue │ │ ├── PrepayCard_Trade.vue │ │ ├── PrepayCard_Use.vue │ │ ├── PrepayCard_VIP.vue │ │ ├── Reduce_Record.vue │ │ ├── ShopManage_Coupon.vue │ │ ├── ShopManage_QueryAccount.vue │ │ ├── ShopManage_Shop.vue │ │ ├── SystemManage_Account.vue │ │ ├── SystemManage_Account_back.vue │ │ ├── SystemManage_BlackList.vue │ │ ├── SystemManage_CarManage_BindType.vue │ │ ├── SystemManage_CarManage_CarType.vue │ │ ├── SystemManage_Commute.vue │ │ ├── SystemManage_FreeReason.vue │ │ ├── SystemManage_Logs.vue │ │ ├── SystemManage_MonthCard.vue │ │ ├── SystemManage_Params.vue │ │ ├── SystemManage_Price.vue │ │ ├── SystemManage_Screen.vue │ │ ├── SystemManage_Sms.vue │ │ ├── VistorManage_HomeOwner.vue │ │ ├── VistorManage_VistorMember.vue │ │ ├── index.vue │ │ └── shopMange_Shop_Staff.vue │ ├── service │ │ ├── MoneyRecord.vue │ │ ├── NewUnionProfit.vue │ │ ├── humanResources │ │ │ ├── EmployeeManage.vue │ │ │ └── RoleManage.vue │ │ ├── myAccount.vue │ │ ├── operatorManage │ │ │ ├── Operator_Manage.vue │ │ │ └── Operator_Manage_Staff.vue │ │ ├── parkManage │ │ │ ├── Park_Manage.vue │ │ │ ├── Park_Manage_Detail.vue │ │ │ └── Park_Manage_Staff.vue │ │ └── subService │ │ │ ├── subservice_Manage.vue │ │ │ └── subservice_Manage_Staff.vue │ ├── shop │ │ ├── CarDiscount.vue │ │ ├── CarReduce.vue │ │ ├── EmployeePermission_EmployeeManage.vue │ │ ├── EmployeePermission_RoleManage.vue │ │ ├── FixCode.vue │ │ ├── FreeCarReduce.vue │ │ ├── ShopAccount.vue │ │ ├── ShopRecharge.vue │ │ └── TicketManage.vue │ └── union │ │ ├── Bolink_Expense.vue │ │ ├── Bolink_Income.vue │ │ ├── BusinessOrderDetails.vue │ │ ├── BusinessOrder_Cars.vue │ │ ├── BusinessOrder_Orders.vue │ │ ├── BusinessOrder_Poles.vue │ │ ├── BusinessOrder_Reduce.vue │ │ ├── Data_Center.vue │ │ ├── Member_BlackList.vue │ │ ├── Member_MonthVIP.vue │ │ ├── Member_PrepayCardVIP.vue │ │ ├── Member_WhiteList.vue │ │ ├── StrategicAnalysis_DailyParkReport.vue │ │ ├── StrategicAnalysis_DailyReport.vue │ │ ├── StrategicAnalysis_MonthReport.vue │ │ ├── SystemSetting_Account.vue │ │ ├── SystemSetting_EmployeeManage.vue │ │ ├── SystemSetting_LogsCollector.vue │ │ ├── SystemSetting_LogsOperate.vue │ │ ├── SystemSetting_Park.vue │ │ ├── SystemSetting_Park_Staff.vue │ │ ├── SystemSetting_RoleManage.vue │ │ └── valueAddedService │ │ └── smsService │ │ ├── smsDistribution.vue │ │ └── smsService.vue ├── router │ ├── _import_dev.js │ ├── _import_other.js │ ├── _import_produce.js │ ├── _import_production.js │ ├── _import_test.js │ └── routes.js ├── store │ ├── getters.js │ ├── index.js │ └── modules │ │ ├── app.js │ │ └── user.js ├── styles │ ├── Home.scss │ ├── common-style.scss │ ├── common-variables.scss │ ├── element-variables.scss │ ├── index.scss │ ├── mixin.scss │ └── other-variables.scss └── vuex │ ├── actions.js │ ├── getters.js │ └── store.js ├── static ├── .gitkeep ├── dll.vendor_60cc45.js ├── js │ ├── dll.dll.js │ └── vendor.dll.js └── test.txt └── theme ├── alert.css ├── aside.css ├── autocomplete.css ├── badge.css ├── base.css ├── breadcrumb-item.css ├── breadcrumb.css ├── button-group.css ├── button.css ├── card.css ├── carousel-item.css ├── carousel.css ├── cascader.css ├── checkbox-button.css ├── checkbox-group.css ├── checkbox.css ├── col.css ├── collapse-item.css ├── collapse.css ├── color-picker.css ├── container.css ├── date-picker.css ├── dialog.css ├── display.css ├── dropdown-item.css ├── dropdown-menu.css ├── dropdown.css ├── element-variables.css ├── fonts ├── element-icons.ttf └── element-icons.woff ├── footer.css ├── form-item.css ├── form.css ├── header.css ├── icon.css ├── index.css ├── input-number.css ├── input.css ├── loading.css ├── main.css ├── menu-item-group.css ├── menu-item.css ├── menu.css ├── message-box.css ├── message.css ├── notification.css ├── option-group.css ├── option.css ├── pagination.css ├── popover.css ├── popper.css ├── progress.css ├── radio-button.css ├── radio-group.css ├── radio.css ├── rate.css ├── reset.css ├── row.css ├── scrollbar.css ├── select-dropdown.css ├── select.css ├── slider.css ├── spinner.css ├── step.css ├── steps.css ├── submenu.css ├── switch.css ├── tab-pane.css ├── table-column.css ├── table.css ├── tabs.css ├── tag.css ├── time-picker.css ├── time-select.css ├── tooltip.css ├── transfer.css ├── tree.css └── upload.css /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-vue-jsx", "transform-runtime"], 12 | "env": { 13 | "development":{ 14 | "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"] 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | npm-debug.log 4 | .editorconfig 5 | user/ 6 | dist/ 7 | .idea/workspace.xml 8 | .idea/vcs.xml 9 | .idea/workspace.xml 10 | package-lock.json 11 | package-lock.json.* 12 | .idea/dictionaries 13 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/parkingos_cloud_vue.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/watcherTasks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016-present taylorchen709 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /build/build.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | require('./check-versions')() 3 | 4 | const ora = require('ora') 5 | const rm = require('rimraf') 6 | const path = require('path') 7 | const chalk = require('chalk') 8 | const webpack = require('webpack') 9 | const config = require('../config') 10 | const webpackConfig = require('./webpack.prod.conf') 11 | var connect = require('connect') 12 | var serveStatic = require('serve-static') 13 | 14 | const spinner = ora( 15 | 'building for ' + process.env.env_config + ' environment...' 16 | ) 17 | spinner.start() 18 | 19 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { 20 | if (err) throw err 21 | webpack(webpackConfig, (err, stats) => { 22 | spinner.stop() 23 | if (err) throw err 24 | process.stdout.write( 25 | stats.toString({ 26 | colors: true, 27 | modules: false, 28 | children: false, 29 | chunks: false, 30 | chunkModules: false 31 | }) + '\n\n' 32 | ) 33 | 34 | if (stats.hasErrors()) { 35 | console.log(chalk.red(' Build failed with errors.\n')) 36 | process.exit(1) 37 | } 38 | 39 | console.log(chalk.cyan(' Build complete.\n')) 40 | console.log( 41 | chalk.yellow( 42 | ' Tip: built files are meant to be served over an HTTP server.\n' + 43 | " Opening index.html over file:// won't work.\n" 44 | ) 45 | ) 46 | 47 | if (process.env.npm_config_preview) { 48 | const port = 9526 49 | const host = 'http://localhost:' + port 50 | const basePath = config.build.assetsPublicPath 51 | const app = connect() 52 | 53 | app.use( 54 | basePath, 55 | serveStatic('./dist', { 56 | index: ['index.html', '/'] 57 | }) 58 | ) 59 | 60 | app.listen(port, function() { 61 | console.log( 62 | chalk.green(`> Listening at http://localhost:${port}${basePath}`) 63 | ) 64 | }) 65 | } 66 | }) 67 | }) 68 | -------------------------------------------------------------------------------- /build/check-versions.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const chalk = require('chalk') 3 | const semver = require('semver') 4 | const packageConfig = require('../package.json') 5 | const shell = require('shelljs') 6 | 7 | function exec(cmd) { 8 | return require('child_process') 9 | .execSync(cmd) 10 | .toString() 11 | .trim() 12 | } 13 | 14 | const versionRequirements = [ 15 | { 16 | name: 'node', 17 | currentVersion: semver.clean(process.version), 18 | versionRequirement: packageConfig.engines.node 19 | } 20 | ] 21 | 22 | if (shell.which('npm')) { 23 | versionRequirements.push({ 24 | name: 'npm', 25 | currentVersion: exec('npm --version'), 26 | versionRequirement: packageConfig.engines.npm 27 | }) 28 | } 29 | 30 | module.exports = function() { 31 | const warnings = [] 32 | 33 | for (let i = 0; i < versionRequirements.length; i++) { 34 | const mod = versionRequirements[i] 35 | 36 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { 37 | warnings.push( 38 | mod.name + 39 | ': ' + 40 | chalk.red(mod.currentVersion) + 41 | ' should be ' + 42 | chalk.green(mod.versionRequirement) 43 | ) 44 | } 45 | } 46 | 47 | if (warnings.length) { 48 | console.log('') 49 | console.log( 50 | chalk.yellow( 51 | 'To use this template, you must update following to modules:' 52 | ) 53 | ) 54 | console.log() 55 | 56 | for (let i = 0; i < warnings.length; i++) { 57 | const warning = warnings[i] 58 | console.log(' ' + warning) 59 | } 60 | 61 | console.log() 62 | process.exit(1) 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /build/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/build/logo.png -------------------------------------------------------------------------------- /build/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const config = require('../config') 4 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') 5 | const packageConfig = require('../package.json') 6 | 7 | const cariablesFlis = ((process.env.NODE_ENV == 'dev') || (process.env.NODE_ENV == 'production') || (process.env.NODE_ENV == 'test'))?'common-variables.scss':'other-variables.scss' 8 | 9 | exports.assetsPath = function(_path) { 10 | const assetsSubDirectory = 11 | process.env.NODE_ENV === 'production' 12 | ? config.build.assetsSubDirectory 13 | : config.dev.assetsSubDirectory 14 | 15 | return path.posix.join(assetsSubDirectory, _path) 16 | } 17 | 18 | exports.cssLoaders = function(options) { 19 | options = options || {} 20 | 21 | const cssLoader = { 22 | loader: 'css-loader', 23 | options: { 24 | sourceMap: options.sourceMap 25 | } 26 | } 27 | 28 | const postcssLoader = { 29 | loader: 'postcss-loader', 30 | options: { 31 | sourceMap: options.sourceMap 32 | } 33 | } 34 | function resolveResource(name) { 35 | return path.resolve(__dirname, '../src/styles/' + name); 36 | } 37 | 38 | // generate loader string to be used with extract text plugin 39 | function generateLoaders(loader, loaderOptions) { 40 | const loaders = [] 41 | 42 | // Extract CSS when that option is specified 43 | // (which is the case during production build) 44 | if (options.extract) { 45 | loaders.push(MiniCssExtractPlugin.loader) 46 | } else { 47 | loaders.push('vue-style-loader') 48 | } 49 | 50 | loaders.push(cssLoader) 51 | 52 | if (options.usePostCSS) { 53 | loaders.push(postcssLoader) 54 | } 55 | 56 | if (loader) { 57 | if (loader === 'sass-resources') { 58 | loaders.push({ 59 | loader: 'sass-loader' 60 | }) 61 | } 62 | 63 | loaders.push({ 64 | loader: loader + '-loader', 65 | options: Object.assign({}, loaderOptions, { 66 | sourceMap: options.sourceMap 67 | }) 68 | }) 69 | } 70 | 71 | return loaders 72 | } 73 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html 74 | return { 75 | css: generateLoaders(), 76 | postcss: generateLoaders(), 77 | less: generateLoaders('less'), 78 | sass: generateLoaders('sass', { 79 | indentedSyntax: true 80 | }), 81 | scss: generateLoaders('sass-resources', { 82 | resources: [resolveResource(cariablesFlis)] 83 | }), 84 | stylus: generateLoaders('stylus'), 85 | styl: generateLoaders('stylus') 86 | } 87 | } 88 | 89 | // Generate loaders for standalone style files (outside of .vue) 90 | exports.styleLoaders = function(options) { 91 | const output = [] 92 | const loaders = exports.cssLoaders(options) 93 | 94 | for (const extension in loaders) { 95 | const loader = loaders[extension] 96 | output.push({ 97 | test: new RegExp('\\.' + extension + '$'), 98 | use: loader 99 | }) 100 | } 101 | 102 | return output 103 | } 104 | 105 | exports.createNotifierCallback = () => { 106 | const notifier = require('node-notifier') 107 | 108 | return (severity, errors) => { 109 | if (severity !== 'error') return 110 | 111 | const error = errors[0] 112 | const filename = error.file && error.file.split('!').pop() 113 | 114 | notifier.notify({ 115 | title: packageConfig.name, 116 | message: severity + ': ' + error.name, 117 | subtitle: filename || '', 118 | icon: path.join(__dirname, 'logo.png') 119 | }) 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | //You can set the vue-loader configuration by yourself. 5 | } 6 | -------------------------------------------------------------------------------- /build/webpack.dev.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const utils = require('./utils') 4 | const webpack = require('webpack') 5 | const config = require('../config') 6 | const merge = require('webpack-merge') 7 | const baseWebpackConfig = require('./webpack.base.conf') 8 | const HtmlWebpackPlugin = require('html-webpack-plugin') 9 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') 10 | const portfinder = require('portfinder') 11 | 12 | function resolve(dir) { 13 | return path.join(__dirname, '..', dir) 14 | } 15 | const env = require('../config/' + process.env.env_config + '.env') 16 | const HOST = process.env.HOST 17 | const PORT = process.env.PORT && Number(process.env.PORT) 18 | 19 | const devWebpackConfig = merge(baseWebpackConfig, { 20 | mode: 'development', 21 | module: { 22 | rules: utils.styleLoaders({ 23 | sourceMap: config.dev.cssSourceMap, 24 | usePostCSS: true 25 | }) 26 | }, 27 | // cheap-module-eval-source-map is faster for development 28 | devtool: config.dev.devtool, 29 | 30 | // these devServer options should be customized in /config/index.js 31 | devServer: { 32 | clientLogLevel: 'warning', 33 | historyApiFallback: true, 34 | hot: true, 35 | compress: true, 36 | host: HOST || config.dev.host, 37 | port: PORT || config.dev.port, 38 | open: config.dev.autoOpenBrowser, 39 | overlay: config.dev.errorOverlay 40 | ? { warnings: false, errors: true } 41 | : false, 42 | publicPath: config.dev.assetsPublicPath, 43 | proxy: config.dev.proxyTable, 44 | quiet: true, // necessary for FriendlyErrorsPlugin 45 | watchOptions: { 46 | poll: config.dev.poll 47 | } 48 | }, 49 | plugins: [ 50 | new webpack.DefinePlugin({ 51 | 'process.env': env 52 | }), 53 | new webpack.HotModuleReplacementPlugin(), 54 | // https://github.com/ampedandwired/html-webpack-plugin 55 | new HtmlWebpackPlugin({ 56 | filename: 'index.html', 57 | template: 'index.html', 58 | inject: true, 59 | favicon: resolve('favicon.ico'), 60 | title: 'vue-element-admin', 61 | templateParameters: { 62 | BASE_URL: config.dev.assetsPublicPath + config.dev.assetsSubDirectory, 63 | }, 64 | }), 65 | ] 66 | }) 67 | 68 | module.exports = new Promise((resolve, reject) => { 69 | portfinder.basePort = process.env.PORT || config.dev.port 70 | portfinder.getPort((err, port) => { 71 | if (err) { 72 | reject(err) 73 | } else { 74 | // publish the new Port, necessary for e2e tests 75 | process.env.PORT = port 76 | // add port to devServer config 77 | devWebpackConfig.devServer.port = port 78 | 79 | // Add FriendlyErrorsPlugin 80 | devWebpackConfig.plugins.push( 81 | new FriendlyErrorsPlugin({ 82 | compilationSuccessInfo: { 83 | messages: [ 84 | `Your application is running here: http://${ 85 | devWebpackConfig.devServer.host 86 | }:${port}` 87 | ] 88 | }, 89 | onErrors: config.dev.notifyOnErrors 90 | ? utils.createNotifierCallback() 91 | : undefined 92 | }) 93 | ) 94 | 95 | resolve(devWebpackConfig) 96 | } 97 | }) 98 | }) 99 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"dev"', 3 | ENV_CONFIG: '"dev"', 4 | BASE_API: '"https://api-dev"' 5 | } 6 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | // Template version: 1.2.6 3 | // see http://vuejs-templates.github.io/webpack for documentation. 4 | 5 | const path = require('path') 6 | 7 | module.exports = { 8 | dev: { 9 | // Paths 10 | assetsSubDirectory: 'static', 11 | assetsPublicPath: '/', 12 | proxyTable: {}, 13 | 14 | // Various Dev Server settings 15 | 16 | // can be overwritten by process.env.HOST 17 | // if you want dev by ip, please set host: '0.0.0.0' 18 | host: 'localhost', 19 | port: 8086, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined 20 | autoOpenBrowser: true, 21 | errorOverlay: true, 22 | notifyOnErrors: false, 23 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- 24 | 25 | // Use Eslint Loader? 26 | // If true, your code will be linted during bundling and 27 | // linting errors and warnings will be shown in the console. 28 | useEslint: true, 29 | // If true, eslint errors and warnings will also be shown in the error overlay 30 | // in the browser. 31 | showEslintErrorsInOverlay: false, 32 | 33 | /** 34 | * Source Maps 35 | */ 36 | 37 | // https://webpack.js.org/configuration/devtool/#development 38 | devtool: 'cheap-source-map', 39 | 40 | // CSS Sourcemaps off by default because relative paths are "buggy" 41 | // with this option, according to the CSS-Loader README 42 | // (https://github.com/webpack/css-loader#sourcemaps) 43 | // In our experience, they generally work as expected, 44 | // just be aware of this issue when enabling this option. 45 | cssSourceMap: false 46 | }, 47 | 48 | build: { 49 | // Template for index.html 50 | index: path.resolve(__dirname, '../dist/login.html'), 51 | 52 | // Paths 53 | assetsRoot: path.resolve(__dirname, '../dist'), 54 | assetsSubDirectory: 'static', 55 | 56 | /** 57 | * You can set by youself according to actual condition 58 | * You will need to set this if you plan to deploy your site under a sub path, 59 | * for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/, 60 | * then assetsPublicPath should be set to "/bar/". 61 | * In most cases please use '/' !!! 62 | */ 63 | assetsPublicPath: './', 64 | 65 | /** 66 | * Source Maps 67 | */ 68 | productionSourceMap: false, 69 | // https://webpack.js.org/configuration/devtool/#production 70 | devtool: 'source-map', 71 | 72 | // Gzip off by default as many popular static hosts such as 73 | // Surge or Netlify already gzip all static assets for you. 74 | // Before setting to `true`, make sure to: 75 | // npm install --save-dev compression-webpack-plugin 76 | productionGzip: false, 77 | productionGzipExtensions: ['js', 'css'], 78 | 79 | // Run the build command with an extra argument to 80 | // View the bundle analyzer report after build finishes: 81 | // `npm run build:prod --report` 82 | // Set to `true` or `false` to always turn it on or off 83 | bundleAnalyzerReport: process.env.npm_config_report || false, 84 | 85 | // `npm run build:prod --generate_report` 86 | generateAnalyzerReport: process.env.npm_config_generate_report || false 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /config/other.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"other"', 3 | ENV_CONFIG: '"other"', 4 | BASE_API: '"https://api-dev"' 5 | } 6 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"production"', 3 | ENV_CONFIG: '"prod"', 4 | BASE_API: '"https://api-prod"' 5 | } 6 | -------------------------------------------------------------------------------- /config/produce.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"produce"', 3 | ENV_CONFIG: '"produce"', 4 | BASE_API: '"https://api-prod"' 5 | } 6 | -------------------------------------------------------------------------------- /config/test.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"test"', 3 | ENV_CONFIG: '"test"', 4 | BASE_API: '"https://api-sit"' 5 | } 6 | -------------------------------------------------------------------------------- /devicewin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 设备管理 8 | 9 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/favicon.ico -------------------------------------------------------------------------------- /dist/static/fonts/DIGITAL-Regular.331f46f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/fonts/DIGITAL-Regular.331f46f.ttf -------------------------------------------------------------------------------- /dist/static/fonts/DIGITAL-Regular.7c11c61.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/fonts/DIGITAL-Regular.7c11c61.eot -------------------------------------------------------------------------------- /dist/static/fonts/element-icons.6f0a763.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/fonts/element-icons.6f0a763.ttf -------------------------------------------------------------------------------- /dist/static/fonts/iconfont.3d29e64.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/fonts/iconfont.3d29e64.ttf -------------------------------------------------------------------------------- /dist/static/fonts/iconfont.64a01d6.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/fonts/iconfont.64a01d6.eot -------------------------------------------------------------------------------- /dist/static/img/bgImg.c85c2af.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/bgImg.c85c2af.jpg -------------------------------------------------------------------------------- /dist/static/img/carbg.6d415a6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/carbg.6d415a6.png -------------------------------------------------------------------------------- /dist/static/img/headerBg.3ec45dd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/headerBg.3ec45dd.png -------------------------------------------------------------------------------- /dist/static/img/inoutcount.7a4a85c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/inoutcount.7a4a85c.png -------------------------------------------------------------------------------- /dist/static/img/order-info-error.0bd5c2e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/order-info-error.0bd5c2e.png -------------------------------------------------------------------------------- /dist/static/img/screenBg.8b1d143.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/screenBg.8b1d143.png -------------------------------------------------------------------------------- /dist/static/img/shop-header-bg.9ad4a9b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/shop-header-bg.9ad4a9b.png -------------------------------------------------------------------------------- /dist/static/img/shop-header-bg2.f5ae7d9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/img/shop-header-bg2.f5ae7d9.png -------------------------------------------------------------------------------- /dist/static/test.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/dist/static/test.txt -------------------------------------------------------------------------------- /docs/assets/eu-da8078d54b4abf70799ad11a4d31071f.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/eu-da8078d54b4abf70799ad11a4d31071f.jpeg -------------------------------------------------------------------------------- /docs/assets/iconfont-51a180261bc13bd924dcb053b67c1909.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/iconfont-51a180261bc13bd924dcb053b67c1909.png -------------------------------------------------------------------------------- /docs/assets/iconfont-demo-51a180261bc13bd924dcb053b67c1909.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/iconfont-demo-51a180261bc13bd924dcb053b67c1909.png -------------------------------------------------------------------------------- /docs/assets/logo-6570e94ccedb8bfad887ae87385c24fc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/logo-6570e94ccedb8bfad887ae87385c24fc.png -------------------------------------------------------------------------------- /docs/assets/onekey-5c608ec520618beb00c312cb7a413caf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/onekey-5c608ec520618beb00c312cb7a413caf.jpg -------------------------------------------------------------------------------- /docs/assets/parkingos-8629c0547f8428da74196650a8279746.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/parkingos-8629c0547f8428da74196650a8279746.jpeg -------------------------------------------------------------------------------- /docs/assets/spring-b6c78951c046ea0f63f2d8afd910a416.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/assets/spring-b6c78951c046ea0f63f2d8afd910a416.jpg -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ParkingOS 11 | 12 | 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/website/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [["latest", { 3 | "es2015": { 4 | "modules": false 5 | } 6 | }]], 7 | "plugins": ["transform-vue-jsx"], 8 | "comments": false 9 | } 10 | -------------------------------------------------------------------------------- /docs/website/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | lib 3 | src/utils/Scroller.js 4 | example/util/spin.js -------------------------------------------------------------------------------- /docs/website/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "wdfe", 3 | "plugins": ["vue"], 4 | "parser": "babel-eslint" 5 | } 6 | -------------------------------------------------------------------------------- /docs/website/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | coverage/ 4 | temp/ 5 | node_modules/ 6 | npm-debug.log 7 | yarn-error.log 8 | yarn.lock 9 | stats.json 10 | .history -------------------------------------------------------------------------------- /docs/website/README.md: -------------------------------------------------------------------------------- 1 | # 主页生成器 2 | 3 | ## 新增文档 4 | 5 | ### 新增一级主题 6 | 7 | - 在 router 中添加新的主题 8 | 9 | ```js 10 | { 11 | path: '/others/:article', 12 | name: 'Others', 13 | component: UsageSidebar 14 | } 15 | ``` 16 | 17 | - 在 UsageSidebar.vue 中新增 Template 18 | 19 | ```html 20 | 28 | 29 | 33 | ``` 34 | 35 | ```js 36 | others: [ 37 | { 38 | en: 'api-list', 39 | zh: '支持的 API', 40 | }, 41 | ], 42 | ``` 43 | 44 | ### 在以及主题下添加文档 45 | 46 | - 在 Mrakdown.vue 中引入新增的文档 47 | 48 | ```js 49 | // 1 50 | import APIList from '../../../../zh-cn/Others/API.md'; 51 | 52 | // 2 53 | const mdList = { 54 | ... 55 | 'api-list': APIList, 56 | ... 57 | }; 58 | ``` 59 | 60 | - 在 UsageSidebar.vue 中引入 61 | 62 | ```js 63 | others: [ 64 | { 65 | en: 'api-list', 66 | zh: '支持的 API', 67 | }, 68 | ], 69 | ``` 70 | -------------------------------------------------------------------------------- /docs/website/config/webpack.build-website.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const HtmlwebpackPlugin = require('html-webpack-plugin') 3 | const autoprefixer = require('autoprefixer') 4 | const webpack = require('webpack') 5 | 6 | module.exports = { 7 | entry: { 8 | 'js/index': path.resolve( 9 | path.resolve(path.resolve(__dirname), '../page'), 10 | './index.js' 11 | ) 12 | }, 13 | output: { 14 | path: path.resolve(path.resolve(__dirname), '../../'), 15 | filename: '[name].[hash:8].js', 16 | chunkFilename: 'js/[name].[hash:8].js' 17 | }, 18 | module: { 19 | rules: [ 20 | { 21 | test: /\.js$/, 22 | loader: 'babel-loader', 23 | exclude: /node_modules/ 24 | }, 25 | { 26 | test: /\.vue$/, 27 | loaders: [ 28 | { 29 | loader: 'vue-loader', 30 | options: { 31 | postcss: { 32 | plugins: [ 33 | autoprefixer({ 34 | browsers: ['> 1%', 'ie >= 9', 'iOS >= 6', 'Android >= 2.1'] 35 | }) 36 | ] 37 | } 38 | } 39 | } 40 | ] 41 | }, 42 | { 43 | test: /\.(css|scss|sass)$/, 44 | loaders: ['style-loader', 'css-loader', 'sass-loader'] 45 | }, 46 | { 47 | test: /\.md$/, 48 | use: [ 49 | { 50 | loader: 'html-loader' 51 | }, 52 | { 53 | loader: 'markdown-loader', 54 | options: { 55 | /* your options here */ 56 | } 57 | } 58 | ] 59 | }, 60 | { 61 | test: /\.(eot|svg|ttf|woff|woff2|png|jpe?g|gif|svg)(\?t=\d+)?$/, 62 | loaders: [ 63 | { 64 | loader: 'url-loader?limit=8192&name=assets/[name]-[hash].[ext]' 65 | } 66 | ] 67 | } 68 | ] 69 | }, 70 | plugins: [ 71 | new webpack.DefinePlugin({ 72 | 'process.env': { 73 | NODE_ENV: '"development"' 74 | } 75 | }), 76 | new HtmlwebpackPlugin({ 77 | template: path.resolve(__dirname, '../page/index.html'), 78 | filename: 'index.html', 79 | inject: 'body' 80 | }), 81 | new webpack.ProvidePlugin({ 82 | hljs: path.resolve( 83 | path.resolve(path.resolve(__dirname), '../page'), 84 | './assets/js/highlight/highlight.pack.js' 85 | ) 86 | }), 87 | new webpack.optimize.UglifyJsPlugin({ 88 | output: { 89 | comments: false 90 | }, 91 | compress: { 92 | warnings: false 93 | } 94 | }) 95 | ] 96 | } 97 | -------------------------------------------------------------------------------- /docs/website/config/webpack.dev-website.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const HtmlwebpackPlugin = require('html-webpack-plugin') 3 | const autoprefixer = require('autoprefixer') 4 | const webpack = require('webpack') 5 | 6 | module.exports = { 7 | entry: { 8 | 'hera-website/js/index': path.resolve( 9 | path.resolve(path.resolve(__dirname), '../page'), 10 | './index.js' 11 | ) 12 | }, 13 | output: { 14 | path: path.resolve(path.resolve(__dirname), '../temp'), 15 | publicPath: '/', 16 | filename: '[name].[hash:8].js', 17 | chunkFilename: 'hera-website/js/[name].[hash:8].js' 18 | }, 19 | module: { 20 | rules: [ 21 | { 22 | test: /\.js$/, 23 | loader: 'babel-loader', 24 | exclude: /node_modules/ 25 | }, 26 | { 27 | test: /\.vue$/, 28 | loaders: [ 29 | { 30 | loader: 'vue-loader', 31 | options: { 32 | postcss: { 33 | plugins: [ 34 | autoprefixer({ 35 | browsers: ['> 1%', 'ie >= 9', 'iOS >= 6', 'Android >= 2.1'] 36 | }) 37 | ] 38 | } 39 | } 40 | } 41 | ] 42 | }, 43 | { 44 | test: /\.(css|scss|sass)$/, 45 | loaders: ['style-loader', 'css-loader', 'sass-loader'] 46 | }, 47 | { 48 | test: /\.md$/, 49 | use: [ 50 | { 51 | loader: 'html-loader' 52 | }, 53 | { 54 | loader: 'markdown-loader', 55 | options: { 56 | /* your options here */ 57 | } 58 | } 59 | ] 60 | }, 61 | { 62 | test: /\.(eot|svg|ttf|woff|woff2|png|jpe?g|gif|svg)(\?t=\d+)?$/, 63 | loaders: [ 64 | { 65 | loader: 'url-loader?limit=8192&name=[name]-[hash].[ext]' 66 | } 67 | ] 68 | } 69 | ] 70 | }, 71 | devtool: 'eval-source-map', 72 | devServer: { 73 | port: 8091, 74 | host: '127.0.0.1', 75 | https: false, 76 | compress: true, 77 | hot: true 78 | }, 79 | plugins: [ 80 | new webpack.DefinePlugin({ 81 | 'process.env': { 82 | NODE_ENV: '"development"' 83 | } 84 | }), 85 | new HtmlwebpackPlugin({ 86 | template: path.resolve(__dirname, '../page/index.html'), 87 | filename: 'index.html', 88 | chunks: ['hera-website/js/index'], 89 | inject: 'body' 90 | }), 91 | new webpack.ProvidePlugin({ 92 | hljs: path.resolve( 93 | path.resolve(path.resolve(__dirname), '../page'), 94 | './assets/js/highlight/highlight.pack.js' 95 | ) 96 | }), 97 | new webpack.HotModuleReplacementPlugin() 98 | ] 99 | } 100 | -------------------------------------------------------------------------------- /docs/website/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heradoc", 3 | "version": "1.0.0", 4 | "description": "doc website for hera", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "webpack-dev-server --progress --inline --config config/webpack.dev-website.config.js --host 0.0.0.0", 8 | "build": "NODE_ENV=production webpack --progress --config config/webpack.build-website.config.js --display-modules --sort-modules-by size", 9 | "deploy:gh-pages": "npm run build && git checkout gh-pages && cd ../../ && cp -r temp/* . && git add . && git commit -m 'chore: update doc' --no-verify", 10 | "lint": "eslint --fix ./website/**/*.js ./website/**/*.vue", 11 | "test": "echo \"Error: no test specified\" && exit 1" 12 | }, 13 | "devDependencies": { 14 | "babel-core": "^6.21.0", 15 | "babel-eslint": "^8.0.2", 16 | "babel-helper-vue-jsx-merge-props": "^2.0.2", 17 | "babel-loader": "^6.2.10", 18 | "babel-plugin-syntax-jsx": "^6.18.0", 19 | "babel-plugin-transform-vue-jsx": "^3.3.0", 20 | "babel-preset-latest": "^6.16.0", 21 | "css-loader": "^0.28.7", 22 | "es6-promise": "^4.0.5", 23 | "eslint": "^3.19.0", 24 | "eslint-config-wdfe": "^0.3.2", 25 | "eslint-loader": "^1.7.1", 26 | "eslint-plugin-vue": "^2.0.1", 27 | "file-loader": "^0.11.0", 28 | "html-loader": "^0.5.1", 29 | "html-webpack-plugin": "^2.28.0", 30 | "markdown-loader": "^2.0.1", 31 | "node-sass": "^4.5.2", 32 | "raw-loader": "^0.5.1", 33 | "sass-loader": "^6.0.3", 34 | "style-loader": "^0.19.0", 35 | "url-loader": "^0.5.7", 36 | "vue": "^2.2.6", 37 | "vue-loader": "^11.3.4", 38 | "vue-router": "^2.3.1", 39 | "vue-template-compiler": "^2.2.6", 40 | "webpack": "^2.3.2", 41 | "webpack-dev-server": "^2.2.0" 42 | }, 43 | "keywords": [ 44 | "doc", 45 | "hera" 46 | ], 47 | "author": "Junjie Ding", 48 | "license": "MIT" 49 | } 50 | -------------------------------------------------------------------------------- /docs/website/page/assets/images/HERA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/HERA.png -------------------------------------------------------------------------------- /docs/website/page/assets/images/eu.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/eu.jpeg -------------------------------------------------------------------------------- /docs/website/page/assets/images/index-kit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/index-kit.png -------------------------------------------------------------------------------- /docs/website/page/assets/images/index-lightweight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/index-lightweight.png -------------------------------------------------------------------------------- /docs/website/page/assets/images/index-powerful.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/index-powerful.png -------------------------------------------------------------------------------- /docs/website/page/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/logo.png -------------------------------------------------------------------------------- /docs/website/page/assets/images/onekey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/onekey.jpg -------------------------------------------------------------------------------- /docs/website/page/assets/images/parkingos.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/parkingos.jpeg -------------------------------------------------------------------------------- /docs/website/page/assets/images/sad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/sad.png -------------------------------------------------------------------------------- /docs/website/page/assets/images/spring.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/spring.jpg -------------------------------------------------------------------------------- /docs/website/page/assets/images/vue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/website/page/assets/images/vue.jpg -------------------------------------------------------------------------------- /docs/website/page/assets/js/highlight/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006, Ivan Sagalaev 2 | All rights reserved. 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of highlight.js nor the names of its contributors 12 | may be used to endorse or promote products derived from this software 13 | without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY 16 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /docs/website/page/assets/js/highlight/styles/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original highlight.js style (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #F0F0F0; 12 | } 13 | 14 | 15 | /* Base color: saturation 0; */ 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: #444; 20 | } 21 | 22 | .hljs-comment { 23 | color: #888888; 24 | } 25 | 26 | .hljs-keyword, 27 | .hljs-attribute, 28 | .hljs-selector-tag, 29 | .hljs-meta-keyword, 30 | .hljs-doctag, 31 | .hljs-name { 32 | font-weight: bold; 33 | } 34 | 35 | 36 | /* User color: hue: 0 */ 37 | 38 | .hljs-type, 39 | .hljs-string, 40 | .hljs-number, 41 | .hljs-selector-id, 42 | .hljs-selector-class, 43 | .hljs-quote, 44 | .hljs-template-tag, 45 | .hljs-deletion { 46 | color: #880000; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-section { 51 | color: #880000; 52 | font-weight: bold; 53 | } 54 | 55 | .hljs-regexp, 56 | .hljs-symbol, 57 | .hljs-variable, 58 | .hljs-template-variable, 59 | .hljs-link, 60 | .hljs-selector-attr, 61 | .hljs-selector-pseudo { 62 | color: #BC6060; 63 | } 64 | 65 | 66 | /* Language color: hue: 90; */ 67 | 68 | .hljs-literal { 69 | color: #78A960; 70 | } 71 | 72 | .hljs-built_in, 73 | .hljs-bullet, 74 | .hljs-code, 75 | .hljs-addition { 76 | color: #397300; 77 | } 78 | 79 | 80 | /* Meta color: hue: 200 */ 81 | 82 | .hljs-meta { 83 | color: #1f7199; 84 | } 85 | 86 | .hljs-meta-string { 87 | color: #4d99bf; 88 | } 89 | 90 | 91 | /* Misc effects */ 92 | 93 | .hljs-emphasis { 94 | font-style: italic; 95 | } 96 | 97 | .hljs-strong { 98 | font-weight: bold; 99 | } 100 | -------------------------------------------------------------------------------- /docs/website/page/assets/js/particles/particles.json: -------------------------------------------------------------------------------- 1 | { 2 | "particles": { 3 | "number": { 4 | "value": 331, 5 | "density": { 6 | "enable": true, 7 | "value_area": 3527.50653390415 8 | } 9 | }, 10 | "color": { 11 | "value": "#ffffff" 12 | }, 13 | "shape": { 14 | "type": "circle", 15 | "stroke": { 16 | "width": 0, 17 | "color": "#000000" 18 | }, 19 | "polygon": { 20 | "nb_sides": 5 21 | }, 22 | "image": { 23 | "src": "img/github.svg", 24 | "width": 100, 25 | "height": 100 26 | } 27 | }, 28 | "opacity": { 29 | "value": 0.5, 30 | "random": false, 31 | "anim": { 32 | "enable": false, 33 | "speed": 1, 34 | "opacity_min": 0.1, 35 | "sync": false 36 | } 37 | }, 38 | "size": { 39 | "value": 24.05118091298284, 40 | "random": true, 41 | "anim": { 42 | "enable": false, 43 | "speed": 40, 44 | "size_min": 0.1, 45 | "sync": false 46 | } 47 | }, 48 | "line_linked": { 49 | "enable": true, 50 | "distance": 150, 51 | "color": "#ffffff", 52 | "opacity": 0.4, 53 | "width": 1 54 | }, 55 | "move": { 56 | "enable": true, 57 | "speed": 6, 58 | "direction": "none", 59 | "random": false, 60 | "straight": false, 61 | "out_mode": "out", 62 | "bounce": false, 63 | "attract": { 64 | "enable": false, 65 | "rotateX": 600, 66 | "rotateY": 1200 67 | } 68 | } 69 | }, 70 | "interactivity": { 71 | "detect_on": "canvas", 72 | "events": { 73 | "onhover": { 74 | "enable": true, 75 | "mode": "repulse" 76 | }, 77 | "onclick": { 78 | "enable": true, 79 | "mode": "push" 80 | }, 81 | "resize": true 82 | }, 83 | "modes": { 84 | "grab": { 85 | "distance": 400, 86 | "line_linked": { 87 | "opacity": 1 88 | } 89 | }, 90 | "bubble": { 91 | "distance": 400, 92 | "size": 40, 93 | "duration": 2, 94 | "opacity": 8, 95 | "speed": 3 96 | }, 97 | "repulse": { 98 | "distance": 200, 99 | "duration": 0.4 100 | }, 101 | "push": { 102 | "particles_nb": 4 103 | }, 104 | "remove": { 105 | "particles_nb": 2 106 | } 107 | } 108 | }, 109 | "retina_detect": true 110 | } 111 | -------------------------------------------------------------------------------- /docs/website/page/assets/reset.css: -------------------------------------------------------------------------------- 1 | html{ font-size:62.5%; height: 100%;} 2 | body{ 3 | margin:0; 4 | padding:0; 5 | color:#222222; 6 | margin:0 auto; 7 | background: #F7F7F7; 8 | height: 100%; 9 | position: relative; 10 | } 11 | body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {margin:0;padding:0;} 12 | table{border-collapse:collapse; border-spacing:0;} 13 | fieldset,img{border:0;} 14 | address,caption,cite,code,dfn,em,th,var,i{font-style:normal;font-weight:normal;} 15 | ol,ul{list-style:none;} 16 | caption,th{text-align:left;} 17 | h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} 18 | q:before,q:after{content:'';} 19 | a:focus{outline-style:none;} 20 | abbr,acronym{border:0;font-variant:normal;} 21 | sup{vertical-align:text-top;} 22 | sub{vertical-align:text-bottom;} 23 | input,select{font-family:inherit;font-size:inherit;font-weight:inherit;vertical-align: middle; } 24 | textarea{resize:none;font-family:inherit;font-size:inherit;font-weight:inherit;outline-style:none;} 25 | 26 | html{font-size: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0); } 27 | body{overflow-x: hidden;color: #404040;} 28 | 29 | a { 30 | text-decoration: none; 31 | color: #000; 32 | } 33 | 34 | .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } 35 | -------------------------------------------------------------------------------- /docs/website/page/components/App/AppContent.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 131 | -------------------------------------------------------------------------------- /docs/website/page/components/App/AppHeader.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 48 | 49 | 153 | -------------------------------------------------------------------------------- /docs/website/page/components/Components/Markdown.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 67 | 68 | 142 | -------------------------------------------------------------------------------- /docs/website/page/components/Components/NotSupport.md: -------------------------------------------------------------------------------- 1 | > 抱歉,暂不支持当前组合方案 2 | 3 | ![](../../assets/images/sad.png) 4 | -------------------------------------------------------------------------------- /docs/website/page/components/Index.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 22 | 66 | -------------------------------------------------------------------------------- /docs/website/page/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ParkingOS 11 | 12 | 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/website/page/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-unused-vars */ 2 | import 'es6-promise/auto' 3 | import 'regenerator-runtime/runtime' 4 | import Vue from 'vue' 5 | import VueRouter from 'vue-router' 6 | import route from './router/index.js' 7 | import Index from './components/Index.vue' 8 | 9 | import './assets/reset.css' 10 | import './assets/js/highlight/styles/default.css' 11 | 12 | Vue.use(VueRouter) 13 | 14 | const router = new VueRouter(route) 15 | new Vue({ 16 | el: '#app', 17 | router: router, 18 | render(h) { 19 | return 20 | } 21 | }) 22 | -------------------------------------------------------------------------------- /docs/website/page/router/index.js: -------------------------------------------------------------------------------- 1 | import Index from '../components/Index/Index.vue' 2 | import UsageSidebar from '../components/App/UsageSidebar.vue' 3 | 4 | import QuickStart from '../components/Basics/QuickStart.vue' 5 | 6 | export default { 7 | routes: [ 8 | { 9 | path: '/', 10 | name: 'Index', 11 | component: Index 12 | }, 13 | { 14 | path: '/basics', 15 | name: 'Basics', 16 | component: UsageSidebar, 17 | children: [ 18 | { 19 | path: 'quickstart', 20 | name: 'QuickStart', 21 | component: QuickStart 22 | } 23 | ] 24 | }, 25 | { 26 | path: '/desc/:article', 27 | name: 'desc', 28 | component: UsageSidebar 29 | }, 30 | { 31 | path: '/quick/:article', 32 | name: 'quick', 33 | component: UsageSidebar 34 | }, 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /docs/website/page/util/utils.js: -------------------------------------------------------------------------------- 1 | export function highlightInit(hljs) { 2 | document.querySelectorAll('pre code').forEach(e => { 3 | hljs.highlightBlock(e) 4 | }) 5 | } 6 | 7 | export function capitalize(word) { 8 | return word.replace(/^([a-z])([a-z]+)/, (match, p1, p2) => { 9 | return `${p1.toUpperCase()}${p2}` 10 | }) 11 | } 12 | -------------------------------------------------------------------------------- /docs/zh-cn/desc/assets/iconfont-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/docs/zh-cn/desc/assets/iconfont-demo.png -------------------------------------------------------------------------------- /docs/zh-cn/desc/backend.md: -------------------------------------------------------------------------------- 1 | # 后端项目结构 2 | parkingos_cloud_vue_server 项目 3 | 新的parkingos后端使用成熟的springmvc+myibatis来实现 4 | 项目的源码结构和说明大概如下,并不是特别复杂 5 | 6 | ``` 7 | parkingos.com.bolink 8 | │ 9 | └───actions(spring controller类,请求的入口) 10 | │ 11 | │ 12 | └───dao(dao层,写后台服务的都懂) 13 | │ 14 | │ 15 | └───enums(枚举类) 16 | │ 17 | │ 18 | └───filter(过滤器,跨域头添加在这里实现) 19 | │ 20 | │ 21 | └───models(模型包,数据类) 22 | │ 23 | │ 24 | └───qo(分页,高级查询等数据库查询辅助类) 25 | │ 26 | │ 27 | └───service(service层,写后台服务的都懂) 28 | │ 29 | │ 30 | └───utils(工具类) 31 | │ 32 | │ 33 | └───payutils(支付相关工具类) 34 | 35 | ``` 36 | 37 | 基本上熟悉spring+myibatis的技术人员都可以看懂。 38 | 39 | 另外泊链在myibatis基础上封装链一个CommonDao来减少 40 | 一些xml配置的编写,二次开发的同学也可以继续使用xml写sql的方式来 41 | 实现对数据库的查询。 42 | -------------------------------------------------------------------------------- /docs/zh-cn/desc/frontend.md: -------------------------------------------------------------------------------- 1 | # 前端项目架构 2 | parkingos_cloud_vue 项目 3 | 前端项目使用vue+element-ui技术打造。 4 | 5 | ## 项目总结构: 6 | ``` 7 | parkingos-cloud-vue 8 | │ 9 | └───build(webpack 构建相关,具体可看webpack文档,完全标准化写法) 10 | │ 11 | │ 12 | └───config(构建环境变量配置,具体可看webpack文档,完全标准化写法) 13 | │ 14 | │ 15 | └───src(项目源码) 16 | │ 17 | │ 18 | └───theme(主题包,element主题包,可以通过修改这里的代码替换主题) 19 | │ 20 | │ 21 | └───index.html(主页模版) 22 | 23 | ``` 24 | 25 | ## 项目源码结构: 26 | 27 | ``` 28 | parkingos-cloud-vue 29 | │ 30 | └───src 31 | │ 32 | └───api(api地址配置及一些公用方法) 33 | │ 34 | │ 35 | └───assets(静态资源如图片等存放目录) 36 | │ 37 | │ 38 | └───common(公共css样式和js类) 39 | │ 40 | │ 41 | └───components(vue公共组件,比如滚动字,公共表格,公共高级搜索等) 42 | │ 43 | │ 44 | └───pages(具体页面,比如登陆/首页/统计等各个页面,其中LoginCloud.vue是登陆页面,登陆成果根据权限跳转其他页面) 45 | │ 46 | │ 47 | └───main.js(整个工程的入口js) 48 | │ 49 | │ 50 | └───App.vue(vue组建入口,main.js引入) 51 | │ 52 | │ 53 | └───routes.js(路由文件,vue-router的标准写法,具体可看官方文档) 54 | 55 | ``` 56 | -------------------------------------------------------------------------------- /docs/zh-cn/quick/frontend.md: -------------------------------------------------------------------------------- 1 | # 云平台后台项目 2 | 3 | parkingos是一个前后端分离的项目,前台是用vue+element-ui搭建的。 4 | 在开始搭建之前,我们需要安装nodejs和npm 5 | 6 | Node.js 就是运行在服务端的 JavaScript。 7 | npm 是javascript包管理工具。 8 | 这里我们不展开讲,可以参考 9 | 10 | nodejs和npm的安装文档 11 | 12 | 13 | 然后下载项目代码 14 | ``` 15 | git clone https://github.com/ParkingOS/parkingos_cloud_vue.git 16 | ``` 17 | 18 | 打开src/api/api.js 19 | 20 | 修改云平台请求的服务器地址为后端项目里“云平台后台服务器模块”的服务地址,如下所示: 21 | 22 | ``` 23 | export const path = 'http://120.25.121.204:8080/cloud'; //这里需要改成自己的私有云地址 24 | ``` 25 | 26 | 然后在根目录下运行(安装项目依赖的js包): 27 | 28 | ``` 29 | npm install 30 | ``` 31 | 32 | 然后在根目录下运行构建命令: 33 | 34 | 35 | ``` 36 | npm run build 37 | ``` 38 | 39 | 构建命令会生成一个user文件夹 40 | 41 | 文件夹下有3个html和一个static目录 42 | 43 | 其中login.html就是云平台的首页 44 | 45 | static目录里存放js/css/images 等静态资源 46 | 47 | 48 | 将user的文件夹下的文件整个拷贝到tomcat的ROOT目录下 49 | 然后访问login.html库即可 50 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/favicon.ico -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 智慧停车云 16 | 31 | 32 | 33 | 34 | 37 | 38 | 39 |
40 | 41 |
42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /monitor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 中央监控 8 | 9 | 10 | 11 |
12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /parkingos_cloud_vue.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # webpage 2 | bolink webpage based on [vuejs2](http://vuejs.org/) and [element](http://element.eleme.io/#/). 3 | 4 | ### Usage 5 | 6 | This is a project template for [vue-cli](https://github.com/vuejs/vue-cli). 7 | >* Install the latest release version of [node.js](https://nodejs.org/zh-cn/). 8 | >* Go to the project root directionary. 9 | >* Execute the following commands. 10 | ``` bash 11 | # install dependencies 12 | npm install 13 | 14 | # serve with hot reload at localhost:8081 15 | npm run dev 16 | 17 | # build for production with minification 18 | npm run build 19 | 20 | ``` 21 | 22 | ### Browser Support 23 | 24 | Modern browsers and Internet Explorer 10+. 25 | 26 | 27 | ### License 28 | [MIT](http://opensource.org/licenses/MIT) 29 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 16 | 17 | 47 | -------------------------------------------------------------------------------- /src/api/base.js: -------------------------------------------------------------------------------- 1 | import request from './request' 2 | 3 | export function getTableQuery($url,$sform) { 4 | return request({ 5 | url: $url, 6 | method: 'post', 7 | params:$sform 8 | }) 9 | 10 | } 11 | export function delTableData($url,$sform) { 12 | return request({ 13 | url: $url, 14 | method: 'post', 15 | params:$sform, 16 | headers: { 17 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 18 | } 19 | }) 20 | 21 | } 22 | export function editTableData($url,$sform) { 23 | return request({ 24 | url: $url, 25 | method: 'post', 26 | params:$sform, 27 | headers: { 28 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 29 | } 30 | }) 31 | } 32 | export function addTableData($url,$sform) { 33 | return request({ 34 | url: $url, 35 | method: 'post', 36 | params:$sform, 37 | headers: { 38 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 39 | } 40 | }) 41 | } 42 | 43 | export function getPayState($url,$sform) { 44 | return request({ 45 | url: $url, 46 | method: 'get', 47 | params:$sform, 48 | headers: { 49 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 50 | } 51 | }) 52 | } -------------------------------------------------------------------------------- /src/api/tcp.js: -------------------------------------------------------------------------------- 1 | import fetch from '../common/js/fetch' 2 | //beta-tcp地址 3 | // const apiUrl = ['//120.25.207.105/bpd/'] 4 | //s-tcp地址 5 | // const apiUrl = ['http://localhost/cms-web/'] 6 | const apiUrl = ['https://s.bolink.club/web/'] 7 | // const apiUrl = ['https://beta.bolink.club/web/'] 8 | export async function getStat() { 9 | const resultArr = [] 10 | const resultJson = {} 11 | console.log(apiUrl) 12 | for (var i = 0; i < apiUrl.length; i++) { 13 | const url = apiUrl[i] 14 | const result1 = (await fetch({ 15 | url: url + 'getconnstat', 16 | mode: 'cros', 17 | method: 'get' 18 | })).data 19 | resultArr.push(result1) 20 | // console.log(i, result1) 21 | for (const unionId in result1) { 22 | const jsonObj = result1[unionId] 23 | 24 | // console.log(unionId, jsonObj) 25 | if (resultJson[unionId]) { 26 | console.log('xx:', resultJson[unionId]) 27 | console.log('yy:', jsonObj) 28 | resultJson[unionId] = resultJson[unionId].concat(jsonObj) 29 | } else { 30 | resultJson[unionId] = jsonObj 31 | } 32 | } 33 | } 34 | // console.log(resultArr) 35 | // console.log(resultJson) 36 | // 合并同一个联盟的 37 | return resultJson 38 | } 39 | 40 | export async function getStatProfile() { 41 | const resultArr = [] 42 | const resultJson = {} 43 | console.log("======") 44 | for (var i = 0; i < apiUrl.length; i++) { 45 | const url = apiUrl[i] 46 | const result1 = (await fetch({ 47 | url: url + 'getconnstat', 48 | mode: 'cros', 49 | method: 'get' 50 | })).data 51 | resultArr.push(result1) 52 | console.log("======"+result1) 53 | for (const unionId in result1) { 54 | const jsonObj = result1[unionId] 55 | 56 | // console.log(unionId, jsonObj) 57 | if (resultJson[unionId]) { 58 | console.log('xx:', resultJson[unionId]) 59 | console.log('yy:', jsonObj) 60 | resultJson[unionId] = resultJson[unionId].concat(jsonObj) 61 | } else { 62 | console.log('unionId:',jsonObj) 63 | resultJson[unionId] = jsonObj 64 | } 65 | } 66 | } 67 | //console.log(resultArr) 68 | //console.log(resultJson) 69 | // 合并同一个联盟的 70 | return resultJson 71 | } 72 | -------------------------------------------------------------------------------- /src/assets/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/bg.jpg -------------------------------------------------------------------------------- /src/assets/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/bg.png -------------------------------------------------------------------------------- /src/assets/center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/center.png -------------------------------------------------------------------------------- /src/assets/center1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/center1.png -------------------------------------------------------------------------------- /src/assets/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/code.png -------------------------------------------------------------------------------- /src/assets/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/eye.png -------------------------------------------------------------------------------- /src/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/assets/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/iconfont.eot -------------------------------------------------------------------------------- /src/assets/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/iconfont.ttf -------------------------------------------------------------------------------- /src/assets/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/iconfont.woff -------------------------------------------------------------------------------- /src/assets/iconfont/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/iconfont/iconfont.eot -------------------------------------------------------------------------------- /src/assets/iconfont/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/iconfont/iconfont.ttf -------------------------------------------------------------------------------- /src/assets/iconfont/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/iconfont/iconfont.woff -------------------------------------------------------------------------------- /src/assets/images/bgImg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/bgImg.jpg -------------------------------------------------------------------------------- /src/assets/images/bgtext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/bgtext.png -------------------------------------------------------------------------------- /src/assets/images/checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/checked.png -------------------------------------------------------------------------------- /src/assets/images/chuchang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/chuchang.png -------------------------------------------------------------------------------- /src/assets/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/close.png -------------------------------------------------------------------------------- /src/assets/images/data-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/data-bg.png -------------------------------------------------------------------------------- /src/assets/images/eye-hide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/eye-hide.png -------------------------------------------------------------------------------- /src/assets/images/eye-show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/eye-show.png -------------------------------------------------------------------------------- /src/assets/images/info-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/info-icon.png -------------------------------------------------------------------------------- /src/assets/images/login-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/login-user.png -------------------------------------------------------------------------------- /src/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/logo.png -------------------------------------------------------------------------------- /src/assets/images/mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/mobile.png -------------------------------------------------------------------------------- /src/assets/images/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/no.png -------------------------------------------------------------------------------- /src/assets/images/no_car_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/no_car_photo.png -------------------------------------------------------------------------------- /src/assets/images/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/off.png -------------------------------------------------------------------------------- /src/assets/images/order-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/order-back.png -------------------------------------------------------------------------------- /src/assets/images/password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/password.png -------------------------------------------------------------------------------- /src/assets/images/pay-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/pay-error.png -------------------------------------------------------------------------------- /src/assets/images/pay-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/pay-success.png -------------------------------------------------------------------------------- /src/assets/images/renewal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/renewal.png -------------------------------------------------------------------------------- /src/assets/images/ruchang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/ruchang.png -------------------------------------------------------------------------------- /src/assets/images/screen/abnormal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/abnormal.png -------------------------------------------------------------------------------- /src/assets/images/screen/entrance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/entrance.png -------------------------------------------------------------------------------- /src/assets/images/screen/headerBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/headerBg.png -------------------------------------------------------------------------------- /src/assets/images/screen/incomeBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/incomeBg.png -------------------------------------------------------------------------------- /src/assets/images/screen/infoItem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/infoItem.png -------------------------------------------------------------------------------- /src/assets/images/screen/information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/information.png -------------------------------------------------------------------------------- /src/assets/images/screen/inoutcount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/inoutcount.png -------------------------------------------------------------------------------- /src/assets/images/screen/inoutpark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/inoutpark.png -------------------------------------------------------------------------------- /src/assets/images/screen/inpark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/inpark.png -------------------------------------------------------------------------------- /src/assets/images/screen/notUsed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/notUsed.png -------------------------------------------------------------------------------- /src/assets/images/screen/offLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/offLine.png -------------------------------------------------------------------------------- /src/assets/images/screen/onLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/onLine.png -------------------------------------------------------------------------------- /src/assets/images/screen/onlineBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/onlineBg.png -------------------------------------------------------------------------------- /src/assets/images/screen/outPark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/outPark.png -------------------------------------------------------------------------------- /src/assets/images/screen/parkall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/parkall.png -------------------------------------------------------------------------------- /src/assets/images/screen/screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/screen.jpg -------------------------------------------------------------------------------- /src/assets/images/screen/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/screen.png -------------------------------------------------------------------------------- /src/assets/images/screen/screenBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/screen/screenBg.png -------------------------------------------------------------------------------- /src/assets/images/shangxian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shangxian.png -------------------------------------------------------------------------------- /src/assets/images/shop-car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop-car.png -------------------------------------------------------------------------------- /src/assets/images/shop/carbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/carbg.png -------------------------------------------------------------------------------- /src/assets/images/shop/in-dev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/in-dev.png -------------------------------------------------------------------------------- /src/assets/images/shop/ocr-tip-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/ocr-tip-bg.png -------------------------------------------------------------------------------- /src/assets/images/shop/order-info-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/order-info-error.png -------------------------------------------------------------------------------- /src/assets/images/shop/shop-admin-bgimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/shop-admin-bgimg.png -------------------------------------------------------------------------------- /src/assets/images/shop/shop-header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/shop-header-bg.png -------------------------------------------------------------------------------- /src/assets/images/shop/shop-header-bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/shop-header-bg2.png -------------------------------------------------------------------------------- /src/assets/images/shop/state-available.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/state-available.png -------------------------------------------------------------------------------- /src/assets/images/shop/state-unavailable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/shop/state-unavailable.png -------------------------------------------------------------------------------- /src/assets/images/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/user.png -------------------------------------------------------------------------------- /src/assets/images/vcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/vcode.png -------------------------------------------------------------------------------- /src/assets/images/within-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/within-logo.png -------------------------------------------------------------------------------- /src/assets/images/within-logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/within-logo2.png -------------------------------------------------------------------------------- /src/assets/images/xiaxian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/xiaxian.png -------------------------------------------------------------------------------- /src/assets/images/zaichang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/images/zaichang.png -------------------------------------------------------------------------------- /src/assets/lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/lg.png -------------------------------------------------------------------------------- /src/assets/lg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/lg1.png -------------------------------------------------------------------------------- /src/assets/lg3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/lg3.png -------------------------------------------------------------------------------- /src/assets/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/loading.gif -------------------------------------------------------------------------------- /src/assets/login_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/login_logo.png -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/logo.png -------------------------------------------------------------------------------- /src/assets/logo_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/logo_top.png -------------------------------------------------------------------------------- /src/assets/menu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/off.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/off.gif -------------------------------------------------------------------------------- /src/assets/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/off.png -------------------------------------------------------------------------------- /src/assets/on.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/on.gif -------------------------------------------------------------------------------- /src/assets/on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/on.png -------------------------------------------------------------------------------- /src/assets/order.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/pwd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/pwd.png -------------------------------------------------------------------------------- /src/assets/shop-iconfont/DIGITAL-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/shop-iconfont/DIGITAL-Regular.eot -------------------------------------------------------------------------------- /src/assets/shop-iconfont/DIGITAL-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/shop-iconfont/DIGITAL-Regular.ttf -------------------------------------------------------------------------------- /src/assets/shop-iconfont/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/shop-iconfont/iconfont.eot -------------------------------------------------------------------------------- /src/assets/shop-iconfont/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/shop-iconfont/iconfont.ttf -------------------------------------------------------------------------------- /src/assets/shop-iconfont/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/shop-iconfont/iconfont.woff -------------------------------------------------------------------------------- /src/assets/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/success.gif -------------------------------------------------------------------------------- /src/assets/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/assets/user.png -------------------------------------------------------------------------------- /src/common/css/common.css: -------------------------------------------------------------------------------- 1 | .mytoolbars{ 2 | background:#fff; 3 | margin-bottom:5px; 4 | margin-top:5px 5 | } 6 | -------------------------------------------------------------------------------- /src/common/css/datacenter.css: -------------------------------------------------------------------------------- 1 | .pannel-center-sec .panel-right .panel-left { 2 | padding-top: 20px; 3 | display: flex; 4 | justify-content: center; 5 | } 6 | 7 | .panel-left .pannel-center, .panel-right .pannel-center, .pannel-center-sec .pannel-center { 8 | width: 90%; 9 | margin: auto; 10 | 11 | } 12 | 13 | .data-box { 14 | margin-top: 5px; 15 | } 16 | 17 | .cart-box { 18 | width: 48%; 19 | } 20 | 21 | .data-box .title { 22 | width: 90%; 23 | } 24 | 25 | .data-box .body { 26 | padding: 10px; 27 | background-color: #ffffff; 28 | } 29 | 30 | .caption { 31 | border-bottom: 1px solid #eef1f5; 32 | } 33 | 34 | .data-box .item-list { 35 | display: flex; 36 | justify-content: flex-start; 37 | flex-wrap: wrap; 38 | } 39 | 40 | .data-box .body .bar-item { 41 | margin-left: 5px; 42 | width: 40px; 43 | margin-bottom: 5px; 44 | } 45 | 46 | .data-box .body .bar-item .bar-text { 47 | color: #393a3e; 48 | line-height: 12px; 49 | text-align: center; 50 | font-size: 12px; 51 | margin-top: 6px; 52 | } 53 | 54 | .data-box .body .bar-item .bar { 55 | width: 40px; 56 | height: 40px; 57 | border-radius: 50%; 58 | } 59 | 60 | .data-box .body .bar-green { 61 | background-color: green; 62 | } 63 | 64 | .data-box .body .bar-red { 65 | background-color: red; 66 | } 67 | 68 | .data-box .body .item { 69 | margin-bottom: 20px; 70 | display: flex; 71 | justify-content: space-around; 72 | } 73 | 74 | .data-box .body .item-txt { 75 | color: #393a3e; 76 | line-height: 20px; 77 | font-size: 12px; 78 | } 79 | 80 | .data-box .body .item-num { 81 | display: flex; 82 | } 83 | 84 | .data-box .data-num { 85 | background-color: #393a3e; 86 | text-align: center; 87 | font-size: 20px; 88 | height: 20px; 89 | line-height: 20px; 90 | margin-left: 2px; 91 | border-radius: 2px; 92 | color: white; 93 | width: 20px; 94 | } 95 | 96 | .cart-in-out { 97 | display: flex; 98 | justify-content: space-around; 99 | } 100 | 101 | .font-yellow { 102 | color: #c49f47; 103 | } 104 | 105 | .gutter { 106 | display: none 107 | } 108 | 109 | * { 110 | margin: 0; 111 | padding: 0; 112 | } 113 | 114 | .box { 115 | 116 | line-height: 48px; 117 | overflow: hidden; 118 | transition: all 0.5s; 119 | } 120 | 121 | /*动画执行时间 0.5s*/ 122 | .anim { 123 | transition: all 0.5s; 124 | } 125 | 126 | .con1 li { 127 | list-style: none; 128 | line-height: 48px; 129 | height: 48px; 130 | } 131 | .conE li:nth-child(2n+1){ 132 | background-color: #EBEEF5 133 | } 134 | .conE li:nth-child(2n){ 135 | background-color: #FFFFFF 136 | } 137 | 138 | 139 | .flexdiv { 140 | 141 | } 142 | @keyframes rowup { 143 | 0% { 144 | -ms-transform: translateY(0); 145 | -webkit-transform: translateY(0); 146 | transform: translateY(0); 147 | } 148 | 100% { 149 | -ms-transform: translateY(-50%); 150 | -webkit-transform: translateY(-50%); 151 | transform: translateY(-50%); 152 | } 153 | } 154 | .rowup { 155 | animation-name:rowup; 156 | animation-timing-function:linear; 157 | animation-duration: 10s; 158 | animation-iteration-count:infinite; 159 | 160 | -ms-animation-name:rowup; 161 | -ms-animation-timing-function:linear; 162 | -ms-animation-duration: 10s; 163 | -ms-animation-iteration-count:infinite; 164 | position: relative; 165 | } 166 | -------------------------------------------------------------------------------- /src/common/css/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/common/css/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/common/css/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/common/css/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/common/fonts/DIGITAL-Dream.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/common/fonts/DIGITAL-Dream.TTF -------------------------------------------------------------------------------- /src/common/fonts/DIGITAL-Dreamfat.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/common/fonts/DIGITAL-Dreamfat.ttf -------------------------------------------------------------------------------- /src/common/fonts/DIGITAL-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/common/fonts/DIGITAL-Regular.ttf -------------------------------------------------------------------------------- /src/common/fonts/customfont.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'CustomDigigface'; 3 | src: url('DIGITAL-Regular.ttf'); 4 | font-weight: normal; 5 | font-style: normal; 6 | } 7 | -------------------------------------------------------------------------------- /src/common/js/auth.js: -------------------------------------------------------------------------------- 1 | import Cookies from 'js-cookie' 2 | 3 | const TokenKey = 'Admin-Token' 4 | 5 | export function getToken() { 6 | return Cookies.get(TokenKey) 7 | } 8 | 9 | export function setToken(token) { 10 | return Cookies.set(TokenKey, token) 11 | } 12 | 13 | export function removeToken() { 14 | return Cookies.remove(TokenKey) 15 | } 16 | -------------------------------------------------------------------------------- /src/common/js/connector.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | var connector = new Vue(); 3 | 4 | export default connector; -------------------------------------------------------------------------------- /src/common/js/const.js: -------------------------------------------------------------------------------- 1 | export const { AUTH_ID,AUTH_ID_ADMIN, showParkItem_const, 2 | AUTH_ID_UNION,showUnionItem_const, 3 | showShopItem_const,AUTH_ID_SHOP, 4 | showBossItem_const, 5 | AUTH_ID_SERVER,showServerItems_const, 6 | AUTH_ID_CITY,showCityItems_const, 7 | ROLE_ID } = process.env.NODE_ENV == 'production' ? require('./const_yun'): process.env.NODE_ENV == 'produce' ? require('./const_yun'): require('./const_test'); -------------------------------------------------------------------------------- /src/common/js/dataTranslate.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: sunlandong 3 | * @Date: 2017-03-11 12:06:49 4 | * @Last Modified by: sunlandong 5 | * @Last Modified time: 2017-03-11 16:30:03 6 | */ 7 | 8 | import Vue from 'vue' 9 | function DataTransfer (data) { 10 | if (!(this instanceof DataTransfer)) { 11 | return new DataTransfer(data, null, null) 12 | } 13 | } 14 | 15 | DataTransfer.treeToArray = function (data, parent, level, expandedAll) { 16 | let tmp = [] 17 | Array.from(data).forEach(function (record) { 18 | if (record._expanded === undefined) { 19 | Vue.set(record, '_expanded', expandedAll) 20 | } 21 | if (parent) { 22 | Vue.set(record, '_parent', parent) 23 | } 24 | let _level = 0 25 | if (level !== undefined && level !== null) { 26 | _level = level + 1 27 | } 28 | Vue.set(record, '_level', _level) 29 | tmp.push(record) 30 | if (record.children && record.children.length > 0) { 31 | let children = DataTransfer.treeToArray(record.children, record, _level, expandedAll) 32 | tmp = tmp.concat(children) 33 | } 34 | }) 35 | // console.log('.......................') 36 | // console.log(data) 37 | // console.log(tmp) 38 | // console.log('.......................') 39 | 40 | return tmp 41 | } 42 | 43 | export default DataTransfer 44 | -------------------------------------------------------------------------------- /src/common/js/env.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 配置编译环境和线上环境之间的切换 3 | * 以及静态变量 4 | * baseUrl: 域名地址 5 | * 6 | */ 7 | let path = ''; 8 | let path2 = ''; 9 | let server = ''; 10 | let bolinkPath =''; 11 | let percision = ''; 12 | 13 | if (process.env.NODE_ENV == 'production') { //生产环境走的地址 14 | path = "http://yun.bolink.club/cloud"; 15 | path2 = "https://yun.bolink.club"; 16 | server = "http://yun.bolink.club"; 17 | bolinkPath = "https://s.bolink.club/web" 18 | percision = 2; 19 | }else if(process.env.NODE_ENV == 'produce'){ 20 | path = "http://yun.bolink.club/cloud"; 21 | path2 = "https://yun.bolink.club"; 22 | server = "http://yun.bolink.club"; 23 | bolinkPath = "https://s.bolink.club/web" 24 | percision = 2; 25 | } 26 | else{ 27 | path = "http://test.bolink.club/cloud"; 28 | path2 = "https://test.bolink.club"; 29 | server = "http://test.bolink.club"; 30 | bolinkPath = "https://beta.bolink.club/web" 31 | } 32 | module.exports = { 33 | path, 34 | path2, 35 | server, 36 | bolinkPath, 37 | percision 38 | } -------------------------------------------------------------------------------- /src/common/js/fetch.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import { Message } from 'element-ui' 3 | //import store from '@/store' 4 | //import { getToken } from '@/utils/auth' 5 | 6 | // 创建axios实例 7 | const service = axios.create({ 8 | baseURL: process.env.BASE_API, // api的base_url 9 | timeout: 5000 // 请求超时时间 10 | }) 11 | 12 | // request拦截器 13 | // service.interceptors.request.use(config => { 14 | // // Do something before request is sent 15 | // if (store.getters.token) { 16 | // config.headers['X-Token'] = getToken() // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改 17 | // } 18 | // return config 19 | // }, error => { 20 | // // Do something with request error 21 | // console.log(error) // for debug 22 | // Promise.reject(error) 23 | // }) 24 | 25 | // respone拦截器 26 | //service.interceptors.response.use( 27 | // response => response, 28 | /** 29 | * 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页 30 | * 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中 31 | */ 32 | // const res = response.data; 33 | // if (res.code !== 20000) { 34 | // Message({ 35 | // message: res.message, 36 | // type: 'error', 37 | // duration: 5 * 1000 38 | // }); 39 | // // 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了; 40 | // if (res.code === 50008 || res.code === 50012 || res.code === 50014) { 41 | // MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', { 42 | // confirmButtonText: '重新登录', 43 | // cancelButtonText: '取消', 44 | // type: 'warning' 45 | // }).then(() => { 46 | // store.dispatch('FedLogOut').then(() => { 47 | // location.reload();// 为了重新实例化vue-router对象 避免bug 48 | // }); 49 | // }) 50 | // } 51 | // return Promise.reject('error'); 52 | // } else { 53 | // return response.data; 54 | // } 55 | // error => { 56 | // console.log('err' + error)// for debug 57 | // Message({ 58 | // message: error.message, 59 | // type: 'error', 60 | // duration: 5 * 1000 61 | // }) 62 | // return Promise.reject(error) 63 | // } 64 | //) 65 | 66 | export default service 67 | -------------------------------------------------------------------------------- /src/common/js/util.js: -------------------------------------------------------------------------------- 1 | var SIGN_REGEXP = /([yMdhsm])(\1*)/g; 2 | var DEFAULT_PATTERN = 'yyyy-MM-dd'; 3 | function padding(s, len) { 4 | var len = len - (s + '').length; 5 | for (var i = 0; i < len; i++) { s = '0' + s; } 6 | return s; 7 | }; 8 | 9 | export default { 10 | getQueryStringByName: function (name) { 11 | var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 12 | var r = window.location.search.substr(1).match(reg); 13 | var context = ""; 14 | if (r != null) 15 | context = r[2]; 16 | reg = null; 17 | r = null; 18 | return context == null || context == "" || context == "undefined" ? "" : context; 19 | }, 20 | formatDate: { 21 | 22 | 23 | format: function (date, pattern) { 24 | pattern = pattern || DEFAULT_PATTERN; 25 | return pattern.replace(SIGN_REGEXP, function ($0) { 26 | switch ($0.charAt(0)) { 27 | case 'y': return padding(date.getFullYear(), $0.length); 28 | case 'M': return padding(date.getMonth() + 1, $0.length); 29 | case 'd': return padding(date.getDate(), $0.length); 30 | case 'w': return date.getDay() + 1; 31 | case 'h': return padding(date.getHours(), $0.length); 32 | case 'm': return padding(date.getMinutes(), $0.length); 33 | case 's': return padding(date.getSeconds(), $0.length); 34 | } 35 | }); 36 | }, 37 | parse: function (dateString, pattern) { 38 | var matchs1 = pattern.match(SIGN_REGEXP); 39 | var matchs2 = dateString.match(/(\d)+/g); 40 | if (matchs1.length == matchs2.length) { 41 | var _date = new Date(1970, 0, 1); 42 | for (var i = 0; i < matchs1.length; i++) { 43 | var _int = parseInt(matchs2[i]); 44 | var sign = matchs1[i]; 45 | switch (sign.charAt(0)) { 46 | case 'y': _date.setFullYear(_int); break; 47 | case 'M': _date.setMonth(_int - 1); break; 48 | case 'd': _date.setDate(_int); break; 49 | case 'h': _date.setHours(_int); break; 50 | case 'm': _date.setMinutes(_int); break; 51 | case 's': _date.setSeconds(_int); break; 52 | } 53 | } 54 | return _date; 55 | } 56 | return null; 57 | } 58 | 59 | } 60 | 61 | }; 62 | -------------------------------------------------------------------------------- /src/components/ComplexSearch.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 108 | -------------------------------------------------------------------------------- /src/components/CustomKeyboard.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 55 | 56 | -------------------------------------------------------------------------------- /src/components/DateSelector.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | -------------------------------------------------------------------------------- /src/components/EditForm.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 109 | -------------------------------------------------------------------------------- /src/components/InforCard.vue: -------------------------------------------------------------------------------- 1 | 19 | 51 | 52 | -------------------------------------------------------------------------------- /src/components/NumberRoller.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 78 | 79 | -------------------------------------------------------------------------------- /src/components/SingleNumberRoller.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 62 | 63 | 97 | -------------------------------------------------------------------------------- /src/components/Sticky/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 90 | -------------------------------------------------------------------------------- /src/components/add-subs/AddButtons.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /src/components/add-subs/AddCityInfo.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | -------------------------------------------------------------------------------- /src/components/add-subs/AddDate.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/add-subs/AddEmployeeRole.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 56 | 57 | -------------------------------------------------------------------------------- /src/components/add-subs/AddNumber.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /src/components/add-subs/AddSelect.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/add-subs/AddText.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /src/components/add-subs/AddTextarea.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /src/components/add-subs/AddUpload.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | -------------------------------------------------------------------------------- /src/components/edit-subs/EditDate.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/edit-subs/EditNumber.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /src/components/edit-subs/EditSelect.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/edit-subs/EditText.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /src/components/edit-subs/EditTextarea.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /src/components/edit-subs/EditUpload.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | -------------------------------------------------------------------------------- /src/components/subs/Date.vue: -------------------------------------------------------------------------------- 1 | 53 | 54 | -------------------------------------------------------------------------------- /src/components/subs/Number.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | -------------------------------------------------------------------------------- /src/components/subs/Select.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | -------------------------------------------------------------------------------- /src/components/subs/Text.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | -------------------------------------------------------------------------------- /src/components/table/expand.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'CustomOperation', 3 | functional: true, 4 | props: { 5 | row: Object, 6 | render: Function, 7 | index: Number, 8 | column: { 9 | type: Object, 10 | default: null 11 | } 12 | }, 13 | render: (h, ctx) => { 14 | const params = { 15 | row: ctx.props.row, 16 | index: ctx.props.index 17 | }; 18 | if (ctx.props.column) params.column = ctx.props.column; 19 | return ctx.props.render(h, params); 20 | } 21 | }; -------------------------------------------------------------------------------- /src/components/table/sticky.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 98 | -------------------------------------------------------------------------------- /src/devicewin.js: -------------------------------------------------------------------------------- 1 | import 'assets/css/monitor.css'; 2 | import 'assets/css/bootstrap.css'; 3 | import 'assets/css/components.css'; 4 | /*定义全局变量*/ 5 | import Vue from 'vue'; 6 | import MoniterApp from './DeviceWinApp'; 7 | import ElementUI from 'element-ui'; 8 | import common from './common/js/common'; 9 | import axios from 'axios'; 10 | import "babel-polyfill" 11 | Vue.use(ElementUI); 12 | Vue.prototype.$axios=axios; 13 | Vue.prototype.$qs=require('qs'); 14 | Vue.prototype.common=common; 15 | var path = ""; 16 | new Vue({ 17 | render: h => h(MoniterApp) 18 | }).$mount('#app'); 19 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | //引入全局样式 2 | import './styles/index.scss' 3 | import './styles/Home.scss' 4 | import './styles/common-style.scss' 5 | 6 | 7 | //全局引入自定义iconfont 8 | import './assets/iconfont/iconfont.css' 9 | import './assets/shop-iconfont/iconfont.css' 10 | 11 | //引入公用组件 12 | import Vue from 'vue'; 13 | import App from './App'; 14 | import ElementUI from 'element-ui'; 15 | import VueRouter from 'vue-router'; 16 | import routes from './router/routes'; 17 | import {path,path2} from './api/api'; 18 | import common from './common/js/common'; 19 | import axios from 'axios'; 20 | import store from './store'; 21 | 22 | import './common/js/const.js'; 23 | import 'babel-polyfill' 24 | import QRCode from 'qrcode'; 25 | import VueClipboard from 'vue-clipboard2' 26 | import scroll from 'vue-seamless-scroll'; 27 | import math from 'mathjs' 28 | import jQuery from 'jquery' 29 | Vue.use(scroll) 30 | Vue.use(QRCode) 31 | Vue.use(ElementUI); 32 | Vue.use(VueRouter); 33 | Vue.use(VueClipboard) 34 | Vue.prototype.$axios=axios; 35 | Vue.prototype.$qs=require('qs'); 36 | Vue.prototype.$math = math; 37 | Vue.prototype.QRCode=QRCode 38 | Vue.prototype.common=common; 39 | 40 | Vue.prototype.$post=jQuery.post; 41 | Vue.prototype.$ajax=jQuery.ajax; 42 | Vue.prototype.$getJSON=jQuery.getJSON; 43 | Vue.prototype.$extend=jQuery.extend; 44 | 45 | const router = new VueRouter({ 46 | routes 47 | }); 48 | 49 | /** 50 | * 51 | * @date 20190404 52 | * @author: cyz 53 | * @describe:百度流量统计 54 | */ 55 | 56 | var _hmt = _hmt || []; 57 | window._hmt = _hmt; // 必须把_hmt挂载到window下,否则找不到 58 | (function() { 59 | var hm = document.createElement("script"); 60 | hm.src = "https://hm.baidu.com/hm.js?c7e225d3f79576d85cfd59703506510f"; 61 | var s = document.getElementsByTagName("script")[0]; 62 | s.parentNode.insertBefore(hm, s); 63 | })(); 64 | 65 | router.beforeEach((to, from, next) => { 66 | 67 | //把页面推送给百度统计 68 | if (_hmt) { 69 | if (to.path) { 70 | // eslint-disable-next-line 71 | _hmt.push(['_trackPageview', '/#' + to.fullPath]); 72 | } 73 | } 74 | 75 | //NProgress.start(); 76 | let state = store.state.app.screenPower; 77 | if (to.path == '/loginCloud') { 78 | sessionStorage.removeItem('user'); 79 | } 80 | let user = JSON.parse(sessionStorage.getItem('user')); 81 | if (!user && to.path != '/loginCloud') { 82 | next({ path: '/loginCloud' }); 83 | } 84 | else if(!(from.path == '/') && to.path == '/dataScreen'){ 85 | next({ path: '/loginCloud' }); 86 | } 87 | else { 88 | if((from.path == '/') && to.path == '/dataScreen'){ 89 | axios.get(path+'/bigscreen/getstate',{params:{ 90 | 'comid':sessionStorage.getItem('comid') 91 | }}).then((response)=> { 92 | if(response.status == 200){ 93 | let data = response.data; 94 | if(data.state ==0){ 95 | next({ path: '/loginCloud' }); 96 | }else{next();} 97 | } 98 | }).catch((error)=>{ 99 | alert('请求错误') 100 | }) 101 | }else{ 102 | next(); 103 | } 104 | 105 | } 106 | }); 107 | 108 | var vue1 = new Vue({ 109 | store: store, 110 | router, 111 | render: h => h(App) 112 | }) 113 | vue1.$mount('#app'); 114 | 115 | 116 | -------------------------------------------------------------------------------- /src/monitor.js: -------------------------------------------------------------------------------- 1 | import 'assets/css/monitor.css'; 2 | import 'assets/css/bootstrap.css'; 3 | import 'assets/css/components.css'; 4 | /*定义全局变量*/ 5 | import Vue from 'vue'; 6 | import MoniterApp from './MonitorApp'; 7 | import ElementUI from 'element-ui'; 8 | import common from './common/js/common'; 9 | import axios from 'axios'; 10 | import "babel-polyfill" 11 | Vue.use(ElementUI); 12 | Vue.prototype.$axios=axios; 13 | Vue.prototype.$qs=require('qs'); 14 | Vue.prototype.common=common; 15 | var path = ""; 16 | new Vue({ 17 | render: h => h(MoniterApp) 18 | }).$mount('#app'); 19 | -------------------------------------------------------------------------------- /src/pages/404.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | -------------------------------------------------------------------------------- /src/pages/city/parkManagement/Park_Manage_Staff.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 84 | 85 | 88 | -------------------------------------------------------------------------------- /src/pages/other/assets/images/within-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/assets/images/within-logo.png -------------------------------------------------------------------------------- /src/pages/other/assets/images/within-logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/assets/images/within-logo2.png -------------------------------------------------------------------------------- /src/pages/other/assets/images/yunbo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/assets/images/yunbo.jpg -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/all-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/all-right.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/all.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/black-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/black-right.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/black.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/month-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/month-right.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/month.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/park-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/park-right.png -------------------------------------------------------------------------------- /src/pages/other/union/assets/images/dataCenter/park.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/pages/other/union/assets/images/dataCenter/park.png -------------------------------------------------------------------------------- /src/pages/other/union/components/InforCard.vue: -------------------------------------------------------------------------------- 1 | 27 | 56 | 57 | -------------------------------------------------------------------------------- /src/pages/park/SystemManage_Params.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | 15 | -------------------------------------------------------------------------------- /src/pages/park/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | 15 | -------------------------------------------------------------------------------- /src/pages/service/myAccount.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 49 | 50 | -------------------------------------------------------------------------------- /src/router/_import_dev.js: -------------------------------------------------------------------------------- 1 | module.exports = file => () => import('@/pages/' + file + '.vue'); -------------------------------------------------------------------------------- /src/router/_import_other.js: -------------------------------------------------------------------------------- 1 | module.exports = file => () => import('@/pages/other/' + file + '.vue'); -------------------------------------------------------------------------------- /src/router/_import_produce.js: -------------------------------------------------------------------------------- 1 | module.exports = file => () => import('@/pages/other/' + file + '.vue'); -------------------------------------------------------------------------------- /src/router/_import_production.js: -------------------------------------------------------------------------------- 1 | module.exports = file => () => import('@/pages/' + file + '.vue'); -------------------------------------------------------------------------------- /src/router/_import_test.js: -------------------------------------------------------------------------------- 1 | module.exports = file => () => import('@/pages/' + file + '.vue'); -------------------------------------------------------------------------------- /src/store/getters.js: -------------------------------------------------------------------------------- 1 | const getters = { 2 | sidebar: state => state.app.sidebar, 3 | visitedViews: state => state.app.visitedViews, 4 | token: state => state.user.token, 5 | avatar: state => state.user.avatar, 6 | name: state => state.user.name, 7 | introduction: state => state.user.introduction, 8 | status: state => state.user.status, 9 | roles: state => state.user.roles, 10 | setting: state => state.user.setting, 11 | permission_routers: state => state.permission.routers, 12 | addRouters: state => state.permission.addRouters 13 | } 14 | export default getters 15 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import Vuex from 'vuex'; 3 | 4 | import app from './modules/app'; 5 | import user from './modules/user'; 6 | 7 | Vue.use(Vuex); 8 | 9 | const store = new Vuex.Store({ 10 | state: { 11 | // 12 | }, 13 | mutations: { 14 | // 15 | }, 16 | actions: { 17 | 18 | }, 19 | modules: { 20 | app, 21 | user 22 | } 23 | }); 24 | 25 | export default store; -------------------------------------------------------------------------------- /src/store/modules/app.js: -------------------------------------------------------------------------------- 1 | import common from '../../common/js/common.js'; 2 | import Vue from 'vue'; 3 | 4 | const app = { 5 | state: { 6 | screenPower:false, 7 | tableMaxHeight:'auto', 8 | authFlag:true, 9 | }, 10 | mutations: { 11 | authFlag:function (state){ 12 | let st = ((process.env.NODE_ENV == 'dev') || (process.env.NODE_ENV == 'production') || (process.env.NODE_ENV == 'test'))?true:false; 13 | state.authFlag = st; 14 | return st; 15 | }, 16 | setScreenPower:function (state,no) { 17 | state.screenPower = no; 18 | console.log('state---',state,no) 19 | }, 20 | updateTableMaxHeight(state){ 21 | var currentHeight = document.getElementById('consoleCurrentHeight'); 22 | var _height = currentHeight.offsetHeight; 23 | if(_height != undefined){ 24 | state.tableMaxHeight = common.gwh() - (148+_height) 25 | }else{ 26 | state.tableMaxHeight = common.gwh() - 300; 27 | } 28 | 29 | } 30 | } 31 | }; 32 | 33 | export default app; 34 | -------------------------------------------------------------------------------- /src/store/modules/user.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/src/store/modules/user.js -------------------------------------------------------------------------------- /src/styles/common-variables.scss: -------------------------------------------------------------------------------- 1 | 2 | /* parkingOS 3 | --------------------------*/ 4 | $--color-btn-text:#0E5FF6; 5 | $--parkingos-header-background: #2d3a4b !default;; 6 | $--parkingos-sidemenu-background: '' !default; 7 | $--parkingos-sidemenu-background-hover-color: #354563 !default; 8 | $--parkingos-datacenter-background: #393a3e !default; 9 | $--parkingos-menu-icon-color: #fff !default; 10 | $--parkingos-icon-park-color: #fff !default; 11 | $--parkingos-fill-color:#E7EAFE !default; 12 | $--parkingos-sidemenu-background-9: #434A50 !default; /* ecf5ff */ 13 | $--parkingos-button-text-color:#0E5FF6 !default; 14 | $--parkingos-aside-bgcolor:#162949 !default; 15 | 16 | $--custom-dialog-header-bg:#193C7B; 17 | $--shop-from-item__bgcolor:#FAFAFA; 18 | $--shop-from-item__bordercolor:#D4D4D4; 19 | $--fixed-code-title-bg: #193C7B; 20 | 21 | /* 改变主题色变量 */ 22 | $--color-white: #fff !default; 23 | $--color-black: #000 !default; 24 | $--color-primary: #3C75CF; 25 | $--color-text-regular: #333 !default; 26 | $--color-text-secondary: #666666 !default; 27 | $--color-text-placeholder: #999 !default; 28 | $--border-color-lighter: #ebeef5 !default; 29 | $--table-border: 1px solid $--border-color-lighter !default; 30 | $--table-header-background: #F4F8FF !default; 31 | $--menu-item-fill: $--parkingos-sidemenu-background !default; 32 | $--menu-item-hover-fill: $--parkingos-sidemenu-background-hover-color !default; 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/styles/index.scss: -------------------------------------------------------------------------------- 1 | /* 改变 icon 字体路径变量,必需 */ 2 | $--font-path: '~element-ui/lib/theme-chalk/fonts'; 3 | @import "~element-ui/packages/theme-chalk/src/index"; 4 | 5 | .link-type, 6 | .link-type:focus { 7 | color: #008F4C; 8 | cursor: pointer; 9 | &:hover { 10 | color: #33CC52; 11 | } 12 | } 13 | .el-dialog{ 14 | border-radius: 6px !important; 15 | } -------------------------------------------------------------------------------- /src/styles/other-variables.scss: -------------------------------------------------------------------------------- 1 | 2 | /* parkingOS 3 | --------------------------*/ 4 | $--color-btn-text:#0E5FF6; 5 | $--parkingos-header-background: #2d3a4b !default; 6 | $--parkingos-sidemenu-background: '' !default; 7 | $--parkingos-sidemenu-background-hover-color: #6f6f6f !default; 8 | $--parkingos-datacenter-background: #393a3e !default; 9 | $--parkingos-menu-icon-color: #fff !default; 10 | $--parkingos-icon-park-color: #fff !default; 11 | $--parkingos-fill-color:#E7EAFE !default; 12 | $--parkingos-sidemenu-background-9: #434A50 !default; /* ecf5ff */ 13 | $--parkingos-button-text-color:#0E5FF6 !default; 14 | $--parkingos-aside-bgcolor:#595959 !default; 15 | 16 | $--custom-dialog-header-bg:#275278; 17 | $--shop-from-item__bgcolor:#FAFAFA; 18 | $--shop-from-item__bordercolor:#D4D4D4; 19 | $--fixed-code-title-bg: #193C7B; 20 | 21 | /* 改变主题色变量 */ 22 | $--color-white: #fff !default; 23 | $--color-black: #000 !default; 24 | $--color-primary: #3c9cce; 25 | $--color-text-regular: #333 !default; 26 | $--color-text-secondary: #666666 !default; 27 | $--color-text-placeholder: #999 !default; 28 | $--border-color-lighter: #ebeef5 !default; 29 | $--table-border: 1px solid $--border-color-lighter !default; 30 | $--table-header-background: #F4F8FF !default; 31 | $--menu-item-fill: $--parkingos-sidemenu-background !default; 32 | $--menu-item-hover-fill: $--parkingos-sidemenu-background-hover-color !default; 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/vuex/actions.js: -------------------------------------------------------------------------------- 1 | //test 2 | export const increment = ({commit}) => { 3 | commit('INCREMENT') 4 | } 5 | export const decrement = ({commit}) => { 6 | commit('DECREMENT') 7 | } 8 | -------------------------------------------------------------------------------- /src/vuex/getters.js: -------------------------------------------------------------------------------- 1 | //test 2 | export const getCount = state => { 3 | return state.count 4 | } 5 | -------------------------------------------------------------------------------- /src/vuex/store.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import * as actions from './actions' 4 | import * as getters from './getters' 5 | 6 | Vue.use(Vuex) 7 | 8 | // 应用初始状态 9 | const state = { 10 | count: 10 11 | } 12 | 13 | // 定义所需的 mutations 14 | const mutations = { 15 | INCREMENT(state) { 16 | state.count++ 17 | }, 18 | DECREMENT(state) { 19 | state.count-- 20 | } 21 | } 22 | 23 | // 创建 store 实例 24 | export default new Vuex.Store({ 25 | actions, 26 | getters, 27 | state, 28 | mutations 29 | }) -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/static/.gitkeep -------------------------------------------------------------------------------- /static/test.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/static/test.txt -------------------------------------------------------------------------------- /theme/aside.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Colors 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* parkingOS 18 | --------------------------*/ 19 | /* Link 20 | -------------------------- */ 21 | /* Background 22 | -------------------------- */ 23 | /* Border 24 | -------------------------- */ 25 | /* Box-shadow 26 | -------------------------- */ 27 | /* Fill 28 | -------------------------- */ 29 | /* Font 30 | -------------------------- */ 31 | /* Size 32 | -------------------------- */ 33 | /* z-index 34 | -------------------------- */ 35 | /* Disable base 36 | -------------------------- */ 37 | /* Icon 38 | -------------------------- */ 39 | /* Checkbox 40 | -------------------------- */ 41 | /* Radio 42 | -------------------------- */ 43 | /* Select 44 | -------------------------- */ 45 | /* Alert 46 | -------------------------- */ 47 | /* Message Box 48 | -------------------------- */ 49 | /* Message 50 | -------------------------- */ 51 | /* Notification 52 | -------------------------- */ 53 | /* Input 54 | -------------------------- */ 55 | /* Cascader 56 | -------------------------- */ 57 | /* Group 58 | -------------------------- */ 59 | /* Tab 60 | -------------------------- */ 61 | /* Button 62 | -------------------------- */ 63 | /* cascader 64 | -------------------------- */ 65 | /* Switch 66 | -------------------------- */ 67 | /* Dialog 68 | -------------------------- */ 69 | /* Table 70 | -------------------------- */ 71 | /* Pagination 72 | -------------------------- */ 73 | /* Popover 74 | -------------------------- */ 75 | /* Tooltip 76 | -------------------------- */ 77 | /* Tag 78 | -------------------------- */ 79 | /* Tree 80 | -------------------------- */ 81 | /* Dropdown 82 | -------------------------- */ 83 | /* Badge 84 | -------------------------- */ 85 | /* Card 86 | --------------------------*/ 87 | /* Slider 88 | --------------------------*/ 89 | /* Steps 90 | --------------------------*/ 91 | /* Menu 92 | --------------------------*/ 93 | /* Rate 94 | --------------------------*/ 95 | /* DatePicker 96 | --------------------------*/ 97 | /* Loading 98 | --------------------------*/ 99 | /* Scrollbar 100 | --------------------------*/ 101 | /* Carousel 102 | --------------------------*/ 103 | /* Collapse 104 | --------------------------*/ 105 | /* Transfer 106 | --------------------------*/ 107 | /* Header 108 | --------------------------*/ 109 | /* Footer 110 | --------------------------*/ 111 | /* Main 112 | --------------------------*/ 113 | /* Break-point 114 | --------------------------*/ 115 | /* Break-points 116 | -------------------------- */ 117 | /* Scrollbar 118 | -------------------------- */ 119 | /* Placeholder 120 | -------------------------- */ 121 | /* BEM 122 | -------------------------- */ 123 | .el-aside { 124 | overflow: auto; 125 | -webkit-box-sizing: border-box; 126 | box-sizing: border-box; 127 | -ms-flex-negative: 0; 128 | flex-shrink: 0; } 129 | -------------------------------------------------------------------------------- /theme/breadcrumb-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/breadcrumb-item.css -------------------------------------------------------------------------------- /theme/button-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/button-group.css -------------------------------------------------------------------------------- /theme/checkbox-button.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/checkbox-button.css -------------------------------------------------------------------------------- /theme/checkbox-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/checkbox-group.css -------------------------------------------------------------------------------- /theme/collapse-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/collapse-item.css -------------------------------------------------------------------------------- /theme/container.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Colors 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* parkingOS 18 | --------------------------*/ 19 | /* Link 20 | -------------------------- */ 21 | /* Background 22 | -------------------------- */ 23 | /* Border 24 | -------------------------- */ 25 | /* Box-shadow 26 | -------------------------- */ 27 | /* Fill 28 | -------------------------- */ 29 | /* Font 30 | -------------------------- */ 31 | /* Size 32 | -------------------------- */ 33 | /* z-index 34 | -------------------------- */ 35 | /* Disable base 36 | -------------------------- */ 37 | /* Icon 38 | -------------------------- */ 39 | /* Checkbox 40 | -------------------------- */ 41 | /* Radio 42 | -------------------------- */ 43 | /* Select 44 | -------------------------- */ 45 | /* Alert 46 | -------------------------- */ 47 | /* Message Box 48 | -------------------------- */ 49 | /* Message 50 | -------------------------- */ 51 | /* Notification 52 | -------------------------- */ 53 | /* Input 54 | -------------------------- */ 55 | /* Cascader 56 | -------------------------- */ 57 | /* Group 58 | -------------------------- */ 59 | /* Tab 60 | -------------------------- */ 61 | /* Button 62 | -------------------------- */ 63 | /* cascader 64 | -------------------------- */ 65 | /* Switch 66 | -------------------------- */ 67 | /* Dialog 68 | -------------------------- */ 69 | /* Table 70 | -------------------------- */ 71 | /* Pagination 72 | -------------------------- */ 73 | /* Popover 74 | -------------------------- */ 75 | /* Tooltip 76 | -------------------------- */ 77 | /* Tag 78 | -------------------------- */ 79 | /* Tree 80 | -------------------------- */ 81 | /* Dropdown 82 | -------------------------- */ 83 | /* Badge 84 | -------------------------- */ 85 | /* Card 86 | --------------------------*/ 87 | /* Slider 88 | --------------------------*/ 89 | /* Steps 90 | --------------------------*/ 91 | /* Menu 92 | --------------------------*/ 93 | /* Rate 94 | --------------------------*/ 95 | /* DatePicker 96 | --------------------------*/ 97 | /* Loading 98 | --------------------------*/ 99 | /* Scrollbar 100 | --------------------------*/ 101 | /* Carousel 102 | --------------------------*/ 103 | /* Collapse 104 | --------------------------*/ 105 | /* Transfer 106 | --------------------------*/ 107 | /* Header 108 | --------------------------*/ 109 | /* Footer 110 | --------------------------*/ 111 | /* Main 112 | --------------------------*/ 113 | /* Break-point 114 | --------------------------*/ 115 | /* Break-points 116 | -------------------------- */ 117 | /* Scrollbar 118 | -------------------------- */ 119 | /* Placeholder 120 | -------------------------- */ 121 | /* BEM 122 | -------------------------- */ 123 | .el-container { 124 | display: -webkit-box; 125 | display: -ms-flexbox; 126 | display: flex; 127 | -webkit-box-orient: horizontal; 128 | -webkit-box-direction: normal; 129 | -ms-flex-direction: row; 130 | flex-direction: row; 131 | -webkit-box-flex: 1; 132 | -ms-flex: 1; 133 | flex: 1; 134 | -ms-flex-preferred-size: auto; 135 | flex-basis: auto; 136 | -webkit-box-sizing: border-box; 137 | box-sizing: border-box; 138 | min-width: 0; } 139 | .el-container.is-vertical { 140 | -webkit-box-orient: vertical; 141 | -webkit-box-direction: normal; 142 | -ms-flex-direction: column; 143 | flex-direction: column; } 144 | -------------------------------------------------------------------------------- /theme/dropdown-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/dropdown-item.css -------------------------------------------------------------------------------- /theme/dropdown-menu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/dropdown-menu.css -------------------------------------------------------------------------------- /theme/element-variables.css: -------------------------------------------------------------------------------- 1 | /* Element Chalk Variables */ 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* 53a8ff */ 7 | /* 66b1ff */ 8 | /* 79bbff */ 9 | /* 8cc5ff */ 10 | /* a0cfff */ 11 | /* b3d8ff */ 12 | /* c6e2ff */ 13 | /* d9ecff */ 14 | /* ecf5ff */ 15 | /* parkingOS 16 | --------------------------*/ 17 | /* Link 18 | -------------------------- */ 19 | /* Background 20 | -------------------------- */ 21 | /* Border 22 | -------------------------- */ 23 | /* Box-shadow 24 | -------------------------- */ 25 | /* Fill 26 | -------------------------- */ 27 | /* Font 28 | -------------------------- */ 29 | /* Size 30 | -------------------------- */ 31 | /* z-index 32 | -------------------------- */ 33 | /* Disable base 34 | -------------------------- */ 35 | /* Icon 36 | -------------------------- */ 37 | /* Checkbox 38 | -------------------------- */ 39 | /* Radio 40 | -------------------------- */ 41 | /* Select 42 | -------------------------- */ 43 | /* Alert 44 | -------------------------- */ 45 | /* Message Box 46 | -------------------------- */ 47 | /* Message 48 | -------------------------- */ 49 | /* Notification 50 | -------------------------- */ 51 | /* Input 52 | -------------------------- */ 53 | /* Cascader 54 | -------------------------- */ 55 | /* Group 56 | -------------------------- */ 57 | /* Tab 58 | -------------------------- */ 59 | /* Button 60 | -------------------------- */ 61 | /* cascader 62 | -------------------------- */ 63 | /* Switch 64 | -------------------------- */ 65 | /* Dialog 66 | -------------------------- */ 67 | /* Table 68 | -------------------------- */ 69 | /* Pagination 70 | -------------------------- */ 71 | /* Popover 72 | -------------------------- */ 73 | /* Tooltip 74 | -------------------------- */ 75 | /* Tag 76 | -------------------------- */ 77 | /* Tree 78 | -------------------------- */ 79 | /* Dropdown 80 | -------------------------- */ 81 | /* Badge 82 | -------------------------- */ 83 | /* Card 84 | --------------------------*/ 85 | /* Slider 86 | --------------------------*/ 87 | /* Steps 88 | --------------------------*/ 89 | /* Menu 90 | --------------------------*/ 91 | /* Rate 92 | --------------------------*/ 93 | /* DatePicker 94 | --------------------------*/ 95 | /* Loading 96 | --------------------------*/ 97 | /* Scrollbar 98 | --------------------------*/ 99 | /* Carousel 100 | --------------------------*/ 101 | /* Collapse 102 | --------------------------*/ 103 | /* Transfer 104 | --------------------------*/ 105 | /* Header 106 | --------------------------*/ 107 | /* Footer 108 | --------------------------*/ 109 | /* Main 110 | --------------------------*/ 111 | /* Break-point 112 | --------------------------*/ 113 | -------------------------------------------------------------------------------- /theme/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/fonts/element-icons.ttf -------------------------------------------------------------------------------- /theme/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/fonts/element-icons.woff -------------------------------------------------------------------------------- /theme/form-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/form-item.css -------------------------------------------------------------------------------- /theme/menu-item-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/menu-item-group.css -------------------------------------------------------------------------------- /theme/menu-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/menu-item.css -------------------------------------------------------------------------------- /theme/steps.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Colors 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* parkingOS 18 | --------------------------*/ 19 | /* Link 20 | -------------------------- */ 21 | /* Background 22 | -------------------------- */ 23 | /* Border 24 | -------------------------- */ 25 | /* Box-shadow 26 | -------------------------- */ 27 | /* Fill 28 | -------------------------- */ 29 | /* Font 30 | -------------------------- */ 31 | /* Size 32 | -------------------------- */ 33 | /* z-index 34 | -------------------------- */ 35 | /* Disable base 36 | -------------------------- */ 37 | /* Icon 38 | -------------------------- */ 39 | /* Checkbox 40 | -------------------------- */ 41 | /* Radio 42 | -------------------------- */ 43 | /* Select 44 | -------------------------- */ 45 | /* Alert 46 | -------------------------- */ 47 | /* Message Box 48 | -------------------------- */ 49 | /* Message 50 | -------------------------- */ 51 | /* Notification 52 | -------------------------- */ 53 | /* Input 54 | -------------------------- */ 55 | /* Cascader 56 | -------------------------- */ 57 | /* Group 58 | -------------------------- */ 59 | /* Tab 60 | -------------------------- */ 61 | /* Button 62 | -------------------------- */ 63 | /* cascader 64 | -------------------------- */ 65 | /* Switch 66 | -------------------------- */ 67 | /* Dialog 68 | -------------------------- */ 69 | /* Table 70 | -------------------------- */ 71 | /* Pagination 72 | -------------------------- */ 73 | /* Popover 74 | -------------------------- */ 75 | /* Tooltip 76 | -------------------------- */ 77 | /* Tag 78 | -------------------------- */ 79 | /* Tree 80 | -------------------------- */ 81 | /* Dropdown 82 | -------------------------- */ 83 | /* Badge 84 | -------------------------- */ 85 | /* Card 86 | --------------------------*/ 87 | /* Slider 88 | --------------------------*/ 89 | /* Steps 90 | --------------------------*/ 91 | /* Menu 92 | --------------------------*/ 93 | /* Rate 94 | --------------------------*/ 95 | /* DatePicker 96 | --------------------------*/ 97 | /* Loading 98 | --------------------------*/ 99 | /* Scrollbar 100 | --------------------------*/ 101 | /* Carousel 102 | --------------------------*/ 103 | /* Collapse 104 | --------------------------*/ 105 | /* Transfer 106 | --------------------------*/ 107 | /* Header 108 | --------------------------*/ 109 | /* Footer 110 | --------------------------*/ 111 | /* Main 112 | --------------------------*/ 113 | /* Break-point 114 | --------------------------*/ 115 | /* Break-points 116 | -------------------------- */ 117 | /* Scrollbar 118 | -------------------------- */ 119 | /* Placeholder 120 | -------------------------- */ 121 | /* BEM 122 | -------------------------- */ 123 | .el-steps { 124 | display: -webkit-box; 125 | display: -ms-flexbox; 126 | display: flex; } 127 | .el-steps--simple { 128 | padding: 13px 8%; 129 | border-radius: 4px; 130 | background: #f5f7fa; } 131 | .el-steps--horizontal { 132 | white-space: nowrap; } 133 | .el-steps--vertical { 134 | height: 100%; 135 | -webkit-box-orient: vertical; 136 | -webkit-box-direction: normal; 137 | -ms-flex-flow: column; 138 | flex-flow: column; } 139 | -------------------------------------------------------------------------------- /theme/submenu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/submenu.css -------------------------------------------------------------------------------- /theme/tab-pane.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParkingOS/parkingos_cloud_vue/bdba958972a630e99235343ce8d5021fafa89598/theme/tab-pane.css --------------------------------------------------------------------------------