Copy disabled (too large)
Download .txt
Showing preview only (108,708K chars total). Download the full file to get everything.
Repository: idcsmart/ZJMF-CBAP
Branch: main
Commit: cf3b2d0d7586
Files: 5464
Total size: 127.3 MB
Directory structure:
gitextract_98ovl59l/
├── 10.4.6/
│ ├── app/
│ │ ├── admin/
│ │ │ ├── controller/
│ │ │ │ ├── AdminBaseController.php
│ │ │ │ ├── AdminController.php
│ │ │ │ ├── AdminRoleController.php
│ │ │ │ ├── ApiController.php
│ │ │ │ ├── AppMarketController.php
│ │ │ │ ├── BaseController.php
│ │ │ │ ├── BottomBarGroupController.php
│ │ │ │ ├── BottomBarNavController.php
│ │ │ │ ├── CabinetRentalProductController.php
│ │ │ │ ├── ClientController.php
│ │ │ │ ├── ClientCreditController.php
│ │ │ │ ├── ClientRecordController.php
│ │ │ │ ├── CloudServerAreaController.php
│ │ │ │ ├── CloudServerBannerController.php
│ │ │ │ ├── CloudServerDiscountController.php
│ │ │ │ ├── CloudServerProductController.php
│ │ │ │ ├── CommonController.php
│ │ │ │ ├── ConfigurationController.php
│ │ │ │ ├── ConsultController.php
│ │ │ │ ├── FeedbackController.php
│ │ │ │ ├── FriendlyLinkController.php
│ │ │ │ ├── HonorController.php
│ │ │ │ ├── HostController.php
│ │ │ │ ├── IcpServiceProductController.php
│ │ │ │ ├── IndexBannerController.php
│ │ │ │ ├── LogController.php
│ │ │ │ ├── MenuController.php
│ │ │ │ ├── ModuleController.php
│ │ │ │ ├── NoticeEmailController.php
│ │ │ │ ├── NoticeSettingController.php
│ │ │ │ ├── NoticeSmsController.php
│ │ │ │ ├── OrderController.php
│ │ │ │ ├── PartnerController.php
│ │ │ │ ├── PhysicalServerAreaController.php
│ │ │ │ ├── PhysicalServerBannerController.php
│ │ │ │ ├── PhysicalServerDiscountController.php
│ │ │ │ ├── PhysicalServerProductController.php
│ │ │ │ ├── PluginController.php
│ │ │ │ ├── ProductController.php
│ │ │ │ ├── ProductGroupController.php
│ │ │ │ ├── PublicController.php
│ │ │ │ ├── SelfDefinedFieldController.php
│ │ │ │ ├── SeoController.php
│ │ │ │ ├── ServerController.php
│ │ │ │ ├── ServerGroupController.php
│ │ │ │ ├── ServerHostingAreaController.php
│ │ │ │ ├── ServerHostingProductController.php
│ │ │ │ ├── SideFloatingWindowController.php
│ │ │ │ ├── SmsServiceProductController.php
│ │ │ │ ├── SslCertificateProductController.php
│ │ │ │ ├── SupplierController.php
│ │ │ │ ├── TaskController.php
│ │ │ │ ├── TrademarkRegisterProductController.php
│ │ │ │ ├── TrademarkServiceProductController.php
│ │ │ │ ├── TransactionController.php
│ │ │ │ ├── UpgradeSystemController.php
│ │ │ │ ├── UpstreamHostController.php
│ │ │ │ ├── UpstreamOrderController.php
│ │ │ │ ├── UpstreamProductController.php
│ │ │ │ ├── ViewController.php
│ │ │ │ ├── WebNavController.php
│ │ │ │ └── WidgetController.php
│ │ │ ├── model/
│ │ │ │ ├── AdminFieldModel.php
│ │ │ │ ├── AdminLoginModel.php
│ │ │ │ ├── AdminModel.php
│ │ │ │ ├── AdminRoleLinkModel.php
│ │ │ │ ├── AdminRoleModel.php
│ │ │ │ ├── AdminRoleWidgetModel.php
│ │ │ │ ├── AdminWidgetModel.php
│ │ │ │ ├── AuthLinkModel.php
│ │ │ │ ├── AuthModel.php
│ │ │ │ ├── AuthRuleLinkModel.php
│ │ │ │ ├── AuthRuleModel.php
│ │ │ │ ├── EmailLogModel.php
│ │ │ │ ├── PluginHookModel.php
│ │ │ │ ├── PluginModel.php
│ │ │ │ └── SmsLogModel.php
│ │ │ └── validate/
│ │ │ ├── AdminFieldValidate.php
│ │ │ ├── AdminRoleValidate.php
│ │ │ ├── AdminValidate.php
│ │ │ ├── ApiValidate.php
│ │ │ ├── BottomBarGroupValidate.php
│ │ │ ├── BottomBarNavValidate.php
│ │ │ ├── CabinetRentalProductValidate.php
│ │ │ ├── ClientCreditValidate.php
│ │ │ ├── ClientRecordValidate.php
│ │ │ ├── ClientValidate.php
│ │ │ ├── CloudServerAreaValidate.php
│ │ │ ├── CloudServerBannerValidate.php
│ │ │ ├── CloudServerDiscountValidate.php
│ │ │ ├── CloudServerProductValidate.php
│ │ │ ├── ConfigurationValidate.php
│ │ │ ├── FeedbackTypeValidate.php
│ │ │ ├── FriendlyLinkValidate.php
│ │ │ ├── HonorValidate.php
│ │ │ ├── HostValidate.php
│ │ │ ├── IcpServiceProductValidate.php
│ │ │ ├── IndexBannerValidate.php
│ │ │ ├── MenuValidate.php
│ │ │ ├── NoticeEmailValidate.php
│ │ │ ├── NoticeSettingValidate.php
│ │ │ ├── NoticeSmsValidate.php
│ │ │ ├── OrderValidate.php
│ │ │ ├── PartnerValidate.php
│ │ │ ├── PhysicalServerAreaValidate.php
│ │ │ ├── PhysicalServerBannerValidate.php
│ │ │ ├── PhysicalServerDiscountValidate.php
│ │ │ ├── PhysicalServerProductValidate.php
│ │ │ ├── ProductGroupValidate.php
│ │ │ ├── ProductValidate.php
│ │ │ ├── SeoValidate.php
│ │ │ ├── ServerGroupValidate.php
│ │ │ ├── ServerHostingAreaValidate.php
│ │ │ ├── ServerHostingProductValidate.php
│ │ │ ├── ServerValidate.php
│ │ │ ├── SideFloatingWindowValidate.php
│ │ │ ├── SmsServiceProductValidate.php
│ │ │ ├── SslCertificateProductValidate.php
│ │ │ ├── SupplierValidate.php
│ │ │ ├── TrademarkRegisterProductValidate.php
│ │ │ ├── TrademarkServiceProductValidate.php
│ │ │ ├── TransactionValidate.php
│ │ │ ├── UpstreamProductValidate.php
│ │ │ ├── WebNavValidate.php
│ │ │ └── WidgetValidate.php
│ │ ├── api/
│ │ │ └── controller/
│ │ │ ├── AuthController.php
│ │ │ └── ProductController.php
│ │ ├── command/
│ │ │ ├── Cron.php
│ │ │ └── Task.php
│ │ ├── common/
│ │ │ ├── lib/
│ │ │ │ ├── IdcsmartCache.php
│ │ │ │ ├── Loader.php
│ │ │ │ ├── Oauth.php
│ │ │ │ ├── Plugin.php
│ │ │ │ ├── RedisPool.php
│ │ │ │ └── Widget.php
│ │ │ ├── logic/
│ │ │ │ ├── EmailLogic.php
│ │ │ │ ├── IndexLogic.php
│ │ │ │ ├── ModuleLogic.php
│ │ │ │ ├── ResModuleLogic.php
│ │ │ │ ├── SmsLogic.php
│ │ │ │ ├── TemplateLogic.php
│ │ │ │ ├── UpgradePluginsLogic.php
│ │ │ │ ├── UpgradeSystemLogic.php
│ │ │ │ ├── UploadLogic.php
│ │ │ │ ├── UpstreamLogic.php
│ │ │ │ ├── VerificationCodeLogic.php
│ │ │ │ └── WidgetLogic.php
│ │ │ ├── model/
│ │ │ │ ├── ApiModel.php
│ │ │ │ ├── BottomBarGroupModel.php
│ │ │ │ ├── BottomBarNavModel.php
│ │ │ │ ├── CabinetRentalProductModel.php
│ │ │ │ ├── ClientCreditModel.php
│ │ │ │ ├── ClientCustomFieldModel.php
│ │ │ │ ├── ClientLoginModel.php
│ │ │ │ ├── ClientModel.php
│ │ │ │ ├── ClientRecordModel.php
│ │ │ │ ├── CloudServerAreaModel.php
│ │ │ │ ├── CloudServerBannerModel.php
│ │ │ │ ├── CloudServerDiscountModel.php
│ │ │ │ ├── CloudServerProductModel.php
│ │ │ │ ├── ConfigOptionModel.php
│ │ │ │ ├── ConfigOptionSubModel.php
│ │ │ │ ├── ConfigurationModel.php
│ │ │ │ ├── ConsultModel.php
│ │ │ │ ├── CountryModel.php
│ │ │ │ ├── EmailTemplateModel.php
│ │ │ │ ├── FeedbackModel.php
│ │ │ │ ├── FeedbackTypeModel.php
│ │ │ │ ├── FileLogModel.php
│ │ │ │ ├── FriendlyLinkModel.php
│ │ │ │ ├── HonorModel.php
│ │ │ │ ├── HostIpModel.php
│ │ │ │ ├── HostModel.php
│ │ │ │ ├── IcpServiceProductModel.php
│ │ │ │ ├── IndexBannerModel.php
│ │ │ │ ├── MenuModel.php
│ │ │ │ ├── NavModel.php
│ │ │ │ ├── NoticeSettingModel.php
│ │ │ │ ├── OrderItemModel.php
│ │ │ │ ├── OrderModel.php
│ │ │ │ ├── OrderTmpModel.php
│ │ │ │ ├── PartnerModel.php
│ │ │ │ ├── PhysicalServerAreaModel.php
│ │ │ │ ├── PhysicalServerBannerModel.php
│ │ │ │ ├── PhysicalServerDiscountModel.php
│ │ │ │ ├── PhysicalServerProductModel.php
│ │ │ │ ├── ProductDurationRatioModel.php
│ │ │ │ ├── ProductGroupModel.php
│ │ │ │ ├── ProductModel.php
│ │ │ │ ├── ProductUpgradeProductModel.php
│ │ │ │ ├── RefundRecordModel.php
│ │ │ │ ├── SelfDefinedFieldModel.php
│ │ │ │ ├── SelfDefinedFieldValueModel.php
│ │ │ │ ├── SeoModel.php
│ │ │ │ ├── ServerGroupModel.php
│ │ │ │ ├── ServerHostingAreaModel.php
│ │ │ │ ├── ServerHostingProductModel.php
│ │ │ │ ├── ServerModel.php
│ │ │ │ ├── SideFloatingWindowModel.php
│ │ │ │ ├── SmsServiceProductModel.php
│ │ │ │ ├── SmsTemplateModel.php
│ │ │ │ ├── SslCertificateProductModel.php
│ │ │ │ ├── SupplierModel.php
│ │ │ │ ├── SystemLogModel.php
│ │ │ │ ├── TaskModel.php
│ │ │ │ ├── TaskWaitModel.php
│ │ │ │ ├── TrademarkRegisterProductModel.php
│ │ │ │ ├── TrademarkServiceProductModel.php
│ │ │ │ ├── TransactionModel.php
│ │ │ │ ├── UpgradeModel.php
│ │ │ │ ├── UpstreamHostModel.php
│ │ │ │ ├── UpstreamOrderModel.php
│ │ │ │ ├── UpstreamProductModel.php
│ │ │ │ └── WebNavModel.php
│ │ │ └── validate/
│ │ │ ├── ProductDurationRatioValidate.php
│ │ │ ├── SelfDefinedFieldValidate.php
│ │ │ └── UploadValidate.php
│ │ ├── common.php
│ │ ├── event/
│ │ │ ├── AppInit.php
│ │ │ └── controller/
│ │ │ ├── AddonController.php
│ │ │ ├── AddonHomeController.php
│ │ │ ├── BaseController.php
│ │ │ ├── CaptchaController.php
│ │ │ ├── CertificationController.php
│ │ │ ├── CertificationHomeController.php
│ │ │ ├── GatewayController.php
│ │ │ ├── ModuleController.php
│ │ │ ├── ModuleHomeController.php
│ │ │ ├── PluginAdminBaseController.php
│ │ │ ├── PluginBaseController.php
│ │ │ └── TemplateController.php
│ │ ├── event.php
│ │ ├── exception/
│ │ │ └── TemplateNotFoundException.php
│ │ ├── home/
│ │ │ ├── controller/
│ │ │ │ ├── AccountController.php
│ │ │ │ ├── ApiController.php
│ │ │ │ ├── BaseController.php
│ │ │ │ ├── CartController.php
│ │ │ │ ├── CommonController.php
│ │ │ │ ├── HomeBaseController.php
│ │ │ │ ├── HooksController.php
│ │ │ │ ├── HostController.php
│ │ │ │ ├── IndexController.php
│ │ │ │ ├── LogController.php
│ │ │ │ ├── LoginController.php
│ │ │ │ ├── ModuleController.php
│ │ │ │ ├── OauthController.php
│ │ │ │ ├── OrderController.php
│ │ │ │ ├── PayController.php
│ │ │ │ ├── ProductController.php
│ │ │ │ ├── TransactionController.php
│ │ │ │ ├── UpstreamController.php
│ │ │ │ ├── ViewCartController.php
│ │ │ │ ├── ViewClientController.php
│ │ │ │ └── ViewController.php
│ │ │ ├── model/
│ │ │ │ ├── CartModel.php
│ │ │ │ ├── ClientareaAuthModel.php
│ │ │ │ ├── ClientareaAuthRuleLinkModel.php
│ │ │ │ ├── ClientareaAuthRuleModel.php
│ │ │ │ └── OauthModel.php
│ │ │ └── validate/
│ │ │ ├── AccountValidate.php
│ │ │ ├── ApiValidate.php
│ │ │ ├── CartValidate.php
│ │ │ ├── CommonValidate.php
│ │ │ ├── ConsultValidate.php
│ │ │ ├── FeedbackValidate.php
│ │ │ ├── HostValidate.php
│ │ │ └── ProductValidate.php
│ │ ├── http/
│ │ │ └── middleware/
│ │ │ ├── Check.php
│ │ │ ├── CheckAdmin.php
│ │ │ ├── CheckAdminCookieJwt.php
│ │ │ ├── CheckAdminOperatePassword.php
│ │ │ ├── CheckClientCookieJwt.php
│ │ │ ├── CheckClientOperatePassword.php
│ │ │ ├── CheckHome.php
│ │ │ ├── ParamFilter.php
│ │ │ └── RejectRepeatRequest.php
│ │ ├── middleware.php
│ │ └── upgrade/
│ │ ├── 10.4.5.php
│ │ └── 10.4.6.php
│ ├── config/
│ │ ├── app.php
│ │ ├── cache.php
│ │ ├── captcha.php
│ │ ├── console.php
│ │ ├── cookie.php
│ │ ├── database.php
│ │ ├── filesystem.php
│ │ ├── idcsmart.php
│ │ ├── lang.php
│ │ ├── log.php
│ │ ├── middleware.php
│ │ ├── route.php
│ │ ├── session.php
│ │ ├── trace.php
│ │ └── view.php
│ ├── cron/
│ │ ├── cron.php
│ │ └── task.php
│ ├── install.md
│ ├── public/
│ │ ├── .htaccess
│ │ ├── 503.html
│ │ ├── Desktop.ini
│ │ ├── admin/
│ │ │ ├── index.php
│ │ │ ├── language/
│ │ │ │ ├── en-us.js
│ │ │ │ ├── en-us.php
│ │ │ │ ├── zh-cn.js
│ │ │ │ ├── zh-cn.php
│ │ │ │ ├── zh-hk.js
│ │ │ │ └── zh-hk.php
│ │ │ └── template/
│ │ │ └── default/
│ │ │ ├── 404.php
│ │ │ ├── admin.php
│ │ │ ├── admin_role.php
│ │ │ ├── agentList.php
│ │ │ ├── api/
│ │ │ │ ├── addon.js
│ │ │ │ ├── childAccount.js
│ │ │ │ ├── client.js
│ │ │ │ ├── common.js
│ │ │ │ ├── customerService.js
│ │ │ │ ├── index.js
│ │ │ │ ├── install.js
│ │ │ │ ├── invoice.js
│ │ │ │ ├── manage.js
│ │ │ │ ├── navigation.js
│ │ │ │ ├── product.js
│ │ │ │ ├── rc.js
│ │ │ │ ├── real_name.js
│ │ │ │ ├── recording1559.js
│ │ │ │ ├── setting.js
│ │ │ │ ├── system.js
│ │ │ │ ├── template_controller.js
│ │ │ │ ├── upstream.js
│ │ │ │ └── withdrawal.js
│ │ │ ├── captcha.php
│ │ │ ├── childAccount.php
│ │ │ ├── child_server.php
│ │ │ ├── child_server_group.php
│ │ │ ├── client.php
│ │ │ ├── client_detail.php
│ │ │ ├── client_host.php
│ │ │ ├── client_log.php
│ │ │ ├── client_notice_email.php
│ │ │ ├── client_notice_sms.php
│ │ │ ├── client_order.php
│ │ │ ├── client_records.php
│ │ │ ├── client_transaction.php
│ │ │ ├── components/
│ │ │ │ ├── comChooseUser/
│ │ │ │ │ └── comChooseUser.js
│ │ │ │ ├── comConfig/
│ │ │ │ │ └── comConfig.js
│ │ │ │ ├── comTinymce/
│ │ │ │ │ └── comTinymce.js
│ │ │ │ ├── comTreeSelect/
│ │ │ │ │ └── comTreeSelect.js
│ │ │ │ ├── comViewFiled/
│ │ │ │ │ └── comViewFiled.js
│ │ │ │ └── safeConfirm/
│ │ │ │ └── safeConfirm.js
│ │ │ ├── configuration_api.php
│ │ │ ├── configuration_currency.php
│ │ │ ├── configuration_debug.php
│ │ │ ├── configuration_login.php
│ │ │ ├── configuration_oss.php
│ │ │ ├── configuration_security.php
│ │ │ ├── configuration_system.php
│ │ │ ├── configuration_theme.php
│ │ │ ├── configuration_upgrade.php
│ │ │ ├── consult.php
│ │ │ ├── create_order.php
│ │ │ ├── cron.php
│ │ │ ├── css/
│ │ │ │ ├── addon.css
│ │ │ │ ├── addon.less
│ │ │ │ ├── childAccount.css
│ │ │ │ ├── childAccount.less
│ │ │ │ ├── client.css
│ │ │ │ ├── client.less
│ │ │ │ ├── common/
│ │ │ │ │ ├── reset.css
│ │ │ │ │ └── reset.less
│ │ │ │ ├── customerService.css
│ │ │ │ ├── dist/
│ │ │ │ │ ├── childAccount.css
│ │ │ │ │ └── invoice_address.css
│ │ │ │ ├── index.css
│ │ │ │ ├── index.less
│ │ │ │ ├── install.css
│ │ │ │ ├── invoice_address.css
│ │ │ │ ├── invoice_address.less
│ │ │ │ ├── invoice_config.css
│ │ │ │ ├── invoice_config.less
│ │ │ │ ├── invoice_system.css
│ │ │ │ ├── invoice_system.less
│ │ │ │ ├── invoice_title.css
│ │ │ │ ├── invoice_title.less
│ │ │ │ ├── login.css
│ │ │ │ ├── login.less
│ │ │ │ ├── manage.css
│ │ │ │ ├── manage.less
│ │ │ │ ├── navigation.css
│ │ │ │ ├── product.css
│ │ │ │ ├── product.less
│ │ │ │ ├── rc_order.css
│ │ │ │ ├── rc_order.less
│ │ │ │ ├── rc_order_config.css
│ │ │ │ ├── rc_order_config.less
│ │ │ │ ├── rc_order_details.css
│ │ │ │ ├── rc_order_details.less
│ │ │ │ ├── real_name.css
│ │ │ │ ├── recording1559.css
│ │ │ │ ├── search1559.css
│ │ │ │ ├── setting.css
│ │ │ │ ├── setting.less
│ │ │ │ ├── setting1559.css
│ │ │ │ ├── supplier_list.css
│ │ │ │ ├── supplier_list.less
│ │ │ │ ├── system.css
│ │ │ │ ├── system.less
│ │ │ │ ├── template.css
│ │ │ │ ├── template.less
│ │ │ │ ├── template_controller.css
│ │ │ │ ├── template_controller.less
│ │ │ │ ├── theme/
│ │ │ │ │ ├── cyan.less
│ │ │ │ │ ├── default.less
│ │ │ │ │ ├── green.less
│ │ │ │ │ ├── index.less
│ │ │ │ │ ├── orange.less
│ │ │ │ │ ├── pink.less
│ │ │ │ │ ├── purple.less
│ │ │ │ │ ├── red.less
│ │ │ │ │ ├── variables.less
│ │ │ │ │ └── yellow.less
│ │ │ │ ├── three_login.css
│ │ │ │ ├── three_login.less
│ │ │ │ ├── upstream_order.css
│ │ │ │ ├── upstream_order.less
│ │ │ │ └── withdrawal.css
│ │ │ ├── footer.php
│ │ │ ├── gateway.php
│ │ │ ├── header.php
│ │ │ ├── host.php
│ │ │ ├── host_detail.php
│ │ │ ├── iconfont/
│ │ │ │ ├── iconfont.css
│ │ │ │ └── iconfont.json
│ │ │ ├── index.php
│ │ │ ├── info_config.php
│ │ │ ├── install_bak.php
│ │ │ ├── js/
│ │ │ │ ├── addon.js
│ │ │ │ ├── admin.js
│ │ │ │ ├── admin_role.js
│ │ │ │ ├── agentList.js
│ │ │ │ ├── captcha.js
│ │ │ │ ├── childAccount.js
│ │ │ │ ├── child_server.js
│ │ │ │ ├── child_server_group.js
│ │ │ │ ├── client.js
│ │ │ │ ├── client_detail.js
│ │ │ │ ├── client_host.js
│ │ │ │ ├── client_log.js
│ │ │ │ ├── client_notice_email.js
│ │ │ │ ├── client_notice_sms.js
│ │ │ │ ├── client_order.js
│ │ │ │ ├── client_records.js
│ │ │ │ ├── client_transaction.js
│ │ │ │ ├── common/
│ │ │ │ │ ├── commonTool.js
│ │ │ │ │ ├── composition-api.js
│ │ │ │ │ ├── iuLayout.js
│ │ │ │ │ ├── lang.js
│ │ │ │ │ ├── layout.js
│ │ │ │ │ ├── mainfest.js
│ │ │ │ │ └── vue.js
│ │ │ │ ├── configuration_api.js
│ │ │ │ ├── configuration_currency.js
│ │ │ │ ├── configuration_debug.js
│ │ │ │ ├── configuration_login.js
│ │ │ │ ├── configuration_oss.js
│ │ │ │ ├── configuration_security.js
│ │ │ │ ├── configuration_system.js
│ │ │ │ ├── configuration_theme.js
│ │ │ │ ├── configuration_upgrade.js
│ │ │ │ ├── consult.js
│ │ │ │ ├── create_order.js
│ │ │ │ ├── cron.js
│ │ │ │ ├── feedback.js
│ │ │ │ ├── gateway.js
│ │ │ │ ├── host.js
│ │ │ │ ├── host_detail.js
│ │ │ │ ├── index.js
│ │ │ │ ├── info_config.js
│ │ │ │ ├── install.js
│ │ │ │ ├── log_notice_email.js
│ │ │ │ ├── log_notice_sms.js
│ │ │ │ ├── log_system.js
│ │ │ │ ├── login.js
│ │ │ │ ├── navigation.js
│ │ │ │ ├── no_auth.js
│ │ │ │ ├── notFound.js
│ │ │ │ ├── notice_email.js
│ │ │ │ ├── notice_email_template.js
│ │ │ │ ├── notice_email_template_create.js
│ │ │ │ ├── notice_email_template_update.js
│ │ │ │ ├── notice_send.js
│ │ │ │ ├── notice_sms.js
│ │ │ │ ├── notice_sms_template.js
│ │ │ │ ├── oauth.js
│ │ │ │ ├── order.js
│ │ │ │ ├── order_details.js
│ │ │ │ ├── order_flow.js
│ │ │ │ ├── order_notes.js
│ │ │ │ ├── order_recycle_bin.js
│ │ │ │ ├── order_refund.js
│ │ │ │ ├── product.js
│ │ │ │ ├── product_api.js
│ │ │ │ ├── product_detail.js
│ │ │ │ ├── product_self_field.js
│ │ │ │ ├── recording1559.js
│ │ │ │ ├── search1559.js
│ │ │ │ ├── security_center.js
│ │ │ │ ├── server.js
│ │ │ │ ├── server_group.js
│ │ │ │ ├── setting1559.js
│ │ │ │ ├── supplier_goods.js
│ │ │ │ ├── supplier_list.js
│ │ │ │ ├── supplier_order.js
│ │ │ │ ├── supplier_product.js
│ │ │ │ ├── task.js
│ │ │ │ ├── template.js
│ │ │ │ ├── template_bottom_nav.js
│ │ │ │ ├── template_host_config.js
│ │ │ │ ├── template_index_banner.js
│ │ │ │ ├── template_nav.js
│ │ │ │ ├── template_seo_manage.js
│ │ │ │ ├── template_side_manage.js
│ │ │ │ ├── template_web_config.js
│ │ │ │ ├── tinymce/
│ │ │ │ │ ├── langs/
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── license.txt
│ │ │ │ │ ├── plugins/
│ │ │ │ │ │ └── emoticons/
│ │ │ │ │ │ └── js/
│ │ │ │ │ │ ├── emojiimages.js
│ │ │ │ │ │ └── emojis.js
│ │ │ │ │ └── tinymce.d.ts
│ │ │ │ ├── transaction.js
│ │ │ │ ├── upstream_goods.js
│ │ │ │ ├── upstream_order.js
│ │ │ │ ├── upstream_product.js
│ │ │ │ └── withdrawal.js
│ │ │ ├── lang/
│ │ │ │ ├── dist/
│ │ │ │ │ └── zh-hk.dev.js
│ │ │ │ ├── en-us.js
│ │ │ │ ├── zh-cn.js
│ │ │ │ └── zh-hk.js
│ │ │ ├── log_notice_email.php
│ │ │ ├── log_notice_sms.php
│ │ │ ├── log_system.php
│ │ │ ├── login.php
│ │ │ ├── navigation.php
│ │ │ ├── notFound.php
│ │ │ ├── notice_email.php
│ │ │ ├── notice_email_template.php
│ │ │ ├── notice_email_template_create.php
│ │ │ ├── notice_email_template_update.php
│ │ │ ├── notice_send.php
│ │ │ ├── notice_sms.php
│ │ │ ├── notice_sms_template.php
│ │ │ ├── oauth.php
│ │ │ ├── order.php
│ │ │ ├── order_details.php
│ │ │ ├── order_flow.php
│ │ │ ├── order_notes.php
│ │ │ ├── order_recycle_bin.php
│ │ │ ├── order_refund.php
│ │ │ ├── plugin.php
│ │ │ ├── product.php
│ │ │ ├── product_api.php
│ │ │ ├── product_detail.php
│ │ │ ├── product_self_field.php
│ │ │ ├── recording1559.php
│ │ │ ├── search.php
│ │ │ ├── security_center.php
│ │ │ ├── server.php
│ │ │ ├── server_group.php
│ │ │ ├── setting1559.php
│ │ │ ├── supplier_goods.php
│ │ │ ├── supplier_list.php
│ │ │ ├── supplier_order.php
│ │ │ ├── supplier_product.php
│ │ │ ├── task.php
│ │ │ ├── template.php
│ │ │ ├── template_bottom_nav.php
│ │ │ ├── template_host_config.php
│ │ │ ├── template_index_banner.php
│ │ │ ├── template_nav.php
│ │ │ ├── template_seo_manage.php
│ │ │ ├── template_side_manage.php
│ │ │ ├── template_web_config.php
│ │ │ ├── tinymce/
│ │ │ │ ├── langs/
│ │ │ │ │ ├── README.md
│ │ │ │ │ └── zh_CN.js
│ │ │ │ ├── license.txt
│ │ │ │ ├── plugins/
│ │ │ │ │ ├── emoticons/
│ │ │ │ │ │ └── js/
│ │ │ │ │ │ ├── emojiimages.js
│ │ │ │ │ │ └── emojis.js
│ │ │ │ │ └── powerpaste/
│ │ │ │ │ ├── flash/
│ │ │ │ │ │ └── textboxpaste.swf
│ │ │ │ │ ├── js/
│ │ │ │ │ │ └── wordimport.js
│ │ │ │ │ └── langs/
│ │ │ │ │ └── zh_CN.js
│ │ │ │ └── tinymce.d.ts
│ │ │ ├── transaction.php
│ │ │ ├── update_bak.php
│ │ │ ├── upstream_goods.php
│ │ │ ├── upstream_order.php
│ │ │ ├── upstream_product.php
│ │ │ ├── utils/
│ │ │ │ ├── permission.js
│ │ │ │ └── request.js
│ │ │ └── withdrawal.php
│ │ ├── cart/
│ │ │ └── template/
│ │ │ ├── mobile/
│ │ │ │ └── default/
│ │ │ │ ├── .gitkeep
│ │ │ │ ├── api/
│ │ │ │ │ ├── goodsList.js
│ │ │ │ │ ├── product.js
│ │ │ │ │ └── shopping.js
│ │ │ │ ├── css/
│ │ │ │ │ ├── goods.css
│ │ │ │ │ ├── goods.less
│ │ │ │ │ ├── goodsList.css
│ │ │ │ │ ├── goodsList.less
│ │ │ │ │ ├── goods_iframe.css
│ │ │ │ │ ├── goods_iframe.less
│ │ │ │ │ ├── settlement.css
│ │ │ │ │ ├── settlement.less
│ │ │ │ │ ├── shoppingCar.css
│ │ │ │ │ └── shoppingCar.less
│ │ │ │ ├── goods.php
│ │ │ │ ├── goodsList.php
│ │ │ │ ├── goods_iframe.php
│ │ │ │ ├── js/
│ │ │ │ │ ├── goods.js
│ │ │ │ │ ├── goodsList.js
│ │ │ │ │ ├── settlement.js
│ │ │ │ │ └── shoppingCar.js
│ │ │ │ ├── settlement.php
│ │ │ │ └── shoppingCar.php
│ │ │ └── pc/
│ │ │ └── default/
│ │ │ ├── .gitkeep
│ │ │ ├── api/
│ │ │ │ ├── goodsList.js
│ │ │ │ ├── product.js
│ │ │ │ └── shopping.js
│ │ │ ├── css/
│ │ │ │ ├── goods.css
│ │ │ │ ├── goods.less
│ │ │ │ ├── goodsList.css
│ │ │ │ ├── goodsList.less
│ │ │ │ ├── goods_iframe.css
│ │ │ │ ├── goods_iframe.less
│ │ │ │ ├── settlement.css
│ │ │ │ ├── settlement.less
│ │ │ │ ├── shoppingCar.css
│ │ │ │ └── shoppingCar.less
│ │ │ ├── goods.php
│ │ │ ├── goodsList.php
│ │ │ ├── goods_iframe.php
│ │ │ ├── js/
│ │ │ │ ├── goods.js
│ │ │ │ ├── goodsList.js
│ │ │ │ ├── settlement.js
│ │ │ │ └── shoppingCar.js
│ │ │ ├── settlement.php
│ │ │ └── shoppingCar.php
│ │ ├── clientarea/
│ │ │ ├── language/
│ │ │ │ ├── en-us.php
│ │ │ │ ├── zh-cn.js
│ │ │ │ ├── zh-cn.php
│ │ │ │ └── zh-hk.php
│ │ │ └── template/
│ │ │ ├── mobile/
│ │ │ │ └── default/
│ │ │ │ ├── .vscode/
│ │ │ │ │ └── settings.json
│ │ │ │ ├── NotFound.php
│ │ │ │ ├── account.php
│ │ │ │ ├── agreement.php
│ │ │ │ ├── api/
│ │ │ │ │ ├── account.js
│ │ │ │ │ ├── certification.js
│ │ │ │ │ ├── common.js
│ │ │ │ │ ├── finance.js
│ │ │ │ │ ├── goods.js
│ │ │ │ │ ├── goodsList.js
│ │ │ │ │ ├── home.js
│ │ │ │ │ ├── orderDetail.js
│ │ │ │ │ ├── product.js
│ │ │ │ │ ├── security.js
│ │ │ │ │ ├── security_group.js
│ │ │ │ │ ├── shopping.js
│ │ │ │ │ ├── template.js
│ │ │ │ │ └── withdraw.js
│ │ │ │ ├── blog.php
│ │ │ │ ├── components/
│ │ │ │ │ ├── asideMenu/
│ │ │ │ │ │ ├── aliAsideMenu.js
│ │ │ │ │ │ └── asideMenu.js
│ │ │ │ │ ├── batchRenewpage/
│ │ │ │ │ │ └── batchRenewpage.js
│ │ │ │ │ ├── captchaDialog/
│ │ │ │ │ │ └── captchaDialog.js
│ │ │ │ │ ├── cashBack/
│ │ │ │ │ │ └── cashBack.js
│ │ │ │ │ ├── cashCoupon/
│ │ │ │ │ │ └── cashCoupon.js
│ │ │ │ │ ├── certificationTips/
│ │ │ │ │ │ └── certificationDialog.js
│ │ │ │ │ ├── countDownButton/
│ │ │ │ │ │ └── countDownButton.js
│ │ │ │ │ ├── customGoods/
│ │ │ │ │ │ └── customGoods.js
│ │ │ │ │ ├── discountCode/
│ │ │ │ │ │ └── discountCode.js
│ │ │ │ │ ├── eventCode/
│ │ │ │ │ │ └── eventCode.js
│ │ │ │ │ ├── flowPacket/
│ │ │ │ │ │ └── flowPacket.js
│ │ │ │ │ ├── forgetDialog/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── loginDialog/
│ │ │ │ │ │ └── loginDialog.js
│ │ │ │ │ ├── pagination/
│ │ │ │ │ │ └── pagination.js
│ │ │ │ │ ├── payDialog/
│ │ │ │ │ │ └── payDialog.js
│ │ │ │ │ ├── productFilter/
│ │ │ │ │ │ └── productFilter.js
│ │ │ │ │ ├── refundDialog/
│ │ │ │ │ │ └── refundDialog.js
│ │ │ │ │ ├── registDialog/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── safeConfirm/
│ │ │ │ │ │ └── safeConfirm.js
│ │ │ │ │ ├── topMenu/
│ │ │ │ │ │ └── topMenu.js
│ │ │ │ │ └── withdrawDialog/
│ │ │ │ │ └── withdrawDialog.js
│ │ │ │ ├── css/
│ │ │ │ │ ├── NotFound.css
│ │ │ │ │ ├── account.css
│ │ │ │ │ ├── agreement.css
│ │ │ │ │ ├── agreement.less
│ │ │ │ │ ├── authentication.css
│ │ │ │ │ ├── certification.css
│ │ │ │ │ ├── common/
│ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ ├── common.less
│ │ │ │ │ │ └── element.css
│ │ │ │ │ ├── finance.css
│ │ │ │ │ ├── finance.less
│ │ │ │ │ ├── forget.css
│ │ │ │ │ ├── home.css
│ │ │ │ │ ├── home.less
│ │ │ │ │ ├── index.css
│ │ │ │ │ ├── login.css
│ │ │ │ │ ├── loginDialog.css
│ │ │ │ │ ├── loginDialog.less
│ │ │ │ │ ├── networkErro.css
│ │ │ │ │ ├── news.css
│ │ │ │ │ ├── news.less
│ │ │ │ │ ├── newworkErro.css
│ │ │ │ │ ├── noPermissions.css
│ │ │ │ │ ├── noPermissions.less
│ │ │ │ │ ├── orderDetail.css
│ │ │ │ │ ├── orderDetail.less
│ │ │ │ │ ├── productdetail.css
│ │ │ │ │ ├── productdetail.less
│ │ │ │ │ ├── promotionDetail.css
│ │ │ │ │ ├── promotionDetail.less
│ │ │ │ │ ├── regist.css
│ │ │ │ │ ├── regist.less
│ │ │ │ │ ├── security.css
│ │ │ │ │ ├── security.less
│ │ │ │ │ ├── security_group.css
│ │ │ │ │ ├── security_group.less
│ │ │ │ │ ├── security_log.css
│ │ │ │ │ ├── security_log.less
│ │ │ │ │ ├── security_ssh.css
│ │ │ │ │ ├── security_ssh.less
│ │ │ │ │ ├── template.css
│ │ │ │ │ ├── transfer.css
│ │ │ │ │ ├── transfer.less
│ │ │ │ │ ├── voucher.css
│ │ │ │ │ ├── voucher.less
│ │ │ │ │ ├── withdrawal.css
│ │ │ │ │ └── withdrawal.less
│ │ │ │ ├── custom_iframe.php
│ │ │ │ ├── finance.php
│ │ │ │ ├── footer.php
│ │ │ │ ├── forget.php
│ │ │ │ ├── group_rules.php
│ │ │ │ ├── header.php
│ │ │ │ ├── home.php
│ │ │ │ ├── js/
│ │ │ │ │ ├── NotFound.js
│ │ │ │ │ ├── account.js
│ │ │ │ │ ├── agreement.js
│ │ │ │ │ ├── blog.js
│ │ │ │ │ ├── citys/
│ │ │ │ │ │ └── citys.js
│ │ │ │ │ ├── common/
│ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ ├── element.js
│ │ │ │ │ │ ├── jquery.mini.js
│ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ └── vue.js
│ │ │ │ │ ├── creatTemplate.js
│ │ │ │ │ ├── finance.js
│ │ │ │ │ ├── forget.js
│ │ │ │ │ ├── goods.js
│ │ │ │ │ ├── goodsList.js
│ │ │ │ │ ├── group_rules.js
│ │ │ │ │ ├── home.js
│ │ │ │ │ ├── login.js
│ │ │ │ │ ├── loginDialog.js
│ │ │ │ │ ├── networkErro.js
│ │ │ │ │ ├── newsView.js
│ │ │ │ │ ├── noPermissions.js
│ │ │ │ │ ├── oauth.js
│ │ │ │ │ ├── orderDetail.js
│ │ │ │ │ ├── pinyin/
│ │ │ │ │ │ └── pinyin.js
│ │ │ │ │ ├── product.js
│ │ │ │ │ ├── product_list.js
│ │ │ │ │ ├── productdetail.js
│ │ │ │ │ ├── regist.js
│ │ │ │ │ ├── security.js
│ │ │ │ │ ├── security_group.js
│ │ │ │ │ ├── security_log.js
│ │ │ │ │ ├── security_ssh.js
│ │ │ │ │ ├── settlement.js
│ │ │ │ │ ├── shoppingCar.js
│ │ │ │ │ ├── template.js
│ │ │ │ │ ├── transfer.js
│ │ │ │ │ └── withdraw.js
│ │ │ │ ├── lang/
│ │ │ │ │ ├── en-us/
│ │ │ │ │ │ ├── element-lang.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── zh-cn/
│ │ │ │ │ │ ├── element-lang.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── zh-hk/
│ │ │ │ │ ├── element-lang.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── login.php
│ │ │ │ ├── networkErro.php
│ │ │ │ ├── newsView.php
│ │ │ │ ├── noPermissions.php
│ │ │ │ ├── oauth.php
│ │ │ │ ├── orderDetail.php
│ │ │ │ ├── product.php
│ │ │ │ ├── product_list.php
│ │ │ │ ├── productdetail.php
│ │ │ │ ├── regist.php
│ │ │ │ ├── security.php
│ │ │ │ ├── security_group.php
│ │ │ │ ├── security_log.php
│ │ │ │ ├── security_ssh.php
│ │ │ │ ├── template.php
│ │ │ │ ├── transfer.php
│ │ │ │ ├── utils/
│ │ │ │ │ ├── directive.js
│ │ │ │ │ ├── request.js
│ │ │ │ │ └── util.js
│ │ │ │ └── withdrawal.php
│ │ │ └── pc/
│ │ │ └── default/
│ │ │ ├── .vscode/
│ │ │ │ └── settings.json
│ │ │ ├── NotFound.php
│ │ │ ├── account.php
│ │ │ ├── agreement.php
│ │ │ ├── api/
│ │ │ │ ├── account.js
│ │ │ │ ├── certification.js
│ │ │ │ ├── common.js
│ │ │ │ ├── finance.js
│ │ │ │ ├── goods.js
│ │ │ │ ├── goodsList.js
│ │ │ │ ├── home.js
│ │ │ │ ├── orderDetail.js
│ │ │ │ ├── product.js
│ │ │ │ ├── security.js
│ │ │ │ ├── security_group.js
│ │ │ │ ├── shopping.js
│ │ │ │ ├── template.js
│ │ │ │ └── withdraw.js
│ │ │ ├── blog.php
│ │ │ ├── components/
│ │ │ │ ├── asideMenu/
│ │ │ │ │ ├── aliAsideMenu.js
│ │ │ │ │ └── asideMenu.js
│ │ │ │ ├── batchRenewpage/
│ │ │ │ │ └── batchRenewpage.js
│ │ │ │ ├── captchaDialog/
│ │ │ │ │ └── captchaDialog.js
│ │ │ │ ├── cashBack/
│ │ │ │ │ └── cashBack.js
│ │ │ │ ├── cashCoupon/
│ │ │ │ │ └── cashCoupon.js
│ │ │ │ ├── certificationTips/
│ │ │ │ │ └── certificationDialog.js
│ │ │ │ ├── countDownButton/
│ │ │ │ │ └── countDownButton.js
│ │ │ │ ├── customGoods/
│ │ │ │ │ └── customGoods.js
│ │ │ │ ├── discountCode/
│ │ │ │ │ └── discountCode.js
│ │ │ │ ├── eventCode/
│ │ │ │ │ └── eventCode.js
│ │ │ │ ├── flowPacket/
│ │ │ │ │ └── flowPacket.js
│ │ │ │ ├── forgetDialog/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── loginDialog/
│ │ │ │ │ └── loginDialog.js
│ │ │ │ ├── pagination/
│ │ │ │ │ └── pagination.js
│ │ │ │ ├── payDialog/
│ │ │ │ │ └── payDialog.js
│ │ │ │ ├── productFilter/
│ │ │ │ │ └── productFilter.js
│ │ │ │ ├── refundDialog/
│ │ │ │ │ └── refundDialog.js
│ │ │ │ ├── registDialog/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── safeConfirm/
│ │ │ │ │ └── safeConfirm.js
│ │ │ │ ├── topMenu/
│ │ │ │ │ └── topMenu.js
│ │ │ │ └── withdrawDialog/
│ │ │ │ └── withdrawDialog.js
│ │ │ ├── css/
│ │ │ │ ├── NotFound.css
│ │ │ │ ├── account.css
│ │ │ │ ├── agreement.css
│ │ │ │ ├── agreement.less
│ │ │ │ ├── authentication.css
│ │ │ │ ├── certification.css
│ │ │ │ ├── common/
│ │ │ │ │ ├── common.css
│ │ │ │ │ ├── common.less
│ │ │ │ │ └── element.css
│ │ │ │ ├── finance.css
│ │ │ │ ├── finance.less
│ │ │ │ ├── forget.css
│ │ │ │ ├── home.css
│ │ │ │ ├── home.less
│ │ │ │ ├── index.css
│ │ │ │ ├── login.css
│ │ │ │ ├── loginDialog.css
│ │ │ │ ├── loginDialog.less
│ │ │ │ ├── networkErro.css
│ │ │ │ ├── news.css
│ │ │ │ ├── news.less
│ │ │ │ ├── newworkErro.css
│ │ │ │ ├── noPermissions.css
│ │ │ │ ├── noPermissions.less
│ │ │ │ ├── orderDetail.css
│ │ │ │ ├── orderDetail.less
│ │ │ │ ├── productdetail.css
│ │ │ │ ├── productdetail.less
│ │ │ │ ├── promotionDetail.css
│ │ │ │ ├── promotionDetail.less
│ │ │ │ ├── regist.css
│ │ │ │ ├── regist.less
│ │ │ │ ├── security.css
│ │ │ │ ├── security.less
│ │ │ │ ├── security_group.css
│ │ │ │ ├── security_group.less
│ │ │ │ ├── security_log.css
│ │ │ │ ├── security_log.less
│ │ │ │ ├── security_ssh.css
│ │ │ │ ├── security_ssh.less
│ │ │ │ ├── template.css
│ │ │ │ ├── transfer.css
│ │ │ │ ├── transfer.less
│ │ │ │ ├── voucher.css
│ │ │ │ ├── voucher.less
│ │ │ │ ├── withdrawal.css
│ │ │ │ └── withdrawal.less
│ │ │ ├── custom_iframe.php
│ │ │ ├── finance.php
│ │ │ ├── footer.php
│ │ │ ├── forget.php
│ │ │ ├── group_rules.php
│ │ │ ├── header.php
│ │ │ ├── home.php
│ │ │ ├── js/
│ │ │ │ ├── NotFound.js
│ │ │ │ ├── account.js
│ │ │ │ ├── agreement.js
│ │ │ │ ├── blog.js
│ │ │ │ ├── citys/
│ │ │ │ │ └── citys.js
│ │ │ │ ├── common/
│ │ │ │ │ ├── common.js
│ │ │ │ │ ├── echarts.js
│ │ │ │ │ ├── element.js
│ │ │ │ │ ├── jquery.mini.js
│ │ │ │ │ ├── lang.js
│ │ │ │ │ └── vue.js
│ │ │ │ ├── creatTemplate.js
│ │ │ │ ├── finance.js
│ │ │ │ ├── forget.js
│ │ │ │ ├── goods.js
│ │ │ │ ├── goodsList.js
│ │ │ │ ├── group_rules.js
│ │ │ │ ├── home.js
│ │ │ │ ├── login.js
│ │ │ │ ├── loginDialog.js
│ │ │ │ ├── networkErro.js
│ │ │ │ ├── newsView.js
│ │ │ │ ├── noPermissions.js
│ │ │ │ ├── oauth.js
│ │ │ │ ├── orderDetail.js
│ │ │ │ ├── pinyin/
│ │ │ │ │ └── pinyin.js
│ │ │ │ ├── product.js
│ │ │ │ ├── product_list.js
│ │ │ │ ├── productdetail.js
│ │ │ │ ├── regist.js
│ │ │ │ ├── security.js
│ │ │ │ ├── security_group.js
│ │ │ │ ├── security_log.js
│ │ │ │ ├── security_ssh.js
│ │ │ │ ├── settlement.js
│ │ │ │ ├── shoppingCar.js
│ │ │ │ ├── template.js
│ │ │ │ ├── transfer.js
│ │ │ │ └── withdraw.js
│ │ │ ├── lang/
│ │ │ │ ├── en-us/
│ │ │ │ │ ├── element-lang.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── zh-cn/
│ │ │ │ │ ├── element-lang.js
│ │ │ │ │ └── index.js
│ │ │ │ └── zh-hk/
│ │ │ │ ├── element-lang.js
│ │ │ │ └── index.js
│ │ │ ├── login.php
│ │ │ ├── networkErro.php
│ │ │ ├── newsView.php
│ │ │ ├── noPermissions.php
│ │ │ ├── oauth.php
│ │ │ ├── orderDetail.php
│ │ │ ├── product.php
│ │ │ ├── product_list.php
│ │ │ ├── productdetail.php
│ │ │ ├── regist.php
│ │ │ ├── security.php
│ │ │ ├── security_group.php
│ │ │ ├── security_log.php
│ │ │ ├── security_ssh.php
│ │ │ ├── template.php
│ │ │ ├── transfer.php
│ │ │ ├── utils/
│ │ │ │ ├── directive.js
│ │ │ │ ├── request.js
│ │ │ │ └── util.js
│ │ │ └── withdrawal.php
│ │ ├── index.php
│ │ ├── install/
│ │ │ ├── api/
│ │ │ │ ├── addon.js
│ │ │ │ ├── client.js
│ │ │ │ ├── common.js
│ │ │ │ ├── install.js
│ │ │ │ ├── manage.js
│ │ │ │ ├── navigation.js
│ │ │ │ ├── product.js
│ │ │ │ ├── recording1559.js
│ │ │ │ ├── setting.js
│ │ │ │ ├── update.js
│ │ │ │ └── withdrawal.js
│ │ │ ├── config.php
│ │ │ ├── css/
│ │ │ │ ├── common/
│ │ │ │ │ ├── reset.css
│ │ │ │ │ └── reset.less
│ │ │ │ ├── install.css
│ │ │ │ ├── theme/
│ │ │ │ │ ├── cyan.less
│ │ │ │ │ ├── default.less
│ │ │ │ │ ├── green.less
│ │ │ │ │ ├── index.less
│ │ │ │ │ ├── orange.less
│ │ │ │ │ ├── pink.less
│ │ │ │ │ ├── purple.less
│ │ │ │ │ ├── red.less
│ │ │ │ │ ├── variables.less
│ │ │ │ │ └── yellow.less
│ │ │ │ └── update.css
│ │ │ ├── idcsmart.sql
│ │ │ ├── index.html
│ │ │ ├── install.php
│ │ │ ├── js/
│ │ │ │ ├── common/
│ │ │ │ │ ├── iuLayout.js
│ │ │ │ │ ├── lang.js
│ │ │ │ │ ├── layout.js
│ │ │ │ │ └── vue.js
│ │ │ │ ├── install.js
│ │ │ │ ├── tinymce/
│ │ │ │ │ ├── langs/
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── license.txt
│ │ │ │ │ ├── plugins/
│ │ │ │ │ │ └── emoticons/
│ │ │ │ │ │ └── js/
│ │ │ │ │ │ ├── emojiimages.js
│ │ │ │ │ │ └── emojis.js
│ │ │ │ │ └── tinymce.d.ts
│ │ │ │ └── update.js
│ │ │ ├── lang/
│ │ │ │ ├── en-us.js
│ │ │ │ └── zh-cn.js
│ │ │ └── utils/
│ │ │ └── request.js
│ │ ├── nginx.conf
│ │ ├── plugins/
│ │ │ ├── addon/
│ │ │ │ ├── idcsmart_announcement/
│ │ │ │ │ ├── IdcsmartAnnouncement.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ └── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartAnnouncementLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartAnnouncementModel.php
│ │ │ │ │ │ └── IdcsmartAnnouncementTypeModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar_clientarea.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── announcement_create.html
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── new.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── new.css
│ │ │ │ │ │ │ │ └── news_create.css
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ ├── new.js
│ │ │ │ │ │ │ │ └── news_create.js
│ │ │ │ │ │ │ └── lang/
│ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── news.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── news.css
│ │ │ │ │ │ │ └── news.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── news.js
│ │ │ │ │ │ │ └── news_detail.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── news_detail.html
│ │ │ │ │ │ └── source.html
│ │ │ │ │ ├── upload/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartAnnouncementValidate.php
│ │ │ │ ├── idcsmart_certification/
│ │ │ │ │ ├── IdcsmartCertification.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── certification/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── config.php
│ │ │ │ │ │ └── email_template/
│ │ │ │ │ │ └── idcsmart_certification_pass.html
│ │ │ │ │ ├── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── CertificationController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── CertificationController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartCertificationLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── CertificationCompanyModel.php
│ │ │ │ │ │ ├── CertificationLogModel.php
│ │ │ │ │ │ └── CertificationPersonModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── real_name.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── real_name.css
│ │ │ │ │ │ │ │ ├── real_name.less
│ │ │ │ │ │ │ │ └── viewer.css
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ ├── real_name_approval.js
│ │ │ │ │ │ │ │ ├── real_name_interface.js
│ │ │ │ │ │ │ │ ├── real_name_setting.js
│ │ │ │ │ │ │ │ ├── v_viewer.js
│ │ │ │ │ │ │ │ └── viewer.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ │ ├── real_name_interface.html
│ │ │ │ │ │ │ └── real_name_setting.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── certification.js
│ │ │ │ │ │ ├── authentication_company.html
│ │ │ │ │ │ ├── authentication_person.html
│ │ │ │ │ │ ├── authentication_select.html
│ │ │ │ │ │ ├── authentication_status.html
│ │ │ │ │ │ ├── authentication_thrid.html
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ └── authentication.css
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── authenticationCompny.js
│ │ │ │ │ │ │ ├── authenticationPerson.js
│ │ │ │ │ │ │ ├── authenticationSelect.js
│ │ │ │ │ │ │ ├── authenticationStatus.js
│ │ │ │ │ │ │ └── authenticationThrid.js
│ │ │ │ │ │ └── lang/
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── upload/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── CertificationValidate.php
│ │ │ │ ├── idcsmart_cloud/
│ │ │ │ │ ├── IdcsmartCloud.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── SecurityGroupController.php
│ │ │ │ │ │ └── SecurityGroupRuleController.php
│ │ │ │ │ ├── idcsmart_cloud/
│ │ │ │ │ │ └── IdcsmartCloud.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── ToolLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartSecurityGroupHostLinkModel.php
│ │ │ │ │ │ ├── IdcsmartSecurityGroupLinkModel.php
│ │ │ │ │ │ ├── IdcsmartSecurityGroupModel.php
│ │ │ │ │ │ ├── IdcsmartSecurityGroupRuleLinkModel.php
│ │ │ │ │ │ └── IdcsmartSecurityGroupRuleModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartSecurityGroupValidate.php
│ │ │ │ ├── idcsmart_file_download/
│ │ │ │ │ ├── IdcsmartFileDownload.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ └── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartFileDownloadLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartFileFolderModel.php
│ │ │ │ │ │ ├── IdcsmartFileLinkModel.php
│ │ │ │ │ │ └── IdcsmartFileModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar_clientarea.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── file_download.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ └── file_download.css
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── file_download.js
│ │ │ │ │ │ │ │ └── lang.js
│ │ │ │ │ │ │ └── lang/
│ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── file_download.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── file_download.css
│ │ │ │ │ │ │ └── file_download.less
│ │ │ │ │ │ ├── file_download.html
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ └── file_download.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── source.html
│ │ │ │ │ ├── upload/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartFileDownloadValidate.php
│ │ │ │ ├── idcsmart_help/
│ │ │ │ │ ├── IdcsmartHelp.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ └── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartHelpLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartHelpModel.php
│ │ │ │ │ │ └── IdcsmartHelpTypeModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar_clientarea.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── help.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── help.css
│ │ │ │ │ │ │ │ ├── help.less
│ │ │ │ │ │ │ │ ├── help_create.css
│ │ │ │ │ │ │ │ └── help_index.css
│ │ │ │ │ │ │ ├── help_create.html
│ │ │ │ │ │ │ ├── help_index.html
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── help.js
│ │ │ │ │ │ │ │ ├── help_create.js
│ │ │ │ │ │ │ │ ├── help_index.js
│ │ │ │ │ │ │ │ └── lang.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ │ └── utils/
│ │ │ │ │ │ │ ├── request.js
│ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── help.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── help.css
│ │ │ │ │ │ │ ├── help.less
│ │ │ │ │ │ │ ├── helpTotal.css
│ │ │ │ │ │ │ └── helpTotal.less
│ │ │ │ │ │ ├── helpTotal.html
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── help.js
│ │ │ │ │ │ │ └── helpTotal.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── source.html
│ │ │ │ │ ├── upload/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartHelpValidate.php
│ │ │ │ ├── idcsmart_news/
│ │ │ │ │ ├── IdcsmartNews.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ └── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartNewsLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartNewsModel.php
│ │ │ │ │ │ └── IdcsmartNewsTypeModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar_clientarea.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── new.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── new.css
│ │ │ │ │ │ │ │ └── news_create.css
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ ├── new.js
│ │ │ │ │ │ │ │ └── news_create.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ │ └── news_create.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── account.js
│ │ │ │ │ │ │ ├── aliHome.js
│ │ │ │ │ │ │ ├── cloud.js
│ │ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ │ ├── file_download.js
│ │ │ │ │ │ │ ├── finance.js
│ │ │ │ │ │ │ ├── help.js
│ │ │ │ │ │ │ ├── news.js
│ │ │ │ │ │ │ ├── template.js
│ │ │ │ │ │ │ └── ticket.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── news.css
│ │ │ │ │ │ │ └── news.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── news.js
│ │ │ │ │ │ │ └── news_detail.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── news_detail.html
│ │ │ │ │ │ └── source.html
│ │ │ │ │ ├── upload/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartNewsValidate.php
│ │ │ │ ├── idcsmart_refund/
│ │ │ │ │ ├── IdcsmartRefund.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── config.php
│ │ │ │ │ │ └── email_template/
│ │ │ │ │ │ ├── admin_refund_reject.html
│ │ │ │ │ │ ├── client_create_refund.html
│ │ │ │ │ │ ├── client_refund_cancel.html
│ │ │ │ │ │ └── client_refund_success.html
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── RefundController.php
│ │ │ │ │ │ ├── RefundProductController.php
│ │ │ │ │ │ ├── RefundReasonController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── RefundController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartRefundModel.php
│ │ │ │ │ │ ├── IdcsmartRefundProductModel.php
│ │ │ │ │ │ └── IdcsmartRefundReasonModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── add_refund_product.html
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── refund.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ └── refund.css
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── addEditrefund.js
│ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ ├── refund.js
│ │ │ │ │ │ │ │ └── refundCheck.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ │ ├── refund.html
│ │ │ │ │ │ │ └── refund_product.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ ├── IdcsmartRefundProductValidate.php
│ │ │ │ │ ├── IdcsmartRefundReasonValidate.php
│ │ │ │ │ └── IdcsmartRefundValidate.php
│ │ │ │ ├── idcsmart_renew/
│ │ │ │ │ ├── IdcsmartRenew.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── config.php
│ │ │ │ │ │ └── email_template/
│ │ │ │ │ │ └── host_renew.html
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartRenewLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartRenewAutoModel.php
│ │ │ │ │ │ └── IdcsmartRenewModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartRenewValidate.php
│ │ │ │ ├── idcsmart_ssh_key/
│ │ │ │ │ ├── IdcsmartSshKey.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ └── IdcsmartSshKeyModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartSshKeyValidate.php
│ │ │ │ ├── idcsmart_sub_account/
│ │ │ │ │ ├── IdcsmartSubAccount.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── common.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartSubAccountHostModel.php
│ │ │ │ │ │ ├── IdcsmartSubAccountModel.php
│ │ │ │ │ │ └── IdcsmartSubAccountProjectModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar_clientarea.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── addChildAccount.html
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── account.js
│ │ │ │ │ │ │ └── childAccount.js
│ │ │ │ │ │ ├── childAccount.html
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── childAccount.css
│ │ │ │ │ │ │ └── childAccount.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── addChildAccount.js
│ │ │ │ │ │ │ └── childAccount.js
│ │ │ │ │ │ └── lang/
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartSubAccountValidate.php
│ │ │ │ ├── idcsmart_ticket/
│ │ │ │ │ ├── IdcsmartTicket.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── auth_clientarea.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── config.php
│ │ │ │ │ │ └── email_template/
│ │ │ │ │ │ ├── admin_reply_ticket.html
│ │ │ │ │ │ ├── client_close_ticket.html
│ │ │ │ │ │ ├── client_create_ticket.html
│ │ │ │ │ │ └── client_reply_ticket.html
│ │ │ │ │ ├── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── TicketController.php
│ │ │ │ │ │ ├── TicketNotesController.php
│ │ │ │ │ │ ├── TicketPrereplyController.php
│ │ │ │ │ │ ├── TicketStatusController.php
│ │ │ │ │ │ ├── TicketTypeController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── TicketController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── IdcsmartTicketLogic.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartTicketHostLinkModel.php
│ │ │ │ │ │ ├── IdcsmartTicketModel.php
│ │ │ │ │ │ ├── IdcsmartTicketNotesModel.php
│ │ │ │ │ │ ├── IdcsmartTicketPrereplyModel.php
│ │ │ │ │ │ ├── IdcsmartTicketReplyModel.php
│ │ │ │ │ │ ├── IdcsmartTicketStatusModel.php
│ │ │ │ │ │ ├── IdcsmartTicketTypeAdminLinkModel.php
│ │ │ │ │ │ └── IdcsmartTicketTypeModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── sidebar.php
│ │ │ │ │ ├── sidebar_clientarea.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ ├── client.js
│ │ │ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ │ │ ├── order.js
│ │ │ │ │ │ │ │ ├── refund.js
│ │ │ │ │ │ │ │ └── template.js
│ │ │ │ │ │ │ ├── bak/
│ │ │ │ │ │ │ │ ├── ticket_internal.php
│ │ │ │ │ │ │ │ └── ticket_internal_detail.php
│ │ │ │ │ │ │ ├── client_ticket.html
│ │ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ │ └── opinionButton.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── addTicket.css
│ │ │ │ │ │ │ │ ├── addTicket.less
│ │ │ │ │ │ │ │ ├── opinionButton.css
│ │ │ │ │ │ │ │ ├── opinionButton.less
│ │ │ │ │ │ │ │ ├── order.css
│ │ │ │ │ │ │ │ ├── order.less
│ │ │ │ │ │ │ │ ├── refund.css
│ │ │ │ │ │ │ │ ├── ticket_setting.css
│ │ │ │ │ │ │ │ └── ticket_setting.less
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── client_ticket.js
│ │ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ │ ├── layout.js
│ │ │ │ │ │ │ │ │ └── vue.js
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ ├── ticket_add.js
│ │ │ │ │ │ │ │ ├── ticket_detail.js
│ │ │ │ │ │ │ │ ├── ticket_setting.js
│ │ │ │ │ │ │ │ └── xss.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ │ ├── ticket_add.html
│ │ │ │ │ │ │ ├── ticket_detail.html
│ │ │ │ │ │ │ └── ticket_setting.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ ├── addTicket.html
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── ticket.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── addTicket.css
│ │ │ │ │ │ │ ├── addTicket.less
│ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ │ ├── ticket.css
│ │ │ │ │ │ │ ├── ticket.less
│ │ │ │ │ │ │ ├── ticketDetails.css
│ │ │ │ │ │ │ └── ticketDetails.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── addTicket.js
│ │ │ │ │ │ │ ├── ticket.js
│ │ │ │ │ │ │ ├── ticketDetails.js
│ │ │ │ │ │ │ ├── tinymce/
│ │ │ │ │ │ │ │ ├── langs/
│ │ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ │ └── zh_CN.js
│ │ │ │ │ │ │ │ ├── license.txt
│ │ │ │ │ │ │ │ ├── plugins/
│ │ │ │ │ │ │ │ │ └── emoticons/
│ │ │ │ │ │ │ │ │ └── js/
│ │ │ │ │ │ │ │ │ ├── emojiimages.js
│ │ │ │ │ │ │ │ │ └── emojis.js
│ │ │ │ │ │ │ │ └── tinymce.d.ts
│ │ │ │ │ │ │ └── xss.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── ticket.html
│ │ │ │ │ │ └── ticketDetails.html
│ │ │ │ │ ├── upgrade.php
│ │ │ │ │ ├── upload/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ ├── TicketStatusValidate.php
│ │ │ │ │ ├── TicketTypeValidate.php
│ │ │ │ │ └── TicketValidate.php
│ │ │ │ ├── idcsmart_withdraw/
│ │ │ │ │ ├── IdcsmartWithdraw.php
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auth.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ ├── IdcsmartWithdrawMethodModel.php
│ │ │ │ │ │ ├── IdcsmartWithdrawModel.php
│ │ │ │ │ │ ├── IdcsmartWithdrawRejectReasonModel.php
│ │ │ │ │ │ └── IdcsmartWithdrawRuleModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ │ │ └── withdrawal.js
│ │ │ │ │ │ │ ├── balance_withdrawal_settings.html
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ │ ├── reset.css
│ │ │ │ │ │ │ │ │ └── reset.less
│ │ │ │ │ │ │ │ ├── login.css
│ │ │ │ │ │ │ │ ├── theme/
│ │ │ │ │ │ │ │ │ ├── cyan.less
│ │ │ │ │ │ │ │ │ ├── default.less
│ │ │ │ │ │ │ │ │ ├── green.less
│ │ │ │ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ │ │ │ ├── orange.less
│ │ │ │ │ │ │ │ │ ├── pink.less
│ │ │ │ │ │ │ │ │ ├── purple.less
│ │ │ │ │ │ │ │ │ ├── red.less
│ │ │ │ │ │ │ │ │ ├── variables.less
│ │ │ │ │ │ │ │ │ └── yellow.less
│ │ │ │ │ │ │ │ ├── withdrawal.css
│ │ │ │ │ │ │ │ └── withdrawal.less
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── balance_withdrawal_settings.js
│ │ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ │ ├── layout.js
│ │ │ │ │ │ │ │ │ └── vue.js
│ │ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ │ ├── login.js
│ │ │ │ │ │ │ │ ├── withdrawal.js
│ │ │ │ │ │ │ │ ├── withdrawal_create.js
│ │ │ │ │ │ │ │ ├── withdrawal_manage.js
│ │ │ │ │ │ │ │ ├── withdrawal_setting.js
│ │ │ │ │ │ │ │ └── withdrawal_update.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ │ │ ├── withdrawal_create.html
│ │ │ │ │ │ │ ├── withdrawal_manage.html
│ │ │ │ │ │ │ ├── withdrawal_setting.html
│ │ │ │ │ │ │ └── withdrawal_update.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── validate/
│ │ │ │ │ └── IdcsmartWithdrawValidate.php
│ │ │ │ └── promo_code/
│ │ │ │ ├── PromoCode.php
│ │ │ │ ├── README.md
│ │ │ │ ├── auth.php
│ │ │ │ ├── controller/
│ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ └── clientarea/
│ │ │ │ │ └── IndexController.php
│ │ │ │ ├── lang/
│ │ │ │ │ ├── en-us.php
│ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ └── zh-hk.php
│ │ │ │ ├── logic/
│ │ │ │ │ └── PromoCodeLogic.php
│ │ │ │ ├── model/
│ │ │ │ │ ├── PromoCodeLogModel.php
│ │ │ │ │ ├── PromoCodeModel.php
│ │ │ │ │ ├── PromoCodeProductModel.php
│ │ │ │ │ └── PromoCodeProductNeedModel.php
│ │ │ │ ├── route.php
│ │ │ │ ├── template/
│ │ │ │ │ ├── admin/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── promo_code.js
│ │ │ │ │ │ ├── create_promo_code.html
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── promo_code.css
│ │ │ │ │ │ │ └── promo_code.less
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── create_promo_code.js
│ │ │ │ │ │ │ ├── lang.js
│ │ │ │ │ │ │ └── promo_code.js
│ │ │ │ │ │ └── lang/
│ │ │ │ │ │ ├── en-us.js
│ │ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ │ └── zh-hk.js
│ │ │ │ │ └── clientarea/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── validate/
│ │ │ │ └── PromoCodeValidate.php
│ │ │ ├── captcha/
│ │ │ │ └── tp_captcha/
│ │ │ │ ├── TpCaptcha.php
│ │ │ │ ├── config/
│ │ │ │ │ └── config.php
│ │ │ │ ├── config.php
│ │ │ │ ├── controller/
│ │ │ │ │ └── IndexController.php
│ │ │ │ └── logic/
│ │ │ │ └── TpCaptchaLogic.php
│ │ │ ├── certification/
│ │ │ │ └── idcsmartali/
│ │ │ │ ├── Idcsmartali.php
│ │ │ │ ├── config/
│ │ │ │ │ └── config.php
│ │ │ │ ├── config.php
│ │ │ │ ├── controller/
│ │ │ │ │ └── IndexController.php
│ │ │ │ ├── logic/
│ │ │ │ │ └── IdcsmartaliLogic.php
│ │ │ │ └── phpqrcode/
│ │ │ │ ├── CHANGELOG
│ │ │ │ ├── INSTALL
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README
│ │ │ │ ├── VERSION
│ │ │ │ ├── bindings/
│ │ │ │ │ └── tcpdf/
│ │ │ │ │ └── qrcode.php
│ │ │ │ ├── index.php
│ │ │ │ ├── phpqrcode.php
│ │ │ │ ├── qrbitstream.php
│ │ │ │ ├── qrconfig.php
│ │ │ │ ├── qrconst.php
│ │ │ │ ├── qrencode.php
│ │ │ │ ├── qrimage.php
│ │ │ │ ├── qrinput.php
│ │ │ │ ├── qrlib.php
│ │ │ │ ├── qrmask.php
│ │ │ │ ├── qrrscode.php
│ │ │ │ ├── qrspec.php
│ │ │ │ ├── qrsplit.php
│ │ │ │ ├── qrtools.php
│ │ │ │ └── tools/
│ │ │ │ ├── merge.bat
│ │ │ │ ├── merge.php
│ │ │ │ ├── merge.sh
│ │ │ │ ├── merged_config.php
│ │ │ │ └── merged_header.php
│ │ │ ├── gateway/
│ │ │ │ ├── ali_pay_dmf/
│ │ │ │ │ ├── AliPayDmf.php
│ │ │ │ │ ├── AopSdk.php
│ │ │ │ │ ├── aop/
│ │ │ │ │ │ ├── AlipayMobilePublicMultiMediaClient.php
│ │ │ │ │ │ ├── AlipayMobilePublicMultiMediaExecute.php
│ │ │ │ │ │ ├── AopClient.php
│ │ │ │ │ │ ├── AopEncrypt.php
│ │ │ │ │ │ ├── EncryptParseItem.php
│ │ │ │ │ │ ├── EncryptResponseData.php
│ │ │ │ │ │ ├── SignData.php
│ │ │ │ │ │ ├── request/
│ │ │ │ │ │ │ ├── AlipayAccountExrateRatequeryRequest.php
│ │ │ │ │ │ │ ├── AlipayAcquireCancelRequest.php
│ │ │ │ │ │ │ ├── AlipayAcquireCloseRequest.php
│ │ │ │ │ │ │ ├── AlipayAcquireCreateandpayRequest.php
│ │ │ │ │ │ │ ├── AlipayAcquirePrecreateRequest.php
│ │ │ │ │ │ │ ├── AlipayAcquireQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayAcquireRefundRequest.php
│ │ │ │ │ │ │ ├── AlipayAppTokenGetRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetAccountBindRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetAccountGetRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetAccountUnbindRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetPointBalanceQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetPointBudgetQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetPointOrderCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayAssetPointOrderQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayBossCsChannelQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayBossProdArrangementOfflineQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorCityQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorDepositCancelRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorDepositConfirmRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorDepositQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorFunctionQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorScriptQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherCancelRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherConfirmRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherUploadRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceEducateStudentinfoShareRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceMedicalCardQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceMedicalInstcardBindRequest.php
│ │ │ │ │ │ │ ├── AlipayCommerceMedicalInstcardCreateandpayRequest.php
│ │ │ │ │ │ │ ├── AlipayDataBillDownloadurlGetRequest.php
│ │ │ │ │ │ │ ├── AlipayDataDataexchangeSfasdfRequest.php
│ │ │ │ │ │ │ ├── AlipayDataDataserviceBillDownloadurlQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayDataDataserviceChinaremodelQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayDataDataserviceCodeRecoRequest.php
│ │ │ │ │ │ │ ├── AlipayDataDataserviceSdfsdfRequest.php
│ │ │ │ │ │ │ ├── AlipayDataDataserviceUserlevelZrankGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppBillAddRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppBillBatchPayurlGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppBillGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppBillPayRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppBillPayurlGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppBillSearchRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppMerchantConfigGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEbppPdeductBillPayStatusRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodCreditGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDataPutRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnContractGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnDrawndnlistQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnFeerecordQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnLendingrecordQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnPaymentscheduleGetRequest.php
│ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnRepaymentrecordQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayEcardEduPublicBindRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarCarlibInfoPushRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarDataExternalQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarDataExternalSendRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarDataserviceViolationinfoShareRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarPromoTicketPushRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarPromoTicketSyncRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarViolationCityPushRequest.php
│ │ │ │ │ │ │ ├── AlipayEcoMycarViolationInfoPushRequest.php
│ │ │ │ │ │ │ ├── AlipayExscUserCurrentsignGetRequest.php
│ │ │ │ │ │ │ ├── AlipayExscUserFirstfundinpourGetRequest.php
│ │ │ │ │ │ │ ├── AlipayExscUserFirstsignGetRequest.php
│ │ │ │ │ │ │ ├── AlipayFlashsalesStockSyncUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayMappprodAccountBindingSyncRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCampaignActivityOfflineCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCampaignActivityOfflineTriggerRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseOperateRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMarketingCdpRecommendQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMdataTagGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMemberCardDeletecardRequest.php
│ │ │ │ │ │ │ ├── AlipayMemberCardOpenRequest.php
│ │ │ │ │ │ │ ├── AlipayMemberCardQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMemberConsumeNotifyRequest.php
│ │ │ │ │ │ │ ├── AlipayMemberCouponQuerylistRequest.php
│ │ │ │ │ │ │ ├── AlipayMicropayOrderConfirmpayurlGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMicropayOrderDirectPayRequest.php
│ │ │ │ │ │ │ ├── AlipayMicropayOrderFreezeRequest.php
│ │ │ │ │ │ │ ├── AlipayMicropayOrderFreezepayurlGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMicropayOrderGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMicropayOrderUnfreezeRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceAddRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileBeaconMessageSendRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileBksigntokenVerifyRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileCodeCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileCodeQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileDeviceinfoDynamicinfoAddRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicAccountAddRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicAccountDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicAccountQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicAccountResetRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicAppinfoUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicContactFollowListRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicFollowListRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicGisGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicInfoModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicInfoQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelAddRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUserAddRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUserDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUserQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuAddRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuUserQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMenuUserUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessageCustomSendRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessageLabelSendRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessagePushRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessageSingleSendRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessageTotalSendRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessagebatchPushRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMessagespecifyPushRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicMockListsmlistApiRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicQrcodeCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicShortlinkCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicStdMockListsmlistApiRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileRecommendGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileShakeUserQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileStdPublicAccountQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileStdPublicExpressUserQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileStdPublicFollowListRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileStdPublicMenuQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayMobileStdPublicMessageCustomSendRequest.php
│ │ │ │ │ │ │ ├── AlipayMpointprodBenefitDetailGetRequest.php
│ │ │ │ │ │ │ ├── AlipayMsaasPromotionCpainfoCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketApplyorderBatchqueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketItemCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketItemModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketItemStateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsBatchqueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsClaimRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsQrcodeQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsReleaseRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketProductBatchqueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketProductQuerydetailRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketProductUsedetailRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketReportGetRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumBindRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumUnbindRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAssignstaffRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopBatchqueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopDiscountQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopPublicBindRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopPublicUnbindRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketShopQuerydetailRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherCodeUploadRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherOfflineRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherStatusQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherUseRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageDownloadRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageUploadRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineProviderEquipmentAuthQuerybypageRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineProviderEquipmentAuthRemoveRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineProviderQuerystaffRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineProviderStaffUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsClaimstatusRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsContractconfirmRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsInfoAddRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsInfoQuerybypageRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsMerchantEquipmentQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsQuerybyidsRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenAppCodetesttestRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenAuthIndustryPlatformCreateTokenRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenAuthTokenAppQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenAuthTokenAppRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenPublicMultimediaDownloadProxyRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenPublicPartnerMenuOperateRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenPublicPartnerMenuQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenPublicPartnerSubscribeSyncRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenPublicTemplateMessageIndustryModifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenPublicThirdCustomerServiceRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenServicemarketOrderNotifyRequest.php
│ │ │ │ │ │ │ ├── AlipayOpenServicemarketOrderQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayOperatorMobileBindRequest.php
│ │ │ │ │ │ │ ├── AlipayPassCodeAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassCodeVerifyRequest.php
│ │ │ │ │ │ │ ├── AlipayPassFileAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassInstanceAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassInstanceUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayPassSyncAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassSyncUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayPassTemplateAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassTemplateUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayPassTplAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassTplContentAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPassTplContentUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayPassTplUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayPassVerifyQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayPcreditHuabeiPromoQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayPlatformOpenidGetRequest.php
│ │ │ │ │ │ │ ├── AlipayPlatformUseridGetRequest.php
│ │ │ │ │ │ │ ├── AlipayPointBalanceGetRequest.php
│ │ │ │ │ │ │ ├── AlipayPointBudgetGetRequest.php
│ │ │ │ │ │ │ ├── AlipayPointOrderAddRequest.php
│ │ │ │ │ │ │ ├── AlipayPointOrderGetRequest.php
│ │ │ │ │ │ │ ├── AlipayPromorulecenterRuleAnalyzeRequest.php
│ │ │ │ │ │ │ ├── AlipaySecurityInfoAnalysisRequest.php
│ │ │ │ │ │ │ ├── AlipaySecurityProdAlipaySecurityProdTestRequest.php
│ │ │ │ │ │ │ ├── AlipaySecurityProdAmlriskQueryRequest.php
│ │ │ │ │ │ │ ├── AlipaySecurityRiskDetectRequest.php
│ │ │ │ │ │ │ ├── AlipaySecurityRiskRainscoreQueryRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoAddRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoGetRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoSearchRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoAddRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoDeleteRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoGetRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeShopPublicBindRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeShopPublicUnbindRequest.php
│ │ │ │ │ │ │ ├── AlipaySiteprobeUserInfoGetRequest.php
│ │ │ │ │ │ │ ├── AlipaySystemOauthTokenRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeCancelRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeCloseRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeFastpayRefundQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayTradePayRequest.php
│ │ │ │ │ │ │ ├── AlipayTradePrecreateRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeRefundRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeVendorpayDevicedataUploadRequest.php
│ │ │ │ │ │ │ ├── AlipayTradeWapPayRequest.php
│ │ │ │ │ │ │ ├── AlipayTransferThirdpartyBillCreateRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserAuthSendRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserReportGetRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserRiskSummaryGetRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserRiskidentifyGetRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserScoreGetRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserStandardVerifyGetRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserTokenGetRequest.php
│ │ │ │ │ │ │ ├── AlipayTrustUserZminfoPairGetRequest.php
│ │ │ │ │ │ │ ├── AlipayUserAccountFreezeGetRequest.php
│ │ │ │ │ │ │ ├── AlipayUserAccountGetRequest.php
│ │ │ │ │ │ │ ├── AlipayUserAccountSearchRequest.php
│ │ │ │ │ │ │ ├── AlipayUserAccountUseridBatchqueryRequest.php
│ │ │ │ │ │ │ ├── AlipayUserContractGetRequest.php
│ │ │ │ │ │ │ ├── AlipayUserFinanceinfoShareRequest.php
│ │ │ │ │ │ │ ├── AlipayUserGetRequest.php
│ │ │ │ │ │ │ ├── AlipayUserMemberCardUpdateRequest.php
│ │ │ │ │ │ │ ├── AlipayUserTestRequest.php
│ │ │ │ │ │ │ ├── AlipayUserTradeSearchRequest.php
│ │ │ │ │ │ │ ├── AlipayUserUserinfoShareRequest.php
│ │ │ │ │ │ │ ├── AlipayZdataassetsEasyserviceRequest.php
│ │ │ │ │ │ │ ├── AlipayZdataassetsFcdatalabZdatamergetaskRequest.php
│ │ │ │ │ │ │ ├── AlipayZdataassetsMetadataRequest.php
│ │ │ │ │ │ │ ├── AlipayZdatafrontCommonQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayZdatafrontDatatransferedFileuploadRequest.php
│ │ │ │ │ │ │ ├── AlipayZdatafrontDatatransferedSendRequest.php
│ │ │ │ │ │ │ ├── AlipayZdataserviceUnidataQueryRequest.php
│ │ │ │ │ │ │ ├── AlipayZmscoreZrankGetRequest.php
│ │ │ │ │ │ │ ├── MonitorHeartbeatSynRequest.php
│ │ │ │ │ │ │ └── ZhimaMerchantTestPracticeRequest.php
│ │ │ │ │ │ └── test/
│ │ │ │ │ │ └── TestImage.php
│ │ │ │ │ ├── config/
│ │ │ │ │ │ └── config.php
│ │ │ │ │ ├── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ ├── f2fpay/
│ │ │ │ │ │ ├── barpay_test.php
│ │ │ │ │ │ ├── config/
│ │ │ │ │ │ │ └── config.php
│ │ │ │ │ │ ├── log/
│ │ │ │ │ │ │ └── log.txt
│ │ │ │ │ │ ├── model/
│ │ │ │ │ │ │ ├── builder/
│ │ │ │ │ │ │ │ ├── AlipayTradeCancelContentBuilder.php
│ │ │ │ │ │ │ │ ├── AlipayTradePayContentBuilder.php
│ │ │ │ │ │ │ │ ├── AlipayTradePrecreateContentBuilder.php
│ │ │ │ │ │ │ │ ├── AlipayTradeQueryContentBuilder.php
│ │ │ │ │ │ │ │ ├── AlipayTradeRefundContentBuilder.php
│ │ │ │ │ │ │ │ ├── ContentBuilder.php
│ │ │ │ │ │ │ │ ├── ExtendParams.php
│ │ │ │ │ │ │ │ ├── GoodsDetail.php
│ │ │ │ │ │ │ │ └── RoyaltyDetailInfo.php
│ │ │ │ │ │ │ └── result/
│ │ │ │ │ │ │ ├── AlipayF2FPayResult.php
│ │ │ │ │ │ │ ├── AlipayF2FPrecreateResult.php
│ │ │ │ │ │ │ ├── AlipayF2FQueryResult.php
│ │ │ │ │ │ │ └── AlipayF2FRefundResult.php
│ │ │ │ │ │ ├── qrpay.php
│ │ │ │ │ │ ├── qrpay_test.php
│ │ │ │ │ │ ├── query_test.php
│ │ │ │ │ │ ├── refund_test.php
│ │ │ │ │ │ └── service/
│ │ │ │ │ │ └── AlipayTradeService.php
│ │ │ │ │ ├── lotusphp_runtime/
│ │ │ │ │ │ ├── Autoloader/
│ │ │ │ │ │ │ └── Autoloader.php
│ │ │ │ │ │ ├── Cache/
│ │ │ │ │ │ │ ├── Adapter/
│ │ │ │ │ │ │ │ ├── CacheAdapter.php
│ │ │ │ │ │ │ │ ├── CacheAdapterApc.php
│ │ │ │ │ │ │ │ ├── CacheAdapterEAccelerator.php
│ │ │ │ │ │ │ │ ├── CacheAdapterFile.php
│ │ │ │ │ │ │ │ ├── CacheAdapterMemcache.php
│ │ │ │ │ │ │ │ ├── CacheAdapterMemcached.php
│ │ │ │ │ │ │ │ ├── CacheAdapterPhps.php
│ │ │ │ │ │ │ │ └── CacheAdapterXcache.php
│ │ │ │ │ │ │ ├── Cache.php
│ │ │ │ │ │ │ ├── CacheAdapterFactory.php
│ │ │ │ │ │ │ ├── CacheConfigBuilder.php
│ │ │ │ │ │ │ ├── CacheConnectionManager.php
│ │ │ │ │ │ │ ├── CacheHandle.php
│ │ │ │ │ │ │ └── QueryEngine/
│ │ │ │ │ │ │ └── TableDataGateway/
│ │ │ │ │ │ │ └── CacheTableDataGateway.php
│ │ │ │ │ │ ├── Captcha/
│ │ │ │ │ │ │ ├── Captcha.php
│ │ │ │ │ │ │ └── CaptchaImageEngine.php
│ │ │ │ │ │ ├── Config.php
│ │ │ │ │ │ ├── ConfigExpression.php
│ │ │ │ │ │ ├── Cookie/
│ │ │ │ │ │ │ └── Cookie.php
│ │ │ │ │ │ ├── DB/
│ │ │ │ │ │ │ ├── Adapter/
│ │ │ │ │ │ │ │ ├── ConnectionAdapter/
│ │ │ │ │ │ │ │ │ ├── DbConnectionAdapter.php
│ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterMysql.php
│ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterMysqli.php
│ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterPdo.php
│ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterPgsql.php
│ │ │ │ │ │ │ │ │ └── DbConnectionAdapterSqlite.php
│ │ │ │ │ │ │ │ └── SqlAdapter/
│ │ │ │ │ │ │ │ ├── DbSqlAdapter.php
│ │ │ │ │ │ │ │ ├── DbSqlAdapterMysql.php
│ │ │ │ │ │ │ │ ├── DbSqlAdapterPgsql.php
│ │ │ │ │ │ │ │ └── DbSqlAdapterSqlite.php
│ │ │ │ │ │ │ ├── Db.php
│ │ │ │ │ │ │ ├── DbAdapterFactory.php
│ │ │ │ │ │ │ ├── DbConfigBuilder.php
│ │ │ │ │ │ │ ├── DbConnectionManager.php
│ │ │ │ │ │ │ ├── DbHandle.php
│ │ │ │ │ │ │ ├── DbSqlExpression.php
│ │ │ │ │ │ │ └── QueryEngine/
│ │ │ │ │ │ │ ├── SqlMap/
│ │ │ │ │ │ │ │ ├── AbstractDbSqlMapFilterObject.php
│ │ │ │ │ │ │ │ ├── DbSqlMapClient.php
│ │ │ │ │ │ │ │ └── DbSqlMapResultFactory.php
│ │ │ │ │ │ │ └── TableDataGateway/
│ │ │ │ │ │ │ ├── DbTableDataGateway.php
│ │ │ │ │ │ │ ├── DbTableRelation.php
│ │ │ │ │ │ │ └── DbWhereCondition.php
│ │ │ │ │ │ ├── Inflector/
│ │ │ │ │ │ │ └── Inflector.php
│ │ │ │ │ │ ├── Logger/
│ │ │ │ │ │ │ └── Logger.php
│ │ │ │ │ │ ├── Lotus.php
│ │ │ │ │ │ ├── MVC/
│ │ │ │ │ │ │ ├── Action.php
│ │ │ │ │ │ │ ├── Component.php
│ │ │ │ │ │ │ ├── Context.php
│ │ │ │ │ │ │ ├── Dispatcher.php
│ │ │ │ │ │ │ ├── TemplateView.php
│ │ │ │ │ │ │ └── View.php
│ │ │ │ │ │ ├── ObjectUtil/
│ │ │ │ │ │ │ └── ObjectUtil.php
│ │ │ │ │ │ ├── Pagination/
│ │ │ │ │ │ │ └── Pagination.php
│ │ │ │ │ │ ├── RBAC/
│ │ │ │ │ │ │ └── Rbac.php
│ │ │ │ │ │ ├── Router/
│ │ │ │ │ │ │ └── Router.php
│ │ │ │ │ │ ├── Session/
│ │ │ │ │ │ │ ├── Session.php
│ │ │ │ │ │ │ ├── SessionStore
│ │ │ │ │ │ │ └── Store/
│ │ │ │ │ │ │ ├── SessionStoreFile.php
│ │ │ │ │ │ │ ├── SessionStoreMemcache.php
│ │ │ │ │ │ │ ├── SessionStoreMysql.php
│ │ │ │ │ │ │ └── SessionStoreSqlite.php
│ │ │ │ │ │ ├── Store.php
│ │ │ │ │ │ ├── StoreFile.php
│ │ │ │ │ │ ├── StoreMemory.php
│ │ │ │ │ │ ├── Url/
│ │ │ │ │ │ │ └── Url.php
│ │ │ │ │ │ ├── Validator/
│ │ │ │ │ │ │ ├── Validator.php
│ │ │ │ │ │ │ └── ValidatorDtd.php
│ │ │ │ │ │ ├── XML/
│ │ │ │ │ │ │ └── Xml.php
│ │ │ │ │ │ └── shortcut.php
│ │ │ │ │ └── phpqrcode/
│ │ │ │ │ ├── CHANGELOG
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── README
│ │ │ │ │ ├── VERSION
│ │ │ │ │ ├── bindings/
│ │ │ │ │ │ └── tcpdf/
│ │ │ │ │ │ └── qrcode.php
│ │ │ │ │ ├── index.php
│ │ │ │ │ ├── phpqrcode.php
│ │ │ │ │ ├── qrbitstream.php
│ │ │ │ │ ├── qrconfig.php
│ │ │ │ │ ├── qrconst.php
│ │ │ │ │ ├── qrencode.php
│ │ │ │ │ ├── qrimage.php
│ │ │ │ │ ├── qrinput.php
│ │ │ │ │ ├── qrlib.php
│ │ │ │ │ ├── qrmask.php
│ │ │ │ │ ├── qrrscode.php
│ │ │ │ │ ├── qrspec.php
│ │ │ │ │ ├── qrsplit.php
│ │ │ │ │ ├── qrtools.php
│ │ │ │ │ └── tools/
│ │ │ │ │ ├── merge.bat
│ │ │ │ │ ├── merge.php
│ │ │ │ │ ├── merge.sh
│ │ │ │ │ ├── merged_config.php
│ │ │ │ │ └── merged_header.php
│ │ │ │ ├── user_custom/
│ │ │ │ │ ├── UserCustom.php
│ │ │ │ │ ├── UserCustomPlugin.php
│ │ │ │ │ ├── config.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ │ └── IndexController.php
│ │ │ │ │ └── model/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── wx_pay/
│ │ │ │ ├── WxPay.php
│ │ │ │ ├── behavior/
│ │ │ │ │ └── ConfigController.php
│ │ │ │ ├── cert/
│ │ │ │ │ └── 1.pem
│ │ │ │ ├── config.php
│ │ │ │ ├── controller/
│ │ │ │ │ ├── AdminIndexController.php
│ │ │ │ │ ├── ApiIndexController.php
│ │ │ │ │ ├── IndexController.php
│ │ │ │ │ └── NotifyController.php
│ │ │ │ ├── demo.xml
│ │ │ │ ├── lib/
│ │ │ │ │ ├── WxPay.Config.Interface.php
│ │ │ │ │ ├── WxPayApi.php
│ │ │ │ │ ├── WxPayConfig.php
│ │ │ │ │ ├── WxPayData.php
│ │ │ │ │ ├── WxPayException.php
│ │ │ │ │ └── WxPayNotify.php
│ │ │ │ ├── log.php
│ │ │ │ ├── phpqrcode/
│ │ │ │ │ ├── CHANGELOG
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── README
│ │ │ │ │ ├── VERSION
│ │ │ │ │ ├── bindings/
│ │ │ │ │ │ └── tcpdf/
│ │ │ │ │ │ └── qrcode.php
│ │ │ │ │ ├── index.php
│ │ │ │ │ ├── phpqrcode.php
│ │ │ │ │ ├── qrbitstream.php
│ │ │ │ │ ├── qrconfig.php
│ │ │ │ │ ├── qrconst.php
│ │ │ │ │ ├── qrencode.php
│ │ │ │ │ ├── qrimage.php
│ │ │ │ │ ├── qrinput.php
│ │ │ │ │ ├── qrlib.php
│ │ │ │ │ ├── qrmask.php
│ │ │ │ │ ├── qrrscode.php
│ │ │ │ │ ├── qrspec.php
│ │ │ │ │ ├── qrsplit.php
│ │ │ │ │ ├── qrtools.php
│ │ │ │ │ └── tools/
│ │ │ │ │ ├── merge.bat
│ │ │ │ │ ├── merge.php
│ │ │ │ │ ├── merge.sh
│ │ │ │ │ ├── merged_config.php
│ │ │ │ │ └── merged_header.php
│ │ │ │ └── validate/
│ │ │ │ └── WxPayValidate.php
│ │ │ ├── mail/
│ │ │ │ ├── idcsmartmail/
│ │ │ │ │ ├── Idcsmartmail.php
│ │ │ │ │ └── config.php
│ │ │ │ └── smtp/
│ │ │ │ ├── Smtp.php
│ │ │ │ └── config.php
│ │ │ ├── oss/
│ │ │ │ └── local_oss/
│ │ │ │ ├── LocalOss.php
│ │ │ │ ├── config/
│ │ │ │ │ └── config.php
│ │ │ │ └── config.php
│ │ │ ├── reserver/
│ │ │ │ ├── idcsmart_common/
│ │ │ │ │ ├── IdcsmartCommon.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── idcsmart_common_version.txt
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── common_config.js
│ │ │ │ │ │ │ └── common_product.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudDetail.css
│ │ │ │ │ │ │ ├── cloudDetail.less
│ │ │ │ │ │ │ ├── common_config.css
│ │ │ │ │ │ │ ├── common_config.less
│ │ │ │ │ │ │ ├── common_product_detail.css
│ │ │ │ │ │ │ ├── common_product_detail.less
│ │ │ │ │ │ │ ├── common_product_list.css
│ │ │ │ │ │ │ └── common_product_list.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── common_product.js
│ │ │ │ │ │ │ ├── common_product_detail.js
│ │ │ │ │ │ │ ├── common_product_list.js
│ │ │ │ │ │ │ └── echarts.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ └── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ └── vnc_page.html
│ │ │ │ ├── mf_cloud/
│ │ │ │ │ ├── MfCloud.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── hooks.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── mf_cloud_version.txt
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── mf_cloud.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── mf-cloud.css
│ │ │ │ │ │ │ │ └── mf-cloud.less
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ └── module_operate.js
│ │ │ │ │ │ │ └── module_operate.html
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── cloud.js
│ │ │ │ │ │ │ ├── goodsList.js
│ │ │ │ │ │ │ ├── mf_cloud.js
│ │ │ │ │ │ │ └── order.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudDetail.css
│ │ │ │ │ │ │ ├── cloudDetail.less
│ │ │ │ │ │ │ ├── cloudList.css
│ │ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ │ ├── goodsList.css
│ │ │ │ │ │ │ ├── mf_cloud.css
│ │ │ │ │ │ │ ├── mf_cloud.less
│ │ │ │ │ │ │ ├── order.css
│ │ │ │ │ │ │ └── order.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── cloudDetail.js
│ │ │ │ │ │ │ ├── cloudList.js
│ │ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ │ └── mf_cloud.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ ├── CartValidate.php
│ │ │ │ │ │ └── HostValidate.php
│ │ │ │ │ └── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ └── vnc_page.html
│ │ │ │ ├── mf_dcim/
│ │ │ │ │ ├── MfDcim.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── mf_dcim_version.txt
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── mf_dcim.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── mf-dcim.css
│ │ │ │ │ │ │ │ └── mf-dcim.less
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── mf_dcim.js
│ │ │ │ │ │ │ │ └── module_operate.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── module_operate.html
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── dcim.js
│ │ │ │ │ │ │ ├── dcimOrder.js
│ │ │ │ │ │ │ └── mf_dcim.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ │ ├── dcimDetail.css
│ │ │ │ │ │ │ ├── dcimDetail.less
│ │ │ │ │ │ │ ├── dcimList.css
│ │ │ │ │ │ │ ├── dcimOrder.css
│ │ │ │ │ │ │ ├── dcimOrder.less
│ │ │ │ │ │ │ ├── mf_dcim.css
│ │ │ │ │ │ │ └── mf_dcim.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── dcimDetail.js
│ │ │ │ │ │ │ ├── dcimList.js
│ │ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ │ └── mf_dcim.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ └── HostValidate.php
│ │ │ │ │ └── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ └── vnc_page.html
│ │ │ │ ├── mf_finance/
│ │ │ │ │ ├── MfFinance.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── hooks.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── mf_finance_version.txt
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ └── SystemLogModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── mf_cloud.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── mf-cloud.css
│ │ │ │ │ │ │ │ └── mf-cloud.less
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── mf_cloud.js
│ │ │ │ │ │ │ │ └── module_operate.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── module_operate.html
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── cloud.js
│ │ │ │ │ │ │ ├── goodsList.js
│ │ │ │ │ │ │ ├── mf_cloud.js
│ │ │ │ │ │ │ ├── order.js
│ │ │ │ │ │ │ └── remf_finance.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudDetail.css
│ │ │ │ │ │ │ ├── cloudDetail.less
│ │ │ │ │ │ │ ├── cloudList.css
│ │ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ │ ├── remf_finance.css
│ │ │ │ │ │ │ └── remf_finance.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── cloudDetail.js
│ │ │ │ │ │ │ ├── cloudList.js
│ │ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ │ └── remf_finance.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ └── HostValidate.php
│ │ │ │ │ └── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ └── vnc_page.html
│ │ │ │ ├── mf_finance_common/
│ │ │ │ │ ├── MfFinanceCommon.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── mf_finance_common_version.txt
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ └── SystemLogModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── cloud.js
│ │ │ │ │ │ │ ├── dcim.js
│ │ │ │ │ │ │ ├── goodsList.js
│ │ │ │ │ │ │ ├── mf_cloud.js
│ │ │ │ │ │ │ ├── order.js
│ │ │ │ │ │ │ └── remf_finance.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudDetail.css
│ │ │ │ │ │ │ ├── cloudDetail.less
│ │ │ │ │ │ │ ├── cloudList.css
│ │ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ │ ├── dcimDetail.css
│ │ │ │ │ │ │ ├── dcimList.css
│ │ │ │ │ │ │ ├── goodsList.css
│ │ │ │ │ │ │ ├── mf_cloud.css
│ │ │ │ │ │ │ ├── mf_cloud.less
│ │ │ │ │ │ │ ├── order.css
│ │ │ │ │ │ │ ├── order.less
│ │ │ │ │ │ │ ├── remf_finance.css
│ │ │ │ │ │ │ └── remf_finance.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── cloudDetail.js
│ │ │ │ │ │ │ ├── cloudList.js
│ │ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ │ └── remf_finance.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ └── HostValidate.php
│ │ │ │ │ └── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ └── vnc_page.html
│ │ │ │ ├── mf_finance_dcim/
│ │ │ │ │ ├── MfFinanceDcim.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── mf_finance_dcim_version.txt
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ └── SystemLogModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── mf_dcim.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── mf-dcim.css
│ │ │ │ │ │ │ │ └── mf-dcim.less
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ ├── mf_dcim.js
│ │ │ │ │ │ │ │ └── module_operate.js
│ │ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── module_operate.html
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── cloud.js
│ │ │ │ │ │ │ ├── dcim.js
│ │ │ │ │ │ │ ├── goodsList.js
│ │ │ │ │ │ │ ├── mf_cloud.js
│ │ │ │ │ │ │ ├── order.js
│ │ │ │ │ │ │ └── remf_finance.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudDetail.css
│ │ │ │ │ │ │ ├── cloudDetail.less
│ │ │ │ │ │ │ ├── cloudList.css
│ │ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ │ ├── remf_finance.css
│ │ │ │ │ │ │ └── remf_finance.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── cloudDetail.js
│ │ │ │ │ │ │ ├── cloudList.js
│ │ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ │ └── remf_finance.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ └── HostValidate.php
│ │ │ │ │ └── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ └── vnc_page.html
│ │ │ │ ├── whmcs_cloud/
│ │ │ │ │ ├── WhmcsCloud.php
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ │ └── home/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ ├── en-us.php
│ │ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ │ └── zh-hk.php
│ │ │ │ │ ├── logic/
│ │ │ │ │ │ └── RouteLogic.php
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ │ ├── model/
│ │ │ │ │ │ └── SystemLogModel.php
│ │ │ │ │ ├── route.php
│ │ │ │ │ ├── template/
│ │ │ │ │ │ ├── admin/
│ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ └── mf_cloud.js
│ │ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ │ ├── mf-cloud.css
│ │ │ │ │ │ │ │ └── mf-cloud.less
│ │ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ │ └── module_operate.js
│ │ │ │ │ │ │ └── module_operate.html
│ │ │ │ │ │ ├── cart/
│ │ │ │ │ │ │ └── pc/
│ │ │ │ │ │ │ └── default/
│ │ │ │ │ │ │ └── goods.html
│ │ │ │ │ │ └── clientarea/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── cloud.js
│ │ │ │ │ │ │ ├── goodsList.js
│ │ │ │ │ │ │ ├── mf_cloud.js
│ │ │ │ │ │ │ ├── order.js
│ │ │ │ │ │ │ └── rewhmcs_cloud.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── cloudDetail.css
│ │ │ │ │ │ │ ├── cloudDetail.less
│ │ │ │ │ │ │ ├── cloudList.css
│ │ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ │ ├── goodsList.css
│ │ │ │ │ │ │ ├── mf_cloud.css
│ │ │ │ │ │ │ ├── mf_cloud.less
│ │ │ │ │ │ │ ├── order.css
│ │ │ │ │ │ │ ├── order.less
│ │ │ │ │ │ │ ├── rewhmcs_cloud.css
│ │ │ │ │ │ │ └── rewhmcs_cloud.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ ├── cloudDetail.js
│ │ │ │ │ │ │ ├── cloudList.js
│ │ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ │ └── rewhmcs_cloud.js
│ │ │ │ │ │ ├── lang/
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── product_detail.html
│ │ │ │ │ │ └── product_list.html
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ └── HostValidate.php
│ │ │ │ │ ├── view/
│ │ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ │ ├── test.rfb.js
│ │ │ │ │ │ │ │ ├── test.util.js
│ │ │ │ │ │ │ │ ├── test.websock.js
│ │ │ │ │ │ │ │ ├── test.webutil.js
│ │ │ │ │ │ │ │ └── vnc_playback.html
│ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── b64-to-binary.pl
│ │ │ │ │ │ │ │ ├── genkeysymdef.js
│ │ │ │ │ │ │ │ ├── img2js.py
│ │ │ │ │ │ │ │ ├── json2graph.py
│ │ │ │ │ │ │ │ ├── launch.sh
│ │ │ │ │ │ │ │ ├── u2x11
│ │ │ │ │ │ │ │ ├── use_require.js
│ │ │ │ │ │ │ │ ├── use_require_helpers.js
│ │ │ │ │ │ │ │ └── validate
│ │ │ │ │ │ │ ├── vendor/
│ │ │ │ │ │ │ │ ├── browser-es-module-loader/
│ │ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ │ ├── dist/
│ │ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ │ ├── rollup.config.js
│ │ │ │ │ │ │ │ │ └── src/
│ │ │ │ │ │ │ │ │ ├── babel-worker.js
│ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js
│ │ │ │ │ │ │ │ ├── pako/
│ │ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ │ │ │ └── common.js
│ │ │ │ │ │ │ │ │ └── zlib/
│ │ │ │ │ │ │ │ │ ├── adler32.js
│ │ │ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ │ │ ├── crc32.js
│ │ │ │ │ │ │ │ │ ├── deflate.js
│ │ │ │ │ │ │ │ │ ├── gzheader.js
│ │ │ │ │ │ │ │ │ ├── inffast.js
│ │ │ │ │ │ │ │ │ ├── inflate.js
│ │ │ │ │ │ │ │ │ ├── inftrees.js
│ │ │ │ │ │ │ │ │ ├── messages.js
│ │ │ │ │ │ │ │ │ ├── trees.js
│ │ │ │ │ │ │ │ │ └── zstream.js
│ │ │ │ │ │ │ │ └── promise.js
│ │ │ │ │ │ │ └── vnc_lite.html
│ │ │ │ │ │ └── vnc_page.html
│ │ │ │ │ └── whmcs_cloud_version.txt
│ │ │ │ └── whmcs_dcim/
│ │ │ │ ├── WhmcsDcim.php
│ │ │ │ ├── controller/
│ │ │ │ │ ├── admin/
│ │ │ │ │ │ └── CloudController.php
│ │ │ │ │ └── home/
│ │ │ │ │ └── CloudController.php
│ │ │ │ ├── lang/
│ │ │ │ │ ├── en-us.php
│ │ │ │ │ ├── zh-cn.php
│ │ │ │ │ └── zh-hk.php
│ │ │ │ ├── logic/
│ │ │ │ │ └── RouteLogic.php
│ │ │ │ ├── middleware/
│ │ │ │ │ └── CheckAuthMiddleware.php
│ │ │ │ ├── model/
│ │ │ │ │ └── SystemLogModel.php
│ │ │ │ ├── route.php
│ │ │ │ ├── template/
│ │ │ │ │ ├── admin/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ └── mf_dcim.js
│ │ │ │ │ │ ├── css/
│ │ │ │ │ │ │ ├── mf-cloud.css
│ │ │ │ │ │ │ └── mf-cloud.less
│ │ │ │ │ │ ├── js/
│ │ │ │ │ │ │ └── module_operate.js
│ │ │ │ │ │ └── module_operate.html
│ │ │ │ │ ├── cart/
│ │ │ │ │ │ └── pc/
│ │ │ │ │ │ └── default/
│ │ │ │ │ │ └── goods.html
│ │ │ │ │ └── clientarea/
│ │ │ │ │ └── pc/
│ │ │ │ │ └── default/
│ │ │ │ │ ├── api/
│ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ ├── dcim.js
│ │ │ │ │ │ ├── dcimOrder.js
│ │ │ │ │ │ ├── mf_dcim.js
│ │ │ │ │ │ └── rewhmcs_dcim.js
│ │ │ │ │ ├── css/
│ │ │ │ │ │ ├── cloudTop.css
│ │ │ │ │ │ ├── cloudTop.less
│ │ │ │ │ │ ├── common/
│ │ │ │ │ │ │ ├── common.css
│ │ │ │ │ │ │ └── element.css
│ │ │ │ │ │ ├── dcimDetail.css
│ │ │ │ │ │ ├── dcimDetail.less
│ │ │ │ │ │ ├── dcimList.css
│ │ │ │ │ │ ├── dcimOrder.css
│ │ │ │ │ │ ├── dcimOrder.less
│ │ │ │ │ │ ├── mf_dcim.css
│ │ │ │ │ │ ├── mf_dcim.less
│ │ │ │ │ │ ├── rewhmcs_dcim.css
│ │ │ │ │ │ └── rewhmcs_dcim.less
│ │ │ │ │ ├── js/
│ │ │ │ │ │ ├── dcimDetail.js
│ │ │ │ │ │ ├── dcimList.js
│ │ │ │ │ │ ├── echarts.js
│ │ │ │ │ │ └── rewhmcs_dcim.js
│ │ │ │ │ ├── lang/
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── product_detail.html
│ │ │ │ │ └── product_list.html
│ │ │ │ ├── validate/
│ │ │ │ │ └── HostValidate.php
│ │ │ │ ├── view/
│ │ │ │ │ ├── noVNC/
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .gitmodules
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── AUTHORS
│ │ │ │ │ │ ├── LICENSE.txt
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── VERSION
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ ├── error-handler.js
│ │ │ │ │ │ │ ├── images/
│ │ │ │ │ │ │ │ └── icons/
│ │ │ │ │ │ │ │ └── Makefile
│ │ │ │ │ │ │ ├── locale/
│ │ │ │ │ │ │ │ ├── cs.json
│ │ │ │ │ │ │ │ ├── de.json
│ │ │ │ │ │ │ │ ├── el.json
│ │ │ │ │ │ │ │ ├── es.json
│ │ │ │ │ │ │ │ ├── ja.json
│ │ │ │ │ │ │ │ ├── ko.json
│ │ │ │ │ │ │ │ ├── nl.json
│ │ │ │ │ │ │ │ ├── pl.json
│ │ │ │ │ │ │ │ ├── ru.json
│ │ │ │ │ │ │ │ ├── sv.json
│ │ │ │ │ │ │ │ ├── tr.json
│ │ │ │ │ │ │ │ ├── zh_CN.json
│ │ │ │ │ │ │ │ └── zh_TW.json
│ │ │ │ │ │ │ ├── localization.js
│ │ │ │ │ │ │ ├── sounds/
│ │ │ │ │ │ │ │ ├── CREDITS
│ │ │ │ │ │ │ │ └── bell.oga
│ │ │ │ │ │ │ ├── styles/
│ │ │ │ │ │ │ │ └── base.css
│ │ │ │ │ │ │ ├── ui.js
│ │ │ │ │ │ │ └── webutil.js
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ ├── decoders/
│ │ │ │ │ │ │ │ ├── copyrect.js
│ │ │ │ │ │ │ │ ├── hextile.js
│ │ │ │ │ │ │ │ ├── raw.js
│ │ │ │ │ │ │ │ ├── rre.js
│ │ │ │ │ │ │ │ ├── tight.js
│ │ │ │ │ │ │ │ └── tightpng.js
│ │ │ │ │ │ │ ├── des.js
│ │ │ │ │ │ │ ├── display.js
│ │ │ │ │ │ │ ├── encodings.js
│ │ │ │ │ │ │ ├── inflator.js
│ │ │ │ │ │ │ ├── input/
│ │ │ │ │ │ │ │ ├── domkeytable.js
│ │ │ │ │ │ │ │ ├── fixedkeys.js
│ │ │ │ │ │ │ │ ├── keyboard.js
│ │ │ │ │ │ │ │ ├── keysym.js
│ │ │ │ │ │ │ │ ├── keysymdef.js
│ │ │ │ │ │ │ │ ├── mouse.js
│ │ │ │ │ │ │ │ ├── util.js
│ │ │ │ │ │ │ │ ├── vkeys.js
│ │ │ │ │ │ │ │ └── xtscancodes.js
│ │ │ │ │ │ │ ├── rfb.js
│ │ │ │ │ │ │ ├── util/
│ │ │ │ │ │ │ │ ├── browser.js
│ │ │ │ │ │ │ │ ├── cursor.js
│ │ │ │ │ │ │ │ ├── events.js
│ │ │ │ │ │ │ │ ├── eventtarget.js
│ │ │ │ │ │ │ │ ├── logging.js
│ │ │ │ │ │ │ │ ├── polyfill.js
│ │ │ │ │ │ │ │ └── strings.js
│ │ │ │ │ │ │ └── websock.js
│ │ │ │ │ │ ├── docs/
│ │ │ │ │ │ │ ├── API-internal.md
│ │ │ │ │ │ │ ├── API.md
│ │ │ │ │ │ │ ├── EMBEDDING.md
│ │ │ │ │ │ │ ├── LIBRARY.md
│ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause
│ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause
│ │ │ │ │ │ │ ├── LICENSE.MPL-2.0
│ │ │ │ │ │ │ ├── LICENSE.OFL-1.1
│ │ │ │ │ │ │ ├── flash_policy.txt
│ │ │ │ │ │ │ ├── links
│ │ │ │ │ │ │ ├── notes
│ │ │ │ │ │ │ └── rfb_notes
│ │ │ │ │ │ ├── karma.conf.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── po/
│ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ ├── cs.po
│ │ │ │ │ │ │ ├── de.po
│ │ │ │ │ │ │ ├── el.po
│ │ │ │ │ │ │ ├── es.po
│ │ │ │ │ │ │ ├── ja.po
│ │ │ │ │ │ │ ├── ko.po
│ │ │ │ │ │ │ ├── nl.po
│ │ │ │ │ │ │ ├── noVNC.pot
│ │ │ │ │ │ │ ├── pl.po
│ │ │ │ │ │ │ ├── po2js
│ │ │ │ │ │ │ ├── ru.po
│ │ │ │ │ │ │ ├── sv.po
│ │ │ │ │ │ │ ├── tr.po
│ │ │ │ │ │ │ ├── xgettext-html
│ │ │ │ │ │ │ ├── zh_CN.po
│ │ │ │ │ │ │ └── zh_TW.po
│ │ │ │ │ │ ├── tests/
│ │ │ │ │ │ │ ├── .eslintrc
│ │ │ │ │ │ │ ├── assertions.js
│ │ │ │ │ │ │ ├── fake.websocket.js
│ │ │ │ │ │ │ ├── karma-test-main.js
│ │ │ │ │ │ │ ├── playback-ui.js
│ │ │ │ │ │ │ ├── playback.js
│ │ │ │ │ │ │ ├── test.base64.js
│ │ │ │ │ │ │ ├── test.display.js
│ │ │ │ │ │ │ ├── test.helper.js
│ │ │ │ │ │ │ ├── test.keyboard.js
│ │ │ │ │ │ │ ├── test.localization.js
│ │ │ │ │ │ │ ├── test.mouse.js
│ │ │ │ │ │ │ ├── t
================================================
FILE CONTENTS
================================================
================================================
FILE: 10.4.6/app/admin/controller/AdminBaseController.php
================================================
<?php
namespace app\admin\controller;
use app\admin\model\AuthRuleModel;
use think\facade\Cache;
/**
* idcsmart控制器基础类
*/
class AdminBaseController extends BaseController
{
// 初始化
protected function initialize()
{
parent::initialize();
if(!empty(configuration('clientarea_url'))){
if(request()->domain()==configuration('clientarea_url')){
$url = request()->domain();
header("location:{$url}");die;
}
}
if(!$this->checkAccess()){
$module = app('http')->getName();
$controller = $this->request->controller();
$action = $this->request->action();
$rule = 'app\\'.$module .'\\controller\\'. $controller .'Controller::'. $action;
// 查找权限,未找到设置了则放行
$AuthRuleModel = new AuthRuleModel();
$name = $AuthRuleModel->getAuthName($rule);
if(!empty($name)){
echo json_encode(['status'=>404, 'msg'=>lang('permission_denied')]);die;
}
}
if(!Cache::has('get_idcsamrt_auth')){
Cache::set('get_idcsamrt_auth', 1, 3600*24);
get_idcsamrt_auth();
}
}
// 获取管理员权限
private function checkAccess()
{
$adminId = get_admin_id();
if($adminId==1 || empty($adminId)){
return true;
}
$module = app('http')->getName();
$controller = $this->request->controller();
$action = $this->request->action();
$rule = 'app\\'.$module .'\\controller\\'. $controller .'Controller::'. $action;
// 先获取缓存的权限
if(Cache::has('admin_auth_rule_'.$adminId)){
$auth = json_decode(Cache::get('admin_auth_rule_'.$adminId), true);
if(!in_array($rule, $auth)){
return false;
}else{
return true;
}
}
// 获取数据库的权限
$AuthRuleModel = new AuthRuleModel();
$auth = $AuthRuleModel->getAdminAuthRule($adminId);
Cache::set('admin_auth_rule_'.$adminId, json_encode($auth),7200);
if(!in_array($rule, $auth)){
return false;
}
return true;
}
}
================================================
FILE: 10.4.6/app/admin/controller/AdminController.php
================================================
<?php
namespace app\admin\controller;
use app\admin\model\AdminModel;
use app\admin\validate\AdminValidate;
/**
* @title 管理员
* @desc 管理员管理
* @use app\admin\controller\AdminController
*/
class AdminController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new AdminValidate();
}
/**
* 时间 2022-5-10
* @title 管理员列表
* @desc 管理员列表
* @url /admin/v1/admin
* @method GET
* @author wyh
* @version v1
* @param string keywords - 关键字:ID,名称,用户名,邮箱
* @param string status - 状态0:禁用,1:正常
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id,nickname,name,email
* @param string sort - 升/降序 asc,desc
* @return array list - 管理员列表
* @return int list[].id - ID
* @return int list[].nickname - 名称
* @return int list[].name - 用户名
* @return int list[].email - 邮箱
* @return int list[].roles - 分组名称
* @return int list[].status - 状态;0:禁用,1:正常
* @return int list[].phone_code - 国际电话区号
* @return string list[].phone - 手机号
* @return int count - 管理员总数
*/
public function adminList()
{
# 合并分页参数
$param = array_merge($this->request->param(),['page'=>$this->request->page,'limit'=>$this->request->limit,'sort'=>$this->request->sort]);
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>(new AdminModel())->adminList($param)
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取单个管理员
* @desc 获取单个管理员
* @url /admin/v1/admin/:id
* @method GET
* @author wyh
* @version v1
* @param int id - 管理员分组ID required
* @return object admin - 管理员
* @return int admin.id - ID
* @return string admin.nickname - 名称
* @return string admin.name - 用户名
* @return string admin.email - 邮箱
* @return string admin.role_id - 分组ID
* @return string admin.roles - 所属分组,逗号分隔
* @return string admin.status - 状态;0:禁用;1:正常
* @return int phone_code - 国际电话区号
* @return string phone - 手机号
*/
public function index()
{
$param = $this->request->param();
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>[
'admin' => (new AdminModel())->indexAdmin(intval($param['id']))
]
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 添加管理员
* @desc 添加管理员
* @url /admin/v1/admin
* @method post
* @author wyh
* @version v1
* @param string name 测试员 用户名 required
* @param string password 123456 密码 required
* @param string repassword 123456 重复密码 required
* @param string email 123@qq.com 邮箱 required
* @param string nickname 小华 名称 required
* @param string role_id 1 分组ID required
* @param int phone_code - 国际电话区号
* @param string phone - 手机号
*/
public function create()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
$result = (new AdminModel())->createAdmin($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 修改管理员
* @desc 修改管理员
* @url /admin/v1/admin/:id
* @method put
* @author wyh
* @version v1
* @param string id 1 管理员ID required
* @param string name 测试员 用户名 required
* @param string password 123456 密码 required
* @param string repassword 123456 重复密码 required
* @param string email 123@qq.com 邮箱 required
* @param string nickname 小华 名称 required
* @param string role_id 1 分组ID required
* @param int phone_code - 国际电话区号
* @param string phone - 手机号
*/
public function update()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
if(!empty($param['password']) || !empty($param['repassword'])){
//密码验证
if (!$this->validate->scene('update_password')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
}
$result = (new AdminModel())->updateAdmin($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 删除管理员
* @desc 删除管理员
* @url /admin/v1/admin/:id
* @method delete
* @author wyh
* @version v1
* @param int id 1 管理员ID required
*/
public function delete()
{
$param = $this->request->param();
$result = (new AdminModel())->deleteAdmin($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 管理员状态切换
* @desc 管理员状态切换
* @url /admin/v1/admin/:id/status
* @method put
* @author wyh
* @version v1
* @param int id 1 管理员ID required
* @param int status 1 状态:0禁用,1启用 required
*/
public function status()
{
$param = $this->request->param();
$result = (new AdminModel())->status($param);
return json($result);
}
/**
* 时间 2022-5-13
* @title 注销
* @desc 注销
* @url /admin/v1/logout
* @method post
* @author wyh
* @version v1
*/
public function logout()
{
$param = $this->request->param();
$result = (new AdminModel())->logout($param);
return json($result);
}
/**
* 时间 2022-9-7
* @title 修改管理员密码
* @desc 修改管理员密码
* @url /admin/v1/admin/password/update
* @method put
* @author wyh
* @version v1
* @param string origin_password - 原密码 required
* @param string password 123456 密码 required
* @param string repassword 123456 重复密码 required
*/
public function updatePassword()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('password')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
$result = (new AdminModel())->updateAdminPassword($param);
return json($result);
}
/**
* 时间 2024-05-21
* @title 获取当前管理员信息
* @desc 获取当前管理员信息
* @url /admin/v1/login_info
* @method GET
* @author hh
* @version v1
* @return string name - 用户名
* @return bool set_operate_password - 是否设置了操作密码
*/
public function currentAdmin()
{
$result = (new AdminModel())->currentAdmin();
return json($result);
}
/**
* 时间 2024-05-21
* @title 修改管理员操作密码
* @desc 修改管理员操作密码
* @url /admin/v1/admin/operate_password
* @method PUT
* @author hh
* @version v1
* @param string origin_operate_password - 原操作密码 已有操作密码必传
* @param string operate_password - 新操作密码
* @param string re_operate_password - 重复操作密码
*/
public function updateAdminOperatePassword()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('operate_password')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
$result = (new AdminModel())->updateAdminOperatePassword($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/AdminRoleController.php
================================================
<?php
namespace app\admin\controller;
use app\admin\model\AdminRoleModel;
use app\admin\validate\AdminRoleValidate;
/**
* @title 管理员分组
* @desc 管理员分组管理
* @use app\admin\controller\AdminRoleController
*/
class AdminRoleController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new AdminRoleValidate();
}
/**
* 时间 2022-5-10
* @title 管理员分组列表
* @desc 管理员分组列表
* @url /admin/v1/admin/role
* @method GET
* @author wyh
* @version v1
* @param string keywords - 关键字
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id,name,description
* @param string sort - 升/降序 asc,desc
* @return array list - 管理员分组列表
* @return int list[].id - ID
* @return string list[].name - 分组名称
* @return string list[].description - 分组说明
* @return string list[].admins - 分组下管理员,逗号分隔
* @return int count - 管理员分组总数
*/
public function adminRoleList()
{
# 合并分页参数
$param = array_merge($this->request->param(),['page'=>$this->request->page,'limit'=>$this->request->limit,'sort'=>$this->request->sort]);
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>(new AdminRoleModel())->adminRoleList($param)
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取单个管理员分组
* @desc 获取单个管理员分组
* @url /admin/v1/admin/role/:id
* @method GET
* @author wyh
* @version v1
* @param int id - 管理员分组ID required
* @return object admin_role - 管理员分组
* @return int admin_role.id - ID
* @return string admin_role.name - 分组名称
* @return string admin_role.description - 分组描述
* @return string admin_role.admins - 分组下管理员,逗号分隔
* @return array admin_role.auth - 权限ID数组
* @return array admin_role.auth_widget - 挂件标识
*/
public function index()
{
$param = $this->request->param();
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>[
'admin_role' => (new AdminRoleModel())->indexAdminRole(intval($param['id']))
]
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 添加管理员分组
* @desc 添加管理员分组
* @url /admin/v1/admin/role
* @method post
* @author wyh
* @version v1
* @param string name 超级管理员 分组名称 required
* @param string description 拥有所有权限 分组说明 required
* @param array auth - 权限ID数组
* @param array auth_widget - 挂件标识
*/
public function create()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
$result = (new AdminRoleModel())->createAdminRole($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 修改管理员分组
* @desc 修改管理员分组
* @url /admin/v1/admin/role/:id
* @method put
* @author wyh
* @version v1
* @param string id 1 分组ID required
* @param string name 超级管理员 分组名称 required
* @param string description 拥有所有权限 分组说明 required
* @param array auth - 权限ID数组
* @param array auth_widget - 挂件标识
*/
public function update()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
$result = (new AdminRoleModel())->updateAdminRole($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 删除管理员分组
* @desc 删除管理员分组
* @url /admin/v1/admin/role/:id
* @method delete
* @author wyh
* @version v1
* @param int id 1 管理员分组ID required
*/
public function delete()
{
$param = $this->request->param();
$result = (new AdminRoleModel())->deleteAdminRole($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ApiController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\ApiModel;
use app\admin\validate\ApiValidate;
/**
* @title API管理
* @desc API管理
* @use app\admin\controller\ApiController
*/
class ApiController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new ApiValidate();
}
/**
* 时间 2024-04-28
* @title 获取API设置
* @desc 获取API设置
* @author theworld
* @version v1
* @url /admin/v1/api/config
* @method GET
* @return int client_create_api - 用户API创建权限0关闭1开启
* @return int client_create_api_type - 用户API创建权限类型0全部用户1指定用户可创建2指定用户不可创建
*/
public function getConfig()
{
//实例化模型类
$ApiModel = new ApiModel();
//获取API设置
$data = $ApiModel->getConfig();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-04-28
* @title 保存API设置
* @desc 保存API设置
* @author theworld
* @version v1
* @url /admin/v1/api/config
* @method PUT
* @param int client_create_api - 用户API创建权限0关闭1开启
* @param int client_create_api_type - 用户API创建权限类型0全部用户1指定用户可创建2指定用户不可创建
*/
public function updateConfig()
{
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('config')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
$result = (new ApiModel())->updateConfig($param);
return json($result);
}
/**
* 时间 2024-04-28
* @title API指定用户列表
* @desc API指定用户列表
* @author theworld
* @version v1
* @url /admin/v1/api/client
* @method GET
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 用户
* @return int list[].id - 用户ID
* @return string list[].username - 姓名
* @return string list[].email - 邮箱
* @return int list[].phone_code - 国际电话区号
* @return string list[].phone - 手机号
* @return int list[].status - 状态;0:禁用,1:正常
* @return string list[].company - 公司
* @return int list[].host_num - 产品数量
* @return int list[].host_active_num - 已激活产品数量
* @return array list[].custom_field - 自定义字段
* @return string list[].custom_field[].name - 名称
* @return string list[].custom_field[].value - 值
* @return bool list[].certification 是否实名认证true是false否
* @return string list[].certification_type 实名类型person个人company企业
* @return int count - 用户总数
*/
public function clientList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$ApiModel = new ApiModel();
// 获取用户列表
$data = $ApiModel->clientList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-28
* @title 添加API指定用户
* @desc 添加API指定用户
* @author theworld
* @version v1
* @url /admin/v1/api/client/:id
* @method POST
* @param int id - 用户ID
*/
public function addClient()
{
$param = $this->request->param();
$result = (new ApiModel())->addClient($param['id']);
return json($result);
}
/**
* 时间 2024-04-28
* @title 移除API指定用户
* @desc 移除API指定用户
* @author theworld
* @version v1
* @url /admin/v1/api/client/:id
* @method DELETE
* @param int id - 用户ID
*/
public function removeClient()
{
$param = $this->request->param();
$result = (new ApiModel())->removeClient($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/AppMarketController.php
================================================
<?php
namespace app\admin\controller;
use app\admin\model\PluginModel;
/**
* @title 应用商店自动化接口
* @desc 应用商店自动化接口
* @use app\admin\controller\AppMarketController
*/
class AppMarketController extends AdminBaseController
{
// 商店地址
public $market_url = 'https://my.idcsmart.com';
/**
* 时间 2022-10-25
* @title 生成token
* @desc 生成token
* @author theworld
* @version v1
* @url /admin/v1/app_market/set_token
* @method POST
* @return string market_url - 商店自动登录url
*/
public function setToken(){
if(cache('?market_token')){
$token = cache('market_token');
}else{
$token = rand_str(12);
cache('market_token', $token , 3600);
}
$result = ['status'=>200, 'market_url'=>$this->market_url.'/console/v1/app_market/market/token_login?from='.request()->domain().'/'.DIR_ADMIN.'&token='.$token.'&time='.time()];
return json($result);
}
/**
* 时间 2022-10-25
* @title 校验token
* @desc 校验token
* @author theworld
* @version v1
* @url /admin/v1/app_market/check_token
* @method GET
* @param string token - 验证token required
* @param string license - 授权码
*/
public function checkToken(){
$param = $this->request->param();
$token = $param['token'] ?? '';
$license = $param['license'] ?? '';
if($token==cache('market_token')){
if(!empty($license)){
updateConfiguration('system_license', $license);
}
$result = ['status'=>200, 'msg'=>lang('success_message'), 'data' => ['version' => configuration('system_version')]];
}else{
$result = ['status'=>400, 'msg'=>lang('fail_message')];
}
return json($result);
}
/**
* 时间 2022-10-25
* @title 获取已购买应用最新版本
* @desc 获取已购买应用最新版本
* @author theworld
* @version v1
* @url /admin/v1/app_market/app/version
* @method GET
* @return array list - 应用列表
* @return int list[].id - 应用ID
* @return string list[].uuid - 应用标识
* @return string list[].old_version - 应用当前版本
* @return string list[].version - 应用最新版本
* @return string list[].support_version - 支持的系统版本
* @return string list[].type - 应用分类addon插件,captcha验证码接口,certification实名接口,gateway支付接口,mail邮件接口,sms短信接口,server模块,template主题,oauth第三方登录,sub_server子模块,widget首页挂件,oss对象存储
* @return string list[].error_msg - 错误信息,该信息不为空代表不可下载和升级插件
* @return int upgrade - 是否存在可升级应用0否1是
*/
public function getNewVersion(){
$res = curl($this->market_url."/console/v1/app_market/market/version", ['request_time'=>time(), 'domain'=>request()->domain()], 30, 'GET');
if($res['http_code'] == 200){
$result = json_decode($res['content'], true);
}else{
return json(['status'=>400, 'msg'=>lang('request_fail_http_code', ['{code}' =>$res['content']])]);
}
if(isset($result['status']) && $result['status']==200){
$upgrade = 0;
$version = configuration('system_version');
foreach ($result['data']['list'] as $key => $value) {
if($value['type']=='template'){
$file = WEB_ROOT;
}else if($value['type']=='sub_server'){
$file = WEB_ROOT."plugins/server/idcsmart_common/module";
}else{
$file = WEB_ROOT."plugins/".$value['type'];
}
if(in_array($value['type'], ['sub_server', 'template'])){
if(file_exists($file.'/'.$value['uuid'].'_version.txt')){
$old_version = file_get_contents($file.'/'.$value['uuid'].'_version.txt');
$old_version = $old_version == '1.0' ? '1.0.0' : $old_version;
}else{
unset($result['data']['list'][$key]);
continue;
}
//$old_version = file_exists($file.'/'.$value['uuid'].'_version.txt') ? file_get_contents($file.'/'.$value['uuid'].'_version.txt') : '1.0.0';
}else{
$PluginModel = new PluginModel();
$old_version = $PluginModel->where('name', $value['uuid'])->value('version');
$old_version = $old_version == '1.0' ? '1.0.0' : $old_version;
if(empty($old_version)){
unset($result['data']['list'][$key]);
continue;
}
}
$result['data']['list'][$key]['version'] = !empty($value['version']) ? str_replace('V', '', $value['version']) : '1.0.0';
$result['data']['list'][$key]['old_version'] = !empty($old_version) ? $old_version : '1.0.0';
if(version_compare($result['data']['list'][$key]['version'],$old_version,'>')){
$upgrade = 1;
}
$result['data']['list'][$key]['support_version'] = $value['support_version'] ?? '';
$result['data']['list'][$key]['error_msg'] = '';
if(isset($value['support_version']) && !empty($value['support_version'])){
if(version_compare($value['support_version'], $version, '>')){
$result['data']['list'][$key]['error_msg'] = lang('plugin_version_not_support_please_upgrade_system');
}
}
}
$result['data']['list'] = array_values($result['data']['list']);
$result['data']['upgrade'] = $upgrade;
}else{
$result = ['status'=>200, 'msg'=>lang('success_message'), 'data' => ['list' => [], 'upgrade' => 0]];
}
return json($result);
}
/**
* 时间 2024-05-22
* @title 获取主题最新版本
* @desc 获取主题最新版本
* @author theworld
* @version v1
* @url /admin/v1/app_market/template/:theme/version
* @method GET
* @param string theme - 主题标识 required
* @return string old_version - 主题当前版本
* @return string version - 主题最新版本
* @return string support_version - 支持的系统版本
* @return string description - 版本描述
* @return int upgrade - 是否可升级0否1是
* @return string error_msg - 错误信息,该信息不为空代表不可下载和升级插件
*/
public function getTemplateVersion(){
$param = $this->request->param();
$theme = $param['theme'];
$uuid = parse_name($theme, 1);
$res = curl($this->market_url."/console/v1/app_market/market/version", ['request_time'=>time(), 'domain'=>request()->domain()], 30, 'GET');
if($res['http_code'] == 200){
$result = json_decode($res['content'], true);
}else{
return json(['status'=>400, 'msg'=>lang('request_fail_http_code', ['{code}' =>$res['content']])]);
}
$PluginModel = new PluginModel();
$plugin = $PluginModel->where('module', 'template')->where('name', $uuid)->find();
if(!empty($plugin)){
$oldVersion = $plugin['version'];
$oldVersion = $oldVersion == '1.0' ? '1.0.0' : $oldVersion;
}else{
if(file_exists(WEB_ROOT.'/'.$uuid.'_version.txt')){
$oldVersion = file_get_contents(WEB_ROOT.'/'.$uuid.'_version.txt');
$oldVersion = $oldVersion == '1.0' ? '1.0.0' : $oldVersion;
}else{
$oldVersion = '1.0.0';
}
}
$version = '';
$description = '';
$upgrade = 0;
$errorMsg = '';
$supportVersion = '';
if(isset($result['status']) && $result['status']==200){
$systemVersion = configuration('system_version');
foreach ($result['data']['list'] as $key => $value) {
if($value['type']=='template' && $value['uuid']==$uuid){
$version = !empty($value['version']) ? str_replace('V', '', $value['version']) : '1.0.0';
if(version_compare($version,$oldVersion,'>')){
$upgrade = 1;
}
$supportVersion = $value['support_version'] ?? '';
if(!empty($supportVersion)){
if(version_compare($supportVersion, $systemVersion, '>')){
$errorMsg = lang('plugin_version_not_support_please_upgrade_system');
}
}
break;
}
}
}
$result = ['status'=>200, 'msg'=>lang('success_message'), 'data' => ['old_version' => $oldVersion, 'version' => $version, 'support_version' => $supportVersion, 'description' => $description, 'upgrade' => $upgrade, 'error_msg' => $errorMsg]];
return json($result);
}
/**
* 时间 2022-10-25
* @title 安装应用
* @desc 安装应用
* @author theworld
* @version v1
* @url /admin/v1/app_market/app/:id/install
* @method GET
* @param int id - 应用ID required
* @return string type - 应用分类addon插件,captcha验证码接口,certification实名接口,gateway支付接口,mail邮件接口,sms短信接口,server模块,template主题,oauth第三方登录,sub_server子模块,widget首页挂件,oss对象存储
*/
public function install(){
$param = $this->request->param();
$id = $param['id'];
if(!extension_loaded('ionCube Loader')){
return json(['status'=>400, 'msg'=>lang('not_install_ioncube')]);
}
$res = curl($this->market_url."/console/v1/app_market/market/app/".$id, ['request_time'=>time()], 30, 'GET');
if($res['http_code'] == 200){
$result = json_decode($res['content'], true);
}else{
return json(['status'=>400, 'msg'=>lang('request_fail_http_code', ['{code}' =>$res['content']])]);
}
if(cache('?market_token')){
$token = cache('market_token');
}else{
$token = rand_str(12);
cache('market_token', $token , 3600);
}
$res = curl($this->market_url."/console/v1/app_market/market/download?id={$id}&from=".request()->domain().'/'.DIR_ADMIN.'&token='.$token.'&time='.time(), [], 30, 'GET');
if($res['http_code'] == 200){
$res = json_decode($res['content'], true);
}else{
return json(['status'=>400, 'msg'=>lang('request_fail_http_code', ['{code}' =>$res['content']])]);
}
if(isset($res['status']) && $res['status']==200){
$url = $res['data']['url'];
}else{
return json(['status'=>400, 'msg'=>$res['msg'] ?? lang('app_download_fail')]);
}
if($result['data']['app']['type']=='template'){
$dir = WEB_ROOT.$result['data']['app']['uuid'].'.zip';
$content = $this->curl_download($url, $dir);
if($content){
$file = WEB_ROOT;
$version = str_replace('V', '', $result['data']['app']['last_version']);
$uuid = $result['data']['app']['uuid'];
$type = $result['data']['app']['type'];
$res = $this->unzip($dir,$file);
if ($res['status'] == 200){
file_put_contents($file.'/'.$uuid.'_version.txt', $version);
unlink($dir);
return json(['status' => 200 , 'msg' => lang('app_install_success'), 'data' => ['type' => $type]]);
}else{
return json(['status' => 400 , 'msg' => lang('app_unzip_fail', ['{code}' =>$res['msg'], '{file}' => $dir])]);
}
}else{
return json(['status' => 400, 'msg' => lang('app_download_fail')]);
}
}else if($result['data']['app']['type']=='sub_server'){
$dir = WEB_ROOT."plugins/server/idcsmart_common/module/".$result['data']['app']['uuid'].'.zip';
$content = $this->curl_download($url, $dir);
if($content){
$file = WEB_ROOT."plugins/server/idcsmart_common/module";
$version = str_replace('V', '', $result['data']['app']['last_version']);
$uuid = $result['data']['app']['uuid'];
$type = $result['data']['app']['type'];
$res = $this->unzip($dir,$file);
if ($res['status'] == 200){
if(!file_exists($file.'/'.$uuid.'_version.txt')) file_put_contents($file.'/'.$uuid.'_version.txt', $version);
unlink($dir);
return json(['status' => 200 , 'msg' => lang('app_install_success'), 'data' => ['type' => $type]]);
}else{
return json(['status' => 400 , 'msg' => lang('app_unzip_fail', ['{code}' =>$res['msg'], '{file}' => $dir])]);
}
}else{
return json(['status' => 400, 'msg' => lang('app_download_fail')]);
}
}else{
$dir = WEB_ROOT."plugins/".$result['data']['app']['type'].'/'.$result['data']['app']['uuid'].'.zip';
$content = $this->curl_download($url, $dir);
if($content){
$file = WEB_ROOT."plugins/".$result['data']['app']['type'];
$version = str_replace('V', '', $result['data']['app']['last_version']);
$uuid = $result['data']['app']['uuid'];
$type = $result['data']['app']['type'];
$res = $this->unzip($dir,$file);
if ($res['status'] == 200){
if(!file_exists($file.'/'.$uuid.'_version.txt')) file_put_contents($file.'/'.$uuid.'_version.txt', $version);
unlink($dir);
return json(['status' => 200 , 'msg' => lang('app_install_success'), 'data' => ['type' => $type]]);
}else{
return json(['status' => 400 , 'msg' => lang('app_unzip_fail', ['{code}' =>$res['msg'], '{file}' => $dir])]);
}
}else{
return json(['status' => 400, 'msg' => lang('app_download_fail')]);
}
}
}
/**
* 时间 2022-5-25
* @title 解压压缩包
* @desc 解压压缩包
* @author theworld
* @version v1
* @param string filepath - 文件路径
* @param string path - 解压目标路径
* @return int status - 状态码,200成功,400失败
* @return string msg - 提示信息
*/
private function unzip($filepath,$path)
{
$zip = new \ZipArchive();
$res = $zip->open($filepath);
if ( $res === true) {
//解压文件到获得的路径a文件夹下
if (!file_exists($path)){
mkdir($path,0777,true);
}
$zip->extractTo($path);
//关闭
$zip->close();
return ['status' => 200 , 'msg' => lang('success_message')];
} else {
return ['status' => 400 , 'msg' => $res];
}
}
/**
* 时间 2022-5-25
* @title curl下载解压包到指定路径
* @desc curl下载解压包到指定路径
* @author theworld
* @version v1
* @param string url - 下载链接地址
* @param string file_name - 目标路径
* @return mixed
*/
private function curl_download($url, $file_name)
{
$ch = curl_init($url);
//设置抓取的url
$dir = $file_name;
$fp = fopen($dir, "wb");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$res=curl_exec($ch);
curl_close($ch);
fclose($fp);
return $res;
}
}
================================================
FILE: 10.4.6/app/admin/controller/BaseController.php
================================================
<?php
declare (strict_types = 1);
namespace app\admin\controller;
use think\App;
use think\exception\ValidateException;
use think\Validate;
/**
* 控制器基础类
*/
abstract class BaseController
{
/**
* Request实例
* @var \think\Request
*/
protected $request;
/**
* 应用实例
* @var \think\App
*/
protected $app;
/**
* 是否批量验证
* @var bool
*/
protected $batchValidate = false;
/**
* 控制器中间件
* @var array
*/
protected $middleware = [];
/**
* 构造方法
* @access public
* @param App $app 应用对象
*/
public function __construct(App $app)
{
$this->app = $app;
$this->request = $this->app->request;
// 控制器初始化
$this->initialize();
}
// 初始化
protected function initialize()
{}
}
================================================
FILE: 10.4.6/app/admin/controller/BottomBarGroupController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\BottomBarGroupModel;
use app\admin\validate\BottomBarGroupValidate;
/**
* @title 模板控制器-底部栏分组
* @desc 模板控制器-底部栏分组
* @use app\admin\controller\BottomBarGroupController
*/
class BottomBarGroupController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new BottomBarGroupValidate();
}
/**
* 时间 2024-04-02
* @title 底部栏分组列表
* @desc 底部栏分组列表
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_group
* @method GET
* @param string theme - 主题标识,不传递时默认为当前系统设置的主题
* @return array list - 分组
* @return int list[].id - 分组ID
* @return string list[].name - 名称
*/
public function list()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$BottomBarGroupModel = new BottomBarGroupModel();
// 导航列表
$data = $BottomBarGroupModel->groupList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 创建底部栏分组
* @desc 创建底部栏分组
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_group
* @method POST
* @param string theme - 主题标识,不传递时默认为当前系统设置的主题
* @param string name - 名称 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$BottomBarGroupModel = new BottomBarGroupModel();
// 创建底部栏分组
$result = $BottomBarGroupModel->createGroup($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 编辑底部栏分组
* @desc 编辑底部栏分组
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_group/:id
* @method PUT
* @param int id - 分组ID required
* @param string name - 名称 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$BottomBarGroupModel = new BottomBarGroupModel();
// 编辑底部栏分组
$result = $BottomBarGroupModel->updateGroup($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除底部栏分组
* @desc 删除底部栏分组
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_group/:id
* @method DELETE
* @param int id - 分组ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$BottomBarGroupModel = new BottomBarGroupModel();
// 删除底部栏分组
$result = $BottomBarGroupModel->deleteGroup($param['id']);
return json($result);
}
/**
* 时间 2024-04-02
* @title 底部栏分组排序
* @desc 底部栏分组排序
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_group/order
* @method PUT
* @param string theme - 主题标识,不传递时默认为当前系统设置的主题
* @param array id - 分组ID required
*/
public function order()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$BottomBarGroupModel = new BottomBarGroupModel();
// 底部栏分组排序
$result = $BottomBarGroupModel->groupOrder($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/BottomBarNavController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\BottomBarNavModel;
use app\admin\validate\BottomBarNavValidate;
/**
* @title 模板控制器-底部栏导航
* @desc 模板控制器-底部栏导航
* @use app\admin\controller\BottomBarNavController
*/
class BottomBarNavController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new BottomBarNavValidate();
}
/**
* 时间 2024-04-02
* @title 底部栏导航列表
* @desc 底部栏导航列表
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_nav
* @method GET
* @param string theme - 主题标识,不传递时默认为当前系统设置的主题
* @return array list - 分组
* @return int list[].id - 分组ID
* @return string list[].name - 名称
* @return array list[].children - 导航
* @return int list[].children[].id - 导航ID
* @return int list[].children[].group_id - 分组ID
* @return string list[].children[].name - 名称
* @return string list[].children[].url - 跳转地址
* @return int list[].children[].show - 是否展示
*/
public function list()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$BottomBarNavModel = new BottomBarNavModel();
// 导航列表
$data = $BottomBarNavModel->navList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 创建底部栏导航
* @desc 创建底部栏导航
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_nav
* @method POST
* @param int group_id - 分组ID required
* @param string name - 名称 required
* @param string url - 跳转地址 required
* @param int show - 是否展示0否1是 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$BottomBarNavModel = new BottomBarNavModel();
// 创建底部栏导航
$result = $BottomBarNavModel->createNav($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 编辑底部栏导航
* @desc 编辑底部栏导航
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_nav/:id
* @method PUT
* @param int id - 导航ID required
* @param int group_id - 分组ID required
* @param string name - 名称 required
* @param string url - 跳转地址 required
* @param int show - 是否展示0否1是 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$BottomBarNavModel = new BottomBarNavModel();
// 编辑底部栏导航
$result = $BottomBarNavModel->updateNav($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除底部栏导航
* @desc 删除底部栏导航
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_nav/:id
* @method DELETE
* @param int id - 导航ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$BottomBarNavModel = new BottomBarNavModel();
// 删除底部栏导航
$result = $BottomBarNavModel->deleteNav($param['id']);
return json($result);
}
/**
* 时间 2024-04-02
* @title 底部栏导航显示
* @desc 底部栏导航显示
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_nav/:id/show
* @method PUT
* @param int id - 导航ID required
* @param int show - 是否展示0否1是 required
*/
public function show()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('show')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$BottomBarNavModel = new BottomBarNavModel();
// 底部栏导航显示
$result = $BottomBarNavModel->navShow($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 底部栏导航排序
* @desc 底部栏导航排序
* @author theworld
* @version v1
* @url /admin/v1/bottom_bar_nav/order
* @method PUT
* @param int group_id - 分组ID required
* @param array id - 导航ID required
*/
public function order()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('order')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$BottomBarNavModel = new BottomBarNavModel();
// 底部栏导航排序
$result = $BottomBarNavModel->navOrder($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/CabinetRentalProductController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\CabinetRentalProductModel;
use app\admin\validate\CabinetRentalProductValidate;
/**
* @title 模板控制器-机柜租用商品
* @desc 模板控制器-机柜租用商品
* @use app\admin\controller\CabinetRentalProductController
*/
class CabinetRentalProductController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new CabinetRentalProductValidate();
}
/**
* 时间 2024-04-02
* @title 机柜租用商品列表
* @desc 机柜租用商品列表
* @author theworld
* @version v1
* @url /admin/v1/cabinet_rental_product
* @method GET
* @return array list - 商品
* @return int list[].id - 商品ID
* @return string list[].title - 标题
* @return string list[].description - 描述
* @return string list[].price - 价格
* @return int list[].product_id - 关联商品ID
*/
public function list()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$CabinetRentalProductModel = new CabinetRentalProductModel();
// 机柜租用商品列表
$data = $CabinetRentalProductModel->productList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 创建机柜租用商品
* @desc 创建机柜租用商品
* @author theworld
* @version v1
* @url /admin/v1/cabinet_rental_product
* @method POST
* @param string title - 标题 required
* @param string description - 描述 required
* @param float price - 价格 required
* @param int product_id - 关联商品ID required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CabinetRentalProductModel = new CabinetRentalProductModel();
// 创建机柜租用商品
$result = $CabinetRentalProductModel->createProduct($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 编辑机柜租用商品
* @desc 编辑机柜租用商品
* @author theworld
* @version v1
* @url /admin/v1/cabinet_rental_product/:id
* @method PUT
* @param int id - 商品ID required
* @param string title - 标题 required
* @param string description - 描述 required
* @param float price - 价格 required
* @param int product_id - 关联商品ID required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CabinetRentalProductModel = new CabinetRentalProductModel();
// 编辑机柜租用商品
$result = $CabinetRentalProductModel->updateProduct($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除机柜租用商品
* @desc 删除机柜租用商品
* @author theworld
* @version v1
* @url /admin/v1/cabinet_rental_product/:id
* @method DELETE
* @param int id - 商品ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CabinetRentalProductModel = new CabinetRentalProductModel();
// 删除机柜租用商品
$result = $CabinetRentalProductModel->deleteProduct($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ClientController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\ClientModel;
use app\admin\validate\ClientValidate;
/**
* @title 用户管理
* @desc 用户管理
* @use app\admin\controller\ClientController
*/
class ClientController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new ClientValidate();
}
/**
* 时间 2022-05-10
* @title 用户列表
* @desc 用户列表
* @author theworld
* @version v1
* @url /admin/v1/client
* @method GET
* @param object custom_field - 自定义字段,key为自定义字段名称,value为自定义字段的值
* @param string type - 关键字类型,id用户ID,username姓名,phone手机号,email邮箱,company公司
* @param string keywords - 关键字,搜索范围随关键字类型变化,默认搜索范围:用户ID,姓名,邮箱,手机号,公司
* @param int client_id - 用户ID,精确搜索
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby id 排序(id,reg_time,host_active_num,host_num,credit,cost_price,refund_price,withdraw_price)
* @param string sort - 升/降序 asc,desc
* @return array list - 用户
* @return int list[].id - 用户ID
* @return string list[].username - 姓名
* @return string list[].email - 邮箱
* @return int list[].phone_code - 国际电话区号
* @return string list[].phone - 手机号
* @return int list[].status - 状态;0:禁用,1:正常
* @return int list[].reg_time - 注册时间
* @return string list[].country - 国家
* @return string list[].address - 地址
* @return string list[].company - 公司
* @return string list[].language - 语言
* @return string list[].notes - 备注
* @return string list[].credit - 余额
* @return int list[].host_num - 产品数量
* @return int list[].host_active_num - 已激活产品数量
* @return array list[].custom_field - 自定义字段
* @return string list[].custom_field[].name - 名称
* @return string list[].custom_field[].value - 值
* @return string list[].cost_price - 消费金额
* @return bool list[].certification 是否实名认证true是false否
* @return string list[].certification_type 实名类型person个人company企业
* @return string list[].client_level - 用户等级(显示字段有client_level返回)
* @return string list[].client_level_color - 用户等级颜色(显示字段有client_level返回)
* @return string list[].refund_price - 退款金额(显示字段有refund_price返回)
* @return string list[].withdraw_price - 提现金额(显示字段有withdraw_price返回)
* @return string list[].addon_client_custom_field_[num] - 用户自定义字段(显示字段有addon_client_custom_field_[num]返回,[num]为数字)
* @return int count - 用户总数
*/
public function clientList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$ClientModel = new ClientModel();
// 获取用户列表
$data = $ClientModel->clientList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-10
* @title 用户详情
* @desc 用户详情
* @author theworld
* @version v1
* @url /admin/v1/client/:id
* @method GET
* @param int id - 用户ID required
* @return object client - 用户
* @return int client.id - 用户ID
* @return string client.username - 姓名
* @return string client.email - 邮箱
* @return int client.phone_code - 国际电话区号
* @return string client.phone - 手机号
* @return string client.company - 公司
* @return string client.country - 国家
* @return string client.address - 地址
* @return string client.language - 语言
* @return string client.notes - 备注
* @return int client.status - 状态;0:禁用,1:正常
* @return int client.register_time - 注册时间
* @return int client.last_login_time - 上次登录时间
* @return string client.last_login_ip - 上次登录IP
* @return string client.credit - 余额
* @return string client.consume - 消费
* @return string client.refund - 退款
* @return string client.withdraw - 提现
* @return int client.host_num - 产品数量
* @return int client.host_active_num - 已激活产品数量
* @return array client.login_logs - 登录记录
* @return string client.login_logs[].ip - IP
* @return int client.login_logs[].login_time - 登录时间
* @return boolean client.certification - 是否实名认证true是false否
* @return object client.certification_detail - 实名认证详情(当certification==true时,才会有此字段)
* @return object certification_detail.company 企业实名认证详情
* @return string client.certification_detail.company.card_name - 认证姓名
* @return int client.certification_detail.company.card_type - 证件类型:1身份证、2港澳通行证、3台湾通行证、4港澳居住证、5台湾居住证、6海外护照、7中国以外驾照、8其他
* @return string client.certification_detail.company.card_number - 证件号
* @return string client.certification_detail.company.phone - 手机号
* @return int client.certification_detail.company.status - 状态1已认证,2未通过,3待审核,4已提交资料
* @return string client.certification_detail.company.company - 公司名称
* @return string client.certification_detail.company.company_organ_code - 公司代码
* @return string client.certification_detail.company.img_one - 身份证正面
* @return string client.certification_detail.company.img_two - 身份证反面
* @return string client.certification_detail.company.img_three - 营业执照
* @return string client.certification_detail.company.auth_fail - 失败原因
* @return object certification_detail.person 个人实名认证详情
* @return string client.certification_detail.person.card_name - 认证姓名
* @return int client.certification_detail.person.card_type - 证件类型:1身份证、2港澳通行证、3台湾通行证、4港澳居住证、5台湾居住证、6海外护照、7中国以外驾照、8其他
* @return string client.certification_detail.person.card_number - 证件号
* @return string client.certification_detail.person.phone - 手机号
* @return int client.certification_detail.person.status - 状态1已认证,2未通过,3待审核,4已提交资料
* @return string client.certification_detail.person.img_one - 身份证正面
* @return string client.certification_detail.person.img_two - 身份证反面
* @return string client.certification_detail.person.img_three - 营业执照
* @return string client.certification_detail.person.auth_fail - 失败原因
* @return bool client.set_operate_password - 是否设置了操作密码
*/
public function index()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$ClientModel = new ClientModel();
// 获取用户
$client = $ClientModel->indexClient($param['id']);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => [
'client' => $client
]
];
return json($result);
}
/**
* 时间 2022-05-10
* @title 新建用户
* @desc 新建用户
* @author theworld
* @version v1
* @url /admin/v1/client
* @method POST
* @param string username - 姓名
* @param string email - 邮箱 邮箱手机号两者至少输入一个
* @param int phone_code - 国际电话区号 输入手机号时必须传此参数
* @param string phone - 手机号 邮箱手机号两者至少输入一个
* @param string password - 密码 required
* @param string repassword - 重复密码 required
* @return int id - 用户ID
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$ClientModel = new ClientModel();
// 新建用户
$result = $ClientModel->createClient($param);
return json($result);
}
/**
* 时间 2022-05-10
* @title 修改用户
* @desc 修改用户
* @author theworld
* @version v1
* @url /admin/v1/client/:id
* @method PUT
* @param int id - 用户ID required
* @param string username - 姓名
* @param string email - 邮箱 邮箱手机号两者至少输入一个
* @param int phone_code - 国际电话区号 输入手机号时必须传此参数
* @param string phone - 手机号 邮箱手机号两者至少输入一个
* @param string company - 公司
* @param string country - 国家
* @param string address - 地址
* @param string language - 语言
* @param string notes - 备注
* @param string password - 密码 为空代表不修改
* @param string operate_password - 操作密码 为空代表不修改
* @param object customfield 自定义字段
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$ClientModel = new ClientModel();
// 修改用户
$result = $ClientModel->updateClient($param);
return json($result);
}
/**
* 时间 2022-05-10
* @title 删除用户
* @desc 删除用户
* @author theworld
* @version v1
* @url /admin/v1/client/:id
* @method DELETE
* @param int id - 用户ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$ClientModel = new ClientModel();
// 删除用户
$result = $ClientModel->deleteClient($param);
return json($result);
}
/**
* 时间 2022-5-26
* @title 用户状态切换
* @desc 用户状态切换
* @author theworld
* @version v1
* @url /admin/v1/client/:id/status
* @method put
* @param int id - 用户ID required
* @param int status 1 状态:0禁用,1启用 required
*/
public function status()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('status')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$ClientModel = new ClientModel();
// 更改状态
$result = $ClientModel->updateClientStatus($param);
return json($result);
}
/**
* 时间 2022-05-16
* @title 搜索用户
* @desc 搜索用户
* @author theworld
* @version v1
* @url /admin/v1/client/search
* @method GET
* @param string keywords - 关键字,搜索范围:用户ID,姓名,邮箱,手机号
* @param int client_id - 用户ID,精确搜索
* @return array list - 用户
* @return int list[].id - 用户ID
* @return string list[].username - 姓名
*/
public function search()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$ClientModel = new ClientModel();
// 获取用户列表
$data = $ClientModel->searchClient($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-30
* @title 以用户登录
* @desc 以用户登录
* @author wyh
* @version v1
* @url /admin/v1/client/:id/login
* @method POST
* @param int id - 用户ID required
* @return string jwt - jwt:获取后放在请求头Authorization里,拼接成如下格式:Bearer yJ0eX.test.ste
*/
public function login()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$ClientModel = new ClientModel();
// 获取用户列表
$result = $ClientModel->loginByClient(intval($param['id']));
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ClientCreditController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\ClientCreditModel;
use app\admin\validate\ClientCreditValidate;
use app\common\model\OrderTmpModel;
/**
* @title 用户余额管理
* @desc 用户余额管理
* @use app\admin\controller\ClientCreditController
*/
class ClientCreditController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new ClientCreditValidate();
}
/**
* 时间 2022-05-11
* @title 用户余额变更记录列表
* @desc 用户余额变更记录列表
* @author theworld
* @version v1
* @url /admin/v1/client/:id/credit
* @method GET
* @param int start_time - 开始时间,时间戳(s)
* @param int end_time - 结束时间,时间戳(s)
* @param string type - 类型:人工Artificial,充值Recharge,应用至订单Applied,超付Overpayment,少付Underpayment,退款Refund
* @param int id - 用户ID required
* @param int order_id - 订单ID
* @param int page - 页数
* @param int limit - 每页条数
* @return array list - 记录
* @return int list[].id - 记录ID
* @return string list[].type - 类型:人工Artificial,充值Recharge,应用至订单Applied,超付Overpayment,少付Underpayment,退款Refund,提现Withdraw
* @return string list[].amount - 金额
* @return string list[].notes - 备注
* @return int list[].create_time - 变更时间
* @return int list[].admin_id - 管理员ID
* @return string list[].admin_name - 管理员名称
* @return int count - 记录总数
*/
public function clientCreditList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$ClientCreditModel = new ClientCreditModel();
// 获取记录
$data = $ClientCreditModel->clientCreditList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-11
* @title 更改用户余额
* @desc 更改用户余额
* @author theworld
* @version v1
* @url /admin/v1/client/:id/credit
* @method PUT
* @param int id - 用户ID required
* @param string type - 类型recharge充值deduction扣费 required
* @param float amount - 金额 required
* @param string notes - 备注
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$ClientCreditModel = new ClientCreditModel();
// 计算当前余额,小于0则报错
if($param['type']=='deduction' && $param['amount']>0){
$param['amount'] = -$param['amount'];
}
$param['type'] = 'Artificial';
// 修改余额
$result = $ClientCreditModel->updateClientCredit($param);
return json($result);
}
/**
* 时间 2022-05-24
* @title 充值
* @desc 充值
* @author wyh
* @version v1
* @url /admin/v1/client/:id/recharge
* @method post
* @param int client_id 1 用户ID
* @param float amount 1.00 金额
* @param string gateway WxPay 支付方式
* @param string transaction_number - 交易流水号
*/
public function recharge()
{
$param = $this->request->param();
$OrderTmpModel = new OrderTmpModel();
$OrderTmpModel->isAdmin = true;
$result = $OrderTmpModel->recharge($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ClientRecordController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\ClientRecordModel;
use app\admin\validate\ClientRecordValidate;
/**
* @title 用户信息记录
* @desc 用户信息记录
* @use app\admin\controller\ClientRecordController
*/
class ClientRecordController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new ClientRecordValidate();
}
/**
* 时间 2023-03-21
* @title 用户信息记录列表
* @desc 用户信息记录列表
* @author theworld
* @version v1
* @url /admin/v1/client/:id/record
* @method GET
* @param int page - 页数
* @param int limit - 每页条数
* @return array list - 用户信息记录
* @return int list[].id - 用户信息记录ID
* @return string list[].content - 内容
* @return array list[].attachment - 附件
* @return int list[].admin_id - 管理员ID
* @return string list[].admin_name - 管理员名称
* @return int list[].create_time - 创建时间
* @return int count - 用户信息记录总数
*/
public function list()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$ClientRecordModel = new ClientRecordModel();
// 获取用户信息记录列表
$data = $ClientRecordModel->clientRecordList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2023-03-21
* @title 新增用户信息记录
* @desc 新增用户信息记录
* @author theworld
* @version v1
* @url /admin/v1/client/:id/record
* @method POST
* @param int id - 用户ID required
* @param string content - 名称 required
* @param array attachment - 附件
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$ClientRecordModel = new ClientRecordModel();
// 新增用户信息记录
$result = $ClientRecordModel->createClientRecord($param);
return json($result);
}
/**
* 时间 2023-03-21
* @title 编辑用户信息记录
* @desc 编辑用户信息记录
* @author theworld
* @version v1
* @url /admin/v1/client/record/:id
* @method PUT
* @param int id - 用户信息记录ID required
* @param string content - 名称 required
* @param array attachment - 附件
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$ClientRecordModel = new ClientRecordModel();
// 编辑用户信息记录
$result = $ClientRecordModel->updateClientRecord($param);
return json($result);
}
/**
* 时间 2023-03-21
* @title 删除用户信息记录
* @desc 删除用户信息记录
* @author theworld
* @version v1
* @url /admin/v1/client/record/:id
* @method DELETE
* @param int id - 用户信息记录ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$ClientRecordModel = new ClientRecordModel();
// 删除用户信息记录
$result = $ClientRecordModel->deleteClientRecord($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/CloudServerAreaController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\CloudServerAreaModel;
use app\admin\validate\CloudServerAreaValidate;
/**
* @title 模板控制器-云服务器区域
* @desc 模板控制器-云服务器区域
* @use app\admin\controller\CloudServerAreaController
*/
class CloudServerAreaController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new CloudServerAreaValidate();
}
/**
* 时间 2024-04-02
* @title 云服务器区域列表
* @desc 云服务器区域列表
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_area
* @method GET
* @return array list - 区域
* @return int list[].id - 区域ID
* @return string list[].first_area - 一级区域
* @return string list[].second_area - 二级区域
* @return array area - 区域选项
* @return string area[].name - 一级区域名称
* @return array area[].children - 二级区域
* @return int list[].children[].id - 二级区域ID
* @return string list[].children[].name - 二级区域名称
*/
public function list()
{
// 实例化模型类
$CloudServerAreaModel = new CloudServerAreaModel();
// 云服务器区域列表
$data = $CloudServerAreaModel->areaList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 添加云服务器区域
* @desc 添加云服务器区域
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_area
* @method POST
* @param string first_area - 一级区域 required
* @param string second_area - 二级区域 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerAreaModel = new CloudServerAreaModel();
// 添加云服务器区域
$result = $CloudServerAreaModel->createArea($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 修改云服务器区域
* @desc 修改云服务器区域
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_area/:id
* @method PUT
* @param int id - 区域ID required
* @param string first_area - 一级区域 required
* @param string second_area - 二级区域 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerAreaModel = new CloudServerAreaModel();
// 修改云服务器区域
$result = $CloudServerAreaModel->updateArea($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除云服务器区域
* @desc 删除云服务器区域
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_area/:id
* @method DELETE
* @param int id - 区域ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CloudServerAreaModel = new CloudServerAreaModel();
// 删除云服务器区域
$result = $CloudServerAreaModel->deleteArea($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/CloudServerBannerController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\CloudServerBannerModel;
use app\admin\validate\CloudServerBannerValidate;
/**
* @title 模板控制器-云服务器轮播图
* @desc 模板控制器-云服务器轮播图
* @use app\admin\controller\CloudServerBannerController
*/
class CloudServerBannerController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new CloudServerBannerValidate();
}
/**
* 时间 2024-04-02
* @title 云服务器轮播图列表
* @desc 云服务器轮播图列表
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_banner
* @method GET
* @return array list - 轮播图
* @return int list[].id - 轮播图ID
* @return string list[].img - 图片
* @return string list[].url - 跳转链接
* @return int list[].start_time - 展示开始时间
* @return int list[].end_time - 展示结束时间
* @return int list[].show - 是否展示0否1是
* @return string list[].notes - 备注
*/
public function list()
{
// 实例化模型类
$CloudServerBannerModel = new CloudServerBannerModel();
// 云服务器轮播图列表
$data = $CloudServerBannerModel->bannerList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 添加云服务器轮播图
* @desc 添加云服务器轮播图
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_banner
* @method POST
* @param string img - 图片 required
* @param string url - 跳转链接 required
* @param int start_time - 展示开始时间 required
* @param int end_time - 展示结束时间 required
* @param int show - 是否展示0否1是 required
* @param string notes - 备注
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerBannerModel = new CloudServerBannerModel();
// 添加云服务器轮播图
$result = $CloudServerBannerModel->createBanner($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 修改云服务器轮播图
* @desc 修改云服务器轮播图
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_banner/:id
* @method PUT
* @param int id - 轮播图ID required
* @param string img - 图片 required
* @param string url - 跳转链接 required
* @param int start_time - 展示开始时间 required
* @param int end_time - 展示结束时间 required
* @param int show - 是否展示0否1是 required
* @param string notes - 备注
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerBannerModel = new CloudServerBannerModel();
// 修改云服务器轮播图
$result = $CloudServerBannerModel->updateBanner($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除云服务器轮播图
* @desc 删除云服务器轮播图
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_banner/:id
* @method DELETE
* @param int id - 轮播图ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CloudServerBannerModel = new CloudServerBannerModel();
// 删除云服务器轮播图
$result = $CloudServerBannerModel->deleteBanner($param['id']);
return json($result);
}
/**
* 时间 2024-04-02
* @title 展示云服务器轮播图
* @desc 展示云服务器轮播图
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_banner/:id/show
* @method PUT
* @param int id - 轮播图ID required
* @param int show - 是否展示0否1是 required
*/
public function show()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('show')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerBannerModel = new CloudServerBannerModel();
// 展示云服务器轮播图
$result = $CloudServerBannerModel->showBanner($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 云服务器轮播图排序
* @desc 云服务器轮播图排序
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_banner/order
* @method PUT
* @param array id - 轮播图ID required
*/
public function order()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CloudServerBannerModel = new CloudServerBannerModel();
// 云服务器轮播图排序
$result = $CloudServerBannerModel->orderBanner($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/CloudServerDiscountController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\CloudServerDiscountModel;
use app\admin\validate\CloudServerDiscountValidate;
/**
* @title 模板控制器-云服务器优惠
* @desc 模板控制器-云服务器优惠
* @use app\admin\controller\CloudServerDiscountController
*/
class CloudServerDiscountController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new CloudServerDiscountValidate();
}
/**
* 时间 2024-04-02
* @title 云服务器优惠列表
* @desc 云服务器优惠列表
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_discount
* @method GET
* @return array list - 优惠
* @return int list[].id - 优惠ID
* @return string list[].title - 标题
* @return string list[].description - 描述
* @return string list[].url - 跳转链接
*/
public function list()
{
// 实例化模型类
$CloudServerDiscountModel = new CloudServerDiscountModel();
// 云服务器优惠列表
$data = $CloudServerDiscountModel->discountList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 创建云服务器优惠
* @desc 创建云服务器优惠
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_discount
* @method POST
* @param string title - 标题 required
* @param string description - 描述 required
* @param string url - 跳转链接 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerDiscountModel = new CloudServerDiscountModel();
// 创建云服务器优惠
$result = $CloudServerDiscountModel->createDiscount($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 编辑云服务器优惠
* @desc 编辑云服务器优惠
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_discount/:id
* @method PUT
* @param int id - 优惠ID required
* @param string title - 标题 required
* @param string description - 描述 required
* @param string url - 跳转链接 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerDiscountModel = new CloudServerDiscountModel();
// 编辑云服务器优惠
$result = $CloudServerDiscountModel->updateDiscount($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除云服务器优惠
* @desc 删除云服务器优惠
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_discount/:id
* @method DELETE
* @param int id - 优惠ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CloudServerDiscountModel = new CloudServerDiscountModel();
// 删除云服务器优惠
$result = $CloudServerDiscountModel->deleteDiscount($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/CloudServerProductController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\CloudServerProductModel;
use app\admin\validate\CloudServerProductValidate;
/**
* @title 模板控制器-云服务器商品
* @desc 模板控制器-云服务器商品
* @use app\admin\controller\CloudServerProductController
*/
class CloudServerProductController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new CloudServerProductValidate();
}
/**
* 时间 2024-04-02
* @title 云服务器商品列表
* @desc 云服务器商品列表
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_product
* @method GET
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 商品
* @return int list[].id - 商品ID
* @return int list[].area_id - 区域ID
* @return string list[].first_area - 一级区域
* @return string list[].second_area - 二级区域
* @return string list[].title - 标题
* @return string list[].description - 描述
* @return string list[].cpu - 处理器
* @return string list[].memory - 内存
* @return string list[].system_disk - 系统盘
* @return string list[].bandwidth - 带宽
* @return string list[].duration - 时长
* @return string list[].tag - 标签
* @return string list[].original_price - 原价
* @return string list[].original_price_unit - 原价单位,month月year年
* @return string list[].selling_price - 售价
* @return string list[].selling_price_unit - 售价单位,month月year年
* @return int list[].product_id - 关联商品ID
* @return int count - 商品数量
*/
public function list()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$CloudServerProductModel = new CloudServerProductModel();
// 云服务器商品列表
$data = $CloudServerProductModel->productList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 创建云服务器商品
* @desc 创建云服务器商品
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_product
* @method POST
* @param int area_id - 区域ID required
* @param string title - 标题 required
* @param string description - 描述 required
* @param string cpu - 处理器 required
* @param string memory - 内存 required
* @param string system_disk - 系统盘 required
* @param string bandwidth - 带宽 required
* @param string duration - 时长 required
* @param string tag - 标签 required
* @param float original_price - 原价 required
* @param string original_price_unit - 原价单位,month月year年 required
* @param float selling_price - 售价 required
* @param string selling_price_unit - 售价单位,month月year年 required
* @param int product_id - 关联商品ID required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerProductModel = new CloudServerProductModel();
// 创建云服务器商品
$result = $CloudServerProductModel->createProduct($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 编辑云服务器商品
* @desc 编辑云服务器商品
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_product/:id
* @method PUT
* @param int id - 商品ID required
* @param int area_id - 区域ID required
* @param string title - 标题 required
* @param string description - 描述 required
* @param string cpu - 处理器 required
* @param string memory - 内存 required
* @param string system_disk - 系统盘 required
* @param string bandwidth - 带宽 required
* @param string duration - 时长 required
* @param string tag - 标签 required
* @param float original_price - 原价 required
* @param string original_price_unit - 原价单位,month月year年 required
* @param float selling_price - 售价 required
* @param string selling_price_unit - 售价单位,month月year年 required
* @param int product_id - 关联商品ID required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$CloudServerProductModel = new CloudServerProductModel();
// 编辑云服务器商品
$result = $CloudServerProductModel->updateProduct($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除云服务器商品
* @desc 删除云服务器商品
* @author theworld
* @version v1
* @url /admin/v1/cloud_server_product/:id
* @method DELETE
* @param int id - 商品ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CloudServerProductModel = new CloudServerProductModel();
// 删除云服务器商品
$result = $CloudServerProductModel->deleteProduct($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/CommonController.php
================================================
<?php
namespace app\admin\controller;
use app\admin\model\PluginModel;
use app\common\model\CountryModel;
use app\admin\model\AuthModel;
use app\common\logic\UploadLogic;
use app\common\model\ClientModel;
use app\common\model\HostModel;
use app\common\model\ProductModel;
use app\common\model\ServerModel;
use app\common\model\MenuModel;
use app\home\model\ClientareaAuthModel;
use app\common\model\OrderModel;
use app\admin\model\AdminFieldModel;
use app\admin\validate\AdminFieldValidate;
use app\common\logic\TemplateLogic;
/**
* @title 公共接口
* @desc 公共接口
* @use app\admin\controller\CommonController
*/
class CommonController extends AdminBaseController
{
/**
* 时间 2022-5-17
* @title 支付接口
* @desc 支付接口
* @url /admin/v1/gateway
* @method GET
* @author wyh
* @version v1
* @return array list - 支付接口
* @return int list[].id - ID
* @return int list[].title - 名称
* @return int list[].name - 标识
* @return int list[].url - 图片:base64格式或者自定义图片路径(支付接口使用此参数)
* @return int count - 总数
*/
public function gateway()
{
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>gateway_list()
];
return json($result);
}
/**
* 时间 2022-5-18
* @title 短信接口
* @desc 短信接口
* @url /admin/v1/sms
* @method GET
* @author wyh
* @version v1
* @return array list - 短信接口
* @return int list[].id - ID
* @return int list[].title - 名称
* @return int list[].name - 标识
* @return array list[].sms_type - 1国际,0国内
* @return int count - 总数
*/
public function sms()
{
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>(new PluginModel())->plugins('sms')
];
return json($result);
}
/**
* 时间 2022-5-18
* @title 邮件接口
* @desc 邮件接口
* @url /admin/v1/email
* @method GET
* @author wyh
* @version v1
* @return array list - 邮件接口
* @return int list[].id - ID
* @return int list[].title - 名称
* @return int list[].name - 标识
* @return int count - 总数
*/
public function email()
{
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>(new PluginModel())->plugins('mail')
];
return json($result);
}
/**
* 时间 2022-9-7
* @title 验证码接口
* @desc 验证码接口
* @url /admin/v1/captcha_list
* @method GET
* @author wyh
* @version v1
* @return array list - 邮件接口
* @return int list[].id - ID
* @return int list[].title - 名称
* @return int list[].name - 标识
* @return int count - 总数
*/
public function captchaList()
{
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>(new PluginModel())->plugins('captcha')
];
return json($result);
}
/**
* 时间 2022-5-19
* @title 公共配置
* @desc 公共配置
* @url /admin/v1/common
* @method GET
* @author xiong
* @version v1
* @return string currency_code CNY 货币代码
* @return string currency_prefix ¥ 货币符号
* @return string currency_suffix 元 后缀
* @return string website_name 智简魔方 网站名称
* @return string system_logo 系统LOGO
* @return array lang_admin - 后台语言列表
* @return array lang_home - 前台语言列表
* @return array admin_enforce_safe_method - 后台强制安全选项(operate_password=操作密码)
*/
public function common()
{
$setting = [
'currency_code',
'currency_prefix',
'currency_suffix',
'website_name',
'system_logo',
'admin_enforce_safe_method',
];
$lang = [
'lang_admin'=> lang_list('admin') ,
'lang_home'=> lang_list('home') ,
];
$data = array_merge($lang,configuration($setting));
$data['admin_enforce_safe_method'] = !empty($data['admin_enforce_safe_method']) ? explode(',', $data['admin_enforce_safe_method']) : [];
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-5-16
* @title 国家列表
* @desc 国家列表,包括国家名,中文名,区号
* @url /admin/v1/country
* @method GET
* @author theworld
* @version v1
* @param string keywords - 关键字,搜索范围:国家名,中文名,区号
* @return array list - 国家列表
* @return string list[].name - 国家名
* @return string list[].name_zh - 中文名
* @return int list[].phone_code - 区号
* @return string list[].iso - 国家英文缩写
* @return int count - 国家总数
*/
public function countryList()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$CountryModel = new CountryModel();
// 获取国家列表
$data = $CountryModel->countryList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-5-27
* @title 权限列表
* @desc 权限列表
* @author theworld
* @version v1
* @url /admin/v1/auth
* @method GET
* @return array list - 权限列表
* @return int list[].id - 权限ID
* @return string list[].title - 权限标题
* @return string list[].url - 地址
* @return int list[].order - 排序
* @return int list[].parent_id - 父级ID
* @return string list[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].plugin - 插件标识名
* @return array list[].child - 权限子集
* @return int list[].child[].id - 权限ID
* @return string list[].child[].title - 权限标题
* @return string list[].child[].url - 地址
* @return int list[].child[].order - 排序
* @return int list[].child[].parent_id - 父级ID
* @return string list[].child[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].child[].plugin - 插件标识名
* @return array list[].child[].child - 权限子集
* @return int list[].child[].child[].id - 权限ID
* @return string list[].child[].child[].title - 权限标题
* @return string list[].child[].child[].url - 地址
* @return int list[].child[].child[].order - 排序
* @return int list[].child[].child[].parent_id - 父级ID
* @return string list[].child[].child[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].child[].child[].plugin - 插件标识名
* @return string widget[].id - 挂件标识
* @return string widget[].title - 挂件标题
*/
public function authList()
{
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => (new AuthModel())->authList()
];
return json($result);
}
/**
* 时间 2022-5-27
* @title 当前管理员权限列表
* @desc 当前管理员权限列表
* @author theworld
* @version v1
* @url /admin/v1/admin/auth
* @method GET
* @return array list - 权限列表
* @return int list[].id - 权限ID
* @return string list[].title - 权限标题
* @return string list[].url - 地址
* @return int list[].order - 排序
* @return int list[].parent_id - 父级ID
* @return string list[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].plugin - 插件标识名
* @return array list[].child - 权限子集
* @return int list[].child[].id - 权限ID
* @return string list[].child[].title - 权限标题
* @return string list[].child[].url - 地址
* @return int list[].child[].order - 排序
* @return int list[].child[].parent_id - 父级ID
* @return string list[].child[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].child[].plugin - 插件标识名
* @return array list[].child[].child - 权限子集
* @return int list[].child[].child[].id - 权限ID
* @return string list[].child[].child[].title - 权限标题
* @return string list[].child[].child[].url - 地址
* @return int list[].child[].child[].order - 排序
* @return int list[].child[].child[].parent_id - 父级ID
* @return string list[].child[].child[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].child[].child[].plugin - 插件标识名
* @return array auths - 权限
*/
public function adminAuthList()
{
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => (new AuthModel())->adminAuthList()
];
return json($result);
}
/**
* 时间 2022-08-10
* @title 获取后台导航
* @desc 获取后台导航
* @author theworld
* @version v1
* @url /admin/v1/menu
* @method GET
* @return array menu - 菜单
* @return int menu[].id - 菜单ID
* @return string menu[].name - 名称
* @return string menu[].url - 网址
* @return string menu[].icon - 图标
* @return int menu[].parent_id - 父ID
* @return array menu[].child - 子菜单
* @return int menu[].child[].id - 菜单ID
* @return string menu[].child[].name - 名称
* @return string menu[].child[].url - 网址
* @return string menu[].child[].icon - 图标
* @return int menu[].child[].parent_id - 父ID
* @return int menu_id - 选中菜单ID
* @return string url - 登录后跳转地址
*/
public function adminMenu(){
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => (new MenuModel())->adminMenu()
];
return json($result);
}
/**
* 时间 2022-6-20
* @title 文件上传
* @desc 公共配置
* @url /admin/v1/upload
* @method POST
* @author wyh
* @version v1
* @param resource file - 文件资源 required
* @return string save_name - 文件名
* @return string data.image_base64 - 图片base64,文件为图片才返回
* @return string data.image_url - 图片地址,文件为图片才返回
*/
public function upload()
{
$filename = $this->request->file('file');
if (!isset($filename)){
return json(['status'=>400,'msg'=>lang('param_error')]);
}
if (empty($filename->getOriginalExtension())){
return json(['status'=>400,'msg'=>lang('param_error')]);
}
$str=explode($filename->getOriginalExtension(),$filename->getOriginalName())[0];
if(preg_match("/['!@^&]|\/|\\\|\"/",substr($str,0,strlen($str)-1))){
return json(['status'=>400,'msg'=>lang('file_name_error')]);
}
$UploadLogic = new UploadLogic();
$result = $UploadLogic->uploadHandle($filename);
return json($result);
}
/**
* 时间 2022-07-22
* @title 全局搜索
* @desc 全局搜索
* @url /admin/v1/global_search
* @method GET
* @author theworld
* @version v1
* @param keywords string - 关键字,搜索范围:用户姓名,公司,邮箱,手机号,备注,商品名称,商品一级分组名称,商品二级分组名称,产品ID,标识,商品名称 required
* @return array clients - 用户
* @return int clients[].id - 用户ID
* @return string clients[].username - 姓名
* @return string clients[].company - 公司
* @return string clients[].email - 邮箱
* @return string clients[].phone_code - 国际电话区号
* @return string clients[].phone - 手机号
* @return array products - 商品
* @return int products[].id - 商品ID
* @return string products[].name - 商品名称
* @return string products[].product_group_name_first - 商品一级分组名称
* @return string products[].product_group_name_second - 商品二级分组名称
* @return array hosts - 产品
* @return int hosts[].id - 产品ID
* @return string hosts[].name - 标识
* @return string hosts[].product_name - 商品名称
* @return int hosts[].client_id - 用户ID
*/
public function globalSearch()
{
// 接收参数
$param = $this->request->param();
$keywords = $param['keywords'] ?? '';
if(!empty($keywords)){
$clients = (new ClientModel())->searchClient($param, 'global');
$products = (new ProductModel())->searchProduct($keywords);
$hosts = (new HostModel())->searchHost($keywords);
$data = [
'clients' => $clients['list'],
'products' => $products['list'],
'hosts' => $hosts['list'],
];
}else{
$data = [
'clients' => [],
'products' => [],
'hosts' => [],
];
}
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-5-16
* @title 获取已激活插件
* @desc 获取已激活插件
* @url /admin/v1/active_plugin
* @method GET
* @author wyh
* @version v1
* @return array list - 插件列表
* @return int list[].id - ID
* @return string list[].title - 名称
* @return string list[].name - 标识
*/
public function activePluginList()
{
$param = $this->request->param();
$result = [
'status'=>200,
'msg'=>lang('success_message'),
'data' =>(new PluginModel())->activePluginList()
];
return json($result);
}
/**
* 时间 2022-5-27
* @title 会员中心权限列表
* @desc 会员中心权限列表
* @author theworld
* @version v1
* @url /admin/v1/clientarea_auth
* @method GET
* @return array list - 权限列表
* @return int list[].id - 权限ID
* @return string list[].title - 权限标题
* @return string list[].url - 地址
* @return int list[].order - 排序
* @return int list[].parent_id - 父级ID
* @return string list[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].plugin - 插件标识名
* @return array list[].rules - 权限规则标题
* @return array list[].child - 权限子集
* @return int list[].child[].id - 权限ID
* @return string list[].child[].title - 权限标题
* @return string list[].child[].url - 地址
* @return int list[].child[].order - 排序
* @return int list[].child[].parent_id - 父级ID
* @return string list[].child[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].child[].plugin - 插件标识名
* @return string list[].child[].rules - 权限规则标题
* @return array list[].child[].child - 权限子集
* @return int list[].child[].child[].id - 权限ID
* @return string list[].child[].child[].title - 权限标题
* @return string list[].child[].child[].url - 地址
* @return int list[].child[].child[].order - 排序
* @return int list[].child[].child[].parent_id - 父级ID
* @return string list[].child[].child[].module - 插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件
* @return string list[].child[].child[].plugin - 插件标识名
* @return string list[].child[].child[].rules - 权限规则标题
*/
public function clientareaAuthList()
{
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => (new ClientareaAuthModel())->authList()
];
return json($result);
}
/**
* 时间 2024-03-20
* @title 获取全局单表单字段搜索选项
* @desc 获取全局单表单字段搜索选项
* @url /admin/v1/common_search_table
* @method GET
* @author theworld
* @version v1
* @return array list - 搜索框显示数据
* @return string list[].table - 表
* @return string list[].name - 显示名称
* @return array list[].field - 字段
* @return string list[].field[].key - 搜索字段
* @return string list[].field[].name - 搜索字段显示名称
* @return string list[].field[].type - 搜索框类型input输入框date时间select选择框
* @return array list[].field[].option - 选择框选项,搜索框类型为选择框时会返回
* @return array list[].field[].option[].name - 选项显示名称,搜索字段不为product_id时
* @return array list[].field[].option[].value - 选项值,搜索字段不为product_id时
* @return string list[].field[].option[].name - 商品一级分组名称,搜索字段为product_id时
* @return array list[].field[].option[].child - 商品二级分组,搜索字段为product_id时
* @return string list[].field[].option[].child[].name - 商品二级分组名称,搜索字段为product_id时
* @return array list[].field[].option[].child[].product - 商品,搜索字段为product_id时
* @return int list[].field[].option[].child[].product[].id - 商品ID,搜索字段为product_id时
* @return string list[].field[].option[].child[].product[].name - 商品名称,搜索字段为product_id时
*/
public function commonSearchTableList()
{
$lang = lang();
$orderStatus = [];
$status = config('idcsmart.order_status');
foreach ($status as $key => $value) {
$orderStatus[] = ['name' => $lang['order_status_'.$value], 'value' => $value];
}
$orderType = [];
$type = config('idcsmart.order_type');
foreach ($type as $key => $value) {
$orderType[] = ['name' => $lang['order_type_'.$value], 'value' => $value];
}
$hostStatus = [];
$status = config('idcsmart.host_status');
foreach ($status as $key => $value) {
$hostStatus[] = ['name' => $lang['host_status_'.$value], 'value' => $value];
}
$product = (new ProductModel())->getProductList();
$server = (new ServerModel())->getAllServer();
foreach ($server as $key => $value) {
$server[$key]['value'] = $value['id'];
unset($server[$key]['id']);
}
$data = [
[
'table' => 'client',
'name' => $lang['common_search_client'],
'field' => [
['key' => 'id', 'name' => $lang['common_search_client_id'], 'type' => 'input'],
['key' => 'username', 'name' => $lang['common_search_client_username'], 'type' => 'input'],
['key' => 'email', 'name' => $lang['common_search_client_email'], 'type' => 'input'],
['key' => 'phone', 'name' => $lang['common_search_client_phone'], 'type' => 'input'],
['key' => 'company', 'name' => $lang['common_search_client_company'], 'type' => 'input'],
],
],
[
'table' => 'host',
'name' => $lang['common_search_host'],
'field' => [
['key' => 'host_id', 'name' => $lang['common_search_host_id'], 'type' => 'input'],
['key' => 'status', 'name' => $lang['common_search_host_status'], 'type' => 'select', 'option' => $hostStatus],
['key' => 'product_id', 'name' => $lang['common_search_host_product_id'], 'type' => 'select', 'option' => $product],
['key' => 'name', 'name' => $lang['common_search_host_name'], 'type' => 'input'],
['key' => 'due_time', 'name' => $lang['common_search_host_due_time'], 'type' => 'date'],
['key' => 'username', 'name' => $lang['common_search_host_username'], 'type' => 'input'],
['key' => 'email', 'name' => $lang['common_search_host_email'], 'type' => 'input'],
['key' => 'phone', 'name' => $lang['common_search_host_phone'], 'type' => 'input'],
['key' => 'billing_cycle', 'name' => $lang['common_search_host_billing_cycle'], 'type' => 'input'],
['key' => 'server_id', 'name' => $lang['common_search_host_server_id'], 'type' => 'select', 'option' => $server],
],
],
[
'table' => 'order',
'name' => $lang['common_search_order'],
'field' => [
['key' => 'order_id', 'name' => $lang['common_search_order_id'], 'type' => 'input'],
['key' => 'product_id', 'name' => $lang['common_search_order_product_id'], 'type' => 'select', 'option' => $product],
['key' => 'username', 'name' => $lang['common_search_order_username'], 'type' => 'input'],
['key' => 'email', 'name' => $lang['common_search_order_email'], 'type' => 'input'],
['key' => 'phone', 'name' => $lang['common_search_order_phone'], 'type' => 'input'],
['key' => 'amount', 'name' => $lang['common_search_order_amount'], 'type' => 'input'],
['key' => 'pay_time', 'name' => $lang['common_search_order_pay_time'], 'type' => 'date'],
['key' => 'status', 'name' => $lang['common_search_order_status'], 'type' => 'select', 'option' => $orderStatus],
['key' => 'type', 'name' => $lang['common_search_order_type'], 'type' => 'select', 'option' => $orderType],
],
],
];
$result = [
'status' => 200,
'msg' => $lang['success_message'],
'data' => [
'list' => $data
]
];
return json($result);
}
/**
* 时间 2024-03-20
* @title 全局单表单字段搜索
* @desc 全局单表单字段搜索
* @url /admin/v1/common_search
* @method GET
* @author theworld
* @version v1
* @param string table - 表 required
* @param string key - 搜索字段 required
* @param string value - 搜索传递的值 required
* @return string table - 表
* @return array list - 搜索后返回的列表,用于跳转到对应页面显示
* @return int count - 总数,当数量为1是跳转到对应内页
*/
public function commonSearch()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
$table = $param['table'] ?? '';
$key = $param['key'] ?? '';
$value = $param['value'] ?? '';
if($table=='client'){
$param['type'] = $key;
$param['keywords'] = $value;
$data = (new ClientModel())->clientList($param);
}else if($table=='host'){
if($key=='due_time'){
$param['start_time'] = $value;
$param['end_time'] = $value;
}else{
$param[$key] = $value;
}
$data = (new HostModel())->hostList($param);
}else if($table=='order'){
$param[$key] = $value;
$data = (new OrderModel())->orderList($param);
}else{
$data = [
'list' => [],
'count' => 0,
];
}
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-05-15
* @title 获取字段设置
* @desc 获取字段设置
* @url /admin/v1/field
* @method GET
* @author hh
* @version v1
* @param string view - 页面标识(client=用户管理,order=订单管理,host=产品管理,transaction=交易流水) require
* @return string field[].name - 字段分组名称
* @return string field[].field[].key - 字段标识
* @return string field[].field[].name - 字段名称
* @return array select_field - 当前选定字段标识
*/
public function adminFieldIndex()
{
$param = $this->request->param();
$AdminFieldModel = new AdminFieldModel();
$data = $AdminFieldModel->adminFieldIndex($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-05-15
* @title 保存字段设置
* @desc 保存字段设置
* @url /admin/v1/field
* @method PUT
* @author hh
* @version v1
* @param string view - 页面标识(client=用户管理,order=订单管理,host=产品管理,transaction=交易流水) require
* @param array select_field - 选定字段标识 require
*/
public function adminFieldSave()
{
$param = $this->request->param();
$AdminFieldValidate = new AdminFieldValidate();
if (!$AdminFieldValidate->scene('save')->check($param)){
return json(['status' => 400 , 'msg' => lang($AdminFieldValidate->getError())]);
}
$AdminFieldModel = new AdminFieldModel();
$result = $AdminFieldModel->adminFieldSave($param);
return json($result);
}
/**
* 时间 2024-05-21
* @title 模板控制器Tab
* @desc 模板控制器Tab
* @author theworld
* @version v1
* @url /admin/v1/template_tab
* @method GET
* @param string theme - 主题标识,不传递时默认为当前系统设置的主题
* @return array list - 模板控制器Tab列表
* @return string list[].name - 标识
* @return string list[].title - 标题
* @return string list[].url - 地址
*/
public function templateTabList()
{
$param = $this->request->param();
$TemplateLogic = new TemplateLogic();
$result = $TemplateLogic->templateTabList($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ConfigurationController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\ConfigurationModel;
use app\admin\validate\ConfigurationValidate;
use think\captcha\Captcha;
/**
* @title 系统设置
* @desc 系统设置
* @use app\admin\controller\ConfigurationController
*/
class ConfigurationController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new ConfigurationValidate();
}
/**
* 时间 2022-5-10
* @title 获取系统设置
* @desc 获取系统设置
* @url /admin/v1/configuration/system
* @method GET
* @author xiong
* @version v1
* @return string lang_admin - 后台默认语言
* @return int lang_home_open - 前台多语言开关:1开启0关闭
* @return string lang_home - 前台默认语言
* @return int maintenance_mode - 维护模式开关:1开启0关闭
* @return string maintenance_mode_message - 维护模式内容
* @return string website_name - 网站名称
* @return string website_url - 网站域名地址
* @return string terms_service_url - 服务条款地址
* @return string terms_privacy_url - 隐私条款地址
* @return string system_logo - 系统LOGO
* @return int client_start_id_value - 用户注册开始ID
* @return int order_start_id_value - 用户订单开始ID
* @return string clientarea_url - 会员中心地址
* @return string tab_logo - 标签页LOGO
* @return int home_show_deleted_host - 前台是否展示已删除产品:1是0否
* @return array prohibit_user_information_changes - 禁止用户信息变更
* @return array user_information_fields - 用户信息字段
* @return int|string user_information_fields.id - 用户信息字段ID
* @return string user_information_fields.name - 用户信息字段名称
* @return object customfiled - 自定义参数
*/
public function systemList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取系统设置
$data=$ConfigurationModel->systemList();
$data['customfield'] = (object)$data['customfield'];
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 保存系统设置
* @desc 保存系统设置
* @url /admin/v1/configuration/system
* @method PUT
* @author xiong
* @version v1
* @param string lang_admin - 后台默认语言
* @param int lang_home_open - 前台多语言开关:1开启0关闭
* @param string lang_home - 前台默认语言
* @param int maintenance_mode - 维护模式开关:1开启0关闭
* @param string maintenance_mode_message - 维护模式内容
* @param string website_name - 网站名称
* @param string website_url - 网站域名地址
* @param string terms_service_url - 服务条款地址
* @param string terms_privacy_url - 隐私条款地址
* @param string system_logo - 系统LOGO
* @param int client_start_id_value - 用户注册开始ID
* @param int order_start_id_value - 用户订单开始ID
* @param string clientarea_url - 会员中心地址
* @param string tab_logo - 标签页LOGO
* @param int home_show_deleted_host - 前台是否展示已删除产品:1是0否
* @param array prohibit_user_information_changes - 禁止用户信息变更
* @param object customfiled - 自定义参数
*/
public function systemUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('system_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存系统设置
$result = $ConfigurationModel->systemUpdate($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取登录设置
* @desc 获取登录设置
* @url /admin/v1/configuration/login
* @method GET
* @author xiong
* @version v1
* @return int register_email - 邮箱注册开关:1开启0关闭
* @return int register_phone - 手机号注册开关:1开启0关闭
* @return int login_phone_verify - 手机号登录短信验证开关:1开启0关闭
* @return int home_login_check_ip - 前台登录检查IP:1开启0关闭
* @return int admin_login_check_ip - 后台登录检查IP:1开启0关闭
* @return int code_client_email_register - 邮箱注册是否需要验证码:1开启0关闭
* @return int code_client_phone_register - 手机注册是否需要验证码:1开启0关闭
* @return int limit_email_suffix - 是否限制邮箱后缀:1开启0关闭
* @return string email_suffix - 邮箱后缀
* @return int home_login_check_common_ip - 前台是否检测常用登录IP:1开启0关闭
* @return array home_login_ip_exception_verify - 用户异常登录验证方式(operate_password=操作密码)
* @return array home_enforce_safe_method - 前台强制安全选项(phone=手机,email=邮箱,operate_password=操作密码,certification=实名认证,oauth=三方登录扫码)
* @return array admin_enforce_safe_method - 后台强制安全选项(operate_password=操作密码)
* @return int admin_allow_remember_account - 后台是否允许记住账号:1开启0关闭
*/
public function loginList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取登录设置
$data=$ConfigurationModel->loginList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 保存登录设置
* @desc 保存登录设置
* @url /admin/v1/configuration/login
* @method PUT
* @author xiong
* @version v1
* @param int register_email - 邮箱注册开关:1开启0关闭
* @param int register_phone - 手机号注册开关:1开启0关闭
* @param int login_phone_verify - 手机号登录短信验证开关:1开启0关闭
* @param int home_login_check_ip - 前台登录检查IP:1开启0关闭
* @param int admin_login_check_ip - 后台登录检查IP:1开启0关闭
* @param int code_client_email_register - 邮箱注册是否需要验证码:1开启0关闭
* @param int code_client_phone_register - 手机注册是否需要验证码:1开启0关闭
* @param int limit_email_suffix - 是否限制邮箱后缀:1开启0关闭
* @param string email_suffix - 邮箱后缀
* @param int home_login_check_common_ip - 前台是否检测常用登录IP:1开启0关闭
* @param array home_login_ip_exception_verify - 用户异常登录验证方式(operate_password=操作密码)
* @param array home_enforce_safe_method - 前台强制安全选项(phone=手机,email=邮箱,operate_password=操作密码,certification=实名认证,oauth=三方登录扫码)
* @param array admin_enforce_safe_method - 后台强制安全选项(operate_password=操作密码)
* @param int admin_allow_remember_account - 后台是否允许记住账号:1开启0关闭
*/
public function loginUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('login_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存系统设置
$result = $ConfigurationModel->loginUpdate($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取图形验证码预览
* @desc 获取图形验证码预览
* @url /admin/v1/configuration/security/captcha
* @method GET
* @author xiong
* @version v1
* @param int captcha_width - 图形验证码宽度 required
* @param int captcha_height - 图形验证码高度 required
* @param int captcha_length - 图形验证码字符长度 required
* @return string captcha - 图形验证码图片
*/
public function securityCaptcha()
{
//接收参数
$param = $this->request->param();
$config = [
'imageW' => $param['captcha_width'],
'imageH' => $param['captcha_height'],
'length' => $param['captcha_length'],
'codeSet' => '1234567890',
];
$Captcha = new Captcha(app('config'),app('session'));
$response = $Captcha->create($config);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => [
'captcha' => 'data:png;base64,' . base64_encode($response->getData()),
]
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取验证码设置
* @desc 获取验证码设置
* @url /admin/v1/configuration/security
* @method GET
* @author xiong
* @version v1
* @return int captcha_client_register - 客户注册图形验证码开关:1开启0关闭
* @return int captcha_client_login - 客户登录图形验证码开关:1开启0关闭
* @return int captcha_client_login_error - 客户登录失败图形验证码开关:1开启0关闭
* @return int captcha_admin_login - 管理员登录图形验证码开关:1开启0关闭
* @return string captcha_plugin - 验证码插件(从/admin/v1/captcha_list接口获取)
* @return int code_client_email_register - 邮箱注册数字验证码开关:1开启0关闭
*/
public function securityList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取验证码设置
$data=$ConfigurationModel->securityList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 保存验证码设置
* @desc 保存验证码设置
* @url /admin/v1/configuration/security
* @method PUT
* @author xiong
* @version v1
* @param int captcha_client_register - 客户注册图形验证码开关:1开启0关闭
* @param int captcha_client_login - 客户登录图形验证码开关:1开启0关闭
* @param int captcha_client_login_error - 客户登录失败图形验证码开关:1开启0关闭
* @param int captcha_admin_login - 管理员登录图形验证码开关:1开启0关闭
* @param string captcha_plugin - 验证码插件(从/admin/v1/captcha_list接口获取)
* @param int code_client_email_register - 邮箱注册数字验证码开关:1开启0关闭
*/
public function securityUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('security_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存验证码设置
$result = $ConfigurationModel->securityUpdate($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取货币设置
* @desc 获取货币设置
* @url /admin/v1/configuration/currency
* @method GET
* @author xiong
* @version v1
* @return string currency_code - 货币代码
* @return string currency_prefix - 货币符号
* @return string currency_suffix - 货币后缀
* @return int recharge_open - 启用充值:1开启0关闭
* @return int recharge_min - 单笔最小金额
*/
public function currencyList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取验证码设置
$data=$ConfigurationModel->currencyList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 保存货币设置
* @desc 保存货币设置
* @url /admin/v1/configuration/currency
* @method PUT
* @author xiong
* @version v1
* @param string currency_code - 货币代码
* @param string currency_prefix - 货币符号
* @param string currency_suffix - 货币后缀
* @param int recharge_open - 启用充值:1开启0关闭
* @param int recharge_min - 单笔最小金额
*/
public function currencyUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('currency_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存验证码设置
$result = $ConfigurationModel->currencyUpdate($param);
return json($result);
}
/**
* 时间 2022-5-10
* @title 获取自动化设置
* @desc 获取自动化设置
* @url /admin/v1/configuration/cron
* @method GET
* @author xiong
* @version v1
* @return int cron_shell - 自动化脚本
* @return int cron_status - 自动化状态,正常返回success,不正常返回error
* @return int cron_due_suspend_swhitch - 产品到期暂停开关 1开启,0关闭
* @return int cron_due_suspend_day - 产品到期暂停X天后暂停
* @return int cron_due_unsuspend_swhitch - 财务原因产品暂停后付款自动解封开关 1开启,0关闭
* @return int cron_due_terminate_swhitch - 产品到期删除开关 1开启,0关闭
* @return int cron_due_terminate_day - 产品到期X天后删除
* @return int cron_due_renewal_first_swhitch - 续费第一次提醒开关 1开启,0关闭
* @return int cron_due_renewal_first_day - 续费X天后到期第一次提醒
* @return int cron_due_renewal_second_swhitch - 续费第二次提醒开关 1开启,0关闭
* @return int cron_due_renewal_second_day - 续费X天后到期第二次提醒
* @return int cron_overdue_first_swhitch - 产品逾期第一次提醒开关 1开启,0关闭
* @return int cron_overdue_first_day - 产品逾期X天后第一次提醒
* @return int cron_overdue_second_swhitch - 产品逾期第二次提醒开关 1开启,0关闭
* @return int cron_overdue_second_day - 产品逾期X天后第二次提醒
* @return int cron_overdue_third_swhitch - 产品逾期第三次提醒开关 1开启,0关闭
* @return int cron_overdue_third_day - 产品逾期X天后第三次提醒
* @return int cron_ticket_close_swhitch - 自动关闭工单开关 1开启,0关闭
* @return int cron_ticket_close_day - 已回复状态的工单超过x小时后关闭
* @return int cron_aff_swhitch - 推介月报开关 1开启,0关闭
* @return int cron_order_overdue_swhitch - 订单未付款通知开关 1开启,0关闭 required
* @return int cron_order_overdue_day - 订单未付款X天后通知 required
* @return int cron_task_shell - 任务队列命令 required
* @return int cron_task_status - 任务队列最新状态:success成功,error失败 required
* @return int cron_order_unpaid_delete_swhitch - 订单自动删除开关 1开启,0关闭 required
* @return int cron_order_unpaid_delete_day - 订单未付款X天后自动删除 required
* @return int cron_day_start_time - 定时任务开始时间 required
*/
public function cronList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取自动化设置
$data=$ConfigurationModel->cronList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-5-10
* @title 保存自动化设置
* @desc 保存自动化设置
* @url /admin/v1/configuration/cron
* @method PUT
* @author xiong
* @version v1
* @return int cron_due_suspend_swhitch - 产品到期暂停开关1开启,0关闭 required
* @return int cron_due_suspend_day - 产品到期暂停X天后暂停 required
* @return int cron_due_unsuspend_swhitch - 财务原因产品暂停后付款自动解封开关1开启,0关闭 required
* @return int cron_due_terminate_swhitch - 产品到期删除开关1开启,0关闭 required
* @return int cron_due_terminate_day - 产品到期X天后删除 required
* @return int cron_due_renewal_first_swhitch - 续费第一次提醒开关1开启,0关闭 required
* @return int cron_due_renewal_first_day - 续费X天后到期第一次提醒 required
* @return int cron_due_renewal_second_swhitch - 续费第二次提醒开关1开启,0关闭 required
* @return int cron_due_renewal_second_day - 续费X天后到期第二次提醒 required
* @return int cron_overdue_first_swhitch - 产品逾期第一次提醒开关1开启,0关闭 required
* @return int cron_overdue_first_day - 产品逾期X天后第一次提醒 required
* @return int cron_overdue_second_swhitch - 产品逾期第二次提醒开关1开启,0关闭 required
* @return int cron_overdue_second_day - 产品逾期X天后第二次提醒 required
* @return int cron_overdue_third_swhitch - 产品逾期第三次提醒开关1开启,0关闭 required
* @return int cron_overdue_third_day - 产品逾期X天后第三次提醒 required
* @return int cron_ticket_close_swhitch - 自动关闭工单开关 1开启,0关闭 required
* @return int cron_ticket_close_day - 已回复状态的工单超过x小时后关闭 required
* @return int cron_aff_swhitch - 推介月报开关 1开启,0关闭 required
* @return int cron_order_overdue_swhitch - 订单未付款通知开关 1开启,0关闭 required
* @return int cron_order_overdue_day - 订单未付款X天后通知 required
* @return int cron_order_unpaid_delete_swhitch - 订单自动删除开关 1开启,0关闭 required
* @return int cron_order_unpaid_delete_day - 订单未付款X天后自动删除 required
* @return int cron_day_start_time - 定时任务开始时间 required
*/
public function cronUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('cron_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存验证码设置
$result = $ConfigurationModel->cronUpdate($param);
return json($result);
}
/**
* 时间 2022-08-12
* @title 获取主题设置
* @desc 获取主题设置
* @url /admin/v1/configuration/theme
* @method GET
* @author theworld
* @version v1
* @return string admin_theme - 后台主题
* @return string clientarea_theme - 会员中心主题
* @return string cart_theme - 购物车主题
* @return string cart_theme_mobile - 购物车主题手机端
* @return int web_switch - 官网开关0关闭1开启
* @return string web_theme - 官网主题
* @return array admin_theme_list - 后台主题列表
* @return string first_navigation - 一级导航名称
* @return string second_navigation - 二级导航名称
* @return string admin_theme_list[].name - 名称
* @return string admin_theme_list[].img - 图片
* @return array clientarea_theme_list - 会员中心主题列表
* @return string clientarea_theme_list[].name - 名称
* @return string clientarea_theme_list[].img - 图片
* @return array web_theme_list - 官网主题列表
* @return string web_theme_list[].name - 名称
* @return string web_theme_list[].img - 图片
* @return string cart_theme_mobile_list[].name - 名称
* @return string cart_theme_mobile_list[].img - 图片
*/
public function themeList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取主题设置
$data = $ConfigurationModel->themeList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-08-12
* @title 保存主题设置
* @desc 保存主题设置
* @url /admin/v1/configuration/theme
* @method PUT
* @author theworld
* @version v1
* @param string admin_theme - 后台主题 required
* @param string clientarea_theme - 会员中心主题 required
* @param string cart_theme - 购物车主题 required
* @param string clientarea_theme_mobile_switch - 是否开启购物车主题 required
* @param string cart_theme_mobile - 购物车主题手机端 required
* @param int web_switch - 官网开关0关闭1开启 required
* @param string web_theme - 官网主题 required
* @param string first_navigation - 一级导航名称
* @param string second_navigation - 二级导航名称
*/
public function themeUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('theme_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存主题设置
$result = $ConfigurationModel->themeUpdate($param);
return json($result);
}
/**
* 时间 2022-09-23
* @title 获取实名设置
* @desc 获取实名设置
* @url /admin/v1/configuration/certification
* @method GET
* @author wyh
* @version v1
* @return int certification_open - 实名认证是否开启:1开启默认,0关
* @return int certification_approval - 是否人工复审:1开启默认,0关
* @return int certification_notice - 审批通过后,是否通知客户:1通知默认,0否
* @return int certification_update_client_name - 是否自动更新姓名:1是,0否默认
* @return int certification_upload - 是否需要上传证件照:1是,0否默认
* @return int certification_update_client_phone - 手机一致性:1是,0否默认
* @return int certification_uncertified_suspended_host - 未认证暂停产品:1是,0否默认
*/
public function certificationList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取主题设置
$data = $ConfigurationModel->certificationList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-08-12
* @title 保存实名设置
* @desc 保存实名设置
* @url /admin/v1/configuration/certification
* @method PUT
* @author theworld
* @version v1
* @param int certification_open - 实名认证是否开启:1开启默认,0关 required
* @param int certification_approval - 是否人工复审:1开启默认,0关 required
* @param int certification_notice - 审批通过后,是否通知客户:1通知默认,0否 required
* @param int certification_update_client_name - 是否自动更新姓名:1是,0否默认 required
* @param int certification_upload - 是否需要上传证件照:1是,0否默认 required
* @param int certification_update_client_phone - 手机一致性:1是,0否默认 required
* @param int certification_uncertified_suspended_host - 未认证暂停产品:1是,0否默认 required
*/
public function certificationUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('certification_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存主题设置
$result = $ConfigurationModel->certificationUpdate($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 获取信息配置
* @desc 获取信息配置
* @url /admin/v1/configuration/info
* @method GET
* @author theworld
* @version v1
* @return string enterprise_name - 企业名称
* @return string enterprise_telephone - 企业电话
* @return string enterprise_mailbox - 企业邮箱
* @return string enterprise_qrcode - 企业二维码
* @return string online_customer_service_link - 在线客服链接
* @return string icp_info - ICP信息
* @return string icp_info_link - ICP信息信息链接
* @return string public_security_network_preparation - 公安网备
* @return string public_security_network_preparation_link - 公安网备链接
* @return string telecom_appreciation - 电信增值
* @return string copyright_info - 版权信息
* @return string official_website_logo - 官网LOGO
* @return string cloud_product_link - 云产品跳转链接
* @return string dcim_product_link - DCIM产品跳转链接
*/
public function infoList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取信息配置
$data = $ConfigurationModel->infoList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2023-02-28
* @title 保存信息配置
* @desc 保存信息配置
* @url /admin/v1/configuration/info
* @method PUT
* @author theworld
* @version v1
* @param string enterprise_name - 企业名称 required
* @param string enterprise_telephone - 企业电话 required
* @param string enterprise_mailbox - 企业邮箱 required
* @param string enterprise_qrcode - 企业二维码 required
* @param string online_customer_service_link - 在线客服链接 required
* @param string icp_info - ICP信息 required
* @param string icp_info_link - ICP信息信息链接 required
* @param string public_security_network_preparation - 公安网备 required
* @param string public_security_network_preparation_link - 公安网备链接 required
* @param string telecom_appreciation - 电信增值 required
* @param string copyright_info - 版权信息 required
* @param string official_website_logo - 官网LOGO required
* @param string cloud_product_link - 云产品跳转链接 required
* @param string dcim_product_link - DCIM产品跳转链接 required
*/
public function infoUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('info_update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存信息配置
$result = $ConfigurationModel->infoUpdate($param);
return json($result);
}
/**
* 时间 2023-09-07
* @title debug页面
* @desc debug页面
* @url /admin/v1/configuration/debug
* @method GET
* @author wyh
* @version v1
* @return string debug_model - 1开启debug模式
* @return string debug_model_auth - debug模式授权码
* @return string debug_model_expire_time - 到期时间
*/
public function debugInfo()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取信息配置
$data = $ConfigurationModel->debugInfo();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2023-09-07
* @title 保存debug页面
* @desc 保存debug页面
* @url /admin/v1/configuration/debug
* @method PUT
* @author wyh
* @version v1
* @param string debug_model - 1开启debug模式 required
*/
public function debug()
{
//接收参数
$param = $this->request->param();
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存信息配置
$result = $ConfigurationModel->debug($param);
return json($result);
}
/**
* 时间 2024-01-26
* @title 对象存储页面
* @desc 对象存储页面
* @url /admin/v1/configuration/oss
* @method GET
* @author wyh
* @version v1
* @return string oss_method - 对象存储方式,默认本地存储:LocalOss
* @return string oss_sms_plugin - 短信接口
* @return string oss_sms_plugin_template - 短信模板
* @return array oss_sms_plugin_admin - 短信通知人员
* @return string oss_mail_plugin - 邮件接口
* @return string oss_mail_plugin_template - 邮件模板
* @return array oss_mail_plugin_admin - 邮件通知人员
*/
public function getOssConfig()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取信息配置
$data = $ConfigurationModel->getOssConfig();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-01-26
* @title 保存对象存储页面
* @desc 保存对象存储页面
* @url /admin/v1/configuration/oss
* @method PUT
* @author wyh
* @version v1
* @param string oss_method - 对象存储方式,默认本地存储:LocalOss
* @param string oss_sms_plugin - 短信接口
* @param string oss_sms_plugin_template - 短信模板
* @param array oss_sms_plugin_admin - 短信通知人员
* @param string oss_mail_plugin - 邮件接口
* @param string oss_mail_plugin_template - 邮件模板
* @param array oss_mail_plugin_admin - 邮件通知人员
* @param string password - 当修改本地存储时,需要传此字段
*/
public function ossConfig()
{
//接收参数
$param = $this->request->param();
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存信息配置
$result = $ConfigurationModel->ossConfig($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 获取网站参数配置
* @desc 获取网站参数配置
* @url /admin/v1/configuration/web
* @method GET
* @author theworld
* @version v1
* @return string enterprise_name - 企业名称
* @return string enterprise_telephone - 企业电话
* @return string enterprise_mailbox - 企业邮箱
* @return string enterprise_qrcode - 企业二维码
* @return string online_customer_service_link - 在线客服链接
* @return string icp_info - ICP信息
* @return string icp_info_link - ICP信息链接
* @return string public_security_network_preparation - 公安网备
* @return string public_security_network_preparation_link - 公安网备链接
* @return string telecom_appreciation - 电信增值
* @return string copyright_info - 版权信息
* @return string official_website_logo - 官网LOGO
*/
public function webList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取网站参数配置
$data = $ConfigurationModel->webList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 保存网站参数配置
* @desc 保存网站参数配置
* @url /admin/v1/configuration/web
* @method PUT
* @author theworld
* @version v1
* @param string enterprise_name - 企业名称 required
* @param string enterprise_telephone - 企业电话 required
* @param string enterprise_mailbox - 企业邮箱 required
* @param string enterprise_qrcode - 企业二维码 required
* @param string online_customer_service_link - 在线客服链接 required
* @param string icp_info - ICP信息 required
* @param string icp_info_link - ICP信息信息链接 required
* @param string public_security_network_preparation - 公安网备 required
* @param string public_security_network_preparation_link - 公安网备链接 required
* @param string telecom_appreciation - 电信增值 required
* @param string copyright_info - 版权信息 required
* @param string official_website_logo - 官网LOGO required
*/
public function webUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('web')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存网站参数配置
$result = $ConfigurationModel->webUpdate($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 获取云服务器配置
* @desc 获取云服务器配置
* @url /admin/v1/configuration/cloud_server
* @method GET
* @author theworld
* @version v1
* @return int cloud_server_more_offers - 更多优惠0关闭1开启
*/
public function cloudServerList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取云服务器配置
$data = $ConfigurationModel->cloudServerList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 保存云服务器配置
* @desc 保存云服务器配置
* @url /admin/v1/configuration/cloud_server
* @method PUT
* @author theworld
* @version v1
* @param int cloud_server_more_offers - 更多优惠0关闭1开启 required
*/
public function cloudServerUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('cloud_server')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存云服务器配置
$result = $ConfigurationModel->cloudServerUpdate($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 获取物理服务器配置
* @desc 获取物理服务器配置
* @url /admin/v1/configuration/physical_server
* @method GET
* @author theworld
* @version v1
* @return int physical_server_more_offers - 更多优惠0关闭1开启
*/
public function physicalServerList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取物理服务器配置
$data = $ConfigurationModel->physicalServerList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 保存物理服务器配置
* @desc 保存物理服务器配置
* @url /admin/v1/configuration/physical_server
* @method PUT
* @author theworld
* @version v1
* @param int physical_server_more_offers - 更多优惠0关闭1开启 required
*/
public function physicalServerUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('physical_server')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存物理服务器配置
$result = $ConfigurationModel->physicalServerUpdate($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 获取ICP配置
* @desc 获取ICP配置
* @url /admin/v1/configuration/icp
* @method GET
* @author theworld
* @version v1
* @return int icp_product_id - 购买/咨询商品ID
*/
public function icpList()
{
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//获取ICP配置
$data = $ConfigurationModel->icpList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 保存ICP配置
* @desc 保存ICP配置
* @url /admin/v1/configuration/icp
* @method PUT
* @author theworld
* @version v1
* @param int icp_product_id - 购买/咨询商品ID required
*/
public function icpUpdate()
{
//接收参数
$param = $this->request->param();
//参数验证
if (!$this->validate->scene('icp')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$ConfigurationModel = new ConfigurationModel();
//保存ICP配置
$result = $ConfigurationModel->icpUpdate($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ConsultController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\ConsultModel;
/**
* @title 方案咨询
* @desc 方案咨询
* @use app\admin\controller\ConsultController
*/
class ConsultController extends AdminBaseController
{
/**
* 时间 2023-02-28
* @title 方案咨询列表
* @desc 方案咨询列表
* @author theworld
* @version v1
* @url /admin/v1/consult
* @method GET
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 方案咨询
* @return int list[].id - 方案咨询ID
* @return string list[].matter - 咨询事项
* @return string list[].contact - 联系人
* @return string list[].company - 公司名称
* @return string list[].phone - 联系电话
* @return string list[].email - 联系邮箱
* @return int list[].client_id - 用户ID
* @return string list[].username - 用户名
* @return int list[].create_time - 咨询时间
* @return int count - 方案咨询总数
*/
public function list()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$ConsultModel = new ConsultModel();
// 获取方案咨询列表
$data = $ConsultModel->consultList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/FeedbackController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\FeedbackModel;
use app\common\model\FeedbackTypeModel;
use app\admin\validate\FeedbackTypeValidate;
/**
* @title 意见反馈
* @desc 意见反馈
* @use app\admin\controller\FeedbackController
*/
class FeedbackController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new FeedbackTypeValidate();
}
/**
* 时间 2023-02-28
* @title 意见反馈列表
* @desc 意见反馈列表
* @author theworld
* @version v1
* @url /admin/v1/feedback
* @method GET
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 意见反馈
* @return int list[].id - 意见反馈ID
* @return string list[].title - 标题
* @return string list[].type - 类型
* @return string list[].description - 描述
* @return int list[].client_id - 用户ID
* @return string list[].username - 用户名
* @return string list[].contact - 联系方式
* @return array list[].attachment - 附件
* @return int list[].create_time - 反馈时间
* @return int count - 意见反馈总数
*/
public function feedbackList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$FeedbackModel = new FeedbackModel();
// 获取意见反馈列表
$data = $FeedbackModel->feedbackList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2023-02-28
* @title 获取意见反馈类型
* @desc 获取意见反馈类型
* @author theworld
* @version v1
* @url /admin/v1/feedback/type
* @method GET
* @return array list - 意见反馈类型
* @return int list[].id - 意见反馈类型ID
* @return string list[].name - 名称
* @return string list[].description - 描述
*/
public function feedbackTypeList()
{
// 实例化模型类
$FeedbackTypeModel = new FeedbackTypeModel();
// 获取意见反馈类型
$data = $FeedbackTypeModel->feedbackTypeList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2023-02-28
* @title 添加意见反馈类型
* @desc 添加意见反馈类型
* @author theworld
* @version v1
* @url /admin/v1/feedback/type
* @method POST
* @param string name - 名称 required
* @param string description - 描述 required
*/
public function createFeedbackType()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$FeedbackTypeModel = new FeedbackTypeModel();
// 新建意见反馈类型
$result = $FeedbackTypeModel->createFeedbackType($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 编辑意见反馈类型
* @desc 编辑意见反馈类型
* @author theworld
* @version v1
* @url /admin/v1/feedback/type/:id
* @method PUT
* @param int id - 意见反馈类型ID required
* @param string name - 名称 required
* @param string description - 描述 required
*/
public function updateFeedbackType()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$FeedbackTypeModel = new FeedbackTypeModel();
// 修改意见反馈类型
$result = $FeedbackTypeModel->updateFeedbackType($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 删除意见反馈类型
* @desc 删除意见反馈类型
* @author theworld
* @version v1
* @url /admin/v1/feedback/type/:id
* @method DELETE
* @param int id - 意见反馈类型ID required
*/
public function deleteFeedbackType()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$FeedbackTypeModel = new FeedbackTypeModel();
// 删除意见反馈类型
$result = $FeedbackTypeModel->deleteFeedbackType($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/FriendlyLinkController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\FriendlyLinkModel;
use app\admin\validate\FriendlyLinkValidate;
/**
* @title 友情链接
* @desc 友情链接
* @use app\admin\controller\FriendlyLinkController
*/
class FriendlyLinkController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new FriendlyLinkValidate();
}
/**
* 时间 2023-02-28
* @title 获取友情链接
* @desc 获取友情链接
* @author theworld
* @version v1
* @url /admin/v1/friendly_link
* @method GET
* @return array list - 友情链接
* @return int list[].id - 友情链接ID
* @return string list[].name - 名称
* @return string list[].url - 链接地址
*/
public function list()
{
// 实例化模型类
$FriendlyLinkModel = new FriendlyLinkModel();
// 获取友情链接
$data = $FriendlyLinkModel->friendlyLinkList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2023-02-28
* @title 添加友情链接
* @desc 添加友情链接
* @author theworld
* @version v1
* @url /admin/v1/friendly_link
* @method POST
* @param string name - 名称 required
* @param string url - 链接地址 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$FriendlyLinkModel = new FriendlyLinkModel();
// 新建友情链接
$result = $FriendlyLinkModel->createFriendlyLink($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 编辑友情链接
* @desc 编辑友情链接
* @author theworld
* @version v1
* @url /admin/v1/friendly_link/:id
* @method PUT
* @param int id - 友情链接ID required
* @param string name - 名称 required
* @param string url - 链接地址 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$FriendlyLinkModel = new FriendlyLinkModel();
// 修改友情链接
$result = $FriendlyLinkModel->updateFriendlyLink($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 删除友情链接
* @desc 删除友情链接
* @author theworld
* @version v1
* @url /admin/v1/friendly_link/:id
* @method DELETE
* @param int id - 友情链接ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$FriendlyLinkModel = new FriendlyLinkModel();
// 删除友情链接
$result = $FriendlyLinkModel->deleteFriendlyLink($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/HonorController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\HonorModel;
use app\admin\validate\HonorValidate;
/**
* @title 荣誉资质
* @desc 荣誉资质
* @use app\admin\controller\HonorController
*/
class HonorController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new HonorValidate();
}
/**
* 时间 2023-02-28
* @title 获取荣誉资质
* @desc 获取荣誉资质
* @author theworld
* @version v1
* @url /admin/v1/honor
* @method GET
* @return array list - 荣誉资质
* @return int list[].id - 荣誉资质ID
* @return string list[].name - 名称
* @return string list[].img - 图片地址
*/
public function list()
{
// 实例化模型类
$HonorModel = new HonorModel();
// 获取荣誉资质
$data = $HonorModel->honorList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2023-02-28
* @title 添加荣誉资质
* @desc 添加荣誉资质
* @author theworld
* @version v1
* @url /admin/v1/honor
* @method POST
* @param string name - 名称 required
* @param string img - 图片地址 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$HonorModel = new HonorModel();
// 新建荣誉资质
$result = $HonorModel->createHonor($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 编辑荣誉资质
* @desc 编辑荣誉资质
* @author theworld
* @version v1
* @url /admin/v1/honor/:id
* @method PUT
* @param int id - 荣誉资质ID required
* @param string name - 名称 required
* @param string img - 图片地址 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$HonorModel = new HonorModel();
// 修改荣誉资质
$result = $HonorModel->updateHonor($param);
return json($result);
}
/**
* 时间 2023-02-28
* @title 删除荣誉资质
* @desc 删除荣誉资质
* @author theworld
* @version v1
* @url /admin/v1/honor/:id
* @method DELETE
* @param int id - 荣誉资质ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$HonorModel = new HonorModel();
// 删除荣誉资质
$result = $HonorModel->deleteHonor($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/HostController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\HostModel;
use app\admin\validate\HostValidate;
use app\common\model\SelfDefinedFieldModel;
use app\common\model\HostIpModel;
/**
* @title 产品管理
* @desc 产品管理
* @use app\admin\controller\HostController
*/
class HostController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new HostValidate();
}
/**
* 时间 2022-05-13
* @title 产品列表
* @desc 产品列表
* @author theworld
* @version v1
* @url /admin/v1/host
* @method GET
* @param string keywords - 关键字,搜索范围:产品ID,商品名称,标识,用户名,邮箱,手机号
* @param string billing_cycle - 付款周期
* @param int client_id - 用户ID
* @param int product_id - 产品ID
* @param string status - 状态Unpaid未付款Pending开通中Active已开通Suspended已暂停Deleted已删除Failed开通失败
* @param int start_time - 开始时间
* @param int end_time - 结束时间
* @param int product_id - 商品ID
* @param string name - 标识
* @param string username - 用户名
* @param string email - 邮箱
* @param string phone - 手机号
* @param int server_id - 接口ID
* @param string tab - 状态using使用中expiring即将到期overdue已逾期deleted已删除
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby id 排序(id,renew_amount,due_time,first_payment_amount,active_time,client_id,reg_time)
* @param string sort - 升/降序 asc,desc
* @return array list - 产品
* @return int list[].id - 产品ID
* @return int list[].client_id - 用户ID
* @return int list[].client_name - 用户名
* @return string list[].email - 邮箱
* @return string list[].phone_code - 国际电话区号
* @return string list[].phone - 手机号
* @return string list[].company - 公司
* @return int list[].product_id - 商品ID
* @return string list[].product_name - 商品名称
* @return string list[].name - 标识
* @return int list[].active_time - 开通时间
* @return int list[].due_time - 到期时间
* @return string list[].first_payment_amount - 金额
* @return string list[].billing_cycle - 计费方式(免费free,一次onetime,周期先付recurring_prepayment,周期后付recurring_postpaid)
* @return string list[].billing_cycle_name - 周期
* @return string list[].status - 状态Unpaid未付款Pending开通中Active已开通Suspended已暂停Deleted已删除Failed开通失败
* @return string list[].renew_amount - 续费金额
* @return string list[].client_notes - 用户备注
* @return int list[].ip_num - IP数量
* @return string list[].dedicate_ip - 主IP
* @return string list[].assign_ip - 附加IP(英文逗号分隔)
* @return string list[].server_name - 商品接口
* @return string list[].admin_notes - 管理员备注
* @return string list[].base_price - 当前周期原价
* @return int list[].client_status - 用户是否启用0:禁用,1:正常
* @return int list[].reg_time - 用户注册时间
* @return string list[].country - 国家
* @return string list[].address - 地址
* @return string list[].language - 语言
* @return string list[].notes - 备注
* @return bool list[].certification - 是否实名认证true是false否(显示字段有certification返回)
* @return string list[].certification_type - 实名类型person个人company企业(显示字段有certification返回)
* @return string list[].client_level - 用户等级(显示字段有client_level返回)
* @return string list[].client_level_color - 用户等级颜色(显示字段有client_level返回)
* @return string list[].addon_client_custom_field_[id] - 用户自定义字段(显示字段有addon_client_custom_field_[id]返回,[id]为用户自定义字段ID)
* @return string list[].self_defined_field_[id] - 商品自定义字段(显示字段有self_defined_field_[id]返回,[id]为商品自定义字段ID)
* @return int count - 产品总数
* @return int expiring_count - 即将到期产品数量
*/
public function hostList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$HostModel = new HostModel();
// 获取产品列表
$data = $HostModel->hostList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-13
* @title 产品详情
* @desc 产品详情
* @author theworld
* @version v1
* @url /admin/v1/host/:id
* @method GET
* @param int id - 产品ID required
* @return object host - 产品
* @return int host.id - 产品ID
* @return int host.order_id - 订单ID
* @return int host.product_id - 商品ID
* @return int host.server_id - 接口ID
* @return string host.name - 标识
* @return string host.notes - 备注
* @return string host.first_payment_amount - 订购金额
* @return string host.renew_amount - 续费金额
* @return string host.billing_cycle - 计费周期
* @return string host.billing_cycle_name - 模块计费周期名称
* @return string host.billing_cycle_time - 模块计费周期时间
* @return int host.active_time - 开通时间
* @return int host.due_time - 到期时间
* @return string host.status - 状态Unpaid未付款Pending开通中Active已开通Suspended已暂停Deleted已删除Failed开通失败
* @return string host.suspend_type - 暂停类型,overdue到期暂停,overtraffic超流暂停,certification_not_complete实名未完成,other其他
* @return string host.suspend_reason - 暂停原因
* @return string host.client_notes - 用户备注
* @return int host.ratio_renew - 是否开启比例续费:0否,1是
* @return string host.base_price - 购买周期原价
* @return array status - 状态Unpaid未付款Pending开通中Active已开通Suspended已暂停Deleted已删除Failed开通失败
* @return string host.product_name - 商品名称
* @return int host.agent - 代理产品0否1是
* @return string host.upstream_host_id - 上游产品ID
* @return int self_defined_field[].id - 自定义字段ID
* @return string self_defined_field[].field_name - 字段名称
* @return string self_defined_field[].field_type - 字段类型(text=文本框,link=链接,password=密码,dropdown=下拉,checkbox=勾选框,textarea=文本区)
* @return string self_defined_field[].description - 字段描述
* @return string self_defined_field[].field_option - 下拉选项
* @return int self_defined_field[].is_required - 是否必填(0=否,1=是)
* @return string self_defined_field[].value - 当前值
*/
public function index()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$SelfDefinedFieldModel = new SelfDefinedFieldModel();
// 获取产品
$host = $HostModel->indexHost($param['id']);
$selfDefinedField = $SelfDefinedFieldModel->showAdminHostDetailField(['host_id'=>$param['id']]);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => [
'host' => $host,
'status' => config('idcsmart.host_status'),
'self_defined_field'=> $selfDefinedField,
]
];
return json($result);
}
/**
* 时间 2022-05-13
* @title 修改产品
* @desc 修改产品
* @author theworld
* @version v1
* @url /admin/v1/host/:id
* @method put
* @param int id - 产品ID required
* @param int product_id - 商品ID required
* @param int server_id - 接口
* @param string name - 标识
* @param string notes - 备注
* @param string upstream_host_id - 上游产品ID
* @param float first_payment_amount - 订购金额 required
* @param float renew_amount - 续费金额 required
* @param string billing_cycle - 计费周期 required
* @param string active_time - 开通时间
* @param string due_time - 到期时间
* @param string status - 状态Unpaid未付款Pending开通中Active已开通Suspended已暂停Deleted已删除Failed开通失败
* @param object self_defined_field - 自定义字段({"5":"123"},5是自定义字段ID,123是填写的内容)
* @param int host.ratio_renew - 是否开启比例续费:0否,1是
* @param float host.base_price - 购买周期原价
* @param object customfield - 自定义字段
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$HostModel = new HostModel();
// 修改产品
$result = $HostModel->updateHost($param);
return json($result);
}
/**
* 时间 2022-05-13
* @title 删除产品
* @desc 删除产品
* @author theworld
* @version v1
* @url /admin/v1/host/:id
* @method DELETE
* @param int id - 产品ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
// 删除产品
$result = $HostModel->deleteHost($param);
return json($result);
}
/**
* 时间 2022-05-13
* @title 批量删除产品
* @desc 批量删除产品
* @author theworld
* @version v1
* @url /admin/v1/host
* @method DELETE
* @param array id - 产品ID required
* @param int module_delete - 是否执行模块删除,1是0否 required
*/
public function batchDelete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
// 批量删除产品
$result = $HostModel->batchDeleteHost($param);
return json($result);
}
/**
* 时间 2022-05-30
* @title 模块开通
* @desc 模块开通
* @url /admin/v1/host/:id/module/create
* @method POST
* @author hh
* @version v1
* @param int id - 产品ID required
*/
public function createAccount()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->createAccount($param['id']);
return json($result);
}
/**
* 时间 2022-05-30
* @title 模块暂停
* @desc 模块暂停
* @url /admin/v1/host/:id/module/suspend
* @method POST
* @author hh
* @version v1
* @param int id - 产品ID required
* @param string suspend_type - 暂停类型(overdue=到期暂停,overtraffic=超流暂停,certification_not_complete=实名未完成,other=其他) required
* @param string suspend_reason - 暂停原因
*/
public function suspendAccount()
{
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('suspend')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->suspendAccount($param);
return json($result);
}
/**
* 时间 2022-05-30
* @title 模块解除暂停
* @desc 模块解除暂停
* @url /admin/v1/host/:id/module/unsuspend
* @method POST
* @author hh
* @version v1
* @param int id - 产品ID required
*/
public function unsuspendAccount()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->unsuspendAccount($param['id']);
return json($result);
}
/**
* 时间 2022-05-30
* @title 模块删除
* @desc 模块删除
* @url /admin/v1/host/:id/module/terminate
* @method POST
* @author hh
* @version v1
* @param int id - 产品ID required
*/
public function terminateAccount()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->terminateAccount($param['id']);
return json($result);
}
/**
* 时间 2022-05-30
* @title 产品内页模块
* @desc 产品内页模块
* @url /admin/v1/host/:id/module
* @method GET
* @author hh
* @version v1
* @param int id - 产品ID required
* @return string content - 模块输出内容
*/
public function adminArea()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->adminArea($param['id']);
return json($result);
}
/**
* 时间 2022-10-26
* @title 获取用户所有产品
* @desc 获取用户所有产品
* @author theworld
* @version v1
* @url /admin/v1/client/:id/host/all
* @method GET
* @param int id - 用户ID required
* @return array list - 产品
* @return int list[].id - 产品ID
* @return int list[].product_id - 商品ID
* @return string list[].product_name - 商品名称
* @return string list[].name - 标识
* @return int count - 产品总数
*/
public function clientHost()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
// 获取用户产品
$data = $HostModel->clientHost($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2023-01-31
* @title 模块按钮输出
* @desc 模块按钮输出
* @url /admin/v1/host/:id/module/button
* @method GET
* @author hh
* @version v1
* @param int id - 产品ID require
* @return string button[].type - 按钮类型(暂时都是default)
* @return string button[].func - 按钮功能(create=开通,suspend=暂停,unsuspend=解除暂停,terminate=删除,renew=续费)
* @return string button[].name - 名称
*/
public function moduleButton()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->moduleAdminButton($param);
return json($result);
}
/**
* 时间 2023-04-14
* @title 产品内页模块输入框输出
* @desc 产品内页模块输入框输出
* @url /admin/v1/host/:id/module/field
* @method GET
* @author hh
* @version v1
* @param int id - 产品ID require
* @return string [].name - 配置小标题
* @return string [].field[].name - 名称
* @return string [].field[].key - 标识(不要重复)
* @return string [].field[].value - 当前值
* @return bool [].field[].disable - 状态(false=可修改,true=不可修改)
*/
public function moduleField()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->moduleField($param['id']);
return json($result);
}
/**
* 时间 2024-01-10
* @title 产品IP详情
* @desc 产品IP详情
* @url /admin/v1/host/:id/ip
* @method GET
* @author hh
* @version v1
* @param int id - 产品ID require
* @return string dedicate_ip - 主IP
* @return string assign_ip - 附加IP(英文逗号分隔)
* @return int ip_num - IP数量
*/
public function hostIpIndex()
{
$param = $this->request->param();
$HostIpModel = new HostIpModel();
$data = $HostIpModel->getHostIp(['host_id'=>$param['id']]);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2024-05-20
* @title 后台产品内页实例操作输出
* @desc 后台产品内页实例操作输出
* @url /admin/v1/host/:id/module_operate
* @method GET
* @author hh
* @version v1
* @param int id - 产品ID required
* @return string content - 模块输出内容
*/
public function adminAreaModuleOperate()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->adminAreaModuleOperate($param['id']);
return json($result);
}
/**
* 时间 2024-06-06
* @title 拉取上游信息
* @desc 拉取上游信息
* @url /admin/v1/host/:id/module/sync
* @method GET
* @author wyh
* @version v1
* @param int id - 产品ID required
*/
public function syncAccount()
{
$param = $this->request->param();
// 实例化模型类
$HostModel = new HostModel();
$result = $HostModel->syncAccount($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/IcpServiceProductController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\IcpServiceProductModel;
use app\admin\validate\IcpServiceProductValidate;
/**
* @title 模板控制器-ICP拓展服务商品
* @desc 模板控制器-ICP拓展服务商品
* @use app\admin\controller\IcpServiceProductController
*/
class IcpServiceProductController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new IcpServiceProductValidate();
}
/**
* 时间 2024-04-02
* @title ICP拓展服务商品列表
* @desc ICP拓展服务商品列表
* @author theworld
* @version v1
* @url /admin/v1/icp_service_product
* @method GET
* @return array list - 商品
* @return int list[].id - 商品ID
* @return string list[].title - 标题
* @return string list[].description - 描述
* @return string list[].price - 价格
* @return int list[].product_id - 关联商品ID
*/
public function list()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$IcpServiceProductModel = new IcpServiceProductModel();
// ICP拓展服务商品列表
$data = $IcpServiceProductModel->productList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 创建ICP拓展服务商品
* @desc 创建ICP拓展服务商品
* @author theworld
* @version v1
* @url /admin/v1/icp_service_product
* @method POST
* @param string title - 标题 required
* @param string description - 描述 required
* @param float price - 价格 required
* @param int product_id - 关联商品ID required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$IcpServiceProductModel = new IcpServiceProductModel();
// 创建ICP拓展服务商品
$result = $IcpServiceProductModel->createProduct($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 编辑ICP拓展服务商品
* @desc 编辑ICP拓展服务商品
* @author theworld
* @version v1
* @url /admin/v1/icp_service_product/:id
* @method PUT
* @param int id - 商品ID required
* @param string title - 标题 required
* @param string description - 描述 required
* @param float price - 价格 required
* @param int product_id - 关联商品ID required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$IcpServiceProductModel = new IcpServiceProductModel();
// 编辑ICP拓展服务商品
$result = $IcpServiceProductModel->updateProduct($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除ICP拓展服务商品
* @desc 删除ICP拓展服务商品
* @author theworld
* @version v1
* @url /admin/v1/icp_service_product/:id
* @method DELETE
* @param int id - 商品ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$IcpServiceProductModel = new IcpServiceProductModel();
// 删除ICP拓展服务商品
$result = $IcpServiceProductModel->deleteProduct($param['id']);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/IndexBannerController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\IndexBannerModel;
use app\admin\validate\IndexBannerValidate;
/**
* @title 模板控制器-首页轮播图
* @desc 模板控制器-首页轮播图
* @use app\admin\controller\IndexBannerController
*/
class IndexBannerController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new IndexBannerValidate();
}
/**
* 时间 2024-04-02
* @title 首页轮播图列表
* @desc 首页轮播图列表
* @author theworld
* @version v1
* @url /admin/v1/index_banner
* @method GET
* @return array list - 轮播图
* @return int list[].id - 轮播图ID
* @return string list[].img - 图片
* @return string list[].url - 跳转链接
* @return int list[].start_time - 展示开始时间
* @return int list[].end_time - 展示结束时间
* @return int list[].show - 是否展示0否1是
* @return string list[].notes - 备注
*/
public function list()
{
// 实例化模型类
$IndexBannerModel = new IndexBannerModel();
// 首页轮播图列表
$data = $IndexBannerModel->bannerList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2024-04-02
* @title 添加首页轮播图
* @desc 添加首页轮播图
* @author theworld
* @version v1
* @url /admin/v1/index_banner
* @method POST
* @param string img - 图片 required
* @param string url - 跳转链接 required
* @param int start_time - 展示开始时间 required
* @param int end_time - 展示结束时间 required
* @param int show - 是否展示0否1是 required
* @param string notes - 备注
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$IndexBannerModel = new IndexBannerModel();
// 添加首页轮播图
$result = $IndexBannerModel->createBanner($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 修改首页轮播图
* @desc 修改首页轮播图
* @author theworld
* @version v1
* @url /admin/v1/index_banner/:id
* @method PUT
* @param int id - 轮播图ID required
* @param string img - 图片 required
* @param string url - 跳转链接 required
* @param int start_time - 展示开始时间 required
* @param int end_time - 展示结束时间 required
* @param int show - 是否展示0否1是 required
* @param string notes - 备注
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$IndexBannerModel = new IndexBannerModel();
// 修改首页轮播图
$result = $IndexBannerModel->updateBanner($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 删除首页轮播图
* @desc 删除首页轮播图
* @author theworld
* @version v1
* @url /admin/v1/index_banner/:id
* @method DELETE
* @param int id - 轮播图ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$IndexBannerModel = new IndexBannerModel();
// 删除首页轮播图
$result = $IndexBannerModel->deleteBanner($param['id']);
return json($result);
}
/**
* 时间 2024-04-02
* @title 展示首页轮播图
* @desc 展示首页轮播图
* @author theworld
* @version v1
* @url /admin/v1/index_banner/:id/show
* @method PUT
* @param int id - 轮播图ID required
* @param int show - 是否展示0否1是 required
*/
public function show()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('show')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$IndexBannerModel = new IndexBannerModel();
// 展示首页轮播图
$result = $IndexBannerModel->showBanner($param);
return json($result);
}
/**
* 时间 2024-04-02
* @title 首页轮播图排序
* @desc 首页轮播图排序
* @author theworld
* @version v1
* @url /admin/v1/index_banner/order
* @method PUT
* @param array id - 轮播图ID required
*/
public function order()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$IndexBannerModel = new IndexBannerModel();
// 首页轮播图排序
$result = $IndexBannerModel->orderBanner($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/LogController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\SystemLogModel;
use app\admin\model\EmailLogModel;
use app\admin\model\SmsLogModel;
/**
* @title 系统日志管理
* @desc 系统日志管理
* @use app\admin\controller\LogController
*/
class LogController extends AdminBaseController
{
/**
* 时间 2022-05-16
* @title 系统日志列表
* @desc 系统日志列表
* @author theworld
* @version v1
* @url /admin/v1/log/system
* @method GET
* @param string keywords - 关键字,搜索范围:描述
* @param int client_id - 用户ID
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 系统日志
* @return int list[].id - 系统日志ID
* @return string list[].description - 描述
* @return int list[].create_time - 时间
* @return string list[].ip - IP
* @return string list[].user_type - 操作人类型client用户admin管理员system系统cron定时任务
* @return int list[].user_id - 操作人ID
* @return string list[].user_name - 操作人名称
* @return int count - 系统日志总数
*/
public function systemLogList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$SystemLogModel = new SystemLogModel();
// 获取系统日志列表
$data = $SystemLogModel->systemLogList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-17
* @title 邮件日志列表
* @desc 邮件日志列表
* @author theworld
* @version v1
* @url /admin/v1/log/notice/email
* @method GET
* @param string keywords - 关键字,搜索范围:标题
* @param int client_id - 用户ID
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 邮件日志
* @return int list[].id - 邮件日志ID
* @return string list[].subject - 标题
* @return string list[].message - 内容
* @return int list[].create_time - 时间
* @return string list[].to - 邮箱
* @return string list[].user_type - 接收人类型client用户admin管理员
* @return int list[].user_id - 接收人ID
* @return string list[].user_name - 接收人名称
* @return int list[].status - 状态,1成功,0失败
* @return string list[].fail_reason - 失败原因
* @return int count - 邮件日志总数
*/
public function emailLogList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$EmailLogModel = new EmailLogModel();
// 获取邮件日志列表
$data = $EmailLogModel->emailLogList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-17
* @title 短信日志列表
* @desc 短信日志列表
* @author theworld
* @version v1
* @url /admin/v1/log/notice/sms
* @method GET
* @param string keywords - 关键字,搜索范围:内容
* @param int client_id - 用户ID
* @param int page - 页数
* @param int limit - 每页条数
* @param string orderby - 排序 id
* @param string sort - 升/降序 asc,desc
* @return array list - 短信日志
* @return int list[].id - 短信日志ID
* @return string list[].content - 内容
* @return int list[].create_time - 时间
* @return string list[].user_type - 接收人类型client用户admin管理员
* @return int list[].user_id - 接收人ID
* @return string list[].user_name - 接收人名称
* @return int list[].phone_code - 国际电话区号
* @return string list[].phone - 手机号
* @return int list[].status - 状态,1成功,0失败
* @return string list[].fail_reason - 失败原因
* @return int count - 短信日志总数
*/
public function smsLogList()
{
// 合并分页参数
$param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
// 实例化模型类
$SmsLogModel = new SmsLogModel();
// 获取短信日志列表
$data = $SmsLogModel->smsLogList($param);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/MenuController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\MenuModel;
use app\admin\validate\MenuValidate;
/**
* @title 导航管理
* @desc 导航管理
* @use app\admin\controller\MenuController
*/
class MenuController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new MenuValidate();
}
/**
* 时间 2022-08-05
* @title 获取后台导航
* @desc 获取后台导航
* @author theworld
* @version v1
* @url /admin/v1/menu/admin
* @method GET
* @return array menu - 菜单
* @return int menu[].id - 菜单ID
* @return string menu[].type - 菜单类型system系统plugin插件custom自定义
* @return string menu[].name - 名称
* @return object menu[].language - 语言
* @return string menu[].url - 网址
* @return string menu[].icon - 图标
* @return int menu[].nav_id - 导航ID
* @return int menu[].parent_id - 父ID
* @return array menu[].child - 子菜单
* @return int menu[].child[].id - 菜单ID
* @return string menu[].child[].type - 菜单类型system系统plugin插件custom自定义
* @return string menu[].child[].name - 名称
* @return object menu[].child[].language - 语言
* @return string menu[].child[].icon - 图标
* @return string menu[].child[].url - 网址
* @return int menu[].child[].nav_id - 导航ID
* @return int menu[].child[].parent_id - 父ID
* @return array language - 语言
* @return string language[].display_name - 语言名称
* @return string language[].display_flag - 国家代码
* @return string language[].display_img - 图片
* @return string language[].display_lang - 语言标识
* @return array system_nav - 系统默认导航
* @return string system_nav[].id - 导航ID
* @return string system_nav[].name - 名称
* @return string system_nav[].url - 网址
* @return array plugin_nav - 插件默认导航
* @return string plugin_nav[].title - 插件标题
* @return array plugin_nav[].nav - 插件导航
* @return int plugin_nav[].nav[].id - 导航ID
* @return string plugin_nav[].nav[].name - 名称
* @return string plugin_nav[].nav[].url - 网址
*/
public function getAdminMenu()
{
// 实例化模型类
$MenuModel = new MenuModel();
// 获取后台导航
$data = $MenuModel->getAdminMenu();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-08-05
* @title 获取前台导航
* @desc 获取前台导航
* @author theworld
* @version v1
* @url /admin/v1/menu/home
* @method GET
* @return array menu - 菜单
* @return int menu[].id - 菜单ID
* @return string menu[].type - 菜单类型system系统plugin插件custom自定义module模块embedded内嵌
* @return string menu[].name - 名称
* @return object menu[].language - 语言
* @return string menu[].url - 网址
* @return int menu[].second_reminder - 二次提醒0否1是
* @return string menu[].icon - 图标
* @return int menu[].nav_id - 导航ID
* @return int menu[].parent_id - 父ID
* @return string menu[].module - 模块类型
* @return array menu[].product_id - 包含商品
* @return array menu[].child - 子菜单
* @return int menu[].child[].id - 菜单ID
* @return string menu[].child[].type - 菜单类型system系统plugin插件custom自定义module模块embedded内嵌
* @return string menu[].child[].name - 名称
* @return object menu[].child[].language - 语言
* @return string menu[].child[].url - 网址
* @return int menu[].child[].second_reminder - 二次提醒0否1是
* @return string menu[].child[].icon - 图标
* @return int menu[].child[].nav_id - 导航ID
* @return int menu[].child[].parent_id - 父ID
* @return string menu[].child[].module - 模块类型
* @return array menu[].child[].product_id - 包含商品
* @return array language - 语言
* @return string language[].display_name - 语言名称
* @return string language[].display_flag - 国家代码
* @return string language[].display_img - 图片
* @return string language[].display_lang - 语言标识
* @return array system_nav - 系统默认导航
* @return string system_nav[].id - 导航ID
* @return string system_nav[].name - 名称
* @return string system_nav[].url - 网址
* @return array plugin_nav - 插件默认导航
* @return string plugin_nav[].title - 插件标题
* @return array plugin_nav[].nav - 插件导航
* @return int plugin_nav[].nav[].id - 导航ID
* @return string plugin_nav[].nav[].name - 名称
* @return string plugin_nav[].nav[].url - 网址
* @return array module - 模块
* @return string module[].name - 模块名称
* @return string module[].display_name - 模块显示名称
* @return array res_module - 上游模块
* @return string res_module[].name - 上游模块名称
* @return string res_module[].display_name - 上游模块显示名称
*/
public function getHomeMenu()
{
// 实例化模型类
$MenuModel = new MenuModel();
// 获取前台导航
$data = $MenuModel->getHomeMenu();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data,
];
return json($result);
}
/**
* 时间 2022-08-05
* @title 保存后台导航
* @desc 保存后台导航
* @author theworld
* @version v1
* @url /admin/v1/menu/admin
* @method PUT
* @param array menu - 菜单 required
* @param string menu[].type - 菜单类型system系统plugin插件custom自定义 required
* @param string menu[].name - 名称 required
* @param object menu[].language - 语言 required
* @param string menu[].url - 网址 菜单类型为自定义时需要传递
* @param string menu[].icon - 图标
* @param int menu[].nav_id - 导航ID 菜单类型不为自定义时需要传递
* @param array menu[].child - 子菜单 required
* @param string menu[].child[].type - 菜单类型system系统plugin插件custom自定义 required
* @param string menu[].child[].name - 名称 required
* @param object menu[].child[].language - 语言 required
* @param string menu[].child[].url - 网址 菜单类型为自定义时需要传递
* @param string menu[].child[].icon - 图标
* @param int menu[].child[].nav_id - 导航ID 菜单类型不为自定义时需要传递
*/
public function saveAdminMenu()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('save')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$MenuModel = new MenuModel();
// 保存后台导航
$result = $MenuModel->saveAdminMenu($param);
return json($result);
}
/**
* 时间 2022-08-05
* @title 保存前台导航
* @desc 保存前台导航
* @author theworld
* @version v1
* @url /admin/v1/menu/home
* @method PUT
* @param array menu - 菜单 required
* @param string menu[].type - 菜单类型system系统plugin插件custom自定义module模块res_module上游模块embedded内嵌 required
* @param string menu[].name - 名称 required
* @param object menu[].language - 语言 required
* @param string menu[].url - 网址 菜单类型为自定义时需要传递
* @param int menu[].second_reminder - 二次提醒0否1是 菜单类型为自定义时需要传递
* @param string menu[].icon - 图标
* @param int menu[].nav_id - 导航ID 菜单类型为系统或插件时需要传递
* @param string menu[].module - 模块类型 菜单类型为模块或上游模块时需要传递
* @param array menu[].product_id - 商品ID 菜单类型为模块或上游模块时需要传递
* @param array menu[].child - 子菜单 required
* @param string menu[].child[].type - 菜单类型system系统plugin插件custom自定义module模块res_module上游模块embedded内嵌 required
* @param string menu[].child[].name - 名称 required
* @param object menu[].child[].language - 语言 required
* @param string menu[].child[].url - 网址 菜单类型为自定义时需要传递
* @param int menu[].child[].second_reminder - 二次提醒0否1是 菜单类型为自定义时需要传递
* @param string menu[].child[].icon - 图标
* @param int menu[].child[].nav_id - 导航ID 菜单类型为系统或插件时需要传递
* @param string menu[].child[].module - 模块类型 菜单类型为模块或上游模块时需要传递
* @param array menu[].child[].product_id - 商品ID 菜单类型为模块或上游模块时需要传递
*/
public function saveHomeMenu()
{
// 接收参数
$param = $this->request->param();
$param['menu2'] = $param['menu'] ?? [];
// 参数验证
if (!$this->validate->scene('save_home')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
unset($param['menu2']);
// 实例化模型类
$MenuModel = new MenuModel();
// 保存前台导航
$result = $MenuModel->saveHomeMenu($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/ModuleController.php
================================================
<?php
namespace app\admin\controller;
use app\common\logic\ModuleLogic;
/**
* @title 模块管理
* @desc 模块管理
* @use app\admin\controller\ModuleController
*/
class ModuleController extends AdminBaseController
{
/**
* 时间 2022-05-27
* @title 模块列表
* @desc 模块列表
* @url /admin/v1/module
* @method GET
* @author hh
* @version v1
* @return array list - 模块列表
* @return string list[].name - 模块类型
* @return string list[].display_name - 模块名称
* @return string list[].version - 版本号
*/
public function moduleList()
{
$ModuleLogic = new ModuleLogic();
$data = $ModuleLogic->getModuleList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => [
'list' => $data
]
];
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/NoticeEmailController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\EmailTemplateModel;
use app\admin\validate\NoticeEmailValidate;
/**
* @title 邮件模板管理
* @desc 邮件模板管理
* @use app\admin\controller\NoticeEmailController
*/
class NoticeEmailController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new NoticeEmailValidate();
}
/**
* 时间 2022-05-17
* @title 邮件模板列表
* @desc 邮件模板列表
* @author theworld
* @version v1
* @url /admin/v1/notice/email/template
* @method GET
* @return array list - 邮件模板
* @return int list[].id - 邮件模板ID
* @return string list[].name - 名称
* @return string list[].subject - 标题
* @return int count - 邮件模板总数
*/
public function emailTemplateList()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$EmailTemplateModel = new EmailTemplateModel();
// 获取邮件模板列表
$data = $EmailTemplateModel->emailTemplateList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => $data
];
return json($result);
}
/**
* 时间 2022-05-17
* @title 获取单个邮件模板
* @desc 获取单个邮件模板
* @author theworld
* @version v1
* @url /admin/v1/notice/email/template/:id
* @method GET
* @param int id - 邮件模板ID required
* @return object email_template - 邮件模板
* @return int email_template.id - 邮件模板ID
* @return string email_template.name - 名称
* @return string email_template.subject - 标题
* @return string email_template.message - 内容
*/
public function index()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$EmailTemplateModel = new EmailTemplateModel();
// 获取邮件模板
$email_template = $EmailTemplateModel->indexEmailTemplate($param['id']);
$result = [
'status' => 200,
'msg' => lang('success_message'),
'data' => [
'email_template' => $email_template
]
];
return json($result);
}
/**
* 时间 2022-05-17
* @title 创建邮件模板
* @desc 创建邮件模板
* @author theworld
* @version v1
* @url /admin/v1/notice/email/template
* @method POST
* @param string name - 名称 required
* @param string subject - 标题 required
* @param string message - 内容 required
*/
public function create()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('create')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$EmailTemplateModel = new EmailTemplateModel();
// 新建邮件模板
$result = $EmailTemplateModel->createEmailTemplate($param);
return json($result);
}
/**
* 时间 2022-05-17
* @title 修改邮件模板
* @desc 修改邮件模板
* @author theworld
* @version v1
* @url /admin/v1/notice/email/template/:id
* @method PUT
* @param int id - 邮件模板ID required
* @param string name - 名称 required
* @param string subject - 标题 required
* @param string message - 内容 required
*/
public function update()
{
// 接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('update')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
// 实例化模型类
$EmailTemplateModel = new EmailTemplateModel();
// 修改邮件模板
$result = $EmailTemplateModel->updateEmailTemplate($param);
return json($result);
}
/**
* 时间 2022-05-17
* @title 删除邮件模板
* @desc 删除邮件模板
* @author theworld
* @version v1
* @url /admin/v1/notice/email/template/:id
* @method DELETE
* @param int id - 邮件模板ID required
*/
public function delete()
{
// 接收参数
$param = $this->request->param();
// 实例化模型类
$EmailTemplateModel = new EmailTemplateModel();
// 删除邮件模板
$result = $EmailTemplateModel->deleteEmailTemplate($param['id']);
return json($result);
}
/**
* 时间 2022-05-18
* @title 测试邮件模板
* @desc 测试邮件模板
* @author theworld
* @version v1
* @url /admin/v1/notice/email/:name/template/:id/test
* @method GET
* @param string name - 邮件接口标识名称 required
* @param int id - 邮件模板ID required
* @param string email - 邮箱 required
*/
public function test()
{
//接收参数
$param = $this->request->param();
// 参数验证
if (!$this->validate->scene('test')->check($param)){
return json(['status' => 400 , 'msg' => lang($this->validate->getError())]);
}
//实例化模型类
$EmailTemplateModel = new EmailTemplateModel();
$result = $EmailTemplateModel->test($param);
return json($result);
}
}
================================================
FILE: 10.4.6/app/admin/controller/NoticeSettingController.php
================================================
<?php
namespace app\admin\controller;
use app\common\model\NoticeSettingModel;
use app\admin\validate\NoticeSettingValidate;
/**
* @title 通知发送管理
* @desc 通知发送管理
* @use app\admin\controller\NoticeSettingController
*/
class NoticeSettingController extends AdminBaseController
{
public function initialize()
{
parent::initialize();
$this->validate = new NoticeSettingValidate();
}
/**
* 时间 2022-05-18
* @title 发送管理
* @desc 发送管理
* @author xiong
* @version v1
* @url /admin/v1/notice/send
* @method GET
* @return array list - 发送管理
* @return string list[].name - 动作名称
* @return int list[].sms_global_name - 短信国际接口名称
* @return int list[].sms_global_template - 短信国际接口模板id
* @return string list[].sms_name - 短信国内接口名称
* @return int list[].sms_template - 短信国内接口模板id
* @return int list[].sms_enable - 启用状态,0禁用,1启用
* @return string list[].email_name - 邮件接口名称
* @return int list[].email_template - 邮件接口模板id
* @return int list[].email_enable - 启用状态,0禁用,1启用
* @return array configuration - 默认接口
* @return string configuration.send_sms - 默认国内短信接口
* @return string configuration.send_sms_global - 默认国际短信接口
* @return string configuration.send_email - 默认邮件接口
*/
public function settingList(){
//实例化模型类
$NoticeSettingModel = new NoticeSettingModel();
//获取产品列表
$data = $NoticeSettingModel->settingList();
$result = [
'status' => 200,
'msg' => lang('success_message'),
'dat
Showing preview only (429K chars total). Download the full file or copy to clipboard to get everything.
gitextract_98ovl59l/ ├── 10.4.6/ │ ├── app/ │ │ ├── admin/ │ │ │ ├── controller/ │ │ │ │ ├── AdminBaseController.php │ │ │ │ ├── AdminController.php │ │ │ │ ├── AdminRoleController.php │ │ │ │ ├── ApiController.php │ │ │ │ ├── AppMarketController.php │ │ │ │ ├── BaseController.php │ │ │ │ ├── BottomBarGroupController.php │ │ │ │ ├── BottomBarNavController.php │ │ │ │ ├── CabinetRentalProductController.php │ │ │ │ ├── ClientController.php │ │ │ │ ├── ClientCreditController.php │ │ │ │ ├── ClientRecordController.php │ │ │ │ ├── CloudServerAreaController.php │ │ │ │ ├── CloudServerBannerController.php │ │ │ │ ├── CloudServerDiscountController.php │ │ │ │ ├── CloudServerProductController.php │ │ │ │ ├── CommonController.php │ │ │ │ ├── ConfigurationController.php │ │ │ │ ├── ConsultController.php │ │ │ │ ├── FeedbackController.php │ │ │ │ ├── FriendlyLinkController.php │ │ │ │ ├── HonorController.php │ │ │ │ ├── HostController.php │ │ │ │ ├── IcpServiceProductController.php │ │ │ │ ├── IndexBannerController.php │ │ │ │ ├── LogController.php │ │ │ │ ├── MenuController.php │ │ │ │ ├── ModuleController.php │ │ │ │ ├── NoticeEmailController.php │ │ │ │ ├── NoticeSettingController.php │ │ │ │ ├── NoticeSmsController.php │ │ │ │ ├── OrderController.php │ │ │ │ ├── PartnerController.php │ │ │ │ ├── PhysicalServerAreaController.php │ │ │ │ ├── PhysicalServerBannerController.php │ │ │ │ ├── PhysicalServerDiscountController.php │ │ │ │ ├── PhysicalServerProductController.php │ │ │ │ ├── PluginController.php │ │ │ │ ├── ProductController.php │ │ │ │ ├── ProductGroupController.php │ │ │ │ ├── PublicController.php │ │ │ │ ├── SelfDefinedFieldController.php │ │ │ │ ├── SeoController.php │ │ │ │ ├── ServerController.php │ │ │ │ ├── ServerGroupController.php │ │ │ │ ├── ServerHostingAreaController.php │ │ │ │ ├── ServerHostingProductController.php │ │ │ │ ├── SideFloatingWindowController.php │ │ │ │ ├── SmsServiceProductController.php │ │ │ │ ├── SslCertificateProductController.php │ │ │ │ ├── SupplierController.php │ │ │ │ ├── TaskController.php │ │ │ │ ├── TrademarkRegisterProductController.php │ │ │ │ ├── TrademarkServiceProductController.php │ │ │ │ ├── TransactionController.php │ │ │ │ ├── UpgradeSystemController.php │ │ │ │ ├── UpstreamHostController.php │ │ │ │ ├── UpstreamOrderController.php │ │ │ │ ├── UpstreamProductController.php │ │ │ │ ├── ViewController.php │ │ │ │ ├── WebNavController.php │ │ │ │ └── WidgetController.php │ │ │ ├── model/ │ │ │ │ ├── AdminFieldModel.php │ │ │ │ ├── AdminLoginModel.php │ │ │ │ ├── AdminModel.php │ │ │ │ ├── AdminRoleLinkModel.php │ │ │ │ ├── AdminRoleModel.php │ │ │ │ ├── AdminRoleWidgetModel.php │ │ │ │ ├── AdminWidgetModel.php │ │ │ │ ├── AuthLinkModel.php │ │ │ │ ├── AuthModel.php │ │ │ │ ├── AuthRuleLinkModel.php │ │ │ │ ├── AuthRuleModel.php │ │ │ │ ├── EmailLogModel.php │ │ │ │ ├── PluginHookModel.php │ │ │ │ ├── PluginModel.php │ │ │ │ └── SmsLogModel.php │ │ │ └── validate/ │ │ │ ├── AdminFieldValidate.php │ │ │ ├── AdminRoleValidate.php │ │ │ ├── AdminValidate.php │ │ │ ├── ApiValidate.php │ │ │ ├── BottomBarGroupValidate.php │ │ │ ├── BottomBarNavValidate.php │ │ │ ├── CabinetRentalProductValidate.php │ │ │ ├── ClientCreditValidate.php │ │ │ ├── ClientRecordValidate.php │ │ │ ├── ClientValidate.php │ │ │ ├── CloudServerAreaValidate.php │ │ │ ├── CloudServerBannerValidate.php │ │ │ ├── CloudServerDiscountValidate.php │ │ │ ├── CloudServerProductValidate.php │ │ │ ├── ConfigurationValidate.php │ │ │ ├── FeedbackTypeValidate.php │ │ │ ├── FriendlyLinkValidate.php │ │ │ ├── HonorValidate.php │ │ │ ├── HostValidate.php │ │ │ ├── IcpServiceProductValidate.php │ │ │ ├── IndexBannerValidate.php │ │ │ ├── MenuValidate.php │ │ │ ├── NoticeEmailValidate.php │ │ │ ├── NoticeSettingValidate.php │ │ │ ├── NoticeSmsValidate.php │ │ │ ├── OrderValidate.php │ │ │ ├── PartnerValidate.php │ │ │ ├── PhysicalServerAreaValidate.php │ │ │ ├── PhysicalServerBannerValidate.php │ │ │ ├── PhysicalServerDiscountValidate.php │ │ │ ├── PhysicalServerProductValidate.php │ │ │ ├── ProductGroupValidate.php │ │ │ ├── ProductValidate.php │ │ │ ├── SeoValidate.php │ │ │ ├── ServerGroupValidate.php │ │ │ ├── ServerHostingAreaValidate.php │ │ │ ├── ServerHostingProductValidate.php │ │ │ ├── ServerValidate.php │ │ │ ├── SideFloatingWindowValidate.php │ │ │ ├── SmsServiceProductValidate.php │ │ │ ├── SslCertificateProductValidate.php │ │ │ ├── SupplierValidate.php │ │ │ ├── TrademarkRegisterProductValidate.php │ │ │ ├── TrademarkServiceProductValidate.php │ │ │ ├── TransactionValidate.php │ │ │ ├── UpstreamProductValidate.php │ │ │ ├── WebNavValidate.php │ │ │ └── WidgetValidate.php │ │ ├── api/ │ │ │ └── controller/ │ │ │ ├── AuthController.php │ │ │ └── ProductController.php │ │ ├── command/ │ │ │ ├── Cron.php │ │ │ └── Task.php │ │ ├── common/ │ │ │ ├── lib/ │ │ │ │ ├── IdcsmartCache.php │ │ │ │ ├── Loader.php │ │ │ │ ├── Oauth.php │ │ │ │ ├── Plugin.php │ │ │ │ ├── RedisPool.php │ │ │ │ └── Widget.php │ │ │ ├── logic/ │ │ │ │ ├── EmailLogic.php │ │ │ │ ├── IndexLogic.php │ │ │ │ ├── ModuleLogic.php │ │ │ │ ├── ResModuleLogic.php │ │ │ │ ├── SmsLogic.php │ │ │ │ ├── TemplateLogic.php │ │ │ │ ├── UpgradePluginsLogic.php │ │ │ │ ├── UpgradeSystemLogic.php │ │ │ │ ├── UploadLogic.php │ │ │ │ ├── UpstreamLogic.php │ │ │ │ ├── VerificationCodeLogic.php │ │ │ │ └── WidgetLogic.php │ │ │ ├── model/ │ │ │ │ ├── ApiModel.php │ │ │ │ ├── BottomBarGroupModel.php │ │ │ │ ├── BottomBarNavModel.php │ │ │ │ ├── CabinetRentalProductModel.php │ │ │ │ ├── ClientCreditModel.php │ │ │ │ ├── ClientCustomFieldModel.php │ │ │ │ ├── ClientLoginModel.php │ │ │ │ ├── ClientModel.php │ │ │ │ ├── ClientRecordModel.php │ │ │ │ ├── CloudServerAreaModel.php │ │ │ │ ├── CloudServerBannerModel.php │ │ │ │ ├── CloudServerDiscountModel.php │ │ │ │ ├── CloudServerProductModel.php │ │ │ │ ├── ConfigOptionModel.php │ │ │ │ ├── ConfigOptionSubModel.php │ │ │ │ ├── ConfigurationModel.php │ │ │ │ ├── ConsultModel.php │ │ │ │ ├── CountryModel.php │ │ │ │ ├── EmailTemplateModel.php │ │ │ │ ├── FeedbackModel.php │ │ │ │ ├── FeedbackTypeModel.php │ │ │ │ ├── FileLogModel.php │ │ │ │ ├── FriendlyLinkModel.php │ │ │ │ ├── HonorModel.php │ │ │ │ ├── HostIpModel.php │ │ │ │ ├── HostModel.php │ │ │ │ ├── IcpServiceProductModel.php │ │ │ │ ├── IndexBannerModel.php │ │ │ │ ├── MenuModel.php │ │ │ │ ├── NavModel.php │ │ │ │ ├── NoticeSettingModel.php │ │ │ │ ├── OrderItemModel.php │ │ │ │ ├── OrderModel.php │ │ │ │ ├── OrderTmpModel.php │ │ │ │ ├── PartnerModel.php │ │ │ │ ├── PhysicalServerAreaModel.php │ │ │ │ ├── PhysicalServerBannerModel.php │ │ │ │ ├── PhysicalServerDiscountModel.php │ │ │ │ ├── PhysicalServerProductModel.php │ │ │ │ ├── ProductDurationRatioModel.php │ │ │ │ ├── ProductGroupModel.php │ │ │ │ ├── ProductModel.php │ │ │ │ ├── ProductUpgradeProductModel.php │ │ │ │ ├── RefundRecordModel.php │ │ │ │ ├── SelfDefinedFieldModel.php │ │ │ │ ├── SelfDefinedFieldValueModel.php │ │ │ │ ├── SeoModel.php │ │ │ │ ├── ServerGroupModel.php │ │ │ │ ├── ServerHostingAreaModel.php │ │ │ │ ├── ServerHostingProductModel.php │ │ │ │ ├── ServerModel.php │ │ │ │ ├── SideFloatingWindowModel.php │ │ │ │ ├── SmsServiceProductModel.php │ │ │ │ ├── SmsTemplateModel.php │ │ │ │ ├── SslCertificateProductModel.php │ │ │ │ ├── SupplierModel.php │ │ │ │ ├── SystemLogModel.php │ │ │ │ ├── TaskModel.php │ │ │ │ ├── TaskWaitModel.php │ │ │ │ ├── TrademarkRegisterProductModel.php │ │ │ │ ├── TrademarkServiceProductModel.php │ │ │ │ ├── TransactionModel.php │ │ │ │ ├── UpgradeModel.php │ │ │ │ ├── UpstreamHostModel.php │ │ │ │ ├── UpstreamOrderModel.php │ │ │ │ ├── UpstreamProductModel.php │ │ │ │ └── WebNavModel.php │ │ │ └── validate/ │ │ │ ├── ProductDurationRatioValidate.php │ │ │ ├── SelfDefinedFieldValidate.php │ │ │ └── UploadValidate.php │ │ ├── common.php │ │ ├── event/ │ │ │ ├── AppInit.php │ │ │ └── controller/ │ │ │ ├── AddonController.php │ │ │ ├── AddonHomeController.php │ │ │ ├── BaseController.php │ │ │ ├── CaptchaController.php │ │ │ ├── CertificationController.php │ │ │ ├── CertificationHomeController.php │ │ │ ├── GatewayController.php │ │ │ ├── ModuleController.php │ │ │ ├── ModuleHomeController.php │ │ │ ├── PluginAdminBaseController.php │ │ │ ├── PluginBaseController.php │ │ │ └── TemplateController.php │ │ ├── event.php │ │ ├── exception/ │ │ │ └── TemplateNotFoundException.php │ │ ├── home/ │ │ │ ├── controller/ │ │ │ │ ├── AccountController.php │ │ │ │ ├── ApiController.php │ │ │ │ ├── BaseController.php │ │ │ │ ├── CartController.php │ │ │ │ ├── CommonController.php │ │ │ │ ├── HomeBaseController.php │ │ │ │ ├── HooksController.php │ │ │ │ ├── HostController.php │ │ │ │ ├── IndexController.php │ │ │ │ ├── LogController.php │ │ │ │ ├── LoginController.php │ │ │ │ ├── ModuleController.php │ │ │ │ ├── OauthController.php │ │ │ │ ├── OrderController.php │ │ │ │ ├── PayController.php │ │ │ │ ├── ProductController.php │ │ │ │ ├── TransactionController.php │ │ │ │ ├── UpstreamController.php │ │ │ │ ├── ViewCartController.php │ │ │ │ ├── ViewClientController.php │ │ │ │ └── ViewController.php │ │ │ ├── model/ │ │ │ │ ├── CartModel.php │ │ │ │ ├── ClientareaAuthModel.php │ │ │ │ ├── ClientareaAuthRuleLinkModel.php │ │ │ │ ├── ClientareaAuthRuleModel.php │ │ │ │ └── OauthModel.php │ │ │ └── validate/ │ │ │ ├── AccountValidate.php │ │ │ ├── ApiValidate.php │ │ │ ├── CartValidate.php │ │ │ ├── CommonValidate.php │ │ │ ├── ConsultValidate.php │ │ │ ├── FeedbackValidate.php │ │ │ ├── HostValidate.php │ │ │ └── ProductValidate.php │ │ ├── http/ │ │ │ └── middleware/ │ │ │ ├── Check.php │ │ │ ├── CheckAdmin.php │ │ │ ├── CheckAdminCookieJwt.php │ │ │ ├── CheckAdminOperatePassword.php │ │ │ ├── CheckClientCookieJwt.php │ │ │ ├── CheckClientOperatePassword.php │ │ │ ├── CheckHome.php │ │ │ ├── ParamFilter.php │ │ │ └── RejectRepeatRequest.php │ │ ├── middleware.php │ │ └── upgrade/ │ │ ├── 10.4.5.php │ │ └── 10.4.6.php │ ├── config/ │ │ ├── app.php │ │ ├── cache.php │ │ ├── captcha.php │ │ ├── console.php │ │ ├── cookie.php │ │ ├── database.php │ │ ├── filesystem.php │ │ ├── idcsmart.php │ │ ├── lang.php │ │ ├── log.php │ │ ├── middleware.php │ │ ├── route.php │ │ ├── session.php │ │ ├── trace.php │ │ └── view.php │ ├── cron/ │ │ ├── cron.php │ │ └── task.php │ ├── install.md │ ├── public/ │ │ ├── .htaccess │ │ ├── 503.html │ │ ├── Desktop.ini │ │ ├── admin/ │ │ │ ├── index.php │ │ │ ├── language/ │ │ │ │ ├── en-us.js │ │ │ │ ├── en-us.php │ │ │ │ ├── zh-cn.js │ │ │ │ ├── zh-cn.php │ │ │ │ ├── zh-hk.js │ │ │ │ └── zh-hk.php │ │ │ └── template/ │ │ │ └── default/ │ │ │ ├── 404.php │ │ │ ├── admin.php │ │ │ ├── admin_role.php │ │ │ ├── agentList.php │ │ │ ├── api/ │ │ │ │ ├── addon.js │ │ │ │ ├── childAccount.js │ │ │ │ ├── client.js │ │ │ │ ├── common.js │ │ │ │ ├── customerService.js │ │ │ │ ├── index.js │ │ │ │ ├── install.js │ │ │ │ ├── invoice.js │ │ │ │ ├── manage.js │ │ │ │ ├── navigation.js │ │ │ │ ├── product.js │ │ │ │ ├── rc.js │ │ │ │ ├── real_name.js │ │ │ │ ├── recording1559.js │ │ │ │ ├── setting.js │ │ │ │ ├── system.js │ │ │ │ ├── template_controller.js │ │ │ │ ├── upstream.js │ │ │ │ └── withdrawal.js │ │ │ ├── captcha.php │ │ │ ├── childAccount.php │ │ │ ├── child_server.php │ │ │ ├── child_server_group.php │ │ │ ├── client.php │ │ │ ├── client_detail.php │ │ │ ├── client_host.php │ │ │ ├── client_log.php │ │ │ ├── client_notice_email.php │ │ │ ├── client_notice_sms.php │ │ │ ├── client_order.php │ │ │ ├── client_records.php │ │ │ ├── client_transaction.php │ │ │ ├── components/ │ │ │ │ ├── comChooseUser/ │ │ │ │ │ └── comChooseUser.js │ │ │ │ ├── comConfig/ │ │ │ │ │ └── comConfig.js │ │ │ │ ├── comTinymce/ │ │ │ │ │ └── comTinymce.js │ │ │ │ ├── comTreeSelect/ │ │ │ │ │ └── comTreeSelect.js │ │ │ │ ├── comViewFiled/ │ │ │ │ │ └── comViewFiled.js │ │ │ │ └── safeConfirm/ │ │ │ │ └── safeConfirm.js │ │ │ ├── configuration_api.php │ │ │ ├── configuration_currency.php │ │ │ ├── configuration_debug.php │ │ │ ├── configuration_login.php │ │ │ ├── configuration_oss.php │ │ │ ├── configuration_security.php │ │ │ ├── configuration_system.php │ │ │ ├── configuration_theme.php │ │ │ ├── configuration_upgrade.php │ │ │ ├── consult.php │ │ │ ├── create_order.php │ │ │ ├── cron.php │ │ │ ├── css/ │ │ │ │ ├── addon.css │ │ │ │ ├── addon.less │ │ │ │ ├── childAccount.css │ │ │ │ ├── childAccount.less │ │ │ │ ├── client.css │ │ │ │ ├── client.less │ │ │ │ ├── common/ │ │ │ │ │ ├── reset.css │ │ │ │ │ └── reset.less │ │ │ │ ├── customerService.css │ │ │ │ ├── dist/ │ │ │ │ │ ├── childAccount.css │ │ │ │ │ └── invoice_address.css │ │ │ │ ├── index.css │ │ │ │ ├── index.less │ │ │ │ ├── install.css │ │ │ │ ├── invoice_address.css │ │ │ │ ├── invoice_address.less │ │ │ │ ├── invoice_config.css │ │ │ │ ├── invoice_config.less │ │ │ │ ├── invoice_system.css │ │ │ │ ├── invoice_system.less │ │ │ │ ├── invoice_title.css │ │ │ │ ├── invoice_title.less │ │ │ │ ├── login.css │ │ │ │ ├── login.less │ │ │ │ ├── manage.css │ │ │ │ ├── manage.less │ │ │ │ ├── navigation.css │ │ │ │ ├── product.css │ │ │ │ ├── product.less │ │ │ │ ├── rc_order.css │ │ │ │ ├── rc_order.less │ │ │ │ ├── rc_order_config.css │ │ │ │ ├── rc_order_config.less │ │ │ │ ├── rc_order_details.css │ │ │ │ ├── rc_order_details.less │ │ │ │ ├── real_name.css │ │ │ │ ├── recording1559.css │ │ │ │ ├── search1559.css │ │ │ │ ├── setting.css │ │ │ │ ├── setting.less │ │ │ │ ├── setting1559.css │ │ │ │ ├── supplier_list.css │ │ │ │ ├── supplier_list.less │ │ │ │ ├── system.css │ │ │ │ ├── system.less │ │ │ │ ├── template.css │ │ │ │ ├── template.less │ │ │ │ ├── template_controller.css │ │ │ │ ├── template_controller.less │ │ │ │ ├── theme/ │ │ │ │ │ ├── cyan.less │ │ │ │ │ ├── default.less │ │ │ │ │ ├── green.less │ │ │ │ │ ├── index.less │ │ │ │ │ ├── orange.less │ │ │ │ │ ├── pink.less │ │ │ │ │ ├── purple.less │ │ │ │ │ ├── red.less │ │ │ │ │ ├── variables.less │ │ │ │ │ └── yellow.less │ │ │ │ ├── three_login.css │ │ │ │ ├── three_login.less │ │ │ │ ├── upstream_order.css │ │ │ │ ├── upstream_order.less │ │ │ │ └── withdrawal.css │ │ │ ├── footer.php │ │ │ ├── gateway.php │ │ │ ├── header.php │ │ │ ├── host.php │ │ │ ├── host_detail.php │ │ │ ├── iconfont/ │ │ │ │ ├── iconfont.css │ │ │ │ └── iconfont.json │ │ │ ├── index.php │ │ │ ├── info_config.php │ │ │ ├── install_bak.php │ │ │ ├── js/ │ │ │ │ ├── addon.js │ │ │ │ ├── admin.js │ │ │ │ ├── admin_role.js │ │ │ │ ├── agentList.js │ │ │ │ ├── captcha.js │ │ │ │ ├── childAccount.js │ │ │ │ ├── child_server.js │ │ │ │ ├── child_server_group.js │ │ │ │ ├── client.js │ │ │ │ ├── client_detail.js │ │ │ │ ├── client_host.js │ │ │ │ ├── client_log.js │ │ │ │ ├── client_notice_email.js │ │ │ │ ├── client_notice_sms.js │ │ │ │ ├── client_order.js │ │ │ │ ├── client_records.js │ │ │ │ ├── client_transaction.js │ │ │ │ ├── common/ │ │ │ │ │ ├── commonTool.js │ │ │ │ │ ├── composition-api.js │ │ │ │ │ ├── iuLayout.js │ │ │ │ │ ├── lang.js │ │ │ │ │ ├── layout.js │ │ │ │ │ ├── mainfest.js │ │ │ │ │ └── vue.js │ │ │ │ ├── configuration_api.js │ │ │ │ ├── configuration_currency.js │ │ │ │ ├── configuration_debug.js │ │ │ │ ├── configuration_login.js │ │ │ │ ├── configuration_oss.js │ │ │ │ ├── configuration_security.js │ │ │ │ ├── configuration_system.js │ │ │ │ ├── configuration_theme.js │ │ │ │ ├── configuration_upgrade.js │ │ │ │ ├── consult.js │ │ │ │ ├── create_order.js │ │ │ │ ├── cron.js │ │ │ │ ├── feedback.js │ │ │ │ ├── gateway.js │ │ │ │ ├── host.js │ │ │ │ ├── host_detail.js │ │ │ │ ├── index.js │ │ │ │ ├── info_config.js │ │ │ │ ├── install.js │ │ │ │ ├── log_notice_email.js │ │ │ │ ├── log_notice_sms.js │ │ │ │ ├── log_system.js │ │ │ │ ├── login.js │ │ │ │ ├── navigation.js │ │ │ │ ├── no_auth.js │ │ │ │ ├── notFound.js │ │ │ │ ├── notice_email.js │ │ │ │ ├── notice_email_template.js │ │ │ │ ├── notice_email_template_create.js │ │ │ │ ├── notice_email_template_update.js │ │ │ │ ├── notice_send.js │ │ │ │ ├── notice_sms.js │ │ │ │ ├── notice_sms_template.js │ │ │ │ ├── oauth.js │ │ │ │ ├── order.js │ │ │ │ ├── order_details.js │ │ │ │ ├── order_flow.js │ │ │ │ ├── order_notes.js │ │ │ │ ├── order_recycle_bin.js │ │ │ │ ├── order_refund.js │ │ │ │ ├── product.js │ │ │ │ ├── product_api.js │ │ │ │ ├── product_detail.js │ │ │ │ ├── product_self_field.js │ │ │ │ ├── recording1559.js │ │ │ │ ├── search1559.js │ │ │ │ ├── security_center.js │ │ │ │ ├── server.js │ │ │ │ ├── server_group.js │ │ │ │ ├── setting1559.js │ │ │ │ ├── supplier_goods.js │ │ │ │ ├── supplier_list.js │ │ │ │ ├── supplier_order.js │ │ │ │ ├── supplier_product.js │ │ │ │ ├── task.js │ │ │ │ ├── template.js │ │ │ │ ├── template_bottom_nav.js │ │ │ │ ├── template_host_config.js │ │ │ │ ├── template_index_banner.js │ │ │ │ ├── template_nav.js │ │ │ │ ├── template_seo_manage.js │ │ │ │ ├── template_side_manage.js │ │ │ │ ├── template_web_config.js │ │ │ │ ├── tinymce/ │ │ │ │ │ ├── langs/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── license.txt │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ └── emoticons/ │ │ │ │ │ │ └── js/ │ │ │ │ │ │ ├── emojiimages.js │ │ │ │ │ │ └── emojis.js │ │ │ │ │ └── tinymce.d.ts │ │ │ │ ├── transaction.js │ │ │ │ ├── upstream_goods.js │ │ │ │ ├── upstream_order.js │ │ │ │ ├── upstream_product.js │ │ │ │ └── withdrawal.js │ │ │ ├── lang/ │ │ │ │ ├── dist/ │ │ │ │ │ └── zh-hk.dev.js │ │ │ │ ├── en-us.js │ │ │ │ ├── zh-cn.js │ │ │ │ └── zh-hk.js │ │ │ ├── log_notice_email.php │ │ │ ├── log_notice_sms.php │ │ │ ├── log_system.php │ │ │ ├── login.php │ │ │ ├── navigation.php │ │ │ ├── notFound.php │ │ │ ├── notice_email.php │ │ │ ├── notice_email_template.php │ │ │ ├── notice_email_template_create.php │ │ │ ├── notice_email_template_update.php │ │ │ ├── notice_send.php │ │ │ ├── notice_sms.php │ │ │ ├── notice_sms_template.php │ │ │ ├── oauth.php │ │ │ ├── order.php │ │ │ ├── order_details.php │ │ │ ├── order_flow.php │ │ │ ├── order_notes.php │ │ │ ├── order_recycle_bin.php │ │ │ ├── order_refund.php │ │ │ ├── plugin.php │ │ │ ├── product.php │ │ │ ├── product_api.php │ │ │ ├── product_detail.php │ │ │ ├── product_self_field.php │ │ │ ├── recording1559.php │ │ │ ├── search.php │ │ │ ├── security_center.php │ │ │ ├── server.php │ │ │ ├── server_group.php │ │ │ ├── setting1559.php │ │ │ ├── supplier_goods.php │ │ │ ├── supplier_list.php │ │ │ ├── supplier_order.php │ │ │ ├── supplier_product.php │ │ │ ├── task.php │ │ │ ├── template.php │ │ │ ├── template_bottom_nav.php │ │ │ ├── template_host_config.php │ │ │ ├── template_index_banner.php │ │ │ ├── template_nav.php │ │ │ ├── template_seo_manage.php │ │ │ ├── template_side_manage.php │ │ │ ├── template_web_config.php │ │ │ ├── tinymce/ │ │ │ │ ├── langs/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── zh_CN.js │ │ │ │ ├── license.txt │ │ │ │ ├── plugins/ │ │ │ │ │ ├── emoticons/ │ │ │ │ │ │ └── js/ │ │ │ │ │ │ ├── emojiimages.js │ │ │ │ │ │ └── emojis.js │ │ │ │ │ └── powerpaste/ │ │ │ │ │ ├── flash/ │ │ │ │ │ │ └── textboxpaste.swf │ │ │ │ │ ├── js/ │ │ │ │ │ │ └── wordimport.js │ │ │ │ │ └── langs/ │ │ │ │ │ └── zh_CN.js │ │ │ │ └── tinymce.d.ts │ │ │ ├── transaction.php │ │ │ ├── update_bak.php │ │ │ ├── upstream_goods.php │ │ │ ├── upstream_order.php │ │ │ ├── upstream_product.php │ │ │ ├── utils/ │ │ │ │ ├── permission.js │ │ │ │ └── request.js │ │ │ └── withdrawal.php │ │ ├── cart/ │ │ │ └── template/ │ │ │ ├── mobile/ │ │ │ │ └── default/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── api/ │ │ │ │ │ ├── goodsList.js │ │ │ │ │ ├── product.js │ │ │ │ │ └── shopping.js │ │ │ │ ├── css/ │ │ │ │ │ ├── goods.css │ │ │ │ │ ├── goods.less │ │ │ │ │ ├── goodsList.css │ │ │ │ │ ├── goodsList.less │ │ │ │ │ ├── goods_iframe.css │ │ │ │ │ ├── goods_iframe.less │ │ │ │ │ ├── settlement.css │ │ │ │ │ ├── settlement.less │ │ │ │ │ ├── shoppingCar.css │ │ │ │ │ └── shoppingCar.less │ │ │ │ ├── goods.php │ │ │ │ ├── goodsList.php │ │ │ │ ├── goods_iframe.php │ │ │ │ ├── js/ │ │ │ │ │ ├── goods.js │ │ │ │ │ ├── goodsList.js │ │ │ │ │ ├── settlement.js │ │ │ │ │ └── shoppingCar.js │ │ │ │ ├── settlement.php │ │ │ │ └── shoppingCar.php │ │ │ └── pc/ │ │ │ └── default/ │ │ │ ├── .gitkeep │ │ │ ├── api/ │ │ │ │ ├── goodsList.js │ │ │ │ ├── product.js │ │ │ │ └── shopping.js │ │ │ ├── css/ │ │ │ │ ├── goods.css │ │ │ │ ├── goods.less │ │ │ │ ├── goodsList.css │ │ │ │ ├── goodsList.less │ │ │ │ ├── goods_iframe.css │ │ │ │ ├── goods_iframe.less │ │ │ │ ├── settlement.css │ │ │ │ ├── settlement.less │ │ │ │ ├── shoppingCar.css │ │ │ │ └── shoppingCar.less │ │ │ ├── goods.php │ │ │ ├── goodsList.php │ │ │ ├── goods_iframe.php │ │ │ ├── js/ │ │ │ │ ├── goods.js │ │ │ │ ├── goodsList.js │ │ │ │ ├── settlement.js │ │ │ │ └── shoppingCar.js │ │ │ ├── settlement.php │ │ │ └── shoppingCar.php │ │ ├── clientarea/ │ │ │ ├── language/ │ │ │ │ ├── en-us.php │ │ │ │ ├── zh-cn.js │ │ │ │ ├── zh-cn.php │ │ │ │ └── zh-hk.php │ │ │ └── template/ │ │ │ ├── mobile/ │ │ │ │ └── default/ │ │ │ │ ├── .vscode/ │ │ │ │ │ └── settings.json │ │ │ │ ├── NotFound.php │ │ │ │ ├── account.php │ │ │ │ ├── agreement.php │ │ │ │ ├── api/ │ │ │ │ │ ├── account.js │ │ │ │ │ ├── certification.js │ │ │ │ │ ├── common.js │ │ │ │ │ ├── finance.js │ │ │ │ │ ├── goods.js │ │ │ │ │ ├── goodsList.js │ │ │ │ │ ├── home.js │ │ │ │ │ ├── orderDetail.js │ │ │ │ │ ├── product.js │ │ │ │ │ ├── security.js │ │ │ │ │ ├── security_group.js │ │ │ │ │ ├── shopping.js │ │ │ │ │ ├── template.js │ │ │ │ │ └── withdraw.js │ │ │ │ ├── blog.php │ │ │ │ ├── components/ │ │ │ │ │ ├── asideMenu/ │ │ │ │ │ │ ├── aliAsideMenu.js │ │ │ │ │ │ └── asideMenu.js │ │ │ │ │ ├── batchRenewpage/ │ │ │ │ │ │ └── batchRenewpage.js │ │ │ │ │ ├── captchaDialog/ │ │ │ │ │ │ └── captchaDialog.js │ │ │ │ │ ├── cashBack/ │ │ │ │ │ │ └── cashBack.js │ │ │ │ │ ├── cashCoupon/ │ │ │ │ │ │ └── cashCoupon.js │ │ │ │ │ ├── certificationTips/ │ │ │ │ │ │ └── certificationDialog.js │ │ │ │ │ ├── countDownButton/ │ │ │ │ │ │ └── countDownButton.js │ │ │ │ │ ├── customGoods/ │ │ │ │ │ │ └── customGoods.js │ │ │ │ │ ├── discountCode/ │ │ │ │ │ │ └── discountCode.js │ │ │ │ │ ├── eventCode/ │ │ │ │ │ │ └── eventCode.js │ │ │ │ │ ├── flowPacket/ │ │ │ │ │ │ └── flowPacket.js │ │ │ │ │ ├── forgetDialog/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── loginDialog/ │ │ │ │ │ │ └── loginDialog.js │ │ │ │ │ ├── pagination/ │ │ │ │ │ │ └── pagination.js │ │ │ │ │ ├── payDialog/ │ │ │ │ │ │ └── payDialog.js │ │ │ │ │ ├── productFilter/ │ │ │ │ │ │ └── productFilter.js │ │ │ │ │ ├── refundDialog/ │ │ │ │ │ │ └── refundDialog.js │ │ │ │ │ ├── registDialog/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── safeConfirm/ │ │ │ │ │ │ └── safeConfirm.js │ │ │ │ │ ├── topMenu/ │ │ │ │ │ │ └── topMenu.js │ │ │ │ │ └── withdrawDialog/ │ │ │ │ │ └── withdrawDialog.js │ │ │ │ ├── css/ │ │ │ │ │ ├── NotFound.css │ │ │ │ │ ├── account.css │ │ │ │ │ ├── agreement.css │ │ │ │ │ ├── agreement.less │ │ │ │ │ ├── authentication.css │ │ │ │ │ ├── certification.css │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── element.css │ │ │ │ │ ├── finance.css │ │ │ │ │ ├── finance.less │ │ │ │ │ ├── forget.css │ │ │ │ │ ├── home.css │ │ │ │ │ ├── home.less │ │ │ │ │ ├── index.css │ │ │ │ │ ├── login.css │ │ │ │ │ ├── loginDialog.css │ │ │ │ │ ├── loginDialog.less │ │ │ │ │ ├── networkErro.css │ │ │ │ │ ├── news.css │ │ │ │ │ ├── news.less │ │ │ │ │ ├── newworkErro.css │ │ │ │ │ ├── noPermissions.css │ │ │ │ │ ├── noPermissions.less │ │ │ │ │ ├── orderDetail.css │ │ │ │ │ ├── orderDetail.less │ │ │ │ │ ├── productdetail.css │ │ │ │ │ ├── productdetail.less │ │ │ │ │ ├── promotionDetail.css │ │ │ │ │ ├── promotionDetail.less │ │ │ │ │ ├── regist.css │ │ │ │ │ ├── regist.less │ │ │ │ │ ├── security.css │ │ │ │ │ ├── security.less │ │ │ │ │ ├── security_group.css │ │ │ │ │ ├── security_group.less │ │ │ │ │ ├── security_log.css │ │ │ │ │ ├── security_log.less │ │ │ │ │ ├── security_ssh.css │ │ │ │ │ ├── security_ssh.less │ │ │ │ │ ├── template.css │ │ │ │ │ ├── transfer.css │ │ │ │ │ ├── transfer.less │ │ │ │ │ ├── voucher.css │ │ │ │ │ ├── voucher.less │ │ │ │ │ ├── withdrawal.css │ │ │ │ │ └── withdrawal.less │ │ │ │ ├── custom_iframe.php │ │ │ │ ├── finance.php │ │ │ │ ├── footer.php │ │ │ │ ├── forget.php │ │ │ │ ├── group_rules.php │ │ │ │ ├── header.php │ │ │ │ ├── home.php │ │ │ │ ├── js/ │ │ │ │ │ ├── NotFound.js │ │ │ │ │ ├── account.js │ │ │ │ │ ├── agreement.js │ │ │ │ │ ├── blog.js │ │ │ │ │ ├── citys/ │ │ │ │ │ │ └── citys.js │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ ├── element.js │ │ │ │ │ │ ├── jquery.mini.js │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ └── vue.js │ │ │ │ │ ├── creatTemplate.js │ │ │ │ │ ├── finance.js │ │ │ │ │ ├── forget.js │ │ │ │ │ ├── goods.js │ │ │ │ │ ├── goodsList.js │ │ │ │ │ ├── group_rules.js │ │ │ │ │ ├── home.js │ │ │ │ │ ├── login.js │ │ │ │ │ ├── loginDialog.js │ │ │ │ │ ├── networkErro.js │ │ │ │ │ ├── newsView.js │ │ │ │ │ ├── noPermissions.js │ │ │ │ │ ├── oauth.js │ │ │ │ │ ├── orderDetail.js │ │ │ │ │ ├── pinyin/ │ │ │ │ │ │ └── pinyin.js │ │ │ │ │ ├── product.js │ │ │ │ │ ├── product_list.js │ │ │ │ │ ├── productdetail.js │ │ │ │ │ ├── regist.js │ │ │ │ │ ├── security.js │ │ │ │ │ ├── security_group.js │ │ │ │ │ ├── security_log.js │ │ │ │ │ ├── security_ssh.js │ │ │ │ │ ├── settlement.js │ │ │ │ │ ├── shoppingCar.js │ │ │ │ │ ├── template.js │ │ │ │ │ ├── transfer.js │ │ │ │ │ └── withdraw.js │ │ │ │ ├── lang/ │ │ │ │ │ ├── en-us/ │ │ │ │ │ │ ├── element-lang.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── zh-cn/ │ │ │ │ │ │ ├── element-lang.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── zh-hk/ │ │ │ │ │ ├── element-lang.js │ │ │ │ │ └── index.js │ │ │ │ ├── login.php │ │ │ │ ├── networkErro.php │ │ │ │ ├── newsView.php │ │ │ │ ├── noPermissions.php │ │ │ │ ├── oauth.php │ │ │ │ ├── orderDetail.php │ │ │ │ ├── product.php │ │ │ │ ├── product_list.php │ │ │ │ ├── productdetail.php │ │ │ │ ├── regist.php │ │ │ │ ├── security.php │ │ │ │ ├── security_group.php │ │ │ │ ├── security_log.php │ │ │ │ ├── security_ssh.php │ │ │ │ ├── template.php │ │ │ │ ├── transfer.php │ │ │ │ ├── utils/ │ │ │ │ │ ├── directive.js │ │ │ │ │ ├── request.js │ │ │ │ │ └── util.js │ │ │ │ └── withdrawal.php │ │ │ └── pc/ │ │ │ └── default/ │ │ │ ├── .vscode/ │ │ │ │ └── settings.json │ │ │ ├── NotFound.php │ │ │ ├── account.php │ │ │ ├── agreement.php │ │ │ ├── api/ │ │ │ │ ├── account.js │ │ │ │ ├── certification.js │ │ │ │ ├── common.js │ │ │ │ ├── finance.js │ │ │ │ ├── goods.js │ │ │ │ ├── goodsList.js │ │ │ │ ├── home.js │ │ │ │ ├── orderDetail.js │ │ │ │ ├── product.js │ │ │ │ ├── security.js │ │ │ │ ├── security_group.js │ │ │ │ ├── shopping.js │ │ │ │ ├── template.js │ │ │ │ └── withdraw.js │ │ │ ├── blog.php │ │ │ ├── components/ │ │ │ │ ├── asideMenu/ │ │ │ │ │ ├── aliAsideMenu.js │ │ │ │ │ └── asideMenu.js │ │ │ │ ├── batchRenewpage/ │ │ │ │ │ └── batchRenewpage.js │ │ │ │ ├── captchaDialog/ │ │ │ │ │ └── captchaDialog.js │ │ │ │ ├── cashBack/ │ │ │ │ │ └── cashBack.js │ │ │ │ ├── cashCoupon/ │ │ │ │ │ └── cashCoupon.js │ │ │ │ ├── certificationTips/ │ │ │ │ │ └── certificationDialog.js │ │ │ │ ├── countDownButton/ │ │ │ │ │ └── countDownButton.js │ │ │ │ ├── customGoods/ │ │ │ │ │ └── customGoods.js │ │ │ │ ├── discountCode/ │ │ │ │ │ └── discountCode.js │ │ │ │ ├── eventCode/ │ │ │ │ │ └── eventCode.js │ │ │ │ ├── flowPacket/ │ │ │ │ │ └── flowPacket.js │ │ │ │ ├── forgetDialog/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── loginDialog/ │ │ │ │ │ └── loginDialog.js │ │ │ │ ├── pagination/ │ │ │ │ │ └── pagination.js │ │ │ │ ├── payDialog/ │ │ │ │ │ └── payDialog.js │ │ │ │ ├── productFilter/ │ │ │ │ │ └── productFilter.js │ │ │ │ ├── refundDialog/ │ │ │ │ │ └── refundDialog.js │ │ │ │ ├── registDialog/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── safeConfirm/ │ │ │ │ │ └── safeConfirm.js │ │ │ │ ├── topMenu/ │ │ │ │ │ └── topMenu.js │ │ │ │ └── withdrawDialog/ │ │ │ │ └── withdrawDialog.js │ │ │ ├── css/ │ │ │ │ ├── NotFound.css │ │ │ │ ├── account.css │ │ │ │ ├── agreement.css │ │ │ │ ├── agreement.less │ │ │ │ ├── authentication.css │ │ │ │ ├── certification.css │ │ │ │ ├── common/ │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common.less │ │ │ │ │ └── element.css │ │ │ │ ├── finance.css │ │ │ │ ├── finance.less │ │ │ │ ├── forget.css │ │ │ │ ├── home.css │ │ │ │ ├── home.less │ │ │ │ ├── index.css │ │ │ │ ├── login.css │ │ │ │ ├── loginDialog.css │ │ │ │ ├── loginDialog.less │ │ │ │ ├── networkErro.css │ │ │ │ ├── news.css │ │ │ │ ├── news.less │ │ │ │ ├── newworkErro.css │ │ │ │ ├── noPermissions.css │ │ │ │ ├── noPermissions.less │ │ │ │ ├── orderDetail.css │ │ │ │ ├── orderDetail.less │ │ │ │ ├── productdetail.css │ │ │ │ ├── productdetail.less │ │ │ │ ├── promotionDetail.css │ │ │ │ ├── promotionDetail.less │ │ │ │ ├── regist.css │ │ │ │ ├── regist.less │ │ │ │ ├── security.css │ │ │ │ ├── security.less │ │ │ │ ├── security_group.css │ │ │ │ ├── security_group.less │ │ │ │ ├── security_log.css │ │ │ │ ├── security_log.less │ │ │ │ ├── security_ssh.css │ │ │ │ ├── security_ssh.less │ │ │ │ ├── template.css │ │ │ │ ├── transfer.css │ │ │ │ ├── transfer.less │ │ │ │ ├── voucher.css │ │ │ │ ├── voucher.less │ │ │ │ ├── withdrawal.css │ │ │ │ └── withdrawal.less │ │ │ ├── custom_iframe.php │ │ │ ├── finance.php │ │ │ ├── footer.php │ │ │ ├── forget.php │ │ │ ├── group_rules.php │ │ │ ├── header.php │ │ │ ├── home.php │ │ │ ├── js/ │ │ │ │ ├── NotFound.js │ │ │ │ ├── account.js │ │ │ │ ├── agreement.js │ │ │ │ ├── blog.js │ │ │ │ ├── citys/ │ │ │ │ │ └── citys.js │ │ │ │ ├── common/ │ │ │ │ │ ├── common.js │ │ │ │ │ ├── echarts.js │ │ │ │ │ ├── element.js │ │ │ │ │ ├── jquery.mini.js │ │ │ │ │ ├── lang.js │ │ │ │ │ └── vue.js │ │ │ │ ├── creatTemplate.js │ │ │ │ ├── finance.js │ │ │ │ ├── forget.js │ │ │ │ ├── goods.js │ │ │ │ ├── goodsList.js │ │ │ │ ├── group_rules.js │ │ │ │ ├── home.js │ │ │ │ ├── login.js │ │ │ │ ├── loginDialog.js │ │ │ │ ├── networkErro.js │ │ │ │ ├── newsView.js │ │ │ │ ├── noPermissions.js │ │ │ │ ├── oauth.js │ │ │ │ ├── orderDetail.js │ │ │ │ ├── pinyin/ │ │ │ │ │ └── pinyin.js │ │ │ │ ├── product.js │ │ │ │ ├── product_list.js │ │ │ │ ├── productdetail.js │ │ │ │ ├── regist.js │ │ │ │ ├── security.js │ │ │ │ ├── security_group.js │ │ │ │ ├── security_log.js │ │ │ │ ├── security_ssh.js │ │ │ │ ├── settlement.js │ │ │ │ ├── shoppingCar.js │ │ │ │ ├── template.js │ │ │ │ ├── transfer.js │ │ │ │ └── withdraw.js │ │ │ ├── lang/ │ │ │ │ ├── en-us/ │ │ │ │ │ ├── element-lang.js │ │ │ │ │ └── index.js │ │ │ │ ├── zh-cn/ │ │ │ │ │ ├── element-lang.js │ │ │ │ │ └── index.js │ │ │ │ └── zh-hk/ │ │ │ │ ├── element-lang.js │ │ │ │ └── index.js │ │ │ ├── login.php │ │ │ ├── networkErro.php │ │ │ ├── newsView.php │ │ │ ├── noPermissions.php │ │ │ ├── oauth.php │ │ │ ├── orderDetail.php │ │ │ ├── product.php │ │ │ ├── product_list.php │ │ │ ├── productdetail.php │ │ │ ├── regist.php │ │ │ ├── security.php │ │ │ ├── security_group.php │ │ │ ├── security_log.php │ │ │ ├── security_ssh.php │ │ │ ├── template.php │ │ │ ├── transfer.php │ │ │ ├── utils/ │ │ │ │ ├── directive.js │ │ │ │ ├── request.js │ │ │ │ └── util.js │ │ │ └── withdrawal.php │ │ ├── index.php │ │ ├── install/ │ │ │ ├── api/ │ │ │ │ ├── addon.js │ │ │ │ ├── client.js │ │ │ │ ├── common.js │ │ │ │ ├── install.js │ │ │ │ ├── manage.js │ │ │ │ ├── navigation.js │ │ │ │ ├── product.js │ │ │ │ ├── recording1559.js │ │ │ │ ├── setting.js │ │ │ │ ├── update.js │ │ │ │ └── withdrawal.js │ │ │ ├── config.php │ │ │ ├── css/ │ │ │ │ ├── common/ │ │ │ │ │ ├── reset.css │ │ │ │ │ └── reset.less │ │ │ │ ├── install.css │ │ │ │ ├── theme/ │ │ │ │ │ ├── cyan.less │ │ │ │ │ ├── default.less │ │ │ │ │ ├── green.less │ │ │ │ │ ├── index.less │ │ │ │ │ ├── orange.less │ │ │ │ │ ├── pink.less │ │ │ │ │ ├── purple.less │ │ │ │ │ ├── red.less │ │ │ │ │ ├── variables.less │ │ │ │ │ └── yellow.less │ │ │ │ └── update.css │ │ │ ├── idcsmart.sql │ │ │ ├── index.html │ │ │ ├── install.php │ │ │ ├── js/ │ │ │ │ ├── common/ │ │ │ │ │ ├── iuLayout.js │ │ │ │ │ ├── lang.js │ │ │ │ │ ├── layout.js │ │ │ │ │ └── vue.js │ │ │ │ ├── install.js │ │ │ │ ├── tinymce/ │ │ │ │ │ ├── langs/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── license.txt │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ └── emoticons/ │ │ │ │ │ │ └── js/ │ │ │ │ │ │ ├── emojiimages.js │ │ │ │ │ │ └── emojis.js │ │ │ │ │ └── tinymce.d.ts │ │ │ │ └── update.js │ │ │ ├── lang/ │ │ │ │ ├── en-us.js │ │ │ │ └── zh-cn.js │ │ │ └── utils/ │ │ │ └── request.js │ │ ├── nginx.conf │ │ ├── plugins/ │ │ │ ├── addon/ │ │ │ │ ├── idcsmart_announcement/ │ │ │ │ │ ├── IdcsmartAnnouncement.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── common.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartAnnouncementLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartAnnouncementModel.php │ │ │ │ │ │ └── IdcsmartAnnouncementTypeModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar_clientarea.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── announcement_create.html │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── new.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── new.css │ │ │ │ │ │ │ │ └── news_create.css │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ ├── new.js │ │ │ │ │ │ │ │ └── news_create.js │ │ │ │ │ │ │ └── lang/ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── news.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── news.css │ │ │ │ │ │ │ └── news.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── news.js │ │ │ │ │ │ │ └── news_detail.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── news_detail.html │ │ │ │ │ │ └── source.html │ │ │ │ │ ├── upload/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartAnnouncementValidate.php │ │ │ │ ├── idcsmart_certification/ │ │ │ │ │ ├── IdcsmartCertification.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── certification/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.php │ │ │ │ │ │ └── email_template/ │ │ │ │ │ │ └── idcsmart_certification_pass.html │ │ │ │ │ ├── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── CertificationController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── CertificationController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartCertificationLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── CertificationCompanyModel.php │ │ │ │ │ │ ├── CertificationLogModel.php │ │ │ │ │ │ └── CertificationPersonModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── real_name.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── real_name.css │ │ │ │ │ │ │ │ ├── real_name.less │ │ │ │ │ │ │ │ └── viewer.css │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ ├── real_name_approval.js │ │ │ │ │ │ │ │ ├── real_name_interface.js │ │ │ │ │ │ │ │ ├── real_name_setting.js │ │ │ │ │ │ │ │ ├── v_viewer.js │ │ │ │ │ │ │ │ └── viewer.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ │ ├── real_name_interface.html │ │ │ │ │ │ │ └── real_name_setting.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── certification.js │ │ │ │ │ │ ├── authentication_company.html │ │ │ │ │ │ ├── authentication_person.html │ │ │ │ │ │ ├── authentication_select.html │ │ │ │ │ │ ├── authentication_status.html │ │ │ │ │ │ ├── authentication_thrid.html │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ └── authentication.css │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── authenticationCompny.js │ │ │ │ │ │ │ ├── authenticationPerson.js │ │ │ │ │ │ │ ├── authenticationSelect.js │ │ │ │ │ │ │ ├── authenticationStatus.js │ │ │ │ │ │ │ └── authenticationThrid.js │ │ │ │ │ │ └── lang/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── upload/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── CertificationValidate.php │ │ │ │ ├── idcsmart_cloud/ │ │ │ │ │ ├── IdcsmartCloud.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── common.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── SecurityGroupController.php │ │ │ │ │ │ └── SecurityGroupRuleController.php │ │ │ │ │ ├── idcsmart_cloud/ │ │ │ │ │ │ └── IdcsmartCloud.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── ToolLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartSecurityGroupHostLinkModel.php │ │ │ │ │ │ ├── IdcsmartSecurityGroupLinkModel.php │ │ │ │ │ │ ├── IdcsmartSecurityGroupModel.php │ │ │ │ │ │ ├── IdcsmartSecurityGroupRuleLinkModel.php │ │ │ │ │ │ └── IdcsmartSecurityGroupRuleModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartSecurityGroupValidate.php │ │ │ │ ├── idcsmart_file_download/ │ │ │ │ │ ├── IdcsmartFileDownload.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── common.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartFileDownloadLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartFileFolderModel.php │ │ │ │ │ │ ├── IdcsmartFileLinkModel.php │ │ │ │ │ │ └── IdcsmartFileModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar_clientarea.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── file_download.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ └── file_download.css │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── file_download.js │ │ │ │ │ │ │ │ └── lang.js │ │ │ │ │ │ │ └── lang/ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── file_download.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── file_download.css │ │ │ │ │ │ │ └── file_download.less │ │ │ │ │ │ ├── file_download.html │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ └── file_download.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── source.html │ │ │ │ │ ├── upload/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartFileDownloadValidate.php │ │ │ │ ├── idcsmart_help/ │ │ │ │ │ ├── IdcsmartHelp.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── common.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartHelpLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartHelpModel.php │ │ │ │ │ │ └── IdcsmartHelpTypeModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar_clientarea.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── help.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── help.css │ │ │ │ │ │ │ │ ├── help.less │ │ │ │ │ │ │ │ ├── help_create.css │ │ │ │ │ │ │ │ └── help_index.css │ │ │ │ │ │ │ ├── help_create.html │ │ │ │ │ │ │ ├── help_index.html │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── help.js │ │ │ │ │ │ │ │ ├── help_create.js │ │ │ │ │ │ │ │ ├── help_index.js │ │ │ │ │ │ │ │ └── lang.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── request.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── help.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── help.css │ │ │ │ │ │ │ ├── help.less │ │ │ │ │ │ │ ├── helpTotal.css │ │ │ │ │ │ │ └── helpTotal.less │ │ │ │ │ │ ├── helpTotal.html │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── help.js │ │ │ │ │ │ │ └── helpTotal.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── source.html │ │ │ │ │ ├── upload/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartHelpValidate.php │ │ │ │ ├── idcsmart_news/ │ │ │ │ │ ├── IdcsmartNews.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── common.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartNewsLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartNewsModel.php │ │ │ │ │ │ └── IdcsmartNewsTypeModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar_clientarea.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── new.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── new.css │ │ │ │ │ │ │ │ └── news_create.css │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ ├── new.js │ │ │ │ │ │ │ │ └── news_create.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ │ └── news_create.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── account.js │ │ │ │ │ │ │ ├── aliHome.js │ │ │ │ │ │ │ ├── cloud.js │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ ├── file_download.js │ │ │ │ │ │ │ ├── finance.js │ │ │ │ │ │ │ ├── help.js │ │ │ │ │ │ │ ├── news.js │ │ │ │ │ │ │ ├── template.js │ │ │ │ │ │ │ └── ticket.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── news.css │ │ │ │ │ │ │ └── news.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── news.js │ │ │ │ │ │ │ └── news_detail.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── news_detail.html │ │ │ │ │ │ └── source.html │ │ │ │ │ ├── upload/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartNewsValidate.php │ │ │ │ ├── idcsmart_refund/ │ │ │ │ │ ├── IdcsmartRefund.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.php │ │ │ │ │ │ └── email_template/ │ │ │ │ │ │ ├── admin_refund_reject.html │ │ │ │ │ │ ├── client_create_refund.html │ │ │ │ │ │ ├── client_refund_cancel.html │ │ │ │ │ │ └── client_refund_success.html │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── RefundController.php │ │ │ │ │ │ ├── RefundProductController.php │ │ │ │ │ │ ├── RefundReasonController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── RefundController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartRefundModel.php │ │ │ │ │ │ ├── IdcsmartRefundProductModel.php │ │ │ │ │ │ └── IdcsmartRefundReasonModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── add_refund_product.html │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── refund.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ └── refund.css │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── addEditrefund.js │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ ├── refund.js │ │ │ │ │ │ │ │ └── refundCheck.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ │ ├── refund.html │ │ │ │ │ │ │ └── refund_product.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ ├── IdcsmartRefundProductValidate.php │ │ │ │ │ ├── IdcsmartRefundReasonValidate.php │ │ │ │ │ └── IdcsmartRefundValidate.php │ │ │ │ ├── idcsmart_renew/ │ │ │ │ │ ├── IdcsmartRenew.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.php │ │ │ │ │ │ └── email_template/ │ │ │ │ │ │ └── host_renew.html │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartRenewLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartRenewAutoModel.php │ │ │ │ │ │ └── IdcsmartRenewModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartRenewValidate.php │ │ │ │ ├── idcsmart_ssh_key/ │ │ │ │ │ ├── IdcsmartSshKey.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── common.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── IdcsmartSshKeyModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartSshKeyValidate.php │ │ │ │ ├── idcsmart_sub_account/ │ │ │ │ │ ├── IdcsmartSubAccount.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── common.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartSubAccountHostModel.php │ │ │ │ │ │ ├── IdcsmartSubAccountModel.php │ │ │ │ │ │ └── IdcsmartSubAccountProjectModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar_clientarea.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── addChildAccount.html │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── account.js │ │ │ │ │ │ │ └── childAccount.js │ │ │ │ │ │ ├── childAccount.html │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── childAccount.css │ │ │ │ │ │ │ └── childAccount.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── addChildAccount.js │ │ │ │ │ │ │ └── childAccount.js │ │ │ │ │ │ └── lang/ │ │ │ │ │ │ └── index.js │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartSubAccountValidate.php │ │ │ │ ├── idcsmart_ticket/ │ │ │ │ │ ├── IdcsmartTicket.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── auth_clientarea.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.php │ │ │ │ │ │ └── email_template/ │ │ │ │ │ │ ├── admin_reply_ticket.html │ │ │ │ │ │ ├── client_close_ticket.html │ │ │ │ │ │ ├── client_create_ticket.html │ │ │ │ │ │ └── client_reply_ticket.html │ │ │ │ │ ├── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── TicketController.php │ │ │ │ │ │ ├── TicketNotesController.php │ │ │ │ │ │ ├── TicketPrereplyController.php │ │ │ │ │ │ ├── TicketStatusController.php │ │ │ │ │ │ ├── TicketTypeController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── TicketController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── IdcsmartTicketLogic.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartTicketHostLinkModel.php │ │ │ │ │ │ ├── IdcsmartTicketModel.php │ │ │ │ │ │ ├── IdcsmartTicketNotesModel.php │ │ │ │ │ │ ├── IdcsmartTicketPrereplyModel.php │ │ │ │ │ │ ├── IdcsmartTicketReplyModel.php │ │ │ │ │ │ ├── IdcsmartTicketStatusModel.php │ │ │ │ │ │ ├── IdcsmartTicketTypeAdminLinkModel.php │ │ │ │ │ │ └── IdcsmartTicketTypeModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── sidebar.php │ │ │ │ │ ├── sidebar_clientarea.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ ├── client.js │ │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ │ ├── order.js │ │ │ │ │ │ │ │ ├── refund.js │ │ │ │ │ │ │ │ └── template.js │ │ │ │ │ │ │ ├── bak/ │ │ │ │ │ │ │ │ ├── ticket_internal.php │ │ │ │ │ │ │ │ └── ticket_internal_detail.php │ │ │ │ │ │ │ ├── client_ticket.html │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ └── opinionButton.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── addTicket.css │ │ │ │ │ │ │ │ ├── addTicket.less │ │ │ │ │ │ │ │ ├── opinionButton.css │ │ │ │ │ │ │ │ ├── opinionButton.less │ │ │ │ │ │ │ │ ├── order.css │ │ │ │ │ │ │ │ ├── order.less │ │ │ │ │ │ │ │ ├── refund.css │ │ │ │ │ │ │ │ ├── ticket_setting.css │ │ │ │ │ │ │ │ └── ticket_setting.less │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── client_ticket.js │ │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ │ ├── layout.js │ │ │ │ │ │ │ │ │ └── vue.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ ├── ticket_add.js │ │ │ │ │ │ │ │ ├── ticket_detail.js │ │ │ │ │ │ │ │ ├── ticket_setting.js │ │ │ │ │ │ │ │ └── xss.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ │ ├── ticket_add.html │ │ │ │ │ │ │ ├── ticket_detail.html │ │ │ │ │ │ │ └── ticket_setting.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ ├── addTicket.html │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── ticket.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── addTicket.css │ │ │ │ │ │ │ ├── addTicket.less │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ │ ├── ticket.css │ │ │ │ │ │ │ ├── ticket.less │ │ │ │ │ │ │ ├── ticketDetails.css │ │ │ │ │ │ │ └── ticketDetails.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── addTicket.js │ │ │ │ │ │ │ ├── ticket.js │ │ │ │ │ │ │ ├── ticketDetails.js │ │ │ │ │ │ │ ├── tinymce/ │ │ │ │ │ │ │ │ ├── langs/ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ └── zh_CN.js │ │ │ │ │ │ │ │ ├── license.txt │ │ │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ │ │ └── emoticons/ │ │ │ │ │ │ │ │ │ └── js/ │ │ │ │ │ │ │ │ │ ├── emojiimages.js │ │ │ │ │ │ │ │ │ └── emojis.js │ │ │ │ │ │ │ │ └── tinymce.d.ts │ │ │ │ │ │ │ └── xss.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ticket.html │ │ │ │ │ │ └── ticketDetails.html │ │ │ │ │ ├── upgrade.php │ │ │ │ │ ├── upload/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ ├── TicketStatusValidate.php │ │ │ │ │ ├── TicketTypeValidate.php │ │ │ │ │ └── TicketValidate.php │ │ │ │ ├── idcsmart_withdraw/ │ │ │ │ │ ├── IdcsmartWithdraw.php │ │ │ │ │ ├── README.md │ │ │ │ │ ├── auth.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── IdcsmartWithdrawMethodModel.php │ │ │ │ │ │ ├── IdcsmartWithdrawModel.php │ │ │ │ │ │ ├── IdcsmartWithdrawRejectReasonModel.php │ │ │ │ │ │ └── IdcsmartWithdrawRuleModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ │ └── withdrawal.js │ │ │ │ │ │ │ ├── balance_withdrawal_settings.html │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ │ ├── reset.css │ │ │ │ │ │ │ │ │ └── reset.less │ │ │ │ │ │ │ │ ├── login.css │ │ │ │ │ │ │ │ ├── theme/ │ │ │ │ │ │ │ │ │ ├── cyan.less │ │ │ │ │ │ │ │ │ ├── default.less │ │ │ │ │ │ │ │ │ ├── green.less │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ ├── orange.less │ │ │ │ │ │ │ │ │ ├── pink.less │ │ │ │ │ │ │ │ │ ├── purple.less │ │ │ │ │ │ │ │ │ ├── red.less │ │ │ │ │ │ │ │ │ ├── variables.less │ │ │ │ │ │ │ │ │ └── yellow.less │ │ │ │ │ │ │ │ ├── withdrawal.css │ │ │ │ │ │ │ │ └── withdrawal.less │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── balance_withdrawal_settings.js │ │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ │ ├── layout.js │ │ │ │ │ │ │ │ │ └── vue.js │ │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ │ ├── login.js │ │ │ │ │ │ │ │ ├── withdrawal.js │ │ │ │ │ │ │ │ ├── withdrawal_create.js │ │ │ │ │ │ │ │ ├── withdrawal_manage.js │ │ │ │ │ │ │ │ ├── withdrawal_setting.js │ │ │ │ │ │ │ │ └── withdrawal_update.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ │ │ ├── withdrawal_create.html │ │ │ │ │ │ │ ├── withdrawal_manage.html │ │ │ │ │ │ │ ├── withdrawal_setting.html │ │ │ │ │ │ │ └── withdrawal_update.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── validate/ │ │ │ │ │ └── IdcsmartWithdrawValidate.php │ │ │ │ └── promo_code/ │ │ │ │ ├── PromoCode.php │ │ │ │ ├── README.md │ │ │ │ ├── auth.php │ │ │ │ ├── controller/ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ └── clientarea/ │ │ │ │ │ └── IndexController.php │ │ │ │ ├── lang/ │ │ │ │ │ ├── en-us.php │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ └── zh-hk.php │ │ │ │ ├── logic/ │ │ │ │ │ └── PromoCodeLogic.php │ │ │ │ ├── model/ │ │ │ │ │ ├── PromoCodeLogModel.php │ │ │ │ │ ├── PromoCodeModel.php │ │ │ │ │ ├── PromoCodeProductModel.php │ │ │ │ │ └── PromoCodeProductNeedModel.php │ │ │ │ ├── route.php │ │ │ │ ├── template/ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── promo_code.js │ │ │ │ │ │ ├── create_promo_code.html │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── promo_code.css │ │ │ │ │ │ │ └── promo_code.less │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── create_promo_code.js │ │ │ │ │ │ │ ├── lang.js │ │ │ │ │ │ │ └── promo_code.js │ │ │ │ │ │ └── lang/ │ │ │ │ │ │ ├── en-us.js │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ └── zh-hk.js │ │ │ │ │ └── clientarea/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── validate/ │ │ │ │ └── PromoCodeValidate.php │ │ │ ├── captcha/ │ │ │ │ └── tp_captcha/ │ │ │ │ ├── TpCaptcha.php │ │ │ │ ├── config/ │ │ │ │ │ └── config.php │ │ │ │ ├── config.php │ │ │ │ ├── controller/ │ │ │ │ │ └── IndexController.php │ │ │ │ └── logic/ │ │ │ │ └── TpCaptchaLogic.php │ │ │ ├── certification/ │ │ │ │ └── idcsmartali/ │ │ │ │ ├── Idcsmartali.php │ │ │ │ ├── config/ │ │ │ │ │ └── config.php │ │ │ │ ├── config.php │ │ │ │ ├── controller/ │ │ │ │ │ └── IndexController.php │ │ │ │ ├── logic/ │ │ │ │ │ └── IdcsmartaliLogic.php │ │ │ │ └── phpqrcode/ │ │ │ │ ├── CHANGELOG │ │ │ │ ├── INSTALL │ │ │ │ ├── LICENSE │ │ │ │ ├── README │ │ │ │ ├── VERSION │ │ │ │ ├── bindings/ │ │ │ │ │ └── tcpdf/ │ │ │ │ │ └── qrcode.php │ │ │ │ ├── index.php │ │ │ │ ├── phpqrcode.php │ │ │ │ ├── qrbitstream.php │ │ │ │ ├── qrconfig.php │ │ │ │ ├── qrconst.php │ │ │ │ ├── qrencode.php │ │ │ │ ├── qrimage.php │ │ │ │ ├── qrinput.php │ │ │ │ ├── qrlib.php │ │ │ │ ├── qrmask.php │ │ │ │ ├── qrrscode.php │ │ │ │ ├── qrspec.php │ │ │ │ ├── qrsplit.php │ │ │ │ ├── qrtools.php │ │ │ │ └── tools/ │ │ │ │ ├── merge.bat │ │ │ │ ├── merge.php │ │ │ │ ├── merge.sh │ │ │ │ ├── merged_config.php │ │ │ │ └── merged_header.php │ │ │ ├── gateway/ │ │ │ │ ├── ali_pay_dmf/ │ │ │ │ │ ├── AliPayDmf.php │ │ │ │ │ ├── AopSdk.php │ │ │ │ │ ├── aop/ │ │ │ │ │ │ ├── AlipayMobilePublicMultiMediaClient.php │ │ │ │ │ │ ├── AlipayMobilePublicMultiMediaExecute.php │ │ │ │ │ │ ├── AopClient.php │ │ │ │ │ │ ├── AopEncrypt.php │ │ │ │ │ │ ├── EncryptParseItem.php │ │ │ │ │ │ ├── EncryptResponseData.php │ │ │ │ │ │ ├── SignData.php │ │ │ │ │ │ ├── request/ │ │ │ │ │ │ │ ├── AlipayAccountExrateRatequeryRequest.php │ │ │ │ │ │ │ ├── AlipayAcquireCancelRequest.php │ │ │ │ │ │ │ ├── AlipayAcquireCloseRequest.php │ │ │ │ │ │ │ ├── AlipayAcquireCreateandpayRequest.php │ │ │ │ │ │ │ ├── AlipayAcquirePrecreateRequest.php │ │ │ │ │ │ │ ├── AlipayAcquireQueryRequest.php │ │ │ │ │ │ │ ├── AlipayAcquireRefundRequest.php │ │ │ │ │ │ │ ├── AlipayAppTokenGetRequest.php │ │ │ │ │ │ │ ├── AlipayAssetAccountBindRequest.php │ │ │ │ │ │ │ ├── AlipayAssetAccountGetRequest.php │ │ │ │ │ │ │ ├── AlipayAssetAccountUnbindRequest.php │ │ │ │ │ │ │ ├── AlipayAssetPointBalanceQueryRequest.php │ │ │ │ │ │ │ ├── AlipayAssetPointBudgetQueryRequest.php │ │ │ │ │ │ │ ├── AlipayAssetPointOrderCreateRequest.php │ │ │ │ │ │ │ ├── AlipayAssetPointOrderQueryRequest.php │ │ │ │ │ │ │ ├── AlipayBossCsChannelQueryRequest.php │ │ │ │ │ │ │ ├── AlipayBossProdArrangementOfflineQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorCityQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorDepositCancelRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorDepositConfirmRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorDepositQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorFunctionQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorScriptQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherCancelRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherConfirmRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceCityfacilitatorVoucherUploadRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceEducateStudentinfoShareRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceMedicalCardQueryRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceMedicalInstcardBindRequest.php │ │ │ │ │ │ │ ├── AlipayCommerceMedicalInstcardCreateandpayRequest.php │ │ │ │ │ │ │ ├── AlipayDataBillDownloadurlGetRequest.php │ │ │ │ │ │ │ ├── AlipayDataDataexchangeSfasdfRequest.php │ │ │ │ │ │ │ ├── AlipayDataDataserviceBillDownloadurlQueryRequest.php │ │ │ │ │ │ │ ├── AlipayDataDataserviceChinaremodelQueryRequest.php │ │ │ │ │ │ │ ├── AlipayDataDataserviceCodeRecoRequest.php │ │ │ │ │ │ │ ├── AlipayDataDataserviceSdfsdfRequest.php │ │ │ │ │ │ │ ├── AlipayDataDataserviceUserlevelZrankGetRequest.php │ │ │ │ │ │ │ ├── AlipayEbppBillAddRequest.php │ │ │ │ │ │ │ ├── AlipayEbppBillBatchPayurlGetRequest.php │ │ │ │ │ │ │ ├── AlipayEbppBillGetRequest.php │ │ │ │ │ │ │ ├── AlipayEbppBillPayRequest.php │ │ │ │ │ │ │ ├── AlipayEbppBillPayurlGetRequest.php │ │ │ │ │ │ │ ├── AlipayEbppBillSearchRequest.php │ │ │ │ │ │ │ ├── AlipayEbppMerchantConfigGetRequest.php │ │ │ │ │ │ │ ├── AlipayEbppPdeductBillPayStatusRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodCreditGetRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDataPutRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnContractGetRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnDrawndnlistQueryRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnFeerecordQueryRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnLendingrecordQueryRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnPaymentscheduleGetRequest.php │ │ │ │ │ │ │ ├── AlipayEcapiprodDrawndnRepaymentrecordQueryRequest.php │ │ │ │ │ │ │ ├── AlipayEcardEduPublicBindRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarCarlibInfoPushRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarDataExternalQueryRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarDataExternalSendRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarDataserviceViolationinfoShareRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarPromoTicketPushRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarPromoTicketSyncRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarViolationCityPushRequest.php │ │ │ │ │ │ │ ├── AlipayEcoMycarViolationInfoPushRequest.php │ │ │ │ │ │ │ ├── AlipayExscUserCurrentsignGetRequest.php │ │ │ │ │ │ │ ├── AlipayExscUserFirstfundinpourGetRequest.php │ │ │ │ │ │ │ ├── AlipayExscUserFirstsignGetRequest.php │ │ │ │ │ │ │ ├── AlipayFlashsalesStockSyncUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayMappprodAccountBindingSyncRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCampaignActivityOfflineCreateRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCampaignActivityOfflineTriggerRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseCreateRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseModifyRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseOperateRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCdpAdvertiseQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMarketingCdpRecommendQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMdataTagGetRequest.php │ │ │ │ │ │ │ ├── AlipayMemberCardDeletecardRequest.php │ │ │ │ │ │ │ ├── AlipayMemberCardOpenRequest.php │ │ │ │ │ │ │ ├── AlipayMemberCardQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMemberConsumeNotifyRequest.php │ │ │ │ │ │ │ ├── AlipayMemberCouponQuerylistRequest.php │ │ │ │ │ │ │ ├── AlipayMicropayOrderConfirmpayurlGetRequest.php │ │ │ │ │ │ │ ├── AlipayMicropayOrderDirectPayRequest.php │ │ │ │ │ │ │ ├── AlipayMicropayOrderFreezeRequest.php │ │ │ │ │ │ │ ├── AlipayMicropayOrderFreezepayurlGetRequest.php │ │ │ │ │ │ │ ├── AlipayMicropayOrderGetRequest.php │ │ │ │ │ │ │ ├── AlipayMicropayOrderUnfreezeRequest.php │ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceAddRequest.php │ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceModifyRequest.php │ │ │ │ │ │ │ ├── AlipayMobileBeaconDeviceQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileBeaconMessageSendRequest.php │ │ │ │ │ │ │ ├── AlipayMobileBksigntokenVerifyRequest.php │ │ │ │ │ │ │ ├── AlipayMobileCodeCreateRequest.php │ │ │ │ │ │ │ ├── AlipayMobileCodeQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileDeviceinfoDynamicinfoAddRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicAccountAddRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicAccountDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicAccountQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicAccountResetRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicAppinfoUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicContactFollowListRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicFollowListRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicGisGetRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicInfoModifyRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicInfoQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelAddRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUserAddRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUserDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicLabelUserQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuAddRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuGetRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuUserQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMenuUserUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessageCustomSendRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessageLabelSendRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessagePushRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessageSingleSendRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessageTotalSendRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessagebatchPushRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMessagespecifyPushRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicMockListsmlistApiRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicQrcodeCreateRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicShortlinkCreateRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicStdMockListsmlistApiRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageGetRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageModifyRequest.php │ │ │ │ │ │ │ ├── AlipayMobilePublicTemplateMessageQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileRecommendGetRequest.php │ │ │ │ │ │ │ ├── AlipayMobileShakeUserQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileStdPublicAccountQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileStdPublicExpressUserQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileStdPublicFollowListRequest.php │ │ │ │ │ │ │ ├── AlipayMobileStdPublicMenuQueryRequest.php │ │ │ │ │ │ │ ├── AlipayMobileStdPublicMessageCustomSendRequest.php │ │ │ │ │ │ │ ├── AlipayMpointprodBenefitDetailGetRequest.php │ │ │ │ │ │ │ ├── AlipayMsaasPromotionCpainfoCreateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketApplyorderBatchqueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketItemCreateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketItemModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketItemStateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsBatchqueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsClaimRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsCreateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsQrcodeQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketLeadsReleaseRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketProductBatchqueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketProductQuerydetailRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketProductUsedetailRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketReportGetRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumBindRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumCreateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumDeleteRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAlbumUnbindRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopAssignstaffRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopBatchqueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopCreateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopDiscountQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopPublicBindRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopPublicUnbindRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketShopQuerydetailRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherCodeUploadRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherCreateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherOfflineRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherStatusQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMarketingVoucherUseRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageDownloadRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineMaterialImageUploadRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineProviderEquipmentAuthQuerybypageRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineProviderEquipmentAuthRemoveRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineProviderQuerystaffRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineProviderStaffUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsClaimstatusRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsContractconfirmRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsInfoAddRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsInfoQuerybypageRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsMerchantEquipmentQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOfflineSaleleadsQuerybyidsRequest.php │ │ │ │ │ │ │ ├── AlipayOpenAppCodetesttestRequest.php │ │ │ │ │ │ │ ├── AlipayOpenAuthIndustryPlatformCreateTokenRequest.php │ │ │ │ │ │ │ ├── AlipayOpenAuthTokenAppQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOpenAuthTokenAppRequest.php │ │ │ │ │ │ │ ├── AlipayOpenPublicMultimediaDownloadProxyRequest.php │ │ │ │ │ │ │ ├── AlipayOpenPublicPartnerMenuOperateRequest.php │ │ │ │ │ │ │ ├── AlipayOpenPublicPartnerMenuQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOpenPublicPartnerSubscribeSyncRequest.php │ │ │ │ │ │ │ ├── AlipayOpenPublicTemplateMessageIndustryModifyRequest.php │ │ │ │ │ │ │ ├── AlipayOpenPublicThirdCustomerServiceRequest.php │ │ │ │ │ │ │ ├── AlipayOpenServicemarketOrderNotifyRequest.php │ │ │ │ │ │ │ ├── AlipayOpenServicemarketOrderQueryRequest.php │ │ │ │ │ │ │ ├── AlipayOperatorMobileBindRequest.php │ │ │ │ │ │ │ ├── AlipayPassCodeAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassCodeVerifyRequest.php │ │ │ │ │ │ │ ├── AlipayPassFileAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassInstanceAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassInstanceUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayPassSyncAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassSyncUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayPassTemplateAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassTemplateUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayPassTplAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassTplContentAddRequest.php │ │ │ │ │ │ │ ├── AlipayPassTplContentUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayPassTplUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayPassVerifyQueryRequest.php │ │ │ │ │ │ │ ├── AlipayPcreditHuabeiPromoQueryRequest.php │ │ │ │ │ │ │ ├── AlipayPlatformOpenidGetRequest.php │ │ │ │ │ │ │ ├── AlipayPlatformUseridGetRequest.php │ │ │ │ │ │ │ ├── AlipayPointBalanceGetRequest.php │ │ │ │ │ │ │ ├── AlipayPointBudgetGetRequest.php │ │ │ │ │ │ │ ├── AlipayPointOrderAddRequest.php │ │ │ │ │ │ │ ├── AlipayPointOrderGetRequest.php │ │ │ │ │ │ │ ├── AlipayPromorulecenterRuleAnalyzeRequest.php │ │ │ │ │ │ │ ├── AlipaySecurityInfoAnalysisRequest.php │ │ │ │ │ │ │ ├── AlipaySecurityProdAlipaySecurityProdTestRequest.php │ │ │ │ │ │ │ ├── AlipaySecurityProdAmlriskQueryRequest.php │ │ │ │ │ │ │ ├── AlipaySecurityRiskDetectRequest.php │ │ │ │ │ │ │ ├── AlipaySecurityRiskRainscoreQueryRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoAddRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoDeleteRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoGetRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoSearchRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeDeviceInfoUpdateRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoAddRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoDeleteRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoGetRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeShopInfoUpdateRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeShopPublicBindRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeShopPublicUnbindRequest.php │ │ │ │ │ │ │ ├── AlipaySiteprobeUserInfoGetRequest.php │ │ │ │ │ │ │ ├── AlipaySystemOauthTokenRequest.php │ │ │ │ │ │ │ ├── AlipayTradeCancelRequest.php │ │ │ │ │ │ │ ├── AlipayTradeCloseRequest.php │ │ │ │ │ │ │ ├── AlipayTradeCreateRequest.php │ │ │ │ │ │ │ ├── AlipayTradeFastpayRefundQueryRequest.php │ │ │ │ │ │ │ ├── AlipayTradePayRequest.php │ │ │ │ │ │ │ ├── AlipayTradePrecreateRequest.php │ │ │ │ │ │ │ ├── AlipayTradeQueryRequest.php │ │ │ │ │ │ │ ├── AlipayTradeRefundRequest.php │ │ │ │ │ │ │ ├── AlipayTradeVendorpayDevicedataUploadRequest.php │ │ │ │ │ │ │ ├── AlipayTradeWapPayRequest.php │ │ │ │ │ │ │ ├── AlipayTransferThirdpartyBillCreateRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserAuthSendRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserReportGetRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserRiskSummaryGetRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserRiskidentifyGetRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserScoreGetRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserStandardVerifyGetRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserTokenGetRequest.php │ │ │ │ │ │ │ ├── AlipayTrustUserZminfoPairGetRequest.php │ │ │ │ │ │ │ ├── AlipayUserAccountFreezeGetRequest.php │ │ │ │ │ │ │ ├── AlipayUserAccountGetRequest.php │ │ │ │ │ │ │ ├── AlipayUserAccountSearchRequest.php │ │ │ │ │ │ │ ├── AlipayUserAccountUseridBatchqueryRequest.php │ │ │ │ │ │ │ ├── AlipayUserContractGetRequest.php │ │ │ │ │ │ │ ├── AlipayUserFinanceinfoShareRequest.php │ │ │ │ │ │ │ ├── AlipayUserGetRequest.php │ │ │ │ │ │ │ ├── AlipayUserMemberCardUpdateRequest.php │ │ │ │ │ │ │ ├── AlipayUserTestRequest.php │ │ │ │ │ │ │ ├── AlipayUserTradeSearchRequest.php │ │ │ │ │ │ │ ├── AlipayUserUserinfoShareRequest.php │ │ │ │ │ │ │ ├── AlipayZdataassetsEasyserviceRequest.php │ │ │ │ │ │ │ ├── AlipayZdataassetsFcdatalabZdatamergetaskRequest.php │ │ │ │ │ │ │ ├── AlipayZdataassetsMetadataRequest.php │ │ │ │ │ │ │ ├── AlipayZdatafrontCommonQueryRequest.php │ │ │ │ │ │ │ ├── AlipayZdatafrontDatatransferedFileuploadRequest.php │ │ │ │ │ │ │ ├── AlipayZdatafrontDatatransferedSendRequest.php │ │ │ │ │ │ │ ├── AlipayZdataserviceUnidataQueryRequest.php │ │ │ │ │ │ │ ├── AlipayZmscoreZrankGetRequest.php │ │ │ │ │ │ │ ├── MonitorHeartbeatSynRequest.php │ │ │ │ │ │ │ └── ZhimaMerchantTestPracticeRequest.php │ │ │ │ │ │ └── test/ │ │ │ │ │ │ └── TestImage.php │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── config.php │ │ │ │ │ ├── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ ├── f2fpay/ │ │ │ │ │ │ ├── barpay_test.php │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ └── config.php │ │ │ │ │ │ ├── log/ │ │ │ │ │ │ │ └── log.txt │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── builder/ │ │ │ │ │ │ │ │ ├── AlipayTradeCancelContentBuilder.php │ │ │ │ │ │ │ │ ├── AlipayTradePayContentBuilder.php │ │ │ │ │ │ │ │ ├── AlipayTradePrecreateContentBuilder.php │ │ │ │ │ │ │ │ ├── AlipayTradeQueryContentBuilder.php │ │ │ │ │ │ │ │ ├── AlipayTradeRefundContentBuilder.php │ │ │ │ │ │ │ │ ├── ContentBuilder.php │ │ │ │ │ │ │ │ ├── ExtendParams.php │ │ │ │ │ │ │ │ ├── GoodsDetail.php │ │ │ │ │ │ │ │ └── RoyaltyDetailInfo.php │ │ │ │ │ │ │ └── result/ │ │ │ │ │ │ │ ├── AlipayF2FPayResult.php │ │ │ │ │ │ │ ├── AlipayF2FPrecreateResult.php │ │ │ │ │ │ │ ├── AlipayF2FQueryResult.php │ │ │ │ │ │ │ └── AlipayF2FRefundResult.php │ │ │ │ │ │ ├── qrpay.php │ │ │ │ │ │ ├── qrpay_test.php │ │ │ │ │ │ ├── query_test.php │ │ │ │ │ │ ├── refund_test.php │ │ │ │ │ │ └── service/ │ │ │ │ │ │ └── AlipayTradeService.php │ │ │ │ │ ├── lotusphp_runtime/ │ │ │ │ │ │ ├── Autoloader/ │ │ │ │ │ │ │ └── Autoloader.php │ │ │ │ │ │ ├── Cache/ │ │ │ │ │ │ │ ├── Adapter/ │ │ │ │ │ │ │ │ ├── CacheAdapter.php │ │ │ │ │ │ │ │ ├── CacheAdapterApc.php │ │ │ │ │ │ │ │ ├── CacheAdapterEAccelerator.php │ │ │ │ │ │ │ │ ├── CacheAdapterFile.php │ │ │ │ │ │ │ │ ├── CacheAdapterMemcache.php │ │ │ │ │ │ │ │ ├── CacheAdapterMemcached.php │ │ │ │ │ │ │ │ ├── CacheAdapterPhps.php │ │ │ │ │ │ │ │ └── CacheAdapterXcache.php │ │ │ │ │ │ │ ├── Cache.php │ │ │ │ │ │ │ ├── CacheAdapterFactory.php │ │ │ │ │ │ │ ├── CacheConfigBuilder.php │ │ │ │ │ │ │ ├── CacheConnectionManager.php │ │ │ │ │ │ │ ├── CacheHandle.php │ │ │ │ │ │ │ └── QueryEngine/ │ │ │ │ │ │ │ └── TableDataGateway/ │ │ │ │ │ │ │ └── CacheTableDataGateway.php │ │ │ │ │ │ ├── Captcha/ │ │ │ │ │ │ │ ├── Captcha.php │ │ │ │ │ │ │ └── CaptchaImageEngine.php │ │ │ │ │ │ ├── Config.php │ │ │ │ │ │ ├── ConfigExpression.php │ │ │ │ │ │ ├── Cookie/ │ │ │ │ │ │ │ └── Cookie.php │ │ │ │ │ │ ├── DB/ │ │ │ │ │ │ │ ├── Adapter/ │ │ │ │ │ │ │ │ ├── ConnectionAdapter/ │ │ │ │ │ │ │ │ │ ├── DbConnectionAdapter.php │ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterMysql.php │ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterMysqli.php │ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterPdo.php │ │ │ │ │ │ │ │ │ ├── DbConnectionAdapterPgsql.php │ │ │ │ │ │ │ │ │ └── DbConnectionAdapterSqlite.php │ │ │ │ │ │ │ │ └── SqlAdapter/ │ │ │ │ │ │ │ │ ├── DbSqlAdapter.php │ │ │ │ │ │ │ │ ├── DbSqlAdapterMysql.php │ │ │ │ │ │ │ │ ├── DbSqlAdapterPgsql.php │ │ │ │ │ │ │ │ └── DbSqlAdapterSqlite.php │ │ │ │ │ │ │ ├── Db.php │ │ │ │ │ │ │ ├── DbAdapterFactory.php │ │ │ │ │ │ │ ├── DbConfigBuilder.php │ │ │ │ │ │ │ ├── DbConnectionManager.php │ │ │ │ │ │ │ ├── DbHandle.php │ │ │ │ │ │ │ ├── DbSqlExpression.php │ │ │ │ │ │ │ └── QueryEngine/ │ │ │ │ │ │ │ ├── SqlMap/ │ │ │ │ │ │ │ │ ├── AbstractDbSqlMapFilterObject.php │ │ │ │ │ │ │ │ ├── DbSqlMapClient.php │ │ │ │ │ │ │ │ └── DbSqlMapResultFactory.php │ │ │ │ │ │ │ └── TableDataGateway/ │ │ │ │ │ │ │ ├── DbTableDataGateway.php │ │ │ │ │ │ │ ├── DbTableRelation.php │ │ │ │ │ │ │ └── DbWhereCondition.php │ │ │ │ │ │ ├── Inflector/ │ │ │ │ │ │ │ └── Inflector.php │ │ │ │ │ │ ├── Logger/ │ │ │ │ │ │ │ └── Logger.php │ │ │ │ │ │ ├── Lotus.php │ │ │ │ │ │ ├── MVC/ │ │ │ │ │ │ │ ├── Action.php │ │ │ │ │ │ │ ├── Component.php │ │ │ │ │ │ │ ├── Context.php │ │ │ │ │ │ │ ├── Dispatcher.php │ │ │ │ │ │ │ ├── TemplateView.php │ │ │ │ │ │ │ └── View.php │ │ │ │ │ │ ├── ObjectUtil/ │ │ │ │ │ │ │ └── ObjectUtil.php │ │ │ │ │ │ ├── Pagination/ │ │ │ │ │ │ │ └── Pagination.php │ │ │ │ │ │ ├── RBAC/ │ │ │ │ │ │ │ └── Rbac.php │ │ │ │ │ │ ├── Router/ │ │ │ │ │ │ │ └── Router.php │ │ │ │ │ │ ├── Session/ │ │ │ │ │ │ │ ├── Session.php │ │ │ │ │ │ │ ├── SessionStore │ │ │ │ │ │ │ └── Store/ │ │ │ │ │ │ │ ├── SessionStoreFile.php │ │ │ │ │ │ │ ├── SessionStoreMemcache.php │ │ │ │ │ │ │ ├── SessionStoreMysql.php │ │ │ │ │ │ │ └── SessionStoreSqlite.php │ │ │ │ │ │ ├── Store.php │ │ │ │ │ │ ├── StoreFile.php │ │ │ │ │ │ ├── StoreMemory.php │ │ │ │ │ │ ├── Url/ │ │ │ │ │ │ │ └── Url.php │ │ │ │ │ │ ├── Validator/ │ │ │ │ │ │ │ ├── Validator.php │ │ │ │ │ │ │ └── ValidatorDtd.php │ │ │ │ │ │ ├── XML/ │ │ │ │ │ │ │ └── Xml.php │ │ │ │ │ │ └── shortcut.php │ │ │ │ │ └── phpqrcode/ │ │ │ │ │ ├── CHANGELOG │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README │ │ │ │ │ ├── VERSION │ │ │ │ │ ├── bindings/ │ │ │ │ │ │ └── tcpdf/ │ │ │ │ │ │ └── qrcode.php │ │ │ │ │ ├── index.php │ │ │ │ │ ├── phpqrcode.php │ │ │ │ │ ├── qrbitstream.php │ │ │ │ │ ├── qrconfig.php │ │ │ │ │ ├── qrconst.php │ │ │ │ │ ├── qrencode.php │ │ │ │ │ ├── qrimage.php │ │ │ │ │ ├── qrinput.php │ │ │ │ │ ├── qrlib.php │ │ │ │ │ ├── qrmask.php │ │ │ │ │ ├── qrrscode.php │ │ │ │ │ ├── qrspec.php │ │ │ │ │ ├── qrsplit.php │ │ │ │ │ ├── qrtools.php │ │ │ │ │ └── tools/ │ │ │ │ │ ├── merge.bat │ │ │ │ │ ├── merge.php │ │ │ │ │ ├── merge.sh │ │ │ │ │ ├── merged_config.php │ │ │ │ │ └── merged_header.php │ │ │ │ ├── user_custom/ │ │ │ │ │ ├── UserCustom.php │ │ │ │ │ ├── UserCustomPlugin.php │ │ │ │ │ ├── config.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ │ └── IndexController.php │ │ │ │ │ └── model/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── wx_pay/ │ │ │ │ ├── WxPay.php │ │ │ │ ├── behavior/ │ │ │ │ │ └── ConfigController.php │ │ │ │ ├── cert/ │ │ │ │ │ └── 1.pem │ │ │ │ ├── config.php │ │ │ │ ├── controller/ │ │ │ │ │ ├── AdminIndexController.php │ │ │ │ │ ├── ApiIndexController.php │ │ │ │ │ ├── IndexController.php │ │ │ │ │ └── NotifyController.php │ │ │ │ ├── demo.xml │ │ │ │ ├── lib/ │ │ │ │ │ ├── WxPay.Config.Interface.php │ │ │ │ │ ├── WxPayApi.php │ │ │ │ │ ├── WxPayConfig.php │ │ │ │ │ ├── WxPayData.php │ │ │ │ │ ├── WxPayException.php │ │ │ │ │ └── WxPayNotify.php │ │ │ │ ├── log.php │ │ │ │ ├── phpqrcode/ │ │ │ │ │ ├── CHANGELOG │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README │ │ │ │ │ ├── VERSION │ │ │ │ │ ├── bindings/ │ │ │ │ │ │ └── tcpdf/ │ │ │ │ │ │ └── qrcode.php │ │ │ │ │ ├── index.php │ │ │ │ │ ├── phpqrcode.php │ │ │ │ │ ├── qrbitstream.php │ │ │ │ │ ├── qrconfig.php │ │ │ │ │ ├── qrconst.php │ │ │ │ │ ├── qrencode.php │ │ │ │ │ ├── qrimage.php │ │ │ │ │ ├── qrinput.php │ │ │ │ │ ├── qrlib.php │ │ │ │ │ ├── qrmask.php │ │ │ │ │ ├── qrrscode.php │ │ │ │ │ ├── qrspec.php │ │ │ │ │ ├── qrsplit.php │ │ │ │ │ ├── qrtools.php │ │ │ │ │ └── tools/ │ │ │ │ │ ├── merge.bat │ │ │ │ │ ├── merge.php │ │ │ │ │ ├── merge.sh │ │ │ │ │ ├── merged_config.php │ │ │ │ │ └── merged_header.php │ │ │ │ └── validate/ │ │ │ │ └── WxPayValidate.php │ │ │ ├── mail/ │ │ │ │ ├── idcsmartmail/ │ │ │ │ │ ├── Idcsmartmail.php │ │ │ │ │ └── config.php │ │ │ │ └── smtp/ │ │ │ │ ├── Smtp.php │ │ │ │ └── config.php │ │ │ ├── oss/ │ │ │ │ └── local_oss/ │ │ │ │ ├── LocalOss.php │ │ │ │ ├── config/ │ │ │ │ │ └── config.php │ │ │ │ └── config.php │ │ │ ├── reserver/ │ │ │ │ ├── idcsmart_common/ │ │ │ │ │ ├── IdcsmartCommon.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── idcsmart_common_version.txt │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── common_config.js │ │ │ │ │ │ │ └── common_product.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudDetail.css │ │ │ │ │ │ │ ├── cloudDetail.less │ │ │ │ │ │ │ ├── common_config.css │ │ │ │ │ │ │ ├── common_config.less │ │ │ │ │ │ │ ├── common_product_detail.css │ │ │ │ │ │ │ ├── common_product_detail.less │ │ │ │ │ │ │ ├── common_product_list.css │ │ │ │ │ │ │ └── common_product_list.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── common_product.js │ │ │ │ │ │ │ ├── common_product_detail.js │ │ │ │ │ │ │ ├── common_product_list.js │ │ │ │ │ │ │ └── echarts.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ └── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ └── vnc_page.html │ │ │ │ ├── mf_cloud/ │ │ │ │ │ ├── MfCloud.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── hooks.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── mf_cloud_version.txt │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── mf_cloud.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── mf-cloud.css │ │ │ │ │ │ │ │ └── mf-cloud.less │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ └── module_operate.js │ │ │ │ │ │ │ └── module_operate.html │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── cloud.js │ │ │ │ │ │ │ ├── goodsList.js │ │ │ │ │ │ │ ├── mf_cloud.js │ │ │ │ │ │ │ └── order.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudDetail.css │ │ │ │ │ │ │ ├── cloudDetail.less │ │ │ │ │ │ │ ├── cloudList.css │ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ │ ├── goodsList.css │ │ │ │ │ │ │ ├── mf_cloud.css │ │ │ │ │ │ │ ├── mf_cloud.less │ │ │ │ │ │ │ ├── order.css │ │ │ │ │ │ │ └── order.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── cloudDetail.js │ │ │ │ │ │ │ ├── cloudList.js │ │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ │ └── mf_cloud.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ ├── validate/ │ │ │ │ │ │ ├── CartValidate.php │ │ │ │ │ │ └── HostValidate.php │ │ │ │ │ └── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ └── vnc_page.html │ │ │ │ ├── mf_dcim/ │ │ │ │ │ ├── MfDcim.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── mf_dcim_version.txt │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── mf_dcim.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── mf-dcim.css │ │ │ │ │ │ │ │ └── mf-dcim.less │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── mf_dcim.js │ │ │ │ │ │ │ │ └── module_operate.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── module_operate.html │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── dcim.js │ │ │ │ │ │ │ ├── dcimOrder.js │ │ │ │ │ │ │ └── mf_dcim.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ │ ├── dcimDetail.css │ │ │ │ │ │ │ ├── dcimDetail.less │ │ │ │ │ │ │ ├── dcimList.css │ │ │ │ │ │ │ ├── dcimOrder.css │ │ │ │ │ │ │ ├── dcimOrder.less │ │ │ │ │ │ │ ├── mf_dcim.css │ │ │ │ │ │ │ └── mf_dcim.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── dcimDetail.js │ │ │ │ │ │ │ ├── dcimList.js │ │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ │ └── mf_dcim.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ ├── validate/ │ │ │ │ │ │ └── HostValidate.php │ │ │ │ │ └── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ └── vnc_page.html │ │ │ │ ├── mf_finance/ │ │ │ │ │ ├── MfFinance.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── hooks.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── mf_finance_version.txt │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── SystemLogModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── mf_cloud.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── mf-cloud.css │ │ │ │ │ │ │ │ └── mf-cloud.less │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── mf_cloud.js │ │ │ │ │ │ │ │ └── module_operate.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── module_operate.html │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── cloud.js │ │ │ │ │ │ │ ├── goodsList.js │ │ │ │ │ │ │ ├── mf_cloud.js │ │ │ │ │ │ │ ├── order.js │ │ │ │ │ │ │ └── remf_finance.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudDetail.css │ │ │ │ │ │ │ ├── cloudDetail.less │ │ │ │ │ │ │ ├── cloudList.css │ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ │ ├── remf_finance.css │ │ │ │ │ │ │ └── remf_finance.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── cloudDetail.js │ │ │ │ │ │ │ ├── cloudList.js │ │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ │ └── remf_finance.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ ├── validate/ │ │ │ │ │ │ └── HostValidate.php │ │ │ │ │ └── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ └── vnc_page.html │ │ │ │ ├── mf_finance_common/ │ │ │ │ │ ├── MfFinanceCommon.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── mf_finance_common_version.txt │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── SystemLogModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── cloud.js │ │ │ │ │ │ │ ├── dcim.js │ │ │ │ │ │ │ ├── goodsList.js │ │ │ │ │ │ │ ├── mf_cloud.js │ │ │ │ │ │ │ ├── order.js │ │ │ │ │ │ │ └── remf_finance.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudDetail.css │ │ │ │ │ │ │ ├── cloudDetail.less │ │ │ │ │ │ │ ├── cloudList.css │ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ │ ├── dcimDetail.css │ │ │ │ │ │ │ ├── dcimList.css │ │ │ │ │ │ │ ├── goodsList.css │ │ │ │ │ │ │ ├── mf_cloud.css │ │ │ │ │ │ │ ├── mf_cloud.less │ │ │ │ │ │ │ ├── order.css │ │ │ │ │ │ │ ├── order.less │ │ │ │ │ │ │ ├── remf_finance.css │ │ │ │ │ │ │ └── remf_finance.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── cloudDetail.js │ │ │ │ │ │ │ ├── cloudList.js │ │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ │ └── remf_finance.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ ├── validate/ │ │ │ │ │ │ └── HostValidate.php │ │ │ │ │ └── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ └── vnc_page.html │ │ │ │ ├── mf_finance_dcim/ │ │ │ │ │ ├── MfFinanceDcim.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── mf_finance_dcim_version.txt │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── SystemLogModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── mf_dcim.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── mf-dcim.css │ │ │ │ │ │ │ │ └── mf-dcim.less │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ ├── mf_dcim.js │ │ │ │ │ │ │ │ └── module_operate.js │ │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── module_operate.html │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── cloud.js │ │ │ │ │ │ │ ├── dcim.js │ │ │ │ │ │ │ ├── goodsList.js │ │ │ │ │ │ │ ├── mf_cloud.js │ │ │ │ │ │ │ ├── order.js │ │ │ │ │ │ │ └── remf_finance.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudDetail.css │ │ │ │ │ │ │ ├── cloudDetail.less │ │ │ │ │ │ │ ├── cloudList.css │ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ │ ├── remf_finance.css │ │ │ │ │ │ │ └── remf_finance.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── cloudDetail.js │ │ │ │ │ │ │ ├── cloudList.js │ │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ │ └── remf_finance.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ ├── validate/ │ │ │ │ │ │ └── HostValidate.php │ │ │ │ │ └── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ └── vnc_page.html │ │ │ │ ├── whmcs_cloud/ │ │ │ │ │ ├── WhmcsCloud.php │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── en-us.php │ │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ │ └── zh-hk.php │ │ │ │ │ ├── logic/ │ │ │ │ │ │ └── RouteLogic.php │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── SystemLogModel.php │ │ │ │ │ ├── route.php │ │ │ │ │ ├── template/ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── mf_cloud.js │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ ├── mf-cloud.css │ │ │ │ │ │ │ │ └── mf-cloud.less │ │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ │ └── module_operate.js │ │ │ │ │ │ │ └── module_operate.html │ │ │ │ │ │ ├── cart/ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ │ └── goods.html │ │ │ │ │ │ └── clientarea/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── cloud.js │ │ │ │ │ │ │ ├── goodsList.js │ │ │ │ │ │ │ ├── mf_cloud.js │ │ │ │ │ │ │ ├── order.js │ │ │ │ │ │ │ └── rewhmcs_cloud.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── cloudDetail.css │ │ │ │ │ │ │ ├── cloudDetail.less │ │ │ │ │ │ │ ├── cloudList.css │ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ │ ├── goodsList.css │ │ │ │ │ │ │ ├── mf_cloud.css │ │ │ │ │ │ │ ├── mf_cloud.less │ │ │ │ │ │ │ ├── order.css │ │ │ │ │ │ │ ├── order.less │ │ │ │ │ │ │ ├── rewhmcs_cloud.css │ │ │ │ │ │ │ └── rewhmcs_cloud.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── cloudDetail.js │ │ │ │ │ │ │ ├── cloudList.js │ │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ │ └── rewhmcs_cloud.js │ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── product_detail.html │ │ │ │ │ │ └── product_list.html │ │ │ │ │ ├── validate/ │ │ │ │ │ │ └── HostValidate.php │ │ │ │ │ ├── view/ │ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ │ ├── test.websock.js │ │ │ │ │ │ │ │ ├── test.webutil.js │ │ │ │ │ │ │ │ └── vnc_playback.html │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── b64-to-binary.pl │ │ │ │ │ │ │ │ ├── genkeysymdef.js │ │ │ │ │ │ │ │ ├── img2js.py │ │ │ │ │ │ │ │ ├── json2graph.py │ │ │ │ │ │ │ │ ├── launch.sh │ │ │ │ │ │ │ │ ├── u2x11 │ │ │ │ │ │ │ │ ├── use_require.js │ │ │ │ │ │ │ │ ├── use_require_helpers.js │ │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ │ ├── vendor/ │ │ │ │ │ │ │ │ ├── browser-es-module-loader/ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── dist/ │ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ │ ├── rollup.config.js │ │ │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ │ │ ├── babel-worker.js │ │ │ │ │ │ │ │ │ └── browser-es-module-loader.js │ │ │ │ │ │ │ │ ├── pako/ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ │ └── common.js │ │ │ │ │ │ │ │ │ └── zlib/ │ │ │ │ │ │ │ │ │ ├── adler32.js │ │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ │ ├── crc32.js │ │ │ │ │ │ │ │ │ ├── deflate.js │ │ │ │ │ │ │ │ │ ├── gzheader.js │ │ │ │ │ │ │ │ │ ├── inffast.js │ │ │ │ │ │ │ │ │ ├── inflate.js │ │ │ │ │ │ │ │ │ ├── inftrees.js │ │ │ │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ │ │ │ ├── trees.js │ │ │ │ │ │ │ │ │ └── zstream.js │ │ │ │ │ │ │ │ └── promise.js │ │ │ │ │ │ │ └── vnc_lite.html │ │ │ │ │ │ └── vnc_page.html │ │ │ │ │ └── whmcs_cloud_version.txt │ │ │ │ └── whmcs_dcim/ │ │ │ │ ├── WhmcsDcim.php │ │ │ │ ├── controller/ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ └── CloudController.php │ │ │ │ │ └── home/ │ │ │ │ │ └── CloudController.php │ │ │ │ ├── lang/ │ │ │ │ │ ├── en-us.php │ │ │ │ │ ├── zh-cn.php │ │ │ │ │ └── zh-hk.php │ │ │ │ ├── logic/ │ │ │ │ │ └── RouteLogic.php │ │ │ │ ├── middleware/ │ │ │ │ │ └── CheckAuthMiddleware.php │ │ │ │ ├── model/ │ │ │ │ │ └── SystemLogModel.php │ │ │ │ ├── route.php │ │ │ │ ├── template/ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ └── mf_dcim.js │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ ├── mf-cloud.css │ │ │ │ │ │ │ └── mf-cloud.less │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ └── module_operate.js │ │ │ │ │ │ └── module_operate.html │ │ │ │ │ ├── cart/ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ └── default/ │ │ │ │ │ │ └── goods.html │ │ │ │ │ └── clientarea/ │ │ │ │ │ └── pc/ │ │ │ │ │ └── default/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── dcim.js │ │ │ │ │ │ ├── dcimOrder.js │ │ │ │ │ │ ├── mf_dcim.js │ │ │ │ │ │ └── rewhmcs_dcim.js │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── cloudTop.css │ │ │ │ │ │ ├── cloudTop.less │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ │ └── element.css │ │ │ │ │ │ ├── dcimDetail.css │ │ │ │ │ │ ├── dcimDetail.less │ │ │ │ │ │ ├── dcimList.css │ │ │ │ │ │ ├── dcimOrder.css │ │ │ │ │ │ ├── dcimOrder.less │ │ │ │ │ │ ├── mf_dcim.css │ │ │ │ │ │ ├── mf_dcim.less │ │ │ │ │ │ ├── rewhmcs_dcim.css │ │ │ │ │ │ └── rewhmcs_dcim.less │ │ │ │ │ ├── js/ │ │ │ │ │ │ ├── dcimDetail.js │ │ │ │ │ │ ├── dcimList.js │ │ │ │ │ │ ├── echarts.js │ │ │ │ │ │ └── rewhmcs_dcim.js │ │ │ │ │ ├── lang/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── product_detail.html │ │ │ │ │ └── product_list.html │ │ │ │ ├── validate/ │ │ │ │ │ └── HostValidate.php │ │ │ │ ├── view/ │ │ │ │ │ ├── noVNC/ │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitmodules │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── VERSION │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── error-handler.js │ │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ │ │ └── Makefile │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ ├── cs.json │ │ │ │ │ │ │ │ ├── de.json │ │ │ │ │ │ │ │ ├── el.json │ │ │ │ │ │ │ │ ├── es.json │ │ │ │ │ │ │ │ ├── ja.json │ │ │ │ │ │ │ │ ├── ko.json │ │ │ │ │ │ │ │ ├── nl.json │ │ │ │ │ │ │ │ ├── pl.json │ │ │ │ │ │ │ │ ├── ru.json │ │ │ │ │ │ │ │ ├── sv.json │ │ │ │ │ │ │ │ ├── tr.json │ │ │ │ │ │ │ │ ├── zh_CN.json │ │ │ │ │ │ │ │ └── zh_TW.json │ │ │ │ │ │ │ ├── localization.js │ │ │ │ │ │ │ ├── sounds/ │ │ │ │ │ │ │ │ ├── CREDITS │ │ │ │ │ │ │ │ └── bell.oga │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── base.css │ │ │ │ │ │ │ ├── ui.js │ │ │ │ │ │ │ └── webutil.js │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── decoders/ │ │ │ │ │ │ │ │ ├── copyrect.js │ │ │ │ │ │ │ │ ├── hextile.js │ │ │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ │ │ ├── rre.js │ │ │ │ │ │ │ │ ├── tight.js │ │ │ │ │ │ │ │ └── tightpng.js │ │ │ │ │ │ │ ├── des.js │ │ │ │ │ │ │ ├── display.js │ │ │ │ │ │ │ ├── encodings.js │ │ │ │ │ │ │ ├── inflator.js │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── domkeytable.js │ │ │ │ │ │ │ │ ├── fixedkeys.js │ │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ │ ├── keysym.js │ │ │ │ │ │ │ │ ├── keysymdef.js │ │ │ │ │ │ │ │ ├── mouse.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── vkeys.js │ │ │ │ │ │ │ │ └── xtscancodes.js │ │ │ │ │ │ │ ├── rfb.js │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ │ ├── cursor.js │ │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ │ ├── eventtarget.js │ │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ │ └── strings.js │ │ │ │ │ │ │ └── websock.js │ │ │ │ │ │ ├── docs/ │ │ │ │ │ │ │ ├── API-internal.md │ │ │ │ │ │ │ ├── API.md │ │ │ │ │ │ │ ├── EMBEDDING.md │ │ │ │ │ │ │ ├── LIBRARY.md │ │ │ │ │ │ │ ├── LICENSE.BSD-2-Clause │ │ │ │ │ │ │ ├── LICENSE.BSD-3-Clause │ │ │ │ │ │ │ ├── LICENSE.MPL-2.0 │ │ │ │ │ │ │ ├── LICENSE.OFL-1.1 │ │ │ │ │ │ │ ├── flash_policy.txt │ │ │ │ │ │ │ ├── links │ │ │ │ │ │ │ ├── notes │ │ │ │ │ │ │ └── rfb_notes │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── po/ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── cs.po │ │ │ │ │ │ │ ├── de.po │ │ │ │ │ │ │ ├── el.po │ │ │ │ │ │ │ ├── es.po │ │ │ │ │ │ │ ├── ja.po │ │ │ │ │ │ │ ├── ko.po │ │ │ │ │ │ │ ├── nl.po │ │ │ │ │ │ │ ├── noVNC.pot │ │ │ │ │ │ │ ├── pl.po │ │ │ │ │ │ │ ├── po2js │ │ │ │ │ │ │ ├── ru.po │ │ │ │ │ │ │ ├── sv.po │ │ │ │ │ │ │ ├── tr.po │ │ │ │ │ │ │ ├── xgettext-html │ │ │ │ │ │ │ ├── zh_CN.po │ │ │ │ │ │ │ └── zh_TW.po │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── assertions.js │ │ │ │ │ │ │ ├── fake.websocket.js │ │ │ │ │ │ │ ├── karma-test-main.js │ │ │ │ │ │ │ ├── playback-ui.js │ │ │ │ │ │ │ ├── playback.js │ │ │ │ │ │ │ ├── test.base64.js │ │ │ │ │ │ │ ├── test.display.js │ │ │ │ │ │ │ ├── test.helper.js │ │ │ │ │ │ │ ├── test.keyboard.js │ │ │ │ │ │ │ ├── test.localization.js │ │ │ │ │ │ │ ├── test.mouse.js │ │ │ │ │ │ │ ├── test.rfb.js │ │ │ │ │ │ │ ├── test.util.js │ │ │ │ │ │ │ ├── test.websock.js │ │
Showing preview only (5,604K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (71015 symbols across 1937 files)
FILE: 10.4.6/app/admin/controller/AdminBaseController.php
class AdminBaseController (line 10) | class AdminBaseController extends BaseController
method initialize (line 13) | protected function initialize()
method checkAccess (line 47) | private function checkAccess()
FILE: 10.4.6/app/admin/controller/AdminController.php
class AdminController (line 12) | class AdminController extends AdminBaseController
method initialize (line 14) | public function initialize()
method adminList (line 45) | public function adminList()
method index (line 78) | public function index()
method create (line 109) | public function create()
method update (line 141) | public function update()
method delete (line 169) | public function delete()
method status (line 189) | public function status()
method logout (line 207) | public function logout()
method updatePassword (line 228) | public function updatePassword()
method currentAdmin (line 252) | public function currentAdmin()
method updateAdminOperatePassword (line 270) | public function updateAdminOperatePassword()
FILE: 10.4.6/app/admin/controller/AdminRoleController.php
class AdminRoleController (line 12) | class AdminRoleController extends AdminBaseController
method initialize (line 14) | public function initialize()
method adminRoleList (line 40) | public function adminRoleList()
method index (line 70) | public function index()
method create (line 97) | public function create()
method update (line 125) | public function update()
method delete (line 149) | public function delete()
FILE: 10.4.6/app/admin/controller/ApiController.php
class ApiController (line 12) | class ApiController extends AdminBaseController
method initialize (line 14) | public function initialize()
method getConfig (line 31) | public function getConfig()
method updateConfig (line 58) | public function updateConfig()
method clientList (line 101) | public function clientList()
method addClient (line 130) | public function addClient()
method removeClient (line 149) | public function removeClient()
FILE: 10.4.6/app/admin/controller/AppMarketController.php
class AppMarketController (line 10) | class AppMarketController extends AdminBaseController
method setToken (line 25) | public function setToken(){
method checkToken (line 47) | public function checkToken(){
method getNewVersion (line 80) | public function getNewVersion(){
method getTemplateVersion (line 153) | public function getTemplateVersion(){
method install (line 222) | public function install(){
method unzip (line 339) | private function unzip($filepath,$path)
method curl_download (line 368) | private function curl_download($url, $file_name)
FILE: 10.4.6/app/admin/controller/BaseController.php
class BaseController (line 13) | abstract class BaseController
method __construct (line 44) | public function __construct(App $app)
method initialize (line 54) | protected function initialize()
FILE: 10.4.6/app/admin/controller/BottomBarGroupController.php
class BottomBarGroupController (line 12) | class BottomBarGroupController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 33) | public function list()
method create (line 63) | public function create()
method update (line 93) | public function update()
method delete (line 122) | public function delete()
method order (line 147) | public function order()
FILE: 10.4.6/app/admin/controller/BottomBarNavController.php
class BottomBarNavController (line 12) | class BottomBarNavController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 39) | public function list()
method create (line 71) | public function create()
method update (line 104) | public function update()
method delete (line 133) | public function delete()
method show (line 158) | public function show()
method order (line 188) | public function order()
FILE: 10.4.6/app/admin/controller/CabinetRentalProductController.php
class CabinetRentalProductController (line 12) | class CabinetRentalProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 35) | public function list()
method create (line 67) | public function create()
method update (line 100) | public function update()
method delete (line 129) | public function delete()
FILE: 10.4.6/app/admin/controller/ClientController.php
class ClientController (line 12) | class ClientController extends AdminBaseController
method initialize (line 14) | public function initialize()
method clientList (line 65) | public function clientList()
method index (line 143) | public function index()
method create (line 180) | public function create()
method update (line 221) | public function update()
method delete (line 250) | public function delete()
method status (line 276) | public function status()
method search (line 309) | public function search()
method login (line 339) | public function login()
FILE: 10.4.6/app/admin/controller/ClientCreditController.php
class ClientCreditController (line 13) | class ClientCreditController extends AdminBaseController
method initialize (line 15) | public function initialize()
method clientCreditList (line 46) | public function clientCreditList()
method update (line 78) | public function update()
method recharge (line 116) | public function recharge()
FILE: 10.4.6/app/admin/controller/ClientRecordController.php
class ClientRecordController (line 12) | class ClientRecordController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 39) | public function list()
method create (line 70) | public function create()
method update (line 101) | public function update()
method delete (line 130) | public function delete()
FILE: 10.4.6/app/admin/controller/CloudServerAreaController.php
class CloudServerAreaController (line 12) | class CloudServerAreaController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 38) | public function list()
method create (line 65) | public function create()
method update (line 96) | public function update()
method delete (line 125) | public function delete()
FILE: 10.4.6/app/admin/controller/CloudServerBannerController.php
class CloudServerBannerController (line 12) | class CloudServerBannerController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 37) | public function list()
method create (line 68) | public function create()
method update (line 103) | public function update()
method delete (line 132) | public function delete()
method show (line 157) | public function show()
method order (line 186) | public function order()
FILE: 10.4.6/app/admin/controller/CloudServerDiscountController.php
class CloudServerDiscountController (line 12) | class CloudServerDiscountController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 34) | public function list()
method create (line 62) | public function create()
method update (line 94) | public function update()
method delete (line 123) | public function delete()
FILE: 10.4.6/app/admin/controller/CloudServerProductController.php
class CloudServerProductController (line 12) | class CloudServerProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 52) | public function list()
method create (line 94) | public function create()
method update (line 137) | public function update()
method delete (line 166) | public function delete()
FILE: 10.4.6/app/admin/controller/CommonController.php
class CommonController (line 25) | class CommonController extends AdminBaseController
method gateway (line 42) | public function gateway()
method sms (line 67) | public function sms()
method email (line 90) | public function email()
method captchaList (line 114) | public function captchaList()
method common (line 142) | public function common()
method countryList (line 185) | public function countryList()
method authList (line 239) | public function authList()
method adminAuthList (line 283) | public function adminAuthList()
method adminMenu (line 316) | public function adminMenu(){
method upload (line 338) | public function upload()
method globalSearch (line 388) | public function globalSearch()
method activePluginList (line 431) | public function activePluginList()
method clientareaAuthList (line 479) | public function clientareaAuthList()
method commonSearchTableList (line 514) | public function commonSearchTableList()
method commonSearch (line 614) | public function commonSearch()
method adminFieldIndex (line 667) | public function adminFieldIndex()
method adminFieldSave (line 693) | public function adminFieldSave()
method templateTabList (line 722) | public function templateTabList()
FILE: 10.4.6/app/admin/controller/ConfigurationController.php
class ConfigurationController (line 13) | class ConfigurationController extends AdminBaseController
method initialize (line 15) | public function initialize()
method systemList (line 49) | public function systemList()
method systemUpdate (line 91) | public function systemUpdate()
method loginList (line 132) | public function loginList()
method loginUpdate (line 170) | public function loginUpdate()
method securityCaptcha (line 201) | public function securityCaptcha()
method securityList (line 237) | public function securityList()
method securityUpdate (line 267) | public function securityUpdate()
method currencyList (line 299) | public function currencyList()
method currencyUpdate (line 328) | public function currencyUpdate()
method cronList (line 382) | public function cronList()
method cronUpdate (line 429) | public function cronUpdate()
method themeList (line 476) | public function themeList()
method themeUpdate (line 509) | public function themeUpdate()
method certificationList (line 544) | public function certificationList()
method certificationUpdate (line 575) | public function certificationUpdate()
method infoList (line 617) | public function infoList()
method infoUpdate (line 655) | public function infoUpdate()
method debugInfo (line 686) | public function debugInfo()
method debug (line 713) | public function debug()
method getOssConfig (line 743) | public function getOssConfig()
method ossConfig (line 777) | public function ossConfig()
method webList (line 812) | public function webList()
method webUpdate (line 848) | public function webUpdate()
method cloudServerList (line 877) | public function cloudServerList()
method cloudServerUpdate (line 902) | public function cloudServerUpdate()
method physicalServerList (line 931) | public function physicalServerList()
method physicalServerUpdate (line 956) | public function physicalServerUpdate()
method icpList (line 985) | public function icpList()
method icpUpdate (line 1010) | public function icpUpdate()
FILE: 10.4.6/app/admin/controller/ConsultController.php
class ConsultController (line 11) | class ConsultController extends AdminBaseController
method list (line 37) | public function list()
FILE: 10.4.6/app/admin/controller/FeedbackController.php
class FeedbackController (line 13) | class FeedbackController extends AdminBaseController
method initialize (line 15) | public function initialize()
method feedbackList (line 45) | public function feedbackList()
method feedbackTypeList (line 77) | public function feedbackTypeList()
method createFeedbackType (line 104) | public function createFeedbackType()
method updateFeedbackType (line 135) | public function updateFeedbackType()
method deleteFeedbackType (line 164) | public function deleteFeedbackType()
FILE: 10.4.6/app/admin/controller/FriendlyLinkController.php
class FriendlyLinkController (line 12) | class FriendlyLinkController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 33) | public function list()
method create (line 60) | public function create()
method update (line 91) | public function update()
method delete (line 120) | public function delete()
FILE: 10.4.6/app/admin/controller/HonorController.php
class HonorController (line 12) | class HonorController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 33) | public function list()
method create (line 60) | public function create()
method update (line 91) | public function update()
method delete (line 120) | public function delete()
FILE: 10.4.6/app/admin/controller/HostController.php
class HostController (line 14) | class HostController extends AdminBaseController
method initialize (line 16) | public function initialize()
method hostList (line 88) | public function hostList()
method index (line 148) | public function index()
method update (line 198) | public function update()
method delete (line 227) | public function delete()
method batchDelete (line 252) | public function batchDelete()
method createAccount (line 276) | public function createAccount()
method suspendAccount (line 299) | public function suspendAccount()
method unsuspendAccount (line 325) | public function unsuspendAccount()
method terminateAccount (line 346) | public function terminateAccount()
method adminArea (line 368) | public function adminArea()
method clientHost (line 395) | public function clientHost()
method moduleButton (line 426) | public function moduleButton()
method moduleField (line 452) | public function moduleField()
method hostIpIndex (line 476) | public function hostIpIndex()
method adminAreaModuleOperate (line 503) | public function adminAreaModuleOperate()
method syncAccount (line 524) | public function syncAccount()
FILE: 10.4.6/app/admin/controller/IcpServiceProductController.php
class IcpServiceProductController (line 12) | class IcpServiceProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 35) | public function list()
method create (line 67) | public function create()
method update (line 100) | public function update()
method delete (line 129) | public function delete()
FILE: 10.4.6/app/admin/controller/IndexBannerController.php
class IndexBannerController (line 12) | class IndexBannerController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 37) | public function list()
method create (line 68) | public function create()
method update (line 103) | public function update()
method delete (line 132) | public function delete()
method show (line 157) | public function show()
method order (line 186) | public function order()
FILE: 10.4.6/app/admin/controller/LogController.php
class LogController (line 13) | class LogController extends AdminBaseController
method systemLogList (line 39) | public function systemLogList()
method emailLogList (line 85) | public function emailLogList()
method smsLogList (line 131) | public function smsLogList()
FILE: 10.4.6/app/admin/controller/MenuController.php
class MenuController (line 12) | class MenuController extends AdminBaseController
method initialize (line 14) | public function initialize()
method getAdminMenu (line 62) | public function getAdminMenu()
method getHomeMenu (line 131) | public function getHomeMenu()
method saveAdminMenu (line 169) | public function saveAdminMenu()
method saveHomeMenu (line 217) | public function saveHomeMenu()
FILE: 10.4.6/app/admin/controller/ModuleController.php
class ModuleController (line 11) | class ModuleController extends AdminBaseController
method moduleList (line 26) | public function moduleList()
FILE: 10.4.6/app/admin/controller/NoticeEmailController.php
class NoticeEmailController (line 12) | class NoticeEmailController extends AdminBaseController
method initialize (line 14) | public function initialize()
method emailTemplateList (line 34) | public function emailTemplateList()
method index (line 68) | public function index()
method create (line 101) | public function create()
method update (line 133) | public function update()
method delete (line 162) | public function delete()
method test (line 188) | public function test()
FILE: 10.4.6/app/admin/controller/NoticeSettingController.php
class NoticeSettingController (line 12) | class NoticeSettingController extends AdminBaseController
method initialize (line 14) | public function initialize()
method settingList (line 43) | public function settingList(){
method update (line 82) | public function update(){
FILE: 10.4.6/app/admin/controller/NoticeSmsController.php
class NoticeSmsController (line 12) | class NoticeSmsController extends AdminBaseController
method initialize (line 14) | public function initialize()
method templateList (line 39) | public function templateList(){
method index (line 76) | public function index(){
method status (line 103) | public function status(){
method audit (line 125) | public function audit(){
method create (line 155) | public function create(){
method update (line 191) | public function update(){
method delete (line 220) | public function delete(){
method test (line 245) | public function test(){
FILE: 10.4.6/app/admin/controller/OrderController.php
class OrderController (line 20) | class OrderController extends AdminBaseController
method initialize (line 22) | public function initialize()
method orderList (line 88) | public function orderList()
method index (line 152) | public function index()
method create (line 197) | public function create()
method getUpgradeAmount (line 234) | public function getUpgradeAmount()
method updateAmount (line 265) | public function updateAmount()
method updateOrderItem (line 297) | public function updateOrderItem()
method deleteOrderItem (line 326) | public function deleteOrderItem()
method paid (line 351) | public function paid()
method delete (line 381) | public function delete()
method batchDelete (line 411) | public function batchDelete()
method orderRefund (line 439) | public function orderRefund()
method orderApplyCredit (line 469) | public function orderApplyCredit()
method orderRemoveCredit (line 499) | public function orderRemoveCredit()
method refundRecordList (line 544) | public function refundRecordList()
method deleteRefundRecord (line 573) | public function deleteRefundRecord()
method pendingRefundRecord (line 597) | public function pendingRefundRecord()
method rejectRefundRecord (line 622) | public function rejectRefundRecord()
method redundedRefundRecord (line 647) | public function redundedRefundRecord()
method updateGateway (line 672) | public function updateGateway()
method updateNotes (line 697) | public function updateNotes()
method settle (line 728) | public function settle()
method moduleClientConfigOption (line 804) | public function moduleClientConfigOption()
method getOrderRecycleBinConfig (line 827) | public function getOrderRecycleBinConfig()
method enableOrderRecycleBin (line 850) | public function enableOrderRecycleBin()
method orderRecycleBinConfigUpdate (line 869) | public function orderRecycleBinConfigUpdate()
method recycleBinOrderList (line 930) | public function recycleBinOrderList()
method recoverOrder (line 956) | public function recoverOrder()
method deleteOrderFromRecycleBin (line 976) | public function deleteOrderFromRecycleBin()
method clearRecycleBin (line 996) | public function clearRecycleBin()
method lockOrder (line 1014) | public function lockOrder()
method unlockOrder (line 1034) | public function unlockOrder()
FILE: 10.4.6/app/admin/controller/PartnerController.php
class PartnerController (line 12) | class PartnerController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 34) | public function list()
method create (line 62) | public function create()
method update (line 94) | public function update()
method delete (line 123) | public function delete()
FILE: 10.4.6/app/admin/controller/PhysicalServerAreaController.php
class PhysicalServerAreaController (line 12) | class PhysicalServerAreaController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 38) | public function list()
method create (line 65) | public function create()
method update (line 96) | public function update()
method delete (line 125) | public function delete()
FILE: 10.4.6/app/admin/controller/PhysicalServerBannerController.php
class PhysicalServerBannerController (line 12) | class PhysicalServerBannerController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 37) | public function list()
method create (line 68) | public function create()
method update (line 103) | public function update()
method delete (line 132) | public function delete()
method show (line 157) | public function show()
method order (line 186) | public function order()
FILE: 10.4.6/app/admin/controller/PhysicalServerDiscountController.php
class PhysicalServerDiscountController (line 12) | class PhysicalServerDiscountController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 34) | public function list()
method create (line 62) | public function create()
method update (line 94) | public function update()
method delete (line 123) | public function delete()
FILE: 10.4.6/app/admin/controller/PhysicalServerProductController.php
class PhysicalServerProductController (line 12) | class PhysicalServerProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 53) | public function list()
method create (line 96) | public function create()
method update (line 140) | public function update()
method delete (line 169) | public function delete()
FILE: 10.4.6/app/admin/controller/PluginController.php
class PluginController (line 12) | class PluginController extends AdminBaseController
method certificationPluginList (line 36) | public function certificationPluginList()
method certificationInstall (line 59) | public function certificationInstall()
method certificationUninstall (line 79) | public function certificationUninstall()
method certificationStatus (line 100) | public function certificationStatus()
method certificationSetting (line 141) | public function certificationSetting()
method certificationSettingPost (line 168) | public function certificationSettingPost()
method captchaPluginList (line 200) | public function captchaPluginList()
method captchaInstall (line 223) | public function captchaInstall()
method captchaUninstall (line 243) | public function captchaUninstall()
method captchaStatus (line 264) | public function captchaStatus()
method captchaSetting (line 305) | public function captchaSetting()
method captchaSettingPost (line 332) | public function captchaSettingPost()
method oauthPluginList (line 364) | public function oauthPluginList()
method oauthInstall (line 387) | public function oauthInstall()
method oauthUninstall (line 407) | public function oauthUninstall()
method oauthStatus (line 428) | public function oauthStatus()
method oauthSetting (line 469) | public function oauthSetting()
method oauthSettingPost (line 496) | public function oauthSettingPost()
method smsPluginList (line 529) | public function smsPluginList()
method smsInstall (line 552) | public function smsInstall()
method smsUninstall (line 572) | public function smsUninstall()
method smsStatus (line 593) | public function smsStatus()
method smsSetting (line 634) | public function smsSetting()
method smsSettingPost (line 661) | public function smsSettingPost()
method mailPluginList (line 693) | public function mailPluginList()
method mailInstall (line 716) | public function mailInstall()
method mailUninstall (line 736) | public function mailUninstall()
method mailStatus (line 757) | public function mailStatus()
method mailSetting (line 798) | public function mailSetting()
method mailSettingPost (line 825) | public function mailSettingPost()
method gatewayPluginList (line 857) | public function gatewayPluginList()
method gatewayInstall (line 880) | public function gatewayInstall()
method gatewayUninstall (line 900) | public function gatewayUninstall()
method gatewayStatus (line 921) | public function gatewayStatus()
method gatewaySetting (line 962) | public function gatewaySetting()
method gatewaySettingPost (line 989) | public function gatewaySettingPost()
method addonPluginList (line 1022) | public function addonPluginList()
method addonInstall (line 1055) | public function addonInstall()
method addonUninstall (line 1075) | public function addonUninstall()
method addonStatus (line 1096) | public function addonStatus()
method ossPluginList (line 1128) | public function ossPluginList()
method ossInstall (line 1151) | public function ossInstall()
method ossUninstall (line 1171) | public function ossUninstall()
method ossStatus (line 1192) | public function ossStatus()
method ossSetting (line 1233) | public function ossSetting()
method ossSettingPost (line 1260) | public function ossSettingPost()
method ossData (line 1281) | public function ossData()
method ossLink (line 1303) | public function ossLink()
method templateUninstall (line 1324) | public function templateUninstall()
method upgrade (line 1347) | public function upgrade()
method sync (line 1379) | public function sync()
method download (line 1398) | public function download()
method pluginHookList (line 1422) | public function pluginHookList()
method pluginHookOrder (line 1444) | public function pluginHookOrder()
FILE: 10.4.6/app/admin/controller/ProductController.php
class ProductController (line 12) | class ProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method productList (line 52) | public function productList()
method moduleProductList (line 84) | public function moduleProductList()
method index (line 126) | public function index()
method create (line 153) | public function create()
method update (line 201) | public function update()
method updateServer (line 228) | public function updateServer()
method delete (line 252) | public function delete()
method hidden (line 272) | public function hidden()
method order (line 294) | public function order()
method upgrade (line 321) | public function upgrade()
method moduleServerConfigOption (line 343) | public function moduleServerConfigOption()
method moduleCalculatePrice (line 374) | public function moduleCalculatePrice()
method saveAgentableProduct (line 395) | public function saveAgentableProduct()
method resModuleProductList (line 424) | public function resModuleProductList()
method modulesProductList (line 455) | public function modulesProductList()
method copy (line 478) | public function copy()
FILE: 10.4.6/app/admin/controller/ProductGroupController.php
class ProductGroupController (line 12) | class ProductGroupController extends AdminBaseController
method initialize (line 14) | public function initialize()
method productGroupFirstList (line 34) | public function productGroupFirstList()
method productGroupSecondList (line 59) | public function productGroupSecondList()
method create (line 83) | public function create()
method update (line 109) | public function update()
method delete (line 133) | public function delete()
method moveProduct (line 153) | public function moveProduct()
method order (line 176) | public function order()
method orderFirst (line 202) | public function orderFirst()
method hidden (line 227) | public function hidden()
FILE: 10.4.6/app/admin/controller/PublicController.php
class PublicController (line 12) | class PublicController extends BaseController
method initialize (line 14) | public function initialize()
method loginInfo (line 33) | public function loginInfo()
method login (line 73) | public function login()
method captcha (line 105) | public function captcha()
FILE: 10.4.6/app/admin/controller/SelfDefinedFieldController.php
class SelfDefinedFieldController (line 12) | class SelfDefinedFieldController extends AdminBaseController
method initialize (line 14) | public function initialize()
method selfDefinedFieldList (line 45) | public function selfDefinedFieldList()
method create (line 85) | public function create()
method update (line 122) | public function update()
method delete (line 147) | public function delete()
method dragToSort (line 168) | public function dragToSort()
FILE: 10.4.6/app/admin/controller/SeoController.php
class SeoController (line 12) | class SeoController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 40) | public function list()
method create (line 72) | public function create()
method update (line 105) | public function update()
method delete (line 134) | public function delete()
FILE: 10.4.6/app/admin/controller/ServerController.php
class ServerController (line 12) | class ServerController extends AdminBaseController
method initialize (line 14) | public function initialize()
method serverList (line 50) | public function serverList()
method create (line 80) | public function create()
method update (line 111) | public function update()
method delete (line 134) | public function delete()
method status (line 153) | public function status()
FILE: 10.4.6/app/admin/controller/ServerGroupController.php
class ServerGroupController (line 12) | class ServerGroupController extends AdminBaseController
method initialize (line 14) | public function initialize()
method serverGroupList (line 42) | public function serverGroupList()
method create (line 68) | public function create()
method update (line 94) | public function update()
method delete (line 117) | public function delete()
FILE: 10.4.6/app/admin/controller/ServerHostingAreaController.php
class ServerHostingAreaController (line 12) | class ServerHostingAreaController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 32) | public function list()
method create (line 58) | public function create()
method update (line 88) | public function update()
method delete (line 117) | public function delete()
FILE: 10.4.6/app/admin/controller/ServerHostingProductController.php
class ServerHostingProductController (line 12) | class ServerHostingProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 48) | public function list()
method create (line 87) | public function create()
method update (line 127) | public function update()
method delete (line 156) | public function delete()
FILE: 10.4.6/app/admin/controller/SideFloatingWindowController.php
class SideFloatingWindowController (line 12) | class SideFloatingWindowController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 34) | public function list()
method create (line 62) | public function create()
method update (line 94) | public function update()
method delete (line 123) | public function delete()
method order (line 147) | public function order()
FILE: 10.4.6/app/admin/controller/SmsServiceProductController.php
class SmsServiceProductController (line 12) | class SmsServiceProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 36) | public function list()
method create (line 69) | public function create()
method update (line 103) | public function update()
method delete (line 132) | public function delete()
FILE: 10.4.6/app/admin/controller/SslCertificateProductController.php
class SslCertificateProductController (line 12) | class SslCertificateProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 36) | public function list()
method create (line 69) | public function create()
method update (line 103) | public function update()
method delete (line 132) | public function delete()
FILE: 10.4.6/app/admin/controller/SupplierController.php
class SupplierController (line 12) | class SupplierController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 47) | public function list()
method index (line 90) | public function index()
method create (line 128) | public function create()
method update (line 166) | public function update()
method updateSupplierRate (line 198) | public function updateSupplierRate()
method delete (line 227) | public function delete()
method status (line 252) | public function status()
method product (line 283) | public function product()
FILE: 10.4.6/app/admin/controller/TaskController.php
class TaskController (line 11) | class TaskController extends AdminBaseController
method taskList (line 39) | public function taskList()
method retry (line 68) | public function retry()
FILE: 10.4.6/app/admin/controller/TrademarkRegisterProductController.php
class TrademarkRegisterProductController (line 12) | class TrademarkRegisterProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 35) | public function list()
method create (line 67) | public function create()
method update (line 100) | public function update()
method delete (line 129) | public function delete()
FILE: 10.4.6/app/admin/controller/TrademarkServiceProductController.php
class TrademarkServiceProductController (line 12) | class TrademarkServiceProductController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 35) | public function list()
method create (line 67) | public function create()
method update (line 100) | public function update()
method delete (line 129) | public function delete()
FILE: 10.4.6/app/admin/controller/TransactionController.php
class TransactionController (line 12) | class TransactionController extends AdminBaseController
method initialize (line 14) | public function initialize()
method transactionList (line 71) | public function transactionList()
method create (line 103) | public function create()
method update (line 136) | public function update()
method delete (line 165) | public function delete()
FILE: 10.4.6/app/admin/controller/UpgradeSystemController.php
class UpgradeSystemController (line 11) | class UpgradeSystemController extends AdminBaseController
method systemVersion (line 31) | public function systemVersion()
method updateSystemVersionType (line 48) | public function updateSystemVersionType()
method upgradeContent (line 69) | public function upgradeContent()
method upgradeDownload (line 85) | public function upgradeDownload()
method upgradeDownloadProgress (line 104) | public function upgradeDownloadProgress()
method getAuth (line 120) | public function getAuth()
method updateLicense (line 137) | public function updateLicense()
FILE: 10.4.6/app/admin/controller/UpstreamHostController.php
class UpstreamHostController (line 11) | class UpstreamHostController extends AdminBaseController
method list (line 49) | public function list()
method index (line 89) | public function index()
FILE: 10.4.6/app/admin/controller/UpstreamOrderController.php
class UpstreamOrderController (line 11) | class UpstreamOrderController extends AdminBaseController
method list (line 50) | public function list()
method sellInfo (line 83) | public function sellInfo()
FILE: 10.4.6/app/admin/controller/UpstreamProductController.php
class UpstreamProductController (line 13) | class UpstreamProductController extends AdminBaseController
method initialize (line 15) | public function initialize()
method list (line 60) | public function list()
method index (line 112) | public function index()
method create (line 156) | public function create()
method update (line 199) | public function update()
method recommendProductList (line 261) | public function recommendProductList()
method agentRecommendProduct (line 300) | public function agentRecommendProduct()
FILE: 10.4.6/app/admin/controller/ViewController.php
class ViewController (line 12) | class ViewController extends AdminBaseController
method index (line 23) | public function index()
method plugin (line 55) | public function plugin()
method template (line 95) | public function template()
method view (line 119) | public function view($tplName, $data){
method pluginView (line 124) | public function pluginView($tplName, $data, $name){
method templateView (line 129) | public function templateView($tplName, $data, $name){
FILE: 10.4.6/app/admin/controller/WebNavController.php
class WebNavController (line 12) | class WebNavController extends AdminBaseController
method initialize (line 14) | public function initialize()
method list (line 43) | public function list()
method create (line 78) | public function create()
method update (line 113) | public function update()
method delete (line 142) | public function delete()
method show (line 167) | public function show()
method firstNavOrder (line 197) | public function firstNavOrder()
method secondNavOrder (line 222) | public function secondNavOrder()
FILE: 10.4.6/app/admin/controller/WidgetController.php
class WidgetController (line 13) | class WidgetController extends AdminBaseController
method initialize (line 15) | public function initialize()
method index (line 34) | public function index()
method widgetSaveOrder (line 57) | public function widgetSaveOrder()
method toggleWidget (line 81) | public function toggleWidget()
method output (line 105) | public function output()
method getData (line 141) | public function getData()
FILE: 10.4.6/app/admin/model/AdminFieldModel.php
class AdminFieldModel (line 13) | class AdminFieldModel extends Model
method enableField (line 463) | public function enableField($view)
method getClientCustomField (line 521) | protected function getClientCustomField()
method adminFieldDefault (line 550) | public function adminFieldDefault($view)
method adminFieldIndex (line 580) | public function adminFieldIndex($param)
method adminFieldSave (line 618) | public function adminFieldSave($param)
method getActivePlugin (line 667) | protected function getActivePlugin()
FILE: 10.4.6/app/admin/model/AdminLoginModel.php
class AdminLoginModel (line 11) | class AdminLoginModel extends Model
method adminLogin (line 33) | public function adminLogin($admin_id)
method getJwtKey (line 61) | public function getJwtKey($admin_id)
FILE: 10.4.6/app/admin/model/AdminModel.php
class AdminModel (line 14) | class AdminModel extends Model
method adminList (line 59) | public function adminList($param)
method indexAdmin (line 116) | public function indexAdmin($id)
method createAdmin (line 145) | public function createAdmin($param)
method updateAdmin (line 214) | public function updateAdmin($param)
method deleteAdmin (line 320) | public function deleteAdmin($param)
method status (line 373) | public function status($param)
method login (line 432) | public function login($param)
method logout (line 558) | public function logout($param)
method updateAdminPassword (line 593) | public function updateAdminPassword($param)
method onlineAdminList (line 648) | public function onlineAdminList($param)
method currentAdmin (line 697) | public function currentAdmin()
method updateAdminOperatePassword (line 734) | public function updateAdminOperatePassword($param)
FILE: 10.4.6/app/admin/model/AdminRoleLinkModel.php
class AdminRoleLinkModel (line 6) | class AdminRoleLinkModel extends Model
FILE: 10.4.6/app/admin/model/AdminRoleModel.php
class AdminRoleModel (line 12) | class AdminRoleModel extends Model
method adminRoleList (line 44) | public function adminRoleList($param)
method indexAdminRole (line 93) | public function indexAdminRole($id)
method createAdminRole (line 126) | public function createAdminRole($param)
method updateAdminRole (line 189) | public function updateAdminRole($param)
method deleteAdminRole (line 260) | public function deleteAdminRole($param)
FILE: 10.4.6/app/admin/model/AdminRoleWidgetModel.php
class AdminRoleWidgetModel (line 12) | class AdminRoleWidgetModel extends Model
method getAllWidget (line 33) | public function getAllWidget($adminRoleId)
method adminRoleWidgetSave (line 51) | public function adminRoleWidgetSave($param)
FILE: 10.4.6/app/admin/model/AdminWidgetModel.php
class AdminWidgetModel (line 12) | class AdminWidgetModel extends Model
method adminWidgetIndex (line 35) | public function adminWidgetIndex()
method adminWidgetSaveOrder (line 87) | public function adminWidgetSaveOrder($param)
method toggleWidget (line 129) | public function toggleWidget($param)
FILE: 10.4.6/app/admin/model/AuthLinkModel.php
class AuthLinkModel (line 13) | class AuthLinkModel extends Model
FILE: 10.4.6/app/admin/model/AuthModel.php
class AuthModel (line 14) | class AuthModel extends Model
method authList (line 66) | public function authList()
method adminAuthList (line 167) | public function adminAuthList()
method createPluginAuth (line 244) | public function createPluginAuth($auth,$module,$name)
method deletePluginAuth (line 309) | public function deletePluginAuth($module,$name)
method upgradePluginAuth (line 349) | public function upgradePluginAuth($auth,$module,$name)
method createSystemAuth (line 425) | public function createSystemAuth($auth)
FILE: 10.4.6/app/admin/model/AuthRuleLinkModel.php
class AuthRuleLinkModel (line 11) | class AuthRuleLinkModel extends Model
FILE: 10.4.6/app/admin/model/AuthRuleModel.php
class AuthRuleModel (line 13) | class AuthRuleModel extends Model
method getAdminAuthRule (line 35) | public function getAdminAuthRule($adminId)
method getAuthName (line 58) | public function getAuthName($rule)
FILE: 10.4.6/app/admin/model/EmailLogModel.php
class EmailLogModel (line 13) | class EmailLogModel extends Model
method createEmailLog (line 48) | public function createEmailLog($param){
method emailLogList (line 96) | public function emailLogList($param)
FILE: 10.4.6/app/admin/model/PluginHookModel.php
class PluginHookModel (line 11) | class PluginHookModel extends Model
method cacheHook (line 26) | public function cacheHook()
method getCacheHook (line 42) | public function getCacheHook()
FILE: 10.4.6/app/admin/model/PluginModel.php
class PluginModel (line 19) | class PluginModel extends Model
method pluginList (line 67) | public function pluginList($param)
method install (line 217) | public function install($param)
method uninstall (line 405) | public function uninstall($param)
method status (line 528) | public function status($param)
method setting (line 610) | public function setting($param)
method settingPost (line 659) | public function settingPost($param)
method plugins (line 758) | public function plugins($module)
method checkPlugin (line 831) | public function checkPlugin($name,$module='gateway')
method parseRules (line 845) | private function parseRules($rules)
method pluginInsertNav (line 865) | private function pluginInsertNav($module,$name,$noNav=false)
method pluginInsertAuth (line 958) | private function pluginInsertAuth($module,$name)
method pluginUpgradeAuth (line 1027) | public function pluginUpgradeAuth($module,$name)
method activePluginList (line 1080) | public function activePluginList()
method upgrade (line 1101) | public function upgrade($param)
method sync (line 1230) | public function sync($param)
method download (line 1336) | public function download($param)
method unzip (line 1497) | private function unzip($filepath,$path)
method curl_download (line 1526) | private function curl_download($url, $file_name)
method oauthList (line 1555) | public function oauthList(){
method pluginHookList (line 1597) | public function pluginHookList()
method pluginHookOrder (line 1623) | public function pluginHookOrder($param)
method ossData (line 1663) | public function ossData($param)
method ossLink (line 1689) | public function ossLink($param)
method deleteDir (line 1715) | private function deleteDir($path,$out=[]) {
FILE: 10.4.6/app/admin/model/SmsLogModel.php
class SmsLogModel (line 13) | class SmsLogModel extends Model
method createSmsLog (line 49) | public function createSmsLog($param){
method smsLogList (line 98) | public function smsLogList($param)
FILE: 10.4.6/app/admin/validate/AdminFieldValidate.php
class AdminFieldValidate (line 10) | class AdminFieldValidate extends Validate
method checkSelectField (line 29) | public function checkSelectField($value)
FILE: 10.4.6/app/admin/validate/AdminRoleValidate.php
class AdminRoleValidate (line 9) | class AdminRoleValidate extends Validate
FILE: 10.4.6/app/admin/validate/AdminValidate.php
class AdminValidate (line 9) | class AdminValidate extends Validate
method sceneLogin (line 68) | public function sceneLogin()
method checkPassword (line 76) | protected function checkPassword($value,$rule,$data)
FILE: 10.4.6/app/admin/validate/ApiValidate.php
class ApiValidate (line 9) | class ApiValidate extends Validate
FILE: 10.4.6/app/admin/validate/BottomBarGroupValidate.php
class BottomBarGroupValidate (line 9) | class BottomBarGroupValidate extends Validate
FILE: 10.4.6/app/admin/validate/BottomBarNavValidate.php
class BottomBarNavValidate (line 9) | class BottomBarNavValidate extends Validate
FILE: 10.4.6/app/admin/validate/CabinetRentalProductValidate.php
class CabinetRentalProductValidate (line 9) | class CabinetRentalProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/ClientCreditValidate.php
class ClientCreditValidate (line 9) | class ClientCreditValidate extends Validate
FILE: 10.4.6/app/admin/validate/ClientRecordValidate.php
class ClientRecordValidate (line 9) | class ClientRecordValidate extends Validate
FILE: 10.4.6/app/admin/validate/ClientValidate.php
class ClientValidate (line 9) | class ClientValidate extends Validate
method sceneUpdate (line 61) | public function sceneUpdate()
FILE: 10.4.6/app/admin/validate/CloudServerAreaValidate.php
class CloudServerAreaValidate (line 9) | class CloudServerAreaValidate extends Validate
FILE: 10.4.6/app/admin/validate/CloudServerBannerValidate.php
class CloudServerBannerValidate (line 9) | class CloudServerBannerValidate extends Validate
FILE: 10.4.6/app/admin/validate/CloudServerDiscountValidate.php
class CloudServerDiscountValidate (line 9) | class CloudServerDiscountValidate extends Validate
FILE: 10.4.6/app/admin/validate/CloudServerProductValidate.php
class CloudServerProductValidate (line 9) | class CloudServerProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/ConfigurationValidate.php
class ConfigurationValidate (line 9) | class ConfigurationValidate extends Validate
method checkEmailSuffix (line 421) | public function checkEmailSuffix($suffix)
method checkHomeLoginIpExceptionVerify (line 432) | public function checkHomeLoginIpExceptionVerify($value)
method checkHomeEnforceSafeMethod (line 443) | public function checkHomeEnforceSafeMethod($value)
method checkAdminEnforceSafeMethod (line 454) | public function checkAdminEnforceSafeMethod($value)
FILE: 10.4.6/app/admin/validate/FeedbackTypeValidate.php
class FeedbackTypeValidate (line 9) | class FeedbackTypeValidate extends Validate
FILE: 10.4.6/app/admin/validate/FriendlyLinkValidate.php
class FriendlyLinkValidate (line 9) | class FriendlyLinkValidate extends Validate
FILE: 10.4.6/app/admin/validate/HonorValidate.php
class HonorValidate (line 9) | class HonorValidate extends Validate
FILE: 10.4.6/app/admin/validate/HostValidate.php
class HostValidate (line 9) | class HostValidate extends Validate
FILE: 10.4.6/app/admin/validate/IcpServiceProductValidate.php
class IcpServiceProductValidate (line 9) | class IcpServiceProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/IndexBannerValidate.php
class IndexBannerValidate (line 9) | class IndexBannerValidate extends Validate
FILE: 10.4.6/app/admin/validate/MenuValidate.php
class MenuValidate (line 9) | class MenuValidate extends Validate
method checkMenu (line 27) | public function checkMenu($value)
method checkHomeMenu (line 129) | public function checkHomeMenu($value)
FILE: 10.4.6/app/admin/validate/NoticeEmailValidate.php
class NoticeEmailValidate (line 9) | class NoticeEmailValidate extends Validate
FILE: 10.4.6/app/admin/validate/NoticeSettingValidate.php
class NoticeSettingValidate (line 9) | class NoticeSettingValidate extends Validate
FILE: 10.4.6/app/admin/validate/NoticeSmsValidate.php
class NoticeSmsValidate (line 9) | class NoticeSmsValidate extends Validate
FILE: 10.4.6/app/admin/validate/OrderValidate.php
class OrderValidate (line 9) | class OrderValidate extends Validate
method sceneAmount (line 62) | public function sceneAmount()
method sceneUpgrade (line 72) | public function sceneUpgrade()
method checkProducts (line 81) | public function checkProducts($products)
method checkProduct (line 104) | public function checkProduct($product)
FILE: 10.4.6/app/admin/validate/PartnerValidate.php
class PartnerValidate (line 9) | class PartnerValidate extends Validate
FILE: 10.4.6/app/admin/validate/PhysicalServerAreaValidate.php
class PhysicalServerAreaValidate (line 9) | class PhysicalServerAreaValidate extends Validate
FILE: 10.4.6/app/admin/validate/PhysicalServerBannerValidate.php
class PhysicalServerBannerValidate (line 9) | class PhysicalServerBannerValidate extends Validate
FILE: 10.4.6/app/admin/validate/PhysicalServerDiscountValidate.php
class PhysicalServerDiscountValidate (line 9) | class PhysicalServerDiscountValidate extends Validate
FILE: 10.4.6/app/admin/validate/PhysicalServerProductValidate.php
class PhysicalServerProductValidate (line 9) | class PhysicalServerProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/ProductGroupValidate.php
class ProductGroupValidate (line 9) | class ProductGroupValidate extends Validate
FILE: 10.4.6/app/admin/validate/ProductValidate.php
class ProductValidate (line 9) | class ProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/SeoValidate.php
class SeoValidate (line 9) | class SeoValidate extends Validate
FILE: 10.4.6/app/admin/validate/ServerGroupValidate.php
class ServerGroupValidate (line 9) | class ServerGroupValidate extends Validate
FILE: 10.4.6/app/admin/validate/ServerHostingAreaValidate.php
class ServerHostingAreaValidate (line 9) | class ServerHostingAreaValidate extends Validate
FILE: 10.4.6/app/admin/validate/ServerHostingProductValidate.php
class ServerHostingProductValidate (line 9) | class ServerHostingProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/ServerValidate.php
class ServerValidate (line 9) | class ServerValidate extends Validate
FILE: 10.4.6/app/admin/validate/SideFloatingWindowValidate.php
class SideFloatingWindowValidate (line 9) | class SideFloatingWindowValidate extends Validate
FILE: 10.4.6/app/admin/validate/SmsServiceProductValidate.php
class SmsServiceProductValidate (line 9) | class SmsServiceProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/SslCertificateProductValidate.php
class SslCertificateProductValidate (line 9) | class SslCertificateProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/SupplierValidate.php
class SupplierValidate (line 9) | class SupplierValidate extends Validate
FILE: 10.4.6/app/admin/validate/TrademarkRegisterProductValidate.php
class TrademarkRegisterProductValidate (line 9) | class TrademarkRegisterProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/TrademarkServiceProductValidate.php
class TrademarkServiceProductValidate (line 9) | class TrademarkServiceProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/TransactionValidate.php
class TransactionValidate (line 9) | class TransactionValidate extends Validate
FILE: 10.4.6/app/admin/validate/UpstreamProductValidate.php
class UpstreamProductValidate (line 9) | class UpstreamProductValidate extends Validate
FILE: 10.4.6/app/admin/validate/WebNavValidate.php
class WebNavValidate (line 9) | class WebNavValidate extends Validate
FILE: 10.4.6/app/admin/validate/WidgetValidate.php
class WidgetValidate (line 10) | class WidgetValidate extends Validate
FILE: 10.4.6/app/api/controller/AuthController.php
class AuthController (line 16) | class AuthController
method auth (line 31) | public function auth()
method hostSync (line 64) | public function hostSync()
method syncDownStreamHost (line 241) | public function syncDownStreamHost()
FILE: 10.4.6/app/api/controller/ProductController.php
class ProductController (line 17) | class ProductController
method groupProduct (line 36) | public function groupProduct()
method product (line 95) | public function product()
method index (line 149) | public function index()
method downloadResource (line 220) | public function downloadResource()
FILE: 10.4.6/app/command/Cron.php
class Cron (line 23) | class Cron extends Command
method configure (line 25) | protected function configure()
method execute (line 32) | protected function execute(Input $input, Output $output)
method dayCron (line 65) | public function dayCron($config,$output){
method minuteCron (line 94) | public function minuteCron(){
method fiveMinuteCron (line 99) | public function fiveMinuteCron($config,$output){
method hostDue (line 123) | public function hostDue($config){
method hostOverdue (line 213) | public function hostOverdue($config){
method orderOverdue (line 329) | public function orderOverdue($config){
method orderUnpaidDelete (line 369) | public function orderUnpaidDelete($config){
method hostModule (line 393) | public function hostModule($config){
method cronConfig (line 451) | private function cronConfig(){
method configurationUpdate (line 480) | private function configurationUpdate($name,$value){
method downstreamSyncProduct (line 491) | public function downstreamSyncProduct()
method deleteRecycleOrder (line 628) | public function deleteRecycleOrder()
method ossExceptionNotice (line 646) | public function ossExceptionNotice()
FILE: 10.4.6/app/command/Task.php
class Task (line 14) | class Task extends Command
method configure (line 16) | protected function configure()
method execute (line 23) | protected function execute(Input $input, Output $output)
method taskWait (line 47) | public function taskWait(){
method host (line 124) | public function host($action,$task_data){
method email (line 167) | public function email($task_data){
method sms (line 196) | public function sms($task_data){
method hook (line 213) | public function hook($data){
FILE: 10.4.6/app/common.php
function read_dir (line 27) | function read_dir($dir = '', $files = []){
function format_print (line 55) | function format_print(...$input)
function get_admin_id (line 68) | function get_admin_id()
function get_client_id (line 80) | function get_client_id($origin = true)
function get_header_jwt (line 105) | function get_header_jwt()
function create_jwt (line 125) | function create_jwt($info, $expire = 7200, $is_admin=false)
function hook (line 171) | function hook($hook,$params=null)
function hook_one (line 185) | function hook_one($hook,$params=null)
function add_hook (line 199) | function add_hook($hook,$fun)
function local_api (line 213) | function local_api($cmd,$data=[]){
function plugin_api (line 248) | function plugin_api($addon,$controller,$action,$param=[],$admin=false)
function reserver_api (line 288) | function reserver_api($reserver,$controller,$action,$param=[],$admin=false)
function lang_list (line 327) | function lang_list($app = 'admin')
function lang (line 360) | function lang($name = '', $param = [])
function lang_plugins (line 394) | function lang_plugins($name = '', $param = [], $reload = false)
function get_system_lang (line 483) | function get_system_lang($is_admin=true)
function get_client_lang (line 506) | function get_client_lang()
function curl (line 533) | function curl($url, $data = [], $timeout = 30, $request = 'POST', $heade...
function idcsmart_password (line 609) | function idcsmart_password($pw, $authCode = '')
function idcsmart_password_zkeys (line 631) | function idcsmart_password_zkeys($pw,$authCode="")
function idcsmart_password_compare (line 646) | function idcsmart_password_compare($password, $passwordInDb)
function aes_password_encode (line 668) | function aes_password_encode($data){
function aes_password_decode (line 683) | function aes_password_decode($data){
function amount_format (line 699) | function amount_format($amount){
function get_client_ip (line 713) | function get_client_ip($type = 0, $adv = true)
function get_plugin_class (line 731) | function get_plugin_class($name, $module)
function base64_encode_image (line 752) | function base64_encode_image($image_file)
function base64_decode_image (line 773) | function base64_decode_image($base64_image_content,$path)
function gateway_list (line 805) | function gateway_list()
function check_gateway (line 822) | function check_gateway($gateway)
function configuration (line 837) | function configuration($setting)
function updateConfiguration (line 870) | function updateConfiguration($setting,$value)
function check_mobile (line 885) | function check_mobile($mobile)
function get_captcha (line 911) | function get_captcha($is_admin=false)
function check_captcha (line 929) | function check_captcha($captcha,$token,$base=false)
function rand_str (line 957) | function rand_str($len=8,$format='ALL'){
function hide_str (line 1003) | function hide_str($str, $replacement = '*', $start = 1, $length = 3)
function idcsmart_tmp_order_id (line 1031) | function idcsmart_tmp_order_id($rule=1)
function active_log (line 1056) | function active_log($description, $type = '', $relId = 0, $clientId = 0)
function log_description (line 1086) | function log_description($old=[],$new=[],$type='product',$plugin=false)
function order_pay_handle (line 1116) | function order_pay_handle($param)
function update_credit (line 1136) | function update_credit($param){
function generate_host_name (line 1160) | function generate_host_name()
function get_system_hooks (line 1194) | function get_system_hooks()
function plugin_reflection (line 1219) | function plugin_reflection($plugin,$param,$module='gateway',$action='han...
function plugin_method_exist (line 1249) | function plugin_method_exist($plugin,$module='gateway',$action='handle')
function idcsmart_addon_url (line 1279) | function idcsmart_addon_url($url, $vars = [], $is_admin = false)
function new_client (line 1320) | function new_client($client_id)
function old_client (line 1335) | function old_client($client_id)
function is_image (line 1358) | function is_image($filename)
function is_pdf (line 1385) | function is_pdf($filename)
function add_task (line 1404) | function add_task($param)
function notice_action_create (line 1428) | function notice_action_create($param)
function notice_action_delete (line 1440) | function notice_action_delete($name)
function password_encrypt (line 1453) | function password_encrypt($password)
function password_decrypt (line 1474) | function password_decrypt($password)
function get_files (line 1495) | function get_files($path)
function certification_list (line 1521) | function certification_list()
function check_certification (line 1538) | function check_certification($client_id)
function check_certification_recharge (line 1559) | function check_certification_recharge()
function export_excel (line 1581) | function export_excel(string $filename = '', array $field = [], array $d...
function get_idcsamrt_auth (line 1625) | function get_idcsamrt_auth()
function idcsmart_cache (line 1679) | function idcsmart_cache($key,$value='',$timeout=null)
function idcsmart_api_login (line 1693) | function idcsmart_api_login($api_id,$force=false)
function idcsmart_api_curl (line 1711) | function idcsmart_api_curl($api_id,$path,$data=[],$timeout=30,$request='...
function idcsmart_openssl_rsa_key_create (line 1793) | function idcsmart_openssl_rsa_key_create()
function upstream_sync_host (line 1819) | function upstream_sync_host($host_id, $action = '')
function update_upstream_order_profit (line 1833) | function update_upstream_order_profit($order_id)
function zjmf_private_encrypt (line 1849) | function zjmf_private_encrypt($originalData,$private_key){
function create_sign (line 1867) | function create_sign($params, $token){
function use_mobile (line 1887) | function use_mobile()
function generate_signature (line 1902) | function generate_signature($params,$token,$rand_str=""){
function validate_signature (line 1926) | function validate_signature($params,$token,$rand_str=""){
function get_gateway_return_url (line 1938) | function get_gateway_return_url($tmp_order_id){
function idcsmart_oss_upload (line 1952) | function idcsmart_oss_upload($file_path, $file_name, $type = 'default')
function view_tpl_replace (line 2008) | function view_tpl_replace($content,$data,$templateName="")
function view_tpl_array_out (line 2112) | function view_tpl_array_out($dataVal, $nbsp = ""){
function getRate (line 2132) | function getRate()
function getOssUrl (line 2156) | function getOssUrl($param)
function upstream_upgrade_result_deal (line 2210) | function upstream_upgrade_result_deal($param,$result)
function check_home_enforce_safe_method_redirect (line 2226) | function check_home_enforce_safe_method_redirect()
function check_admin_enforce_safe_method_redirect (line 2268) | function check_admin_enforce_safe_method_redirect()
function client_notice (line 2294) | function client_notice($param)
FILE: 10.4.6/app/common/lib/IdcsmartCache.php
class IdcsmartCache (line 11) | class IdcsmartCache
method cache (line 13) | public static function cache($key,$value='',$timeout=null)
FILE: 10.4.6/app/common/lib/Loader.php
class Loader (line 16) | class Loader
method getRootPath (line 58) | public static function getRootPath()
method register (line 76) | public static function register($autoload = '')
method autoload (line 83) | public static function autoload($class)
method findFile (line 107) | private static function findFile($class)
method addClassMap (line 170) | public static function addClassMap($class, $map = '')
method addNamespace (line 180) | public static function addNamespace($namespace, $path = '')
method addPsr0 (line 192) | private static function addPsr0($prefix, $paths, $prepend = false)
method addPsr4 (line 231) | private static function addPsr4($prefix, $paths, $prepend = false)
method addAutoLoadDir (line 271) | public static function addAutoLoadDir($path)
method addClassAlias (line 277) | public static function addClassAlias($alias, $class = null)
method registerComposerLoader (line 287) | public static function registerComposerLoader($composerPath)
method loadComposerAutoloadFiles (line 316) | public static function loadComposerAutoloadFiles()
method parseName (line 336) | public static function parseName($name, $type = 0, $ucfirst = true)
method factory (line 355) | public static function factory($name, $namespace = '', ...$args)
function __include_file (line 373) | function __include_file($file)
function __require_file (line 378) | function __require_file($file)
FILE: 10.4.6/app/common/lib/Oauth.php
class Oauth (line 8) | class Oauth extends Plugin{
method install (line 18) | public function install()
method uninstall (line 31) | public function uninstall()
FILE: 10.4.6/app/common/lib/Plugin.php
class Plugin (line 15) | abstract class Plugin
method __construct (line 40) | public function __construct()
method fetch (line 84) | final protected function fetch($template)
method display (line 104) | final protected function display($content = '')
method assign (line 116) | final protected function assign($name, $value = '')
method getName (line 125) | final public function getName()
method checkInfo (line 141) | final public function checkInfo()
method getPluginPath (line 155) | final public function getPluginPath()
method getConfigFilePath (line 165) | final public function getConfigFilePath()
method getThemeRoot (line 174) | final public function getThemeRoot()
method getView (line 182) | public function getView()
method getConfig (line 191) | final public function getConfig()
method getDefaultConfig (line 219) | final public function getDefaultConfig()
method install (line 243) | abstract public function install();
method uninstall (line 246) | abstract public function uninstall();
FILE: 10.4.6/app/common/lib/RedisPool.php
class RedisPool (line 11) | class RedisPool
method addServer (line 19) | public static function addServer($config)
method getRedis (line 26) | public static function getRedis($alias,$select=0)
FILE: 10.4.6/app/common/lib/Widget.php
class Widget (line 8) | abstract class Widget
method getId (line 38) | public function getId()
method getTitle (line 52) | public function getTitle()
method getColumns (line 65) | public function getColumns(): int
method getWeight (line 78) | public function getWeight(): int
method lang (line 93) | public function lang(string $key, array $vars = []): string
method getData (line 119) | public abstract function getData();
method output (line 129) | public abstract function output();
FILE: 10.4.6/app/common/logic/EmailLogic.php
class EmailLogic (line 15) | class EmailLogic
method sendBase (line 31) | public function sendBase($param)
method send (line 63) | public function send($param)
method mailMethods (line 263) | private function mailMethods($cmd,$param)
method paramStrReplace (line 300) | private function paramStrReplace($content,$param)
FILE: 10.4.6/app/common/logic/IndexLogic.php
class IndexLogic (line 12) | class IndexLogic
method thisYearSale (line 24) | public function thisYearSale()
method thisYearClient (line 65) | public function thisYearClient()
FILE: 10.4.6/app/common/logic/ModuleLogic.php
class ModuleLogic (line 15) | class ModuleLogic
method getModuleList (line 30) | public function getModuleList(): array
method enableModuleList (line 81) | public function enableModuleList()
method testConnect (line 115) | public function testConnect(ServerModel $ServerModel): array
method afterCreateFirstServer (line 142) | public function afterCreateFirstServer($module)
method afterDeleteLastServer (line 190) | public function afterDeleteLastServer($module)
method createAccount (line 212) | public function createAccount(HostModel $HostModel): array
method suspendAccount (line 241) | public function suspendAccount(HostModel $HostModel, $param = []): array
method unsuspendAccount (line 271) | public function unsuspendAccount(HostModel $HostModel): array
method terminateAccount (line 298) | public function terminateAccount(HostModel $HostModel): array
method renew (line 323) | public function renew(HostModel $HostModel): void
method changePackage (line 346) | public function changePackage(HostModel $HostModel, $params)
method changeProduct (line 369) | public function changeProduct(HostModel $HostModel, $params)
method cartCalculatePrice (line 403) | public function cartCalculatePrice(ProductModel $ProductModel, $params...
method serverConfigOption (line 435) | public function serverConfigOption($module, ProductModel $ProductModel)
method hostList (line 459) | public function hostList($module, $params): string
method clientArea (line 484) | public function clientArea(HostModel $HostModel): string
method adminArea (line 509) | public function adminArea(HostModel $HostModel): string
method clientProductConfigOption (line 534) | public function clientProductConfigOption(ProductModel $ProductModel):...
method afterSettle (line 560) | public function afterSettle(ProductModel $ProductModel, $hostId, $para...
method durationPrice (line 584) | public function durationPrice(HostModel $HostModel)
method getPriceCycle (line 613) | public function getPriceCycle($productId)
method downloadResource (line 650) | public function downloadResource(ProductModel $ProductModel)
method adminField (line 681) | public function adminField(HostModel $HostModel)
method hostUpdate (line 722) | public function hostUpdate(HostModel $HostModel, $module_admin_field =...
method allConfigOption (line 759) | public function allConfigOption(ProductModel $ProductModel)
method adminAreaModuleOperate (line 784) | public function adminAreaModuleOperate(HostModel $HostModel): string
method checkModule (line 809) | protected function checkModule($module)
method importModule (line 823) | protected function importModule($module)
method formatTemplate (line 847) | private function formatTemplate($module, $res): string
method formatResult (line 892) | private function formatResult($res, $successMsg = '', $failMsg = ''): ...
FILE: 10.4.6/app/common/logic/ResModuleLogic.php
class ResModuleLogic (line 21) | class ResModuleLogic
method __construct (line 28) | public function __construct($upstreamProduct = []){
method getModuleList (line 62) | public function getModuleList(): array
method createAccount (line 131) | public function createAccount(HostModel $HostModel): array
method suspendAccount (line 460) | public function suspendAccount(HostModel $HostModel, $param = []): array
method unsuspendAccount (line 512) | public function unsuspendAccount(HostModel $HostModel): array
method terminateAccount (line 557) | public function terminateAccount(HostModel $HostModel): array
method renew (line 605) | public function renew(HostModel $HostModel)
method changePackage (line 707) | public function changePackage(HostModel $HostModel, $params)
method changeProduct (line 729) | public function changeProduct(HostModel $HostModel, $params)
method cartCalculatePrice (line 762) | public function cartCalculatePrice($ProductModel, $params = [], $qty=1...
method hostList (line 1109) | public function hostList($module, $params): string
method clientArea (line 1133) | public function clientArea(HostModel $HostModel): string
method adminArea (line 1171) | public function adminArea(HostModel $HostModel): string
method clientProductConfigOption (line 1197) | public function clientProductConfigOption(ProductModel $ProductModel, ...
method afterSettle (line 1232) | public function afterSettle($ProductModel, $hostId, $params,$customfie...
method durationPrice (line 1255) | public function durationPrice(HostModel $HostModel)
method allConfigOption (line 1396) | public function allConfigOption(ProductModel $ProductModel,$hostId=0)
method adminAreaModuleOperate (line 1522) | public function adminAreaModuleOperate(HostModel $HostModel): string
method downloadResource (line 1536) | public function downloadResource($ProductModel){
method adminField (line 1561) | public function adminField(HostModel $HostModel)
method syncAccount (line 1583) | public function syncAccount(HostModel $HostModel)
method checkModule (line 1686) | protected function checkModule($module){
method importModule (line 1699) | protected function importModule($module = null)
method formatTemplate (line 1724) | private function formatTemplate($res = null): string
method formatResult (line 1769) | private function formatResult($res, $successMsg = '', $failMsg = ''): ...
FILE: 10.4.6/app/common/logic/SmsLogic.php
class SmsLogic (line 15) | class SmsLogic
method sendBase (line 30) | public function sendBase($param)
method send (line 81) | public function send($param)
method smsMethods (line 299) | private function smsMethods($cmd,$param)
FILE: 10.4.6/app/common/logic/TemplateLogic.php
class TemplateLogic (line 11) | class TemplateLogic
method templateTabList (line 25) | public function templateTabList($param)
FILE: 10.4.6/app/common/logic/UpgradePluginsLogic.php
class UpgradePluginsLogic (line 9) | class UpgradePluginsLogic
method upgrade (line 11) | public function upgrade($module,$name)
FILE: 10.4.6/app/common/logic/UpgradeSystemLogic.php
class UpgradeSystemLogic (line 12) | class UpgradeSystemLogic
method __construct (line 26) | public function __construct(){
method getSystemVersion (line 50) | public function getSystemVersion()
method updateSystemVersionType (line 91) | public function updateSystemVersionType($param)
method getUpgradeContent (line 111) | public function getUpgradeContent()
method upgradeDownload (line 147) | public function upgradeDownload()
method getLastVersion (line 209) | private function getLastVersion()
method getHistoryVersion (line 228) | private function getHistoryVersion()
method getUpgradeLog (line 253) | private function getUpgradeLog()
method getUpgradeDownloadProgress (line 304) | public function getUpgradeDownloadProgress()
method getAuth (line 333) | public function getAuth()
method updateLicense (line 353) | public function updateLicense($param)
method downloadZip (line 376) | private function downloadZip($url)
method deleteUpgrdeFile (line 441) | private function deleteUpgrdeFile($file_name,$package_name)
method deleteDir (line 466) | private function deleteDir($path,$out=[]) {
method recurseGetLastVersion (line 505) | private function recurseGetLastVersion(&$last,$arr=[])
method diffVersion (line 524) | private function diffVersion($last_version,$version)
method newIsWriteable (line 551) | private function newIsWriteable($file) {
method upgradeData (line 573) | public function upgradeData()
FILE: 10.4.6/app/common/logic/UploadLogic.php
class UploadLogic (line 14) | class UploadLogic
method __construct (line 19) | public function __construct($fileSave = '')
method uploadHandle (line 42) | public function uploadHandle(UploadedFile $file, $origin = true, $spli...
method uploadImgHandle (line 105) | public function uploadImgHandle(UploadedFile $file, $origin = true, $s...
method moveTo (line 156) | function moveTo($file, $path='',$type='default')
FILE: 10.4.6/app/common/logic/UpstreamLogic.php
class UpstreamLogic (line 16) | class UpstreamLogic
method recommendProductList (line 62) | public function recommendProductList($param)
method recommendProductDetail (line 116) | public function recommendProductDetail($param)
method upstreamProductList (line 140) | public function upstreamProductList($param)
method upstreamProductDetail (line 166) | public function upstreamProductDetail($param)
method upstreamProductDownloadResource (line 222) | public function upstreamProductDownloadResource($param)
method upstreamApiAuth (line 339) | public function upstreamApiAuth($param)
method syncHost (line 363) | public function syncHost($param)
method upstreamRequest (line 527) | public function upstreamRequest($url, $data, $timeout = 30, $request =...
method rsaDecrypt (line 550) | private function rsaDecrypt($encryptData, $rsaPrivateKey){
method unzip (line 575) | private function unzip($filepath,$path)
method curl_download (line 604) | private function curl_download($url, $file_name)
method validateSign (line 634) | public function validateSign($params, $sign){
method upstreamUpgradeResultDeal (line 677) | public function upstreamUpgradeResultDeal($param,$result){
FILE: 10.4.6/app/common/logic/VerificationCodeLogic.php
class VerificationCodeLogic (line 14) | class VerificationCodeLogic
method sendPhoneCode (line 30) | public function sendPhoneCode($param)
method sendEmailCode (line 112) | public function sendEmailCode($param)
method getConfig (line 176) | private function getConfig()
FILE: 10.4.6/app/common/logic/WidgetLogic.php
class WidgetLogic (line 10) | class WidgetLogic
method loadWidget (line 29) | public function loadWidget(): array
method loadHookWidget (line 69) | protected function loadHookWidget(): bool
method getAllWidgets (line 98) | public function getAllWidgets(): array
method getAllWidgetId (line 114) | public function getAllWidgetId(): array
method output (line 134) | public function output($widgetId)
method getData (line 153) | public function getData($widgetId)
method findWidget (line 172) | public function findWidget($widgetId)
FILE: 10.4.6/app/common/model/ApiModel.php
class ApiModel (line 14) | class ApiModel extends Model
method apiList (line 52) | public function apiList($param)
method createApi (line 120) | public function createApi($param)
method whiteListSetting (line 191) | public function whiteListSetting($param)
method deleteApi (line 241) | public function deleteApi($id)
method getConfig (line 283) | public function getConfig()
method updateConfig (line 304) | public function updateConfig($param)
method clientList (line 361) | public function clientList($param)
method addClient (line 383) | public function addClient($id)
method removeClient (line 414) | public function removeClient($id)
FILE: 10.4.6/app/common/model/BottomBarGroupModel.php
class BottomBarGroupModel (line 13) | class BottomBarGroupModel extends Model
method groupList (line 38) | public function groupList($param)
method createGroup (line 61) | public function createGroup($param)
method updateGroup (line 99) | public function updateGroup($param)
method deleteGroup (line 161) | public function deleteGroup($id)
method groupOrder (line 201) | public function groupOrder($param)
FILE: 10.4.6/app/common/model/BottomBarNavModel.php
class BottomBarNavModel (line 13) | class BottomBarNavModel extends Model
method navList (line 47) | public function navList($param)
method createNav (line 91) | public function createNav($param)
method updateNav (line 138) | public function updateNav($param)
method deleteNav (line 222) | public function deleteNav($id)
method navShow (line 256) | public function navShow($param)
method navOrder (line 298) | public function navOrder($param)
method webFooterNav (line 349) | public function webFooterNav()
FILE: 10.4.6/app/common/model/CabinetRentalProductModel.php
class CabinetRentalProductModel (line 13) | class CabinetRentalProductModel extends Model
method productList (line 41) | public function productList($param)
method createProduct (line 66) | public function createProduct($param)
method updateProduct (line 110) | public function updateProduct($param)
method deleteProduct (line 184) | public function deleteProduct($id)
method webData (line 220) | public function webData()
FILE: 10.4.6/app/common/model/ClientCreditModel.php
class ClientCreditModel (line 13) | class ClientCreditModel extends Model
method clientCreditList (line 54) | public function clientCreditList($param)
method updateClientCredit (line 131) | public function updateClientCredit($param)
FILE: 10.4.6/app/common/model/ClientCustomFieldModel.php
class ClientCustomFieldModel (line 12) | class ClientCustomFieldModel extends Model
method getClientCustomField (line 37) | public function getClientCustomField($param)
method createClientCustomField (line 65) | public function createClientCustomField($param)
method deleteClientCustomField (line 90) | public function deleteClientCustomField($param)
FILE: 10.4.6/app/common/model/ClientLoginModel.php
class ClientLoginModel (line 11) | class ClientLoginModel extends Model
method clientLogin (line 34) | public function clientLogin($client_id)
method getJwtKey (line 62) | public function getJwtKey($client_id)
method isCommonIpLogin (line 79) | public function isCommonIpLogin($param)
FILE: 10.4.6/app/common/model/ClientModel.php
class ClientModel (line 16) | class ClientModel extends Model
method clientList (line 90) | public function clientList($param)
method indexClient (line 438) | public function indexClient($id)
method indexClient2 (line 513) | public function indexClient2($id)
method createClient (line 568) | public function createClient($param)
method updateClient (line 618) | public function updateClient($param)
method deleteClient (line 805) | public function deleteClient($param)
method updateClientStatus (line 865) | public function updateClientStatus($param)
method searchClient (line 928) | public function searchClient($param, $type = '')
method verifyOldPhone (line 992) | public function verifyOldPhone($param)
method updateClientPhone (line 1032) | public function updateClientPhone($param)
method verifyOldEmail (line 1112) | public function verifyOldEmail($param)
method updateClientEmail (line 1152) | public function updateClientEmail($param)
method updateClientPassword (line 1240) | public function updateClientPassword($param)
method codeUpdatePassword (line 1324) | public function codeUpdatePassword($param)
method login (line 1368) | public function login($param)
method register (line 1407) | public function register($param)
method passwordReset (line 1457) | public function passwordReset($param)
method logout (line 1482) | public function logout($param)
method codeLogin (line 1505) | private function codeLogin($param)
method passwordLogin (line 1622) | private function passwordLogin($param)
method emailLogin (line 1671) | private function emailLogin($param)
method phoneLogin (line 1800) | private function phoneLogin($param)
method checkPhoneRegister (line 1940) | private function checkPhoneRegister($phone,$phone_code)
method checkEmailRegister (line 1949) | private function checkEmailRegister($email)
method getPhoneVerificationCode (line 1956) | public function getPhoneVerificationCode($phone,$phone_code,$action='l...
method getEmailVerificationCode (line 1962) | public function getEmailVerificationCode($email,$action='register')
method clearPhoneVerificationCode (line 1968) | private function clearPhoneVerificationCode($phone,$phone_code,$action...
method clearEmailVerificationCode (line 1974) | private function clearEmailVerificationCode($email,$action='register')
method phoneRegister (line 1980) | public function phoneRegister($param, $is_oauth = false)
method emailRegister (line 2106) | public function emailRegister($param, $is_oauth = false)
method phonePasswordReset (line 2227) | private function phonePasswordReset($param)
method emailPasswordReset (line 2306) | private function emailPasswordReset($param)
method phonePasswordUpdate (line 2370) | private function phonePasswordUpdate($param)
method emailPasswordUpdate (line 2452) | private function emailPasswordUpdate($param)
method loginByClient (line 2541) | public function loginByClient($id)
method newClient (line 2574) | public function newClient($id)
method visitClientList (line 2631) | public function visitClientList($param)
method apiAuth (line 2679) | public function apiAuth($param)
method updateOperatePassword (line 2756) | public function updateOperatePassword($param)
method clientNotice (line 2804) | public function clientNotice($param)
FILE: 10.4.6/app/common/model/ClientRecordModel.php
class ClientRecordModel (line 12) | class ClientRecordModel extends Model
method clientRecordList (line 44) | public function clientRecordList($param)
method createClientRecord (line 79) | public function createClientRecord($param)
method updateClientRecord (line 123) | public function updateClientRecord($param)
method deleteClientRecord (line 164) | public function deleteClientRecord($id)
FILE: 10.4.6/app/common/model/CloudServerAreaModel.php
class CloudServerAreaModel (line 13) | class CloudServerAreaModel extends Model
method areaList (line 42) | public function areaList()
method createArea (line 77) | public function createArea($param)
method updateArea (line 111) | public function updateArea($param)
method deleteArea (line 175) | public function deleteArea($id)
FILE: 10.4.6/app/common/model/CloudServerBannerModel.php
class CloudServerBannerModel (line 13) | class CloudServerBannerModel extends Model
method bannerList (line 46) | public function bannerList()
method createBanner (line 70) | public function createBanner($param)
method updateBanner (line 114) | public function updateBanner($param)
method deleteBanner (line 195) | public function deleteBanner($id)
method showBanner (line 227) | public function showBanner($param)
method orderBanner (line 267) | public function orderBanner($param)
FILE: 10.4.6/app/common/model/CloudServerDiscountModel.php
class CloudServerDiscountModel (line 13) | class CloudServerDiscountModel extends Model
method discountList (line 39) | public function discountList()
method createDiscount (line 60) | public function createDiscount($param)
method updateDiscount (line 96) | public function updateDiscount($param)
method deleteDiscount (line 162) | public function deleteDiscount($id)
FILE: 10.4.6/app/common/model/CloudServerProductModel.php
class CloudServerProductModel (line 13) | class CloudServerProductModel extends Model
method productList (line 68) | public function productList($param)
method createProduct (line 113) | public function createProduct($param)
method updateProduct (line 183) | public function updateProduct($param)
method deleteProduct (line 293) | public function deleteProduct($id)
method webData (line 355) | public function webData()
FILE: 10.4.6/app/common/model/ConfigOptionModel.php
class ConfigOptionModel (line 11) | class ConfigOptionModel extends Model
FILE: 10.4.6/app/common/model/ConfigOptionSubModel.php
class ConfigOptionSubModel (line 11) | class ConfigOptionSubModel extends Model
FILE: 10.4.6/app/common/model/ConfigurationModel.php
class ConfigurationModel (line 16) | class ConfigurationModel extends Model
method index (line 191) | public function index()
method saveConfiguration (line 205) | public function saveConfiguration($param)
method systemList (line 265) | public function systemList()
method systemUpdate (line 333) | public function systemUpdate($param)
method loginList (line 460) | public function loginList()
method loginUpdate (line 500) | public function loginUpdate($param)
method securityList (line 590) | public function securityList()
method securityUpdate (line 620) | public function securityUpdate($param)
method currencyList (line 682) | public function currencyList()
method currencyUpdate (line 712) | public function currencyUpdate($param)
method cronList (line 821) | public function cronList()
method cronUpdate (line 882) | public function cronUpdate($param)
method sendList (line 985) | public function sendList()
method sendUpdate (line 1007) | public function sendUpdate($param)
method themeList (line 1053) | public function themeList()
method themeUpdate (line 1127) | public function themeUpdate($param)
method certificationList (line 1186) | public function certificationList()
method certificationUpdate (line 1212) | public function certificationUpdate($param)
method infoList (line 1254) | public function infoList()
method infoUpdate (line 1287) | public function infoUpdate($param)
method debugInfo (line 1318) | public function debugInfo()
method debug (line 1339) | public function debug($param)
method getOssConfig (line 1448) | public function getOssConfig()
method ossConfig (line 1483) | public function ossConfig($param)
method getOrderRecycleBinConfig (line 1549) | public function getOrderRecycleBinConfig()
method orderRecycleBinConfigUpdate (line 1572) | public function orderRecycleBinConfigUpdate($param)
method webList (line 1640) | public function webList()
method webUpdate (line 1671) | public function webUpdate($param)
method cloudServerList (line 1740) | public function cloudServerList()
method cloudServerUpdate (line 1760) | public function cloudServerUpdate($param)
method physicalServerList (line 1821) | public function physicalServerList()
method physicalServerUpdate (line 1841) | public function physicalServerUpdate($param)
method icpList (line 1902) | public function icpList()
method icpUpdate (line 1922) | public function icpUpdate($param)
FILE: 10.4.6/app/common/model/ConsultModel.php
class ConsultModel (line 11) | class ConsultModel extends Model
method consultList (line 49) | public function consultList($param)
method createConsult (line 84) | public function createConsult($param)
FILE: 10.4.6/app/common/model/CountryModel.php
class CountryModel (line 12) | class CountryModel extends Model
method countryList (line 43) | public function countryList($param=[])
method checkPhoneCode (line 83) | public function checkPhoneCode($phone_code)
FILE: 10.4.6/app/common/model/EmailTemplateModel.php
class EmailTemplateModel (line 12) | class EmailTemplateModel extends Model
method emailTemplateList (line 39) | public function emailTemplateList()
method indexEmailTemplate (line 63) | public function indexEmailTemplate($id)
method createEmailTemplate (line 85) | public function createEmailTemplate($param)
method updateEmailTemplate (line 122) | public function updateEmailTemplate($param)
method deleteEmailTemplate (line 160) | public function deleteEmailTemplate($id)
method test (line 192) | public function test($param)
FILE: 10.4.6/app/common/model/FeedbackModel.php
class FeedbackModel (line 13) | class FeedbackModel extends Model
method feedbackList (line 51) | public function feedbackList($param)
method createFeedback (line 94) | public function createFeedback($param)
FILE: 10.4.6/app/common/model/FeedbackTypeModel.php
class FeedbackTypeModel (line 11) | class FeedbackTypeModel extends Model
method feedbackTypeList (line 35) | public function feedbackTypeList()
method createFeedbackType (line 53) | public function createFeedbackType($param)
method updateFeedbackType (line 82) | public function updateFeedbackType($param)
method deleteFeedbackType (line 114) | public function deleteFeedbackType($id)
FILE: 10.4.6/app/common/model/FileLogModel.php
class FileLogModel (line 13) | class FileLogModel extends Model
FILE: 10.4.6/app/common/model/FriendlyLinkModel.php
class FriendlyLinkModel (line 13) | class FriendlyLinkModel extends Model
method friendlyLinkList (line 37) | public function friendlyLinkList()
method createFriendlyLink (line 55) | public function createFriendlyLink($param)
method updateFriendlyLink (line 87) | public function updateFriendlyLink($param)
method deleteFriendlyLink (line 148) | public function deleteFriendlyLink($id)
FILE: 10.4.6/app/common/model/HonorModel.php
class HonorModel (line 13) | class HonorModel extends Model
method honorList (line 37) | public function honorList()
method createHonor (line 55) | public function createHonor($param)
method updateHonor (line 87) | public function updateHonor($param)
method deleteHonor (line 148) | public function deleteHonor($id)
FILE: 10.4.6/app/common/model/HostIpModel.php
class HostIpModel (line 11) | class HostIpModel extends Model
method hostIpSave (line 38) | public function hostIpSave($param)
method getHostIp (line 121) | public function getHostIp($param)
FILE: 10.4.6/app/common/model/HostModel.php
class HostModel (line 18) | class HostModel extends Model
method hostList (line 119) | public function hostList($param)
method indexHostList (line 434) | public function indexHostList($param)
method indexHost (line 539) | public function indexHost($id)
method searchHost (line 587) | public function searchHost($keywords)
method updateHost (line 672) | public function updateHost($param)
method deleteHost (line 871) | public function deleteHost($param)
method batchDeleteHost (line 935) | public function batchDeleteHost($param)
method getModuleParams (line 1004) | public function getModuleParams()
method getModule (line 1027) | public function getModule($param = [])
method createAccount (line 1050) | public function createAccount($id)
method suspendAccount (line 1165) | public function suspendAccount($param)
method unsuspendAccount (line 1258) | public function unsuspendAccount($id)
method terminateAccount (line 1341) | public function terminateAccount($id)
method adminArea (line 1418) | public function adminArea($id)
method menuHostList (line 1455) | public function menuHostList($id)
method clientArea (line 1494) | public function clientArea($id)
method upgradeAccount (line 1540) | public function upgradeAccount($id)
method updateHostNotes (line 1677) | public function updateHostNotes($param)
method clientHost (line 1721) | public function clientHost($param)
method moduleAdminButton (line 1783) | public function moduleAdminButton($param)
method upstreamSyncHost (line 1860) | public function upstreamSyncHost($id, $action = '')
method moduleField (line 1935) | public function moduleField($id)
method syncDownStreamHost (line 1955) | public function syncDownStreamHost(HostModel $host)
method getCreateAccountLock (line 2062) | public function getCreateAccountLock($id)
method clearCreateAccountLock (line 2080) | public function clearCreateAccountLock($id)
method adminAreaModuleOperate (line 2097) | public function adminAreaModuleOperate($id)
method syncAccount (line 2131) | public function syncAccount($id)
FILE: 10.4.6/app/common/model/IcpServiceProductModel.php
class IcpServiceProductModel (line 13) | class IcpServiceProductModel extends Model
method productList (line 41) | public function productList($param)
method createProduct (line 66) | public function createProduct($param)
method updateProduct (line 110) | public function updateProduct($param)
method deleteProduct (line 184) | public function deleteProduct($id)
method webData (line 221) | public function webData()
FILE: 10.4.6/app/common/model/IndexBannerModel.php
class IndexBannerModel (line 13) | class IndexBannerModel extends Model
method bannerList (line 46) | public function bannerList()
method createBanner (line 70) | public function createBanner($param)
method updateBanner (line 114) | public function updateBanner($param)
method deleteBanner (line 195) | public function deleteBanner($id)
method showBanner (line 227) | public function showBanner($param)
method orderBanner (line 267) | public function orderBanner($param)
method webData (line 311) | public function webData()
FILE: 10.4.6/app/common/model/MenuModel.php
class MenuModel (line 16) | class MenuModel extends Model
method getAdminMenu (line 78) | public function getAdminMenu()
method getHomeMenu (line 222) | public function getHomeMenu()
method saveAdminMenu (line 339) | public function saveAdminMenu($param)
method saveHomeMenu (line 444) | public function saveHomeMenu($param)
method saveChild (line 566) | public function saveChild($type = '', $parentId = 0, $child = [], $ord...
method adminMenu (line 613) | public function adminMenu(){
method homeMenu (line 838) | public function homeMenu(){
method createHomeMenu (line 967) | public function createHomeMenu()
method createHomeModuleMenu (line 1159) | public function createHomeModuleMenu($productId = 0)
method deleteHomeModuleMenu (line 1326) | public function deleteHomeModuleMenu($productId = 0)
FILE: 10.4.6/app/common/model/NavModel.php
class NavModel (line 13) | class NavModel extends Model
method createPluginNav (line 47) | public function createPluginNav($nav,$module,$name,$type='admin')
method deletePluginNav (line 118) | public function deletePluginNav($param)
FILE: 10.4.6/app/common/model/NoticeSettingModel.php
class NoticeSettingModel (line 15) | class NoticeSettingModel extends Model
method settingList (line 41) | public function settingList()
method indexSetting (line 97) | public function indexSetting($name)
method updateNoticeSetting (line 140) | public function updateNoticeSetting($params)
method noticeActionCreate (line 368) | function noticeActionCreate($param)
method noticeActionDelete (line 451) | public function noticeActionDelete($name)
FILE: 10.4.6/app/common/model/OrderItemModel.php
class OrderItemModel (line 12) | class OrderItemModel extends Model
FILE: 10.4.6/app/common/model/OrderModel.php
class OrderModel (line 19) | class OrderModel extends Model
method orderList (line 114) | public function orderList($param, $scene = '')
method indexOrder (line 526) | public function indexOrder($id)
method createOrder (line 674) | public function createOrder($param)
method createNewOrder (line 748) | private function createNewOrder($param)
method getUpgradeAmount (line 963) | public function getUpgradeAmount($param)
method deleteHostUnpaidUpgradeOrder (line 1055) | public function deleteHostUnpaidUpgradeOrder($id)
method deleteUnpaidRenewOrder (line 1095) | public function deleteUnpaidRenewOrder($id)
method createUpgradeOrder (line 1126) | public function createUpgradeOrder($param)
method createUpgradeConfigOrder (line 1435) | public function createUpgradeConfigOrder($param)
method createOrderBase (line 1728) | public function createOrderBase($param)
method updateAmount (line 1809) | public function updateAmount($param)
method updateOrderItem (line 1899) | public function updateOrderItem($param)
method deleteOrderItem (line 1985) | public function deleteOrderItem($id)
method orderPaid (line 2066) | public function orderPaid($param)
method deleteOrder (line 2171) | public function deleteOrder($param)
method batchDeleteOrder (line 2255) | public function batchDeleteOrder($param, $type = '')
method cancelOrder (line 2379) | public function cancelOrder($id)
method orderRefund (line 2454) | public function orderRefund($param)
method orderApplyCredit (line 2662) | public function orderApplyCredit($param)
method orderRemoveCredit (line 2780) | public function orderRemoveCredit($param)
method updateGateway (line 2848) | public function updateGateway($param)
method updateNotes (line 2905) | public function updateNotes($param)
method updateUpstreamOrderProfit (line 2943) | public function updateUpstreamOrderProfit($id){
method processPaidOrder (line 2990) | public function processPaidOrder($id)
method hostOrderHandle (line 3076) | public function hostOrderHandle($id)
method upgradeOrderHandle (line 3192) | public function upgradeOrderHandle($id)
method exportExcel (line 3293) | public function exportExcel($param){
method lockOrder (line 3328) | public function lockOrder($param)
method unlockOrder (line 3365) | public function unlockOrder($param)
method recycleOrder (line 3403) | public function recycleOrder($param)
method recoverOrder (line 3485) | public function recoverOrder($param)
FILE: 10.4.6/app/common/model/OrderTmpModel.php
class OrderTmpModel (line 13) | class OrderTmpModel extends Model
method pay (line 43) | public function pay($param)
method startPay (line 186) | private function startPay($id,$gateway)
method status (line 249) | public function status($param)
method recharge (line 287) | public function recharge($param)
method credit (line 408) | public function credit($param)
method orderPayHandle (line 496) | public function orderPayHandle($param)
method getGatewayReturnUrl (line 723) | public function getGatewayReturnUrl($tmpOrderId)
FILE: 10.4.6/app/common/model/PartnerModel.php
class PartnerModel (line 13) | class PartnerModel extends Model
method partnerList (line 39) | public function partnerList()
method createPartner (line 58) | public function createPartner($param)
method updatePartner (line 92) | public function updatePartner($param)
method deletePartner (line 155) | public function deletePartner($id)
FILE: 10.4.6/app/common/model/PhysicalServerAreaModel.php
class PhysicalServerAreaModel (line 13) | class PhysicalServerAreaModel extends Model
method areaList (line 42) | public function areaList()
method createArea (line 77) | public function createArea($param)
method updateArea (line 111) | public function updateArea($param)
method deleteArea (line 175) | public function deleteArea($id)
FILE: 10.4.6/app/common/model/PhysicalServerBannerModel.php
class PhysicalServerBannerModel (line 13) | class PhysicalServerBannerModel extends Model
method bannerList (line 46) | public function bannerList()
method createBanner (line 70) | public function createBanner($param)
method updateBanner (line 114) | public function updateBanner($param)
method deleteBanner (line 195) | public function deleteBanner($id)
method showBanner (line 227) | public function showBanner($param)
method orderBanner (line 267) | public function orderBanner($param)
FILE: 10.4.6/app/common/model/PhysicalServerDiscountModel.php
class PhysicalServerDiscountModel (line 13) | class PhysicalServerDiscountModel extends Model
method discountList (line 39) | public function discountList()
method createDiscount (line 60) | public function createDiscount($param)
method updateDiscount (line 96) | public function updateDiscount($param)
method deleteDiscount (line 162) | public function deleteDiscount($id)
FILE: 10.4.6/app/common/model/PhysicalServerProductModel.php
class PhysicalServerProductModel (line 14) | class PhysicalServerProductModel extends Model
method productList (line 71) | public function productList($param)
method createProduct (line 117) | public function createProduct($param)
method updateProduct (line 189) | public function updateProduct($param)
method deleteProduct (line 301) | public function deleteProduct($id)
method webData (line 364) | public function webData()
FILE: 10.4.6/app/common/model/ProductDurationRatioModel.php
class ProductDurationRatioModel (line 12) | class ProductDurationRatioModel extends Model{
method indexRatio (line 41) | public function indexRatio($product_id)
method saveRatio (line 76) | public function saveRatio($param)
method autoFill (line 150) | public function autoFill($param)
FILE: 10.4.6/app/common/model/ProductGroupModel.php
class ProductGroupModel (line 12) | class ProductGroupModel extends Model
method productGroupFirstList (line 41) | public function productGroupFirstList()
method productGroupSecondList (line 94) | public function productGroupSecondList($param)
method createProductGroup (line 149) | public function createProductGroup($param)
method updateProductGroup (line 201) | public function updateProductGroup($param)
method deleteProductGroup (line 243) | public function deleteProductGroup($id)
method moveProduct (line 290) | public function moveProduct($param)
method orderProductGroup (line 339) | public function orderProductGroup($param)
method orderFristProductGroup (line 434) | public function orderFristProductGroup($param)
method hiddenProductGroup (line 517) | public function hiddenProductGroup($param)
FILE: 10.4.6/app/common/model/ProductModel.php
class ProductModel (line 16) | class ProductModel extends Model
method productList (line 84) | public function productList($param)
method productList1 (line 163) | public function productList1($param)
method moduleProductList (line 240) | public function moduleProductList($param)
method indexProduct (line 324) | public function indexProduct($id)
method searchProduct (line 408) | public function searchProduct($keywords)
method createProduct (line 439) | public function createProduct($param)
method updateProduct (line 518) | public function updateProduct($param)
method updateServer (line 764) | public function updateServer($param)
method deleteProduct (line 833) | public function deleteProduct($id)
method hiddenProduct (line 908) | public function hiddenProduct($param)
method orderProduct (line 960) | public function orderProduct($param)
method upgradeProduct (line 1070) | public function upgradeProduct($id)
method getModule (line 1091) | public function getModule($param=[], $relId = 0, $type = 'server')
method moduleServerConfigOption (line 1131) | public function moduleServerConfigOption($param)
method moduleClientConfigOption (line 1172) | public function moduleClientConfigOption($param)
method settle (line 1222) | public function settle($param,$isAdmin=false)
method productCalculatePrice (line 1527) | public function productCalculatePrice($param)
method productAllConfigOption (line 1699) | public function productAllConfigOption($id)
method productStock (line 1729) | public function productStock($id)
method productListSearch (line 1767) | public function productListSearch($param)
method setPriceCycle (line 1847) | public function setPriceCycle($id = null, $price = null, $cycle = null)
method downloadResource (line 1896) | public function downloadResource($param)
method saveAgentableProduct (line 1924) | public function saveAgentableProduct($param)
method resModuleProductList (line 1971) | public function resModuleProductList($param)
method copyProduct (line 2024) | public function copyProduct($param)
method getNameAttr (line 2122) | public function getNameAttr($value)
method getProductList (line 2151) | public function getProductList()
FILE: 10.4.6/app/common/model/ProductUpgradeProductModel.php
class ProductUpgradeProductModel (line 11) | class ProductUpgradeProductModel extends Model
FILE: 10.4.6/app/common/model/RefundRecordModel.php
class RefundRecordModel (line 15) | class RefundRecordModel extends Model
method refundRecordList (line 59) | public function refundRecordList($param)
method deleteRefundRecord (line 104) | public function deleteRefundRecord($id)
method pendingRefundRecord (line 172) | public function pendingRefundRecord($id)
method rejectRefundRecord (line 307) | public function rejectRefundRecord($param)
method redundedRefundRecord (line 349) | public function redundedRefundRecord($param)
FILE: 10.4.6/app/common/model/SelfDefinedFieldModel.php
class SelfDefinedFieldModel (line 11) | class SelfDefinedFieldModel extends Model
method selfDefinedFieldCreate (line 65) | public function selfDefinedFieldCreate($param)
method selfDefinedFieldUpdate (line 134) | public function selfDefinedFieldUpdate($param)
method selfDefinedFieldList (line 254) | public function selfDefinedFieldList($param)
method selfDefinedFieldDelete (line 284) | public function selfDefinedFieldDelete($param)
method dragToSort (line 334) | public function dragToSort($param)
method withDelete (line 369) | public function withDelete($type, $relid)
method showOrderPageField (line 396) | public function showOrderPageField($param)
method checkAndFilter (line 427) | public function checkAndFilter($param)
method toUpstreamId (line 498) | public function toUpstreamId($param)
method showOrderDetailField (line 533) | public function showOrderDetailField($param)
method showAdminHostDetailField (line 572) | public function showAdminHostDetailField($param)
method showClientHostDetailField (line 610) | public function showClientHostDetailField($param)
method adminHostUpdateFormat (line 651) | public function adminHostUpdateFormat($param)
method adminHostUpdateSave (line 741) | public function adminHostUpdateSave($param)
method saveUpstreamSelfDefinedField (line 795) | public function saveUpstreamSelfDefinedField($param)
method getUpstreamSelfDefinedFieldValue (line 963) | public function getUpstreamSelfDefinedFieldValue($param)
method getHostListSelfDefinedFieldValue (line 1003) | public function getHostListSelfDefinedFieldValue($param)
FILE: 10.4.6/app/common/model/SelfDefinedFieldValueModel.php
class SelfDefinedFieldValueModel (line 11) | class SelfDefinedFieldValueModel extends Model
method withDelete (line 35) | public function withDelete($param)
FILE: 10.4.6/app/common/model/SeoModel.php
class SeoModel (line 13) | class SeoModel extends Model
method seoList (line 46) | public function seoList($param)
method createSeo (line 74) | public function createSeo($param)
method updateSeo (line 110) | public function updateSeo($param)
method deleteSeo (line 175) | public function deleteSeo($id)
FILE: 10.4.6/app/common/model/ServerGroupModel.php
class ServerGroupModel (line 12) | class ServerGroupModel extends Model
method serverGroupList (line 44) | public function serverGroupList($param)
method indexServerGroup (line 105) | public function indexServerGroup($id)
method createServerGroup (line 132) | public function createServerGroup($param)
method updateServerGroup (line 188) | public function updateServerGroup($param)
method deleteServerGroup (line 242) | public function deleteServerGroup($id)
FILE: 10.4.6/app/common/model/ServerHostingAreaModel.php
class ServerHostingAreaModel (line 13) | class ServerHostingAreaModel extends Model
method areaList (line 35) | public function areaList()
method createArea (line 54) | public function createArea($param)
method updateArea (line 86) | public function updateArea($param)
method deleteArea (line 148) | public function deleteArea($id)
FILE: 10.4.6/app/common/model/ServerHostingProductModel.php
class ServerHostingProductModel (line 14) | class ServerHostingProductModel extends Model
method productList (line 62) | public function productList($param)
method createProduct (line 104) | public function createProduct($param)
method updateProduct (line 168) | public function updateProduct($param)
method deleteProduct (line 272) | public function deleteProduct($id)
method webData (line 318) | public function webData()
FILE: 10.4.6/app/common/model/ServerModel.php
class ServerModel (line 13) | class ServerModel extends Model
method serverList (line 60) | public function serverList($param)
method indexServer (line 134) | public function indexServer($id)
method createServer (line 161) | public function createServer($param)
method updateServer (line 218) | public function updateServer($param)
method deleteServer (line 288) | public function deleteServer($id)
method status (line 343) | public function status($id)
method getAllServer (line 365) | public function getAllServer()
FILE: 10.4.6/app/common/model/SideFloatingWindowModel.php
class SideFloatingWindowModel (line 13) | class SideFloatingWindowModel extends Model
method sideFloatingWindowList (line 40) | public function sideFloatingWindowList()
method createSideFloatingWindow (line 62) | public function createSideFloatingWindow($param)
method updateSideFloatingWindow (line 101) | public function updateSideFloatingWindow($param)
method deleteSideFloatingWindow (line 170) | public function deleteSideFloatingWindow($id)
method sideFloatingWindowOrder (line 203) | public function sideFloatingWindowOrder($param)
FILE: 10.4.6/app/common/model/SmsServiceProductModel.php
class SmsServiceProductModel (line 14) | class SmsServiceProductModel extends Model
method productList (line 44) | public function productList($param)
method createProduct (line 70) | public function createProduct($param)
method updateProduct (line 116) | public function updateProduct($param)
method deleteProduct (line 195) | public function deleteProduct($id)
method webData (line 231) | public function webData()
FILE: 10.4.6/app/common/model/SmsTemplateModel.php
class SmsTemplateModel (line 13) | class SmsTemplateModel extends Model
method smsTemplateList (line 34) | public function smsTemplateList($name)
method indexSmsTemplate (line 59) | public function indexSmsTemplate($param)
method statusSmsTemplate (line 79) | public function statusSmsTemplate($param)
method auditSmsTemplate (line 123) | public function auditSmsTemplate($param)
method createSmsTemplate (line 179) | public function createSmsTemplate($param)
method updateSmsTemplate (line 270) | public function updateSmsTemplate($param)
method deleteSmsTemplate (line 396) | public function deleteSmsTemplate($id)
method test (line 452) | public function test($param)
method smsInterface (line 518) | private function smsInterface($param){
method smsMethods (line 546) | private function smsMethods($cmd,$param){
FILE: 10.4.6/app/common/model/SslCertificateProductModel.php
class SslCertificateProductModel (line 14) | class SslCertificateProductModel extends Model
method productList (line 44) | public function productList($param)
method createProduct (line 70) | public function createProduct($param)
method updateProduct (line 116) | public function updateProduct($param)
method deleteProduct (line 195) | public function deleteProduct($id)
method webData (line 232) | public function webData()
FILE: 10.4.6/app/common/model/SupplierModel.php
class SupplierModel (line 14) | class SupplierModel extends Model
method supplierList (line 62) | public function supplierList($param)
method indexSupplier (line 126) | public function indexSupplier($id)
method createSupplier (line 155) | public function createSupplier($param)
method updateSupplier (line 275) | public function updateSupplier($param)
method updateSupplierRate (line 409) | public function updateSupplierRate($param)
method deleteSupplier (line 491) | public function deleteSupplier($id)
method supplierStatus (line 527) | public function supplierStatus($id)
method supplierProduct (line 556) | public function supplierProduct($id)
method apiAuth (line 577) | public function apiAuth($api_id,$force)
FILE: 10.4.6/app/common/model/SystemLogModel.php
class SystemLogModel (line 14) | class SystemLogModel extends Model
method systemLogList (line 56) | public function systemLogList($param)
method createSystemLog (line 195) | public function createSystemLog($param)
FILE: 10.4.6/app/common/model/TaskModel.php
class TaskModel (line 13) | class TaskModel extends Model
method taskList (line 57) | public function taskList($param)
method retryTask (line 101) | public function retryTask($id)
method createTask (line 155) | public function createTask($param)
FILE: 10.4.6/app/common/model/TaskWaitModel.php
class TaskWaitModel (line 13) | class TaskWaitModel extends Model
method createTaskWait (line 45) | public function createTaskWait($param)
FILE: 10.4.6/app/common/model/TrademarkRegisterProductModel.php
class TrademarkRegisterProductModel (line 14) | class TrademarkRegisterProductModel extends Model
method productList (line 42) | public function productList($param)
method createProduct (line 67) | public function createProduct($param)
method updateProduct (line 111) | public function updateProduct($param)
method deleteProduct (line 185) | public function deleteProduct($id)
method webData (line 227) | public function webData()
FILE: 10.4.6/app/common/model/TrademarkServiceProductModel.php
class TrademarkServiceProductModel (line 14) | class TrademarkServiceProductModel extends Model
method productList (line 42) | public function productList($param)
method createProduct (line 67) | public function createProduct($param)
method updateProduct (line 111) | public function updateProduct($param)
method deleteProduct (line 185) | public function deleteProduct($id)
FILE: 10.4.6/app/common/model/TransactionModel.php
class TransactionModel (line 15) | class TransactionModel extends Model
method transactionList (line 80) | public function transactionList($param)
method createTransaction (line 251) | public function createTransaction($param)
method updateTransaction (line 307) | public function updateTransaction($param)
method deleteTransaction (line 381) | public function deleteTransaction($id)
FILE: 10.4.6/app/common/model/UpgradeModel.php
class UpgradeModel (line 12) | class UpgradeModel extends Model
FILE: 10.4.6/app/common/model/UpstreamHostModel.php
class UpstreamHostModel (line 13) | class UpstreamHostModel extends Model
method hostList (line 63) | public function hostList($param)
method indexHost (line 132) | public function indexHost($id)
FILE: 10.4.6/app/common/model/UpstreamOrderModel.php
class UpstreamOrderModel (line 13) | class UpstreamOrderModel extends Model
method orderList (line 64) | public function orderList($param)
method sellInfo (line 221) | public function sellInfo($param)
FILE: 10.4.6/app/common/model/UpstreamProductModel.php
class UpstreamProductModel (line 14) | class UpstreamProductModel extends Model
method productList (line 74) | public function productList($param)
method indexProduct (line 153) | public function indexProduct($id)
method createProduct (line 195) | public function createProduct($param)
method updateProduct (line 319) | public function updateProduct($param)
method agentRecommendProduct (line 441) | public function agentRecommendProduct($param)
method afterProductDelete (line 612) | public function afterProductDelete($id)
FILE: 10.4.6/app/common/model/WebNavModel.php
class WebNavModel (line 13) | class WebNavModel extends Model
method navList (line 53) | public function navList($param)
method createNav (line 94) | public function createNav($param)
method updateNav (line 158) | public function updateNav($param)
method deleteNav (line 269) | public function deleteNav($id)
method navShow (line 314) | public function navShow($param)
method firstNavOrder (line 360) | public function firstNavOrder($param)
method secondNavOrder (line 414) | public function secondNavOrder($param)
method webHeaderNav (line 467) | public function webHeaderNav()
FILE: 10.4.6/app/common/validate/ProductDurationRatioValidate.php
class ProductDurationRatioValidate (line 10) | class ProductDurationRatioValidate extends Validate
method checkRatio (line 30) | protected function checkRatio($value){
method checkPrice (line 42) | protected function checkPrice($value){
FILE: 10.4.6/app/common/validate/SelfDefinedFieldValidate.php
class SelfDefinedFieldValidate (line 10) | class SelfDefinedFieldValidate extends Validate
method checkFieldOption (line 79) | protected function checkFieldOption($value, $type, $data)
method checkRegexpr (line 98) | protected function checkRegexpr($value)
FILE: 10.4.6/app/common/validate/UploadValidate.php
class UploadValidate (line 11) | class UploadValidate extends Validate
FILE: 10.4.6/app/event/AppInit.php
class AppInit (line 14) | class AppInit
method handle (line 16) | public function handle()
method cacheHook (line 136) | public function cacheHook()
method getCacheHook (line 154) | public function getCacheHook()
FILE: 10.4.6/app/event/controller/AddonController.php
class AddonController (line 12) | class AddonController extends BaseController
method index (line 14) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/event/controller/AddonHomeController.php
class AddonHomeController (line 13) | class AddonHomeController extends BaseController
method index (line 15) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/event/controller/BaseController.php
class BaseController (line 13) | abstract class BaseController
method __construct (line 44) | public function __construct(App $app)
method initialize (line 54) | protected function initialize()
FILE: 10.4.6/app/event/controller/CaptchaController.php
class CaptchaController (line 12) | class CaptchaController extends BaseController
method index (line 14) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/event/controller/CertificationController.php
class CertificationController (line 12) | class CertificationController extends BaseController
method index (line 14) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/event/controller/CertificationHomeController.php
class CertificationHomeController (line 12) | class CertificationHomeController extends BaseController
method index (line 14) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/event/controller/GatewayController.php
class GatewayController (line 12) | class GatewayController extends BaseController
method index (line 14) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/event/controller/ModuleController.php
class ModuleController (line 12) | class ModuleController extends BaseController
method index (line 14) | public function index($module, $controller, $method)
FILE: 10.4.6/app/event/controller/ModuleHomeController.php
class ModuleHomeController (line 12) | class ModuleHomeController extends BaseController
method index (line 14) | public function index($module, $controller, $method)
FILE: 10.4.6/app/event/controller/PluginAdminBaseController.php
class PluginAdminBaseController (line 8) | class PluginAdminBaseController extends PluginBaseController
method initialize (line 11) | protected function initialize()
method checkAccess (line 35) | private function checkAccess()
FILE: 10.4.6/app/event/controller/PluginBaseController.php
class PluginBaseController (line 11) | class PluginBaseController extends BaseController
method initialize (line 21) | protected function initialize()
method checkClientareaAccess (line 51) | private function checkClientareaAccess()
method getPlugin (line 91) | public function getPlugin()
method fetch (line 117) | protected function fetch($template = '', $vars = [], $replace = [], $c...
method parseTemplate (line 136) | private function parseTemplate($template)
method display (line 182) | protected function display($content = '', $vars = [], $replace = [], $...
method assign (line 194) | protected function assign($name, $value = '')
method validateFailException (line 205) | protected function validateFailException($fail = true)
method validate (line 222) | protected function validate($data, $validate, $message = [], $batch = ...
method ajaxPages (line 269) | protected function ajaxPages($showdata = [], $listRow = 10, $curpage =...
FILE: 10.4.6/app/event/controller/TemplateController.php
class TemplateController (line 12) | class TemplateController extends BaseController
method index (line 14) | public function index($_plugin, $_controller, $_action)
FILE: 10.4.6/app/exception/TemplateNotFoundException.php
class TemplateNotFoundException (line 4) | class TemplateNotFoundException extends \RuntimeException
method __construct (line 8) | public function __construct($message, $template = '')
method getTemplate (line 19) | public function getTemplate()
FILE: 10.4.6/app/home/controller/AccountController.php
class AccountController (line 13) | class AccountController extends HomeBaseController
method initialize (line 15) | public function initialize()
method index (line 51) | public function index()
method update (line 88) | public function update()
method verifyOldPhone (line 117) | public function verifyOldPhone()
method updatePhone (line 148) | public function updatePhone()
method verifyOldEmail (line 178) | public function verifyOldEmail()
method updateEmail (line 208) | public function updateEmail()
method updatePassword (line 240) | public function updatePassword()
method codeUpdatePassword (line 272) | public function codeUpdatePassword()
method logout (line 299) | public function logout()
method creditList (line 334) | public function creditList()
method updateOperatePassword (line 365) | public function updateOperatePassword()
FILE: 10.4.6/app/home/controller/ApiController.php
class ApiController (line 12) | class ApiController extends HomeBaseController
method initialize (line 14) | public function initialize()
method list (line 42) | public function list()
method create (line 77) | public function create()
method whiteListSetting (line 107) | public function whiteListSetting()
method delete (line 135) | public function delete()
FILE: 10.4.6/app/home/controller/BaseController.php
class BaseController (line 13) | abstract class BaseController
method __construct (line 44) | public function __construct(App $app)
method initialize (line 54) | protected function initialize()
FILE: 10.4.6/app/home/controller/CartController.php
class CartController (line 12) | class CartController extends HomeBaseController
method initialize (line 14) | public function initialize()
method index (line 39) | public function index()
method create (line 69) | public function create()
method update (line 103) | public function update()
method updateQty (line 133) | public function updateQty()
method delete (line 162) | public function delete()
method batchDelete (line 191) | public function batchDelete()
method clear (line 219) | public function clear()
method settle (line 247) | public function settle()
FILE: 10.4.6/app/home/controller/CommonController.php
class CommonController (line 32) | class CommonController extends HomeBaseController
method initialize (line 34) | public function initialize()
method countryList (line 56) | public function countryList()
method sendPhoneCode (line 89) | public function sendPhoneCode()
method sendEmailCode (line 118) | public function sendEmailCode()
method captcha (line 143) | public function captcha()
method gateway (line 171) | public function gateway()
method common (line 255) | public function common()
method upload (line 390) | public function upload()
method globalSearch (line 428) | public function globalSearch()
method homeMenu (line 476) | public function homeMenu(){
method authList (line 523) | public function authList()
method createFeedback (line 547) | public function createFeedback()
method createConsult (line 581) | public function createConsult()
method resource (line 615) | public function resource()
FILE: 10.4.6/app/home/controller/HomeBaseController.php
class HomeBaseController (line 10) | class HomeBaseController extends BaseController
method initialize (line 12) | public function initialize()
method checkAccess (line 45) | private function checkAccess()
FILE: 10.4.6/app/home/controller/HooksController.php
class HooksController (line 9) | class HooksController
method order_paid (line 21) | public function order_paid(){}
method after_register (line 32) | public function after_register(){}
method before_order_create (line 44) | public function before_order_create(){}
method host_refund (line 55) | public function host_refund(){}
method client_promo_code (line 81) | public function client_promo_code(){}
method after_server_delete (line 95) | public function after_server_delete(){}
method after_order_create (line 108) | public function after_order_create(){}
method after_product_delete (line 120) | public function after_product_delete(){}
method daily_cron (line 131) | public function daily_cron(){}
method minute_cron (line 142) | public function minute_cron(){}
method template_client_after_host_list_button (line 146) | public function template_client_after_host_list_button(){}
method template_client_host_list_on_table_header (line 148) | public function template_client_host_list_on_table_header(){}
method template_client_promo_code (line 150) | public function template_client_promo_code(){}
method template_client_footer (line 152) | public function template_client_footer(){}
method template_after_servicedetail_suspended (line 163) | public function template_after_servicedetail_suspended(){}
method template_admin_footer (line 167) | public function template_admin_footer(){}
method template_admin_after_host_list_button (line 169) | public function template_admin_after_host_list_button(){}
method task_run (line 180) | public function task_run(){}
method before_order_cancel (line 191) | public function before_order_cancel(){}
method after_client_index (line 202) | public function after_client_index(){}
method after_server_group_create (line 214) | public function after_server_group_create(){}
method after_server_group_edit (line 226) | public function after_server_group_edit(){}
method after_server_group_delete (line 237) | public function after_server_group_delete(){}
method after_plugin_install (line 249) | public function after_plugin_install(){}
method after_plugin_uninstall (line 260) | public function after_plugin_uninstall(){}
method after_plugin_upgrade (line 271) | public function after_plugin_upgrade(){}
method apply_promo_code (line 290) | public function apply_promo_code(){}
method client_discount_by_amount (line 307) | public function client_discount_by_amount(){}
method delete_renew_log (line 318) | public function delete_renew_log(){}
method after_product_group_create (line 330) | public function after_product_group_create(){}
method after_product_group_edit (line 342) | public function after_product_group_edit(){}
method after_product_group_delete (line 353) | public function after_product_group_delete(){}
method admin_client_index (line 365) | public function admin_client_index(){}
method after_client_register (line 377) | public function after_client_register(){}
method before_client_edit (line 389) | public function before_client_edit(){}
method after_client_edit (line 401) | public function after_client_edit(){}
method after_client_delete (line 412) | public function after_client_delete(){}
method before_search_client (line 425) | public function before_search_client(){}
method before_client_register (line 445) | public function before_client_register(){}
method after_client_logout (line 457) | public function after_client_logout(){}
method after_client_login (line 469) | public function after_client_login(){}
method after_client_password_reset (line 481) | public function after_client_password_reset(){}
method client_api_login (line 494) | public function client_api_login(){}
method get_client_parent_id (line 506) | public function get_client_parent_id(){}
method check_certification (line 518) | public function check_certification(){}
method check_certification_recharge (line 529) | public function check_certification_recharge(){}
method update_certification_person (line 542) | public function update_certification_person(){}
method update_certification_company (line 555) | public function update_certification_company(){}
method five_minute_cron (line 566) | public function five_minute_cron(){}
method before_host_renewal_first (line 578) | public function before_host_renewal_first(){}
method before_delete_host_unpaid_upgrade_order (line 589) | public function before_delete_host_unpaid_upgrade_order(){}
method before_delete_unpaid_renew_order (line 600) | public function before_delete_unpaid_renew_order(){}
method get_client_host_id (line 615) | public function get_client_host_id(){}
method before_search_host (line 627) | public function before_search_host(){}
method after_host_edit (line 639) | public function after_host_edit(){}
method after_host_delete (line 652) | public function after_host_delete(){}
method before_host_create (line 663) | public function before_host_create(){}
method after_host_create_success (line 674) | public function after_host_create_success(){}
method after_host_create_fail (line 685) | public function after_host_create_fail(){}
method before_host_suspend (line 696) | public function before_host_suspend(){}
method after_host_suspend_success (line 707) | public function after_host_suspend_success(){}
method after_host_suspend_fail (line 718) | public function after_host_suspend_fail(){}
method before_host_unsuspend (line 729) | public function before_host_unsuspend(){}
method after_host_unsuspend_success (line 740) | public function after_host_unsuspend_success(){}
method after_host_unsuspend_fail (line 751) | public function after_host_unsuspend_fail(){}
method before_host_terminate (line 762) | public function before_host_terminate(){}
method after_host_terminate_success (line 773) | public function after_host_terminate_success(){}
method after_host_terminate_fail (line 784) | public function after_host_terminate_fail(){}
method product_detail_custom_fields (line 796) | public function product_detail_custom_fields(){}
method after_product_create (line 808) | public function after_product_create(){}
method after_product_edit (line 820) | public function after_product_edit(){}
method after_product_copy (line 834) | public function after_product_copy(){}
method recommend_renew_order_paid (line 845) | public function recommend_renew_order_paid(){}
method event_promotion_by_amount (line 864) | public function event_promotion_by_amount(){}
method after_host_soft_delete (line 875) | public function after_host_soft_delete(){}
method before_order_recycle (line 888) | public function before_order_recycle(){}
method common_custom_fields (line 901) | public function common_custom_fields(){}
method before_host_renew (line 914) | public function before_host_renew(){}
method after_host_refund_create (line 927) | public function after_host_refund_create(){}
method after_host_refund_cancel (line 938) | public function after_host_refund_cancel(){}
method after_host_refund_pending (line 949) | public function after_host_refund_pending(){}
method after_host_refund_reject (line 961) | public function after_host_refund_reject(){}
method configuration_system_list (line 973) | public function configuration_system_list(){}
method before_configuration_system_update (line 1001) | public function before_configuration_system_update(){}
method after_configuration_system_update (line 1027) | public function after_configuration_system_update(){}
method home_product_index (line 1038) | public function home_product_index(){}
method home_cart_index (line 1058) | public function home_cart_index(){}
method get_client_custom_field_list (line 1070) | public function get_client_custom_field_list(){}
method get_client_level_list (line 1083) | public function get_client_level_list(){}
method template_tab_list (line 1101) | public function template_tab_list(){}
method web_seo_custom (line 1118) | public function web_seo_custom(){}
method web_data_custom (line 1131) | public function web_data_custom(){}
method after_notice_action_delete (line 1142) | public function after_notice_action_delete(){}
method after_task_create (line 1156) | public function after_task_create(){}
FILE: 10.4.6/app/home/controller/HostController.php
class HostController (line 15) | class HostController extends HomeBaseController
method initialize (line 17) | public function initialize()
method list (line 52) | public function list()
method menuHostList (line 82) | public function menuHostList()
method index (line 129) | public function index()
method clientArea (line 164) | public function clientArea()
method updateHostNotes (line 187) | public function updateHostNotes()
method clientHost (line 222) | public function clientHost()
method suspendAccount (line 252) | public function suspendAccount()
method unsuspendAccount (line 278) | public function unsuspendAccount()
method hostIpIndex (line 302) | public function hostIpIndex()
FILE: 10.4.6/app/home/controller/IndexController.php
class IndexController (line 13) | class IndexController extends HomeBaseController
method initialize (line 15) | public function initialize()
method index (line 41) | public function index()
method hostList (line 83) | public function hostList()
FILE: 10.4.6/app/home/controller/LogController.php
class LogController (line 11) | class LogController extends HomeBaseController
method list (line 34) | public function list()
FILE: 10.4.6/app/home/controller/LoginController.php
class LoginController (line 13) | class LoginController extends HomeBaseController
method initialize (line 15) | public function initialize()
method login (line 42) | public function login()
method register (line 76) | public function register()
method passwordReset (line 109) | public function passwordReset()
FILE: 10.4.6/app/home/controller/ModuleController.php
class ModuleController (line 11) | class ModuleController extends HomeBaseController
method moduleList (line 26) | public function moduleList()
FILE: 10.4.6/app/home/controller/OauthController.php
class OauthController (line 12) | class OauthController extends HomeBaseController
method initialize (line 14) | public function initialize()
method url (line 30) | public function url()
method callback (line 49) | public function callback()
method checkToken (line 76) | public function checkToken()
method bind (line 99) | public function bind()
method unbind (line 123) | public function unbind()
method commandReceive (line 142) | public function commandReceive()
FILE: 10.4.6/app/home/controller/OrderController.php
class OrderController (line 12) | class OrderController extends HomeBaseController
method list (line 44) | public function list()
method index (line 98) | public function index()
method delete (line 134) | public function delete()
method exportExcel (line 164) | public function exportExcel()
FILE: 10.4.6/app/home/controller/PayController.php
class PayController (line 11) | class PayController extends HomeBaseController
method pay (line 28) | public function pay()
method status (line 53) | public function status()
method recharge (line 75) | public function recharge()
method credit (line 101) | public function credit()
FILE: 10.4.6/app/home/controller/ProductController.php
class ProductController (line 14) | class ProductController extends HomeBaseController
method initialize (line 16) | public function initialize()
method productGroupFirstList (line 36) | public function productGroupFirstList()
method productGroupSecondList (line 62) | public function productGroupSecondList()
method list (line 95) | public function list()
method index (line 146) | public function index()
method settle (line 175) | public function settle()
method moduleClientConfigOption (line 207) | public function moduleClientConfigOption()
method moduleCalculatePrice (line 239) | public function moduleCalculatePrice()
method productStock (line 269) | public function productStock()
method orderPageSelfDefinedField (line 301) | public function orderPageSelfDefinedField()
FILE: 10.4.6/app/home/controller/TransactionController.php
class TransactionController (line 11) | class TransactionController extends HomeBaseController
method list (line 43) | public function list()
FILE: 10.4.6/app/home/controller/UpstreamController.php
class UpstreamController (line 11) | class UpstreamController extends HomeBaseController
method sync (line 24) | public function sync()
FILE: 10.4.6/app/home/controller/ViewCartController.php
class ViewCartController (line 7) | class ViewCartController extends HomeBaseController
method index (line 20) | public function index()
FILE: 10.4.6/app/home/controller/ViewClientController.php
class ViewClientController (line 8) | class ViewClientController extends HomeBaseController
method index (line 21) | public function index()
method plugin (line 93) | public function plugin()
method view (line 153) | private function view($tplName, $data){
method pluginView (line 158) | private function pluginView($tplName, $data, $name){
method themeConfig (line 163) | private function themeConfig($file){
FILE: 10.4.6/app/home/controller/ViewController.php
class ViewController (line 25) | class ViewController extends HomeBaseController
method index (line 38) | public function index()
method themeConfig (line 285) | private function themeConfig($file){
method webSeoCustom (line 314) | private function webSeoCustom($param)
method webDataCustom (line 334) | private function webDataCustom($param)
FILE: 10.4.6/app/home/model/CartModel.php
class CartModel (line 27) | class CartModel extends Model
method init (line 43) | protected static function init()
method indexCart (line 114) | public function indexCart()
method createCart (line 174) | public function createCart($param)
method updateCart (line 308) | public function updateCart($param)
method updateCartQty (line 376) | public function updateCartQty($param)
method deleteCart (line 408) | public function deleteCart($position)
method batchDeleteCart (line 429) | public function batchDeleteCart($positions)
method clearCart (line 452) | public function clearCart($param)
method settle (line 494) | public function settle($position,$customfield=[],$param=[])
method saveCart (line 805) | private static function saveCart(){
FILE: 10.4.6/app/home/model/ClientareaAuthModel.php
class ClientareaAuthModel (line 13) | class ClientareaAuthModel extends Model
method authList (line 62) | public function authList()
method createPluginAuth (line 113) | public function createPluginAuth($auth,$module,$name)
method deletePluginAuth (line 170) | public function deletePluginAuth($module,$name)
FILE: 10.4.6/app/home/model/ClientareaAuthRuleLinkModel.php
class ClientareaAuthRuleLinkModel (line 11) | class ClientareaAuthRuleLinkModel extends Model
FILE: 10.4.6/app/home/model/ClientareaAuthRuleModel.php
class ClientareaAuthRuleModel (line 13) | class ClientareaAuthRuleModel extends Model
method getAuthName (line 35) | public function getAuthName($rule)
FILE: 10.4.6/app/home/model/OauthModel.php
class OauthModel (line 14) | class OauthModel extends Model
method oauthUrl (line 42) | public function oauthUrl($name)
method callback (line 89) | public function callback($param)
method checkToken (line 224) | public function checkToken($param)
method bind (line 271) | public function bind($param)
method clientOauth (line 404) | public function clientOauth()
method unbind (line 432) | public function unbind($param)
method commandReceive (line 470) | public function commandReceive($param)
FILE: 10.4.6/app/home/validate/AccountValidate.php
class AccountValidate (line 9) | class AccountValidate extends Validate
FILE: 10.4.6/app/home/validate/ApiValidate.php
class ApiValidate (line 9) | class ApiValidate extends Validate
method checkIp (line 35) | public function checkIp($value)
FILE: 10.4.6/app/home/validate/CartValidate.php
class CartValidate (line 9) | class CartValidate extends Validate
method sceneUpdate (line 48) | public function sceneUpdate()
method checkProducts (line 57) | public function checkProducts($value)
FILE: 10.4.6/app/home/validate/CommonValidate.php
class CommonValidate (line 9) | class CommonValidate extends Validate
FILE: 10.4.6/app/home/validate/ConsultValidate.php
class ConsultValidate (line 9) | class ConsultValidate extends Validate
FILE: 10.4.6/app/home/validate/FeedbackValidate.php
class FeedbackValidate (line 9) | class FeedbackValidate extends Validate
FILE: 10.4.6/app/home/validate/HostValidate.php
class HostValidate (line 9) | class HostValidate extends Validate
FILE: 10.4.6/app/home/validate/ProductValidate.php
class ProductValidate (line 9) | class ProductValidate extends Validate
FILE: 10.4.6/app/http/middleware/Check.php
class Check (line 15) | class Check
method handle (line 17) | public function handle($request,\Closure $next)
method checkToken (line 38) | public function checkToken(Request $request, $is_admin=false, $jwt = '')
method verifyJwt (line 90) | protected function verifyJwt($jwt,$id,$is_admin=false)
FILE: 10.4.6/app/http/middleware/CheckAdmin.php
class CheckAdmin (line 13) | class CheckAdmin extends Check
method handle (line 15) | public function handle($request, \Closure $next)
FILE: 10.4.6/app/http/middleware/CheckAdminCookieJwt.php
class CheckAdminCookieJwt (line 15) | class CheckAdminCookieJwt
method handle (line 17) | public function handle($request,\Closure $next)
method checkToken (line 75) | public function checkToken(Request $request, $is_admin=false, $jwt = '')
method verifyJwt (line 127) | protected function verifyJwt($jwt,$id,$is_admin=false)
FILE: 10.4.6/app/http/middleware/CheckAdminOperatePassword.php
class CheckAdminOperatePassword (line 12) | class CheckAdminOperatePassword
method handle (line 14) | public function handle($request,\Closure $next)
FILE: 10.4.6/app/http/middleware/CheckClientCookieJwt.php
class CheckClientCookieJwt (line 15) | class CheckClientCookieJwt
method handle (line 17) | public function handle($request,\Closure $next)
method checkToken (line 85) | public function checkToken(Request $request, $is_admin=false, $jwt = '')
method verifyJwt (line 137) | protected function verifyJwt($jwt,$id,$is_admin=false)
FILE: 10.4.6/app/http/middleware/CheckClientOperatePassword.php
class CheckClientOperatePassword (line 12) | class CheckClientOperatePassword
method handle (line 14) | public function handle($request,\Closure $next)
FILE: 10.4.6/app/http/middleware/CheckHome.php
class CheckHome (line 13) | class CheckHome extends Check
method handle (line 15) | public function handle($request, \Closure $next)
FILE: 10.4.6/app/http/middleware/ParamFilter.php
class ParamFilter (line 9) | class ParamFilter
method handle (line 20) | public function handle($request,\Closure $next)
FILE: 10.4.6/app/http/middleware/RejectRepeatRequest.php
class RejectRepeatRequest (line 10) | class RejectRepeatRequest
method handle (line 15) | public function handle($request,\Closure $next)
FILE: 10.4.6/app/upgrade/10.4.5.php
function upgradeData1045 (line 5) | function upgradeData1045()
FILE: 10.4.6/app/upgrade/10.4.6.php
function upgradeData1046 (line 5) | function upgradeData1046()
FILE: 10.4.6/public/admin/template/default/api/addon.js
function getAddonList (line 2) | function getAddonList(params) {
function changeAddonStatus (line 6) | function changeAddonStatus(params) {
function deleteMoudle (line 10) | function deleteMoudle(type, name) {
function getMenus (line 18) | function getMenus() {
function getActiveVersion (line 22) | function getActiveVersion() {
function upgradePlugin (line 26) | function upgradePlugin(params) {
function getSysyemVersion (line 31) | function getSysyemVersion() {
function syncPlugins (line 36) | function syncPlugins() {
function downloadPlugin (line 41) | function downloadPlugin(id) {
function getHookPlugin (line 46) | function getHookPlugin() {
function changeHookOrder (line 49) | function changeHookOrder(params) {
function getAppConfig (line 53) | function getAppConfig() {
FILE: 10.4.6/public/admin/template/default/api/childAccount.js
function getChildAccountDetailAPI (line 4) | function getChildAccountDetailAPI(id) {
function queryTreeAPI (line 11) | function queryTreeAPI(id) {
function queryProductListAPI (line 18) | function queryProductListAPI(id) {
function editProductAPI (line 25) | function editProductAPI(parasm) {
function queryModelAPI (line 32) | function queryModelAPI(id) {
FILE: 10.4.6/public/admin/template/default/api/client.js
function getClientList (line 4) | function getClientList(params, id) {
function addClient (line 14) | function addClient(params) {
function changeOpen (line 18) | function changeOpen(id, params) {
function updateClient (line 22) | function updateClient(id, params) {
function deleteClient (line 26) | function deleteClient(params) {
function getClientDetail (line 30) | function getClientDetail(id) {
function loginByUserId (line 34) | function loginByUserId(id) {
function getRefund (line 38) | function getRefund(id) {
function getMoneyDetail (line 42) | function getMoneyDetail(id, params) {
function updateClientDetail (line 47) | function updateClientDetail(id, params) {
function getClientPro (line 52) | function getClientPro(id, params) {
function getClientOrder (line 56) | function getClientOrder(id) {
function getClientOrder (line 60) | function getClientOrder(params) {
function deleteFlow (line 64) | function deleteFlow(id) {
function addAndUpdateFlow (line 68) | function addAndUpdateFlow(type, params) {
function getLog (line 76) | function getLog(id, params) {
function deletePro (line 81) | function deletePro(id) {
function getOrder (line 88) | function getOrder(params) {
function createOrder (line 92) | function createOrder(params) {
function getOrderDetail (line 97) | function getOrderDetail(id) {
function updateOrder (line 102) | function updateOrder(params) {
function updateArtificialOrder (line 106) | function updateArtificialOrder(params) {
function delOrderDetail (line 110) | function delOrderDetail(params) {
function signPayOrder (line 114) | function signPayOrder(params) {
function getFirstGroup (line 119) | function getFirstGroup() {
function getSecondGroup (line 123) | function getSecondGroup() {
function getProList (line 128) | function getProList(params) {
function getShopList (line 132) | function getShopList(params) {
function getRelationList (line 136) | function getRelationList(id) {
function getProConfig (line 141) | function getProConfig(params) {
function getProPrice (line 145) | function getProPrice(params) {
function getProductDetail (line 150) | function getProductDetail(id) {
function updateProduct (line 154) | function updateProduct(id, params) {
function getInterface (line 158) | function getInterface(params) {
function getUpgradeAmount (line 162) | function getUpgradeAmount(params) {
function getproModule (line 166) | function getproModule(id) {
function getSingleRenew (line 170) | function getSingleRenew(id) {
function postSingleRenew (line 174) | function postSingleRenew(params) {
function getRenewBatch (line 179) | function getRenewBatch(params) {
function postRenewBatch (line 183) | function postRenewBatch(params) {
function getSystemOpt (line 187) | function getSystemOpt() {
function recharge (line 192) | function recharge(params) {
function getClientLevel (line 197) | function getClientLevel(id) {
function updateClientLevel (line 200) | function updateClientLevel(params) {
function getAllLevel (line 204) | function getAllLevel() {
function getAddon (line 209) | function getAddon(params) {
function proPromoRecord (line 213) | function proPromoRecord(params) {
function getAdminAccountApi (line 220) | function getAdminAccountApi(params) {
function getchildAccountListApi (line 228) | function getchildAccountListApi(params) {
function createModule (line 234) | function createModule(params) {
function suspendModule (line 237) | function suspendModule(params) {
function unsuspendModule (line 240) | function unsuspendModule(params) {
function delModule (line 243) | function delModule(params) {
function deleteHost (line 248) | function deleteHost(params) {
function getOrderDetails (line 254) | function getOrderDetails(params) {
function orderRefund (line 258) | function orderRefund(params) {
function getOrderRefundRecord (line 262) | function getOrderRefundRecord(params) {
function delOrderRecord (line 266) | function delOrderRecord(params) {
function orderApplyCredit (line 270) | function orderApplyCredit(params) {
function orderRemoveCredit (line 274) | function orderRemoveCredit(params) {
function changePayway (line 278) | function changePayway(params) {
function changeOrderNotes (line 282) | function changeOrderNotes(params) {
function delArtificialOrder (line 286) | function delArtificialOrder(params) {
function getMoudleBtns (line 291) | function getMoudleBtns(params) {
function upHostDetail (line 296) | function upHostDetail(id) {
function getRecordList (line 302) | function getRecordList(params) {
function addAndUpdateRecord (line 305) | function addAndUpdateRecord(type, params) {
function deleteRecord (line 312) | function deleteRecord(params) {
function getPayList (line 317) | function getPayList() {
function clientCustomDetail (line 322) | function clientCustomDetail(id) {
function getSelectConfig (line 327) | function getSelectConfig() {
function hostField (line 332) | function hostField(id) {
function batchDelOrder (line 337) | function batchDelOrder(params) {
function settleOrder (line 342) | function settleOrder(params) {
function getManualResource (line 347) | function getManualResource(params) {
function changeResource (line 351) | function changeResource(type, params) {
function getResourceStatus (line 355) | function getResourceStatus(params) {
function ApiSupplier (line 359) | function ApiSupplier(params) {
function getProductTransfer (line 364) | function getProductTransfer(id) {
function transferProduct (line 370) | function transferProduct(params) {
function getAllIp (line 375) | function getAllIp(params) {
function getDcimResource (line 380) | function getDcimResource(params) {
function changeDcimResource (line 384) | function changeDcimResource(type, params) {
function getCabinetRent (line 389) | function getCabinetRent(params) {
function changeCabinetResource (line 395) | function changeCabinetResource(type, params) {
function costList (line 400) | function costList(params) {
function costDrag (line 405) | function costDrag(params) {
function addCost (line 410) | function addCost(params) {
function updateCost (line 415) | function updateCost(params) {
function deleteCost (line 420) | function deleteCost(id) {
function costDetail (line 425) | function costDetail(id) {
function costCustomFieldList (line 430) | function costCustomFieldList() {
function addCostCustomField (line 435) | function addCostCustomField(params) {
function updateCostCustomField (line 440) | function updateCostCustomField(params) {
function deleteCostCustomField (line 445) | function deleteCostCustomField(id) {
function changeCostCustomFieldShow (line 450) | function changeCostCustomFieldShow(params) {
function getRecycleConfig (line 457) | function getRecycleConfig() {
function openRecycleConfig (line 460) | function openRecycleConfig() {
function changeRecycleConfig (line 463) | function changeRecycleConfig(params) {
function getRecycleList (line 466) | function getRecycleList(params) {
function recoverRecycleList (line 469) | function recoverRecycleList(params) {
function delRecycleList (line 472) | function delRecycleList(params) {
function clearRecycleList (line 475) | function clearRecycleList() {
function lockRecycleList (line 478) | function lockRecycleList(params) {
function unlockRecycleList (line 481) | function unlockRecycleList(params) {
function refundPass (line 486) | function refundPass(id) {
function refundReject (line 491) | function refundReject(params) {
function apiRefunded (line 497) | function apiRefunded(params) {
function getViewFiled (line 502) | function getViewFiled(params) {
function saveViewFiled (line 505) | function saveViewFiled(params) {
function getMoudleOperate (line 510) | function getMoudleOperate(params) {
function syncInfo (line 515) | function syncInfo(id) {
FILE: 10.4.6/public/admin/template/default/api/common.js
function getCountry (line 4) | function getCountry(params) {
function getPayList (line 8) | function getPayList() {
function getCommon (line 12) | function getCommon() {
function getSystem (line 16) | function getSystem() {
function getLoginInfo (line 20) | function getLoginInfo() {
function getCaptcha (line 24) | function getCaptcha() {
function logIn (line 28) | function logIn(params) {
function logout (line 32) | function logout() {
function getAuthRole (line 36) | function getAuthRole() {
function globalSearch (line 40) | function globalSearch(keywords) {
function getMenus (line 44) | function getMenus() {
function editPass (line 49) | function editPass(params) {
function setToken (line 54) | function setToken() {
function cancelOrder (line 59) | function cancelOrder(params) {
function getActiveVersion (line 64) | function getActiveVersion() {
function version (line 69) | function version() {
function getSystemOpt (line 73) | function getSystemOpt() {
function updateSystemOpt (line 76) | function updateSystemOpt(params) {
function getComProduct (line 82) | function getComProduct(params) {
function getFirstGroup (line 86) | function getFirstGroup() {
function getSecondGroup (line 90) | function getSecondGroup() {
function getComClientList (line 94) | function getComClientList(params) {
function saleClientList (line 98) | function saleClientList(params) {
function getUserInfo (line 102) | function getUserInfo(params) {
function getAddon (line 106) | function getAddon(params) {
function getGlobalSearch (line 110) | function getGlobalSearch() {
function sendGlobalSearch (line 113) | function sendGlobalSearch(params) {
function getAdminInfo (line 117) | function getAdminInfo() {
function changePassword (line 122) | function changePassword(params) {
FILE: 10.4.6/public/admin/template/default/api/customerService.js
function onlineServiceAPI (line 2) | function onlineServiceAPI(params) {
FILE: 10.4.6/public/admin/template/default/api/index.js
function getWidget (line 2) | function getWidget () {
function saveWidget (line 5) | function saveWidget (params) {
function changeWidget (line 8) | function changeWidget (params) {
function getWidgetContent (line 11) | function getWidgetContent (params) {
FILE: 10.4.6/public/admin/template/default/api/install.js
function step_1 (line 2) | function step_1() {
function step_2 (line 6) | function step_2(params) {
function step_3 (line 11) | function step_3(params) {
function step_4 (line 15) | function step_4() {
function step_5 (line 19) | function step_5() {
function step_6 (line 24) | function step_6() {
function step_7 (line 28) | function step_7() {
FILE: 10.4.6/public/admin/template/default/api/invoice.js
function invoice (line 3) | function invoice(params) {
function invoiceDetail (line 7) | function invoiceDetail(params) {
function confirmInvoice (line 12) | function confirmInvoice(params) {
function rejectInvoice (line 17) | function rejectInvoice(params) {
function sendInvoice (line 22) | function sendInvoice(params) {
function invoiceTitle (line 27) | function invoiceTitle(params) {
function delInvoiceTitle (line 31) | function delInvoiceTitle(params) {
function invoiceAddress (line 35) | function invoiceAddress(params) {
function delInvoiceAddress (line 39) | function delInvoiceAddress(params) {
function invoiceConfig (line 44) | function invoiceConfig(params) {
function editInvoiceConfig (line 49) | function editInvoiceConfig(params) {
FILE: 10.4.6/public/admin/template/default/api/manage.js
function getTask (line 4) | function getTask (params) {
function reloadTask (line 7) | function reloadTask (id) {
function getClientList (line 11) | function getClientList (params) {
function getSystemLog (line 15) | function getSystemLog (params) {
function getEmailLog (line 18) | function getEmailLog (params) {
function getSmsLog (line 21) | function getSmsLog (params) {
function getTaskConfig (line 26) | function getTaskConfig () {
function updateTaskConfig (line 29) | function updateTaskConfig (params) {
function getInterface (line 34) | function getInterface (params) {
function addAndUpdateInterface (line 37) | function addAndUpdateInterface (type, params) {
function deleteInterface (line 44) | function deleteInterface (id) {
function getInterfaceStatus (line 47) | function getInterfaceStatus (id) {
function getInterfaceType (line 52) | function getInterfaceType () {
function getGroup (line 57) | function getGroup (params) {
function addAndUpdateGroup (line 60) | function addAndUpdateGroup (type, params) {
function deleteGroup (line 67) | function deleteGroup (id) {
function getChildInterface (line 74) | function getChildInterface (params) {
function getChildInterfaceDetails (line 77) | function getChildInterfaceDetails (id) {
function addAndUpdateChildInterface (line 80) | function addAndUpdateChildInterface (type, params) {
function deleteChildInterface (line 87) | function deleteChildInterface (id) {
function getChildInterfaceStatus (line 91) | function getChildInterfaceStatus (id) {
function getChildInterfaceType (line 96) | function getChildInterfaceType () {
function getChildGroup (line 101) | function getChildGroup (params) {
function getChildGroupDetails (line 104) | function getChildGroupDetails (id) {
function addAndUpdateChildGroup (line 107) | function addAndUpdateChildGroup (type, params) {
function deleteChildGroup (line 114) | function deleteChildGroup (id) {
FILE: 10.4.6/public/admin/template/default/api/navigation.js
function adminMenu (line 2) | function adminMenu(){
function homeMenu (line 6) | function homeMenu(){
function saveHomeMenu (line 10) | function saveHomeMenu(params){
function saveAdminMenu (line 14) | function saveAdminMenu(params){
function productBymodule (line 19) | function productBymodule(type,params){
function leftMenu (line 25) | function leftMenu(){
FILE: 10.4.6/public/admin/template/default/api/product.js
function getProduct (line 4) | function getProduct(params) {
function getProductDetail (line 8) | function getProductDetail(id) {
function addProduct (line 12) | function addProduct(params) {
function editProduct (line 16) | function editProduct(params) {
function editProductServer (line 20) | function editProductServer(id, params) {
function getAddon (line 24) | function getAddon(params) {
function getProductConfig (line 29) | function getProductConfig(id, params) {
function deleteProduct (line 34) | function deleteProduct(id) {
function toggleShow (line 38) | function toggleShow(id, hidden) {
function groupListShow (line 42) | function groupListShow(id, hidden) {
function changeOrder (line 47) | function changeOrder(params) {
function getFirstGroup (line 51) | function getFirstGroup() {
function getSecondGroup (line 55) | function getSecondGroup() {
function addGroup (line 59) | function addGroup(params) {
function updateGroup (line 63) | function updateGroup(params) {
function deleteGroup (line 67) | function deleteGroup(id) {
function getRelationList (line 71) | function getRelationList(id) {
function moveFirstGroup (line 76) | function moveFirstGroup(params) {
function moveProductGroup (line 80) | function moveProductGroup(params) {
function dragProductGroup (line 84) | function dragProductGroup(params) {
function draySecondGroup (line 88) | function draySecondGroup(params) {
function getSmsInterface (line 92) | function getSmsInterface() {
function getEmailInterface (line 96) | function getEmailInterface() {
function getSmsTemplate (line 100) | function getSmsTemplate(name) {
function getEmailTemplate (line 104) | function getEmailTemplate() {
function getInterface (line 108) | function getInterface(params) {
function getGroup (line 112) | function getGroup(params) {
function agentable (line 117) | function agentable(params) {
function copyProduct (line 122) | function copyProduct(params) {
function getSelfDefinedField (line 127) | function getSelfDefinedField(params) {
function addSelfDefinedField (line 132) | function addSelfDefinedField(params) {
function updateSelfDefinedField (line 137) | function updateSelfDefinedField(params) {
function deleteSelfDefinedField (line 142) | function deleteSelfDefinedField(id) {
function dragSelfDefinedField (line 147) | function dragSelfDefinedField(params) {
FILE: 10.4.6/public/admin/template/default/api/rc.js
function staticstics (line 2) | function staticstics() {
function orderList (line 7) | function orderList(params) {
function clientList (line 12) | function clientList(params) {
function finish (line 16) | function finish(params) {
function failPaid (line 20) | function failPaid(params) {
function paid (line 24) | function paid(params) {
function editCycle (line 29) | function editCycle(params) {
function beginProduction (line 33) | function beginProduction(params) {
function delivery (line 37) | function delivery(params) {
function orderDetails (line 41) | function orderDetails(params) {
function getConfig (line 45) | function getConfig() {
function saveConfig (line 49) | function saveConfig(params) {
FILE: 10.4.6/public/admin/template/default/api/real_name.js
function getRealName (line 2) | function getRealName (params) {
function getRealNameDetail (line 6) | function getRealNameDetail (id) {
function changeRealStatus (line 10) | function changeRealStatus (type,id) {
function getRealSetting (line 19) | function getRealSetting () {
function saveRealSetting (line 22) | function saveRealSetting (params) {
function getMoudle (line 27) | function getMoudle (params) {
function getMoudleConfig (line 31) | function getMoudleConfig (params) {
function saveMoudleConfig (line 35) | function saveMoudleConfig (params) {
function changeMoudle (line 39) | function changeMoudle (params) {
function deleteMoudle (line 43) | function deleteMoudle (type, params) {
FILE: 10.4.6/public/admin/template/default/api/recording1559.js
function setting (line 2) | function setting(params) {
function settingList (line 6) | function settingList(params) {
function dcimSearch (line 10) | function dcimSearch(params) {
function seacrhLog (line 14) | function seacrhLog(params) {
FILE: 10.4.6/public/admin/template/default/api/setting.js
function getCommon (line 2) | function getCommon() {
function getSystemOpt (line 8) | function getSystemOpt() {
function updateSystemOpt (line 11) | function updateSystemOpt(params) {
function getLoginOpt (line 15) | function getLoginOpt() {
function updateLoginOpt (line 18) | function updateLoginOpt(params) {
function getSafeOpt (line 22) | function getSafeOpt() {
function updateSafeOpt (line 25) | function updateSafeOpt(params) {
function getCaptchaList (line 29) | function getCaptchaList() {
function previewCode (line 33) | function previewCode(params) {
function getCurrencyOpt (line 37) | function getCurrencyOpt() {
function updateCurrencyOpt (line 40) | function updateCurrencyOpt(params) {
function getMoudle (line 45) | function getMoudle(params) {
function getMoudleConfig (line 49) | function getMoudleConfig(params) {
function saveMoudleConfig (line 53) | function saveMoudleConfig(params) {
function changeMoudle (line 57) | function changeMoudle(params) {
function deleteMoudle (line 61) | function deleteMoudle(type, params) {
function getAdminList (line 70) | function getAdminList(params) {
function getAdminDetail (line 73) | function getAdminDetail(id) {
function createAdmin (line 77) | function createAdmin(type, params) {
function deleteAdmin (line 85) | function deleteAdmin(id) {
function changeAdminStatus (line 88) | function changeAdminStatus(params) {
function getAdminRole (line 93) | function getAdminRole(params) {
function getAdminRoleDetail (line 96) | function getAdminRoleDetail(id) {
function createAdminRole (line 99) | function createAdminRole(type, params) {
function deleteAdminRole (line 106) | function deleteAdminRole(id) {
function getAllAuthRole (line 110) | function getAllAuthRole() {
function getSmsInterface (line 114) | function getSmsInterface() {
function getEmailInterface (line 118) | function getEmailInterface() {
function getSmsTemplate (line 123) | function getSmsTemplate(name) {
function getSmsTemplateStatus (line 126) | function getSmsTemplateStatus(name) {
function getSmsTemplateDetail (line 129) | function getSmsTemplateDetail(params) {
function createTemplate (line 132) | function createTemplate(type, params) {
function deleteSmsTemplate (line 143) | function deleteSmsTemplate(params) {
function testSmsTemplate (line 146) | function testSmsTemplate(params) {
function batchSubmitById (line 152) | function batchSubmitById(params) {
function updateTemplateStatus (line 156) | function updateTemplateStatus(name) {
function getEmailTemplate (line 161) | function getEmailTemplate() {
function getEmailTemplateDetail (line 164) | function getEmailTemplateDetail(id) {
function createEmailTemplate (line 167) | function createEmailTemplate(type, params) {
function deleteEmailTemplate (line 174) | function deleteEmailTemplate(id) {
function testEmailTemplate (line 177) | function testEmailTemplate(params) {
function getSendList (line 184) | function getSendList() {
function updateSend (line 187) | function updateSend(params) {
function getThemeConfig (line 192) | function getThemeConfig() {
function updateThemeConfig (line 195) | function updateThemeConfig(params) {
function version (line 200) | function version() {
function upContent (line 205) | function upContent() {
function upDown (line 210) | function upDown() {
function upProgress (line 215) | function upProgress() {
function newsList (line 219) | function newsList(params) {
function getActiveVersion (line 227) | function getActiveVersion() {
function upgradePlugin (line 231) | function upgradePlugin(params) {
function getDebugConfig (line 236) | function getDebugConfig() {
function updateDebugConfig (line 239) | function updateDebugConfig(params) {
function updateLicense (line 244) | function updateLicense() {
function changeLicense (line 249) | function changeLicense(params) {
function getActiveAddon (line 254) | function getActiveAddon() {
function apiOssList (line 259) | function apiOssList() {
function deleteOss (line 264) | function deleteOss(type, params) {
function changeStatus (line 273) | function changeStatus(params) {
function apiOssDetail (line 278) | function apiOssDetail(params) {
function saveOssConfig (line 283) | function saveOssConfig(params) {
function apiOssPage (line 288) | function apiOssPage() {
function apiOssConfigPut (line 293) | function apiOssConfigPut(params) {
function apiOssData (line 298) | function apiOssData(name) {
function apiOssLink (line 302) | function apiOssLink(name) {
function apiUserList (line 307) | function apiUserList(params) {
function apiConfig (line 312) | function apiConfig() {
function apiConfigPut (line 317) | function apiConfigPut(params) {
function apiUserAdd (line 322) | function apiUserAdd(id) {
function apiUserDelete (line 327) | function apiUserDelete(id) {
function changeVersionType (line 332) | function changeVersionType(params) {
FILE: 10.4.6/public/admin/template/default/api/system.js
function getFeedback (line 2) | function getFeedback(params) {
function getFeedbackType (line 6) | function getFeedbackType(params) {
function addAndUpdateFeedbackType (line 9) | function addAndUpdateFeedbackType(type, params) {
function delFeedbackType (line 17) | function delFeedbackType(params) {
function downloadfile (line 21) | function downloadfile(params) {
function getConsult (line 29) | function getConsult(params) {
function getConfigInfo (line 34) | function getConfigInfo() {
function saveConfigInfo (line 37) | function saveConfigInfo(params) {
function getComInfo (line 44) | function getComInfo(name) {
function addAndUpdateComInfo (line 47) | function addAndUpdateComInfo(name, type, params) {
function delComInfo (line 55) | function delComInfo(name, id) {
function getNavList (line 60) | function getNavList() {
function addNav (line 65) | function addNav(params) {
function updateNav (line 70) | function updateNav(params) {
function delNav (line 75) | function delNav(id) {
function updateNavShow (line 80) | function updateNavShow(params) {
function sortNav (line 85) | function sortNav(params) {
FILE: 10.4.6/public/admin/template/default/api/template_controller.js
constant BASE_URL (line 2) | const BASE_URL = "";
function getControllerList (line 9) | function getControllerList(name, params) {
function addAndUpdateController (line 12) | function addAndUpdateController(name, type, params) {
function delController (line 20) | function delController(name, params) {
function changeBaseStatus (line 24) | function changeBaseStatus(name, params) {
function changeBaseOrder (line 28) | function changeBaseOrder(name, params) {
function getControllerConfig (line 34) | function getControllerConfig(name) {
function saveControllerConfig (line 37) | function saveControllerConfig(name, params) {
function getTemplateControllerTab (line 42) | function getTemplateControllerTab(params) {
function uninstallTheme (line 47) | function uninstallTheme(theme) {
function getThemeLatestVersion (line 52) | function getThemeLatestVersion(theme) {
function upgradeTheme (line 57) | function upgradeTheme(params) {
FILE: 10.4.6/public/admin/template/default/api/upstream.js
function sellInfo (line 2) | function sellInfo (params) {
function orderList (line 7) | function orderList (params) {
function upstreamList (line 12) | function upstreamList (params) {
function supplierGoodsList (line 17) | function supplierGoodsList (id) {
function supplierList (line 22) | function supplierList (params) {
function addUpstreamProduct (line 27) | function addUpstreamProduct (params) {
function editUpstreamProduct (line 32) | function editUpstreamProduct (params) {
function upstreamProductDetail (line 37) | function upstreamProductDetail (id) {
function addSupplier (line 42) | function addSupplier (params) {
function editSupplier (line 47) | function editSupplier (id, params) {
function supplierDrtail (line 52) | function supplierDrtail (id) {
function delSupplier (line 57) | function delSupplier (id) {
function supplierStatus (line 62) | function supplierStatus (id) {
function updateOrder (line 66) | function updateOrder (params) {
function upstreamHost (line 71) | function upstreamHost (params) {
function upHostDetail (line 76) | function upHostDetail (params) {
function recomProList (line 81) | function recomProList (params) {
function recomProduct (line 86) | function recomProduct (params) {
function getAllIp (line 90) | function getAllIp (params) {
function updateRate (line 95) | function updateRate (params) {
FILE: 10.4.6/public/admin/template/default/api/withdrawal.js
function getWithdrawList (line 2) | function getWithdrawList(params) {
function withdrawAudit (line 7) | function withdrawAudit(params){
FILE: 10.4.6/public/admin/template/default/components/comChooseUser/comChooseUser.js
method data (line 48) | data() {
method calcShow (line 81) | calcShow() {
method calcUserList (line 94) | calcUserList() {
method default (line 112) | default() {
method default (line 117) | default() {
method default (line 122) | default() {
method default (line 128) | default() {
method default (line 134) | default() {
method default (line 140) | default() {
method default (line 146) | default() {
method handler (line 155) | handler(id) {
method handler (line 165) | handler(id) {
method handler (line 191) | handler(val) {
method created (line 199) | created() {
method changeUser (line 203) | changeUser() {
method getMulUser (line 210) | async getMulUser(arr) {
method getUserDetails (line 228) | async getUserDetails(id) {
method clearKey (line 236) | clearKey() {
method changeType (line 239) | changeType() {
method remoteMethod (line 254) | remoteMethod(key) {
method handleScroll (line 261) | async handleScroll({ e }) {
method getUserList (line 273) | async getUserList() {
FILE: 10.4.6/public/admin/template/default/components/comConfig/comConfig.js
method data (line 8) | data() {
method calcLang (line 463) | calcLang() {
FILE: 10.4.6/public/admin/template/default/components/comTinymce/comTinymce.js
method data (line 5) | data() {
method mounted (line 11) | mounted() {
method default (line 16) | default() {
method default (line 21) | default() {
method default (line 26) | default() {
method calStr (line 32) | calStr() {
method content (line 38) | content(val) {
method created (line 42) | created() {}
method beforeDestroy (line 43) | beforeDestroy() {
method getContent (line 50) | getContent() {
method setContent (line 54) | setContent(content) {
method initTemplate (line 58) | initTemplate() {
method handlerAddImg (line 97) | handlerAddImg(blobInfo, success, failure) {
FILE: 10.4.6/public/admin/template/default/components/comTreeSelect/comTreeSelect.js
method data (line 22) | data() {
method default (line 38) | default() {
method default (line 51) | default() {
method default (line 57) | default() {
method default (line 63) | default() {
method default (line 69) | default() {
method default (line 74) | default() {
method default (line 80) | default() {
method default (line 85) | default() {
method default (line 90) | default() {
method handler (line 99) | handler(val) {
method checkPro (line 121) | checkPro(val) {
method created (line 135) | created() {
method chooseAll (line 146) | chooseAll(e) {
method onChange (line 161) | onChange(e) {
method getProList (line 180) | async getProList() {
method getFirPro (line 193) | async getFirPro() {
method getSecPro (line 204) | async getSecPro() {
method init (line 214) | init() {
FILE: 10.4.6/public/admin/template/default/components/comViewFiled/comViewFiled.js
method data (line 66) | data () {
method filterField (line 96) | filterField () {
method replaceText (line 107) | replaceText () {
method calcSelectFiled (line 116) | calcSelectFiled () {
method created (line 135) | created () {
method handleFiled (line 139) | handleFiled () {
method submitField (line 142) | async submitField () {
method changeSort (line 158) | changeSort ({ newData }) {
method changeField (line 161) | changeField (bol, key) {
method delField (line 169) | delField (row) {
method getViewFiledList (line 174) | async getViewFiledList () {
method handelData (line 226) | handelData () {
FILE: 10.4.6/public/admin/template/default/components/safeConfirm/safeConfirm.js
method data (line 17) | data() {
method created (line 34) | created() {
method openDialog (line 43) | openDialog(callbackFun) {
method closeDialog (line 55) | closeDialog() {
method save (line 58) | save() {
FILE: 10.4.6/public/admin/template/default/js/addon.js
method data (line 13) | data() {
method enableTitle (line 193) | enableTitle() {
method installTitle (line 202) | installTitle() {
method mounted (line 212) | mounted() {
method created (line 227) | created() {
method jumpMenu (line 238) | jumpMenu(e, row) {
method handleHook (line 241) | async handleHook() {
method onDragSort (line 254) | onDragSort(newData) {
method changeOrder (line 261) | async changeOrder(arr) {
method localFilter (line 271) | localFilter() {
method getSystem (line 305) | async getSystem() {
method syncPlugin (line 321) | async syncPlugin() {
method handlerAllUpgrade (line 347) | async handlerAllUpgrade() {
method handlerDownload (line 391) | async handlerDownload(row) {
method getAddonList (line 415) | async getAddonList() {
method onPageChange (line 429) | onPageChange(pageInfo, newData) {
method onSelectChange (line 435) | onSelectChange(selectedRowKeys, context) {
method getNewVersion (line 440) | async getNewVersion(refresh = false) {
method checkVersion (line 478) | checkVersion(nowStr, lastStr) {
method updatePlugin (line 496) | updatePlugin(row) {
method sureUpgrade (line 505) | async sureUpgrade() {
method changePage (line 528) | changePage(e) {
method sortChange (line 535) | sortChange(val) {
method clearKey (line 545) | clearKey() {
method search (line 549) | search() {
method close (line 554) | close() {
method changeStatus (line 563) | changeStatus(row) {
method sureChange (line 570) | async sureChange() {
method closeDialog (line 594) | closeDialog() {
method installHandler (line 599) | installHandler(row) {
method sureDel (line 606) | async sureDel() {
method cancelDel (line 630) | cancelDel() {
method toMarket (line 633) | toMarket() {
FILE: 10.4.6/public/admin/template/default/js/admin.js
method data (line 10) | data () {
method getCountry (line 140) | async getCountry () {
method checkPwd (line 148) | checkPwd (val) {
method getAdminList (line 155) | async getAdminList () {
method changePage (line 167) | changePage (e) {
method sortChange (line 173) | sortChange (val) {
method clearKey (line 183) | clearKey () {
method search (line 187) | search () {
method close (line 191) | close () {
method addUser (line 198) | addUser () {
method onSubmit (line 204) | async onSubmit ({ validateResult, firstError }) {
method updateAdmin (line 235) | updateAdmin (row) {
method getAdminDetail (line 242) | async getAdminDetail (id) {
method changeStatus (line 251) | changeStatus (row) {
method sureChange (line 260) | async sureChange () {
method closeDialog (line 279) | closeDialog () {
method deleteUser (line 283) | deleteUser (row) {
method sureDel (line 290) | async sureDel () {
method getRoleList (line 306) | async getRoleList () {
method created (line 323) | created () {
FILE: 10.4.6/public/admin/template/default/js/admin_role.js
method data (line 10) | data () {
method changePage (line 128) | changePage (e) {
method sortChange (line 134) | sortChange (val) {
method clearKey (line 144) | clearKey () {
method search (line 148) | search () {
method close (line 151) | close () {
method addUser (line 159) | addUser () {
method onSubmit (line 171) | async onSubmit ({ validateResult, firstError }) {
method updateAdmin (line 203) | updateAdmin (row) {
method getGroupDetail (line 220) | async getGroupDetail (id) {
method chooseAll (line 246) | chooseAll () {
method chooseAllWidget (line 253) | chooseAllWidget () {
method changeCheck (line 261) | changeCheck (_, node) {
method expandAll (line 301) | expandAll () {
method expandAllWidget (line 308) | expandAllWidget () {
method clickNode (line 316) | clickNode (e) {
method clickNodeWidget (line 324) | clickNodeWidget (e) {
method deleteUser (line 332) | deleteUser (row) {
method sureDel (line 339) | async sureDel () {
method getRoleList (line 355) | async getRoleList () {
method getIdFun (line 365) | getIdFun (list) {
method getIdFunWidget (line 373) | getIdFunWidget (list) {
method getAuthList (line 382) | async getAuthList () {
method created (line 404) | created () {
FILE: 10.4.6/public/admin/template/default/js/agentList.js
method data (line 11) | data() {
method filterMoney (line 185) | filterMoney(money) {
method mounted (line 194) | mounted() {}
method created (line 195) | created() {
method closeProduct (line 201) | closeProduct() {
method changeFirId (line 205) | changeFirId(val) {
method editGoods (line 211) | editGoods(row) {
method getFirPro (line 220) | async getFirPro() {
method getSecPro (line 227) | async getSecPro() {
method search (line 234) | search() {
method submitProduct (line 239) | async submitProduct({ validateResult, firstError }) {
method clearKey (line 260) | clearKey() {
method changePage (line 267) | changePage() {
method getOrderList (line 271) | async getOrderList() {
FILE: 10.4.6/public/admin/template/default/js/captcha.js
method data (line 10) | data() {
method mounted (line 103) | mounted() {
method getGatewayList (line 109) | async getGatewayList() {
method addUser (line 122) | addUser() {
method updatePlugin (line 137) | updatePlugin(row) {
method sureUpgrade (line 142) | async sureUpgrade() {
method handleConfig (line 160) | handleConfig(row) {
method getConfig (line 165) | async getConfig(id) {
method onSubmit (line 179) | async onSubmit() {
method changePage (line 202) | changePage(e) {
method clearKey (line 208) | clearKey() {
method search (line 212) | search() {
method close (line 215) | close() {
method changeStatus (line 221) | changeStatus(row) {
method sureChange (line 232) | async sureChange() {
method closeDialog (line 252) | closeDialog() {
method deletePay (line 256) | deletePay(row) {
method sureDel (line 268) | async sureDel() {
method cancelDel (line 288) | cancelDel() {
method created (line 292) | created() {
method computedRadio (line 296) | computedRadio() {
FILE: 10.4.6/public/admin/template/default/js/childAccount.js
method data (line 7) | data() {
method created (line 69) | async created() {
method getCountry (line 84) | async getCountry() {
method back (line 93) | back() {
method getQuery (line 96) | getQuery(val) {
method getDetail (line 99) | async getDetail() {
method f1 (line 137) | f1(node, arr) {
method getTreeList (line 145) | async getTreeList() {
method funActive (line 179) | funActive(activeObj) {
method getModuleList (line 191) | async getModuleList() {
method getProductList (line 198) | async getProductList() {
method saveBtn (line 205) | async saveBtn({ validateResult, firstError }) {
method arrFun (line 237) | arrFun(n) {
method deepFun (line 250) | deepFun(obj, arr) {
method onChange (line 259) | onChange(checked, context) {
method onChangeRight (line 273) | onChangeRight(checked, context) {
method arrFun2 (line 286) | arrFun2(n) {
method deepFun2 (line 300) | deepFun2(obj, arr) {
FILE: 10.4.6/public/admin/template/default/js/child_server.js
method data (line 10) | data () {
method calcName (line 149) | calcName () {
method mounted (line 156) | mounted () {
method created (line 170) | created () {
method getGroupList (line 177) | async getGroupList () {
method jumpStore (line 185) | jumpStore () {
method toChild (line 199) | toChild () {
method getSingleStatus (line 203) | async getSingleStatus (row) {
method getTypeList (line 222) | async getTypeList () {
method getInterfaceList (line 232) | async getInterfaceList () {
method changePage (line 250) | changePage (e) {
method sortChange (line 256) | sortChange (val) {
method clearKey (line 264) | clearKey () {
method search (line 268) | search () {
method changeStatus (line 272) | changeStatus (status) {
method addUser (line 276) | addUser () {
method onSubmit (line 284) | async onSubmit ({ validateResult, firstError }) {
method close (line 302) | close () {
method updateHandler (line 307) | async updateHandler (row) {
method deleteUser (line 319) | deleteUser (row) {
method sureDel (line 323) | async sureDel () {
FILE: 10.4.6/public/admin/template/default/js/child_server_group.js
method data (line 11) | data () {
method created (line 103) | created () {
method getInterface (line 109) | async getInterface () {
method getGroupList (line 124) | async getGroupList () {
method changePage (line 137) | changePage (e) {
method sortChange (line 143) | sortChange (val) {
method clearKey (line 151) | clearKey () {
method search (line 155) | search () {
method changeStatus (line 159) | changeStatus (status) {
method addUser (line 163) | addUser () {
method onSubmit (line 174) | async onSubmit ({ validateResult, firstError }) {
method close (line 200) | close () {
method updateHandler (line 205) | async updateHandler (row) {
method deleteUser (line 222) | deleteUser (row) {
method sureDel (line 226) | async sureDel () {
FILE: 10.4.6/public/admin/template/default/js/client.js
method data (line 12) | data() {
method filterColor (line 104) | filterColor() {
method filterName (line 113) | filterName() {
method showDetails (line 124) | showDetails() {
method calcList (line 139) | calcList () {
method filterMoney (line 155) | filterMoney (money) {
method created (line 164) | created() {
method changeField (line 172) | changeField (field, custom, bol) {
method getQuery (line 181) | getQuery(name) {
method getPlugin (line 187) | async getPlugin() {
method rowClick (line 203) | rowClick(e) {
method getLevel (line 207) | async getLevel() {
method cancelPhone (line 214) | cancelPhone(val) {
method cancelEmail (line 219) | cancelEmail(val) {
method getClientList (line 225) | async getClientList() {
method getSubUser (line 240) | async getSubUser() {
method changePage (line 261) | changePage(e) {
method sortChange (line 268) | sortChange(val) {
method clearKey (line 289) | clearKey() {
method search (line 293) | search() {
method getCountry (line 298) | async getCountry() {
method close (line 306) | close() {
method addUser (line 311) | addUser() {
method onSubmit (line 314) | async onSubmit({ validateResult, firstError }) {
method handleClickDetail (line 334) | handleClickDetail({row}) {
method goDetail (line 338) | goDetail(id) {
FILE: 10.4.6/public/admin/template/default/js/client_detail.js
method data (line 16) | data() {
method inputLabel (line 285) | inputLabel() {
method calcRefund (line 292) | calcRefund() {
method calcShow (line 298) | calcShow() {
method isExist (line 311) | isExist() {
method created (line 315) | created() {
method thousandth (line 378) | thousandth(num) {
method remoteMethod (line 414) | remoteMethod(key) {
method filterMethod (line 418) | filterMethod(search, option) {
method getPlugin (line 421) | async getPlugin() {
method calcRules (line 440) | calcRules(item) {
method getClientCustomField (line 474) | getClientCustomField() {
method getRefundAmount (line 489) | async getRefundAmount() {
method getSystemOption (line 496) | async getSystemOption() {
method loginByUser (line 504) | async loginByUser() {
method changeUser (line 522) | changeUser(id) {
method getClintList (line 526) | async getClintList() {
method getQuery (line 542) | getQuery(val) {
method deleteUser (line 546) | deleteUser() {
method hadelSafeConfirm (line 549) | hadelSafeConfirm(val) {
method sureDelUser (line 552) | async sureDelUser() {
method changeStatus (line 577) | changeStatus() {
method sureChange (line 581) | async sureChange() {
method changeMoney (line 605) | changeMoney() {
method showRecharge (line 613) | showRecharge() {
method closeRechorge (line 620) | closeRechorge() {
method confirmRecharge (line 624) | confirmRecharge({ validateResult, firstError }) {
method getGatewayList (line 655) | getGatewayList() {
method confirmMoney (line 665) | async confirmMoney({ validateResult, firstError }) {
method closeMoney (line 683) | closeMoney() {
method changeLog (line 691) | changeLog() {
method getChangeLog (line 696) | async getChangeLog() {
method closeLog (line 708) | closeLog() {
method updateUserInfo (line 712) | updateUserInfo() {
method changePage (line 766) | changePage(e) {
method getUserDetail (line 772) | async getUserDetail() {
method getCountry (line 802) | async getCountry() {
method getchildAccountList (line 814) | async getchildAccountList() {
method goEdit (line 819) | goEdit(id) {
FILE: 10.4.6/public/admin/template/default/js/client_host.js
method data (line 16) | data() {
method mounted (line 169) | mounted() {
method calcCycle (line 179) | calcCycle() {
method renewTotal (line 184) | renewTotal() {
method calcShow (line 190) | calcShow() {
method isExist (line 203) | isExist() {
method copyIp (line 210) | copyIp(ip) {
method remoteMethod (line 224) | remoteMethod(key) {
method filterMethod (line 228) | filterMethod(search, option) {
method goHostDetail (line 231) | goHostDetail(row) {
method getUserDetail (line 237) | async getUserDetail() {
method getPlugin (line 243) | async getPlugin() {
method batchRenew (line 256) | async batchRenew() {
method batchDel (line 284) | async batchDel() {
method rehandleSelectChange (line 291) | rehandleSelectChange(value, { selectedRowData }) {
method hadelSafeConfirm (line 295) | hadelSafeConfirm(val) {
method submitRenew (line 299) | async submitRenew() {
method changeCycle (line 334) | changeCycle(row) {
method changeUser (line 339) | changeUser(id) {
method cancelRenew (line 343) | cancelRenew() {
method getClintList (line 348) | async getClintList() {
method sortChange (line 361) | sortChange(val) {
method changePage (line 371) | changePage(e) {
method getClientList (line 376) | async getClientList() {
method onConfirm (line 389) | async onConfirm() {
method deltePro (line 412) | deltePro(row) {
method created (line 417) | created() {
FILE: 10.4.6/public/admin/template/default/js/client_log.js
method data (line 15) | data() {
method calcShow (line 95) | calcShow() {
method isExist (line 108) | isExist() {
method mounted (line 114) | mounted() {
method remoteMethod (line 120) | remoteMethod(key) {
method filterMethod (line 124) | filterMethod(search, option) {
method getUserDetail (line 128) | async getUserDetail() {
method getPlugin (line 134) | async getPlugin() {
method changeUser (line 145) | changeUser(id) {
method getClintList (line 149) | async getClintList() {
method sortChange (line 162) | sortChange(val) {
method changePage (line 172) | changePage(e) {
method getClientList (line 177) | async getClientList() {
method created (line 190) | created() {
FILE: 10.4.6/public/admin/template/default/js/client_notice_email.js
method data (line 15) | data() {
method created (line 95) | created() {
method calcShow (line 104) | calcShow() {
method isExist (line 117) | isExist() {
method mounted (line 123) | mounted() {
method remoteMethod (line 129) | remoteMethod(key) {
method filterMethod (line 133) | filterMethod(search, option) {
method getUserDetail (line 137) | async getUserDetail() {
method getPlugin (line 143) | async getPlugin() {
method changeUser (line 153) | changeUser(id) {
method getClintList (line 157) | async getClintList() {
method getQuery (line 169) | getQuery(val) {
method jump (line 172) | jump() {
method changePage (line 175) | changePage(e) {
method getNoticeEmail (line 180) | async getNoticeEmail() {
method sortChange (line 193) | sortChange(val) {
method clearKey (line 203) | clearKey() {
method search (line 207) | search() {
method showMessage (line 211) | showMessage(row) {
FILE: 10.4.6/public/admin/template/default/js/client_notice_sms.js
method data (line 15) | data() {
method calcShow (line 93) | calcShow() {
method isExist (line 106) | isExist() {
method created (line 112) | created() {
method mounted (line 119) | mounted() {
method remoteMethod (line 126) | remoteMethod(key) {
method filterMethod (line 130) | filterMethod(search, option) {
method getUserDetail (line 134) | async getUserDetail() {
method getPlugin (line 140) | async getPlugin() {
method changeUser (line 151) | changeUser(id) {
method getClintList (line 155) | async getClintList() {
method getQuery (line 167) | getQuery(val) {
method jump (line 170) | jump() {
method changePage (line 173) | changePage(e) {
method getNoticeSms (line 178) | async getNoticeSms() {
method sortChange (line 191) | sortChange(val) {
method clearKey (line 201) | clearKey() {
method search (line 205) | search() {
FILE: 10.4.6/public/admin/template/default/js/client_order.js
method data (line 16) | data() {
method mounted (line 172) | mounted() {
method calcShow (line 182) | calcShow() {
method isExist (line 195) | isExist() {
method getHostList (line 202) | async getHostList() {
method getQuery (line 210) | getQuery(name) {
method remoteMethod (line 217) | remoteMethod(key) {
method filterMethod (line 221) | filterMethod(search, option) {
method getUserDetail (line 225) | async getUserDetail() {
method lookDetail (line 231) | lookDetail(id) {
method getPlugin (line 239) | async getPlugin() {
method changeUser (line 250) | changeUser(id) {
method getClintList (line 254) | async getClintList() {
method updatePrice (line 267) | updatePrice(row, type) {
method onSubmit (line 276) | async onSubmit({ validateResult, firstError }) {
method changeOrderPrice (line 289) | async changeOrderPrice() {
method changeSubPrice (line 303) | async changeSubPrice() {
method closePrice (line 313) | closePrice() {
method delteOrder (line 318) | delteOrder(row) {
method addOrder (line 323) | addOrder()
Copy disabled (too large)
Download .json
Condensed preview — 5464 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (111,779K chars).
[
{
"path": "10.4.6/app/admin/controller/AdminBaseController.php",
"chars": 2150,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\AuthRuleModel;\nuse think\\facade\\Cache;\n\n/**\n * idcsmart控制器基础类"
},
{
"path": "10.4.6/app/admin/controller/AdminController.php",
"chars": 7521,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\AdminModel;\nuse app\\admin\\validate\\AdminValidate;\n\n/**\n * @ti"
},
{
"path": "10.4.6/app/admin/controller/AdminRoleController.php",
"chars": 4153,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\AdminRoleModel;\nuse app\\admin\\validate\\AdminRoleValidate;\n\n/*"
},
{
"path": "10.4.6/app/admin/controller/ApiController.php",
"chars": 4039,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ApiModel;\nuse app\\admin\\validate\\ApiValidate;\n\n/**\n * @title"
},
{
"path": "10.4.6/app/admin/controller/AppMarketController.php",
"chars": 13882,
"preview": "<?php\nnamespace app\\admin\\controller;\nuse app\\admin\\model\\PluginModel;\n\n/**\n * @title 应用商店自动化接口\n * @desc 应用商店自动化接口\n * @u"
},
{
"path": "10.4.6/app/admin/controller/BaseController.php",
"chars": 836,
"preview": "<?php\ndeclare (strict_types = 1);\n\nnamespace app\\admin\\controller;\n\nuse think\\App;\nuse think\\exception\\ValidateException"
},
{
"path": "10.4.6/app/admin/controller/BottomBarGroupController.php",
"chars": 3772,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\BottomBarGroupModel;\nuse app\\admin\\validate\\BottomBarGroupVa"
},
{
"path": "10.4.6/app/admin/controller/BottomBarNavController.php",
"chars": 5116,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\BottomBarNavModel;\nuse app\\admin\\validate\\BottomBarNavValida"
},
{
"path": "10.4.6/app/admin/controller/CabinetRentalProductController.php",
"chars": 3766,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\CabinetRentalProductModel;\nuse app\\admin\\validate\\CabinetRen"
},
{
"path": "10.4.6/app/admin/controller/ClientController.php",
"chars": 11247,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ClientModel;\nuse app\\admin\\validate\\ClientValidate;\n\n/**\n * "
},
{
"path": "10.4.6/app/admin/controller/ClientCreditController.php",
"chars": 3529,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ClientCreditModel;\nuse app\\admin\\validate\\ClientCreditValida"
},
{
"path": "10.4.6/app/admin/controller/ClientRecordController.php",
"chars": 3630,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ClientRecordModel;\nuse app\\admin\\validate\\ClientRecordValida"
},
{
"path": "10.4.6/app/admin/controller/CloudServerAreaController.php",
"chars": 3459,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\CloudServerAreaModel;\nuse app\\admin\\validate\\CloudServerArea"
},
{
"path": "10.4.6/app/admin/controller/CloudServerBannerController.php",
"chars": 5061,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\CloudServerBannerModel;\nuse app\\admin\\validate\\CloudServerBa"
},
{
"path": "10.4.6/app/admin/controller/CloudServerDiscountController.php",
"chars": 3431,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\CloudServerDiscountModel;\nuse app\\admin\\validate\\CloudServer"
},
{
"path": "10.4.6/app/admin/controller/CloudServerProductController.php",
"chars": 5462,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\CloudServerProductModel;\nuse app\\admin\\validate\\CloudServerP"
},
{
"path": "10.4.6/app/admin/controller/CommonController.php",
"chars": 24645,
"preview": "<?php\n\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\PluginModel;\nuse app\\common\\model\\CountryModel;\nuse app\\admi"
},
{
"path": "10.4.6/app/admin/controller/ConfigurationController.php",
"chars": 32671,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ConfigurationModel;\nuse app\\admin\\validate\\ConfigurationVali"
},
{
"path": "10.4.6/app/admin/controller/ConsultController.php",
"chars": 1487,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ConsultModel;\n\n/**\n * @title 方案咨询\n * @desc 方案咨询\n * @use app\\"
},
{
"path": "10.4.6/app/admin/controller/FeedbackController.php",
"chars": 4551,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\FeedbackModel;\nuse app\\common\\model\\FeedbackTypeModel;\nuse a"
},
{
"path": "10.4.6/app/admin/controller/FriendlyLinkController.php",
"chars": 3132,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\FriendlyLinkModel;\nuse app\\admin\\validate\\FriendlyLinkValida"
},
{
"path": "10.4.6/app/admin/controller/HonorController.php",
"chars": 2951,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\HonorModel;\nuse app\\admin\\validate\\HonorValidate;\n\n/**\n * @t"
},
{
"path": "10.4.6/app/admin/controller/HostController.php",
"chars": 15777,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\HostModel;\nuse app\\admin\\validate\\HostValidate;\nuse app\\comm"
},
{
"path": "10.4.6/app/admin/controller/IcpServiceProductController.php",
"chars": 3745,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\IcpServiceProductModel;\nuse app\\admin\\validate\\IcpServicePro"
},
{
"path": "10.4.6/app/admin/controller/IndexBannerController.php",
"chars": 4841,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\IndexBannerModel;\nuse app\\admin\\validate\\IndexBannerValidate"
},
{
"path": "10.4.6/app/admin/controller/LogController.php",
"chars": 4499,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SystemLogModel;\nuse app\\admin\\model\\EmailLogModel;\nuse app\\a"
},
{
"path": "10.4.6/app/admin/controller/MenuController.php",
"chars": 8423,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\MenuModel;\nuse app\\admin\\validate\\MenuValidate;\n\n/**\n * @tit"
},
{
"path": "10.4.6/app/admin/controller/ModuleController.php",
"chars": 836,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\logic\\ModuleLogic;\n\n/**\n * @title 模块管理\n * @desc 模块管理\n * @use app\\a"
},
{
"path": "10.4.6/app/admin/controller/NoticeEmailController.php",
"chars": 5024,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\EmailTemplateModel;\nuse app\\admin\\validate\\NoticeEmailValida"
},
{
"path": "10.4.6/app/admin/controller/NoticeSettingController.php",
"chars": 3002,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\NoticeSettingModel;\nuse app\\admin\\validate\\NoticeSettingVali"
},
{
"path": "10.4.6/app/admin/controller/NoticeSmsController.php",
"chars": 6941,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SmsTemplateModel;\nuse app\\admin\\validate\\NoticeSmsValidate;\n"
},
{
"path": "10.4.6/app/admin/controller/OrderController.php",
"chars": 30488,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\HostModel;\nuse app\\common\\model\\OrderItemModel;\nuse app\\comm"
},
{
"path": "10.4.6/app/admin/controller/PartnerController.php",
"chars": 3142,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\PartnerModel;\nuse app\\admin\\validate\\PartnerValidate;\n\n/**\n "
},
{
"path": "10.4.6/app/admin/controller/PhysicalServerAreaController.php",
"chars": 3536,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\PhysicalServerAreaModel;\nuse app\\admin\\validate\\PhysicalServ"
},
{
"path": "10.4.6/app/admin/controller/PhysicalServerBannerController.php",
"chars": 5168,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\PhysicalServerBannerModel;\nuse app\\admin\\validate\\PhysicalSe"
},
{
"path": "10.4.6/app/admin/controller/PhysicalServerDiscountController.php",
"chars": 3508,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\PhysicalServerDiscountModel;\nuse app\\admin\\validate\\Physical"
},
{
"path": "10.4.6/app/admin/controller/PhysicalServerProductController.php",
"chars": 5646,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\PhysicalServerProductModel;\nuse app\\admin\\validate\\PhysicalS"
},
{
"path": "10.4.6/app/admin/controller/PluginController.php",
"chars": 38805,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\PluginModel;\nuse app\\common\\logic\\ModuleLogic;\n\n/**\n * @title"
},
{
"path": "10.4.6/app/admin/controller/ProductController.php",
"chars": 14893,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\validate\\ProductValidate;\nuse app\\common\\model\\ProductModel;\n\n/**\n "
},
{
"path": "10.4.6/app/admin/controller/ProductGroupController.php",
"chars": 6209,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\validate\\ProductGroupValidate;\nuse app\\common\\model\\ProductGroupMod"
},
{
"path": "10.4.6/app/admin/controller/PublicController.php",
"chars": 3363,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\AdminModel;\nuse app\\admin\\validate\\AdminValidate;\nuse think\\f"
},
{
"path": "10.4.6/app/admin/controller/SelfDefinedFieldController.php",
"chars": 6295,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SelfDefinedFieldModel;\nuse app\\common\\validate\\SelfDefinedFi"
},
{
"path": "10.4.6/app/admin/controller/SeoController.php",
"chars": 3558,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SeoModel;\nuse app\\admin\\validate\\SeoValidate;\n\n/**\n * @title"
},
{
"path": "10.4.6/app/admin/controller/ServerController.php",
"chars": 4280,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\validate\\ServerValidate;\nuse app\\common\\model\\ServerModel;\n\n/**\n * "
},
{
"path": "10.4.6/app/admin/controller/ServerGroupController.php",
"chars": 3239,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\validate\\ServerGroupValidate;\nuse app\\common\\model\\ServerGroupModel"
},
{
"path": "10.4.6/app/admin/controller/ServerHostingAreaController.php",
"chars": 3146,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ServerHostingAreaModel;\nuse app\\admin\\validate\\ServerHosting"
},
{
"path": "10.4.6/app/admin/controller/ServerHostingProductController.php",
"chars": 5116,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\ServerHostingProductModel;\nuse app\\admin\\validate\\ServerHost"
},
{
"path": "10.4.6/app/admin/controller/SideFloatingWindowController.php",
"chars": 3966,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SideFloatingWindowModel;\nuse app\\admin\\validate\\SideFloating"
},
{
"path": "10.4.6/app/admin/controller/SmsServiceProductController.php",
"chars": 3882,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SmsServiceProductModel;\nuse app\\admin\\validate\\SmsServicePro"
},
{
"path": "10.4.6/app/admin/controller/SslCertificateProductController.php",
"chars": 3980,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SslCertificateProductModel;\nuse app\\admin\\validate\\SslCertif"
},
{
"path": "10.4.6/app/admin/controller/SupplierController.php",
"chars": 8074,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\SupplierModel;\nuse app\\admin\\validate\\SupplierValidate;\n\n/**"
},
{
"path": "10.4.6/app/admin/controller/TaskController.php",
"chars": 2097,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\TaskModel;\n\n/**\n * @title 任务管理\n * @desc 任务管理\n * @use app\\adm"
},
{
"path": "10.4.6/app/admin/controller/TrademarkRegisterProductController.php",
"chars": 3850,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\TrademarkRegisterProductModel;\nuse app\\admin\\validate\\Tradem"
},
{
"path": "10.4.6/app/admin/controller/TrademarkServiceProductController.php",
"chars": 3857,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\TrademarkServiceProductModel;\nuse app\\admin\\validate\\Tradema"
},
{
"path": "10.4.6/app/admin/controller/TransactionController.php",
"chars": 5418,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\TransactionModel;\nuse app\\admin\\validate\\TransactionValidate"
},
{
"path": "10.4.6/app/admin/controller/UpgradeSystemController.php",
"chars": 3830,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\logic\\UpgradeSystemLogic;\n\n/**\n * @title 系统升级\n * @desc 系统升级\n * @us"
},
{
"path": "10.4.6/app/admin/controller/UpstreamHostController.php",
"chars": 3421,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\UpstreamHostModel;\n\n/**\n * @title 上下游产品(后台)\n * @desc 上下游产品(后"
},
{
"path": "10.4.6/app/admin/controller/UpstreamOrderController.php",
"chars": 3036,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\UpstreamOrderModel;\n\n/**\n * @title 上下游(后台)\n * @desc 上下游(后台)\n"
},
{
"path": "10.4.6/app/admin/controller/UpstreamProductController.php",
"chars": 11170,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\UpstreamProductModel;\nuse app\\admin\\validate\\UpstreamProduct"
},
{
"path": "10.4.6/app/admin/controller/ViewController.php",
"chars": 3936,
"preview": "<?php\nnamespace app\\admin\\controller;\nuse think\\Request;\nuse think\\facade\\View;\nuse think\\template\\exception\\TemplateNot"
},
{
"path": "10.4.6/app/admin/controller/WebNavController.php",
"chars": 5851,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\common\\model\\WebNavModel;\nuse app\\admin\\validate\\WebNavValidate;\n\n/**\n * "
},
{
"path": "10.4.6/app/admin/controller/WidgetController.php",
"chars": 4092,
"preview": "<?php\nnamespace app\\admin\\controller;\n\nuse app\\admin\\model\\AdminWidgetModel;\nuse app\\admin\\validate\\WidgetValidate;\nuse "
},
{
"path": "10.4.6/app/admin/model/AdminFieldModel.php",
"chars": 24274,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\nuse app\\common\\model\\SelfDefinedFieldModel;\nuse addon\\client_custom_f"
},
{
"path": "10.4.6/app/admin/model/AdminLoginModel.php",
"chars": 1599,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\n\n/**\n * @title 管理员登录模型\n * @desc 管理员登录模型\n * @use app\\admin\\model\\Admin"
},
{
"path": "10.4.6/app/admin/model/AdminModel.php",
"chars": 26904,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\nuse app\\common\\logic\\Upgr"
},
{
"path": "10.4.6/app/admin/model/AdminRoleLinkModel.php",
"chars": 256,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\n\nclass AdminRoleLinkModel extends Model\n{\n protected $name = 'admi"
},
{
"path": "10.4.6/app/admin/model/AdminRoleModel.php",
"chars": 9879,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\nuse think\\db\\Query;\n\n/**\n * @title 管理员分组模型\n * @desc 管理员分组模型\n * @use a"
},
{
"path": "10.4.6/app/admin/model/AdminRoleWidgetModel.php",
"chars": 2296,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\nuse app\\common\\logic\\WidgetLogic;\n\n/**\n * @title 管理员分组挂件模型\n * @desc 管"
},
{
"path": "10.4.6/app/admin/model/AdminWidgetModel.php",
"chars": 4743,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\nuse app\\common\\logic\\WidgetLogic;\n\n/**\n * @title 管理员挂件模型\n * @desc 管理员"
},
{
"path": "10.4.6/app/admin/model/AuthLinkModel.php",
"chars": 374,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 管理员权限对应模型\n"
},
{
"path": "10.4.6/app/admin/model/AuthModel.php",
"chars": 18472,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\nuse app\\common\\logic\\Widg"
},
{
"path": "10.4.6/app/admin/model/AuthRuleLinkModel.php",
"chars": 348,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\n\n/**\n * @title 管理员权限规则关联模型\n * @desc 管理员权限规则关联模型\n * @use app\\admin\\mod"
},
{
"path": "10.4.6/app/admin/model/AuthRuleModel.php",
"chars": 1522,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 管理员权限规则模型\n"
},
{
"path": "10.4.6/app/admin/model/EmailLogModel.php",
"chars": 4492,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse think\\db\\Query;\n\n/**\n * @title 邮件日志模型\n * @desc 邮件日志"
},
{
"path": "10.4.6/app/admin/model/PluginHookModel.php",
"chars": 1259,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\n\n/**\n * @title 插件钩子模型\n * @desc 插件钩子模型\n * @use app\\admin\\model\\PluginH"
},
{
"path": "10.4.6/app/admin/model/PluginModel.php",
"chars": 62132,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse app\\common\\model\\NavModel;\nuse app\\common\\model\\MenuModel;\nuse think\\db\\Query;\nuse"
},
{
"path": "10.4.6/app/admin/model/SmsLogModel.php",
"chars": 4710,
"preview": "<?php\nnamespace app\\admin\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse think\\db\\Query;\n\n/**\n * @title 短信日志模型\n * @desc 短信日志"
},
{
"path": "10.4.6/app/admin/validate/AdminFieldValidate.php",
"chars": 979,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * @title 管理员字段设置验证\n * @use app\\admin\\validate\\AdminFiel"
},
{
"path": "10.4.6/app/admin/validate/AdminRoleValidate.php",
"chars": 1019,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 管理员分组验证\n */\nclass AdminRoleValidate extends Validate\n{\n"
},
{
"path": "10.4.6/app/admin/validate/AdminValidate.php",
"chars": 3712,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 管理员验证\n */\nclass AdminValidate extends Validate\n{\n\tprote"
},
{
"path": "10.4.6/app/admin/validate/ApiValidate.php",
"chars": 480,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * API验证\n */\nclass ApiValidate extends Validate\n{\n\tprotect"
},
{
"path": "10.4.6/app/admin/validate/BottomBarGroupValidate.php",
"chars": 648,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 模板控制器-底部栏分组验证\n */\nclass BottomBarGroupValidate extends "
},
{
"path": "10.4.6/app/admin/validate/BottomBarNavValidate.php",
"chars": 1239,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 模板控制器-底部栏导航验证\n */\nclass BottomBarNavValidate extends Va"
},
{
"path": "10.4.6/app/admin/validate/CabinetRentalProductValidate.php",
"chars": 1343,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 机柜租用商品验证\n */\nclass CabinetRentalProductValidate extends"
},
{
"path": "10.4.6/app/admin/validate/ClientCreditValidate.php",
"chars": 961,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 用户余额管理验证\n */\nclass ClientCreditValidate extends Validat"
},
{
"path": "10.4.6/app/admin/validate/ClientRecordValidate.php",
"chars": 947,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 用户信息记录验证\n */\nclass ClientRecordValidate extends Validat"
},
{
"path": "10.4.6/app/admin/validate/ClientValidate.php",
"chars": 2894,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 用户管理验证\n */\nclass ClientValidate extends Validate\n{\n "
},
{
"path": "10.4.6/app/admin/validate/CloudServerAreaValidate.php",
"chars": 903,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 云服务器区域验证\n */\nclass CloudServerAreaValidate extends Vali"
},
{
"path": "10.4.6/app/admin/validate/CloudServerBannerValidate.php",
"chars": 1786,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 云服务器轮播图验证\n */\nclass CloudServerBannerValidate extends V"
},
{
"path": "10.4.6/app/admin/validate/CloudServerDiscountValidate.php",
"chars": 1194,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 云服务器优惠验证\n */\nclass CloudServerDiscountValidate extends "
},
{
"path": "10.4.6/app/admin/validate/CloudServerProductValidate.php",
"chars": 3545,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 云服务器商品验证\n */\nclass CloudServerProductValidate extends V"
},
{
"path": "10.4.6/app/admin/validate/ConfigurationValidate.php",
"chars": 24749,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 配置项验证\n */\nclass ConfigurationValidate extends Validate\n"
},
{
"path": "10.4.6/app/admin/validate/FeedbackTypeValidate.php",
"chars": 813,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 意见反馈类型验证\n */\nclass FeedbackTypeValidate extends Validat"
},
{
"path": "10.4.6/app/admin/validate/FriendlyLinkValidate.php",
"chars": 852,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 友情链接验证\n */\nclass FriendlyLinkValidate extends Validate\n"
},
{
"path": "10.4.6/app/admin/validate/HonorValidate.php",
"chars": 686,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 荣誉资质验证\n */\nclass HonorValidate extends Validate\n{\n\tprot"
},
{
"path": "10.4.6/app/admin/validate/HostValidate.php",
"chars": 2970,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 产品管理验证\n */\nclass HostValidate extends Validate\n{\n\tprote"
},
{
"path": "10.4.6/app/admin/validate/IcpServiceProductValidate.php",
"chars": 1325,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * ICP拓展服务商品验证\n */\nclass IcpServiceProductValidate extends"
},
{
"path": "10.4.6/app/admin/validate/IndexBannerValidate.php",
"chars": 1722,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 首页轮播图验证\n */\nclass IndexBannerValidate extends Validate\n"
},
{
"path": "10.4.6/app/admin/validate/MenuValidate.php",
"chars": 9345,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 导航管理验证\n */\nclass MenuValidate extends Validate\n{\n\tprote"
},
{
"path": "10.4.6/app/admin/validate/NoticeEmailValidate.php",
"chars": 1219,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 邮件模板验证\n */\nclass NoticeEmailValidate extends Validate\n{"
},
{
"path": "10.4.6/app/admin/validate/NoticeSettingValidate.php",
"chars": 931,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 通知发送管理\n */\nclass NoticeSettingValidate extends Validate"
},
{
"path": "10.4.6/app/admin/validate/NoticeSmsValidate.php",
"chars": 1582,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 短信模板管理验证\n */\nclass NoticeSmsValidate extends Validate\n{"
},
{
"path": "10.4.6/app/admin/validate/OrderValidate.php",
"chars": 4783,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 订单管理验证\n */\nclass OrderValidate extends Validate\n{\n\tprot"
},
{
"path": "10.4.6/app/admin/validate/PartnerValidate.php",
"chars": 906,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 合作伙伴验证\n */\nclass PartnerValidate extends Validate\n{\n\tpr"
},
{
"path": "10.4.6/app/admin/validate/PhysicalServerAreaValidate.php",
"chars": 919,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 物理服务器区域验证\n */\nclass PhysicalServerAreaValidate extends "
},
{
"path": "10.4.6/app/admin/validate/PhysicalServerBannerValidate.php",
"chars": 1814,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 物理服务器轮播图验证\n */\nclass PhysicalServerBannerValidate exten"
},
{
"path": "10.4.6/app/admin/validate/PhysicalServerDiscountValidate.php",
"chars": 1219,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 物理服务器优惠验证\n */\nclass PhysicalServerDiscountValidate exte"
},
{
"path": "10.4.6/app/admin/validate/PhysicalServerProductValidate.php",
"chars": 3727,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 物理服务器商品验证\n */\nclass PhysicalServerProductValidate exten"
},
{
"path": "10.4.6/app/admin/validate/ProductGroupValidate.php",
"chars": 1419,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 商品分组验证\n */\nclass ProductGroupValidate extends Validate\n"
},
{
"path": "10.4.6/app/admin/validate/ProductValidate.php",
"chars": 3540,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 商品验证\n */\nclass ProductValidate extends Validate\n{\n\tprot"
},
{
"path": "10.4.6/app/admin/validate/SeoValidate.php",
"chars": 1135,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * SEO验证\n */\nclass SeoValidate extends Validate\n{\n\tprotect"
},
{
"path": "10.4.6/app/admin/validate/ServerGroupValidate.php",
"chars": 867,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 接口分组验证\n */\nclass ServerGroupValidate extends Validate\n{"
},
{
"path": "10.4.6/app/admin/validate/ServerHostingAreaValidate.php",
"chars": 730,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 服务器托管区域验证\n */\nclass ServerHostingAreaValidate extends V"
},
{
"path": "10.4.6/app/admin/validate/ServerHostingProductValidate.php",
"chars": 3117,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 服务器托管商品验证\n */\nclass ServerHostingProductValidate extend"
},
{
"path": "10.4.6/app/admin/validate/ServerValidate.php",
"chars": 1716,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 接口验证\n */\nclass ServerValidate extends Validate\n{\n\tprote"
},
{
"path": "10.4.6/app/admin/validate/SideFloatingWindowValidate.php",
"chars": 970,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 模板控制器-侧边浮窗验证\n */\nclass SideFloatingWindowValidate exten"
},
{
"path": "10.4.6/app/admin/validate/SmsServiceProductValidate.php",
"chars": 1502,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 短信服务商品验证\n */\nclass SmsServiceProductValidate extends Va"
},
{
"path": "10.4.6/app/admin/validate/SslCertificateProductValidate.php",
"chars": 1531,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * SSL证书商品验证\n */\nclass SslCertificateProductValidate exten"
},
{
"path": "10.4.6/app/admin/validate/SupplierValidate.php",
"chars": 2413,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 上下游供应商验证\n */\nclass SupplierValidate extends Validate\n{\n"
},
{
"path": "10.4.6/app/admin/validate/TrademarkRegisterProductValidate.php",
"chars": 1371,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 商标注册商品验证\n */\nclass TrademarkRegisterProductValidate ext"
},
{
"path": "10.4.6/app/admin/validate/TrademarkServiceProductValidate.php",
"chars": 1366,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 商标延伸服务商品验证\n */\nclass TrademarkServiceProductValidate ex"
},
{
"path": "10.4.6/app/admin/validate/TransactionValidate.php",
"chars": 1233,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 交易流水管理验证\n */\nclass TransactionValidate extends Validate"
},
{
"path": "10.4.6/app/admin/validate/UpstreamProductValidate.php",
"chars": 4053,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 上下游商品验证\n */\nclass UpstreamProductValidate extends Valid"
},
{
"path": "10.4.6/app/admin/validate/WebNavValidate.php",
"chars": 1363,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * 模板控制器-导航验证\n */\nclass WebNavValidate extends Validate\n{\n"
},
{
"path": "10.4.6/app/admin/validate/WidgetValidate.php",
"chars": 930,
"preview": "<?php\nnamespace app\\admin\\validate;\n\nuse think\\Validate;\n\n/**\n * @title 挂件验证\n * @use app\\admin\\validate\\WidgetValidate"
},
{
"path": "10.4.6/app/api/controller/AuthController.php",
"chars": 9134,
"preview": "<?php\nnamespace app\\api\\controller;\n\nuse app\\common\\logic\\UpstreamLogic;\nuse app\\common\\model\\ClientModel;\nuse app\\commo"
},
{
"path": "10.4.6/app/api/controller/ProductController.php",
"chars": 7939,
"preview": "<?php\nnamespace app\\api\\controller;\n\nuse app\\common\\logic\\ModuleLogic;\nuse app\\common\\model\\ProductGroupModel;\nuse app\\c"
},
{
"path": "10.4.6/app/command/Cron.php",
"chars": 24967,
"preview": "<?php\ndeclare (strict_types = 1);\n\nnamespace app\\command;\nuse app\\admin\\model\\AdminModel;\nuse app\\admin\\model\\PluginMode"
},
{
"path": "10.4.6/app/command/Task.php",
"chars": 6288,
"preview": "<?php\ndeclare (strict_types = 1);\n\nnamespace app\\command;\nuse think\\facade\\Db;\nuse think\\console\\Command;\nuse think\\cons"
},
{
"path": "10.4.6/app/common/lib/IdcsmartCache.php",
"chars": 679,
"preview": "<?php\n\nnamespace app\\common\\lib;\n\n/**\n * @desc\n * @author wyh\n * @time 2023-02-13\n * @use app\\common\\lib\\IdcsmartCache\n "
},
{
"path": "10.4.6/app/common/lib/Loader.php",
"chars": 11206,
"preview": "<?php\n// +----------------------------------------------------------------------\n// | ThinkPHP [ WE CAN DO IT JUST THINK"
},
{
"path": "10.4.6/app/common/lib/Oauth.php",
"chars": 465,
"preview": "<?php\nnamespace app\\common\\lib;\n\n/**\n * @title 三方登录基类,三方登录需要继承该类\n * @use app\\common\\lib\\Oauth\n */\nclass Oauth extends Pl"
},
{
"path": "10.4.6/app/common/lib/Plugin.php",
"chars": 5567,
"preview": "<?php\n\nnamespace app\\common\\lib;\n\nuse app\\admin\\model\\PluginModel;\nuse app\\exception\\TemplateNotFoundException;\nuse thin"
},
{
"path": "10.4.6/app/common/lib/RedisPool.php",
"chars": 1023,
"preview": "<?php\n\nnamespace app\\common\\lib;\n\n/**\n * @desc\n * @author wyh\n * @time 2023-03-13\n * @use app\\common\\lib\\RedisPool\n */\nc"
},
{
"path": "10.4.6/app/common/lib/Widget.php",
"chars": 2447,
"preview": "<?php\nnamespace app\\common\\lib;\n\n/**\n * @title 挂件抽象类,挂件需要继承该类\n * @use app\\common\\lib\\Widget\n */\nabstract class Widget\n"
},
{
"path": "10.4.6/app/common/logic/EmailLogic.php",
"chars": 12140,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse think\\facade\\Db;\nuse app\\admin\\model\\PluginModel;\nuse app\\common\\model\\NoticeSet"
},
{
"path": "10.4.6/app/common/logic/IndexLogic.php",
"chars": 2816,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse app\\common\\model\\ClientModel;\nuse app\\common\\model\\TransactionModel;\n\n/**\n * @ti"
},
{
"path": "10.4.6/app/common/logic/ModuleLogic.php",
"chars": 24993,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse app\\common\\model\\HostModel;\nuse app\\common\\model\\ProductModel;\nuse app\\common\\mo"
},
{
"path": "10.4.6/app/common/logic/ResModuleLogic.php",
"chars": 74356,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse app\\common\\model\\HostModel;\nuse app\\common\\model\\ProductModel;\nuse app\\common\\mo"
},
{
"path": "10.4.6/app/common/logic/SmsLogic.php",
"chars": 14184,
"preview": "<?php \nnamespace app\\common\\logic;\nuse think\\facade\\Db;\nuse app\\admin\\model\\PluginModel;\nuse app\\common\\model\\NoticeSett"
},
{
"path": "10.4.6/app/common/logic/TemplateLogic.php",
"chars": 2617,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse app\\admin\\model\\PluginModel;\n\n/**\n * @title 模板控制器逻辑\n * @desc 模板控制器逻辑\n * @use app"
},
{
"path": "10.4.6/app/common/logic/UpgradePluginsLogic.php",
"chars": 217,
"preview": "<?php \nnamespace app\\common\\logic;\n\n/**\n * @title 插件升级逻辑类\n * @desc 插件升级逻辑类\n * @use app\\common\\logic\\UpgradePluginsLogic\n"
},
{
"path": "10.4.6/app/common/logic/UpgradeSystemLogic.php",
"chars": 19237,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse think\\captcha\\Captcha;\nuse think\\facade\\Cache;\n\n/**\n * @title 系统升级逻辑类\n * @desc 系"
},
{
"path": "10.4.6/app/common/logic/UploadLogic.php",
"chars": 6857,
"preview": "<?php\n\nnamespace app\\common\\logic;\n\nuse app\\common\\model\\FileLogModel;\nuse app\\common\\validate\\UploadValidate;\nuse think"
},
{
"path": "10.4.6/app/common/logic/UpstreamLogic.php",
"chars": 35469,
"preview": "<?php\nnamespace app\\common\\logic;\n\nuse app\\admin\\model\\PluginModel;\nuse app\\common\\model\\UpstreamProductModel;\nuse app\\c"
},
{
"path": "10.4.6/app/common/logic/VerificationCodeLogic.php",
"chars": 6820,
"preview": "<?php \nnamespace app\\common\\logic;\n\nuse think\\facade\\Cache;\nuse app\\common\\model\\ClientModel;\nuse app\\common\\logic\\SmsLo"
},
{
"path": "10.4.6/app/common/logic/WidgetLogic.php",
"chars": 4376,
"preview": "<?php\nnamespace app\\common\\logic;\n\nuse app\\common\\lib\\Widget;\n\n/**\n * @title 挂件逻辑类\n * @use app\\common\\logic\\WidgetLogi"
},
{
"path": "10.4.6/app/common/model/ApiModel.php",
"chars": 15222,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse think\\facade\\Request;\nuse think\\db\\Query;\n\n/**\n * "
},
{
"path": "10.4.6/app/common/model/BottomBarGroupModel.php",
"chars": 6969,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-底部栏"
},
{
"path": "10.4.6/app/common/model/BottomBarNavModel.php",
"chars": 12090,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-底部栏"
},
{
"path": "10.4.6/app/common/model/CabinetRentalProductModel.php",
"chars": 7292,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-机柜租"
},
{
"path": "10.4.6/app/common/model/ClientCreditModel.php",
"chars": 5902,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse think\\db\\Query;\n\n/**\n * @title 用户余额管理模型\n * @desc 用"
},
{
"path": "10.4.6/app/common/model/ClientCustomFieldModel.php",
"chars": 3229,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\n\n/**\n * @title 用户自定义字段模型\n * @desc 用户自定义字段模型\n * @use ap"
},
{
"path": "10.4.6/app/common/model/ClientLoginModel.php",
"chars": 2894,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 用户登录模型\n * @desc 用户登录模型\n * @use app\\common\\model\\Clien"
},
{
"path": "10.4.6/app/common/model/ClientModel.php",
"chars": 109870,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\facade\\Cache;\nuse think\\Model;\nuse think\\db\\Query;\nuse app\\home\\model\\Oauth"
},
{
"path": "10.4.6/app/common/model/ClientRecordModel.php",
"chars": 5312,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\n\n/**\n * @title 用户信息记录模型\n * @desc 用户信息记录模型\n * @use app\\"
},
{
"path": "10.4.6/app/common/model/CloudServerAreaModel.php",
"chars": 6430,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-云服务"
},
{
"path": "10.4.6/app/common/model/CloudServerBannerModel.php",
"chars": 9797,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-云服务"
},
{
"path": "10.4.6/app/common/model/CloudServerDiscountModel.php",
"chars": 5643,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-云服务"
},
{
"path": "10.4.6/app/common/model/CloudServerProductModel.php",
"chars": 17874,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-云服务"
},
{
"path": "10.4.6/app/common/model/ConfigOptionModel.php",
"chars": 536,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 配置项模型\n * @desc 配置项模型\n * @use app\\common\\model\\ConfigO"
},
{
"path": "10.4.6/app/common/model/ConfigOptionSubModel.php",
"chars": 514,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 配置项模型\n * @desc 配置项模型\n * @use app\\common\\model\\ConfigO"
},
{
"path": "10.4.6/app/common/model/ConfigurationModel.php",
"chars": 77188,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse app\\admin\\model\\AdminModel;\nuse app\\admin\\model\\PluginModel;\nuse think\\Exception;"
},
{
"path": "10.4.6/app/common/model/ConsultModel.php",
"chars": 3181,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 方案咨询模型\n * @desc 方案咨询模型\n * @use app\\common\\model\\Consu"
},
{
"path": "10.4.6/app/common/model/CountryModel.php",
"chars": 2237,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\Model;\n\n/**\n * @title 国家模型\n * @desc 国家模型\n * @use app\\co"
},
{
"path": "10.4.6/app/common/model/EmailTemplateModel.php",
"chars": 6093,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse app\\common\\logic\\EmailLogic;\n/**\n * @title 邮件模板模型\n"
},
{
"path": "10.4.6/app/common/model/FeedbackModel.php",
"chars": 4169,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 意见反馈模型\n *"
},
{
"path": "10.4.6/app/common/model/FeedbackTypeModel.php",
"chars": 3501,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 意见反馈类型模型\n * @desc 意见反馈类型模型\n * @use app\\common\\model\\F"
},
{
"path": "10.4.6/app/common/model/FileLogModel.php",
"chars": 681,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\Model;\nuse think\\facade\\Db;\n\n/**\n * @title 文件表\n * @desc"
},
{
"path": "10.4.6/app/common/model/FriendlyLinkModel.php",
"chars": 4797,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 友情链接模型\n *"
},
{
"path": "10.4.6/app/common/model/HonorModel.php",
"chars": 4583,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 荣誉资质模型\n *"
},
{
"path": "10.4.6/app/common/model/HostIpModel.php",
"chars": 5014,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 产品IP模型\n * @desc 产品IP模型\n * @use app\\common\\model\\HostI"
},
{
"path": "10.4.6/app/common/model/HostModel.php",
"chars": 85155,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse app\\common\\logic\\ResModuleLogic;\nuse think\\db\\Query;\nuse think\\Model;\nuse think\\D"
},
{
"path": "10.4.6/app/common/model/IcpServiceProductModel.php",
"chars": 7493,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-ICP"
},
{
"path": "10.4.6/app/common/model/IndexBannerModel.php",
"chars": 10288,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-首页轮"
},
{
"path": "10.4.6/app/common/model/MenuModel.php",
"chars": 55316,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse app\\admin\\model\\PluginModel;\nuse app\\admin\\model\\A"
},
{
"path": "10.4.6/app/common/model/NavModel.php",
"chars": 4233,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse app\\admin\\model\\PluginModel;\nuse think\\Model;\nuse think\\Db;\n\n/**\n * @title 默认导航模型"
},
{
"path": "10.4.6/app/common/model/NoticeSettingModel.php",
"chars": 20157,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\nuse app\\admin\\model\\PluginModel;\nuse app\\common\\model\\"
},
{
"path": "10.4.6/app/common/model/OrderItemModel.php",
"chars": 756,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\Db;\n\n/**\n * @title 订单子项模型\n * @desc 订单子项模型\n * @use app\\comm"
},
{
"path": "10.4.6/app/common/model/OrderModel.php",
"chars": 149015,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\db\\Where;\nuse think\\Exception;\nuse think\\Model;\nuse app"
},
{
"path": "10.4.6/app/common/model/OrderTmpModel.php",
"chars": 27161,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse app\\admin\\model\\PluginModel;\nuse think\\Exception;\nuse think\\Model;\n\n/**\n * @title"
},
{
"path": "10.4.6/app/common/model/PartnerModel.php",
"chars": 5022,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 合作伙伴模型\n *"
},
{
"path": "10.4.6/app/common/model/PhysicalServerAreaModel.php",
"chars": 6491,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-物理服"
},
{
"path": "10.4.6/app/common/model/PhysicalServerBannerModel.php",
"chars": 9883,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-物理服"
},
{
"path": "10.4.6/app/common/model/PhysicalServerDiscountModel.php",
"chars": 5695,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-物理服"
},
{
"path": "10.4.6/app/common/model/PhysicalServerProductModel.php",
"chars": 18481,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\nuse app\\common\\model\\Pro"
},
{
"path": "10.4.6/app/common/model/ProductDurationRatioModel.php",
"chars": 6197,
"preview": "<?php \nnamespace app\\common\\model;\n\nuse think\\Model;\nuse think\\facade\\Db;\nuse app\\common\\model\\ProductModel;\n\n/**\n * @ti"
},
{
"path": "10.4.6/app/common/model/ProductGroupModel.php",
"chars": 18718,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\Model;\n\n/**\n * @title 商品组模型\n * @desc 商品组模型\n * @use app\\"
},
{
"path": "10.4.6/app/common/model/ProductModel.php",
"chars": 88784,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse app\\admin\\model\\PluginModel;\nuse think\\db\\Query;\nuse think\\facade\\Db;\nuse think\\M"
},
{
"path": "10.4.6/app/common/model/ProductUpgradeProductModel.php",
"chars": 375,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 商品升级商品模型\n * @desc 商品升级商品模型\n * @use app\\common\\model\\P"
},
{
"path": "10.4.6/app/common/model/RefundRecordModel.php",
"chars": 16921,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse app\\admin\\model\\PluginModel;\nuse think\\Exception;\nuse think\\Model;\nuse think\\Db;\n"
},
{
"path": "10.4.6/app/common/model/SelfDefinedFieldModel.php",
"chars": 43904,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 自定义字段模型\n * @desc 自定义字段模型\n * @use app\\common\\model\\Sel"
},
{
"path": "10.4.6/app/common/model/SelfDefinedFieldValueModel.php",
"chars": 1293,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\Model;\n\n/**\n * @title 自定义字段值模型\n * @desc 自定义字段值模型\n * @use app\\common\\model\\S"
},
{
"path": "10.4.6/app/common/model/SeoModel.php",
"chars": 5888,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title SEO模型\n * "
},
{
"path": "10.4.6/app/common/model/ServerGroupModel.php",
"chars": 8831,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\Model;\n\n/**\n * @title 接口分组模型\n * @desc 接口分组模型\n * @use ap"
},
{
"path": "10.4.6/app/common/model/ServerHostingAreaModel.php",
"chars": 5186,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-服务器"
},
{
"path": "10.4.6/app/common/model/ServerHostingProductModel.php",
"chars": 14351,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\nuse app\\common\\model\\Pro"
},
{
"path": "10.4.6/app/common/model/ServerModel.php",
"chars": 12584,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\Model;\nuse app\\common\\logic\\ModuleLogic;\n\n/**\n * @title"
},
{
"path": "10.4.6/app/common/model/SideFloatingWindowModel.php",
"chars": 7486,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\n\n/**\n * @title 模板控制器-侧边浮"
},
{
"path": "10.4.6/app/common/model/SmsServiceProductModel.php",
"chars": 7963,
"preview": "<?php\nnamespace app\\common\\model;\n\nuse think\\db\\Query;\nuse think\\facade\\Cache;\nuse think\\Model;\nuse app\\common\\model\\Pro"
}
]
// ... and 5264 more files (download for full content)
About this extraction
This page contains the full source code of the idcsmart/ZJMF-CBAP GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5464 files (127.3 MB), approximately 26.8M tokens, and a symbol index with 71015 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.