diff --git a/10.3.4/app/api/controller/HostController.php b/10.3.4/app/api/controller/HostController.php
deleted file mode 100644
index 310e115b..00000000
--- a/10.3.4/app/api/controller/HostController.php
+++ /dev/null
@@ -1,18 +0,0 @@
-request->param();
- $data = [
- 'title'=>'首页-智简魔方',
- ];
-
- $data['template_catalog'] = 'web';
- //$tplName = empty($param['view_html'])?'index':$param['view_html'];
-
- if(empty($param['html'])){
- $tplName = 'index';
- }else if(!empty($param['html3'])){
- $tplName = $param['html']."/".$param['html2']."/".$param['html3'];
- }else if(!empty($param['html2'])){
- $tplName = $param['html']."/".$param['html2'];
- }else{
- $tplName = $param['html'];
- }
-
- if (isset($param['theme']) && !empty($param['theme'])){
- cookie('web_theme',$param['theme']);
- $data['themes'] = $param['theme'];
- } elseif (cookie('web_theme')){
- $data['themes'] = cookie('web_theme');
- } else{
- $data['themes'] = configuration('web_theme');
- }
-
- if($tplName=='index'){
- $view_path = '../public/web/'.$data['themes'].'/';
- //header('location:/theme/index.html');die;
- //$view_path = '../public/theme/';
- }else{
- $view_path = '../public/web/'.$data['themes'].'/';
- }
-
- if(!file_exists($view_path.$tplName)){
- $theme_config=$this->themeConfig($view_path);
- if(!empty($theme_config['config-parent-theme'])){
- $view_path = '../public/web/'.$theme_config['config-parent-theme'].'/';
- }
- }
-
- $PluginModel = new PluginModel();
- $addons = $PluginModel->plugins('addon');
-
- $data['addons'] = $addons['list'];
-
- $config['view_path'] = $view_path;
- /*if($tplName=='index'){
- $config['view_suffix'] = 'html';
- }*/
- $config['view_suffix'] = 'html';
-
- View::config($config);
-
- return View::fetch("/".$tplName,$data);
- }
-
- /*public function plugin()
- {
- $param = $this->request->param();
- $plugin_id = $param['plugin_id'];
- $tplName = empty($param['view_html'])?'index':$param['view_html'];
- $addon = (new PluginModel())->plugins('addon')['list'];
- $addon = array_column($addon,'name','id');
- $name=parse_name($addon[$plugin_id]??'');
- if(empty($name)){
- throw new TemplateNotFoundException(lang('not_found'), $name);
- #exit('not found template1');
- }
- $tpl = '../public/plugins/addon/'.$name.'/template/web/';
-
- $data['template_catalog'] = 'web';
-
- if (isset($param['theme']) && !empty($param['theme'])){
- cookie('web_theme',$param['theme']);
- $data['themes'] = $param['theme'];
- } elseif (cookie('web_theme')){
- $data['themes'] = cookie('web_theme');
- } else{
- $data['themes'] = configuration('web_theme');
- }
-
- $PluginModel = new PluginModel();
- $addons = $PluginModel->plugins('addon');
-
- $data['addons'] = $addons['list'];
-
- if(file_exists($tpl.$tplName.".html")){
- $content=$this->view('header',$data);
- $content.=$this->pluginView($tplName,$data,$name);
- $content.=$this->view('footer',$data);
- return $content;
- }else{
- throw new TemplateNotFoundException(lang('not_found'), $tpl);
- #exit('not found template');
- }
-
- }
-
- private function view($tplName, $data){
- View::config(['view_path' => '../public/web/default/', 'view_suffix' => 'html']);
- return View::fetch('/'.$tplName,$data);
- }
-
- private function pluginView($tplName, $data, $name){
- View::config(['view_path' => '../public/plugins/addon/'.$name.'/template/web/', 'view_suffix' => 'html']);
- return View::fetch('/'.$tplName,$data);
- }*/
- //模板继承文件读取
- private function themeConfig($file){
- $theme=$file.'/theme.config';$themes=[];
- if(file_exists($theme)){
- $theme=file_get_contents($theme);
-
- $theme=explode("\r\n",$theme);
- $theme=array_filter($theme);
-
- foreach($theme as $v){
- $theme_config=explode(":",$v);
- $themes[trim($theme_config[0])]=trim(trim(trim($theme_config[1],"'"),'"'));
- }
- }
- return $themes;
- }
-}
diff --git a/10.3.4/public/admin/language/zh-hk.php b/10.3.4/public/admin/language/zh-hk.php
deleted file mode 100644
index 54c06d50..00000000
--- a/10.3.4/public/admin/language/zh-hk.php
+++ /dev/null
@@ -1,946 +0,0 @@
- '中文繁體',//用于在语言切换下拉中显示
- 'display_flag' => 'CN',//用于显示图片,使用国家代码大写
- 'not_found' => '页面找不到了',
-
-
- 'success_message' => '请求成功',
- 'fail_message' => '请求失败',
- 'create_success' => '创建成功',
- 'create_fail' => '创建失败',
- 'delete_success' => '删除成功',
- 'delete_fail' => '删除失败',
- 'update_success' => '修改成功',
- 'update_fail' => '修改失败',
- 'save_success' => '保存成功',
- 'save_fail' => '保存失败',
- 'register_success' => '注册成功',
- 'register_fail' => '注册失败',
- 'pay_success' => '支付成功',
- 'pay_fail' => '支付失败',
- 'id_error' => 'ID错误',
- 'param_error' => '参数错误',
- 'cannot_repeat_opreate' => '不可重复操作',
- 'disable_success' => '禁用成功',
- 'disable_fail' => '禁用失败',
- 'enable_success' => '启用成功',
- 'enable_fail' => '启用失败',
- 'login_success' => '登录成功',
- 'login_fail' => '登录失败',
- 'move_success' => '移动成功',
- 'move_fail' => '移动失败',
- 'file_name_error' => '文件名不允许包含!@^&"\'/\\',
- 'file_mime_error' => '文件mime类型错误',
- 'file_less_than_150M' => '文件大小不超过150M',
- 'upload_success' => '上传成功',
- 'upload_fail' => '上传失败',
- 'file_is_not_exist' => '文件不存在',
- 'buy_fail' => '购买失败',
- 'buy_success' => '购买成功',
- 'client_credit_fail' => '用户余额修改失败',
- 'client_credit_success' => '用户余额修改成功',
- 'missing_route_paramters' => '缺少路由参数{param}',
- 'range_of_values' => '{key}取值范围:{value}',
- 'gateway_error' => '支付接口错误',
- 'login_unauthorized' => '未授权',
- 'remember_password_value_0_or_1' => '记住密码取值为0或1',
- 'password_is_change_please_login_again' => '密码已修改,请重新授权',
- 'logout_success' => '成功退出',
- 'inconsistent_login_ip' => '登录ip不一致',
- 'login_user_ID_is_inconsistent' => '登录用户ID不一致',
- 'log_out_automatically_after_2_hours_without_operation' => '2个小时未操作自动退出登录',
- 'login_captcha' => '请输入图形验证码',
- 'login_captcha_token' => '请输入图形验证码唯一识别码',
- 'login_captcha_error' => '行为验证码错误,请查看配置是否正确',
- 'login_phone_code_require' => '请选择国家区号',
- 'login_phone_code_error' => '国家区号错误',
- 'login_phone_require' => '请输入手机号',
- 'login_phone_is_not_right' => '请输入手机号',
- 'login_phone_is_not_register' => '手机号未注册',
- 'login_client_is_disabled' => '该帐号已停用/关闭,请联系管理员处理',
- 'permission_denied' => '您没有访问【{name}】接口权限!',
-
- # 权限规则
- 'auth_rule_admin_list' => '管理员列表',
- 'auth_rule_admin_index' => '获取单个管理员',
- 'auth_rule_admin_create' => '添加管理员',
- 'auth_rule_admin_update' => '修改管理员',
- 'auth_rule_admin_delete' => '删除管理员',
- 'auth_rule_admin_status' => '管理员状态切换',
- 'auth_rule_admin_role_list' => '管理员分组列表',
- 'auth_rule_admin_role_index' => '获取单个管理员分组',
- 'auth_rule_admin_role_create' => '添加管理员分组',
- 'auth_rule_admin_role_update' => '修改管理员分组',
- 'auth_rule_admin_role_delete' => '删除管理员分组',
- 'auth_rule_client_list' => '用户列表',
- 'auth_rule_client_index' => '用户详情',
- 'auth_rule_client_create' => '新建用户',
- 'auth_rule_client_update' => '修改用户',
- 'auth_rule_client_delete' => '删除用户',
- 'auth_rule_client_status' => '用户状态切换',
- 'auth_rule_client_search' => '搜索用户',
- 'auth_rule_client_login' => '以用户登录',
- 'auth_rule_client_credit_list' => '用户余额变更记录列表',
- 'auth_rule_client_credit_update' => '更改用户余额',
- 'auth_rule_configuration_system' => '获取系统设置',
- 'auth_rule_configuration_system_update' => '保存系统设置',
- 'auth_rule_configuration_login' => '获取登录设置',
- 'auth_rule_configuration_login_update' => '保存登录设置',
- 'auth_rule_configuration_security' => '获取验证码设置',
- 'auth_rule_configuration_security_update' => '保存验证码设置',
- 'auth_rule_configuration_currency' => '获取货币设置',
- 'auth_rule_configuration_currency_update' => '保存货币设置',
- 'auth_rule_configuration_cron' => '获取自动化设置',
- 'auth_rule_configuration_cron_update' => '保存自动化设置',
- 'auth_rule_order_list' => '订单列表',
- 'auth_rule_order_index' => '订单详情',
- 'auth_rule_order_create' => '新建订单',
- 'auth_rule_order_upgrade_amount' => '获取升降级订单金额',
- 'auth_rule_order_amount_update' => '调整订单金额',
- 'auth_rule_order_status_paid' => '标记支付',
- 'auth_rule_order_delete' => '删除订单',
- 'auth_rule_transaction_list' => '交易流水列表',
- 'auth_rule_transaction_create' => '新增交易流水',
- 'auth_rule_transaction_delete' => '删除交易流水',
- 'auth_rule_host_list' => '产品列表',
- 'auth_rule_host_index' => '产品详情',
- 'auth_rule_host_update' => '修改产品',
- 'auth_rule_host_delete' => '删除产品',
- 'auth_rule_plugin_list' => '获取支付/短信/邮件/插件列表',
- 'auth_rule_plugin_setting' => '获取单个插件配置',
- 'auth_rule_plugin_status' => '禁用(启用)插件',
- 'auth_rule_plugin_install' => '插件安装',
- 'auth_rule_plugin_uninstall' => '插件卸载',
- 'auth_rule_plugin_setting_update' => '保存配置',
- 'auth_rule_email_template_list' => '邮件模板列表',
- 'auth_rule_email_template_create' => '创建邮件模板',
- 'auth_rule_email_template_index' => '获取单个邮件模板',
- 'auth_rule_email_template_update' => '编辑邮件模板',
- 'auth_rule_email_template_delete' => '删除邮件模板',
- 'auth_rule_email_template_test' => '测试邮件模板',
- 'auth_rule_sms_template_list' => '获取短信模板',
- 'auth_rule_sms_template_create' => '创建短信模板',
- 'auth_rule_sms_template_index' => '获取单个短信模板',
- 'auth_rule_sms_template_update' => '编辑短信模板',
- 'auth_rule_sms_template_delete' => '删除短信模板',
- 'auth_rule_sms_template_test' => '测试短信模板',
- 'auth_rule_notice_setting_list' => '发送管理',
- 'auth_rule_notice_setting_update' => '发送设置',
- 'auth_rule_task_list' => '任务列表',
- 'auth_rule_task_retry' => '任务重试',
- 'auth_rule_system_log_list' => '系统日志列表',
- 'auth_rule_email_log_list' => '邮件日志列表',
- 'auth_rule_sms_log_list' => '短信日志列表',
- 'auth_rule_product_list' => '商品列表',
- 'auth_rule_product_index' => '商品详情',
- 'auth_rule_product_create' => '新建商品',
- 'auth_rule_product_update' => '编辑商品',
- 'auth_rule_product_order' => '商品拖动排序',
- 'auth_rule_product_delete' => '删除商品',
- 'auth_rule_product_hidden' => '隐藏/显示商品',
- 'auth_rule_product_group_create' => '新建商品分组',
- 'auth_rule_product_group_move_product' => '移动商品至其他商品组',
- 'auth_rule_product_group_delete' => '删除商品分组',
- 'auth_rule_product_group_first_list' => '获取商品一级分组',
- 'auth_rule_product_group_second_list' => '获取商品二级分组',
- 'auth_rule_product_group_update' => '编辑商品分组',
- 'auth_rule_product_upgrade' => '获取商品关联的升降级商品',
- 'auth_rule_server_group_list' => '接口分组列表',
- 'auth_rule_server_group_create' => '新建接口分组',
- 'auth_rule_server_group_update' => '修改接口分组',
- 'auth_rule_server_group_delete' => '删除接口分组',
- 'auth_rule_server_list' => '接口列表',
- 'auth_rule_server_create' => '新建接口',
- 'auth_rule_server_update' => '编辑接口',
- 'auth_rule_server_delete' => '删除接口',
- 'auth_rule_server_status' => '获取接口连接状态',
- 'auth_rule_module_list' => '模块列表',
- 'auth_rule_host_module' => '产品内页模块',
- 'auth_rule_host_upgrade_config_option' => '产品升降级配置',
- 'auth_rule_host_upgrade_config_option_price' => '产品升降级配置计算价格',
- 'auth_rule_host_module_create' => '模块开通',
- 'auth_rule_host_module_suspend' => '模块暂停',
- 'auth_rule_host_module_unsuspend' => '模块解除暂停',
- 'auth_rule_host_module_terminate' => '模块删除',
- 'auth_rule_product_server_config_option' => '选择接口获取配置',
- 'auth_rule_product_config_option' => '商品配置页面',
- 'auth_rule_product_config_option_price' => '修改配置计算价格',
- 'auth_rule_get_admin_menu' => '获取后台导航',
- 'auth_rule_get_home_menu' => '获取前台导航',
- 'auth_rule_save_admin_menu' => '保存后台导航',
- 'auth_rule_save_home_menu' => '保存前台导航',
-
- #权限
- 'auth_user_management' => '用户管理',
- 'auth_user_list' => '用户列表',
- 'auth_view' => '查看',
- 'auth_add' => '新增',
- 'auth_user_details' => '用户详情',
- 'auth_management' => '管理',
- 'auth_delete' => '删除',
- 'auth_user_host' => '用户产品',
- 'auth_recharge_record' => '充值记录',
- 'auth_user_order' => '用户订单',
- 'auth_user_transaction' => '用户流水',
- 'auth_user_log' => '用户日志',
- 'auth_business_management' => '业务管理',
- 'auth_order_management' => '订单管理',
- 'auth_marker_payment' => '标记支付',
- 'auth_adjustment_amount' => '调整金额',
- 'auth_host_management' => '产品管理',
- 'auth_host_details' => '产品详情',
- 'auth_module_management' => '模块管理',
- 'auth_transaction' => '交易流水',
- 'auth_product_management' => '商品管理',
- 'auth_product_group' => '商品分组',
- 'auth_server_management' => '接口管理',
- 'auth_server_group' => '接口分组',
- 'auth_update' => '修改',
- 'auth_system_settings' => '系统设置',
- 'auth_login_settings' => '登录设置',
- 'auth_admin_settings' => '管理员设置',
- 'auth_admin_group' => '管理员分组',
- 'auth_security_settings' => '验证码设置',
- 'auth_currency_settings' => '货币设置',
- 'auth_payment_gateway' => '支付接口',
- 'auth_enable_disable' => '启用/停用',
- 'auth_install_uninstall_config' => '安装/卸载/配置',
- 'auth_notice' => '通知接口',
- 'auth_sms_notice' => '短信通知',
- 'auth_template_management' => '模板管理',
- 'auth_email_notice' => '邮件通知',
- 'auth_send_settings' => '发送设置',
- 'auth_task' => '任务',
- 'auth_log' => '日志',
- 'auth_system_log' => '系统日志',
- 'auth_notice_log' => '通知日志',
- 'auth_auto' => '自动化',
- 'auth_plugin' => '插件',
- 'auth_plugin_list' => '插件列表',
- 'auth_nav_management' => '导航管理',
-
- # 导航
- 'nav_user_management' => '用户管理',
- 'nav_user_list' => '用户列表',
- 'nav_business_management' => '业务管理',
- 'nav_order_management' => '订单管理',
- 'nav_host_management' => '产品管理',
- 'nav_transaction' => '交易流水',
- 'nav_product_management' => '商品管理',
- 'nav_server_management' => '接口管理',
- 'nav_server_group' => '接口分组',
- 'nav_system_settings' => '系统设置',
- 'nav_admin_settings' => '管理员设置',
- 'nav_security_settings' => '验证码设置',
- 'nav_currency_settings' => '货币设置',
- 'nav_payment_gateway' => '支付接口',
- 'nav_notice' => '通知接口',
- 'nav_sms_notice' => '短信通知',
- 'nav_email_notice' => '邮件通知',
- 'nav_send_settings' => '发送设置',
- 'nav_management' => '管理',
- 'nav_task' => '任务',
- 'nav_log' => '日志',
- 'nav_auto' => '自动化',
- 'nav_plugin' => '插件',
- 'nav_plugin_list' => '插件列表',
- 'nav_navigation' => '导航管理',
- 'nav_real_name_approval' => '实名认证',
-
-
- # 日志
- 'admin_enable_user' => '{admin}启用用户{client}',
- 'admin_disable_user' => '{admin}禁用用户{client}',
- 'admin_delete_user' => '{admin}删除用户{client}',
- 'admin_modify_user_profile' => '{admin}将{client}的{description}',
- 'admin_delete_user_host' => '{admin}将{client}的{host}删除',
- 'admin_adjust_user_order_price' => '{admin}将{client}的{order}的价格{old}改为{new}',
- 'admin_mark_user_order_payment_status' => '{admin}将{client}的{order}标记为已付款',
- 'admin_delete_user_order' => '{admin}将{client}的{order}删除',
- 'admin_delete_transaction' => '{admin}删除交易流水{transaction},流水所属用户为{client}',
- 'admin_add_transaction' => '{admin}新增交易流水{transaction},流水所属用户为{client}',
- 'admin_create_new_user' => '{admin}新建用户{client}',
- 'admin_create_new_purchase_order' => '{admin}新建新购订单{order},订单用户为{client}',
- 'admin_create_upgrade_order' => '{admin}新建升降级订单{order},订单用户为{client}',
- 'admin_create_renew_order' => '{admin}新建续费订单{order},订单用户为{client}',
- 'admin_create_artificial_order' => '{admin}新建人工订单{order},订单用户为{client}',
- 'admin_edit_email_template' => '{admin}编辑邮件模板:{template}',
- 'admin_delete_email_template' => '{admin}删除邮件模板:{template}',
- 'admin_create_email_template' => '{admin}创建邮件模板:{template}',
- 'admin_retry_task' => '{admin}重试任务:{task}{description}',
- 'admin_configuration_system' => '{admin}将系统设置的{description}',
- 'admin_configuration_login' => '{admin}将登录设置的{description}',
- 'admin_configuration_security' => '{admin}将验证码设置的{description}',
- 'admin_configuration_currency' => '{admin}将货币设置的{description}',
- 'admin_configuration_cron' => '{admin}将自动化设置的{description}',
- 'admin_configuration_send' => '{admin}将默认通知接口设置的{description}',
- 'admin_old_to_new' => '{field}的{old}改为{new}',
- 'admin_sms_template_log_create' => '{admin}短信接口"{sms_name}"创建模板"{sms_title}"成功',
- 'admin_sms_template_log_update' => '{admin}短信接口"{sms_name}"模板修改:{description}',
- 'admin_sms_template_log_delete' => '{admin}短信接口"{sms_name}"模板删除"{sms_title}"成功',
- 'admin_notice_send_log_update' => '{admin}发送设置,{description}',
- 'sub_account' => '(子账户)',
-
- 'client_username' => '姓名',
- 'client_email' => '邮箱',
- 'client_phone_code' => '国际电话区号',
- 'client_phone' => '手机号',
- 'client_company' => '公司',
- 'client_country' => '国家',
- 'client_address' => '地址',
- 'client_language' => '语言',
- 'client_notes' => '备注',
-
- 'host_product' => '商品',
- 'host_server' => '接口',
- 'host_name' => '标识',
- 'host_notes' => '备注',
- 'host_first_payment_amount' => '订购金额',
- 'host_renew_amount' => '续费金额',
- 'host_billing_cycle' => '计费方式',
- 'host_billing_cycle_free' => '免费',
- 'host_billing_cycle_onetime' => '一次性',
- 'host_billing_cycle_recurring_prepayment' => '周期先付',
- 'host_billing_cycle_recurring_postpaid' => '周期后付',
- 'host_active_time' => '开通时间',
- 'host_due_time' => '到期时间',
- 'host_status' => '状态',
- 'host_status_Unpaid' => '未付款',
- 'host_status_Pending' => '开通中',
- 'host_status_Active' => '使用中',
- 'host_status_Suspended' => '已暂停',
- 'host_status_Deleted' => '已删除',
- 'host_status_Failed' => '开通失败',
- 'host_status_Cancelled' => '已取消',
-
- 'admin_modify_host' => '{admin}将{host}的{description}',
-
-
- # 通用描述
- 'log_admin_update_description' => '{field}{old}为{new}',
-
- 'log_admin_login' => '{admin}登录系统',
- 'log_admin_login_not_exist' => '{admin}登录系统失败,管理员不存在',
- 'log_admin_login_disabled' => '{admin}登录系统失败,已被禁用',
- 'log_admin_login_password_error' => '{admin}登录系统失败,密码不正确',
- 'log_admin_logout' => '{admin}注销登录',
- 'log_login_by_client' => '{admin}用{client}登录前台系统',
- 'log_create_admin' => '{admin}添加管理员{name}',
- 'log_update_admin' => '{admin}修改管理员信息{name}:{description}',
- 'log_update_admin_description' => '{field}为{content}',
- 'admin_disable_admin' => '{admin}启用管理员{name}',
- 'admin_enable_admin' => '{admin}禁用管理员{name}',
- 'admin_delete_admin' => '{admin}删除管理员{name}',
- 'admin_create_admin_role' => '{admin}添加人员分组{name}',
- 'admin_update_admin_role' => '{admin}修改人员分组{name}',
- 'admin_delete_admin_role' => '{admin}删除人员分组{name}',
- 'log_change_password' => '修改密码',
-
- 'admin_name' => '用户名',
- 'admin_password' => '密码',
- 'admin_email' => '邮箱',
- 'admin_nickname' => '名称',
- 'admin_status' => '状态',
- 'admin_role_id' => '分组ID',
-
- 'log_admin_create_product' => '{admin}新增商品{product}',
- 'log_admin_delete_product' => '{admin}删除商品{product}',
- 'log_admin_hidden_product' => '{admin}隐藏商品{product}',
- 'log_admin_show_product' => '{admin}显示商品{product}',
- 'log_admin_update_product' => '{admin}修改商品{product}:{description}',
- 'log_admin_update_product_upgrade_product' => '升级商品ID{old}为{new}',
-
- 'field_product_name' => '名称',
- 'field_product_product_group_id' => '分组ID',
- 'field_product_description' => '描述',
- 'field_product_hidden' => '是否隐藏',
- 'field_product_stock_control' => '库存控制',
- 'field_product_qty' => '库存数量',
- 'field_product_creating_notice_sms' => '开通中短信通知是否开启',
- 'field_product_creating_notice_sms_api' => '开通中短信通知接口',
- 'field_product_creating_notice_sms_api_template' => '开通中短信通知接口模板',
- 'field_product_created_notice_sms' => '已开通短信通知是否开启',
- 'field_product_created_notice_sms_api' => '已开通短信通知接口',
- 'field_product_created_notice_sms_api_template' => '已开通短信通知接口模板',
- 'field_product_creating_notice_mail' => '开通中邮件通知是否开启',
- 'field_product_creating_notice_mail_template' => '开通中邮件通知模板',
- 'field_product_created_notice_mail_template' => '已开通邮件通知模板',
- 'field_product_pay_type' => '付款类型',
- 'field_product_auto_setup' => '是否自动开通',
- 'field_product_type' => '关联类型',
- 'field_product_rel_id' => '关联ID',
-
- 'log_admin_create_product_group' => '{admin}新增商品分组{product_group}',
- 'log_admin_update_product_group' => '{admin}修改商品分组名称{old}为{new}',
- 'log_admin_delete_product_group' => '{admin}删除商品分组{product_group}',
-
- 'log_admin_plugin_gateway' => '支付',
- 'log_admin_plugin_sms' => '短信',
- 'log_admin_plugin_mail' => '邮件',
- 'log_admin_plugin_addon' => '插件',
- 'log_admin_install_plugin' => '{admin}安装{module}接口:{name}',
- 'log_admin_uninstall_plugin' => '{admin}卸载{module}接口:{name}',
- 'log_admin_enable_plugin' => '{admin}启用{module}接口:{name}',
- 'log_admin_disable_plugin' => '{admin}禁用{module}接口:{name}',
- 'log_admin_config_plugin' => '{admin}配置{module}接口:{name}',
- 'log_admin_upgrade_plugin' => '{admin}升级{module}接口:{name}',
-
- # 用户管理
- 'client_is_not_exist' => '用户不存在',
- 'client_is_disabled' => '用户已被禁用',
- 'client_name_cannot_exceed_20_chars' => '用户姓名最多不能超过20个字符',
- 'please_enter_vaild_email' => '请输入正确的邮箱',
- 'email_has_been_registered' => '邮箱已被注册',
- 'please_select_phone_code' => '请选择国际电话区号',
- 'please_enter_vaild_phone' => '请输入正确的手机号',
- 'phone_has_been_registered' => '手机号已被注册',
- 'please_enter_password' => '请输入密码',
- 'password_formatted_incorrectly' => '密码格式错误,需为6~32位的字符',
- 'please_enter_password_again' => '请重复输入密码',
- 'passwords_not_match' => '两次输入的密码不一致',
- 'company_cannot_exceed_255_chars' => '公司最多不能超过255个字符',
- 'country_cannot_exceed_100_chars' => '国家最多不能超过100个字符',
- 'address_cannot_exceed_255_chars' => '地址最多不能超过255个字符',
- 'notes_cannot_exceed_1000_chars' => '备注最多不能超过1000个字符',
-
- # 用户余额管理
- 'insufficient_credit_deduction_failed' => '用户余额不足,扣费失败',
- 'please_enter_amount' => '请输入金额',
- 'amount_formatted_incorrectly' => '金额格式错误',
- 'please_enter_notes' => '请输入备注',
-
- # 订单管理
- 'order_is_not_exist' => '订单不存在',
- 'order_item_is_not_exist' => '订单子项不存在',
- 'order_item_cannot_update' => '非人工调整的订单子项不可修改',
- 'order_amount_adjustment_failed' => '订单金额调整失败,调整后的待付金额不得小于0',
- 'please_select_order_type' => '请选择订单类型',
- 'order_type_error' => '订单类型错误',
- 'please_select_order_status' => '请选择订单状态',
- 'order_status_error' => '订单状态错误',
- 'please_enter_description' => '请输入描述',
- 'description_cannot_exceed_1000_chars' => '描述最多不能超过1000个字符',
- 'order_already_paid' => '订单已付款,无需重复操作',
- 'order_already_paid_cannot_adjustment_amount' => '订单已付款,不可调整金额',
- 'hosts_under_activation_in_the_order' => '订单中存在开通中的产品,不可删除订单',
- 'please_select_order_delete_host' => '请选择是否删除订单下的产品',
- 'client_credit_is_0' => '余额为0',
- 'client_credit_is_used' => '您已使用过余额',
- 'recharge_order_cannot_use_credit' => '充值订单不可使用余额',
- 'active_host_can_be_upgraded' => '已开通的产品才可以升降级',
- 'host_cannot_be_upgraded_to_the_product' => '该产品不可升降级到选择的商品',
- 'please_select_host' => '请选择产品',
- 'host_id_error' => '产品ID错误',
- 'client_host_error' => '产品用户和选择的用户不一致',
- 'update_amount' => '调整金额',
-
- # 产品管理
- 'host_is_not_exist' => '产品不存在',
- 'please_select_product' => '请选择商品',
- 'product_id_error' => '商品ID错误',
- 'server_id_error' => '接口ID错误',
- 'host_name_cannot_exceed_100_chars' => '产品标识最多不能超过100个字符',
- 'please_enter_first_payment_amount' => '请输入订购金额',
- 'first_payment_amount_formatted_incorrectly' => '订购金额格式错误',
- 'please_enter_renew_amount' => '请输入续费金额',
- 'renew_amount_formatted_incorrectly' => '续费金额格式错误',
- 'please_select_billing_cycle' => '请选择计费周期',
- 'billing_cycle_error' => '计费周期错误',
- 'please_select_host_status' => '请选择产品状态',
- 'host_status_error' => '产品状态错误',
- 'active_time_formatted_incorrectly' => '开通时间格式错误',
- 'due_time_formatted_incorrectly' => '到期时间格式错误',
- 'order_is_paid_host_status_cannot_be_unpaid' => '订单已付款,产品状态不可修改为未付款',
- 'order_is_unpaid_host_status_cannot_be_paid' => '订单未付款,产品状态不可修改为未付款以外的状态',
- 'order_is_paid_host_amount_cannot_update' => '订单已付款,产品订购金额不可修改',
- 'host_opening_cannot_delete' => '开通中的产品不可删除',
- 'host_is_active' => '产品已开通',
- 'host_is_suspended' => '产品已暂停',
- 'host_is_not_active_cannot_suspend' => '产品未开通,不能暂停',
- 'host_is_already_unsuspend' => '产品已解除暂停',
- 'host_status_not_need_unsuspend' => '当前状态不需要解除暂停',
- 'please_select_suspend_type' => '请选择暂停类型',
- 'suspend_reason_length_cannot_exceed_1000_words' => '暂停原因不能超过1000个字',
-
- # 流水管理
- 'transaction_is_not_exist' => '交易流水不存在',
- 'please_select_gateway' => '请选择支付方式',
- 'please_enter_transaction_number' => '请输入交易流水号',
- 'transaction_number_formatted_incorrectly' => '交易流水号格式错误,只能为数字和字母',
- 'please_select_client' => '请选择用户',
- 'client_id_error' => '用户ID错误',
- 'gateway_is_not_exist' => '支付方式不存在',
-
- # 任务管理
- 'task_is_not_exist' => '任务不存在',
- 'task_has_been_retried' => '任务已经发起重试,不可再次发起',
- 'only_failed_task_can_retry' => '失败的任务才可以发起重试',
-
- # 系统设置
- 'configuration_log_switch_1' =>'开启',
- 'configuration_log_switch_0' =>'关闭',
- 'configuration_log_lang_admin' =>'后台默认语言',
- 'configuration_log_lang_home' =>'前台默认语言',
- 'configuration_log_lang_home_open' =>'是否允许用户选择语言',
- 'configuration_log_lang_home_open_0' =>'禁止',
- 'configuration_log_lang_home_open_1' =>'允许',
- 'configuration_log_maintenance_mode' =>'维护模式',
- 'configuration_log_maintenance_mode_message' =>'维护模式内容',
- 'configuration_log_website_name' =>'网站名称',
- 'configuration_log_website_url' =>'网站域名地址',
- 'configuration_log_terms_service_url' =>'服务条款地址',
- 'configuration_log_terms_privacy_url' =>'隐私条款地址',
- 'configuration_log_system_logo' =>'系统LOGO',
- 'configuration_admin_default_language_cannot_empty' => '后台默认语言不能为空',
- 'configuration_admin_default_language_error' => '后台默认语言设置错误',
- 'configuration_home_default_language_open_cannot_empty' => '前台多语言开关不能为空',
- 'configuration_home_default_language_error' => '前台多语言设置错误',
- 'configuration_home_default_language_open' => '前台多语言开关值只能是1或0',
- 'configuration_home_default_language_cannot_empty' => '前台默认语言不能为空',
- 'configuration_maintenance_mode_cannot_empty' => '维护模式开关不能为空',
- 'configuration_maintenance_mode' => '维护模式开关值只能是1或0',
- 'configuration_website_name' => '网站名称不能为空',
- 'configuration_website_name_cannot_exceed_255_chars' => '网站名称最多不能超过255个字符',
- 'configuration_website_url' => '网站域名地址不能为空',
- 'configuration_website_url_cannot_exceed_255_chars' => '网站域名地址最多不能超过255个字符',
- 'configuration_website_url_error' => '请输入这样https://wwww.a.com的域名地址',
- 'configuration_terms_service_url_cannot_exceed_255_chars' => '服务条款地址最多不能超过255个字符',
- 'configuration_terms_privacy_url' => '隐私条款地址不能为空',
- 'configuration_terms_privacy_url_cannot_exceed_255_chars' => '隐私条款地址最多不能超过255个字符',
- 'configuration_system_logo' => '请选择系统LOGO',
- # 登录设置
- 'configuration_log_register_phone' =>'手机是否支持注册',
- 'configuration_log_register_email' =>'邮箱是否支持注册',
- 'configuration_log_login_phone_verify' =>'手机是否支持免密码登录',
- 'configuration_log_register_1' =>'是',
- 'configuration_log_register_0' =>'否',
- 'configuration_register_email_cannot_empty' => '邮箱注册开关不能为空',
- 'configuration_register_email' => '邮箱注册开关值只能是1或0',
- 'configuration_register_phone_cannot_empty' => '手机号注册开关不能为空',
- 'configuration_register_phone' => '手机号注册开关值只能是1或0',
- 'configuration_login_phone_verify_cannot_empty' => '手机号登录短信验证开关不能为空',
- 'configuration_login_phone_verify' => '手机号登录短信验证开关值只能是1或0',
- # 验证码设置
- 'configuration_log_captcha_client_register' =>'新用户注册启用图形验证码',
- 'configuration_log_captcha_client_login' =>'用户登录启用图形验证码',
- 'configuration_log_captcha_admin_login' =>'后台系统登录启用图形验证码',
- 'configuration_log_captcha_client_login_error' =>'客户登录失败时验证码',
- 'configuration_log_captcha_client_login_error_1' =>'失败三次后显示',
- 'configuration_log_captcha_client_login_error_0' =>'始终显示',
- 'configuration_log_captcha_width' =>'图形验证码宽度',
- 'configuration_log_captcha_height' =>'图形验证码高度',
- 'configuration_log_captcha_length' =>'图形验证码字符长度',
- 'configuration_log_code_client_email_register' =>'邮箱注册数字验证码',
- 'configuration_captcha_client_register_cannot_empty' => '客户注册图形验证码开关不能为空',
- 'configuration_captcha_client_register' => '客户注册图形验证码开关值只能是1或0',
- 'configuration_captcha_client_login_cannot_empty' => '客户登录图形验证码开关不能为空',
- 'configuration_captcha_client_login' => '客户登录图形验证码开关值只能是1或0',
- 'configuration_captcha_client_login_error_cannot_empty' => '客户登录失败图形验证码开关不能为空',
- 'configuration_captcha_client_login_error' => '客户登录失败图形验证码开关值只能是1或0',
- 'configuration_captcha_admin_login_cannot_empty' => '管理员登录图形验证码开关不能为空',
- 'configuration_captcha_admin_login' => '管理员登录图形验证码开关值只能是1或0',
- 'configuration_captcha_width_cannot_empty' => '图形验证码宽度不能为空',
- 'configuration_captcha_width' => '图形验证码宽度只能在200到400之间的数字',
- 'configuration_captcha_height_cannot_empty' => '图形验证码高度不能为空',
- 'configuration_captcha_height' => '图形验证码高度只能在50到100之间的数字',
- 'configuration_captcha_length_cannot_empty' => '图形验证码字符长度不能为空',
- 'configuration_captcha_length' => '图形验证码字符长度只能是在4到6之间的整数',
- # 货币设置
- 'configuration_log_currency_code' =>'货币代码',
- 'configuration_log_currency_prefix' =>'货币符号',
- 'configuration_log_currency_suffix' =>'货币后缀',
- 'configuration_log_recharge_open' =>'启用充值',
- 'configuration_log_recharge_min' =>'单笔最小金额',
- 'configuration_currency_code_cannot_empty' => '货币代码不能为空',
- 'configuration_currency_prefix_cannot_empty' => '货币符号不能为空',
- 'configuration_currency_suffix_cannot_empty' => '货币后缀不能为空',
- 'configuration_recharge_open_cannot_empty' => '启用充值开关不能为空',
- 'configuration_recharge_open' => '启用充值开关值只能是1或0',
- 'configuration_recharge_min_float' => '单笔最小金额必须大于零的数字',
- 'configuration_recharge_max_egt_recharge_min' => '单笔最大金额大于等于单笔最小金额',
- # 定时任务设置
- 'configuration_log_cron_due_suspend_swhitch' =>'产品暂停',
- 'configuration_log_cron_due_unsuspend_swhitch' =>'产品解除暂停',
- 'configuration_log_cron_due_terminate_swhitch' =>'产品删除',
- 'configuration_log_cron_due_renewal_first_swhitch' =>'第一次续费提醒',
- 'configuration_log_cron_due_renewal_second_swhitch' =>'第二次续费提醒',
- 'configuration_log_cron_overdue_first_swhitch' =>'第一次逾期提醒',
- 'configuration_log_cron_overdue_second_swhitch' =>'第二次逾期提醒',
- 'configuration_log_cron_overdue_third_swhitch' =>'第三次逾期提醒',
- 'configuration_log_cron_ticket_close_swhitch' =>'已回复工单关闭',
- 'configuration_log_cron_aff_swhitch' =>'推广成果',
- 'configuration_log_cron_order_overdue_swhitch' =>'订单未付款通知',
- 'configuration_log_cron_due_day' =>'天',
- 'configuration_log_cron_due_hour' =>'小时',
- 'configuration_cron_due_suspend_day_cannot_empty' => '产品到期暂停天数大于或等于0的整数',
- 'configuration_cron_due_terminate_day_cannot_empty' => '产品到期删除天数大于或等于0的整数',
- 'configuration_cron_due_renewal_first_day_cannot_empty' => '续费第一次提醒天数大于或等于0的整数',
- 'configuration_cron_due_renewal_second_day_cannot_empty' => '续费第二次提醒天数大于或等于0的整数',
- 'configuration_cron_overdue_first_day_cannot_empty' => '产品逾期第一次提醒天数大于或等于0的整数',
- 'configuration_cron_overdue_second_day_cannot_empty' => '产品逾期第二次提醒天数大于或等于0的整数',
- 'configuration_cron_overdue_third_day_cannot_empty' => '产品逾期第三次提醒天数大于或等于0的整数',
- 'configuration_cron_ticket_close_day_cannot_empty' => '已回复状态的工单提醒小时大于或等于0的整数',
- 'configuration_cron_order_overdue_day_cannot_empty' => '订单未付款通知天数大于或等于0的整数',
- 'configuration_cron_due_suspend_swhitch' => '产品到期暂停开关值只能是1或0',
- 'configuration_cron_due_unsuspend_swhitch' => '自动解除暂停开关值只能是1或0',
- 'configuration_cron_due_terminate_swhitch' => '产品到期删除开关值只能是1或0',
- 'configuration_cron_due_renewal_first_swhitch' => '续费第一次提醒开关值只能是1或0',
- 'configuration_cron_due_renewal_second_swhitch' => '续费第二次提醒开关值只能是1或0',
- 'configuration_cron_overdue_first_swhitch' => '产品逾期第一次提醒开关值只能是1或0',
- 'configuration_cron_overdue_second_swhitch' => '产品逾期第二次提醒开关值只能是1或0',
- 'configuration_cron_overdue_third_swhitch' => '产品逾期第三次提醒开关值只能是1或0',
- 'configuration_cron_ticket_close_swhitch' => '自动关闭工单开关值只能是1或0',
- 'configuration_cron_aff_swhitch' => '推介月报开关值只能是1或0',
- 'configuration_cron_order_overdue_swhitch' => '订单未付款通知开关值只能是1或0',
-
- 'configuration_cron_suspend_day_less_terminate_day' => '产品到期暂停天数应小于产品到期删除天数',
- 'configuration_cron_renewal_first_day_less_renewal_second_day' => '第一次续费提醒天数应大于第二次续费提醒天数',
- 'configuration_cron_overdue_day_less_terminate_day' => '第一次逾期提醒天数应小于第二次逾期提醒天数小于第三次逾期提醒天数小于产品到期删除天数',
-
- # 主题设置
- 'configuration_theme_admin_theme_cannot_empty' => '后台主题不能为空',
- 'configuration_theme_admin_theme_cannot_error' => '后台主题错误',
- 'configuration_theme_clientarea_theme_cannot_empty' => '会员中心主题不能为空',
- 'configuration_theme_clientarea_theme_cannot_error' => '会员中心主题错误',
-
- # 实名设置
- 'configuration_certification_open_require' => '实名认证是否开启必填',
- 'configuration_certification_approval_require' => '人工复审必填',
- 'configuration_certification_notice_require' => '审批通过后,是否通知客户必填',
- 'configuration_certification_update_client_name_require' => '是否自动更新姓名必填',
- 'configuration_certification_upload_require' => '是否需要上传证件照必填',
- 'configuration_certification_update_client_phone_require' => '手机一致性必填',
- 'configuration_certification_uncertified_suspended_host_require' => '未认证暂停产品必填',
-
-
- # 管理员与管理员分组
- 'super_admin_cannot_delete' => '超级管理员不可删除',
- 'super_admin_cannot_opreate' => '超级管理员不可操作',
- 'super_admin_role_cannot_delete' => '超级管理员分组不可删除',
- 'admin_is_not_exist' => '管理员不存在',
- 'admin_password_is_same' => '新旧密码一样',
- 'admin_role_name_cannot_empty' => '管理员分组名称不能为空',
- 'admin_role_name_at_least_1_chars' => '管理员分组名称至少1个字符',
- 'admin_role_name_cannot_exceed_50_chars' => '管理员分组名称最多不能超过50个字符',
- 'admin_role_description_cannot_exceed_1_chars' => '管理员分组描述至少1个字符',
- 'admin_role_description_cannot_exceed_1000_chars' => '管理员分组描述最多不能超过1000个字符',
- 'admin_role_create_success' => '已成功添加管理员分组',
- 'admin_role_is_not_exist' => '管理员分组不存在',
- 'admin_role_has_admin_cannot_delete' => '管理员分组下有管理员,无法删除',
- 'please_enter_admin_name' => '请填写管理员用户名',
- 'admin_name_at_least_1_chars' => '管理员用户名至少1个字符',
- 'admin_name_cannot_exceed_50_chars' => '管理员用户名最多不能超过50个字符',
- 'admin_name_unique' => '管理员用户名已存在',
- 'admin_email_unique' => '管理员邮箱已存在',
- 'please_enter_admin_nickname' => '请输入管理员名称',
- 'admin_nickname_cannot_exceed_20_chars' => '管理员名称最多不能超过20个字符',
- 'admin_nickname_at_least_1_chars' => '管理员名称至少1个字符',
- 'admin_is_disabled' => '管理员已被禁用',
- 'admin_name_or_password_error' => '账号或密码错误',
- 'auth_error' => '权限错误',
- 'supper_admin_cannot_update_role' => '不可修改超级管理员所属分组',
- 'default_admin_role_cannot_update' => '默认管理员分组不可修改',
-
- # 插件
- 'plugin_is_not_exist' => '插件不存在',
- 'plugin_is_installed' => '插件已安装',
- 'plugin_information_is_missing' => '插件信息缺失',
- 'plugin_install_success' => '插件安装成功',
- 'plugin_install_fail' => '插件安装失败',
- 'plugin_uninstall_success' => '插件卸载成功',
- 'plugin_uninstall_fail' => '插件卸载失败',
- 'plugin_uninstall_pre_fail' => '插件预卸载失败',
- 'plugin_uninstall_cannot' => '默认插件不能卸载',
- 'plugin_disabled_cannot' => '默认插件不能禁用',
- 'plugin_upgrade_pre_fail' => '插件预升级失败',
- 'plugin_upgrade_success' => '插件升级成功',
- 'plugin_upgrade_fail' => '插件升级失败',
- 'plugin_version_information_is_missing' => '插件版本信息缺失',
- 'plugin_can_not_upgrade' => '插件不可升级',
- 'plugin_new_version_get_fail' => '插件最新版本获取失败',
-
- # 商品与商品分组
- 'product_group_is_not_exist' => '商品分组不存在',
- 'please_enter_product_group_name' => '请填写商品分组名称',
- 'product_group_name_cannot_exceed_100_chars' => '商品分组名称最多不能超过100个字符',
- 'product_group_has_son_cannot_delete' => '商品分组下存在子分组,不可删除',
- 'product_group_has_product_cannot_delete' => '商品分组下存在商品,不可删除',
- 'please_enter_product_group_first' => '请传入一级分组ID',
- 'please_select_product_group_second' => '请选择商品二级分组',
- 'please_enter_product_name' => '请填写商品名称',
- 'product_name_cannot_exceed_100_chars' => '商品名称最多不能超过100个字符',
- 'product_is_not_exist' => '商品不存在',
- 'product_hidden' => '商品是否隐藏只能为0或1',
- 'product_stock_control' => '商品是否开启库存控制只能为0或1',
- 'product_creating_notice_sms' => '商品开通中短信通知是否开启只能为0或1',
- 'product_created_notice_sms' => '商品已开通短信通知是否开启只能为0或1',
- 'product_creating_notice_mail' => '商品开通中邮件通知是否开启只能为0或1',
- 'product_created_notice_mail' => '商品已开通邮件通知是否开启只能为0或1',
- 'product_qty_num' => '商品库存为自然数',
- 'product_creating_notice_sms_cannot_use' => '开通中短信通知接口不可用',
- 'product_created_notice_sms_cannot_use' => '已开通短信通知接口不可用',
- 'product_creating_notice_mail_cannot_use' => '开通中通知邮件接口不可用',
- 'product_created_notice_mail_cannot_use' => '已开通通知邮件接口不可用',
- 'product_creating_notice_sms_api_template_is_not_exist' => '开通中短信通知模板不存在',
- 'product_created_notice_sms_api_template_is_not_exist' => '已开通短信通知模板不存在',
- 'product_creating_notice_mail_template_is_not_exist' => '开通中邮件通知模板不存在',
- 'product_created_notice_mail_template_is_not_exist' => '已开通邮件通知模板不存在',
- 'pre_product_id_require' => '移动后前一个商品ID必传',
- 'pre_product_id_integer' => '移动后前一个商品ID为整数',
- 'product_group_id_require' => '移动后的商品组ID必传',
- 'product_group_id_integer' => '移动后的商品组ID为整数',
- 'product_is_not_in_product_group' => '移动后的商品不在移动后商品分组下',
- 'product_group_id_first_greater_than_0' => '一级分组ID大于0',
- 'product_description_max' => '商品描述不超过1000个字符',
- 'product_pay_type_require' => '商品费用类型必须',
- 'product_pay_type_in' => '商品费用类型为free,onetime,recurring_prepayment,recurring_postpaid',
- 'product_auto_setup_require' => '自动开通设置必须',
- 'product_auto_setup_in' => '自动开通设置为0或1',
- 'product_type_in' => '接口类型为server或server_group',
- 'product_type_require' => '接口类型必须',
- 'product_rel_id_require' => '关联ID必须',
- 'product_rel_id_integer' => '关联ID只能是整数',
- 'parent_product_id_integer' => '父级商品ID只能是整数',
- 'product_upgrade_product_is_not_exist' => '升级商品不存在',
- 'product_upgrade_product_cannot_self' => '升级商品不能是本商品',
- 'parent_product_is_not_exist' => '父级商品不存在',
- 'product_has_host' => '商品已使用,不可删除',
- 'pre_product_group_id_require' => '移动后前一个分组ID必传',
- 'pre_product_group_id_integer' => '移动后前一个分组ID为整数',
- 'pre_first_product_group_id_require' => '移动后的一级分组ID必传',
- 'pre_first_product_group_id_integer' => '移动后的一级分组ID为整数',
- 'first_product_group_is_not_exist' => '移动后的一级分组不存在',
- 'pre_product_group_is_not_exist' => '移动后前一个分组不存在',
- 'first_product_group_id_is_not_exist' => '一级分组不存在',
-
-
- # 邮件模板
- 'email_template_is_not_exist' => '邮件模板不存在',
- 'please_enter_email_name' => '请输入邮件名称',
- 'please_enter_email_subject' => '请输入邮件标题',
- 'email_name_cannot_exceed_100_chars' => '邮件名称最多不能超过100个字符',
- 'email_subject_cannot_exceed_100_chars' => '邮件标题最多不能超过100个字符',
- 'please_enter_email_message' => '请输入邮件内容',
- 'email_cannot_be_empty' => '邮箱不能为空',
- 'email_format_error' => '邮箱格式错误',
-
- # 短信模板
- 'sms_template_log_template_id' => '短信模板ID',
- 'sms_template_log_type' => '模板类型',
- 'sms_template_log_type_0' => '大陆',
- 'sms_template_log_type_1' => '国际',
- 'sms_template_log_title' => '模板标题',
- 'sms_template_log_content' => '模版内容',
- 'sms_template_log_notes' => '备注',
- 'sms_template_log_status' => '状态',
- 'sms_template_log_status_0' => '未提交',
- 'sms_template_log_status_1' => '审核中',
- 'sms_template_log_status_2' => '通过',
- 'sms_template_log_status_3' => '未通过',
- 'sms_template_is_not_exist' => '短信模板不存在',
- 'sms_template_review_before_sending' => '短信模板审核通过才能发短信',
- 'sms_template_cannot_be_modified' => '短信模板状态审核中,不能修改',
- 'sms_please_enter_sms_type' => '请选择短信模板区域',
- 'sms_type_must' => '请选择短信模板区域只能是1或0',
- 'sms_title_cannot_empty' => '请输入短信标题',
- 'sms_title_cannot_exceed_50_chars' => '短信标题最多不能超过50个字符',
- 'sms_please_enter_content' => '请输入短信内容',
- 'sms_content_cannot_exceed_255_chars' => '短信内容最多不能超过255个字符',
- 'sms_notes_cannot_exceed_1000_chars' => '短信备注最多不能超过1000个字符',
- 'sms_please_enter_sms_status' => '请选择短信模板状态',
- 'sms_status_error' => '短信模板状态错误,只能是0,2,3',
- 'sms_area_code_must_be_integer' => '短信区号必须是整数',
- 'sms_phone_number_cannot_be_empty' => '手机号不能为空',
- 'sms_phone_number_must_be_integer' => '手机号必须是整数',
-
- # 短信/邮件发送
- 'send_notice_log_sms_global_name' => '短信国际接口',
- 'send_notice_log_sms_global_template' => '短信国际接口模板',
- 'send_notice_log_sms_name' => '短信国内接口',
- 'send_notice_log_sms_template' => '短信国内接口模板',
- 'send_notice_log_email_name' => '邮件接口',
- 'send_notice_log_email_template' => '邮件接口模板',
- 'send_wrong_action_name' => '动作名称错误',
- 'send_sms_success' => '短信发送成功',
- 'send_sms_error' => '短信发送失败',
- 'send_sms_area_code_error' => '区号错误',
- 'send_sms_interface_is_not_exist' => '短信接口不存在',
- 'send_sms_interface_not_supported' => '短信接口不支持',
- 'send_sms_interface_is_not_exist_domestic' => '国内短信接口不存在',
- 'send_sms_interface_is_disabled_domestic' => '国内短信接口已禁用',
- 'send_sms_interface_not_installed_domestic' => '国内短信接口未安装',
- 'send_sms_interface_is_not_exist_global' => '国际短信接口不存在',
- 'send_sms_interface_is_disabled_global' => '国际短信接口已禁用',
- 'send_sms_interface_not_installed_global' => '国际短信接口未安装',
- 'send_sms_action_not_enabled' => '短信发送动作未开启',
- 'send_sms_interface_not_set_domestic' => '国内短信发送接口未设置',
- 'send_sms_template_not_set_domestic' => '国内短信发送模板未设置',
- 'send_sms_template_is_not_exist_domestic' => '国内短信模板不存在',
- 'send_sms_interface_not_set_global' => '国际短信发送接口未设置',
- 'send_sms_template_not_set_global' => '国际短信发送模板未设置',
- 'send_sms_template_is_not_exist_global' => '国际短信模板不存在',
- 'send_mail_success' => '邮件发送成功',
- 'send_mail_error' => '邮件发送失败',
- 'send_mail_interface_is_not_exist' => '邮件接口不存在',
- 'send_mail_interface_not_supported' => '邮件接口不支持',
- 'send_mail_interface_is_disabled' => '邮件接口已禁用',
- 'send_mail_interface_not_installed_' => '邮件接口未安装',
- 'send_mail_action_not_enabled' => '邮件发送动作未开启',
- 'send_mail_interface_not_set' => '邮件发送接口未设置',
- 'send_mail_template_not_set' => '邮件发送模板未设置',
- 'email_cancel_send' => '邮件取消发送',
- 'sms_cancel_send' => '短信取消发送',
-
-
- # 发送管理
- 'notice_action_code'=>'验证码',
- 'notice_action_client_login_success'=>'用户登录',
- 'notice_action_client_register_success'=>'用户注册',
- 'notice_action_client_change_phone'=>'用户更改手机',
- 'notice_action_client_change_email'=>'用户更改邮箱',
- 'notice_action_client_change_password'=>'用户更改密码',
- 'notice_action_order_create'=>'订单创建',
- 'notice_action_host_pending'=>'产品开通中',
- 'notice_action_host_active'=>'开通成功',
- 'notice_action_host_suspend'=>'产品暂停通知',
- 'notice_action_host_unsuspend'=>'产品解除暂停通知',
- 'notice_action_host_terminate'=>'产品删除通知',
- 'notice_action_host_upgrad'=>'产品升降级',
- 'notice_action_admin_create_account'=>'超级管理员添加后台管理员',
- 'notice_action_host_renewal_first'=>'第一次续费提醒',
- 'notice_action_host_renewal_second'=>'第二次续费提醒',
- 'notice_action_host_overdue_first'=>'逾期付款第一次提醒',
- 'notice_action_host_overdue_second'=>'逾期付款第二次提醒',
- 'notice_action_host_overdue_third'=>'逾期付款第三次提醒',
- 'notice_action_order_overdue'=>'订单未付款通知',
- 'notice_action_admin_order_amount'=>'订单金额修改',
- 'notice_action_order_pay'=>'订单支付通知',
- 'notice_action_order_recharge'=>'充值成功通知',
- 'notice_setting_sms_global_template_error' => '国际短信模板ID错误',
- 'notice_setting_sms_template_error' => '国内短信模板ID错误',
- 'notice_setting_email_template_error' => '邮件接口模板ID错误',
- 'notice_setting_sms_enable_error' => '短信启用参数只能是1或0',
- 'notice_setting_email_enable_error' => '邮件启用参数只能是1或0',
- 'notice_setting_name_not_exist' => '动作名称不能为空',
-
- # 接口管理
- 'module_error' => '模块类型错误',
- 'server_is_not_exist' => '接口不存在',
- 'server_is_used_for_host_cannot_delete' => '产品正在使用该接口,不能删除',
- 'server_is_used_for_product_cannot_delete' => '商品正在使用该接口,不能删除',
- 'please_enter_server_name' => '请填写接口名称',
- 'server_name_at_least_1_chars' => '接口名称至少1个字符',
- 'server_name_cannot_exceed_50_chars' => '接口名称最多不能超过50个字符',
- 'please_select_module' => '请选择模块类型',
- 'module_at_least_1_chars' => '模块类型至少1个字符',
- 'module_cannot_exceed_100_chars' => '模块类型最多不能超过100个字符',
- 'please_enter_url' => '请填写地址',
- 'please_enter_an_right_url' => '请输入正确的地址',
- 'server_username_cannot_exceed_100_chars' => '用户名最多不能超过100个字符',
- 'server_password_cannot_exceed_100_chars' => '密码最多不能超过100个字符',
- 'server_status_only_zero_or_one' => '是否启用只能是0或1',
- 'select_server_used_or_not_found' => '所选接口已使用或不存在',
- 'select_server_module_is_different' => '所选接口模块不同',
- 'server_group_not_found' => '接口分组不存在',
- 'server_group_is_used_for_product_cannot_delete' => '商品正在使用该接口分组,不能删除',
- 'server_group_have_server_cannot_delete' => '该分组下有接口则不能删除分组',
- 'please_enter_server_group_name' => '请输入接口分组名称',
- 'server_group_name_at_least_1_chars' => '接口分组名称至少1个字符',
- 'server_group_name_cannot_exceed_50_chars' => '接口分组名称最多不能超过50个字符',
- 'please_select_server' => '请选择接口',
- 'server_must_be_array' => '接口只能是数组',
- 'server_group_have_multi_server_cannot_modify_one_server_module' => '接口所属分组有其他接口,不能修改模块类型',
-
- # 模块功能
- 'undefined_test_connect_function' => '未定义测试连接方法',
- 'module_file_is_not_exist' => '模块文件不存在',
- 'module_create_success' => '开通成功',
- 'module_create_fail' => '开通失败',
- 'module_suspend_success' => '暂停成功',
- 'module_suspend_fail' => '暂停失败',
- 'module_unsuspend_success' => '解除暂停成功',
- 'module_unsuspend_fail' => '解除暂停失败',
- 'module_cannot_find_template_file' => '模块找不到对应模板文件',
- 'module_res_format_error' => '模块返回值格式错误',
- 'module_operate_success' => '操作成功',
- 'module_operate_fail' => '操作失败',
- 'module_test_connect_success' => '连接成功',
- 'module_test_connect_fail' => '连接失败',
-
- # 系统升级
- 'get_new_version_failed' => '未获取到最新系统版本号,请稍后重试',
- 'package_has_downloaded' => '安装包已下载',
- 'root_cannot_read_write' => '根目录不可读/写',
- 'upgrade_cannot_read_write' => '升级目录不可读/写',
- 'version_is_last' => '您的系统已经是最新版本,无需升级',
- 'open_remote_file_failed' => '打开远程文件失败!',
- 'download_sucesss' => '已成功下载',
- 'download_failed' => '下载压缩包失败',
- 'upgrade_download_not_exist' => '当前不存在升级下载任务',
- 'not_login_market_no_license' => '未登录应用商店,无识别码',
- 'not_order_service' => '未订购服务',
-
- # 导航管理
- 'nav_is_not_exist' => '默认导航不存在',
- 'product_error' => '商品错误',
-
- # 首页管理
- 'one_year_ago' => '一年前',
- 'day' => '天',
- 'hour' => '小时',
- 'minute' => '分钟',
- 'ago' => '前',
-
- # 实名认证
- 'certification_is_not_open' => '实名认证尚未开启',
- 'certification_approve' => '实名认证已通过',
- 'certification_reject' => '实名认证已驳回',
- 'certification_person_completed' => '账号已完成个人认证',
- 'certification_person_uncompleted' => '账号未完成个人认证',
- 'certification_plugin_name_require' => '请选择实名接口',
- 'certification_card_name_require' => '姓名必须',
- 'certification_card_name_max' => '姓名不超过255个字符',
- 'certification_card_type_require' => '证件类型必须',
- 'certification_card_type_in' => '证件类型为0或1',
- 'certification_card_number_require' => '证件号必须',
- 'certification_card_number_max' => '证件号不超过255个字符',
- 'certification_company_require' => '公司名称必须',
- 'certification_company_max' => '公司名称不超过255个字符',
- 'certification_company_organ_code_require' => '公司代码必须',
- 'certification_company_organ_code_max' => '公司代码不超过255个字符',
- 'certification_company_completed' => '账号已完成企业认证',
- 'certification_company_pending' => '企业认证待审核,不可提交',
- 'certification_company_post' => '企业认证已提交资料,不可提交',
- 'certification_card_number_other_client_used' => '身份证号已被他人使用',
- 'certification_must' => '必须',
- 'certification_upload' => '必须上传',
- 'certification_file_allow' => '文件名只允许数字,字母,还有汉字',
- 'certification_customfields_select_options' => '{title}在{options}之中',
- 'certification_phone_consistency' => '用户注册手机号需与实名手机号一致',
- 'certification_img_one' => '请上传身份证号正面照',
- 'certification_img_two' => '请上传身份证号反面照',
- 'certification_img_three' => '请上传营业执照',
- 'certification_info_post_again' => '请重新提交实名资料',
- 'personal' => '个人',
- 'company' => '公司',
-
- # 应用接口
- 'not_install_ioncube' => '未安装ionCube扩展不可安装应用',
- 'request_fail_http_code' => '请求失败,HTTP状态码:{code}',
- 'app_install_success' => '应用安装成功',
- 'app_download_fail' => '应用下载失败',
- 'app_unzip_fail' => '应用文件解压失败,失败code:{code},请到网站目录下解压下载的文件{file}',
-
- #
- 'log_module_create_account_success' => '产品{host}模块开通成功',
- 'log_module_create_account_failed' => '产品{host}模块开通失败,原因:{reason}',
- 'log_module_suspend_account_success' => '产品{host}模块暂停成功,暂停类型:{type},暂停原因:{reason}',
- 'log_module_suspend_account_failed' => '产品{host}模块暂停失败,原因:{reason}',
- 'log_module_unsuspend_account_success' => '产品{host}模块取消暂停成功',
- 'log_module_unsuspend_account_failed' => '产品{host}模块取消暂停失败,原因:{reason}',
- 'log_module_terminate_account_success' => '产品{host}模块删除成功',
- 'log_module_terminate_account_failed' => '产品{host}模块删除失败,原因:{reason}',
-
-];
diff --git a/10.3.4/public/admin/template/default/css/invoice_address.less b/10.3.4/public/admin/template/default/css/invoice_address.less
deleted file mode 100644
index 0f2a612a..00000000
--- a/10.3.4/public/admin/template/default/css/invoice_address.less
+++ /dev/null
@@ -1,12 +0,0 @@
-.invoice-address {
- .operation-icon {
- font-size: 18px;
- color: #0052D9;
- cursor: pointer;
- // margin-right: 15px;
- }
-}
-
-.t-dialog__body__icon {
- padding-bottom: 0;
-}
\ No newline at end of file
diff --git a/10.3.4/public/admin/template/default/js/configuration_upgrade.js b/10.3.4/public/admin/template/default/js/configuration_upgrade.js
deleted file mode 100644
index cb9c1c8e..00000000
--- a/10.3.4/public/admin/template/default/js/configuration_upgrade.js
+++ /dev/null
@@ -1,192 +0,0 @@
-(function (window, undefined) {
- var old_onload = window.onload
- window.onload = function () {
- const template = document.getElementsByClassName('configuration-system')[0]
- Vue.prototype.lang = window.lang
- Vue.prototype.moment = window.moment;
- const host = location.host
- const fir = location.pathname.split('/')[1]
- const str = `${host}/${fir}/`
- new Vue({
- data() {
- return {
- newList: [],
- isLoading: false,
- columns: [
- {
- colKey: 'title',
- title: lang.title,
- className: 'table-row',
- },
- {
- className: 'table-row',
- colKey: 'create_time',
- title: lang.release_time,
- },
- ],
- total: 0,
- pagination: {
- current: 1,
- pageSize: 10,
- showJumper: true,
- },
- adminArr: JSON.parse(localStorage.getItem('common_set')).lang_admin,
- homeArr: JSON.parse(localStorage.getItem('common_set')).lang_home,
- // 系统版本信息
- systemData: {},
- // 更新信息
- updateContent: {},
- isDown: false,
- updateData: {
- progress: '0.00%'
- },
- newListParams: {
- limit: 10,
- page: 1,
- parent_id: 3
- },
- isShowProgress: false,
- timer: null,
- hasUpdate: false,
- isCanUpdata: sessionStorage.isCanUpdata === 'true',
- }
-
- },
- methods: {
- // 获取版本信息
- async getVersion() {
- try {
- const res = await version()
- this.systemData = res.data.data
- if (this.systemData.is_download == 1) {
- this.isDown = true
- }
- // 判断版本是否可以更新
- this.hasUpdate = this.checkVersion(this.systemData.version, this.systemData.last_version)
- this.isCanUpdata = this.hasUpdate
- localStorage.setItem('systemData', JSON.stringify(this.systemData))
- sessionStorage.setItem('isCanUpdata', this.hasUpdate)
- } catch (error) {
-
- }
- },
- /**
- *
- * @param {string} nowStr 当前版本
- * @param {string} lastStr 最新版本
- */
- checkVersion(nowStr, lastStr) {
- const nowArr = nowStr.split('.')
- const lastArr = lastStr.split('.')
- let hasUpdate = false
- const nowLength = nowArr.length
- const lastLength = lastArr.length
-
- const length = Math.min(nowLength, lastLength)
- for (let i = 0; i < length; i++) {
- if (lastArr[i] - nowArr[i] > 0) {
- hasUpdate = true
- }
- }
- if (!hasUpdate && lastLength - nowLength > 0) {
- hasUpdate = true
- }
- return hasUpdate
- },
- // 获取更新信息
- getUpContent() {
- upContent().then(res => {
- if (res.data.status == 200) {
- this.updateContent = res.data.data
- localStorage.setItem('updateContent', JSON.stringify(this.updateContent))
- }
- })
- },
- // BaseTable 中只有 page-change 事件,没有 change 事件
- onPageChange(pageInfo) {
- this.pagination.current = pageInfo.current
- this.pagination.pageSize = pageInfo.pageSize
- this.newListParams.limit = pageInfo.pageSize
- this.newListParams.page = pageInfo.current
- this.fetchData()
- },
- async fetchData() {
- try {
- this.isLoading = true;
- // 请求可能存在跨域问题
- await newsList(this.newListParams).then((res) => {
- this.newList = res.data.data.list
- this.newList.forEach(item => {
- item.create_time = moment(item.create_time * 1000).format('YYYY-MM-DD HH:mm')
- })
- this.pagination.total = res.data.data.count
- })
- // 数据加载完成,设置数据总条数
- } catch (err) {
- this.data = [];
- }
- this.isLoading = false;
- },
- // 跳转到升级页面
- toUpdate() {
- location.href = '/upgrade/update.html'
- // location.href = 'update.htm'
- },
- onRowClick(item) {
- // window.open(`https://www.idcsmart.com/news_cont2/${item.row.id}.html`)
- window.open(`https://my.idcsmart.com/plugin/21/news_detail.htm?id=${item.row.id}`)
- },
- onRowMouseover(item) {
-
- },
- // 开始下载
- beginDown() {
- if (this.systemData.last_version == this.systemData.version) {
- this.$message.warning(lang.invoice_text27)
- return false
- }
-
- this.isShowProgress = true
- upDown().then(res => {
-
- if (res.data.status === 200) {
-
- }
- }).catch((error) => {
- this.$message.warning(error.data.msg)
- })
-
- // 轮询下载进度
- if (this.timer) {
- clearInterval(timer)
- }
- this.timer = setInterval(() => {
- upProgress().then(res => {
- if (res.data.status === 200) {
- this.updateData = res.data.data
- if (this.updateData.progress == '100.00%') {
- clearInterval(this.timer)
- this.isShowProgress = false
- this.isDown = true
- }
- }
- }).catch(error => {
- console.log(error.data.data);
- if (error.data.data == lang.invoice_text28) {
- this.isShowProgress = false
- clearInterval(this.timer)
- }
- })
- }, 2000)
- }
- },
- created() {
- this.getVersion()
- this.getUpContent()
- this.fetchData()
- document.title = lang.system_upgrade + '-' + localStorage.getItem('back_website_name')
- },
- }).$mount(template)
- typeof old_onload == 'function' && old_onload()
- };
-})(window);
diff --git a/10.3.4/public/admin/template/default/js/host_detail.js b/10.3.4/public/admin/template/default/js/host_detail.js
deleted file mode 100644
index 0778e34e..00000000
--- a/10.3.4/public/admin/template/default/js/host_detail.js
+++ /dev/null
@@ -1,994 +0,0 @@
-(function (window, undefined) {
- var old_onload = window.onload
- window.onload = function () {
- const template = document.getElementsByClassName('host-detail')[0]
- Vue.prototype.lang = window.lang
- Vue.prototype.moment = window.moment
- const host = location.origin
- const fir = location.pathname.split('/')[1]
- const str = `${host}/${fir}/`
- new Vue({
- data() {
- return {
- urlPath: url,
- baseUrl: str,
- id: '',
- client_id: '',
- data: [],
- tableLayout: false,
- bordered: true,
- visible: false,
- delVisible: false,
- hover: true,
- isLoading: false,
- diaTitle: '',
- isAgent: false,
- serverParams: {
- page: 1,
- limit: 20
- },
- serverGroupParams: {
- page: 1,
- limit: 20
- },
- total: 0,
- groupTotal: 0,
- loading: false,
- moneyLoading: false,
- statusVisble: false,
- title: '',
- delId: '',
- formData: {
- id: '',
- product_id: '',
- server_id: '',
- name: '',
- notes: '',
- first_payment_amount: '',
- renew_amount: '',
- billing_cycle: '',
- active_time: '',
- due_time: '',
- status: '',
- customfield: {},
- upstream_host_id: null
- },
- upData: {},
- status: [],
- rules: {
- name: [
- { validator: val => val.length <= 100, message: lang.verify3 + 100 }
- ],
- notes: [
- { validator: val => val.length <= 1000, message: lang.verify3 + 1000 }
- ],
- first_payment_amount: [
- { required: true, message: lang.input + lang.buy_amount, type: 'error' },
- {
- pattern: /^\d+(\.\d{0,2})?$/, message: lang.verify12, type: 'warning'
- },
- {
- validator: val => val >= 0, message: lang.verify12, type: 'warning'
- }
- ],
- renew_amount: [
- { required: true, message: lang.input + lang.renew_amount, type: 'error' },
- {
- pattern: /^\d+(\.\d{0,2})?$/, message: lang.verify12, type: 'warning'
- },
- {
- validator: val => val >= 0, message: lang.verify12, type: 'warning'
- }
- ]
- },
- // 变更记录
- logData: [],
- logCunt: 0,
- tableLayout: false,
- bordered: true,
- hover: true,
- statusTip: '',
- proList: [],
- currency_prefix: JSON.parse(localStorage.getItem('common_set')).currency_prefix,
- serverList: [],
- cycleList: [
- { value: 'free', label: lang.free },
- { value: 'onetime', label: lang.onetime },
- { value: 'recurring_prepayment', label: lang.recurring_prepayment },
- { value: 'recurring_postpaid', label: lang.recurring_postpaid },
- ],
- cycleObj: {
- free: lang.free,
- onetime: lang.onetime,
- recurring_prepayment: lang.recurring_prepayment,
- recurring_postpaid: lang.recurring_postpaid
- },
- done: false,
- popupProps: {
- overlayStyle: (trigger) => ({ width: `${trigger.offsetWidth}px` }),
- },
- config: '',
- // 续费相关
- renewVisible: false,
- renewList: [],
- curId: 1,
- renewTotal: '',
- pay: false,
- submitLoading: false,
- showId: [1, 2, 3],
- curRenew: {},
- curStatus: '',
- promoList: [],
- recordColumns: [
- {
- colKey: 'create_time',
- title: lang.use_time
- },
- {
- colKey: 'scene',
- title: lang.use_cycle
- },
- {
- colKey: 'order_id',
- title: lang.order_number
- },
- {
- colKey: 'promo',
- title: lang.promo_code,
- width: 220
- },
- ],
- recordLoading: false,
- hasPlugin: false,
- tempCycle: '',
- /* 1-7 */
- moduleVisible: false,
- suspendVisible: false,
- optTilte: '',
- optType: '', // create unsuspend delete
- suspendType: [
- {
- value: 'overdue',
- label: lang.overdue
- },
- {
- value: 'overtraffic',
- label: lang.overtraffic
- },
- {
- value: 'certification_not_complete',
- label: lang.certification_not_complete
- },
- {
- value: 'other',
- label: lang.other
- }
- ],
- suspendForm: {
- suspend_type: 'overdue',
- suspend_reason: ''
- },
- moduleLoading: false,
- isShowModule: false,
- optBtns: [],
- clientDetail: {},
- searchLoading: false,
- clientList: [],
- clinetParams: {
- page: 1,
- limit: 20,
- orderby: 'id',
- sort: 'desc'
- },
- hasTicket: false,
- authList: JSON.parse(
- JSON.stringify(localStorage.getItem("backAuth"))
- ),
- /* 新增下拉优化插件 */
- hasProPlugin: false,
- selectWay: '',
- visibleTree: false,
- productName: '',
- firstGroup: [],
- secondGroup: [],
- fir_pro: [], // 一级+商品
- second_pro: [], // 二级+商品
- fir_second_pro: [], // 一级+二级+商品
- isClick: false,
- clickExpand: [],
- hostFieldList: [],
- hostArr: [],
- tempHostId: null,
- // 手动资源
- hasResources: false,
- curResourcesId: '',
- resourceDialog: false,
- resourceList: [],
- resourceType: '', // allot free
- resourceTitle: '',
- resourceVisible: false,
- resourceId: '',
- resourcesColumns: [
- { colKey: 'dedicated_ip', title: 'IP', width: '120' },
- { colKey: 'power_status', title: lang.status },
- { colKey: 'configuration', title: lang.config, width: '200', ellipsis: true },
- { colKey: 'notes', title: lang.notes },
- // { colKey: 'ipmi', title: 'IPMI' },
- // { colKey: 'ipmi_auth', title: lang.ipmi_auth },
- { colKey: 'supplier', title: lang.manual_text10 },
- { colKey: 'cost', title: lang.manual_text11 },
- { colKey: 'user', title: lang.manual_text12, width: '200', ellipsis: true },
- { colKey: 'due_time', title: lang.due_time, width: '180' },
- { colKey: 'opt', title: lang.operation, width: '80' }
- ]
- }
- },
- watch: {
- 'formData.type': {
- immediate: true,
- handler(val) {
- this.curList = val === 'server' ? this.serverList : this.serverGroupList
- }
- },
- serverList() {
- this.done = this.serverList.length === this.total
- },
- curId: {
- handler(val) {
- this.curRenew = this.renewList[val - 1]
- }
- }
- },
- created() {
- const query = this.getUrlParams()
- this.client_id = query.client_id
- this.formData.id = this.id = query.id
- this.langList = JSON.parse(localStorage.getItem('common_set')).lang_home
- this.getClintList()
- this.getProDetail()
- this.getproModule()
- this.getUpHostDetail()
- this.getPlugin()
- const navList = JSON.parse(localStorage.getItem('backMenus'))
- let tempArr = navList.reduce((all, cur) => {
- cur.child && all.push(...cur.child)
- return all
- }, [])
- const curValue = tempArr.filter(item => item.url === 'client.htm')[0]?.id
- localStorage.setItem('curValue', curValue)
-
- this.getBtns()
- this.getUserDetail()
- this.getHostList()
- },
- computed: {
- calcStatus() {
- return status => {
- switch (status) {
- case 'on':
- return lang.manual_text14
- case 'off':
- return lang.manual_text15
- case 'error':
- return lang.manual_text16
- default:
- return '--'
- }
-
- }
- },
- disabled() {
- return this.formData.due_time === '' && this.formData.billing_cycle === 'onetime'
- },
- calcShow() {
- return (data) => {
- return `#${data.id}-` + (data.username ? data.username : (data.phone ? data.phone : data.email)) + (data.company ? `(${data.company})` : '')
- }
- },
- isExist() {
- return !this.clientList.find(item => item.id === this.clientDetail.id)
- },
- /* 04-12 */
- calcProduct() {
- switch (this.selectWay) {
- case 'first_group':
- return this.fir_pro;
- case 'second_group':
- return this.second_pro;
- case 'first_second_group':
- return this.fir_second_pro;
- }
- },
- calcName() {
- return (id) => {
- return this.proList.filter(item => item.id === id)[0]?.name
- }
- },
- calcExpand() {
- const arr = this.proList.filter(item => item.id === this.formData.product_id)
- return ['f' + arr[0]?.product_group_id_first, 's' + arr[0]?.product_group_id_second]
- }
- },
- mounted() {
- document.addEventListener('click', () => {
- this.visibleTree = false
- })
- this.$nextTick(() => {
- document.getElementById(`myPopup`).onclick = () => {
- event.stopPropagation()
- }
- })
- },
- methods: {
- /* 手动资源 */
- async getResourcesList() {
- try {
- const res = await getManualResource({ page: 1, limit: 1000 })
- this.resourceList = res.data.data.list
- this.resourceList.forEach(item => {
- getResourceStatus({id: item.id}).then(result => {
- item.power_status = result.data.data.status
- }).catch(err => {
- item.power_status = err.data.data.status
- })
- })
- } catch (error) {
-
- }
- },
- handlerDistribute() {
- this.resourceDialog = true
- },
- optItem(row, type) {
- this.resourceId = row.id
- this.resourceType = type
- if (type === 'allot') {
- this.resourceTitle = lang.sure_allot_resource
- } else {
- this.resourceTitle = lang.sure_free_resource
- }
- this.resourceVisible = true
- },
- async handlerResource() {
- try {
- const res = await changeResource(this.resourceType, {
- id: this.resourceId,
- host_id: this.id
- })
- this.$message.success(res.data.msg)
- this.resourceVisible = false
- this.getResourcesList()
- this.getHostField()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- /* 手动资源 end */
- goBack() {
- const url = sessionStorage.currentHostUrl || ''
- sessionStorage.removeItem('currentHostUrl')
- if (url) {
- location.href = url
- } else {
- window.history.back()
- }
- },
- goClient() {
- sessionStorage.removeItem('hostListParams')
- sessionStorage.removeItem('currentHostUrl')
- location.href = 'client.htm'
- },
- changePro() {
- this.id = this.formData.id
- location.href = `host_detail.htm?client_id=${this.client_id}&id=${this.id}`
- // this.getProDetail()
- // this.getproModule()
- // this.getUpHostDetail()
- },
- async getHostList() {
- try {
- const res = await getClientPro(this.id, { page: 1, limit: 9999, client_id: this.client_id })
- this.hostArr = res.data.data.list
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- /* 产品内页模块输入框输出 */
- getHostField() {
- hostField(this.id).then((res) => {
- this.hostFieldList = res.data.data || []
- this.hasResources = this.hostFieldList[0]?.field.reduce((all, cur) => {
- all.push(cur.key)
- return all
- }, []).includes('manual_resource')
- if (this.hasResources) {
- this.curResourcesId = this.hostFieldList[0]?.field.filter(item => item.key === 'manual_resource')[0]?.value
- this.getResourcesList()
- }
- })
- },
-
- /* 新增下拉优化插件 */
- // 获取一级分组
- async getFirPro() {
- try {
- const res = await getFirstGroup()
- this.firstGroup = res.data.data.list.map(item => {
- item.key = 'f' + item.id
- return item
- })
- return this.firstGroup
- } catch (error) {
- }
- },
- // 获取二级分组
- async getSecPro() {
- try {
- const res = await getSecondGroup()
- this.secondGroup = res.data.data.list.map(item => {
- item.key = 's' + item.id
- return item
- })
- return this.secondGroup
- } catch (error) {
- }
- },
- // 初始化
- init() {
- try {
- this.loading = true
- // 获取商品,一级,二级分组
- Promise.all([this.getProList(), this.getFirPro(), this.getSecPro()]).then(res => {
- // 一级+商品
- if (this.selectWay === 'first_group') {
- this.fir_pro = this.firstGroup.map(item => {
- item.children = []
- item.children.push(...this.proList.filter(el => el.product_group_id_first === item.id))
- return item
- }).filter(item => item.children.length > 0)
- } else if (this.selectWay === 'second_group') {
- // 二级+商品
- this.second_pro = this.secondGroup.map(item => {
- item.children = []
- item.children.push(...this.proList.filter(el => el.product_group_id_second === item.id))
- return item
- }).filter(item => item.children.length > 0)
- } else if (this.selectWay === 'first_second_group') {
- // 一二级+商品
- const fArr = res[1].map(item => {
- let secondArr = []
- res[2].forEach(sItem => {
- if (sItem.parent_id === item.id) {
- secondArr.push(sItem)
- }
- })
- item.children = secondArr
- return item
- })
- setTimeout(() => {
- this.fir_second_pro = fArr.map(item => {
- item.children.map(ele => {
- let temp = []
- res[0].forEach(e => {
- if (e.product_group_id_second === ele.id) {
- temp.push(e)
- }
- })
- ele.children = temp
- return ele
- })
- return item
- })
- }, 0)
- }
- })
- } catch (error) {
- console.log('@@@@', error)
- this.loading = false
- }
- },
- async getConfig() {
- try {
- const res = await getSelectConfig()
- this.selectWay = res.data.data.config
- } catch (error) {
- }
- },
- focusHandler() {
- this.visibleTree = true
- this.isClick = false
- },
- // 商品选择
- onClick(e) {
- if (!e.node.data.children) {
- const pName = e.node.data.name
- const pId = e.node.data.id
- this.productName = pName
- this.formData.product_id = pId
- this.visibleTree = false
- } else {
- this.isClick = true
- // if (Array.from(this.clickExpand).toString() == [e.node.value].toString()) {
- // this.clickExpand = []
- // } else {
- // if (this.selectWay === 'first_second_group' && Array.from(this.clickExpand).length < 2) {
- // this.clickExpand.push(e.node.value)
- // } else {
- // this.clickExpand = [e.node.value]
- // }
-
- // }
- }
- },
- getLabel(createElement, node) {
- const label = node.data.name
- const { data } = node
- data.label = label
- return label
- },
- /* 新增下拉优化插件 end*/
- changeUser(id) {
- this.id = id
- location.href = `client_host.htm?client_id=${this.client_id}`
- },
- async getUpHostDetail() {
- try {
- const res = await upHostDetail(this.id)
- this.upData = res.data.data.host.host
- } catch (error) {
- console.log(error.data.msg)
- }
- },
- async getClintList() {
- try {
- this.searchLoading = true
- const res = await getClientList(this.clinetParams)
- this.clientList = res.data.data.list
- this.clientTotal = res.data.data.count
- this.searchLoading = false
- } catch (error) {
- this.searchLoading = false
- console.log(error.data.msg)
- }
- }, // 远程搜素
- remoteMethod(key) {
- this.clinetParams.keywords = key
- this.getClintList()
- },
- filterMethod(search, option) {
- return option
- },
- // 获取用户详情
- async getUserDetail() {
- try {
- const res = await getClientDetail(this.client_id);
- this.clientDetail = res.data.data.client;
- } catch (error) { }
- },
- /* 1-31 */
- async getBtns() {
- try {
- const res = await getMoudleBtns({
- id: this.id
- })
- this.optBtns = res.data.data.button
- } catch (error) {
-
- }
- },
- /* 1-7 start */
- handlerMoudle(type) {
- this.optType = type
- switch (type) {
- case 'create':
- this.optTilte = lang.module_tip1;
- break;
- case 'unsuspend':
- this.optTilte = lang.module_tip2;
- break;
- case 'terminate':
- this.optTilte = lang.module_tip3;
- break;
- case 'suspend':
- this.optTilte = lang.module_tip4;
- this.handlerSuspend();
- break;
- case 'renew':
- this.renewDialog()
- }
- if (type !== 'renew' && type !== 'suspend') {
- this.moduleVisible = true
- }
-
- },
- confirmModule() {
- switch (this.optType) {
- case 'create':
- return this.createHandler();
- case 'unsuspend':
- return this.unsuspendHandler();
- case 'terminate':
- return this.deleteHandler()
- }
- },
- // 开通
- async createHandler() {
- try {
- this.moduleLoading = true
- const res = await createModule({
- id: this.id
- })
- this.$message.success(res.data.msg)
- this.getProDetail()
- this.getUpHostDetail()
- this.getBtns()
- this.moduleLoading = false
- this.moduleVisible = false
- } catch (error) {
- this.moduleLoading = false
- this.moduleVisible = false
- this.$message.error(error.data.msg)
- }
- },
- // 取消停用
- async unsuspendHandler() {
- try {
- this.moduleLoading = true
- const res = await unsuspendModule({
- id: this.id
- })
- this.$message.success(res.data.msg)
- this.getProDetail()
- this.getUpHostDetail()
- this.getBtns()
- this.moduleLoading = false
- this.moduleVisible = false
- } catch (error) {
- this.moduleLoading = false
- this.moduleVisible = false
- this.$message.error(error.data.msg)
- }
- },
- // 删除
- async deleteHandler() {
- try {
- this.moduleLoading = true
- const res = await delModule({
- id: this.id
- })
- this.$message.success(res.data.msg)
- this.getProDetail()
- this.getBtns()
- this.getUpHostDetail()
-
- this.moduleLoading = false
- this.moduleVisible = false
- } catch (error) {
- this.moduleLoading = false
- this.moduleVisible = false
- this.$message.error(error.data.msg)
- }
- },
- // 暂停
- handlerSuspend() {
- this.suspendForm.suspend_type = 'overdue'
- this.suspendForm.suspend_reason = ''
- this.suspendVisible = true
- },
- // 提交停用
- async onSubmit() {
- try {
- this.moduleLoading = true
- const res = await suspendModule({
- id: this.id,
- suspend_type: this.suspendForm.suspend_type,
- suspend_reason: this.suspendForm.suspend_reason
- })
- this.$message.success(res.data.msg)
- this.getProDetail()
- this.getBtns()
- this.getUpHostDetail()
-
- this.moduleLoading = false
- this.suspendVisible = false
- } catch (error) {
- this.moduleLoading = false
- this.$message.error(error.data.msg)
- }
- },
- /* 1-7 end */
- async getPlugin() {
- try {
- const res = await getAddon();
- const temp = res.data.data.list
- .reduce((all, cur) => {
- all.push(cur.name);
- return all;
- }, [])
- this.hasPlugin = temp.includes("PromoCode");
- this.hasTicket = temp.includes("IdcsmartTicket")
- this.hasPlugin && this.getPromoList()
- this.hasProPlugin = temp.includes("ProductDropDownSelect");
- if (this.hasProPlugin) {
- this.getConfig()
- } else {
- this.selectWay = 'default'
- }
- } catch (error) { }
- },
- // 获取优惠码使用记录
- async getPromoList() {
- try {
- const res = await proPromoRecord({ id: this.id })
- this.promoList = res.data.list
- } catch (error) {
- console.log(error)
- }
- },
- jumpOrder(row) {
- location.href = str + `order.htm?order_id=${row.order_id}`
- },
- /* 跳转到订单/工单 */
- jumpToOrder() {
- location.href = str + `client_order.htm?id=${this.client_id}&host_id=${this.id}`
- },
- jumpToTicket() {
- location.href = str + `plugin/idcsmart_ticket/client_ticket.htm?id=${this.client_id}&host_id=${this.id}`
- },
- /* 续费 */
- renewDialog() {
- this.getRenewPage()
- },
- // 获取续费页面
- async getRenewPage() {
- try {
- const res = await getSingleRenew(this.formData.id)
- this.renewList = res.data.data.host.map((item, index) => {
- item.id = index + 1
- return item
- })
- if (this.renewList.length === 0) {
- return this.$message.warning(lang.renew_tip)
- }
- this.renewVisible = true
- this.curRenew = this.renewList[0]
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 向左移动
- subIndex() {
- let num = this.curId
- if (num > 1) {
- num -= 1
- this.curId -= 1
- }
- if (this.showId[0] > 1) {
- let newIds = this.showId
- newIds[0] = newIds[0] - 1
- newIds[1] = newIds[1] - 1
- newIds[2] = newIds[2] - 1
- this.showId = newIds
- }
- },
- // 向右移动
- addIndex() {
- let num = this.curId
- if (num < this.renewList.length) {
- num += 1
- this.curId = num++
- }
- if (this.showId[2] < this.renewList.length) {
- let newIds = this.showId
- newIds[0] = newIds[0] + 1
- newIds[1] = newIds[1] + 1
- newIds[2] = newIds[2] + 1
- this.showId = newIds
- }
- },
- checkCur(item) {
- this.curId = item.id
- },
- async submitRenew() {
- try {
- this.submitLoading = true
- const temp = JSON.parse(JSON.stringify(this.curRenew))
- delete temp.id
- const params = {
- id: this.formData.id,
- pay: this.pay,
- ...temp
- }
- const res = await postSingleRenew(params)
- this.$message.success(res.data.msg)
- this.submitLoading = false
- this.renewVisible = false
- this.getProDetail()
- this.getUpHostDetail()
-
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- },
- back() {
- this.delVisible = true
- },
- // 删除
- deltePro(row) {
- this.delVisible = true
- },
- async onConfirm() {
- try {
- const res = await deletePro(this.id)
- this.$message.success(res.data.msg)
- this.delVisible = false
- setTimeout(() => {
- window.location = document.referrer
- }, 300)
- } catch (error) {
- this.delVisible = false
- this.$message.error(error.data.msg)
- }
- },
-
- getUrlParams() {
- const url = window.location.href;
- // 判断是否有参数
- if (url.indexOf('?') === -1) {
- return {}
- }
- const params = url.split('?')[1];
- const paramsArr = params.split('&');
- const paramsObj = {};
- paramsArr.forEach((item) => {
- const key = item.split('=')[0];
- const value = item.split('=')[1];
- paramsObj[key] = value;
- })
- return paramsObj;
- },
- getQuery(val) {
- return val.split('=')[1]
- },
- checkTime(val) {
- if (moment(val).unix() > moment(this.formData.due_time).unix()) {
- return { result: false, message: lang.verify6, type: 'error' }
- }
- return { result: true }
- },
- checkTime1(val) {
- if (moment(val).unix() < moment(this.formData.active_time).unix()) {
- return { result: false, message: lang.verify6, type: 'error' }
- }
- return { result: true }
- },
- changeActive() {
- this.$refs.userInfo.validate({
- fields: ['active_time', 'due_time']
- });
- },
- async getproModule() {
- try {
- const res = await getproModule(this.id)
- this.isShowModule = res.data.data.content ? true : false
- this.$nextTick(() => {
- $('.config-box .content').html(res.data.data.content)
- })
- } catch (error) {
- }
- },
- async getProList() {
- try {
- const res = await getProList()
- const temp = res.data.data.list.map(item => {
- item.key = 't' + item.id
- return item
- })
- // 处理老财务迁移过后的数据:产品id不在产品列表中
- let hasPro = temp.some(item => this.formData.product_id === item.id)
- if (!hasPro) {
- temp.unshift({
- id: this.formData.product_id,
- name: this.formData.product_name
- })
- }
- this.proList = temp
- return this.proList
- } catch (error) {
- }
- },
- changeType(type) {
- this.formData.type = type
- this.formData.rel_id = ''
- },
- // 修改
- updateUserInfo() {
- this.$refs.userInfo.validate().then(async res => {
- if (res !== true) {
- this.$message.error(res.name[0].message)
- return
- }
- // 验证通过
- try {
- this.isLoading = true
- const params = { ...this.formData }
- params.due_time = (params.due_time === '') ? 0 : params.due_time
- params.active_time = (params.active_time === '') ? 0 : params.active_time
- if (params.active_time === 0) {
- params.active_time = moment(params.active_time * 1000).format('YYYY-MM-DD HH:mm:ss')
- }
- if (params.due_time === 0) {
- params.due_time = moment(params.due_time * 1000).format('YYYY-MM-DD HH:mm:ss')
- }
- // 修改前台
- const obj = {}
- const tempArr = JSON.parse(JSON.stringify(this.hostFieldList)).reduce((all, cur) => {
- all.push(...cur.field)
- return all
- }, [])
- tempArr.forEach((item) => {
- obj[item.key] = item.value
- })
- params.customfield.module_admin_field = obj
- // 修改前台结束
- const res = await updateProduct(this.id, params)
- this.$message.success(res.data.msg)
- this.getProDetail()
- this.getUpHostDetail()
- this.isLoading = false
- } catch (error) {
- this.isLoading = false
- this.$message.error(error.data.msg)
- }
- }).catch(err => {
- console.log(err)
- })
- },
- // 获取用户详情
- async getProDetail() {
- try {
- let inter = await getInterface(this.serverParams)
- this.serverList = inter.data.data.list
- this.total = inter.data.data.count
- if (this.total > 20) {
- this.serverParams.limit = this.total
- inter = await getInterface(this.serverParams)
- this.serverList = inter.data.data.list
- }
-
- const res = await getProductDetail(this.id)
- const temp = res.data.data.host
- this.isAgent = res.data.data?.host.agent === 1
- Object.assign(this.formData, temp)
- this.formData.active_time = temp.active_time ? moment(temp.active_time * 1000).format('YYYY-MM-DD HH:mm:ss') : ''
- this.formData.due_time = temp.due_time ? moment(temp.due_time * 1000).format('YYYY-MM-DD HH:mm:ss') : ''
- this.formData.server_id = temp.server_id === 0 ? '' : temp.server_id
- this.tempCycle = temp.billing_cycle
- this.tempHostId = temp.upstream_host_id
- this.$forceUpdate()
- this.getHostField()
- this.status = res.data.data.status.map((item, index) => {
- return { value: item, label: lang[item] }
- })
- this.curStatus = this.formData.status
- document.title = lang.user_list + '-' + temp.product_name + '-' + localStorage.getItem('back_website_name')
- this.init()
- } catch (error) {
- console.log(error);
- }
- },
- // 续费
- async renew() {
- try {
- const res = await getSingleRenew(this.id)
- console.log(res)
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- }
- },
- }).$mount(template)
- typeof old_onload == 'function' && old_onload()
- };
-})(window);
diff --git a/10.3.4/public/clientarea/language/zh-hk.php b/10.3.4/public/clientarea/language/zh-hk.php
deleted file mode 100644
index e7a25c29..00000000
--- a/10.3.4/public/clientarea/language/zh-hk.php
+++ /dev/null
@@ -1,270 +0,0 @@
- '中文繁體',//用于在语言切换下拉中显示
- 'display_flag' => 'CN',//用于显示图片,使用国家代码大写
- 'add_success' => '添加成功',
- 'add_fail' => '添加失败',
- 'success_message' => '请求成功',
- 'fail_message' => '请求失败',
- 'create_success' => '创建成功',
- 'create_fail' => '创建失败',
- 'delete_success' => '删除成功',
- 'delete_fail' => '删除失败',
- 'update_success' => '修改成功',
- 'update_fail' => '修改失败',
- 'save_success' => '保存成功',
- 'save_fail' => '保存失败',
- 'register_success' => '注册成功',
- 'register_fail' => '注册失败',
- 'pay_success' => '支付成功',
- 'pay_fail' => '支付失败',
- 'id_error' => 'ID错误',
- 'param_error' => '参数错误',
- 'cannot_repeat_opreate' => '不可重复操作',
- 'disable_success' => '禁用成功',
- 'disable_fail' => '禁用失败',
- 'enable_success' => '启用成功',
- 'enable_fail' => '启用失败',
- 'login_success' => '登录成功',
- 'login_fail' => '登录失败',
- 'move_success' => '移动成功',
- 'move_fail' => '移动失败',
- 'buy_fail' => '购买失败',
- 'buy_success' => '购买成功',
- 'missing_route_paramters' => '缺少路由参数{param}',
- 'range_of_values' => '{key}取值范围:{value}',
- 'gateway_error' => '支付接口错误',
- 'login_unauthorized' => '未授权',
- 'remember_password_value_0_or_1' => '记住密码取值为0或1',
- 'password_is_change_please_login_again' => '密码已修改,请重新授权',
- 'logout_success' => '成功退出',
- 'inconsistent_login_ip' => '登录ip不一致',
- 'login_user_ID_is_inconsistent' => '登录用户ID不一致',
- 'log_out_automatically_after_2_hours_without_operation' => '2个小时未操作自动退出登录',
- 'login_captcha' => '请输入图形验证码',
- 'login_captcha_token' => '请输入图形验证码唯一识别码',
- 'login_captcha_error' => '行为验证码错误,请查看配置是否正确',
- 'certification_uncertified_cannot_buy_product' => '未实名认证不可购买产品',
-
- # 权限规则
- 'clientarea_auth_rule_account_index' => '账户详情',
- 'clientarea_auth_rule_account_update' => '账户编辑',
- 'clientarea_auth_rule_account_verify_old_phone' => '验证原手机',
- 'clientarea_auth_rule_account_update_phone' => '修改手机',
- 'clientarea_auth_rule_account_verify_old_email' => '验证原邮箱',
- 'clientarea_auth_rule_account_update_email' => '修改邮箱',
- 'clientarea_auth_rule_account_update_password' => '修改密码',
- 'clientarea_auth_rule_account_code_update_password' => '验证码修改密码',
- 'clientarea_auth_rule_account_credit_list' => '余额变更记录列表',
- 'clientarea_auth_rule_api_list' => 'API密钥列表',
- 'clientarea_auth_rule_api_create' => '创建API密钥',
- 'clientarea_auth_rule_api_white_list_setting' => 'API白名单设置',
- 'clientarea_auth_rule_api_delete' => '删除API密钥',
- 'clientarea_auth_rule_cart_index' => '获取购物车',
- 'clientarea_auth_rule_cart_create' => '加入购物车',
- 'clientarea_auth_rule_cart_update' => '编辑购物车商品',
- 'clientarea_auth_rule_cart_update_qty' => '修改购物车商品数量',
- 'clientarea_auth_rule_cart_delete' => '删除购物车商品',
- 'clientarea_auth_rule_cart_batch_delete' => '批量删除购物车商品',
- 'clientarea_auth_rule_cart_clear' => '清空购物车',
- 'clientarea_auth_rule_cart_settle' => '结算购物车',
- 'clientarea_auth_rule_log_list' => '操作日志',
- 'clientarea_auth_rule_order_list' => '订单列表',
- 'clientarea_auth_rule_order_index' => '订单详情',
- 'clientarea_auth_rule_order_delete' => '删除订单',
- 'clientarea_auth_rule_pay_pay' => '支付',
- 'clientarea_auth_rule_pay_status' => '支付状态',
- 'clientarea_auth_rule_pay_recharge' => '充值',
- 'clientarea_auth_rule_pay_credit' => '使用(取消)余额',
- 'clientarea_auth_rule_product_settle' => '结算商品',
- 'clientarea_auth_rule_transaction_list' => '交易记录',
-
- # 权限
- 'clientarea_auth_basic_auth' => '基础权限',
- 'clientarea_auth_order_product' => '订购产品',
- 'clientarea_auth_payment' => '支付',
- 'clientarea_auth_account_info' => '账户信息',
- 'clientarea_auth_outline' => '概要',
- 'clientarea_auth_view_log' => '查看日志',
- 'clientarea_auth_finance_info' => '财务信息',
- 'clientarea_auth_order_record' => '订单记录',
- 'clientarea_auth_transaction' => '交易记录',
- 'clientarea_auth_balance_record' => '余额记录',
- 'clientarea_auth_security_center' => '安全中心',
- 'clientarea_auth_api' => 'API',
- 'clientarea_auth_api_log' => 'API日志',
- 'clientarea_auth_resource_center' => '资源中心',
- 'clientarea_auth_product_auth' => '产品权限',
- 'clientarea_auth_on_off_restart' => '开机、关机、重启',
- 'clientarea_auth_refund_renew_upgrade' => '退款、续费、升降级',
- 'clientarea_auth_control_reinstall_rescue_reset_set_mount' => '控制台、重装、救援、重置密码、设置启动项、挂载ISO',
- 'clientarea_auth_delete' => '删除',
-
-
- # 前台登录注册修改密码
- 'login_type_is_required' => '请传入登录类型',
- 'login_type_only_code_or_password' => '登录类型取值为code或password',
- 'login_account_require' => '请输入账号',
- 'login_email_error' => '邮箱格式错误',
- 'login_password_require' => '请输入密码',
- 'login_password_len' => '密码长度为6-32位',
- 'login_remember_password_is_0_or_1' => '记住密码取值为0或1',
- 'login_email_is_not_register' => '邮箱未注册',
- 'login_password_error' => '账号或密码错误',
- 'login_email_is_not_open' => '未开启邮箱登录',
- 'login_phone_is_not_open' => '未开启手机登录',
- 'login_phone_verify_is_not_open' => '未开启手机验证码登录',
- 'register_type_is_required' => '请传入注册类型',
- 'register_type_only_phone_or_email' => '注册类型取值为phone或email',
- 'register_account_is_required' => '请输入账号',
- 'verification_code_has_expired' => '验证码已过期',
- 'register_email_is_not_open' => '未开启邮箱注册',
- 'register_phone_is_not_open' => '未开启手机注册',
- 'login_phone_code_require' => '请选择国家区号',
- 'login_phone_code_error' => '国家区号错误',
- 'login_phone_require' => '请输入手机号',
- 'login_phone_is_not_right' => '手机号格式错误',
- 'login_phone_is_not_register' => '手机号未注册',
- 'login_client_is_disabled' => '该帐号已停用/关闭,请联系管理员处理',
- 'please_enter_vaild_phone' => '请输入正确的手机号',
- 'client_name_cannot_exceed_20_chars' => '用户姓名最多不能超过20个字符',
- 'passwords_not_match' => '两次输入的密码不一致',
- 'phone_has_been_registered' => '手机号已被注册',
- 'email_has_been_registered' => '邮箱已被注册',
-
- # 支付
- 'order_id_is_not_exist' => '请传入订单ID',
- 'order_is_not_exist' => '订单不存在',
- 'order_ownership_error' => '订单归属错误',
- 'order_is_paid' => '订单已支付',
- 'gateway_is_required' => '请选择支付方式',
- 'no_support_gateway' => '不支持的支付方式',
- 'recharge_is_not_open' => '充值功能未开启',
- 'recharge_amount_is_greater_than_0' => '最小充值金额大于等于0.01',
- 'min_recharge_is_error' => '最小充值金额为{min}',
- 'max_recharge_is_error' => '最大充值金额为{max}',
- 'recharge_success' => '充值成功',
- 'client_recharge' => '用户充值',
- 'recharge_order_cannot_use_credit' => '充值订单不可使用余额',
- 'client_credit_is_0' => '余额为0',
- 'client_credit_is_used' => '您已使用过余额',
- 'client_credit_is_not_enough' => '余额不足',
-
- # 验证码
- 'error_message' => '请求错误',
- 'verification_code_error' => '验证码错误',
- 'please_get_verification_code' => '请获取验证码',
- 'verification_code_can_only_sent_once_per_minute' => '验证码每分钟只能发送一次',
-
- # 导航
- 'nav_index' => '首页',
- 'nav_host_list' => '产品列表',
- 'nav_finance_info' => '财务信息',
- 'nav_account_info' => '账户信息',
- 'nav_security' => '安全',
- 'nav_goods_list' => '订购产品',
-
- # 日志
- 'modify_profile' => '{client}将{description}',
- 'old_to_new' => '{old}改为{new}',
- 'submit_order' => '{client}提交订单:{order}包含商品:{product}',
- 'bound_mobile' => '{client}绑定手机{phone}',
- 'change_bound_mobile' => '{client}修改绑定手机为{phone}原手机号为:{old_phone}',
- 'bound_email' => '{client}绑定邮箱{email}',
- 'change_bound_email' => '{client}修改绑定邮箱为{email}原邮箱为:{old_email}',
- 'change_password' => '{client}修改密码',
-
- 'log_client_login' => '{client}登录系统',
- 'log_client_login_status_disabled' => '{client}登录系统失败,已被禁用',
- 'log_client_login_code_error' => '{client}登录系统失败,验证码不正确',
- 'log_client_login_account_not_register' => '{client}登录系统失败,用户不存在',
- 'log_client_login_password_error' => '{client}登录系统失败,密码不正确',
- 'log_client_logout' => '{client}注销登录',
- 'log_client_register' => '账号{account}注册成功',
- 'log_client_pay_order_success' => '{client}支付订单:{order_id},支付金额:{amount}',
- 'log_client_pay_with_credit_fail' => '{client}使用部分余额支付失败,失败原因:余额不足(可能将余额应用至其它订单).已将支付金额存入客户余额',
- 'log_client_recharge' => '{client}交易流水号:{transaction},充值金额:{amount}',
-
- 'log_client_add_api' => '{client}添加API,API名称:{name}',
- 'log_client_edit_api' => '{client}修改API,API名称:{name}',
- 'log_client_delete_api' => '{client}删除API,API名称:{name}',
-
- 'log_client_cancel_order' => '{client}取消订单{order}',
-
-
- 'client_username' => '姓名',
- 'client_company' => '公司',
- 'client_country' => '国家',
- 'client_address' => '地址',
- 'client_language' => '语言',
- 'client_notes' => '备注',
-
-
- # 账户管理
- 'please_enter_old_password' => '请输入旧密码',
- 'please_enter_new_password' => '请输入新密码',
- 'old_password_error' => '旧密码错误',
- 'new_password_cannot_same_old_password' => '新密码不能和旧密码相同',
- 'please_enter_code' => '请输入验证码',
- 'please_verify_old_phone' => '请验证原手机',
- 'please_verify_old_email' => '请验证原邮箱',
- 'user_not_bind_phone' => '用户未绑定手机',
- 'user_not_bind_email' => '用户未绑定邮箱',
- 'verify_type_is_required' => '请选择验证类型',
- 'verify_type_only_phone_or_email' => '验证类型只能为手机或邮箱',
-
- # 购物车
- 'clear_cart_success' => '清空购物车成功',
- 'position_error' => '位置错误',
- 'please_enter_config_options' => '请传入自定义配置',
- 'config_options_error' => '自定义配置错误',
- 'please_enter_qty' => '请传入数量',
- 'qty_error' => '数量错误',
- 'product_inventory_shortage' => '商品库存不足',
- 'there_are_no_items_in_the_cart' => '购物车内没有商品',
- 'please_select_products_in_the_cart' => '请选择购物车商品',
- 'cannot_only_buy_son_product' => '子商品不可直接购买',
-
- # API密钥
- 'api_is_not_exist' => 'API密钥不存在',
- 'please_enter_api_name' => '请输入API密钥名称',
- 'api_name_cannot_exceed_10_chars' => 'API密钥名称最多不能超过10个字符',
- 'please_select_api_status' => '清选择是否开启白名单',
- 'api_status_error' => '白名单参数错误',
- 'please_enter_api_ip' => '请输入白名单IP',
- 'api_ip_error' => '白名单IP格式错误',
- 'api_key_create_max' => '单个用户最多只允许创建10个API密钥',
- 'api_auth_fail' => '鉴权失败',
-
- # 产品
- 'host_notes_cannot_exceed_1000_chars' => '备注最多不能超过1000个字符',
- 'upstream_host_is_not_exist' => '上游产品不存在',
-
- # 订单
- 'order_cannot_cancel' => '未支付订单才可以取消',
- 'order_host_not_unpaid' => '订单下产品不是未支付状态,不可取消订单',
-
- # 日志
- 'log_api_auth_login' => '{client}API鉴权登录',
-
- # 意见反馈
- 'please_enter_feedback_title' => '请输入标题',
- 'feedback_title_cannot_exceed_255_chars' => '标题不能超过255个字符',
- 'please_enter_feedback_description' => '请输入描述',
- 'feedback_contact_cannot_exceed_255_chars' => '联系方式不能超过255个字符',
-
- # 方案咨询
- 'please_enter_consult_contact' => '请输入联系人',
- 'consult_contact_cannot_exceed_50_chars' => '联系人不能超过50个字符',
- 'consult_company_cannot_exceed_255_chars' => '公司名称不能超过255个字符',
- 'please_enter_consult_phone' => '请输入手机号码',
- 'consult_phone_cannot_exceed_20_chars' => '手机号码不能超过20个字符',
- 'please_enter_consult_email' => '请输入联系邮箱',
- 'consult_email_error' => '联系邮箱格式错误',
- 'please_enter_consult_matter' => '请输入咨询产品',
- 'consult_matter_cannot_exceed_1000_chars' => '咨询产品不能超过1000个字符',
-
- 'order_description_append' => '{product_name}({name}),购买时长:{billing_cycle_name}({time})',
-];
diff --git a/10.3.4/public/clientarea/template/default/components/topMenu/topMenu.js b/10.3.4/public/clientarea/template/default/components/topMenu/topMenu.js
deleted file mode 100644
index 5f4ff70b..00000000
--- a/10.3.4/public/clientarea/template/default/components/topMenu/topMenu.js
+++ /dev/null
@@ -1,474 +0,0 @@
-
-// css 样式依赖common.css
-ELEMENT.Dialog.props.closeOnClickModal.default = false
-const topMenu = {
- template:
- `
-
-
-
-
-
-
-
-
-
-
-
- `,
- directives: {
- plugin: {
- inserted: function (el, binding) {
- const addonsDom = document.querySelector('#addons_js')
- let addonsArr = [];
- let arr = [];
- if (addonsDom) {
- addonsArr = JSON.parse(addonsDom.getAttribute('addons_js')) || [] // 插件列表
- // 判断是否安装了某插件
- arr = addonsArr.filter(item => item.name === binding.value)
- if (arr.length === 0) {
- // 未安装 移除该元素的dom
- el.parentNode.removeChild(el)
- }
- } else {
- el.parentNode.removeChild(el)
- }
- }
- }
- },
- data() {
- return {
- topInput: "",
- // curSrc: url+'/img/common/'+lang_obj.countryImg+'.png' ,
- curSrc: `/upload/common/country/${lang_obj.countryImg}.png`,
- isShowMenu: false,
- logo: `/upload/logo.png`,
- menu1: [],
- menu2: [],
- menuActiveId: "",
- firstName: '',
- hasSeparate: false,
- produclData: [],
- selectValue: '',
- shoppingCarNum: 0,
- headBgcList: ['#3699FF', '#57C3EA', '#5CC2D7', '#EF8BA2', '#C1DB81', '#F1978C', '#F08968'],
- commonData: {
- lang_list: []
- },
- unLogin: true,
- isGetData: false,
- msgList: [],
- msgCount: 0,
- accountData: {},
- msgType: {
- official: lang.subaccount_text54,
- }
- }
- },
- props: {
- isShowMore: {
- type: Boolean,
- default: false
- },
- isShowCart: {
- type: Boolean,
- default: true
- },
- num: {
- type: Number,
- default: 0
- }
- },
- watch: {
- num(val) {
- if (val) {
- this.shoppingCarNum = val
- }
- }
- },
- filters: {
- formateTime(time) {
- if (time && time !== 0) {
- const date = new Date(time * 1000);
- Y = date.getFullYear() + '-';
- M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
- D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
- h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
- m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
- return (Y + M + D + h + m);
- } else {
- return "--"
- }
- }
- },
- created() {
- this.GetIndexData()
- this.doGetMenu()
- this.setActiveMenu()
- this.getCartList()
- this.getCommonSetting()
- },
- mounted() {
- if (this.getPluginId('ClientCare')) {
- this.getMessageList()
- }
- },
- methods: {
- getPluginId(pluginName) {
- const addonsDom = document.querySelector('#addons_js')
- if (addonsDom) {
- const addonsArr = JSON.parse(addonsDom.getAttribute('addons_js')) // 插件列表
- for (let index = 0; index < addonsArr.length; index++) {
- const element = addonsArr[index];
- if (pluginName === element.name) {
- return element.id
- }
- }
- } else {
- throw new Error('请检查页面是否有插件dom')
- }
- },
- goAccount() {
- location.href = '/account.htm?type=3'
- },
- getMessageList() {
- messageInfo().then(res => {
- this.msgList = res.data.data.credit_limit.list
- this.msgCount = res.data.data.credit_limit.count
- })
- },
- goMsgDetail(id) {
- location.href = `/plugin/${getPluginId('ClientCare')}/msgDetail.htm?id=${id}`
- },
- // 退出登录
- logOut() {
- this.$confirm(lang.topMenu_text4, lang.topMenu_text5, {
- confirmButtonText: lang.topMenu_text6,
- cancelButtonText: lang.topMenu_text7,
- type: 'warning'
- }).then(() => {
- //const res = await Axios.post('/logout')
- Axios.post('/logout').then(res => {
- localStorage.removeItem("jwt")
- setTimeout(() => {
- location.href = '/login.htm'
- }, 300)
- })
- }).catch(() => { })
- },
- goLogin() {
- location.href = '/login.htm'
- },
- goHome() {
- localStorage.frontMenusActiveId = "";
- location.href = "/home.htm";
- },
- // 获取购物车数量
- getCartList() {
- cartList().then((res) => {
- this.shoppingCarNum = res.data.data.list.filter(item => item.customfield?.is_domain !== 1).length
- })
- },
- GetIndexData() {
- accountDetail().then((res) => {
- if (res.data.status == 200) {
- this.accountData = res.data.data.account;
- localStorage.lang = res.data.data.account.language || 'zh-cn';
- this.firstName = res.data.data.account.username.substring(0, 1).toUpperCase()
- this.unLogin = false
- if (sessionStorage.headBgc) {
- this.$refs.headBoxRef.style.background = sessionStorage.headBgc
- } else {
- const index = Math.round(Math.random() * (this.headBgcList.length - 1))
- this.$refs.headBoxRef.style.background = this.headBgcList[index]
- sessionStorage.headBgc = this.headBgcList[index]
- }
- }
- }).finally(() => {
- this.isGetData = true
- })
- },
- goShoppingCar() {
- localStorage.frontMenusActiveId = ''
- location.href = '/shoppingCar.htm'
- },
- goAccountpage() {
- location.href = '/account.htm'
- },
- // 语言切换
- changeLang(e) {
- if (localStorage.getItem("lang") !== e || !localStorage.getItem("lang")) {
- localStorage.setItem("lang", e);
- this.accountData.language = e;
- this.saveAccount();
- }
- },
- // 编辑基础资料
- saveAccount() {
- const { username, company, country, address, language, notes } = this.accountData;
- const params = {
- username,
- company,
- country,
- address,
- language,
- notes,
- };
- updateAccount(params).then((res) => {
- if (res.data.status === 200) {
- this.$message.success(res.data.msg);
- window.location.reload();
- }
- }).catch((error) => {
- this.$message.error(error.data.msg);
- });
- },
- handleCommand(e) {
- if (e == 'account') {
- this.goAccountpage()
- }
- if (e == 'quit') {
- this.logOut()
- }
- console.log(e);
- },
- // 全局搜索
- querySearchAsync(queryString, cb) {
- if (queryString.length == 0) {
- return false
- }
- const params = {
- keywords: queryString
- }
- globalSearch(params).then(res => {
- if (res.data.status === 200) {
- const data = res.data.data.hosts
- const result = []
- data.map(item => {
- let value = item.product_name + '#/' + item.id
- result.push(
- {
- id: item.id,
- value,
- name: item.name
- }
- )
- })
- cb(result)
-
- }
- })
- },
- handleSelect(key) {
- localStorage.setItem("frontMenusActiveId", key);
- // 跳转到对应路径
- location.href = "/" + key;
- },
- showMenu() {
- this.isShowMenu = true
- },
- handleClose() {
- this.isShowMenu = false
- },
- // 获取前台导航
- doGetMenu() {
- // 判断本地缓存是否有 前台导航,没有则调用接口获取,有则直接使用
- if (JSON.parse(localStorage.getItem('frontMenus'))) {
- const menu = JSON.parse(localStorage.getItem('frontMenus'))
- let index = menu.findIndex((item) => item.name == "分隔符");
- if (index != -1) {
- this.hasSeparate = true
- this.menu1 = menu.slice(0, index);
- this.menu2 = menu.slice(index + 1);
- } else {
- this.hasSeparate = false
- this.menu1 = menu;
- }
- this.setActiveMenu();
- } else {
- getMenu().then(res => {
- if (res.data.status === 200) {
- const menu = res.data.data.menu;
- localStorage.setItem("frontMenus", JSON.stringify(menu));
- let index = menu.findIndex((item) => item.name == "分隔符");
- if (index != -1) {
- this.hasSeparate = true
- this.menu1 = menu.slice(0, index);
- this.menu2 = menu.slice(index + 1);
- } else {
- this.hasSeparate = false
- this.menu1 = menu;
- }
- this.setActiveMenu();
- }
- })
- }
- },
- // 判断当前菜单激活
- setActiveMenu() {
- const url = location.href;
- let isTrue = true;
- this.menu1.forEach((item) => {
- // 当前url下存在和导航菜单对应的路径
- if (item.url && url.indexOf(item.url) != -1) {
- this.menuActiveId = item.url;
- isTrue = false;
- }
- });
- if (isTrue) {
- // 不存在对应的 读取本地存储的 导航id\
- this.menuActiveId = localStorage.getItem("frontMenusActiveId");
- }
- },
- // 页面跳转
- toPage(e) {
- location.href = '/' + e.url
- },
-
- // 获取通用配置
- async getCommonSetting() {
- try {
- const res = await getCommon()
- this.commonData = res.data.data
- localStorage.setItem('common_set_before', JSON.stringify(res.data.data))
- } catch (error) {
- }
- },
- },
-}
\ No newline at end of file
diff --git a/10.3.4/public/plugins/addon/idcsmart_sub_account/lang/en-us.php b/10.3.4/public/plugins/addon/idcsmart_sub_account/lang/en-us.php
deleted file mode 100644
index 395fddf9..00000000
--- a/10.3.4/public/plugins/addon/idcsmart_sub_account/lang/en-us.php
+++ /dev/null
@@ -1,3 +0,0 @@
-'Hello,Plugin!'];
diff --git a/10.3.4/public/plugins/addon/promo_code/lang/en-us.php b/10.3.4/public/plugins/addon/promo_code/lang/en-us.php
deleted file mode 100644
index ca5d8ed5..00000000
--- a/10.3.4/public/plugins/addon/promo_code/lang/en-us.php
+++ /dev/null
@@ -1,5 +0,0 @@
-alias('p')
- ->field('p.id,s.module,ss.module as module2')
- ->leftjoin('server s','p.type=\'server\' AND p.rel_id=s.id AND s.module=\'idcsmart_common\'')
- ->leftjoin('server_group sg','p.type=\'server_group\' AND p.rel_id=sg.id')
- ->leftjoin('server ss','ss.server_group_id=sg.id AND ss.module=\'idcsmart_common\'')
- ->where('p.id',$productId)
- ->find();
- if (!empty($product) && ($product['module']=='idcsmart_common' || $product['module2']=='idcsmart_common')){
- $IdcsmartCommonProductModel = new \server\idcsmart_common\model\IdcsmartCommonProductModel();
- return $IdcsmartCommonProductModel->updateProductMinPrice($productId);
- }
-
- return true;
-});
-
-# 删除商品时实现钩子
-add_hook('after_product_delete', function($param){
- $productId = $param['id']??0;
- $ProductModel = new \app\common\model\ProductModel();
- # 通用模块接口
- $product = $ProductModel->alias('p')
- ->field('p.id,s.module,ss.module as module2')
- ->leftjoin('server s','p.type=\'server\' AND p.rel_id=s.id AND s.module=\'idcsmart_common\'')
- ->leftjoin('server_group sg','p.type=\'server_group\' AND p.rel_id=sg.id')
- ->leftjoin('server ss','ss.server_group_id=sg.id AND ss.module=\'idcsmart_common\'')
- ->where('p.id',$productId)
- ->find();
- if (!empty($product) && ($product['module']=='idcsmart_common' || $product['module2']=='idcsmart_common')){
- $IdcsmartCommonProductModel = new \server\idcsmart_common\model\IdcsmartCommonProductModel();
- return $IdcsmartCommonProductModel->deleteProduct($param);
- }
-
- return true;
-});
-
-# 删除产品时实现钩子
-add_hook('after_host_delete', function($param){
- $hostId = $param['id']??0;
- $HostModel = new \app\common\model\HostModel();
- $ProductModel = new \app\common\model\ProductModel();
- $host = $HostModel->find($hostId);
- $productId = $host['product_id'];
- # 通用模块接口
- $product = $ProductModel->alias('p')
- ->field('p.id,s.module,ss.module as module2')
- ->leftjoin('server s','p.type=\'server\' AND p.rel_id=s.id AND s.module=\'idcsmart_common\'')
- ->leftjoin('server_group sg','p.type=\'server_group\' AND p.rel_id=sg.id')
- ->leftjoin('server ss','ss.server_group_id=sg.id AND ss.module=\'idcsmart_common\'')
- ->where('p.id',$productId)
- ->find();
- if (!empty($product) && ($product['module']=='idcsmart_common' || $product['module2']=='idcsmart_common')){
- $IdcsmartCommonHostConfigoptionModel = new \server\idcsmart_common\model\IdcsmartCommonHostConfigoptionModel();
- return $IdcsmartCommonHostConfigoptionModel->deleteHost($param);
- }
-
- return true;
-});
-
-# 产品详情自定义字段
-add_hook('product_detail_custom_fields',function ($param){
- $productId= $param['id']??0;
-
- $IdcsmartCommonProductConfigoptionModel = new \server\idcsmart_common\model\IdcsmartCommonProductConfigoptionModel();
- $ProductModel = new \app\common\model\ProductModel();
- $product = $ProductModel->alias('p')
- ->field('p.id,s.module,ss.module as module2')
- ->leftjoin('server s','p.type=\'server\' AND p.rel_id=s.id AND s.module=\'idcsmart_common\'')
- ->leftjoin('server_group sg','p.type=\'server_group\' AND p.rel_id=sg.id')
- ->leftjoin('server ss','ss.server_group_id=sg.id AND ss.module=\'idcsmart_common\'')
- ->where('p.id',$productId)
- ->find();
- if (!empty($product) && ($product['module']=='idcsmart_common' || $product['module2']=='idcsmart_common')){
- $sonCount = $IdcsmartCommonProductConfigoptionModel->where('product_id',$productId)
- ->where('son_product_id','>',0)
- ->count();
- if ($sonCount>0){
- $flag=true;
- }else{
- $flag=false;
- }
-
- return ['is_link'=>$flag];
- }
- return false;
-});
-
-# 创建订单之后钩子
-add_hook('after_order_create',function ($param){
-
- $orderId = $param['id'];
- $OrderItemModel = new \app\common\model\OrderItemModel();
- $HostModel = new \app\common\model\HostModel();
- $UpgradeModel = new \app\common\model\UpgradeModel();
- $ProductModel = new \app\common\model\ProductModel();
- $IdcsmartCommonHostConfigoptionModel = new \server\idcsmart_common\model\IdcsmartCommonHostConfigoptionModel();
- $IdcsmartCommonProductConfigoptionModel = new \server\idcsmart_common\model\IdcsmartCommonProductConfigoptionModel();
- $IdcsmartCommonProductConfigoptionSubModel = new \server\idcsmart_common\model\IdcsmartCommonProductConfigoptionSubModel();
- $IdcsmartCommonLogic = new \server\idcsmart_common\logic\IdcsmartCommonLogic();
-
- $upgrade = $UpgradeModel->where('order_id',$orderId)
- ->whereIn('status',['Unpaid','Pending'])
- ->order('id','desc')
- ->find();
- if(is_null($upgrade) || empty($upgrade)){
- return false;
- }
- $configoptionHost = $HostModel->find($upgrade['host_id']);
- if(is_null($configoptionHost) || empty($configoptionHost)){
- return false;
- }
- $product = $ProductModel->alias('p')
- ->field('p.id,p.name,s.module,ss.module as module2')
- ->leftjoin('server s','p.type=\'server\' AND p.rel_id=s.id AND s.module=\'idcsmart_common\'')
- ->leftjoin('server_group sg','p.type=\'server_group\' AND p.rel_id=sg.id')
- ->leftjoin('server ss','ss.server_group_id=sg.id AND ss.module=\'idcsmart_common\'')
- ->where('p.id',$configoptionHost['product_id'])
- ->find();
- if (!empty($product) && ($product['module']=='idcsmart_common' || $product['module2']=='idcsmart_common')){
- if (!empty($upgrade)){
- $new = json_decode($upgrade['data'],true);
- if ($upgrade['type']=='config_option'){ // 更改配置升降级订单子项描述
- $configoptionOrderItems = $OrderItemModel->where('order_id',$orderId)
- ->where('type','upgrade')
- ->select();
- foreach ($configoptionOrderItems as $configoptionOrderItem){
- $olds = $IdcsmartCommonHostConfigoptionModel->where('host_id',$configoptionOrderItem['host_id'])
- ->select()->toArray();
- $description= [];
- foreach ($olds as $key=>$old){ # 考虑到配置项只有两个,且只有数量
- $configoption = $IdcsmartCommonProductConfigoptionModel->find($old['configoption_id']);
- if ($IdcsmartCommonLogic->checkQuantity($configoption['option_type'])){
- if (isset($new['configoption'][$old['configoption_id']]) && !empty($new['configoption'][$old['configoption_id']])){
- foreach ($new['configoption'][$old['configoption_id']] as $temp){
- $description[] = $configoption['option_name'] . ':' . $old['qty'] . '=>' . $temp;
- }
- }
- //$description[] = $configoption['option_name'] . ':' . $old['qty'] . '=>' . ($new['configoption'][$old['configoption_id']][0]??0);
- }elseif($IdcsmartCommonLogic->checkMultiSelect($configoption['option_type'])){
- $oldSub = $IdcsmartCommonProductConfigoptionSubModel->find($old['configoption_sub_id']);
- $newSub = $IdcsmartCommonProductConfigoptionSubModel->find($new['configoption'][$old['configoption_id']][0]??0);
- $description[] = $configoption['option_name'] . ':' . $oldSub['option_name'] . '=>' . ($newSub['option_name']??'');
- }else{
- $oldSub = $IdcsmartCommonProductConfigoptionSubModel->find($old['configoption_sub_id']);
- $newSub = $IdcsmartCommonProductConfigoptionSubModel->find($new['configoption'][$old['configoption_id']]??0);
- $description[] = $configoption['option_name'] . ':' . $oldSub['option_name'] . '=>' . ($newSub['option_name']??'');
- }
- }
- $description = implode("\n",$description);
- $configoptionOrderItem->save([
- 'description' => $product['name'] . '升降级配置:'.$description
- ]);
- }
-
- }
- elseif($upgrade['type']=='product'){ // 产品升降级描述
- $productOrderItems = $OrderItemModel->where('order_id',$orderId)
- ->where('type','upgrade')
- ->select();
- if (!empty($productOrderItems)){
- foreach ($productOrderItems as $productOrderItem){
- $productUpgradeHost = $HostModel->find($productOrderItem['host_id']);
- $oldProduct = $ProductModel->find($productUpgradeHost['product_id']);
- $newProduct = $ProductModel->find($upgrade['rel_id']);
- $subDescription = '';
- if (!empty($new['configoption'])){
- foreach ($new['configoption'] as $k=>$item){
- $productUpgradeConfigoption = $IdcsmartCommonProductConfigoptionModel->find($k);
- if ($IdcsmartCommonLogic->checkQuantity($productUpgradeConfigoption['option_type'])){
- $subDescription .= $productUpgradeConfigoption['option_name'] . ":" . $item[0] . ';';
- }
- }
- }
- $description = '升级/降级产品:' . ($oldProduct['name']??'') . '=>' . ($newProduct['name']??'') . '(' . $subDescription . ')';
- $productOrderItem->save([
- 'description' => $description
- ]);
- }
- }
-
- }
- }
-
- // 原产品可能存在优惠码,更改upgrade表金额
- $hookResults = hook('apply_promo_code',['host_id'=>$upgrade['host_id'],'price'=>$upgrade['price'],'scene'=>'upgrade','duration'=>$upgrade['billing_cycle_time']]);
- foreach ($hookResults as $hookResult){
- if ($hookResult['status']==200){
- $upgradePrice = bcsub($upgrade['price'],$hookResult['data']['discount']??0,2);
- $upgrade->save([
- 'price' => $upgradePrice
- ]);
- }
- }
-
- $hookResults2 = hook('apply_promo_code',['host_id'=>$upgrade['host_id'],'price'=>$upgrade['renew_price'],'scene'=>'upgrade','duration'=>$upgrade['billing_cycle_time']]);
- foreach ($hookResults2 as $hookResult2){
- if ($hookResult2['status']==200){
- $upgradeRenewPrice = bcsub($upgrade['renew_price'],$hookResult2['data']['discount']??0,2);
- $upgrade->save([
- 'renew_price' => $upgradeRenewPrice
- ]);
- }
- }
-
- // 通用商品子模块
- $orderItems = $OrderItemModel->alias('oi')
- ->field('oi.host_id,cp.type,cp.rel_id')
- ->leftJoin('host h','h.id=oi.host_id')
- ->leftJoin('module_idcsmart_common_product cp','cp.product_id=h.product_id')
- ->where('oi.order_id',$orderId)
- ->where('oi.type','host')
- ->select()->toArray();
- $IdcsmartCommonServerHostLinkModel = new \server\idcsmart_common\model\IdcsmartCommonServerHostLinkModel();
- $insert = [];
- foreach ($orderItems as $orderItem){
- if ($orderItem['type']=='server' && !empty($orderItem['rel_id'])){
- $temp = [
- 'host_id' => $orderItem['host_id'],
- 'server_id' => $orderItem['rel_id']
- ];
- $insert[] = $temp;
- }
- }
- $IdcsmartCommonServerHostLinkModel->insertAll($insert);
-
- }
-
-
- return true;
-});
diff --git a/10.3.4/public/plugins/server/mf_cloud/hooks.php b/10.3.4/public/plugins/server/mf_cloud/hooks.php
deleted file mode 100644
index 5678c454..00000000
--- a/10.3.4/public/plugins/server/mf_cloud/hooks.php
+++ /dev/null
@@ -1,100 +0,0 @@
-column('id');
-
- // BackupConfigModel::where('product_id', $param['id'])->delete();
- // ConfigModel::where('product_id', $param['id'])->delete();
- // DataCenterModel::where('product_id', $param['id'])->delete();
- // ImageGroupModel::where('product_id', $param['id'])->delete();
- // ImageModel::where('product_id', $param['id'])->delete();
- // PackageModel::where('product_id', $param['id'])->delete();
-
- // if(!empty($imageId)){
- // HostImageLinkModel::whereIn('image_id', $imageId)->delete();
- // }
- }catch(\Exception $e){
-
- }
- */
-});
-
-add_hook('after_host_delete', function($param){
- try{
- HostLinkModel::where('host_id', $param['id'])->delete();
- }catch(\Exception $e){
-
- }
-});
-
-// 购买流量包后
-add_hook('flow_packet_order_paid', function($param){
- $hostId = $param['host_id'];
- $flow = $param['flow_packet']['capacity'];
- $moduleParam = $param['module_param'];
-
- if(!empty($moduleParam['server']) && $moduleParam['server']['module'] == 'mf_cloud'){
- $hash = \server\mf_cloud\logic\ToolLogic::formatParam($moduleParam['server']['hash']);
-
- $idcsmartCloud = new \server\mf_cloud\idcsmart_cloud\IdcsmartCloud($moduleParam['server']);
- $idcsmartCloud->setIsAgent(isset($hash['account_type']) && $hash['account_type'] == 'agent');
-
- $hostLink = HostLinkModel::where('host_id', $hostId)->find();
- $res = $idcsmartCloud->cloudIncTempTraffic($hostLink['rel_id'] ?? 0, (int)$flow);
- if($res['status'] == 200){
- $description = lang_plugins('log_mf_cloud_buy_flow_packet_success', [
- '{host}' => 'host#'.$hostId.'#'.$moduleParam['host']['name'].'#',
- '{order}' => '#'.$param['order_id'],
- '{flow}' => $flow.'G',
- ]);
-
- // 如果是流量暂停在检查流量
- if($moduleParam['host']['status'] == 'Suspended' && $moduleParam['host']['suspend_type'] == 'overtraffic'){
- if($moduleParam['host']['due_time'] == 0 || time() < $moduleParam['host']['due_time']){
- $res = $idcsmartCloud->netInfo($hostLink['rel_id']);
- if($res['status'] == 'success' && $res['data']['info']['30_day']['float'] < 100){
- //执行解除暂停
- $result = $moduleParam['host']->unsuspendAccount($hostId);
- if ($result['status'] == 200){
- $description .= lang_plugins('log_mf_cloud_buy_flow_packet_and_unsuspend_success');
- }else{
- $description .= lang_plugins('log_mf_cloud_buy_flow_packet_but_unsuspend_fail', ['{reason}'=>$result['msg']]);
- }
- }
- }
- }
- }else{
- $description = lang_plugins('log_mf_cloud_buy_flow_packet_remote_add_fail', [
- '{host}' => 'host#'.$hostId.'#'.$moduleParam['host']['name'].'#',
- '{order}' => '#'.$param['order_id'],
- '{flow}' => $flow.'G',
- ]);
- }
- // 记录日志
- active_log($description, 'host', $hostId);
- }
-});
-
-// 在购买流量包之前
-add_hook('flow_packet_before_order', function($param){
- try{
- $hostLink = hostLinkModel::where('host_id', $param['host']['id'])->find();
- if(!empty($hostLink)){
- $configData = json_decode($hostLink['config_data'], true);
- if(isset($configData['line']['bill_type']) && $configData['line']['bill_type'] !== 'flow'){
- // 不是流量线路,不能购买
- return ['status'=>400, 'msg'=>lang_plugins('mf_cloud_cannot_buy_flow_packet')];
- }
- }
- }catch(PDOException $e){
-
- }
-});
\ No newline at end of file
diff --git a/10.3.4/public/plugins/server/mf_cloud/model/RecommendConfigModel.php b/10.3.4/public/plugins/server/mf_cloud/model/RecommendConfigModel.php
deleted file mode 100644
index a2cc1f7f..00000000
--- a/10.3.4/public/plugins/server/mf_cloud/model/RecommendConfigModel.php
+++ /dev/null
@@ -1,575 +0,0 @@
- 'int',
- 'product_id' => 'int',
- 'name' => 'string',
- 'description' => 'string',
- 'order' => 'int',
- 'data_center_id' => 'int',
- 'line_id' => 'int',
- 'cpu' => 'int',
- 'memory' => 'int',
- 'system_disk_size' => 'int',
- 'system_disk_type' => 'string',
- 'data_disk_size' => 'int',
- 'data_disk_type' => 'string',
- 'network_type' => 'string',
- 'bw' => 'int',
- 'flow' => 'int',
- 'peak_defence' => 'int',
- 'create_time' => 'int',
- ];
-
- /**
- * 时间 2023-02-02
- * @title 添加推荐配置
- * @desc 添加推荐配置
- * @author hh
- * @version v1
- * @param string name - 名称 require
- * @param string description - 描述
- * @param int order - 排序ID
- * @param int data_center_id - 数据中心ID require
- * @param int cpu - 核心数 require
- * @param int memory - 内存大小 require
- * @param int system_disk_size - 系统盘大小 require
- * @param string system_disk_type - 系统盘类型
- * @param int data_disk_size - 数据盘大小
- * @param string data_disk_type - 数据盘类型
- * @param string network_type - 网络类型(normal=经典网络,vpc=VPC网络) require
- * @param int bw - 带宽 require
- * @param int peak_defence - 防御峰值
- * @return int id - 推荐配置ID
- */
- public function recommendConfigCreate($param){
- $DataCenterModel = DataCenterModel::find($param['data_center_id']);
- if(empty($DataCenterModel)){
- return ['status'=>400, 'msg'=>lang_plugins('data_center_not_found')];
- }
- $param['product_id'] = $DataCenterModel['product_id'];
-
- $check = $this->recommendConfigCheck($param);
- if(!$check['data']['validate']){
- return ['status'=>400, 'msg'=>implode(',', array_column($check['data']['error'], 'msg'))];
- }
- $ConfigLimitModel = new ConfigLimitModel();
- $check = $ConfigLimitModel->checkConfigLimit($param['product_id'], $param);
- if($check['status'] != 200){
- return ['status'=>400, 'msg'=>lang_plugins('this_config_in_recommend_config_cannot_add')];
- }
-
- $param['description'] = $param['description'] ?? '';
- $param['order'] = $param['order'] ?? 0;
- $param['data_disk_size'] = $param['data_disk_size'] ?? 0;
- $param['peak_defence'] = $param['peak_defence'] ?? 0;
- $param['system_disk_type'] = $param['system_disk_type'] ?? '';
- $param['data_disk_type'] = $param['data_disk_type'] ?? '';
- $param['create_time'] = time();
- if(empty($param['data_disk_size'])){
- $param['data_disk_type'] = '';
- }
-
- $recommendConfig = $this->create($param, ['product_id','name','description','order','data_center_id','line_id','cpu','memory','system_disk_size','system_disk_type','data_disk_size','data_disk_type','network_type','bw','flow','peak_defence','create_time']);
-
- $description = lang_plugins('log_mf_cloud_add_recommend_config_success', [
- '{name}' => $param['name'],
- '{cpu}' => $param['cpu'],
- '{memory}' => $param['memory'],
- ]);
- active_log($description, 'product', $param['product_id']);
-
- $result = [
- 'status' => 200,
- 'msg' => lang_plugins('create_success'),
- 'data' => [
- 'id' => (int)$recommendConfig->id,
- ],
- ];
- return $result;
- }
-
- /**
- * 时间 2023-02-03
- * @title 推荐配置列表
- * @desc 推荐配置列表
- * @author hh
- * @version v1
- * @param int page - 页数
- * @param int limit - 每页条数
- * @param string orderby - 排序(id,order)
- * @param string sort - 升降序(asc,desc)
- * @param int product_id - 商品ID
- * @return array list - 列表数据
- * @return int list[].id - 推荐配置ID
- * @return int list[].product_id - 商品ID
- * @return string list[].name - 名称
- * @return string list[].description - 描述
- * @return string list[].order - 排序ID
- * @return int list[].data_center_id - 数据中心ID
- * @return int list[].cpu - CPU
- * @return int list[].memory - 内存
- * @return int list[].system_disk_size - 系统盘
- * @return string list[].system_disk_type - 系统盘类型
- * @return int list[].data_disk_size - 数据盘
- * @return string list[].data_disk_type - 数据盘类型
- * @return string list[].network_type - 网络类型(normal=经典网络,vpc=VPC网络)
- * @return int list[].bw - 带宽
- * @return int list[].peak_defence - 防护峰值
- * @return int list[].create_time - 创建时间
- * @return int count - 总条数
- */
- public function recommendConfigList($param){
- $param['page'] = isset($param['page']) ? ($param['page'] ? (int)$param['page'] : 1) : 1;
- $param['limit'] = isset($param['limit']) ? ($param['limit'] ? (int)$param['limit'] : config('idcsmart.limit')) : config('idcsmart.limit');
- $param['sort'] = isset($param['sort']) ? ($param['sort'] ?: config('idcsmart.sort')) : config('idcsmart.sort');
-
- if (!isset($param['orderby']) || !in_array($param['orderby'], ['id','order'])){
- $param['orderby'] = 'rc.id';
- }
-
- $where = [];
- if(!empty($param['product_id'])){
- $where[] = ['rc.product_id', '=', $param['product_id']];
- }
-
- $list = $this
- ->alias('rc')
- ->field('rc.*,dc.country_id,dc.city')
- ->where($where)
- ->leftJoin('module_mf_cloud_data_center dc', 'rc.data_center_id=dc.id')
- ->page($param['page'], $param['limit'])
- ->order($param['orderby'], $param['sort'])
- ->select()
- ->toArray();
-
- $count = $this
- ->alias('rc')
- ->where($where)
- ->count();
-
- return ['list'=>$list, 'count'=>$count];
- }
-
- /**
- * 时间 2023-02-02
- * @title 修改推荐配置
- * @desc 修改推荐配置
- * @author hh
- * @version v1
- * @param int id - 推荐配置ID require
- * @param string name - 名称 require
- * @param string description - 描述
- * @param int order - 排序ID
- * @param int data_center_id - 数据中心ID require
- * @param int cpu - 核心数 require
- * @param int memory - 内存大小 require
- * @param int system_disk_size - 系统盘大小 require
- * @param string system_disk_type - 系统盘类型
- * @param int data_disk_size - 数据盘大小
- * @param string data_disk_type - 数据盘类型
- * @param string network_type - 网络类型(normal=经典网络,vpc=VPC网络) require
- * @param int bw - 带宽 require
- * @param int peak_defence - 防御峰值
- * @return int id - 推荐配置ID
- */
- public function recommendConfigUpdate($param){
- $recommendConfig = $this->find($param['id']);
- if(empty($recommendConfig)){
- return ['status'=>400, 'msg'=>lang_plugins('recommend_config_not_found')];
- }
- $DataCenterModel = DataCenterModel::find($param['data_center_id']);
- if(empty($DataCenterModel) || $recommendConfig['product_id'] != $DataCenterModel['product_id']){
- return ['status'=>400, 'msg'=>lang_plugins('data_center_not_found')];
- }
- $line = LineModel::find($param['line_id']);
- if(empty($line)){
- return ['status'=>400, 'msg'=>lang_plugins('line_not_found')];
- }
-
- $param['product_id'] = $recommendConfig['product_id'];
-
- $check = $this->recommendConfigCheck($param);
- if(!$check['data']['validate']){
- return ['status'=>400, 'msg'=>implode(',', array_column($check['data']['error'], 'msg'))];
- }
- $ConfigLimitModel = new ConfigLimitModel();
- $check = $ConfigLimitModel->checkConfigLimit($param['product_id'], $param);
- if($check['status'] != 200){
- return ['status'=>400, 'msg'=>lang_plugins('this_config_in_recommend_config_cannot_add')];
- }
-
- $param['system_disk_type'] = $param['system_disk_type'] ?? '';
- $param['data_disk_type'] = $param['data_disk_type'] ?? '';
-
- $this->update($param, ['id'=>$recommendConfig['id']], ['name','description','order','data_center_id','line_id','cpu','memory','system_disk_size','system_disk_type','data_disk_size','data_disk_type','network_type','bw','flow','peak_defence']);
-
- $des = [
- 'name' => lang_plugins('mf_cloud_recommend_config_name'),
- 'description' => lang_plugins('mf_cloud_recommend_config_description'),
- 'order' => lang_plugins('mf_cloud_recommend_config_order'),
- 'data_center' => lang_plugins('data_center'),
- 'line' => lang_plugins('mf_cloud_line_name'),
- 'cpu' => 'CPU',
- 'memory' => lang_plugins('memory'),
- 'system_disk' => lang_plugins('system_disk'),
- 'data_disk' => lang_plugins('data_disk'),
- 'network_type' => lang_plugins('mf_cloud_recommend_config_network_type'),
- 'bw' => lang_plugins('bw'),
- 'flow' => lang_plugins('flow'),
- 'peak_defence' => lang_plugins('mf_cloud_recommend_config_peak_defence'),
- ];
-
- $networkType = [
- 'normal' => lang_plugins('mf_cloud_recommend_config_normal_network'),
- 'vpc' => lang_plugins('mf_cloud_recommend_config_vpc_network'),
- ];
-
- $oldDataCenter = DataCenterModel::find( $recommendConfig['data_center_id'] );
- $oldLine = LineModel::find($recommendConfig['line_id']);
-
- $old = $recommendConfig->toArray();
- $old['data_center'] = $oldDataCenter ? $oldDataCenter->getDataCenterName() : lang_plugins('null');
- $old['line'] = $oldLine['name'] ?? lang_plugins('null');
- $old['system_disk'] = $old['system_disk_type'].$old['system_disk_size'].'G';
- $old['data_disk'] = $old['data_disk_type'].$old['data_disk_size'].'G';
- $old['network_type'] = $networkType[ $old['network_type'] ];
-
- $param['data_center'] = $DataCenterModel->getDataCenterName();
- $param['line'] = $line['name'];
- $param['system_disk'] = $param['system_disk_type'].$param['system_disk_size'].'G';
- $param['data_disk'] = $param['data_disk_type'].$param['data_disk_size'].'G';
- $param['network_type'] = $networkType[ $param['network_type'] ];
-
- $description = ToolLogic::createEditLog($old, $param, $des, ['description']);
- if(!empty($description)){
- $description = lang_plugins('log_mf_cloud_modify_recommend_config_success', ['{detail}'=>$description]);
- active_log($description, 'product', $param['product_id']);
- }
-
- $result = [
- 'status' => 200,
- 'msg' => lang_plugins('update_success'),
- ];
- return $result;
- }
-
- /**
- * 时间 2023-01-31
- * @title 删除配置
- * @desc 删除配置
- * @author hh
- * @version v1
- * @param int id - 配置ID require
- */
- public function recommendConfigDelete($id){
- $recommendConfig = $this->find($id);
- if(empty($recommendConfig)){
- return ['status'=>400, 'msg'=>lang_plugins('recommend_config_not_found')];
- }
-
- $this->where('id', $id)->delete();
-
- $description = lang_plugins('log_mf_cloud_delete_recommend_config_success', [
- '{name}' => $recommendConfig['name'],
- '{cpu}' => $recommendConfig['cpu'],
- '{memory}' => $recommendConfig['memory'],
- ]);
- active_log($description, 'product', $recommendConfig['product_id']);
-
- $result = [
- 'status' => 200,
- 'msg' => lang_plugins('delete_success'),
- ];
- return $result;
- }
-
- /**
- * 时间 2023-02-02
- * @title 验证推荐配置是否存在
- * @desc 验证推荐配置是否存在
- * @author hh
- * @version v1
- * @param int data_center_id - 数据中心ID require
- * @param int cpu - 核心数 require
- * @param int memory - 内存大小 require
- * @param int system_disk_size - 系统盘大小 require
- * @param string system_disk_type - 系统盘类型
- * @param int data_disk_size - 数据盘大小
- * @param string data_disk_type - 数据盘类型
- * @param string network_type - 网络类型(normal=经典网络,vpc=VPC网络) require
- * @param int bw - 带宽 require
- * @param int peak_defence - 防御峰值
- */
- public function recommendConfigCheck(&$param){
- $result = [
- 'status' => 200,
- 'msg' => lang_plugins('success_message'),
- 'data' => [
- 'validate' => true,
- 'error' => []
- ]
- ];
- $param['product_id'] = 0;
- // 验证数据中心
- $dataCenter = DataCenterModel::find($param['data_center_id']);
- if(empty($dataCenter)){
- $result['data']['error'][] = [
- 'field' => 'data_center_id',
- 'msg' => lang_plugins('data_center_not_found'),
- ];
- }else{
- $param['product_id'] = $dataCenter['product_id'];
- }
- $line = LineModel::find($param['line_id']);
- if(empty($line)){
- $result['data']['error'][] = [
- 'field' => 'line_id',
- 'msg' => lang_plugins('line_not_found'),
- ];
- }
- // 验证CPU
- $cpu = OptionModel::where('product_id', $param['product_id'])->where('rel_type', OptionModel::CPU)->where('value', $param['cpu'])->find();
- if(empty($cpu)){
- $result['data']['error'][] = [
- 'field' => 'cpu',
- 'msg' => lang_plugins('mf_cloud_please_check_cpu', ['{cpu}'=>$param['cpu']]),
- ];
- }
- // 验证内存
- $memory = OptionModel::where('product_id', $param['product_id'])
- ->where('rel_type', OptionModel::MEMORY)
- ->where(function($query) use ($param) {
- $query->whereOr('value', $param['memory'])
- ->whereOr('min_value<='.$param['memory'].' AND max_value>='.$param['memory']);
- })
- ->select()
- ->toArray();
- $memoryUnit = ConfigModel::where('product_id', $param['product_id'])->value('memory_unit') ?? 'GB';
- if(!empty($memory)){
- $match = false;
- foreach($memory as $v){
- if($v['type'] == 'radio'){
- $match = true;
- break;
- }else{
- if(($param['memory'] - $v['min_value'])%$v['step'] == 0){
- $match = true;
- break;
- }
- }
- }
- if(!$match){
- $result['data']['error'][] = [
- 'field' => 'memory',
- 'msg' => lang_plugins('mf_cloud_please_check_memory', ['{memory}'=>$param['memory'].$memoryUnit]),
- ];
- }
- }else{
- $result['data']['error'][] = [
- 'field' => 'memory',
- 'msg' => lang_plugins('mf_cloud_please_check_memory', ['{memory}'=>$param['memory'].$memoryUnit]),
- ];
- }
- // 验证系统盘
- $systemDiskSize = OptionModel::where('product_id', $param['product_id'])
- ->where('rel_type', OptionModel::SYSTEM_DISK)
- ->where(function($query) use ($param) {
- $query->whereOr('value', $param['system_disk_size'])
- ->whereOr('min_value<='.$param['system_disk_size'].' AND max_value>='.$param['system_disk_size']);
- })
- ->select()
- ->toArray();
- $param['system_disk_type'] = $param['system_disk_type'] ?? '';
- if(!empty($systemDiskSize)){
- $match = false;
- foreach($systemDiskSize as $v){
- // 先匹配类型,类型不对直接pass
- $otherConfig = json_decode($v['other_config'], true);
- if($otherConfig['disk_type'] !== $param['system_disk_type']){
- continue;
- }
- if($v['type'] == 'radio'){
- $match = true;
- break;
- }else{
- if(($param['system_disk_size'] - $v['min_value'])%$v['step'] == 0){
- $match = true;
- break;
- }
- }
- }
- if(!$match){
- $result['data']['error'][] = [
- 'field' => 'system_disk_size',
- 'msg' => lang_plugins('mf_cloud_please_check_system_disk', ['{system_disk}'=>$param['system_disk_type'].$param['system_disk_size']]),
- ];
- }
- }else{
- $result['data']['error'][] = [
- 'field' => 'system_disk_size',
- 'msg' => lang_plugins('mf_cloud_please_check_system_disk', ['{system_disk}'=>$param['system_disk_type'].$param['system_disk_size']]),
- ];
- }
- // 验证数据盘
- if(isset($param['data_disk_size']) && $param['data_disk_size']>0){
- $dataDiskSize = OptionModel::where('product_id', $param['product_id'])
- ->where('rel_type', OptionModel::DATA_DISK)
- ->where(function($query) use ($param) {
- $query->whereOr('value', $param['data_disk_size'])
- ->whereOr('min_value<='.$param['data_disk_size'].' AND max_value>='.$param['data_disk_size']);
- })
- ->select()
- ->toArray();
- $param['data_disk_type'] = $param['data_disk_type'] ?? '';
- if(!empty($dataDiskSize)){
- $match = false;
- foreach($dataDiskSize as $v){
- // 先匹配类型,类型不对直接pass
- $otherConfig = json_decode($v['other_config'], true);
- if($otherConfig['disk_type'] !== $param['data_disk_type']){
- continue;
- }
- if($v['type'] == 'radio'){
- $match = true;
- break;
- }else{
- if(($param['data_disk_size'] - $v['min_value'])%$v['step'] == 0){
- $match = true;
- break;
- }
- }
- }
- if(!$match){
- $result['data']['error'][] = [
- 'field' => 'data_disk_size',
- 'msg' => lang_plugins('mf_cloud_please_check_data_disk', ['{data_disk}'=>$param['data_disk_type'].$param['data_disk_size']]),
- ];
- }
- }else{
- $result['data']['error'][] = [
- 'field' => 'data_disk_size',
- 'msg' => lang_plugins('mf_cloud_please_check_data_disk', ['{data_disk}'=>$param['data_disk_type'].$param['data_disk_size']]),
- ];
- }
- }
- $networkType = [
- 'normal' => lang_plugins('mf_cloud_recommend_config_normal_network'),
- 'vpc' => lang_plugins('mf_cloud_recommend_config_vpc_network'),
- ];
- // 验证网络类型
- $config = ConfigModel::where('product_id', $param['product_id'])->find();
- if(!empty($config)){
- if($config['support_'.$param['network_type'].'_network'] != 1){
- $result['data']['error'][] = [
- 'field' => 'network_type',
- 'msg' => lang_plugins('mf_cloud_please_check_network_type', ['{network_type}'=>$networkType[$param['network_type']]]),
- ];
- }
- }
- if(!empty($line)){
- if($line['bill_type'] == 'bw'){
- if(isset($param['bw']) && !empty($param['bw']) && is_numeric($param['bw'])){
- // 验证带宽
- $bw = OptionModel::where('product_id', $param['product_id'])
- ->where('rel_type', OptionModel::LINE_BW)
- ->where('rel_id', $line['id'])
- ->where(function($query) use ($param) {
- $query->whereOr('value', $param['bw'])
- ->whereOr('min_value<='.$param['bw'].' AND max_value>='.$param['bw']);
- })
- ->select()
- ->toArray();
- $match = false;
- foreach($bw as $v){
- if($v['type'] == 'radio'){
- $match = true;
- break;
- }else{
- if(($param['bw'] - $v['min_value'])%$v['step'] == 0){
- $match = true;
- break;
- }
- }
- }
- if(!$match){
- $result['data']['error'][] = [
- 'field' => 'bw',
- 'msg' => lang_plugins('mf_cloud_please_check_line_bw', ['{line}'=>$line['name'],'{bw}'=>$param['bw'] ]),
- ];
- }
- }else{
- $result['data']['error'][] = [
- 'field' => 'bw',
- 'msg' => lang_plugins('please_input_bw'),
- ];
- }
- $param['flow'] = 0;
- }else{
- if(isset($param['flow']) && is_numeric($param['flow']) && $param['flow']>=0){
- // 验证带宽
- $flow = OptionModel::where('product_id', $param['product_id'])
- ->where('rel_type', OptionModel::LINE_FLOW)
- ->where('rel_id', $line['id'])
- ->where('value', $param['flow'])
- ->find();
- if(empty($flow)){
- $result['data']['error'][] = [
- 'field' => 'bw',
- 'msg' => lang_plugins('mf_cloud_please_check_line_flow', ['{line}'=>$line['name'],'{flow}'=>$param['flow']]),
- ];
- }
- }else{
- $result['data']['error'][] = [
- 'field' => 'flow',
- 'msg' => lang_plugins('please_input_line_flow'),
- ];
- }
- $param['bw'] = 0;
- }
- // 验证防御峰值
- if(isset($param['peak_defence']) && $param['peak_defence']>0){
- if($line['defence_enable'] != 1){
- $result['data']['error'][] = [
- 'field' => 'peak_defence',
- 'msg' => lang_plugins('mf_cloud_please_check_line_peak_defence', ['{peak_defence}'=>$param['peak_defence']]),
- ];
- }else{
- // 带宽没有关联线路直接不管
- $defence = OptionModel::where('product_id', $param['product_id'])
- ->where('rel_type', OptionModel::LINE_DEFENCE)
- ->whereIn('rel_id', $line['id'])
- ->where('value', $param['peak_defence'])
- ->value('id');
- if(empty($defence)){
- $result['data']['error'][] = [
- 'field' => 'peak_defence',
- 'msg' => lang_plugins('mf_cloud_please_check_line_peak_defence', ['{peak_defence}'=>$param['peak_defence']]),
- ];
- }
- }
- }
- }
- if(!empty($result['data']['error'])){
- $result['data']['validate'] = false;
- }
- return $result;
- }
-
-
-}
\ No newline at end of file
diff --git a/10.3.4/public/plugins/server/mf_cloud/template/admin/js/mf_cloud.js b/10.3.4/public/plugins/server/mf_cloud/template/admin/js/mf_cloud.js
deleted file mode 100644
index d88b06e7..00000000
--- a/10.3.4/public/plugins/server/mf_cloud/template/admin/js/mf_cloud.js
+++ /dev/null
@@ -1,2869 +0,0 @@
-const template = document.getElementsByClassName('common_config')[0]
-Vue.prototype.lang = window.lang
-new Vue({
- data () {
- return {
- host: location.origin,
- id: '',
- tabs: 'duration', // duration,calc,data_center,store,limit,system,recommend,other
- hover: true,
- tableLayout: false,
- delVisible: false,
- loading: false,
- currency_prefix: JSON.parse(localStorage.getItem('common_set')).currency_prefix || '¥',
- currency_suffix: JSON.parse(localStorage.getItem('common_set')).currency_suffix || '',
- optType: 'add', // 新增/编辑
- comTitle: '',
- delTit: '',
- delType: '',
- delId: '',
- submitLoading: false,
- /* 周期 */
- cycleData: [],
- dataModel: false,
- cycleModel: false,
- cycleForm: {
- product_id: '',
- name: '',
- num: '',
- unit: 'month',
- price_factor: null
- },
- cycleTime: [
- {
- value: 'hour',
- label: lang.hour
- },
- {
- value: 'day',
- label: lang.day
- },
- {
- value: 'month',
- label: lang.natural_month
- },
- ],
- cycleColumns: [
- {
- colKey: 'name',
- title: lang.cycle_name,
- ellipsis: true
- },
- {
- colKey: 'unit',
- title: lang.cycle_time,
- ellipsis: true
- },
- {
- colKey: 'price_factor',
- title: lang.price_factor,
- ellipsis: true,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- cycleRules: {
- name: [
- { required: true, message: lang.input + lang.cycle_name, type: 'error' },
- {
- validator: val => val?.length <= 10, message: lang.verify8 + '1-10', type: 'warning'
- }
- ],
- num: [
- { required: true, message: lang.input + lang.cycle_time, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + lang.verify16, type: 'warning'
- },
- {
- validator: val => val > 0 && val <= 999, message: lang.cycle_time + '1-999', type: 'warning'
- }
- ],
- // 系统相关
- image_group_id: [
- { required: true, message: lang.select + lang.system_classify, type: 'error' }
- ],
- rel_image_id: [
- { required: true, message: lang.input + lang.opt_system + 'ID', type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + lang.verify16, type: 'warning'
- },
- ],
- price: [
- { required: true, message: lang.input + lang.box_title34, type: 'error' },
- {
- pattern: /^\d+(\.\d{0,2})?$/, message: lang.verify12, type: 'warning'
- },
- {
- validator: val => val >= 0, message: lang.verify12, type: 'warning'
- }
- ],
- icon: [
- { required: true, message: lang.select + lang.mf_icon, type: 'error', trigger: 'change' }
- ],
- },
- /* 操作系统 */
- systemGroup: [],
- systemList: [],
- systemParams: {
- product_id: '',
- page: 1,
- limit: 1000,
- image_group_id: '',
- keywords: ''
- },
- systemModel: false,
- createSystem: { // 添加操作系统表单
- image_group_id: '',
- name: '',
- charge: 0,
- price: '',
- enable: 0,
- rel_image_id: ''
- },
- systemColumns: [ // 套餐表格
- {
- colKey: 'id',
- title: lang.order_index,
- width: 100,
- ellipsis: true
- },
- {
- colKey: 'image_group_name',
- title: lang.system_classify,
- width: 200,
- ellipsis: true
- },
- {
- colKey: 'name',
- title: lang.system_name,
- ellipsis: true,
- },
- {
- colKey: 'charge',
- title: lang.mf_charge,
- width: 200
- },
- {
- colKey: 'price',
- title: lang.box_title34,
- },
- {
- colKey: 'enable',
- title: lang.mf_enable,
- width: 200
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- groupColumns: [ // 套餐表格
- {
- // 列拖拽排序必要参数
- colKey: 'drag',
- width: 20,
- className: 'drag-icon'
- },
- {
- colKey: 'image_group_name',
- title: lang.system_classify,
- ellipsis: true,
- className: 'group-column'
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- // 操作系统图标
- iconList: ['Windows', 'CentOS', 'Ubuntu', 'Debian', 'ESXi', 'XenServer', 'FreeBSD', 'Fedora', '其他', 'ArchLinux', 'Rocky', 'OpenEuler', 'AlmaLinux'],
- iconSelecet: [],
- classModel: false,
- classParams: {
- id: '',
- name: '',
- icon: ''
- },
- popupProps: {
- overlayClassName: `custom-select`,
- overlayStyle: (trigger) => ({ width: `${trigger.offsetWidth}px` }),
- },
- /* 其他设置 */
- otherForm: {
- product_id: '',
- host_prefix: '',
- host_length: '',
- ipv6_num: '',
- nat_acl_limit: '',
- nat_web_limit: '',
- niccard: 0,
- cpu_model: 0,
- node_priority: 1,
- ip_mac_bind: 0,
- support_ssh_key: 0,
- rand_ssh_port: 0,
- backup_enable: 0,
- snap_enable: 0,
- reinstall_sms_verify: 0,
- reset_password_sms_verify: 0,
- snap_data: [],
- backup_data: [],
- resource_package: [],
- is_agent: '',
- type: '', // host: kvm专业版 lightHost: kvm轻量版 hyperv :Hyper-V
- disk_limit_switch: 0,
- disk_limit_num: null,
- free_disk_switch: 0,
- free_disk_size: null
- },
- versionArr: [
- { value: 'host', label: lang.kvm_major },
- { value: 'lightHost', label: lang.kvm_light },
- { value: 'hyperv', label: 'Hyper-V' },
- ],
- rulesList: [ // 平衡规则
- { value: 1, label: lang.mf_rule1 },
- { value: 2, label: lang.mf_rule2 },
- { value: 3, label: lang.mf_rule3 },
- ],
- dataRules: {
- data_center_id: [
- { required: true, message: `${lang.select}${lang.area}`, type: 'error' },
- ],
- line_id: [
- { required: true, message: `${lang.select}${lang.line_name}`, type: 'error' },
- ],
- flow: [
- { required: true, message: `${lang.input}${lang.cloud_flow}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '0-999999' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 0 && val <= 999999, message: lang.input + '0-999999' + lang.verify2, type: 'warning'
- }
- ],
- host_prefix: [
- { required: true, message: `${lang.input}${lang.host_prefix}`, type: 'error' },
- {
- pattern: /^[A-Za-z][a-zA-Z0-9_.]{0,9}$/, message: lang.verify8 + '1-10', type: 'warning'
- },
- ],
- host_length: [
- { required: true, message: `${lang.input}${lang.mf_tip2}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.mf_tip2, type: 'warning'
- },
- ],
- country_id: [
- { required: true, message: lang.select + lang.country_area, type: 'error' },
- ],
- city: [
- { required: true, message: lang.select + lang.city, type: 'error' },
- ],
- cloud_config: [
- { required: true, message: lang.select + lang.city, type: 'error' },
- ],
- cloud_config_id: [
- { required: true, message: lang.input + 'ID', type: 'error' },
- ],
- area: [
- { required: true, message: `${lang.input}${lang.area}${lang.nickname}`, type: 'error' },
- ],
- name: [
- { required: true, message: `${lang.input}${lang.box_label23}`, type: 'error' },
- ],
- description: [
- { required: true, message: `${lang.input}${lang.description}`, type: 'error' },
- ],
- order: [
- { required: true, message: `${lang.input}${lang.sort}ID`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.verify7, type: 'warning'
- },
- {
- validator: val => val >= 0, message: lang.verify7, type: 'warning'
- }
- ],
- cpu: [
- { required: true, message: `${lang.input}CPU`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-240' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 240, message: lang.input + '1-240' + lang.verify2, type: 'warning'
- }
- ],
- memory: [
- { required: true, message: `${lang.input}${lang.memory}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-512' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 512, message: lang.input + '1-512' + lang.verify2, type: 'warning'
- }
- ],
- system_disk_size: [
- { required: true, message: `${lang.input}${lang.system_disk_size}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-1048576' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 1048576, message: lang.input + '1-1048576' + lang.verify2, type: 'warning'
- }
- ],
- data_disk_size: [{
- pattern: /^[0-9]*$/, message: lang.input + '1-1048576' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 1048576, message: lang.input + '1-1048576' + lang.verify2, type: 'warning'
- }
- ],
- network_type: [
- { required: true, message: lang.select + lang.net_type, type: 'error' },
- ],
- bw: [
- { required: true, message: `${lang.input}${lang.bw}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-30000' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 30000, message: lang.input + '1-30000' + lang.verify2, type: 'warning'
- }
- ],
- peak_defence: [{
- pattern: /^[0-9]*$/, message: lang.input + '1-999999' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 999999, message: lang.input + '1-999999' + lang.verify2, type: 'warning'
- }],
- min_memory: [
- { required: true, message: `${lang.input}${lang.memory}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-512' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 512, message: lang.input + '1-512' + lang.verify2, type: 'warning'
- }
- ],
- max_memory: [
- { required: true, message: `${lang.input}${lang.memory}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-512' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 512, message: lang.input + '1-512' + lang.verify2, type: 'warning'
- }
- ],
- line_id: [
- { required: true, message: `${lang.select}${lang.bw_line}`, type: 'error' },
- ],
- min_bw: [
- { required: true, message: `${lang.input}${lang.min_value}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-30000' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 30000, message: lang.input + '1-30000' + lang.verify2, type: 'warning'
- }
- ],
- max_bw: [
- { required: true, message: `${lang.input}${lang.max_value}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-30000' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 30000, message: lang.input + '1-30000' + lang.verify2, type: 'warning'
- }
- ],
- },
- backupColumns: [ // 备份表格
- {
- colKey: 'id',
- title: lang.order_index,
- width: 160
- },
- {
- colKey: 'num',
- title: lang.allow_back_num,
- ellipsis: true,
- width: 180
- },
- {
- colKey: 'price',
- title: lang.min_cycle_price,
- className: 'back-price'
- },
- ],
- snappColumns: [ // 快照表格
- {
- colKey: 'id',
- title: lang.order_index,
- width: 160
- },
- {
- colKey: 'num',
- title: lang.allow_snap_num,
- width: 180,
- ellipsis: true
- },
- {
- colKey: 'price',
- title: lang.min_cycle_price,
- className: 'back-price'
- },
- ],
- resourceColumns: [ // 资源包
- {
- colKey: 'id',
- title: lang.order_index,
- width: 160
- },
- {
- colKey: 'rid',
- title: `${lang.resource_package}ID`,
- width: 180,
- ellipsis: true
- },
- {
- colKey: 'name',
- title: `${lang.resource_package}${lang.nickname}`,
- className: 'back-price'
- },
- ],
- backList: [],
- snapList: [],
- resourceList: [],
- backLoading: false,
- snapLoading: false,
- backAllStatus: false,
- /* 计算配置 */
- cpuList: [],
- cpuLoading: false,
- memoryList: [],
- memoryLoading: false,
- memoryType: '', // 内存方式
- cpuColumns: [ // cpu表格
- {
- colKey: 'value',
- title: `CPU(${lang.cores})`,
- width: 300
- },
- {
- colKey: 'price',
- title: lang.box_title34,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- memoryColumns: [ // memory表格
- {
- colKey: 'value',
- title: `${lang.memory}(GB)`,
- width: 300
- },
- {
- colKey: 'price',
- title: lang.box_title34,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- calcType: '', // cpu, memory
- calcForm: {
- // cpu
- product_id: '',
- cpuValue: '', // cpu里面的value, 提交的时候转换
- price: [],
- other_config: {
- advanced_cpu: '',
- cpu_limit: '',
- ipv6_num: '',
- disk_type: ''
- },
- // memory
- type: '',
- value: '',
- min_value: '',
- max_value: '',
- step: '',
- calcForm: 'GB',
- // 性能
- read_bytes: '',
- write_bytes: '',
- read_iops: '',
- write_iops: ''
- },
- calcModel: false,
- configType: [
- { value: 'radio', label: lang.mf_radio },
- { value: 'step', label: lang.mf_step },
- { value: 'total', label: lang.mf_total },
- ],
- calcRules: { // 计算配置验证
- value: [
- { required: true, message: `${lang.input}${lang.bw}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '0-30000' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 0 && val <= 30000, message: lang.input + '0-30000' + lang.verify2, type: 'warning'
- }
- ],
- cpuValue: [
- { required: true, message: `${lang.input}${lang.mf_cores}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + '1-240' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 240, message: lang.input + '1-240' + lang.verify2, type: 'warning'
- }
- ],
- type: [
- { required: true, message: `${lang.select}${lang.config}${lang.mf_way}`, type: 'error' },
- ],
- price: [
- {
- pattern: /^\d+(\.\d{0,2})?$/, message: lang.input + lang.money, type: 'warning'
- },
- {
- validator: val => val >= 0 && val <= 999999, message: lang.verify12, type: 'warning'
- }
- ],
- min_value: [
- { required: true, message: `${lang.input}${lang.min_value}`, type: 'error' },
- {
- pattern: /^([1-9][0-9]*)$/, message: lang.input + '1~1048576' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 1 && val <= 1048576, message: lang.input + '1~1048576' + lang.verify2, type: 'warning'
- }
- ],
- max_value: [
- { required: true, message: `${lang.input}${lang.max_value}`, type: 'error' },
- {
- pattern: /^([1-9][0-9]*)$/, message: lang.input + '2~1048576' + lang.verify2, type: 'warning'
- },
- {
- validator: val => val >= 2 && val <= 1048576, message: lang.input + '2~1048576' + lang.verify2, type: 'warning'
- }
- ],
- step: [
- { required: true, message: `${lang.input}${lang.min_step}`, type: 'error' },
- {
- pattern: /^([1-9][0-9]*)$/, message: lang.input + lang.verify16, type: 'warning'
- },
- ],
- read_bytes: [
- { required: true, message: `${lang.input}`, type: 'error' },
- { validator: this.checkLimit }
- ],
- write_bytes: [
- { required: true, message: `${lang.input}`, type: 'error' },
- { validator: this.checkLimit }
- ],
- read_iops: [
- { required: true, message: `${lang.input}`, type: 'error' },
- { validator: this.checkLimit }
- ],
- write_iops: [
- { required: true, message: `${lang.input}`, type: 'error' },
- { validator: this.checkLimit }
- ],
- traffic_type: [
- { required: true, message: `${lang.select}${lang.traffic_type}`, type: 'error' },
- ],
- bill_cycle: [
- { required: true, message: `${lang.select}${lang.billing_cycle}`, type: 'error' },
- ],
- },
- isAdvance: false, // 是否展开高级配置
- /* 存储配置 */
- systemDisk: [],
- systemLoading: false,
- systemType: '', // 系统盘类型
- dataDisk: [],
- dataLoading: false,
- diskType: '', // 数据盘类型
- systemDiskColumns: [
- {
- colKey: 'value',
- title: `${lang.system_disk_size}(GB)`,
- width: 300
- },
- {
- colKey: 'price',
- title: lang.box_title34,
- },
- {
- colKey: 'type',
- title: lang.disk,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- diskColumns: [],
- store_limit: 0, // 性能限制
- systemLimitList: [],
- systemLimitLoading: false,
- diskLimitLoading: false,
- diskLimitList: [],
- natureColumns: [ // 性能表格
- {
- colKey: 'id',
- title: lang.index_text8,
- width: 100,
- ellipsis: true,
- },
- {
- colKey: 'capacity_size',
- title: `${lang.capacity_size}(GB)`,
- width: 200
- },
- {
- colKey: 'read_bytes',
- title: `${lang.random_read}(MB/s)`,
- ellipsis: true,
- },
- {
- colKey: 'write_bytes',
- title: `${lang.random_write}(MB/s)`,
- ellipsis: true,
- },
- {
- colKey: 'read_iops',
- title: `${lang.read_iops}(IOPS/s)`,
- ellipsis: true,
- },
- {
- colKey: 'write_iops',
- title: `${lang.write_iops}(IOPS/s)`,
- ellipsis: true,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- disabledWay: false, // 配置方式是否可选
- natureModel: false,
- /* 数据中心 */
- dataList: [],
- dataColumns: [
- {
- colKey: 'order',
- title: lang.index_text8,
- width: 100,
- ellipsis: true,
- },
- {
- colKey: 'country_name',
- title: lang.country,
- width: 150,
- ellipsis: true,
- className: 'country-td',
- },
- {
- colKey: 'city',
- title: lang.city,
- width: 150,
- ellipsis: true,
- className: 'city-td',
- },
- {
- colKey: 'area',
- title: `${lang.area}${lang.nickname}`,
- width: 150,
- ellipsis: true,
- className: 'area-td',
- },
- {
- colKey: 'line',
- title: lang.line_name,
- className: 'line-td',
- width: 250,
- ellipsis: true,
- },
- {
- colKey: 'price',
- title: lang.box_title34,
- className: 'line-td',
- ellipsis: true,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120,
- className: 'line-td'
- },
- ],
- dataForm: { // 新建数据中心
- country_id: '',
- city: '',
- area: '',
- cloud_config: 'node',
- cloud_config_id: '',
- order: null
- },
- countryList: [],
- // 配置选项
- dataConfig: [
- { value: 'node', lable: lang.node + 'ID' },
- { value: 'area', lable: lang.area + 'ID' },
- { value: 'node_group', lable: lang.node_group + 'ID' },
- ],
- /* 线路相关 */
- lineType: '', // 新增,编辑线路,新增的时候本地操作,保存一次性提交
- subType: '', // 线路子项类型, line_bw, line_flow, line_defence, line_ip
- lineForm: {
- country_id: '', // 线路国家
- city: '', // 线路城市
- data_center_id: '',
- name: '',
- order: 0,
- bill_type: '', // bw, flow
- bw_ip_group: '',
- defence_ip_group: '',
- ip_enable: 0, // ip开关
- defence_enable: 0, // 防护开关
- bw_data: [], // 带宽
- flow_data: [], //流量
- defence_data: [], // 防护
- ip_data: [], // ip
- flow: '',
- line_id: '',
- link_clone: false,
- /* 推荐配置 */
- description: '',
- order: '',
- cpu: '',
- memory: '',
- system_disk_size: '',
- system_disk_type: '',
- data_disk_size: '',
- data_disk_type: '',
- network_type: '',
- bw: '',
- peak_defence: '',
- /* 配置限制 */
- type: '', // cpu, data_center,line
- line_id: '',
- min_bw: '',
- max_bw: '',
- min_memory: '',
- max_memory: ''
- },
- bw_ip_show: false, // bw 高级配置
- defence_ip_show: false, // 防护高级配置
- subForm: { // 线路子项表单
- type: '',
- value: '',
- price: [],
- min_value: '',
- max_value: '',
- step: '',
- other_config: {
- in_bw: '',
- out_bw: '',
- traffic_type: '',
- bill_cycle: '',
- store_id: '',
- advanced_bw: ''
- }
- },
- lineModel: false,
- lineRight: false,
- delSubIndex: 0,
- subId: '',
- countrySelect: [], // 国家三级联动
- billType: [
- { value: 'bw', label: lang.mf_bw },
- { value: 'flow', label: lang.mf_flow }
- ],
- bwColumns: [
- {
- colKey: 'fir',
- title: lang.bw,
- },
- {
- colKey: 'price',
- title: lang.box_title34,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- trafficTypes: [
- { value: '1', label: lang.in },
- { value: '2', label: lang.out },
- { value: '3', label: lang.in_out },
- ],
- billingCycle: [
- { value: 'month', label: lang.natural_month },
- { value: 'last_30days', label: lang.last_30days },
- ],
- /* 推荐配置 */
- calcLineType: '',
- recommendList: [],
- systemDiskType: [],
- dataDiskType: [],
- recommendModel: false,
- recommendColumns: [
- {
- colKey: 'id',
- title: lang.order_text68,
- width: 150
- },
- {
- colKey: 'name',
- title: `${lang.mf_recommend}${lang.nickname}`,
- width: 250,
- ellipsis: true,
- },
- {
- colKey: 'description',
- title: lang.mf_des,
- ellipsis: true,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- networkType: [
- { value: 'normal', label: lang.normal_network },
- { value: 'vpc', label: lang.vpc_network }
- ],
- /* 配置限制 */
- cpu_list: [],
- data_center_list: [],
- line_ist: [],
- cpu_loading: false,
- data_center_loading: false,
- line_oading: false,
- data_center_columns: [],
- cpu_columns: [
- {
- colKey: 'cpu',
- title: 'CPU',
- },
- {
- colKey: 'memory',
- title: lang.memory,
- },
- {
- colKey: 'op',
- title: lang.operation,
- width: 120
- },
- ],
- line_columns: [],
- limitArr: [
- { name: 'cpu', tit: lang.mf_tip16 },
- { name: 'data_center', tit: lang.mf_tip17 },
- // { name: 'line', tit: lang.mf_tip18 },
- ],
- limitType: '',
- limitModel: false,
- limitMemoryType: '', // 配置限制里面内存的方式
- memory_unit: '',
- showConfirm: false,
- deleteTip: '',
- backNatureColumns: [],
- tempNum: null,
- tempFree: null
- }
- },
- watch: {
- 'otherForm.type' (val) {
- if (val !== 'hyperv') {
- this.natureColumns = this.backNatureColumns
- } else {
- this.natureColumns = this.backNatureColumns.filter(item => item.colKey !== 'read_bytes' && item.colKey !== 'write_bytes' )
- }
- },
- 'otherForm.backup_enable': {
- handler () {
- if (this.backList.length === 0) {
- this.backList.push({
- num: 1,
- type: 'backup',
- price: 0.00,
- status: true
- })
- this.backAllStatus = true
- }
- },
- immediate: true
- },
- 'otherForm.snap_enable': {
- handler () {
- if (this.snapList.length === 0) {
- this.snapList.push({
- num: 1,
- type: 'snap',
- price: 0.00,
- status: true
- })
- this.backAllStatus = true
- }
- },
- immediate: true
- },
- store_limit: {
- immediate: true,
- handler (val) {
- if (val * 1) {
- this.getStoreLimitList('system_disk_limit')
- this.getStoreLimitList('data_disk_limit')
- }
- }
- }
- },
- computed: {
- calcCountryName () {
- return item => {
- const lang = localStorage.getItem('backLang') || 'zh-cn'
- if (lang === 'zh-cn') {
- return item.name_zh
- } else {
- return item.name
- }
- }
- },
- calcName () {
- return (type) => {
- switch (type) {
- case 'memory':
- return `${lang.memory_config}`;
- case 'system_disk':
- return `${lang.system_disk_size}${lang.capacity}`;
- case 'data_disk':
- return `${lang.data_disk}${lang.capacity}`
- case 'line_bw':
- return `${lang.bw}(Mbps)`;
- }
- }
-
- },
- calcIcon () {
- return this.host + '/upload/common/country/' + this.countryList.filter(item => item.id === this.dataForm.country_id)[0]?.iso + '.png'
- },
- calcIcon1 () {
- if (!this.countrySelect) {
- return
- }
- return this.host + '/upload/common/country/' + this.countrySelect.filter(item => item.id === this.lineForm.country_id)[0]?.iso + '.png'
- },
- calcCity () {
- if (!this.countrySelect) {
- return
- }
- const city = this.countrySelect.filter(item => item.id === this.lineForm.country_id)[0]?.city || []
- if (city.length === 1) {
- this.lineForm.city = city[0].name
- }
- return city
- },
- calcArea () {
- if (!this.countrySelect) {
- return
- }
- const area = this.countrySelect.filter(item => item.id === this.lineForm.country_id)[0]?.city.filter(item => item.name === this.lineForm.city)[0]?.area || []
- if (area.length === 1) {
- this.lineForm.data_center_id = area[0].id
- }
- return area
- },
- calcSelectLine () {
- if (!this.countrySelect) {
- return
- }
- const line = this.countrySelect.filter(item => item.id === this.lineForm.country_id)[0]
- ?.city.filter(item => item.name === this.lineForm.city)[0]
- ?.area.filter(item => item.id === this.lineForm.data_center_id)[0]?.line || []
- if (line.length === 1) {
- this.lineForm.line_id = line[0].id
- this.calcLineType = line[0].bill_type
- }
- return line
- },
- calcColums () {
- return (val) => {
- const temp = JSON.parse(JSON.stringify(this.bwColumns))
- switch (val) {
- case 'flow':
- temp[0].title = lang.cloud_flow + '(GB)'
- return temp;
- case 'defence':
- temp[0].title = lang.defence + '(GB)'
- return temp;
- case 'ip':
- temp[0].title = 'IP' + lang.auth_num + `(${lang.one})`
- return temp
- }
- }
- },
- calcSubTitle () { // 副标题
- return (data) => {
- if (data.length > 0) {
- return lang[`mf_${data[0].type}`] + lang.mf_way
- } else {
- return ''
- }
- }
- },
- calcPrice () { // 处理本地价格展示
- return (price) => {
- // 找到价格最低的
- const arr = Object.values(price).sort((a, b) => {
- return a - b
- }).filter(Number)
- if (arr.length > 0) {
- let temp = ''
- Object.keys(price).forEach(item => {
- if (price[item] * 1 === arr[0] * 1) {
- const name = this.cycleData.filter(el => el.id === item * 1)[0]?.name
- temp = (arr[0] * 1).toFixed(2) + '/' + name
- }
- })
- return temp
- } else {
- return '0.00'
- }
- }
- },
- // 子项的计费方式是否可选
- calcShow () {
- switch (this.subType) {
- case 'line_bw':
- return this.lineForm.bw_data.length > 0 ? true : false
- }
- },
- calcLimitData () {
- return (name) => {
- return this[`${name}_list`]
- }
- },
- calcLimitCol () {
- return (name) => {
- return this[`${name}_columns`]
- }
- },
- calcCpu () {
- return (val) => {
- return val.value + lang.cores
- }
- },
- calcMemory () {
- return (val) => {
- return val.value + this.memory_unit
- }
- },
- calcLine () { // 当前线路
- return this.dataList.filter(item => item.country_id === this.lineForm.country_id && item.city === this.lineForm.city)[0]?.line
- },
- calcMemery () {
- return (data) => {
- return data.split(',')
- }
- },
- calcRange () { // 计算验证范围
- return (val) => {
- if (this.calcType === 'memory') { // 内存
- if (this.calcForm.memory_unit === 'GB') {
- return val >= 1 && val <= 512
- } else {
- return val >= 128 && val <= 524288
- }
- } else {
- return val >= 1 && val <= 1048576
- }
- }
- },
- calcReg () { // 动态生成规则
- return (name, min, max) => {
- return [
- { required: true, message: `${lang.input}${name}`, type: 'error' },
- {
- pattern: /^[0-9]*$/, message: lang.input + `${min}-${max}` + lang.verify1, type: 'warning'
- },
- {
- validator: val => val >= min && val <= max, message: lang.input + `${min}-${max}` + lang.verify1, type: 'warning'
- }]
- }
- },
- calcUnit () {
- if (this.calcType === 'memory') {
- return this.calcForm.memory_unit
- } else {
- return 'GB'
- }
- },
- calcPlaceh () {
- if (this.calcType === 'memory') {
- return this.calcForm.memory_unit === 'GB' ? lang.mf_tip9 : lang.mf_tip33
- } else {
- return lang.mf_tip9
- }
- },
- calcMemeryColumns () {
- if (this.memoryList.length === 0) {
- return this.memoryColumns
- } else {
- const temp = JSON.parse(JSON.stringify(this.memoryColumns))
- temp[0].title = `${lang.memory}(MB)`
- return this.memory_unit === 'MB' ? temp : this.memoryColumns
- }
- }
- },
- methods: {
- async changeSort (e) {
- try {
- this.systemGroup = e.newData
- const image_group_order = e.newData.reduce((all, cur) => {
- all.push(cur.id)
- return all
- }, [])
- const res = await changeImageGroup({ image_group_order })
- this.$message.success(res.data.msg)
- this.getGroup()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 切换选项卡
- changeTab (e) {
- this.allStatus = false
- this.backAllStatus = false
- switch (e) {
- case 'duration':
- this.getDurationList()
- break;
- case 'calc':
- this.getCpuList()
- this.getMemoryList()
- this.getDurationList()
- break;
- case 'data_center':
- this.getDataList()
- this.getCountryList()
- this.chooseData()
- this.getDurationList()
- break;
- case 'store':
- this.getOtherConfig()
- this.getStoreList('system_disk')
- this.getStoreList('data_disk')
- this.getDurationList()
- break;
- case 'limit':
- this.getConfigLimitList('cpu')
- this.getConfigLimitList('data_center')
- // this.getConfigLimitList('line')
- this.getCpuList()
- this.getMemoryList()
- this.chooseData()
- this.getDataList()
- break;
- case 'recommend':
- this.getRecommendList()
- this.getMemoryList()
- this.chooseData()
- this.getDiskTypeList('system_disk')
- this.getDiskTypeList('data_disk')
- this.calcType = 'memory'
- break;
- case 'system':
- this.getSystemList()
- this.getGroup()
- break;
- case 'other':
- this.getOtherConfig()
- break;
- default:
- break;
- }
- },
- checkLimit (val) {
- const reg = /^[0-9]*$/
- if (reg.test(val) && val >= 0 && val <= 99999999) {
- return { result: true };
- } else {
- return { result: false, message: lang.input + '0~99999999' + lang.verify2, type: 'warning' };
- }
- },
- changeMinMemory (val) {
- if (this.lineForm.max_memory) {
- if (val * 1 >= this.lineForm.max_memory * 1) {
- this.lineForm.min_memory = val >= 524288 ? val - 1 : val
- this.lineForm.max_memory = this.lineForm.min_memory * 1 + 1
- }
- }
- },
- changeMaxMemory (val) {
- if (this.lineForm.min_memory) {
- if (val * 1 <= this.lineForm.min_memory * 1) {
- this.lineForm.max_memory = this.lineForm.max_memory >= 2 ? val : 2
- this.lineForm.min_memory = this.lineForm.max_memory * 1 - 1
- }
- }
- },
- // 处理价格
- blurPrice (val, ind) {
- let temp = (String(val).match(/^\d*(\.?\d{0,2})/g)[0]) || ''
- if (temp && !isNaN(Number(temp))) {
- temp = Number(temp).toFixed(2)
- }
- if (temp >= 999999) {
- this.calcForm.price[ind].price = Number(999999).toFixed(2)
- } else {
- this.calcForm.price[ind].price = temp
- }
- },
- blurSubPrice (val, ind) {
- let temp = (String(val).match(/^\d*(\.?\d{0,2})/g)[0]) || ''
- if (temp && !isNaN(Number(temp))) {
- temp = Number(temp).toFixed(2)
- }
- if (temp >= 999999) {
- val = 999999.00
- this.subForm.price[ind].price = Number(999999).toFixed(2)
- } else {
- this.subForm.price[ind].price = temp
- }
- },
- /* 配置限制 */
- /* name: cpu , data_center ,line */
- async getConfigLimitList (name) {
- try {
- this[`${name}_loading`] = true
- const res = await getConfigLimit({
- product_id: this.id,
- type: name,
- orderby: 'id',
- sort: 'desc',
- page: 1,
- limit: 1000
- })
- this[`${name}_list`] = res.data.data.list
- this[`${name}_loading`] = false
- } catch (error) {
- this[`${name}_loading`] = false
- }
- },
- addLimit (name) {
- this.optType = 'add'
- this.limitType = name
- this.limitModel = true
- this.dataForm.country_id = ''
- this.lineForm = {
- country_id: '',
- city: '',
- data_center_id: '',
- type: '', // cpu, data_center,line
- line_id: '',
- min_bw: '',
- max_bw: '',
- cpu: [],
- memory: [],
- min_memory: '',
- max_memory: ''
- }
- this.comTitle = `${lang.order_text53}${lang.limit}`
- },
- editLimit (name, row) {
- this.comTitle = `${lang.edit}${lang.limit}`
- this.limitType = name
- this.limitModel = true
- this.optType = 'update'
- const temp = JSON.parse(JSON.stringify(row))
- temp.memory = temp.memory.split(',').map(item => item * 1)
- temp.cpu = temp.cpu.map(item => item * 1)
- this.lineForm = temp
-
- },
- async submitLimit ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.lineForm))
- params.product_id = this.id
- params.type = this.limitType
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createAndUpdateConfigLimit(this.optType, params)
- this.$message.success(res.data.msg)
- this.getConfigLimitList(this.limitType)
- this.limitModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- async delLimit () {
- try {
- const res = await delConfigLimit({ id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getConfigLimitList(this.delType)
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- /* 推荐配置 */
- async getRecommendList () {
- try {
- this.dataLoading = true
- const res = await getRecommend({
- product_id: this.id,
- page: 1,
- limit: 1000
- })
- this.recommendList = res.data.data.list
- this.dataLoading = false
- } catch (error) {
- this.dataLoading = false
- }
- },
- async getDiskTypeList (type) {
- try {
- const res = await getDiskType(type, {
- product_id: this.id,
- })
- if (type === 'system_disk') {
- this.systemDiskType = res.data.data.list
- } else {
- this.dataDiskType = res.data.data.list
- }
- } catch (error) {
- this.dataLoading = false
- }
- },
-
- addRecommend () {
- this.lineForm = {
- country_id: '',
- city: '',
- name: '',
- description: '',
- order: '',
- data_center_id: '',
- cpu: '',
- memory: '',
- system_disk_size: '',
- system_disk_type: '',
- data_disk_size: '',
- data_disk_type: '',
- network_type: 'normal',
- bw: '',
- peak_defence: '',
- flow: '',
- line_id: ''
- }
- this.optType = 'add'
- this.recommendModel = true
- },
- editRecommend (row) {
- this.lineForm = JSON.parse(JSON.stringify(row))
- this.optType = 'update'
- this.recommendModel = true
- const type = this.countrySelect.filter(item => item.id === this.lineForm.country_id)[0]
- ?.city.filter(item => item.name === this.lineForm.city)[0]
- ?.area.filter(item => item.id === this.lineForm.data_center_id)[0]
- ?.line.filter(item => item.id === this.lineForm.line_id)[0]?.bill_type
- this.calcLineType = type
- },
- async submitRecommend ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.lineForm))
- if (this.optType === 'add') {
- delete params.id
- }
- if (this.calcLineType === 'bw') {
- delete params.flow
- } else if (this.calcLineType === 'flow') {
- delete params.bw
- }
- this.submitLoading = true
- const res = await createAndUpdateRecommend(this.optType, params)
- this.$message.success(res.data.msg)
- this.getRecommendList(this.calcType)
- this.recommendModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- // 删除推荐
- async delRecommend () {
- try {
- const res = await delRecommend({ id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getRecommendList()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- /* 推荐配置 end*/
- /* 线路 */
- addLine () {
- this.lineModel = true
- this.lineType = 'add'
- this.dataForm.country_id = ''
- this.lineForm = {
- country_id: '', // 线路国家
- city: '', // 线路城市
- data_center_id: '',
- name: '',
- order: 0,
- bill_type: 'bw', // bw, flow
- bw_ip_group: '',
- defence_ip_group: '',
- ip_enable: 0, // ip开关
- defence_enable: 0, // 防护开关
- bw_data: [], // 带宽
- flow_data: [], //流量
- defence_data: [], // 防护
- ip_data: [], // ip
- link_clone: false
- }
- this.lineRight = false
- },
- async editLine (row) {
- try {
- const res = await getLineDetails({ id: row.id })
- this.lineForm = JSON.parse(JSON.stringify(res.data.data))
- this.lineForm.link_clone = this.lineForm.link_clone * 1 ? true : false
- this.lineType = 'update'
- this.optType = 'update'
- this.lineRight = false
- this.lineModel = true
- this.bw_ip_show = this.lineForm.bw_ip_group ? true : false
- this.defence_ip_show = this.lineForm.defence_ip_group ? true : false
- this.subId = row.id
- } catch (error) {
-
- }
- },
- changeCountry () {
- this.lineForm.city = ''
- this.lineForm.data_center_id = ''
- },
- changeCity () {
- this.lineForm.data_center_id = ''
- },
- // 编辑线路子项
- async editSubItem (row, index, type) {
- this.subType = type
- this.optType = 'update'
- this.delSubIndex = index
- this.lineRight = true
- let temp = ''
- if (this.lineType === 'add') {
- temp = row
- } else {
- const res = await getLineChildDetails(type, { id: row.id })
- temp = res.data.data
- if (temp.other_config?.traffic_type) {
- temp.other_config.traffic_type = String(temp.other_config.traffic_type)
- }
- this.delId = row.id
- }
- setTimeout(() => {
- const price = temp.duration.reduce((all, cur) => {
- all.push({
- id: cur.id,
- name: cur.name,
- price: cur.price
- })
- return all
- }, []).sort((a, b) => {
- return a.id - b.id
- })
- Object.assign(this.subForm, temp)
- this.subForm.price = price
- if (this.subForm.other_config.in_bw || this.subForm.other_config.advanced_bw) {
- this.isAdvance = true
- } else {
- this.isAdvance = false
- }
- }, 0);
- },
- // 删除线路子项
- async delSubItem () {
- try {
- this.lineRight = false
- if (this.lineType === 'add') { // 本地删除
- switch (this.delType) {
- case 'line_bw':
- return this.lineForm.bw_data.splice(this.delSubIndex, 1)
- case 'line_flow':
- return this.lineForm.flow_data.splice(this.delSubIndex, 1)
- case 'line_defence':
- return this.lineForm.defence_data.splice(this.delSubIndex, 1)
- case 'line_ip':
- return this.lineForm.ip_data.splice(this.delSubIndex, 1)
- }
- } else { // 编辑的时候删除
- const res = await delLineChild(this.delType, { id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- // this.editLine({ id: this.subId })
- this.submitLine({ validateResult: true, firstError: '' }, false)
- }
- } catch (error) {
- this.delVisible = false
- this.$message.error(error.data.msg)
- }
- },
- // 新增线路子项
- addLineSub (type) {
- this.subType = type
- this.optType = 'add'
- this.isAdvance = false
- if (type === 'line_bw') {
- this.subForm.type = this.lineForm.bw_data[0]?.type || 'radio'
- }
-
- this.subForm.value = ''
- this.subForm.other_config = {
- in_bw: '',
- advanced_bw: '',
- traffic_type: '3',
- bill_cycle: 'last_30days'
- }
- this.lineRight = true
- const price = this.cycleData.reduce((all, cur) => {
- all.push({
- id: cur.id,
- name: cur.name,
- price: ''
- })
- return all
- }, []).sort((a, b) => {
- return a.id - b.id
- })
- this.subForm.price = price
- this.bw_ip_show = false
- this.defence_ip_show = false
- },
- /* 推荐配置 */
- changeBillType (e) {
- this.calcLineType = this.calcSelectLine.filter(item => item.id === e)[0]?.bill_type
- },
- // 保存线路子项
- async submitSub ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.subForm))
- params.product_id = this.id
- params.step = 1
- this.submitLoading = true
- const duration = JSON.parse(JSON.stringify(params.price))
- params.price = params.price.reduce((all, cur) => {
- cur.price && (all[cur.id] = cur.price)
- return all
- }, {})
-
- // 新增的时候本地处理
- if (this.lineType === 'add') {
- params.duration = duration
- switch (this.subType) {
- case 'line_bw':
- this.optType === 'add'
- ? this.lineForm.bw_data.unshift(params)
- : this.lineForm.bw_data.splice(this.delSubIndex, 1, params)
- break;
- case 'line_flow':
- this.optType === 'add'
- ? this.lineForm.flow_data.unshift(params)
- : this.lineForm.flow_data.splice(this.delSubIndex, 1, params)
- break;
- case 'line_defence':
- this.optType === 'add'
- ? this.lineForm.defence_data.unshift(params)
- : this.lineForm.defence_data.splice(this.delSubIndex, 1, params)
- break;
- case 'line_ip':
- this.optType === 'add'
- ? this.lineForm.ip_data.unshift(params)
- : this.lineForm.ip_data.splice(this.delSubIndex, 1, params)
- break;
- }
- this.submitLoading = false
- this.lineRight = false
- return
- }
- // 新增:传线路id,编辑传配置id
- params.id = this.optType === 'add' ? this.subId : this.delId
- const res = await createAndUpdateLineChild(this.subType, this.optType, params)
- this.$message.success(res.data.msg)
- // this.editLine({ id: this.subId })
- // 保存子项的时候需要保存线路配置,第一次未开启防护/附加IP的时候,开关会被重置
- this.submitLine({ validateResult: true, firstError: '' }, false)
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
-
- async submitLine ({ validateResult, firstError }, bol = true) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.lineForm))
- params.product_id = this.id
- params.link_clone = params.link_clone ? 1 : 0
- // if (params.bill_type === 'bw') {
- // if (params.bw_data.length === 0) {
- // return this.$message.warning(lang.mf_tip13)
- // }
- // }
- // if (params.bill_type === 'flow') {
- // if (params.flow_data.length === 0) {
- // return this.$message.warning(lang.mf_tip14)
- // }
- // }
- const isAdd = params.id ? 'update' : 'add'
- this.submitLoading = true
- const res = await createAndUpdateLine(isAdd, params)
- if (bol) {
- this.$message.success(res.data.msg)
- this.getDataList()
- this.lineModel = false
- } else {
- this.editLine({ id: this.subId })
- }
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
-
- /* 数据中心 */
- async getDataList () {
- try {
- this.dataLoading = true
- const res = await getDataCenter({
- product_id: this.id,
- page: 1,
- limit: 1000
- })
- this.dataList = res.data.data.list
- this.dataLoading = false
- } catch (error) {
- this.dataLoading = false
- }
- },
- // 国家列表
- async getCountryList () {
- try {
- const res = await getCountry()
- this.countryList = res.data.data.list
- } catch (error) {
-
- }
- },
- async chooseData () {
- try {
- const res = await chooseDataCenter({
- product_id: this.id
- })
- this.countrySelect = res.data.data.list
- if (this.countrySelect.length === 1) {
- this.lineForm.country_id = this.countrySelect[0].id
- }
- } catch (error) {
- }
- },
- changeType () {
- this.$refs.dataForm.clearValidate(['cloud_config_id'])
- },
- addData () {
- this.optType = 'add'
- this.dataModel = true
- this.dataForm.country_id = ''
- this.dataForm.city = ''
- this.dataForm.area = ''
- this.dataForm.order = 0
- this.dataForm.cloud_config = 'node'
- this.dataForm.cloud_config_id = ''
- this.comTitle = lang.new_create + lang.data_center
- },
- async deleteData () {
- try {
- const res = await deleteDataCenter({ id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getDataList()
- this.chooseData()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- async deleteLine () {
- try {
- const res = await delLine({ id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getDataList()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- editData (row) {
- this.comTitle = lang.edit + lang.data_center
- this.optType = 'update'
- this.dataModel = true
- const { id, country_id, city, area, cloud_config, cloud_config_id, order } = row
- this.dataForm = {
- id, country_id, city, area, cloud_config, cloud_config_id, order
- }
- },
- // 保存数据中心
- async submitData ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.dataForm))
- params.product_id = this.id
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createOrUpdateDataCenter(this.optType, params)
- this.$message.success(res.data.msg)
- this.getDataList()
- this.chooseData()
- this.dataModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- /* 存储配置 */
- async getStoreList (name) {
- try {
- if (name === 'system_disk') {
- this.systemLoading = true
- } else {
- this.dataLoading = true
- }
- const res = await getStore(name, {
- product_id: this.id,
- page: 1,
- limit: 1000
- })
- if (name === 'system_disk') {
- this.systemDisk = res.data.data.list
- } else {
- this.dataDisk = res.data.data.list
- }
- if (name === 'system_disk') {
- this.systemLoading = false
- } else {
- this.dataLoading = false
- }
- } catch (error) {
- this.systemLoading = false
- this.dataLoading = false
- }
- },
- async getStoreLimitList (name) {
- try {
- if (name === 'system_disk_limit') {
- this.systemLimitLoading = true
- } else {
- this.diskLimitLoading = true
- }
- const res = await getStoreLimit(name, {
- product_id: this.id,
- page: 1,
- limit: 1000
- })
- if (name === 'system_disk_limit') {
- this.systemLimitList = res.data.data.list
- } else {
- this.diskLimitList = res.data.data.list
- }
- if (name === 'system_disk_limit') {
- this.systemLimitLoading = false
- } else {
- this.diskLimitLoading = false
- }
- } catch (error) {
- this.systemLimitLoading = false
- this.diskLimitLoading = false
- }
- },
- // 修改数据盘新购数量
- async changeDiskLimit (val,type) {
- try {
- if (type === 'num') {
- if (val > 16) {
- val = 16
- }
- if (val === this.tempNum) {
- return
- }
- }
-
- const res = await saveDiskNumLimit({
- product_id: this.id,
- disk_limit_switch: this.otherForm.disk_limit_switch,
- disk_limit_num: this.otherForm.disk_limit_num
- })
- this.$message.success(res.data.msg)
- this.getOtherConfig()
- } catch (error) {
- this.$message.error(error.data.msg)
- this.getOtherConfig()
- }
- },
- // 修改免费数据盘
- async changeFreeDiskLimit (val,type) {
- try {
- if (type === 'num') {
- if (val > 1048576) {
- val = 1048576
- }
- if (val === this.tempFree) {
- return
- }
- }
- const res = await saveFreeData({
- product_id: this.id,
- free_disk_switch: this.otherForm.free_disk_switch,
- free_disk_size: this.otherForm.free_disk_size
- })
- this.$message.success(res.data.msg)
- this.getOtherConfig()
- } catch (error) {
- this.$message.error(error.data.msg)
- this.getOtherConfig()
- }
- },
-
- // 切换性能开关
- async changeLimit (val) {
- try {
- const res = await changeCloudSwitch({
- product_id: this.id,
- status: val * 1
- })
- this.$message.success(res.data.msg)
- this.getOtherConfig()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 删除存储
- async deleteStore (name) {
- try {
- const res = await delStore(name, { id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getStoreList(name)
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 删除存储限制
- async deleteStoreLimit (name) {
- try {
- const res = await delStoreLimit(name, { id: this.delId })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getStoreLimitList(name)
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 性能提交
- async submitNature ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const {
- id,
- min_value,
- max_value,
- read_bytes,
- write_bytes,
- read_iops,
- write_iops } = this.calcForm
- const params = {
- id,
- product_id: this.id,
- min_value,
- max_value,
- read_bytes,
- write_bytes,
- read_iops,
- write_iops
- }
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createAndUpdateStoreLimit(this.calcType, this.optType, params)
- this.$message.success(res.data.msg)
- this.getStoreLimitList(this.calcType)
- this.natureModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- /* 存储配置 end*/
- /* 计算配置 */
- async getCpuList () {
- try {
- this.cpuLoading = true
- const res = await getCpu({
- product_id: this.id,
- page: 1,
- limit: 1000
- })
- this.cpuList = res.data.data.list
- this.cpuLoading = false
- } catch (error) {
- this.cpuLoading = false
- }
- },
- async getMemoryList () {
- try {
- this.memoryLoading = true
- const res = await getMemory({
- product_id: this.id,
- page: 1,
- limit: 1000
- })
- this.memoryList = res.data.data.list
- this.calcForm.memory_unit = this.memory_unit = res.data.data.memory_unit
- this.memoryLoading = false
- this.memoryType = lang['mf_' + this.memoryList[0]?.type]
- this.limitMemoryType = this.memoryList[0]?.type || ''
- } catch (error) {
- this.memoryLoading = false
- }
- },
- addCalc (type) { // 添加cpu/memory/system/disk
- this.calcType = type
- this.optType = 'add'
- let temp_type = '', memory_unit = ''
- switch (type) {
- case 'cpu':
- this.comTitle = `${lang.order_text53}CPU${lang.auth_num}`;
- break;
- case 'memory':
- if (this.memoryList.length > 0) {
- this.disabledWay = true
- temp_type = this.memoryList[0].type
- memory_unit = this.memory_unit
- } else {
- this.disabledWay = false
- memory_unit = 'GB'
- }
- this.comTitle = `${lang.order_text53}${lang.memory}`;
- break;
- case 'system_disk':
- if (this.systemDisk.length > 0) {
- this.disabledWay = true
- temp_type = this.systemDisk[0].type
- } else {
- this.disabledWay = false
- }
- this.comTitle = `${lang.order_text53}${lang.system_disk_size}`;
- break;
- case 'data_disk':
- if (this.dataDisk.length > 0) {
- this.disabledWay = true
- temp_type = this.dataDisk[0].type
- } else {
- this.disabledWay = false
- }
- this.comTitle = `${lang.order_text53}${lang.data_disk}`;
- break;
- case 'system_disk_limit':
- case 'data_disk_limit':
- this.comTitle = `${lang.order_text53}${lang.disk_limit_enable}`;
- this.natureModel = true
- this.calcForm = {
- min_value: '',
- max_value: '',
- read_bytes: '',
- write_bytes: '',
- read_iops: '',
- write_iops: ''
- }
- return;
- }
- this.calcModel = true
- const price = this.cycleData.reduce((all, cur) => {
- all.push({
- id: cur.id,
- name: cur.name,
- price: ''
- })
- return all
- }, []).sort((a, b) => {
- return a.id - b.id
- })
- this.isAdvance = false
- this.calcForm = {
- product_id: '',
- cpuValue: '', // cpu里面的value, 提交的时候转换
- price,
- other_config: {
- advanced_cpu: '',
- cpu_limit: '',
- ipv6_num: '',
- disk_type: '',
- store_id: ''
- },
- // memory
- type: temp_type,
- value: '',
- min_value: '',
- max_value: '',
- step: '',
- memory_unit: memory_unit
- }
- },
- // 编辑cpu,memory
- async editCalc (row, type) {
- this.calcType = type
- this.optType = 'update'
- this.disabledWay = true
- switch (type) {
- case 'cpu':
- this.comTitle = `${lang.edit}CPU${lang.auth_num}`
- this.editCpu(row)
- break;
- case 'memory':
- this.comTitle = `${lang.edit}${lang.memory}`
- this.calcForm.memory_unit = this.memory_unit
- this.editMemory(row)
- break;
- case 'system_disk':
- this.comTitle = `${lang.edit}${lang.system_disk_size}`
- this.editStore('system_disk', row)
- break;
- case 'data_disk':
- this.comTitle = `${lang.edit}${lang.data_disk}`
- this.editStore('data_disk', row)
- break;
- case 'system_disk_limit':
- this.comTitle = `${lang.edit}${lang.system_disk_size}`
- Object.assign(this.calcForm, row)
- this.natureModel = true
- break;
- case 'data_disk_limit':
- this.comTitle = `${lang.edit}${lang.system_disk_size}`
- Object.assign(this.calcForm, row)
- this.natureModel = true
- break;
- }
- this.isAdvance = false
- },
- async editCpu (row) {
- try {
- const res = await getCpuDetails({
- id: row.id
- })
- this.calcModel = true
- const temp = res.data.data
- this.calcForm.id = temp.id
- this.calcForm.cpuValue = temp.value
- let price = temp.duration.reduce((all, cur) => {
- all.push({
- id: cur.id,
- name: cur.name,
- price: cur.price
- })
- return all
- }, []).sort((a, b) => {
- return a.id - b.id
- })
- this.calcForm.id = row.id
- this.calcForm.price = price
- this.calcForm.other_config = temp.other_config
- this.optType = 'update'
- this.calcModel = true
- if (this.calcForm.other_config.advanced_cpu || this.calcForm.other_config.cpu_limit || this.calcForm.other_config.ipv6_num) {
- this.isAdvance = true
- }
- } catch (error) {
-
- }
- },
- // 编辑内存
- async editMemory (row) {
- try {
- const res = await getMemoryDetails({
- id: row.id
- })
- this.calcModel = true
- const temp = res.data.data
- this.calcForm.id = temp.id
- this.calcForm.type = temp.type
- this.calcForm.value = temp.value
- let price = temp.duration.reduce((all, cur) => {
- all.push({
- id: cur.id,
- name: cur.name,
- price: cur.price
- })
- return all
- }, []).sort((a, b) => {
- return a.id - b.id
- })
- this.calcForm.id = row.id
- this.calcForm.price = price
- this.calcForm.min_value = temp.min_value
- this.calcForm.max_value = temp.max_value
- this.calcForm.step = temp.step
- this.optType = 'update'
- this.calcModel = true
- } catch (error) {
-
- }
- },
- // 编辑存储
- async editStore (name, row) {
- try {
- const res = await getStoreDetails(name, {
- id: row.id
- })
- const temp = res.data.data
- this.calcForm.id = temp.id
- this.calcForm.value = temp.value
- this.calcForm.min_value = temp.min_value
- this.calcForm.max_value = temp.max_value
- this.calcForm.step = temp.step
- this.calcForm.type = temp.type
- let price = temp.duration.reduce((all, cur) => {
- all.push({
- id: cur.id,
- name: cur.name,
- price: cur.price
- })
- return all
- }, []).sort((a, b) => {
- return a.id - b.id
- })
- this.calcForm.price = price
- this.calcForm.other_config = temp.other_config
- this.optType = 'update'
- if (temp.other_config.disk_type || temp.other_config.store_id) {
- this.isAdvance = true
- }
- this.calcModel = true
- } catch (error) {
-
- }
- },
- submitCalc ({ validateResult, firstError }) {
- if (validateResult === true) {
- switch (this.calcType) {
- case 'cpu':
- return this.handlerCpu()
- case 'memory':
- return this.handlerMemory()
- case 'system_disk':
- case 'data_disk':
- return this.handlerStore()
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- async deleteCpu () {
- try {
- const res = await delCpu({
- id: this.delId
- })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getCpuList()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 提交cpu
- async handlerCpu () {
- try {
- let { id, cpuValue, price, other_config } = this.calcForm
- price = price.reduce((all, cur) => {
- cur.price && (all[cur.id] = cur.price)
- return all
- }, {})
- const params = {
- id,
- product_id: this.id,
- value: cpuValue,
- price,
- other_config
- }
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createAndUpdateCpu(this.optType, params)
- this.$message.success(res.data.msg)
- this.getCpuList()
- this.calcModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- },
- /* 改变最大最小值:内存,系统盘和数据盘
- 根据calcType来区分:memory=512, 其他 1048576
- */
- changeMin (e) {
- const num = this.calcType === 'memory' ? (this.calcForm.memory_unit === 'GB' ? 512 : 524288) : 1048576
- if (e * 1 >= num) {
- this.calcForm.min_value = 1
- } else if (e * 1 >= this.calcForm.max_value * 1) {
- if (this.calcForm.max_value * 1) {
- this.calcForm.max_value = e * 1 + 1
- }
- }
- },
- changeMax (e) {
- const num = this.calcType === 'memory' ? (this.calcForm.memory_unit === 'GB' ? 512 : 524288) : 1048576
- if (e * 1 === 1) {
- return this.calcForm.max_value = 2
- }
- if (e * 1 > num) {
- this.calcForm.max_value = num
- } else if (e * 1 <= this.calcForm.min_value * 1 && e * 1 > 1) {
- if (this.calcForm.min_value * 1) {
- this.calcForm.min_value = e * 1 - 1
- }
- }
- },
- changeStep (e) {
- if (e * 1 > this.calcForm.max_value * 1 - this.calcForm.min_value * 1) {
- this.calcForm.step = 1
- }
- },
- async deleteMemory () {
- try {
- const res = await delMemory({
- id: this.delId
- })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getMemoryList()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- // 提交内存
- async handlerMemory () {
- try {
- let { id, value, type, price, min_value, max_value, memory_unit } = this.calcForm
- price = price.reduce((all, cur) => {
- cur.price && (all[cur.id] = cur.price)
- return all
- }, {})
- const params = {
- id,
- product_id: this.id,
- type,
- value,
- price,
- min_value,
- max_value,
- memory_unit,
- step: 1
- }
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createAndUpdateMemory(this.optType, params)
- this.$message.success(res.data.msg)
- this.getMemoryList()
- this.calcModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- },
- // 提交存储
- async handlerStore () {
- try {
- let { id, value, type, price, min_value, max_value, step, other_config } = this.calcForm
- price = price.reduce((all, cur) => {
- cur.price && (all[cur.id] = cur.price)
- return all
- }, {})
- const params = {
- id,
- product_id: this.id,
- type,
- value,
- price,
- min_value,
- max_value,
- step: 1,
- other_config
- }
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createAndUpdateStore(this.calcType, this.optType, params)
- this.$message.success(res.data.msg)
- this.getStoreList(this.calcType)
- this.calcModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- },
-
- changeAdvance () {
- this.isAdvance = !this.isAdvance
- },
- /* 计算配置 end*/
- /* 周期相关 */
- closeData () {
- this.dataModel = false
- },
- async getDurationList () {
- try {
- this.loading = true
- const res = await getDuration({
- product_id: this.id,
- page: 1,
- limit: 100
- })
- this.cycleData = res.data.data.list
- this.loading = false
- } catch (error) {
- this.loading = false
- }
- },
- addCycle () {
- this.optType = 'add'
- this.comTitle = lang.add_cycle
- this.cycleForm.name = ''
- this.cycleForm.unit = 'month'
- this.cycleForm.num = ''
- this.cycleForm.price_factor = 1
- this.cycleModel = true
- },
- editCycle (row) {
- this.optType = 'update'
- this.comTitle = lang.update + lang.cycle
- this.cycleForm = JSON.parse(JSON.stringify(row))
- this.cycleModel = true
- },
- async submitCycle ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.cycleForm))
- params.product_id = this.id
- if (this.optType === 'add') {
- delete params.id
- }
- if (!params.price_factor && params.price_factor !== 0) {
- params.price_factor = '1.00'
- }
- this.submitLoading = true
- const res = await createAndUpdateDuration(this.optType, params)
- this.$message.success(res.data.msg)
- this.getDurationList()
- this.cycleModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- // 删除周期
- async deleteCycle () {
- try {
- const res = await delDuration({
- product_id: this.id,
- id: this.delId
- })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getDurationList()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- /* 操作系统 */
- // 系统列表
- async getSystemList () {
- try {
- this.loading = true
- const params = JSON.parse(JSON.stringify(this.systemParams))
- params.product_id = this.id
- const res = await getImage(params)
- this.systemList = res.data.data.list
- this.loading = false
- } catch (error) {
- this.loading = false
- }
- },
- // 系统分类
- async getGroup () {
- try {
- const res = await getImageGroup({
- product_id: this.id,
- orderby: 'id',
- sort: 'desc'
- })
- this.systemGroup = res.data.data.list
- } catch (error) {
-
- }
- },
- createNewSys () { // 新增
- this.systemModel = true
- this.optType = 'add'
- this.comTitle = `${lang.add}${lang.system}`
- this.createSystem.image_group_id = ''
- this.createSystem.name = ''
- this.createSystem.charge = 0
- this.createSystem.price = ''
- this.createSystem.enable = 0
- this.createSystem.rel_image_id = ''
- },
- editSystem (row) {
- this.optType = 'update'
- this.comTitle = lang.update + lang.system
- this.createSystem = { ...row }
- this.systemModel = true
- },
- async submitSystem ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.createSystem))
- params.product_id = this.id
- if (this.optType === 'add') {
- delete params.id
- }
- this.submitLoading = true
- const res = await createAndUpdateImage(this.optType, params)
- this.$message.success(res.data.msg)
- this.getSystemList()
- this.systemModel = false
- this.submitLoading = false
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- // 列表修改状态
- async changeSystemStatus (row) {
- try {
- const params = JSON.parse(JSON.stringify(row))
- params.product_id = this.id
- const res = await createAndUpdateImage('update', params)
- this.$message.success(res.data.msg)
- this.getSystemList()
- } catch (error) {
-
- }
- },
- // 拉取系统
- async refeshImageHandler () {
- try {
- this.$message.success(lang.mf_tip)
- await refreshImage({
- product_id: this.id
- })
- this.getSystemList()
- this.getGroup()
- } catch (error) {
-
- }
- },
- // 分类管理
- classManage () {
- this.classModel = true
- this.classParams.name = ''
- this.classParams.icon = ''
- this.optType = 'add'
- },
- async submitSystemGroup ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- const params = JSON.parse(JSON.stringify(this.classParams))
- if (this.optType === 'add') {
- delete params.id
- params.product_id = this.id
- }
- this.submitLoading = true
- const res = await createAndUpdateImageGroup(this.optType, params)
- this.$message.success(res.data.msg)
- this.getGroup()
- this.submitLoading = false
- this.classParams.name = ''
- this.classParams.icon = ''
- this.$refs.classForm.reset()
- this.optType = 'add'
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- editGroup (row) {
- this.optType = 'update'
- this.classParams = JSON.parse(JSON.stringify(row))
- },
- async deleteGroup () {
- try {
- const res = await delImageGroup({
- id: this.delId
- })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getGroup()
- this.classParams.name = ''
- this.classParams.icon = ''
- this.$refs.classForm.reset()
- this.optType = 'add'
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- async deleteSystem () {
- try {
- const res = await delImage({
- id: this.delId
- })
- this.$message.success(res.data.msg)
- this.delVisible = false
- this.getSystemList()
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- /* 其他设置 */
- async getOtherConfig () {
- try {
- const res = await getCloudConfig({
- product_id: this.id
- })
- const temp = res.data.data
- temp.support_normal_network = Boolean(temp.support_normal_network)
- temp.support_vpc_network = Boolean(temp.support_vpc_network)
- // 处理快照备份的数据
- this.backList = temp.backup_data.map(item => {
- item.status = false
- item.price = item.price * 1
- return item
- })
- if (temp.backup_data.length === 0) {
- this.otherForm.backup_enable = 0
- }
- // 处理快照数据
- this.snapList = temp.snap_data.map(item => {
- item.status = false
- item.price = item.price * 1
- return item
- })
- if (temp.snap_data.length === 0) {
- this.otherForm.snap_enable = 0
- }
- // 处理资源包数据
- this.resourceList = temp.resource_package.map(item => {
- item.status = false
- return item
- })
- this.tempNum = this.otherForm.disk_limit_num
- this.tempFree = this.otherForm.free_disk_size
- // 默认允许公网IP
- temp.support_public_ip = 1
- this.otherForm = temp
- this.store_limit = temp.disk_limit_enable * 1
- } catch (error) {
- this.$message.error(error.data.msg)
- }
- },
- changeLenth (e) {
- if (e - this.otherForm.host_prefix.length > 25) {
- this.otherForm.host_length = 25 - this.otherForm.host_prefix.length
- } else if (e * 1 + this.otherForm.host_prefix.length * 1 < 6) {
- this.otherForm.host_length = 6 - this.otherForm.host_prefix.length
- }
- },
- addGroup (type) {
- const temp = {
- num: 1,
- type: type,
- price: 0.00,
- status: true // 编辑状态
- }
- this.backAllStatus = true
- if (type === 'backup') {
- this.backList.push(temp)
- } else if (type === 'snap') {
- this.snapList.push(temp)
- } else if (type === 'resource') {
- this.resourceList.push({
- rid: '',
- name: '',
- status: true
- })
- }
- },
- // 添加资源包
- addResourece () {
- this.resourceList.push({
- rid: '',
- name: '',
- status: true // 编辑状态
- })
- },
- openEdit (type, index) {
- this.backAllStatus = true
- if (type === 'backup') {
- this.backList[index].status = true
- } else if (type === 'snap') {
- this.snapList[index].status = true
- } else if (type === 'resource') {
- this.resourceList[index].status = true
- }
- },
- closeEdit (row, index, type) {
- if (row.id) { // 取消已有数据的编辑
- if (type === 'backup') {
- this.backList[index].status = false
- } else if (type === 'snap') {
- this.snapList[index].status = false
- } else if (type === 'resource') {
- this.resourceList[index].status = false
- }
- } else { // 新增未加入数据库的
- if (type === 'backup') {
- this.backList.splice(index, 1)
- } else if (type === 'snap') {
- this.snapList.splice(index, 1)
- } else if (type === 'resource') {
- this.resourceList.splice(index, 1)
- }
- }
- this.backAllStatus = false
- },
-
- // 删除 备份/快照
- deleteBackup (type, index) {
- if (type === 'backup') {
- this.backList.splice(index, 1)
- } else if (type === 'snap') {
- this.snapList.splice(index, 1)
- } else if (type === 'resource') {
- this.resourceList.splice(index, 1)
- }
- },
- async submitConfig ({ validateResult, firstError }) {
- if (validateResult === true) {
- try {
- // 检测是否需要清空数据
- const clearRes = await checkType({
- product_id: this.id,
- type: this.otherForm.type
- })
- if (clearRes.data.data.clear) {
- this.showConfirm = true
- this.deleteTip = clearRes.data.data.desc
- } else {
- this.handlerConfig()
- }
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- } else {
- console.log('Errors: ', validateResult);
- this.$message.warning(firstError);
- }
- },
- async handlerConfig () {
- try {
- const params = JSON.parse(JSON.stringify(this.otherForm))
- params.product_id = this.id
- params.backup_data = this.backList
- params.snap_data = this.snapList
- params.resource_package = this.resourceList
- params.support_normal_network = params.support_normal_network ? 1 : 0
- params.support_vpc_network = params.support_vpc_network ? 1 : 0
- if (!params.support_normal_network && !params.support_vpc_network) {
- return this.$message.warning(`${lang.select}${lang.net_type}`)
- }
- const res = await saveCloudConfig(params)
- this.$message.success(res.data.msg)
- this.submitLoading = false
- this.dataModel = false
- this.showConfirm = false
- this.getOtherConfig()
- } catch (error) {
- this.submitLoading = false
- this.$message.error(error.data.msg)
- }
- },
- /* 通用删除按钮 */
- comDel (type, row, index) {
- this.delId = row.id
- if (type === 'cycle') {
- this.delTit = lang.sure_del_cycle
- }
- this.delTit = lang.sureDelete
- this.delType = type
- // 新增的时候,本地删除线路子项
- if ((this.lineType === 'add') &&
- (this.subType === 'line_bw' || this.subType === 'line_flow' || this.subType === 'line_defence' || this.subType === 'line_ip')
- ) {
- this.delSubIndex = index
- this.delSubItem()
- return
- }
- this.delVisible = true
- },
- // 通用删除
- sureDelete () {
- switch (this.delType) {
- case 'cycle':
- return this.deleteCycle()
- case 'c_cpu':
- return this.deleteCpu()
- case 'memory':
- return this.deleteMemory()
- case 'system': // 删除镜像
- return this.deleteSystem()
- case 'group': // 删除镜像分类
- return this.deleteGroup()
- case 'system_disk':
- return this.deleteStore('system_disk')
- case 'data_disk':
- return this.deleteStore('data_disk')
- case 'system_disk_limit':
- return this.deleteStoreLimit('system_disk_limit')
- case 'data_disk_limit':
- return this.deleteStoreLimit('data_disk_limit')
- case 'data':
- return this.deleteData()
- case 'c_line':
- return this.deleteLine()
- case 'line_bw':
- case 'line_flow':
- case 'line_defence':
- case 'line_ip':
- return this.delSubItem()
- case 'recommend':
- return this.delRecommend()
- case 'cpu':
- case 'data_center':
- case 'line':
- return this.delLimit()
- default:
- return null
- }
- },
- formatPrice (val) {
- return (val * 1).toFixed(2)
- },
- },
- created () {
- this.id = location.href.split('?')[1].split('=')[1]
- this.iconSelecet = this.iconList.reduce((all, cur) => {
- all.push({
- value: cur,
- label: `${this.host}/plugins/server/mf_cloud/template/admin/img/${cur}.svg`
- })
- return all
- }, []);
- this.diskColumns = JSON.parse(JSON.stringify(this.systemDiskColumns))
- this.diskColumns[0].title = `${lang.data_disk}(GB)`
- const temp = JSON.parse(JSON.stringify(this.cpu_columns))
- this.data_center_columns = [{
- colKey: 'fir',
- title: lang.data_center,
- }].concat(temp)
- this.line_columns = [{
- colKey: 'fir',
- title: lang.bw,
- }].concat(temp)
- // 默认拉取数据
- this.getDurationList()
- this.getMemoryList()
- // 拉取其他设置获取版本
- this.getOtherConfig()
- this.backNatureColumns = JSON.parse(JSON.stringify(this.natureColumns))
- },
-}).$mount(template)
diff --git a/10.3.4/public/plugins/server/mf_cloud/validate/CartValidate.php b/10.3.4/public/plugins/server/mf_cloud/validate/CartValidate.php
deleted file mode 100644
index a58765f1..00000000
--- a/10.3.4/public/plugins/server/mf_cloud/validate/CartValidate.php
+++ /dev/null
@@ -1,132 +0,0 @@
- 'require|integer',
- 'cpu' => 'require|integer',
- 'memory' => 'require|integer',
- 'image_id' => 'require|integer', // 镜像ID,暂时必须
- 'system_disk' => 'require|array|checkDisk:thinkphp',
- 'data_disk' => 'array|checkDataDisk:thinkphp',
- 'size' => 'require|integer',
- 'backup_num' => 'integer',
- 'snap_num' => 'integer',
- 'duration_id' => 'require|integer',
- 'password' => 'requireWithout:ssh_key_id|checkPassword:thinkphp',
- 'ssh_key_id' => 'requireWithout:password|number',
- 'notes' => 'length:0,1000',
- 'network_type' => 'require|in:normal,vpc|checkConfigLimit:thinkphp',
- 'bw' => 'integer',
- 'security_group_protocol' => 'array|checkSecurityGroupProtocol:thinkphp',
- ];
-
- protected $message = [
- 'data_center_id.require' => 'data_center_id_error',
- 'data_center_id.integer' => 'data_center_id_error',
- 'cpu.require' => 'please_select_cpu_config',
- 'cpu.integer' => 'please_select_cpu_config',
- 'memory.require' => 'please_select_memory_config',
- 'memory.integer' => 'please_select_memory_config',
- 'image_id.require' => 'please_select_os',
- 'image_id.integer' => 'please_select_os',
- 'system_disk.require' => 'please_select_system_disk_config',
- 'system_disk.array' => 'please_select_system_disk_config',
- 'data_disk.array' => 'please_select_data_disk_config',
- 'size.require' => 'please_select_disk_size',
- 'size.integer' => 'please_select_disk_size',
- 'backup_num.integer' => 'backup_num_error',
- 'snap_num.integer' => 'snap_num_error',
- 'duration_id.require' => 'please_select_pay_duration',
- 'duration_id.integer' => 'please_select_pay_duration',
- 'password.requireWithout' => 'please_set_login_password',
- 'password.checkPassword' => 'mf_cloud_password_format_error',
- 'ssh_key_id.requireWithout' => 'password_and_ssh_key_must_have_one',
- 'ssh_key_id.number' => 'ssh_key_format_error',
- 'notes.length' => 'instance_name_length_error',
- 'network_type.require' => 'please_select_network_type',
- 'network_type.in' => 'please_select_network_type',
- 'bw.integer' => 'bw_error',
- ];
-
- protected $scene = [
- // 下单验证
- 'cal' => ['data_center_id','cpu','memory','image_id','system_disk','data_disk','backup_num','snap_num','duration_id','password','ssh_key_id','notes','network_type','bw'],
- 'upgrade_config' => ['cpu','memory'],
- 'check_disk' => ['size'],
- ];
-
- public function sceneCalPrice(){
- return $this->only(['data_center_id','cpu','memory','image_id','system_disk','data_disk','backup_num','snap_num','duration_id']);
- }
-
- // 验证密码
- public function checkPassword($value){
- if(is_null($value)){
- return true;
- }
- return ToolLogic::checkPassword($value);
- }
-
- public function checkDisk($value){
- $CartValidate = new CartValidate();
-
- if(!$CartValidate->scene('check_disk')->check($value)){
- return $CartValidate->getError();
- }
- return true;
- }
-
- public function checkDataDisk($value){
- $CartValidate = new CartValidate();
-
- foreach($value as $v){
- if(!$CartValidate->scene('check_disk')->check($v)){
- return $CartValidate->getError();
- }
- }
- return true;
- }
-
- // 验证配置限制,下单时验证
- public function checkConfigLimit($value, $type, $param){
- $dataCenter = DataCenterModel::find($param['data_center_id']);
- if(empty($dataCenter)){
- return 'data_center_not_found';
- }
- $ConfigLimitModel = new ConfigLimitModel();
- $checkConfigLimit = $ConfigLimitModel->checkConfigLimit($dataCenter['product_id'], $param);
- if($checkConfigLimit['status'] == 400){
- return $checkConfigLimit['msg'];
- }
- return true;
- }
-
- // 验证主机名 英文大小写字母开头+数字及"_"、"-"、“.”组成,6位及以上
- public function checkHostname($value){
- return preg_match('/^[a-zA-Z][0-9a-zA-Z_\-.]{5,254}$/', $value) ? true : false;
- }
-
- public function checkSecurityGroupProtocol($value){
- $allow = ['icmp','ssh','telnet','http','https','mssql','oracle','mysql','rdp','postgresql','redis'];
- foreach($value as $v){
- if(!in_array($v, $allow)){
- return 'security_group_rule_error';
- }
- }
- return true;
- }
-
-
-
-}
\ No newline at end of file
diff --git a/10.3.4.version b/10.3.5.version
similarity index 100%
rename from 10.3.4.version
rename to 10.3.5.version
diff --git a/10.3.4/app/admin/controller/AdminBaseController.php b/10.3.5/app/admin/controller/AdminBaseController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/AdminBaseController.php
rename to 10.3.5/app/admin/controller/AdminBaseController.php
diff --git a/10.3.4/app/admin/controller/AdminController.php b/10.3.5/app/admin/controller/AdminController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/AdminController.php
rename to 10.3.5/app/admin/controller/AdminController.php
diff --git a/10.3.4/app/admin/controller/AdminRoleController.php b/10.3.5/app/admin/controller/AdminRoleController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/AdminRoleController.php
rename to 10.3.5/app/admin/controller/AdminRoleController.php
diff --git a/10.3.4/app/admin/controller/AppMarketController.php b/10.3.5/app/admin/controller/AppMarketController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/AppMarketController.php
rename to 10.3.5/app/admin/controller/AppMarketController.php
diff --git a/10.3.4/app/admin/controller/BaseController.php b/10.3.5/app/admin/controller/BaseController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/BaseController.php
rename to 10.3.5/app/admin/controller/BaseController.php
diff --git a/10.3.4/app/admin/controller/ClientController.php b/10.3.5/app/admin/controller/ClientController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ClientController.php
rename to 10.3.5/app/admin/controller/ClientController.php
diff --git a/10.3.4/app/admin/controller/ClientCreditController.php b/10.3.5/app/admin/controller/ClientCreditController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ClientCreditController.php
rename to 10.3.5/app/admin/controller/ClientCreditController.php
diff --git a/10.3.4/app/admin/controller/ClientRecordController.php b/10.3.5/app/admin/controller/ClientRecordController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ClientRecordController.php
rename to 10.3.5/app/admin/controller/ClientRecordController.php
diff --git a/10.3.4/app/admin/controller/CommonController.php b/10.3.5/app/admin/controller/CommonController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/CommonController.php
rename to 10.3.5/app/admin/controller/CommonController.php
diff --git a/10.3.4/app/admin/controller/ConfigurationController.php b/10.3.5/app/admin/controller/ConfigurationController.php
similarity index 99%
rename from 10.3.4/app/admin/controller/ConfigurationController.php
rename to 10.3.5/app/admin/controller/ConfigurationController.php
index 4c2ed1ce..0ab4bb0e 100644
--- a/10.3.4/app/admin/controller/ConfigurationController.php
+++ b/10.3.5/app/admin/controller/ConfigurationController.php
@@ -417,6 +417,7 @@ public function cronUpdate()
* @version v1
* @return string admin_theme - 后台主题
* @return string clientarea_theme - 会员中心主题
+ * @return int web_switch - 官网开关0关闭1开启
* @return string web_theme - 官网主题
* @return array admin_theme_list - 后台主题列表
* @return string admin_theme_list[].name - 名称
@@ -453,6 +454,7 @@ public function themeList()
* @version v1
* @param string admin_theme - 后台主题 required
* @param string clientarea_theme - 会员中心主题 required
+ * @param int web_switch - 官网开关0关闭1开启 required
* @param string web_theme - 官网主题 required
*/
public function themeUpdate()
@@ -548,7 +550,6 @@ public function certificationUpdate()
* @method GET
* @author theworld
* @version v1
- * @return string put_on_record - 备案信息
* @return string enterprise_name - 企业名称
* @return string enterprise_telephone - 企业电话
* @return string enterprise_mailbox - 企业邮箱
@@ -587,7 +588,6 @@ public function infoList()
* @method PUT
* @author theworld
* @version v1
- * @param string put_on_record - 备案信息 required
* @param string enterprise_name - 企业名称 required
* @param string enterprise_telephone - 企业电话 required
* @param string enterprise_mailbox - 企业邮箱 required
diff --git a/10.3.4/app/admin/controller/ConsultController.php b/10.3.5/app/admin/controller/ConsultController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ConsultController.php
rename to 10.3.5/app/admin/controller/ConsultController.php
diff --git a/10.3.4/app/admin/controller/FeedbackController.php b/10.3.5/app/admin/controller/FeedbackController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/FeedbackController.php
rename to 10.3.5/app/admin/controller/FeedbackController.php
diff --git a/10.3.4/app/admin/controller/FriendlyLinkController.php b/10.3.5/app/admin/controller/FriendlyLinkController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/FriendlyLinkController.php
rename to 10.3.5/app/admin/controller/FriendlyLinkController.php
diff --git a/10.3.4/app/admin/controller/HonorController.php b/10.3.5/app/admin/controller/HonorController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/HonorController.php
rename to 10.3.5/app/admin/controller/HonorController.php
diff --git a/10.3.4/app/admin/controller/HostController.php b/10.3.5/app/admin/controller/HostController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/HostController.php
rename to 10.3.5/app/admin/controller/HostController.php
diff --git a/10.3.4/app/admin/controller/IndexController.php b/10.3.5/app/admin/controller/IndexController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/IndexController.php
rename to 10.3.5/app/admin/controller/IndexController.php
diff --git a/10.3.4/app/admin/controller/LogController.php b/10.3.5/app/admin/controller/LogController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/LogController.php
rename to 10.3.5/app/admin/controller/LogController.php
diff --git a/10.3.4/app/admin/controller/MenuController.php b/10.3.5/app/admin/controller/MenuController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/MenuController.php
rename to 10.3.5/app/admin/controller/MenuController.php
diff --git a/10.3.4/app/admin/controller/ModuleController.php b/10.3.5/app/admin/controller/ModuleController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ModuleController.php
rename to 10.3.5/app/admin/controller/ModuleController.php
diff --git a/10.3.4/app/admin/controller/NoticeEmailController.php b/10.3.5/app/admin/controller/NoticeEmailController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/NoticeEmailController.php
rename to 10.3.5/app/admin/controller/NoticeEmailController.php
diff --git a/10.3.4/app/admin/controller/NoticeSettingController.php b/10.3.5/app/admin/controller/NoticeSettingController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/NoticeSettingController.php
rename to 10.3.5/app/admin/controller/NoticeSettingController.php
diff --git a/10.3.4/app/admin/controller/NoticeSmsController.php b/10.3.5/app/admin/controller/NoticeSmsController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/NoticeSmsController.php
rename to 10.3.5/app/admin/controller/NoticeSmsController.php
diff --git a/10.3.4/app/admin/controller/OrderController.php b/10.3.5/app/admin/controller/OrderController.php
similarity index 95%
rename from 10.3.4/app/admin/controller/OrderController.php
rename to 10.3.5/app/admin/controller/OrderController.php
index 2ee7aa42..80fb852b 100644
--- a/10.3.4/app/admin/controller/OrderController.php
+++ b/10.3.5/app/admin/controller/OrderController.php
@@ -645,14 +645,17 @@ public function settle()
'amount_unpaid' => $param['custom_order_amount']
],['id'=>$orderId]);
}
- OrderItemModel::create([
- 'type' => 'manual',
- 'order_id' => $orderId,
- 'client_id' => $order['client_id'],
- 'description' => "手动更改金额",
- 'amount' => $param['custom_order_amount']-$order['amount'],
- 'create_time' => time()
- ]);
+ if(($param['custom_order_amount']-$order['amount'])!=0){
+ OrderItemModel::create([
+ 'type' => 'manual',
+ 'order_id' => $orderId,
+ 'client_id' => $order['client_id'],
+ 'description' => lang('update_amount'),
+ 'amount' => $param['custom_order_amount']-$order['amount'],
+ 'create_time' => time()
+ ]);
+ }
+
/*$OrderItemModel = new OrderItemModel();
$orderItems = $OrderItemModel->where('order_id',$orderId)->select();
@@ -684,4 +687,27 @@ public function settle()
return json($result);
}
+ /**
+ * 时间 2022-05-30
+ * @title 商品配置页面
+ * @desc 商品配置页面
+ * @url /admin/v1/product/:id/config_option
+ * @method GET
+ * @author wyh
+ * @version v1
+ * @param int id - 商品ID required
+ * @param string tag - 商品价格显示标识
+ * @return string data.content - 模块输出内容
+ */
+ public function moduleClientConfigOption()
+ {
+ $param = $this->request->param();
+
+ $ProductModel = new ProductModel();
+
+ $ProductModel->isAdmin = true;
+
+ $result = $ProductModel->moduleClientConfigOption($param);
+ return json($result);
+ }
}
\ No newline at end of file
diff --git a/10.3.4/app/admin/controller/PartnerController.php b/10.3.5/app/admin/controller/PartnerController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/PartnerController.php
rename to 10.3.5/app/admin/controller/PartnerController.php
diff --git a/10.3.4/app/admin/controller/PluginController.php b/10.3.5/app/admin/controller/PluginController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/PluginController.php
rename to 10.3.5/app/admin/controller/PluginController.php
diff --git a/10.3.4/app/admin/controller/ProductController.php b/10.3.5/app/admin/controller/ProductController.php
similarity index 97%
rename from 10.3.4/app/admin/controller/ProductController.php
rename to 10.3.5/app/admin/controller/ProductController.php
index 3070da39..01c9825b 100644
--- a/10.3.4/app/admin/controller/ProductController.php
+++ b/10.3.5/app/admin/controller/ProductController.php
@@ -545,6 +545,23 @@ public function modulesProductList()
return json($result);
}
+ /**
+ * 时间 2023-10-16
+ * @title 复制商品
+ * @desc 复制商品
+ * @url /admin/v1/product/:id/copy
+ * @method POST
+ * @author theworld
+ * @version v1
+ * @param int id - 商品ID
+ */
+ public function copy()
+ {
+ $param = $this->request->param();
+ $ProductModel = new ProductModel();
+ $result = $ProductModel->copyProduct($param);
+ return json($result);
+ }
}
diff --git a/10.3.4/app/admin/controller/ProductGroupController.php b/10.3.5/app/admin/controller/ProductGroupController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ProductGroupController.php
rename to 10.3.5/app/admin/controller/ProductGroupController.php
diff --git a/10.3.4/app/admin/controller/PublicController.php b/10.3.5/app/admin/controller/PublicController.php
similarity index 97%
rename from 10.3.4/app/admin/controller/PublicController.php
rename to 10.3.5/app/admin/controller/PublicController.php
index 69651af0..43c4acb8 100644
--- a/10.3.4/app/admin/controller/PublicController.php
+++ b/10.3.5/app/admin/controller/PublicController.php
@@ -98,8 +98,4 @@ public function captcha()
return json($result);
}
-
- public function test(){
- echo amount_format(3.199);
- }
}
\ No newline at end of file
diff --git a/10.3.4/app/admin/controller/ServerController.php b/10.3.5/app/admin/controller/ServerController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ServerController.php
rename to 10.3.5/app/admin/controller/ServerController.php
diff --git a/10.3.4/app/admin/controller/ServerGroupController.php b/10.3.5/app/admin/controller/ServerGroupController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ServerGroupController.php
rename to 10.3.5/app/admin/controller/ServerGroupController.php
diff --git a/10.3.4/app/admin/controller/SupplierController.php b/10.3.5/app/admin/controller/SupplierController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/SupplierController.php
rename to 10.3.5/app/admin/controller/SupplierController.php
diff --git a/10.3.4/app/admin/controller/TaskController.php b/10.3.5/app/admin/controller/TaskController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/TaskController.php
rename to 10.3.5/app/admin/controller/TaskController.php
diff --git a/10.3.4/app/admin/controller/TransactionController.php b/10.3.5/app/admin/controller/TransactionController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/TransactionController.php
rename to 10.3.5/app/admin/controller/TransactionController.php
diff --git a/10.3.4/app/admin/controller/UpgradeSystemController.php b/10.3.5/app/admin/controller/UpgradeSystemController.php
similarity index 73%
rename from 10.3.4/app/admin/controller/UpgradeSystemController.php
rename to 10.3.5/app/admin/controller/UpgradeSystemController.php
index f8bc117e..3ff41adf 100644
--- a/10.3.4/app/admin/controller/UpgradeSystemController.php
+++ b/10.3.5/app/admin/controller/UpgradeSystemController.php
@@ -84,4 +84,40 @@ public function upgradeDownloadProgress()
$result = $UpgradeSystemLogic->getUpgradeDownloadProgress();
return json($result);
}
+
+ /**
+ * 时间 2023-10-13
+ * @title 获取授权信息
+ * @desc 获取授权信息
+ * @author theworld
+ * @version v1
+ * @url /admin/v1/system/auth
+ * @method GET
+ */
+ public function getAuth()
+ {
+ $UpgradeSystemLogic = new UpgradeSystemLogic();
+ $result = $UpgradeSystemLogic->getAuth();
+ return json($result);
+ }
+
+ /**
+ * 时间 2023-10-13
+ * @title 更换授权码
+ * @desc 更换授权码
+ * @author theworld
+ * @version v1
+ * @url /admin/v1/system/license
+ * @method PUT
+ * @param string license - 授权码 required
+ */
+ public function updateLicense()
+ {
+ // 接收参数
+ $param = $this->request->param();
+
+ $UpgradeSystemLogic = new UpgradeSystemLogic();
+ $result = $UpgradeSystemLogic->updateLicense($param);
+ return json($result);
+ }
}
\ No newline at end of file
diff --git a/10.3.4/app/admin/controller/UpstreamHostController.php b/10.3.5/app/admin/controller/UpstreamHostController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/UpstreamHostController.php
rename to 10.3.5/app/admin/controller/UpstreamHostController.php
diff --git a/10.3.4/app/admin/controller/UpstreamOrderController.php b/10.3.5/app/admin/controller/UpstreamOrderController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/UpstreamOrderController.php
rename to 10.3.5/app/admin/controller/UpstreamOrderController.php
diff --git a/10.3.4/app/admin/controller/UpstreamProductController.php b/10.3.5/app/admin/controller/UpstreamProductController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/UpstreamProductController.php
rename to 10.3.5/app/admin/controller/UpstreamProductController.php
diff --git a/10.3.4/app/admin/controller/ViewController.php b/10.3.5/app/admin/controller/ViewController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/ViewController.php
rename to 10.3.5/app/admin/controller/ViewController.php
diff --git a/10.3.4/app/admin/controller/WidgetController.php b/10.3.5/app/admin/controller/WidgetController.php
similarity index 100%
rename from 10.3.4/app/admin/controller/WidgetController.php
rename to 10.3.5/app/admin/controller/WidgetController.php
diff --git a/10.3.4/app/admin/model/AdminLoginModel.php b/10.3.5/app/admin/model/AdminLoginModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AdminLoginModel.php
rename to 10.3.5/app/admin/model/AdminLoginModel.php
diff --git a/10.3.4/app/admin/model/AdminModel.php b/10.3.5/app/admin/model/AdminModel.php
similarity index 99%
rename from 10.3.4/app/admin/model/AdminModel.php
rename to 10.3.5/app/admin/model/AdminModel.php
index aad4024a..0f2da834 100644
--- a/10.3.4/app/admin/model/AdminModel.php
+++ b/10.3.5/app/admin/model/AdminModel.php
@@ -169,7 +169,7 @@ public function createAdmin($param)
active_log(lang('log_create_admin',['{admin}'=>'admin#'.get_admin_id().'#'.request()->admin_name.'#','{name}'=>$param['name']]),'admin',$admin->id);
add_task([
'type' => 'email',
- 'description' => '超级管理员添加后台管理员,发送邮件',
+ 'description' => lang('superadmin_add_admin_send_mail'),
'task_data' => [
'name'=>'admin_create_account',//发送动作名称
'email'=>$param['email'],
@@ -255,10 +255,10 @@ public function updateAdmin($param)
$description .= lang('log_update_admin_description',['{field}'=>lang('admin_role_id'),'{content}'=>$param['role_id']]);
}
if(isset($param['phone_code']) && $admin['phone_code'] != $param['phone_code']){
- $description .= lang('log_update_admin_description',['{field}'=>'国际电话区号','{content}'=>$param['phone_code']]);
+ $description .= lang('log_update_admin_description',['{field}'=>lang('client_phone_code'),'{content}'=>$param['phone_code']]);
}
if(isset($param['phone']) && $admin['phone'] != $param['phone']){
- $description .= lang('log_update_admin_description',['{field}'=>'手机号','{content}'=>$param['phone']]);
+ $description .= lang('log_update_admin_description',['{field}'=>lang('client_phone'),'{content}'=>$param['phone']]);
}
$this->startTrans();
diff --git a/10.3.4/app/admin/model/AdminRoleLinkModel.php b/10.3.5/app/admin/model/AdminRoleLinkModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AdminRoleLinkModel.php
rename to 10.3.5/app/admin/model/AdminRoleLinkModel.php
diff --git a/10.3.4/app/admin/model/AdminRoleModel.php b/10.3.5/app/admin/model/AdminRoleModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AdminRoleModel.php
rename to 10.3.5/app/admin/model/AdminRoleModel.php
diff --git a/10.3.4/app/admin/model/AdminRoleWidgetModel.php b/10.3.5/app/admin/model/AdminRoleWidgetModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AdminRoleWidgetModel.php
rename to 10.3.5/app/admin/model/AdminRoleWidgetModel.php
diff --git a/10.3.4/app/admin/model/AdminWidgetModel.php b/10.3.5/app/admin/model/AdminWidgetModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AdminWidgetModel.php
rename to 10.3.5/app/admin/model/AdminWidgetModel.php
diff --git a/10.3.4/app/admin/model/AuthLinkModel.php b/10.3.5/app/admin/model/AuthLinkModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AuthLinkModel.php
rename to 10.3.5/app/admin/model/AuthLinkModel.php
diff --git a/10.3.4/app/admin/model/AuthModel.php b/10.3.5/app/admin/model/AuthModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AuthModel.php
rename to 10.3.5/app/admin/model/AuthModel.php
diff --git a/10.3.4/app/admin/model/AuthRuleLinkModel.php b/10.3.5/app/admin/model/AuthRuleLinkModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AuthRuleLinkModel.php
rename to 10.3.5/app/admin/model/AuthRuleLinkModel.php
diff --git a/10.3.4/app/admin/model/AuthRuleModel.php b/10.3.5/app/admin/model/AuthRuleModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/AuthRuleModel.php
rename to 10.3.5/app/admin/model/AuthRuleModel.php
diff --git a/10.3.4/app/admin/model/EmailLogModel.php b/10.3.5/app/admin/model/EmailLogModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/EmailLogModel.php
rename to 10.3.5/app/admin/model/EmailLogModel.php
diff --git a/10.3.4/app/admin/model/PluginHookModel.php b/10.3.5/app/admin/model/PluginHookModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/PluginHookModel.php
rename to 10.3.5/app/admin/model/PluginHookModel.php
diff --git a/10.3.4/app/admin/model/PluginModel.php b/10.3.5/app/admin/model/PluginModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/PluginModel.php
rename to 10.3.5/app/admin/model/PluginModel.php
diff --git a/10.3.4/app/admin/model/SmsLogModel.php b/10.3.5/app/admin/model/SmsLogModel.php
similarity index 100%
rename from 10.3.4/app/admin/model/SmsLogModel.php
rename to 10.3.5/app/admin/model/SmsLogModel.php
diff --git a/10.3.4/app/admin/validate/AdminRoleValidate.php b/10.3.5/app/admin/validate/AdminRoleValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/AdminRoleValidate.php
rename to 10.3.5/app/admin/validate/AdminRoleValidate.php
diff --git a/10.3.4/app/admin/validate/AdminValidate.php b/10.3.5/app/admin/validate/AdminValidate.php
similarity index 92%
rename from 10.3.4/app/admin/validate/AdminValidate.php
rename to 10.3.5/app/admin/validate/AdminValidate.php
index 496eb5b3..e88dca50 100644
--- a/10.3.4/app/admin/validate/AdminValidate.php
+++ b/10.3.5/app/admin/validate/AdminValidate.php
@@ -40,9 +40,9 @@ class AdminValidate extends Validate
'email.email' => 'please_enter_vaild_email',
'email.unique' => 'admin_email_unique',
'remember_password.in' => 'remember_password_value_0_or_1',
- 'phone_code.number' => '国际电话区号格式错误',
- 'phone.max' => '手机号格式错误',
- 'phone.number' => '手机号格式错误',
+ 'phone_code.number' => 'phone_code_error',
+ 'phone.max' => 'phone_error',
+ 'phone.number' => 'phone_error',
];
protected $scene = [
diff --git a/10.3.4/app/admin/validate/ClientCreditValidate.php b/10.3.5/app/admin/validate/ClientCreditValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ClientCreditValidate.php
rename to 10.3.5/app/admin/validate/ClientCreditValidate.php
diff --git a/10.3.4/app/admin/validate/ClientRecordValidate.php b/10.3.5/app/admin/validate/ClientRecordValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ClientRecordValidate.php
rename to 10.3.5/app/admin/validate/ClientRecordValidate.php
diff --git a/10.3.4/app/admin/validate/ClientValidate.php b/10.3.5/app/admin/validate/ClientValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ClientValidate.php
rename to 10.3.5/app/admin/validate/ClientValidate.php
diff --git a/10.3.4/app/admin/validate/ConfigurationValidate.php b/10.3.5/app/admin/validate/ConfigurationValidate.php
similarity index 87%
rename from 10.3.4/app/admin/validate/ConfigurationValidate.php
rename to 10.3.5/app/admin/validate/ConfigurationValidate.php
index fc191a84..2ebd348a 100644
--- a/10.3.4/app/admin/validate/ConfigurationValidate.php
+++ b/10.3.5/app/admin/validate/ConfigurationValidate.php
@@ -71,6 +71,7 @@ class ConfigurationValidate extends Validate
# 主题设置
'admin_theme' => 'require',
'clientarea_theme' => 'require',
+ 'web_switch' => 'require|in:0,1',
'web_theme' => 'require',
# 实名设置
@@ -83,19 +84,18 @@ class ConfigurationValidate extends Validate
'certification_uncertified_suspended_host' => 'require|in:0,1',
# 实名设置
- 'put_on_record' => 'require|max:255',
- 'enterprise_name' => 'require|max:255',
- 'enterprise_telephone' => 'require|max:50',
- 'enterprise_mailbox' => 'require|max:255',
- 'enterprise_qrcode' => 'require',
- 'online_customer_service_link' => 'require',
- 'icp_info' => 'require|max:255',
- 'icp_info_link' => 'require|max:255|url',
- 'public_security_network_preparation' => 'require|max:255',
- 'public_security_network_preparation_link' => 'require|max:255|url',
- 'telecom_appreciation' => 'require|max:255',
- 'copyright_info' => 'require|max:255',
- 'official_website_logo' => 'require',
+ 'enterprise_name' => 'max:255',
+ 'enterprise_telephone' => 'max:50',
+ 'enterprise_mailbox' => 'max:255',
+ //'enterprise_qrcode' => 'require',
+ //'online_customer_service_link' => 'require',
+ 'icp_info' => 'max:255',
+ 'icp_info_link' => 'max:255|url',
+ 'public_security_network_preparation' => 'max:255',
+ 'public_security_network_preparation_link' => 'max:255|url',
+ 'telecom_appreciation' => 'max:255',
+ 'copyright_info' => 'max:255',
+ //'official_website_logo' => 'require',
];
protected $message = [
@@ -196,6 +196,8 @@ class ConfigurationValidate extends Validate
# 主题设置
'admin_theme.require' => 'configuration_theme_admin_theme_cannot_empty',
'clientarea_theme.require' => 'configuration_theme_clientarea_theme_cannot_empty',
+ 'web_switch.require' => 'param_error',
+ 'web_switch.in' => 'param_error',
'web_theme.require' => 'configuration_theme_web_theme_cannot_empty',
# 实名设置
@@ -208,35 +210,33 @@ class ConfigurationValidate extends Validate
'certification_uncertified_suspended_host.require' => 'configuration_certification_uncertified_suspended_host_require',
# 信息设置
- 'put_on_record.require' => 'put_on_record_require',
- 'put_on_record.max' => 'put_on_record_max',
- 'enterprise_name.require' => 'enterprise_name_require',
+ //'enterprise_name.require' => 'enterprise_name_require',
'enterprise_name.max' => 'enterprise_name_max',
- 'enterprise_telephone.require' => 'enterprise_telephone_require',
+ //'enterprise_telephone.require' => 'enterprise_telephone_require',
'enterprise_telephone.max' => 'enterprise_telephone_max',
- 'enterprise_mailbox.require' => 'enterprise_mailbox_require',
+ //'enterprise_mailbox.require' => 'enterprise_mailbox_require',
'enterprise_mailbox.max' => 'enterprise_mailbox_max',
- 'enterprise_qrcode.require' => 'enterprise_qrcode_require',
- 'online_customer_service_link.require' => 'online_customer_service_link_require',
- 'icp_info.require' => 'icp_info_require',
+ //'enterprise_qrcode.require' => 'enterprise_qrcode_require',
+ //'online_customer_service_link.require' => 'online_customer_service_link_require',
+ //'icp_info.require' => 'icp_info_require',
'icp_info.max' => 'icp_info_max',
- 'icp_info_link.require' => 'icp_info_link_require',
+ //'icp_info_link.require' => 'icp_info_link_require',
'icp_info_link.max' => 'icp_info_link_max',
'icp_info_link.url' => 'icp_info_link_error',
- 'public_security_network_preparation.require' => 'public_security_network_preparation_require',
+ //'public_security_network_preparation.require' => 'public_security_network_preparation_require',
'public_security_network_preparation.max' => 'public_security_network_preparation_max',
- 'public_security_network_preparation_link.require' => 'public_security_network_preparation_link_require',
+ //'public_security_network_preparation_link.require' => 'public_security_network_preparation_link_require',
'public_security_network_preparation_link.max' => 'public_security_network_preparation_link_max',
'public_security_network_preparation_link.url' => 'public_security_network_preparation_link_error',
- 'telecom_appreciation.require' => 'telecom_appreciation_require',
+ //'telecom_appreciation.require' => 'telecom_appreciation_require',
'telecom_appreciation.max' => 'telecom_appreciation_max',
- 'copyright_info.require' => 'copyright_info_require',
+ //'copyright_info.require' => 'copyright_info_require',
'copyright_info.max' => 'copyright_info_max',
- 'official_website_logo.require' => 'official_website_logo_require',
- 'cloud_product_link.require' => 'cloud_product_link_require',
+ //'official_website_logo.require' => 'official_website_logo_require',
+ //'cloud_product_link.require' => 'cloud_product_link_require',
'cloud_product_link.max' => 'cloud_product_link_max',
'cloud_product_link.url' => 'cloud_product_link_error',
- 'dcim_product_link.require' => 'dcim_product_link_require',
+ //'dcim_product_link.require' => 'dcim_product_link_require',
'dcim_product_link.max' => 'dcim_product_link_max',
'dcim_product_link.url' => 'dcim_product_link_error',
];
@@ -270,7 +270,7 @@ class ConfigurationValidate extends Validate
'cron_order_unpaid_delete_swhitch',
'cron_order_unpaid_delete_day',
],
- 'theme_update' => ['admin_theme', 'clientarea_theme', 'web_theme'],
+ 'theme_update' => ['admin_theme', 'clientarea_theme', 'web_switch', 'web_theme'],
'certification_update' => [
'certification_open',
'certification_approval',
@@ -281,7 +281,6 @@ class ConfigurationValidate extends Validate
'certification_upload'
],
'info_update' => [
- 'put_on_record',
'enterprise_name',
'enterprise_telephone',
'enterprise_mailbox',
diff --git a/10.3.4/app/admin/validate/FeedbackTypeValidate.php b/10.3.5/app/admin/validate/FeedbackTypeValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/FeedbackTypeValidate.php
rename to 10.3.5/app/admin/validate/FeedbackTypeValidate.php
diff --git a/10.3.4/app/admin/validate/FriendlyLinkValidate.php b/10.3.5/app/admin/validate/FriendlyLinkValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/FriendlyLinkValidate.php
rename to 10.3.5/app/admin/validate/FriendlyLinkValidate.php
diff --git a/10.3.4/app/admin/validate/HonorValidate.php b/10.3.5/app/admin/validate/HonorValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/HonorValidate.php
rename to 10.3.5/app/admin/validate/HonorValidate.php
diff --git a/10.3.4/app/admin/validate/HostValidate.php b/10.3.5/app/admin/validate/HostValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/HostValidate.php
rename to 10.3.5/app/admin/validate/HostValidate.php
diff --git a/10.3.4/app/admin/validate/MenuValidate.php b/10.3.5/app/admin/validate/MenuValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/MenuValidate.php
rename to 10.3.5/app/admin/validate/MenuValidate.php
diff --git a/10.3.4/app/admin/validate/NoticeEmailValidate.php b/10.3.5/app/admin/validate/NoticeEmailValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/NoticeEmailValidate.php
rename to 10.3.5/app/admin/validate/NoticeEmailValidate.php
diff --git a/10.3.4/app/admin/validate/NoticeSettingValidate.php b/10.3.5/app/admin/validate/NoticeSettingValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/NoticeSettingValidate.php
rename to 10.3.5/app/admin/validate/NoticeSettingValidate.php
diff --git a/10.3.4/app/admin/validate/NoticeSmsValidate.php b/10.3.5/app/admin/validate/NoticeSmsValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/NoticeSmsValidate.php
rename to 10.3.5/app/admin/validate/NoticeSmsValidate.php
diff --git a/10.3.4/app/admin/validate/OrderValidate.php b/10.3.5/app/admin/validate/OrderValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/OrderValidate.php
rename to 10.3.5/app/admin/validate/OrderValidate.php
diff --git a/10.3.4/app/admin/validate/PartnerValidate.php b/10.3.5/app/admin/validate/PartnerValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/PartnerValidate.php
rename to 10.3.5/app/admin/validate/PartnerValidate.php
diff --git a/10.3.4/app/admin/validate/ProductGroupValidate.php b/10.3.5/app/admin/validate/ProductGroupValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ProductGroupValidate.php
rename to 10.3.5/app/admin/validate/ProductGroupValidate.php
diff --git a/10.3.4/app/admin/validate/ProductValidate.php b/10.3.5/app/admin/validate/ProductValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ProductValidate.php
rename to 10.3.5/app/admin/validate/ProductValidate.php
diff --git a/10.3.4/app/admin/validate/ServerGroupValidate.php b/10.3.5/app/admin/validate/ServerGroupValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ServerGroupValidate.php
rename to 10.3.5/app/admin/validate/ServerGroupValidate.php
diff --git a/10.3.4/app/admin/validate/ServerValidate.php b/10.3.5/app/admin/validate/ServerValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/ServerValidate.php
rename to 10.3.5/app/admin/validate/ServerValidate.php
diff --git a/10.3.4/app/admin/validate/SupplierValidate.php b/10.3.5/app/admin/validate/SupplierValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/SupplierValidate.php
rename to 10.3.5/app/admin/validate/SupplierValidate.php
diff --git a/10.3.4/app/admin/validate/TransactionValidate.php b/10.3.5/app/admin/validate/TransactionValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/TransactionValidate.php
rename to 10.3.5/app/admin/validate/TransactionValidate.php
diff --git a/10.3.4/app/admin/validate/UpstreamProductValidate.php b/10.3.5/app/admin/validate/UpstreamProductValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/UpstreamProductValidate.php
rename to 10.3.5/app/admin/validate/UpstreamProductValidate.php
diff --git a/10.3.4/app/admin/validate/WidgetValidate.php b/10.3.5/app/admin/validate/WidgetValidate.php
similarity index 100%
rename from 10.3.4/app/admin/validate/WidgetValidate.php
rename to 10.3.5/app/admin/validate/WidgetValidate.php
diff --git a/10.3.4/app/api/controller/AuthController.php b/10.3.5/app/api/controller/AuthController.php
similarity index 74%
rename from 10.3.4/app/api/controller/AuthController.php
rename to 10.3.5/app/api/controller/AuthController.php
index 9325a387..a6f78227 100644
--- a/10.3.4/app/api/controller/AuthController.php
+++ b/10.3.5/app/api/controller/AuthController.php
@@ -25,20 +25,20 @@ class AuthController
* @param string password - 密码(api信息的token)
*/
public function auth()
- {
- $param = request()->param();
-
- $validate = new \think\Validate([
- 'username' => 'require|length:4,20',
- 'password' => 'require'
- ]);
- $validate->message([
- 'username.require' => '用户不能为空',
- 'username.length' => '用户名4-20位',
- 'password.require' => '密码不能为空',
- ]);
- if (!$validate->check($param)) {
- return json(['status' => 400, 'msg' => '鉴权失败']);
+ {
+ $param = request()->param();
+
+ $validate = new \think\Validate([
+ 'username' => 'require|length:4,20',
+ 'password' => 'require'
+ ]);
+ $validate->message([
+ 'username.require' => lang('user_cannot_empty'),
+ 'username.length' => lang('username_4_20_digits'),
+ 'password.require' => lang('password_cannot_empty'),
+ ]);
+ if (!$validate->check($param)) {
+ return json(['status' => 400, 'msg' => lang('auth_failed')]);
}
$ClientModel = new ClientModel();
@@ -64,7 +64,7 @@ public function hostSync()
$id = $param['id'];
if (empty($param['signature'])){
- return json(['status'=>400,'msg'=>'签名错误']);
+ return json(['status'=>400,'msg'=>lang('signature_error')]);
}
$HostModel = new HostModel();
@@ -77,7 +77,7 @@ public function hostSync()
$token = $stream_info['token'];
if(empty($token)){
$result['status'] = 400;
- $result['msg'] = '该产品不能使用该接口';
+ $result['msg'] = lang('host_cannot_use_this_interface');
return json($result);
}
$param['password'] = html_entity_decode($param['password'], ENT_QUOTES);
@@ -85,7 +85,7 @@ public function hostSync()
$UpstreamLogic = new UpstreamLogic();
if(!$UpstreamLogic->validateSign($param, $param['signature'])){
$result['status'] = 400;
- $result['msg'] = '签名验证失败';
+ $result['msg'] = lang('signature_verification_failed');
return json($result);
}
@@ -122,26 +122,26 @@ public function hostSync()
// 一开始为开通状态
if($hostStatus=="Active"){
$result['status'] = 200;
- $result['msg'] = '更新成功';
+ $result['msg'] = lang('sync_success');
return json($result);
}else{
// 发送开通通知
if ($param['domainstatus']=='Active' && $hostStatus=='Pending'){
$host_active = (new NoticeSettingModel())->indexSetting('host_active');
- if($host_active['email_enable']==1){
+ if($host_active['sms_enable']==1){
add_task([
'type' => 'email',
- 'description' => '产品开通成功,发送邮件',
+ 'description' => lang('host_create_success_send_mail'),
'task_data' => [
'name'=>'host_active',//发送动作名称
'host_id'=>$id,//主机ID
],
]);
}
- if($host_active['sms_enable']==1){
+ if($host_active['email_enable']==1){
add_task([
'type' => 'sms',
- 'description' => '产品开通成功,发送短信',
+ 'description' => lang('host_create_success_send_sms'),
'task_data' => [
'name'=>'host_active',//发送动作名称
'host_id'=>$id,//主机ID
@@ -156,34 +156,51 @@ public function hostSync()
}elseif ($param['domainstatus']=="Pending"){ // 开通失败
$description = lang('log_module_create_account_failed', [
'{host}'=>'host#'.$host->id.'#'.$host['name'].'#',
- '{reason}'=>"上游开通失败" ?? '',
+ '{reason}'=> lang('failed_to_open_upstream'),
]);
active_log($description, 'host', $id);
}else{
$result['status'] = 400;
- $result['msg'] = '更新失败';
+ $result['msg'] = lang('sync_failed');
return json($result);
}
}
}
if ($updateResult){
$map = [
- 'name' => '主机名',
- 'status' => '主机状态',
- 'due_time' => '到期时间',
- 'suspend_type' => '暂停类型',
- 'suspend_reason' => '暂停原因'
+ 'name' => lang('host_name'),
+ 'status' => lang('host_status'),
+ 'due_time' => lang('host_due_time'),
+ 'suspend_type' => lang('suspend_type'),
+ 'suspend_reason' => lang('suspend_reason'),
];
$desc = "";
foreach ($update as $k=>$v){
if (isset($host[$k]) && $host[$k]!=$v){
- $desc .= $map[$k] . "修改为:" . $v . ',';
+ $desc .= $map[$k] . lang('change_into') . $v . ',';
}
}
active_log(rtrim($desc,','), 'host', $id);
}
$result['status'] = 200;
- $result['msg'] = '更新成功';
+ $result['msg'] = lang('sync_success');
return json($result);
}
+
+ public function syncDownStreamHost()
+ {
+ $param = request()->param();
+
+ $HostModel = new HostModel();
+
+ $host = $HostModel->find($param['id']??0);
+
+ $data = $HostModel->syncDownStreamHost($host);
+
+ return json([
+ 'status'=>200,
+ 'msg'=>lang('sync_success'),
+ 'data' => $data
+ ]);
+ }
}
\ No newline at end of file
diff --git a/10.3.5/app/api/controller/HostController.php b/10.3.5/app/api/controller/HostController.php
new file mode 100644
index 00000000..d7d4bea6
--- /dev/null
+++ b/10.3.5/app/api/controller/HostController.php
@@ -0,0 +1,10 @@
+toArray();
$ProductModel = new ProductModel();
foreach ($groups as &$group){
- $group['products'] = $ProductModel->field("id,name,description")
- ->where('product_group_id',$group['id'])
- ->where('hidden',0)
- ->where('agentable',1)
- ->order('id','asc')
+ $group['products'] = $ProductModel->alias('p')
+ ->field("p.id,p.name,p.description,s.module,sgs.module as sgs_module")
+ ->withAttr("module",function ($value,$data){
+ return $value??$data['sgs_module'];
+ })
+ ->whereIn('s.module|sgs.module',['mf_dcim','mf_cloud'])
+ ->where('p.product_group_id',$group['id'])
+ ->where('p.hidden',0)
+ ->where('p.agentable',1)
+ ->leftJoin('server s','p.type=\'server\' and s.id=p.rel_id')
+ ->leftJoin('server_group sg','p.type=\'server_group\' and sg.id=p.rel_id')
+ ->leftJoin('server sgs','sgs.server_group_id=sg.id')
->select()
->toArray();
}
+
+ $groupsFilter = [];
+ foreach ($groups as $item){
+ if (!empty($item['products'])){
+ $groupsFilter[] = $item;
+ }
+ }
+
return json([
'status' => 200,
'msg' => lang('success_message'),
'data' => [
- 'products' => $groups,
+ 'products' => $groupsFilter,
'currency' => configuration("currency_code")
]
]);
@@ -70,7 +88,7 @@ public function index()
$param = request()->param();
$id = intval($param['id'] ?? 0);
$ProductModel = new ProductModel();
- $product = $ProductModel->field('id,name,pay_type,price,cycle')
+ $product = $ProductModel->field('id,name,pay_type,price,cycle,auto_setup,description')
->where('hidden', 0)
->where('agentable', 1)
->where('id', $id)
@@ -78,7 +96,18 @@ public function index()
if(empty($product)){
$product = (object)[];
}
-
+ if (!empty($product)){
+ $product['cancel_control'] = 0;
+ if (class_exists("addon\idcsmart_refund\IdcsmartRefund")){
+ $product['cancel_control'] = 1;
+ }
+ }
+
+ $ModuleLogic = new ModuleLogic();
+ $res = $ModuleLogic->getPriceCycle($id);
+ $product['price'] = $res['price'];
+ $product['cycle'] = $res['cycle']??$product['cycle'];
+
$result = [
'status' => 200,
'msg' => lang('success_message'),
diff --git a/10.3.4/app/command/Cron.php b/10.3.5/app/command/Cron.php
similarity index 95%
rename from 10.3.4/app/command/Cron.php
rename to 10.3.5/app/command/Cron.php
index 3e6bbc89..3117a4c2 100644
--- a/10.3.4/app/command/Cron.php
+++ b/10.3.5/app/command/Cron.php
@@ -145,7 +145,7 @@ public function hostDue($config){
add_task([
'type' => 'email',
- 'description' => '#host#'.$h['id'].'#第一次客户续费提醒,发送邮件',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_renewal_first_send_mail'),
'task_data' => [
'name'=>'host_renewal_first',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -153,7 +153,7 @@ public function hostDue($config){
]);
add_task([
'type' => 'sms',
- 'description' => '#host#'.$h['id'].'#第一次客户续费提醒,发送短信',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_renewal_first_send_sms'),
'task_data' => [
'name'=>'host_renewal_first',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -180,7 +180,7 @@ public function hostDue($config){
foreach($renewal_second_host as $h){
add_task([
'type' => 'email',
- 'description' => '#host#'.$h['id'].'#第二次客户续费提醒,发送邮件',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_renewal_second_send_mail'),
'task_data' => [
'name'=>'host_renewal_second',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -188,7 +188,7 @@ public function hostDue($config){
]);
add_task([
'type' => 'sms',
- 'description' => '#host#'.$h['id'].'#第二次客户续费提醒,发送短信',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_renewal_second_send_sms'),
'task_data' => [
'name'=>'host_renewal_second',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -219,7 +219,7 @@ public function hostOverdue($config){
foreach($overdue_first_host as $h){
add_task([
'type' => 'email',
- 'description' => '#host#'.$h['id'].'#逾期付款第一次,发送邮件',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_overdue_first_send_mail'),
'task_data' => [
'name'=>'host_overdue_first',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -227,7 +227,7 @@ public function hostOverdue($config){
]);
add_task([
'type' => 'sms',
- 'description' => '#host#'.$h['id'].'#逾期付款第一次,发送短信',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_overdue_first_send_sms'),
'task_data' => [
'name'=>'host_overdue_first',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -254,7 +254,7 @@ public function hostOverdue($config){
foreach($overdue_second_host as $h){
add_task([
'type' => 'email',
- 'description' => '#host#'.$h['id'].'#逾期付款第二次,发送邮件',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_overdue_second_send_mail'),
'task_data' => [
'name'=>'host_overdue_second',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -262,7 +262,7 @@ public function hostOverdue($config){
]);
add_task([
'type' => 'sms',
- 'description' => '#host#'.$h['id'].'#逾期付款第二次,发送短信',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_overdue_second_send_sms'),
'task_data' => [
'name'=>'host_overdue_second',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -289,7 +289,7 @@ public function hostOverdue($config){
foreach($overdue_third_host as $h){
add_task([
'type' => 'email',
- 'description' => '#host#'.$h['id'].'#逾期付款第三次,发送邮件',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_overdue_third_send_mail'),
'task_data' => [
'name'=>'host_overdue_third',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -297,7 +297,7 @@ public function hostOverdue($config){
]);
add_task([
'type' => 'sms',
- 'description' => '#host#'.$h['id'].'#逾期付款第三次,发送短信',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_overdue_third_send_sms'),
'task_data' => [
'name'=>'host_overdue_third',//发送动作名称
'host_id'=>$h['id'],//主机ID
@@ -327,7 +327,7 @@ public function orderOverdue($config){
foreach($order as $o){
add_task([
'type' => 'email',
- 'description' => '#order'.$o['id'].'订单未付款通知,发送邮件',
+ 'description' => '#order'.$o['id'].lang('order_overdue_send_mail'),
'task_data' => [
'name'=>'order_overdue',//发送动作名称
'order_id'=>$o['id'],//订单ID
@@ -335,7 +335,7 @@ public function orderOverdue($config){
]);
add_task([
'type' => 'sms',
- 'description' => '#order'.$o['id'].'订单未付款通知,发送短信',
+ 'description' => '#order'.$o['id'].lang('order_overdue_send_sms'),
'task_data' => [
'name'=>'order_overdue',//发送动作名称
'order_id'=>$o['id'],//订单ID
@@ -388,7 +388,7 @@ public function hostModule($config){
foreach($suspend_host as $h){
add_task([
'type' => 'host_suspend',
- 'description' => '#host#'.$h['id'].'#主机暂停',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_suspend'),
'task_data' => [
'host_id'=>$h['id'],//主机ID
],
@@ -413,7 +413,7 @@ public function hostModule($config){
foreach($terminate_host as $h){
add_task([
'type' => 'host_terminate',
- 'description' => '#host#'.$h['id'].'#主机删除',
+ 'description' => '#host#'.$h['id'].'#'.lang('host_delete'),
'task_data' => [
'host_id'=>$h['id'],//主机ID
],
diff --git a/10.3.4/app/command/Task.php b/10.3.5/app/command/Task.php
similarity index 98%
rename from 10.3.4/app/command/Task.php
rename to 10.3.5/app/command/Task.php
index 5c3c8986..dac5ddf4 100644
--- a/10.3.4/app/command/Task.php
+++ b/10.3.5/app/command/Task.php
@@ -129,7 +129,7 @@ public function host($action,$task_data){
$HostModelAction = get_class_methods($HostModel);
if(in_array($action,$HostModelAction)){
if($action=='suspendAccount'){
- $send_result = $HostModel->$action(['suspend_reason'=>'产品到期暂停','id'=>$task_data['host_id']]);
+ $send_result = $HostModel->$action(['suspend_reason'=>lang('host_overdue_suspend'),'id'=>$task_data['host_id']]);
}else if($action=='upgradeAccount'){
$send_result = $HostModel->upgradeAccount($task_data['upgrade_id']);
}else{
diff --git a/10.3.4/app/common.php b/10.3.5/app/common.php
similarity index 97%
rename from 10.3.4/app/common.php
rename to 10.3.5/app/common.php
index 69009e02..33a73f5b 100644
--- a/10.3.4/app/common.php
+++ b/10.3.5/app/common.php
@@ -295,16 +295,15 @@ function lang_list($app = 'admin')
*/
function lang($name = '', $param = [])
{
- //$defaultLang = config('lang.default_lang');
- $defaultLang = get_system_lang(true);
+ $defaultLang = config('lang.default_lang');
if(!empty(get_client_id())){
- $defaultLang2 = get_client_lang();
+ $defaultLang = get_client_lang();
}else{
- $defaultLang2 = get_system_lang(false);
+ $defaultLang = get_system_lang(true);
}
$langAdmin = include WEB_ROOT.'/'.DIR_ADMIN.'/language/'. $defaultLang .'.php';
- $langHome = include WEB_ROOT.'/clientarea/language/'. $defaultLang2 .'.php';
+ $langHome = include WEB_ROOT.'/clientarea/language/'. $defaultLang .'.php';
$lang = array_merge($langAdmin, $langHome);
if(empty($name)){
return $lang;
@@ -313,7 +312,7 @@ function lang($name = '', $param = [])
}else{
$language = $lang[$name];
foreach($param as $k => $v){
- $language = str_replace($k, $v, $language);
+ $language = str_replace($k, $v , $language);
}
return $language;
}
@@ -1536,7 +1535,7 @@ function idcsmart_api_curl($api_id,$path,$data=[],$timeout=30,$request='POST')
$result = curl($apiUrl,$data,$timeout,$request,$header);
if($result['http_code'] != 200){
- return ['status'=>400, 'msg'=>'网络开小差', 'content'=>$result['content']];
+ return ['status'=>400, 'msg'=>lang('network_desertion'), 'content'=>$result['content']];
}
$result = json_decode($result['content'], true);
if(isset($result['status'])){
@@ -1555,11 +1554,11 @@ function idcsmart_api_curl($api_id,$path,$data=[],$timeout=30,$request='POST')
$result = curl($apiUrl,$data,$timeout,$request,$header);
if($result['http_code'] != 200){
- return ['status'=>400, 'msg'=>'网络开小差', 'content'=>$result['content']];
+ return ['status'=>400, 'msg'=>lang('network_desertion'), 'content'=>$result['content']];
}
$result = json_decode($result['content'], true);
if(empty($result)){
- $result = ['status'=>400, 'msg'=>'网络开小差', 'content'=>$result['content']];
+ $result = ['status'=>400, 'msg'=>lang('network_desertion'), 'content'=>$result['content']];
}
if ($result['status']==401 || $result['status']==405){
$login = idcsmart_api_login($api_id, true);
@@ -1574,12 +1573,12 @@ function idcsmart_api_curl($api_id,$path,$data=[],$timeout=30,$request='POST')
$result = curl($apiUrl,$data,$timeout,$request,$header);
if($result['http_code'] != 200){
- return ['status'=>400, 'msg'=>'网络开小差', 'content'=>$result['content']];
+ return ['status'=>400, 'msg'=>lang('network_desertion'), 'content'=>$result['content']];
}
$result = json_decode($result['content'], true);
if ($result['status']==401){
$result['status']=400;
- $result['msg'] = 'API账号或密码错误';
+ $result['msg'] = lang('api_account_or_password_error');
}
}
}
@@ -1652,4 +1651,18 @@ function zjmf_private_encrypt($originalData,$private_key){
$crypted .= $encryptData;
}
return base64_encode($crypted);
+}
+
+// 生成签名
+function create_sign($params, $token){
+ $rand_str = rand_str(6);
+ $params['token'] = $token;
+ $params['rand_str'] = $rand_str;
+ ksort($params, SORT_STRING);
+ $str = json_encode($params);
+ $sign = md5($str);
+ $sign = strtoupper($sign);
+ $res['signature'] = $sign;
+ $res['rand_str'] = $rand_str;
+ return $res;
}
\ No newline at end of file
diff --git a/10.3.4/app/common/lib/IdcsmartCache.php b/10.3.5/app/common/lib/IdcsmartCache.php
similarity index 100%
rename from 10.3.4/app/common/lib/IdcsmartCache.php
rename to 10.3.5/app/common/lib/IdcsmartCache.php
diff --git a/10.3.4/app/common/lib/Loader.php b/10.3.5/app/common/lib/Loader.php
similarity index 100%
rename from 10.3.4/app/common/lib/Loader.php
rename to 10.3.5/app/common/lib/Loader.php
diff --git a/10.3.4/app/common/lib/Plugin.php b/10.3.5/app/common/lib/Plugin.php
similarity index 100%
rename from 10.3.4/app/common/lib/Plugin.php
rename to 10.3.5/app/common/lib/Plugin.php
diff --git a/10.3.4/app/common/lib/RedisPool.php b/10.3.5/app/common/lib/RedisPool.php
similarity index 100%
rename from 10.3.4/app/common/lib/RedisPool.php
rename to 10.3.5/app/common/lib/RedisPool.php
diff --git a/10.3.4/app/common/lib/Widget.php b/10.3.5/app/common/lib/Widget.php
similarity index 100%
rename from 10.3.4/app/common/lib/Widget.php
rename to 10.3.5/app/common/lib/Widget.php
diff --git a/10.3.4/app/common/logic/EmailLogic.php b/10.3.5/app/common/logic/EmailLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/EmailLogic.php
rename to 10.3.5/app/common/logic/EmailLogic.php
diff --git a/10.3.4/app/common/logic/IndexLogic.php b/10.3.5/app/common/logic/IndexLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/IndexLogic.php
rename to 10.3.5/app/common/logic/IndexLogic.php
diff --git a/10.3.4/app/common/logic/ModuleLogic.php b/10.3.5/app/common/logic/ModuleLogic.php
similarity index 98%
rename from 10.3.4/app/common/logic/ModuleLogic.php
rename to 10.3.5/app/common/logic/ModuleLogic.php
index 6a288cbf..3f34cf49 100644
--- a/10.3.4/app/common/logic/ModuleLogic.php
+++ b/10.3.5/app/common/logic/ModuleLogic.php
@@ -633,14 +633,14 @@ public function customAdminFunction($module, $params)
// 验证模块格式是否正确
if(!$this->checkModule($module)){
$res['status'] = 400;
- $res['msg'] = '模块格式错误';
+ $res['msg'] = lang('module_format_error');
return json($res);
}
$controller = $params['controller'] ?? '';
$method = $params['method'] ?? '';
if(empty($controller) || empty($method)){
$res['status'] = 400;
- $res['msg'] = '模块格式错误';
+ $res['msg'] = lang('module_format_error');
return json($res);
}
$controller = parse_name($controller.'_controller', 1);
@@ -654,12 +654,12 @@ public function customAdminFunction($module, $params)
$res = call_user_func([$class, $method], $params);
}else{
$res['status'] = 400;
- $res['msg'] = '模块或方法不存在';
+ $res['msg'] = lang('module_or_function_is_not_exist');
$res = json($res);
}
}else{
$res['status'] = 400;
- $res['msg'] = '模块或方法不存在';
+ $res['msg'] = lang('module_or_function_is_not_exist');
$res = json($res);
}
// if($this->importModule($module)){
@@ -672,7 +672,7 @@ public function customAdminFunction($module, $params)
// }
// if(empty($res)){
// $res['status'] = 400;
- // $res['msg'] = '模块或方法不存在';
+ // $res['msg'] = lang('module_or_function_is_not_exist');
// }
return $res;
}
@@ -693,14 +693,14 @@ public function customClientFunction($module, $params)
// 验证模块格式是否正确
if(!$this->checkModule($module)){
$res['status'] = 400;
- $res['msg'] = '模块格式错误';
+ $res['msg'] = lang('module_format_error');
return json($res);
}
$controller = $params['controller'] ?? '';
$method = $params['method'] ?? '';
if(empty($controller) || empty($method)){
$res['status'] = 400;
- $res['msg'] = '模块格式错误';
+ $res['msg'] = lang('module_format_error');
return json($res);
}
$controller = parse_name($controller.'_controller', 1);
@@ -714,12 +714,12 @@ public function customClientFunction($module, $params)
$res = call_user_func([$class, $method], $params);
}else{
$res['status'] = 400;
- $res['msg'] = '模块或方法不存在';
+ $res['msg'] = lang('module_or_function_is_not_exist');
$res = json($res);
}
}else{
$res['status'] = 400;
- $res['msg'] = '模块或方法不存在';
+ $res['msg'] = lang('module_or_function_is_not_exist');
$res = json($res);
}
return $res;
diff --git a/10.3.4/app/common/logic/ResModuleLogic.php b/10.3.5/app/common/logic/ResModuleLogic.php
similarity index 99%
rename from 10.3.4/app/common/logic/ResModuleLogic.php
rename to 10.3.5/app/common/logic/ResModuleLogic.php
index 03c08e26..e0f7ed6d 100644
--- a/10.3.4/app/common/logic/ResModuleLogic.php
+++ b/10.3.5/app/common/logic/ResModuleLogic.php
@@ -813,7 +813,7 @@ public function cartCalculatePrice($ProductModel, $params = [], $qty=1, $scene="
$res['data']['preview'][$k]['price'] = $v['price'];
}
- $description .= $v['name'].': '.$v['value'].',价格:'.$v['price']."\r\n";
+ $description .= $v['name'].': '.$v['value'].','.lang('price').':'.$v['price']."\r\n";
}
$res['data']['description'] = $description;
$res['data']['content'] = $description;
@@ -879,7 +879,7 @@ public function cartCalculatePrice($ProductModel, $params = [], $qty=1, $scene="
'value' => $v['qty']??$v['suboption_name'],
'price' => bcmul($v['suboption_price_total']??0,$this->upstreamProduct['profit_type']==1?1:(1+$this->upstreamProduct['profit_percent']/100),2),
];
- $description .= $v['option_name'].': '.($v['qty']??$v['suboption_name']).',价格:'.(bcmul($v['suboption_price_total']??0,$this->upstreamProduct['profit_type']==1?1:(1+$this->upstreamProduct['profit_percent']/100),2))."\r\n";
+ $description .= $v['option_name'].': '.($v['qty']??$v['suboption_name']).','.lang('price').':'.(bcmul($v['suboption_price_total']??0,$this->upstreamProduct['profit_type']==1?1:(1+$this->upstreamProduct['profit_percent']/100),2))."\r\n";
}
$res['data']['preview'] = $preview;
$res['data']['description'] = $description;
@@ -911,7 +911,7 @@ public function cartCalculatePrice($ProductModel, $params = [], $qty=1, $scene="
$v['price'] = bcmul($v['price'],$this->upstreamProduct['profit_type']==1?1:(1+$this->upstreamProduct['profit_percent']/100),2);
$res['data']['preview'][$k]['price'] = $v['price'];
}
- $description .= $v['name'].': '.$v['value'].',价格:'.$v['price']."\r\n";
+ $description .= $v['name'].': '.$v['value'].','.lang('price').':'.$v['price']."\r\n";
}
$res['data']['description'] = $description;
$res['data']['content'] = $description;
diff --git a/10.3.4/app/common/logic/SmsLogic.php b/10.3.5/app/common/logic/SmsLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/SmsLogic.php
rename to 10.3.5/app/common/logic/SmsLogic.php
diff --git a/10.3.4/app/common/logic/UpgradePluginsLogic.php b/10.3.5/app/common/logic/UpgradePluginsLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/UpgradePluginsLogic.php
rename to 10.3.5/app/common/logic/UpgradePluginsLogic.php
diff --git a/10.3.4/app/common/logic/UpgradeSystemLogic.php b/10.3.5/app/common/logic/UpgradeSystemLogic.php
similarity index 94%
rename from 10.3.4/app/common/logic/UpgradeSystemLogic.php
rename to 10.3.5/app/common/logic/UpgradeSystemLogic.php
index 0ca6dfc5..c27dd14a 100644
--- a/10.3.4/app/common/logic/UpgradeSystemLogic.php
+++ b/10.3.5/app/common/logic/UpgradeSystemLogic.php
@@ -212,6 +212,29 @@ public function getUpgradeDownloadProgress()
return ['status'=>200, 'data'=>$data];
}
+ public function getAuth()
+ {
+ $res = get_idcsamrt_auth();
+ if($res){
+ return ['status' => 200, 'msg' => lang('get_idcsamrt_auth_success')];
+ }else{
+ return ['status' => 400, 'msg' => lang('get_idcsamrt_auth_failed')];
+ }
+ }
+
+ public function updateLicense($param)
+ {
+ $oldLicense = configuration('system_license');
+ updateConfiguration('system_license', $param['license']);
+ $res = get_idcsamrt_auth();
+ if($res){
+ return ['status' => 200, 'msg' => lang('replace_idcsamrt_auth_success')];
+ }else{
+ updateConfiguration('system_license', $oldLicense);
+ return ['status' => 400, 'msg' => lang('replace_idcsamrt_auth_failed')];
+ }
+ }
+
private function downloadZip($url)
{
$url = urldecode($url);
diff --git a/10.3.4/app/common/logic/UploadLogic.php b/10.3.5/app/common/logic/UploadLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/UploadLogic.php
rename to 10.3.5/app/common/logic/UploadLogic.php
diff --git a/10.3.4/app/common/logic/UpstreamLogic.php b/10.3.5/app/common/logic/UpstreamLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/UpstreamLogic.php
rename to 10.3.5/app/common/logic/UpstreamLogic.php
diff --git a/10.3.4/app/common/logic/VerificationCodeLogic.php b/10.3.5/app/common/logic/VerificationCodeLogic.php
similarity index 96%
rename from 10.3.4/app/common/logic/VerificationCodeLogic.php
rename to 10.3.5/app/common/logic/VerificationCodeLogic.php
index e25a3bbc..288624bf 100644
--- a/10.3.4/app/common/logic/VerificationCodeLogic.php
+++ b/10.3.5/app/common/logic/VerificationCodeLogic.php
@@ -55,8 +55,9 @@ public function sendPhoneCode($param)
if(empty($client['phone'])){
return ['status'=>400, 'msg'=>lang('user_not_bind_phone')];
}
- $phone_code = $client['phone_code'];
- $phone = $client['phone'];
+ // 20231019 增加,默认使用接口请求手机号(方便下游调取接口)
+ $phone_code = $param['phone_code']??$client['phone_code'];
+ $phone = $param['phone']??$client['phone'];
}else if(in_array($param['action'], ['login'])){
$client = ClientModel::where('phone', $param['phone'])->where('phone_code', $param['phone_code'])->find();
if(empty($client)){
diff --git a/10.3.4/app/common/logic/WidgetLogic.php b/10.3.5/app/common/logic/WidgetLogic.php
similarity index 100%
rename from 10.3.4/app/common/logic/WidgetLogic.php
rename to 10.3.5/app/common/logic/WidgetLogic.php
diff --git a/10.3.4/app/common/model/ApiModel.php b/10.3.5/app/common/model/ApiModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ApiModel.php
rename to 10.3.5/app/common/model/ApiModel.php
diff --git a/10.3.4/app/common/model/ClientCreditModel.php b/10.3.5/app/common/model/ClientCreditModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ClientCreditModel.php
rename to 10.3.5/app/common/model/ClientCreditModel.php
diff --git a/10.3.4/app/common/model/ClientCustomFieldModel.php b/10.3.5/app/common/model/ClientCustomFieldModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ClientCustomFieldModel.php
rename to 10.3.5/app/common/model/ClientCustomFieldModel.php
diff --git a/10.3.4/app/common/model/ClientLoginModel.php b/10.3.5/app/common/model/ClientLoginModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ClientLoginModel.php
rename to 10.3.5/app/common/model/ClientLoginModel.php
diff --git a/10.3.4/app/common/model/ClientModel.php b/10.3.5/app/common/model/ClientModel.php
similarity index 98%
rename from 10.3.4/app/common/model/ClientModel.php
rename to 10.3.5/app/common/model/ClientModel.php
index 5acb8357..013a27bf 100644
--- a/10.3.4/app/common/model/ClientModel.php
+++ b/10.3.5/app/common/model/ClientModel.php
@@ -738,7 +738,7 @@ public function updateClientPhone($param)
//客户更改手机发送短信添加到任务队列
add_task([
'type' => 'sms',
- 'description' => '客户更改手机成功,发送短信',
+ 'description' => lang('client_change_phone_send_sms'),
'task_data' => [
'name'=>'client_change_phone',//发送动作名称
'phone_code' => $param['phone_code'],
@@ -853,7 +853,7 @@ public function updateClientEmail($param)
//客户更改邮箱发送邮件添加到任务队列
add_task([
'type' => 'email',
- 'description' => '客户更改邮箱成功,发送邮件',
+ 'description' => lang('client_change_email_send_mail'),
'task_data' => [
'name'=>'client_change_email',//发送动作名称
'email' => $param['email'],
@@ -917,7 +917,7 @@ public function updateClientPassword($param)
if($client['email']){
add_task([
'type' => 'email',
- 'description' => '客户更改密码成功,发送邮件',
+ 'description' => lang('client_change_password_send_mail'),
'task_data' => [
'name'=>'client_change_password',//发送动作名称
'email' => $client['email'],
@@ -932,7 +932,7 @@ public function updateClientPassword($param)
if($client['phone']){
add_task([
'type' => 'sms',
- 'description' => '客户更改密码成功,发送短信',
+ 'description' => lang('client_change_password_send_sms'),
'task_data' => [
'name'=>'client_change_password',//发送动作名称
'phone_code' => $client['phone_code'],
@@ -1212,7 +1212,7 @@ private function codeLogin($param)
active_log(lang('log_client_login',['{client}'=>'client#'.$client->id.'#'.$client->username.'#']),'login',$client->id); # 特殊类型
add_task([
'type' => 'sms',
- 'description' => '手机+验证码登录成功,发送短信',
+ 'description' => lang('client_phone_code_login_success_send_sms'),
'task_data' => [
'name'=>'client_login_success',//发送动作名称
'client_id'=>$client->id,//客户ID
@@ -1336,7 +1336,7 @@ private function emailLogin($param)
active_log(lang('log_client_login',['{client}'=>'client#'.$client->id.'#'.$client->username.'#']),'login',$client->id);
add_task([
'type' => 'email',
- 'description' => '邮箱+密码登录成功,发送邮件',
+ 'description' => lang('client_email_password_login_success_send_mail'),
'task_data' => [
'name'=>'client_login_success',//发送动作名称
'client_id'=>$client->id,//客户ID
@@ -1430,7 +1430,7 @@ private function phoneLogin($param)
active_log(lang('log_client_login',['{client}'=>'client#'.$client->id.'#'.$client->username.'#']),'login',$client->id);
add_task([
'type' => 'sms',
- 'description' => '手机+密码登录成功,发送短信',
+ 'description' => lang('client_phone_password_login_success_send_sms'),
'task_data' => [
'name'=>'client_login_success',//发送动作名称
'client_id'=>$client->id,//客户ID
@@ -1582,7 +1582,7 @@ private function phoneRegister($param)
//注册成功发送短信添加到任务队列
add_task([
'type' => 'sms',
- 'description' => '短信注册成功,发送短信',
+ 'description' => lang('client_sms_register_success_send_sms'),
'task_data' => [
'name'=>'client_register_success',//发送动作名称
'phone_code' => $param['phone_code'],
@@ -1690,7 +1690,7 @@ private function emailRegister($param)
//注册成功发送邮件添加到任务队列
add_task([
'type' => 'email',
- 'description' => '邮件注册成功,发送邮件',
+ 'description' => lang('client_mail_register_success_send_mail'),
'task_data' => [
'name'=>'client_register_success',//发送动作名称
'email' => $param['account'],
@@ -1900,7 +1900,7 @@ private function phonePasswordUpdate($param)
if($client['email']){
add_task([
'type' => 'email',
- 'description' => '客户更改密码成功,发送邮件',
+ 'description' => lang('client_change_password_send_mail'),
'task_data' => [
'name'=>'client_change_password',//发送动作名称
'email' => $client['email'],
@@ -1915,7 +1915,7 @@ private function phonePasswordUpdate($param)
if($client['phone']){
add_task([
'type' => 'sms',
- 'description' => '客户更改密码成功,发送短信',
+ 'description' => lang('client_change_password_send_sms'),
'task_data' => [
'name'=>'client_change_password',//发送动作名称
'phone_code' => $client['phone_code'],
@@ -1981,7 +1981,7 @@ private function emailPasswordUpdate($param)
if($client['email']){
add_task([
'type' => 'email',
- 'description' => '客户更改密码成功,发送邮件',
+ 'description' => lang('client_change_password_send_mail'),
'task_data' => [
'name'=>'client_change_password',//发送动作名称
'email' => $client['email'],
@@ -1996,7 +1996,7 @@ private function emailPasswordUpdate($param)
if($client['phone']){
add_task([
'type' => 'sms',
- 'description' => '客户更改密码成功,发送短信',
+ 'description' => lang('client_change_password_send_sms'),
'task_data' => [
'name'=>'client_change_password',//发送动作名称
'phone_code' => $client['phone_code'],
diff --git a/10.3.4/app/common/model/ClientRecordModel.php b/10.3.5/app/common/model/ClientRecordModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ClientRecordModel.php
rename to 10.3.5/app/common/model/ClientRecordModel.php
diff --git a/10.3.4/app/common/model/ConfigOptionModel.php b/10.3.5/app/common/model/ConfigOptionModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ConfigOptionModel.php
rename to 10.3.5/app/common/model/ConfigOptionModel.php
diff --git a/10.3.4/app/common/model/ConfigOptionSubModel.php b/10.3.5/app/common/model/ConfigOptionSubModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ConfigOptionSubModel.php
rename to 10.3.5/app/common/model/ConfigOptionSubModel.php
diff --git a/10.3.4/app/common/model/ConfigurationModel.php b/10.3.5/app/common/model/ConfigurationModel.php
similarity index 99%
rename from 10.3.4/app/common/model/ConfigurationModel.php
rename to 10.3.5/app/common/model/ConfigurationModel.php
index 3ce1e427..46d795bb 100644
--- a/10.3.4/app/common/model/ConfigurationModel.php
+++ b/10.3.5/app/common/model/ConfigurationModel.php
@@ -85,6 +85,7 @@ class ConfigurationModel extends Model
'theme' => [
'admin_theme',
'clientarea_theme',
+ 'web_switch',
'web_theme',
],
'certification' => [
@@ -97,7 +98,6 @@ class ConfigurationModel extends Model
'certification_uncertified_suspended_host',
],
'info' => [
- 'put_on_record',
'enterprise_name',
'enterprise_telephone',
'enterprise_mailbox',
@@ -785,6 +785,7 @@ public function sendUpdate($param)
* @version v1
* @return string admin_theme - 后台主题
* @return string clientarea_theme - 会员中心主题
+ * @return int web_switch - 官网开关0关闭1开启
* @return string web_theme - 官网主题
* @return array admin_theme_list - 后台主题列表
* @return string admin_theme_list[].name - 名称
@@ -836,6 +837,7 @@ public function themeList()
* @version v1
* @param string param.admin_theme - 后台主题 required
* @param string param.clientarea_theme - 会员中心主题 required
+ * @param int param.web_switch - 官网开关0关闭1开启 required
* @param string param.web_theme - 官网主题 required
* @return int status - 状态码,200成功,400失败
* @return string msg - 提示信息
@@ -940,7 +942,6 @@ public function certificationUpdate($param)
* @desc 获取信息配置
* @author theworld
* @version v1
- * @return string put_on_record - 备案信息
* @return string enterprise_name - 企业名称
* @return string enterprise_telephone - 企业电话
* @return string enterprise_mailbox - 企业邮箱
@@ -974,7 +975,6 @@ public function infoList()
* @desc 保存信息配置
* @author theworld
* @version v1
- * @param string put_on_record - 备案信息 required
* @param string enterprise_name - 企业名称 required
* @param string enterprise_telephone - 企业电话 required
* @param string enterprise_mailbox - 企业邮箱 required
diff --git a/10.3.4/app/common/model/ConsultModel.php b/10.3.5/app/common/model/ConsultModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ConsultModel.php
rename to 10.3.5/app/common/model/ConsultModel.php
diff --git a/10.3.4/app/common/model/CountryModel.php b/10.3.5/app/common/model/CountryModel.php
similarity index 100%
rename from 10.3.4/app/common/model/CountryModel.php
rename to 10.3.5/app/common/model/CountryModel.php
diff --git a/10.3.4/app/common/model/EmailTemplateModel.php b/10.3.5/app/common/model/EmailTemplateModel.php
similarity index 100%
rename from 10.3.4/app/common/model/EmailTemplateModel.php
rename to 10.3.5/app/common/model/EmailTemplateModel.php
diff --git a/10.3.4/app/common/model/FeedbackModel.php b/10.3.5/app/common/model/FeedbackModel.php
similarity index 100%
rename from 10.3.4/app/common/model/FeedbackModel.php
rename to 10.3.5/app/common/model/FeedbackModel.php
diff --git a/10.3.4/app/common/model/FeedbackTypeModel.php b/10.3.5/app/common/model/FeedbackTypeModel.php
similarity index 100%
rename from 10.3.4/app/common/model/FeedbackTypeModel.php
rename to 10.3.5/app/common/model/FeedbackTypeModel.php
diff --git a/10.3.4/app/common/model/FriendlyLinkModel.php b/10.3.5/app/common/model/FriendlyLinkModel.php
similarity index 100%
rename from 10.3.4/app/common/model/FriendlyLinkModel.php
rename to 10.3.5/app/common/model/FriendlyLinkModel.php
diff --git a/10.3.4/app/common/model/HonorModel.php b/10.3.5/app/common/model/HonorModel.php
similarity index 100%
rename from 10.3.4/app/common/model/HonorModel.php
rename to 10.3.5/app/common/model/HonorModel.php
diff --git a/10.3.4/app/common/model/HostModel.php b/10.3.5/app/common/model/HostModel.php
similarity index 90%
rename from 10.3.4/app/common/model/HostModel.php
rename to 10.3.5/app/common/model/HostModel.php
index beb31755..cfd2b954 100644
--- a/10.3.4/app/common/model/HostModel.php
+++ b/10.3.5/app/common/model/HostModel.php
@@ -358,6 +358,16 @@ public function searchHost($keywords)
// 获取当前应用
$app = app('http')->getName();
+ $resultHook = hook('before_search_host', ['keywords' => $keywords]);
+ $resultHook = array_values(array_filter($resultHook ?? []));
+ $hostIdArr = [];
+ foreach ($resultHook as $key => $value) {
+ if(isset($value['host_id']) && !empty($value['host_id']) && is_array($value['host_id'])){
+ $hostIdArr = array_merge($hostIdArr, $value['host_id']);
+ }
+ }
+ $hostIdArr = array_unique($hostIdArr);
+
//全局搜索
$hosts = $this->alias('h')
->field('h.id,h.name,p.name product_name,h.client_id')
@@ -373,6 +383,17 @@ public function searchHost($keywords)
})
->select()
->toArray();
+ if(!empty($hostIdArr)){
+ $hostIdArr = array_merge($hostIdArr, array_column($hosts, 'id'));
+ $hostIdArr = array_unique($hostIdArr);
+ $hosts = $this->alias('h')
+ ->field('h.id,h.name,p.name product_name,h.client_id')
+ ->leftjoin('product p', 'p.id=h.product_id')
+ ->whereIn('h.id', $hostIdArr)
+ ->select()
+ ->toArray();
+ }
+
if($app=='home'){
foreach ($hosts as $key => $value) {
unset($hosts[$key]['client_id']);
@@ -539,7 +560,6 @@ public function updateHost($param)
if($upstreamProduct){
// $ResModuleLogic = new ResModuleLogic($upstreamProduct);
// $result = $ResModuleLogic->adminField($host);
-
}else{
$ModuleLogic = new ModuleLogic();
$result = $ModuleLogic->hostUpdate($this->find($host->id), $param['customfield']['module_admin_field'] ?? []);
@@ -787,7 +807,7 @@ public function createAccount($id)
if($host_active['email_enable']==1){
add_task([
'type' => 'email',
- 'description' => '产品开通成功,发送邮件',
+ 'description' => lang('host_create_success_send_mail'),
'task_data' => [
'name'=>'host_active',//发送动作名称
'host_id'=>$id,//主机ID
@@ -797,7 +817,7 @@ public function createAccount($id)
if($host_active['sms_enable']==1){
add_task([
'type' => 'sms',
- 'description' => '产品开通成功,发送短信',
+ 'description' => lang('host_create_success_send_sms'),
'task_data' => [
'name'=>'host_active',//发送动作名称
'host_id'=>$id,//主机ID
@@ -880,7 +900,7 @@ public function suspendAccount($param)
], ['id'=>$id]);
add_task([
'type' => 'email',
- 'description' => '产品暂停通知,发送邮件',
+ 'description' => lang('host_suspend_send_mail'),
'task_data' => [
'name'=>'host_suspend',//发送动作名称
'host_id'=>$id,//主机ID
@@ -888,7 +908,7 @@ public function suspendAccount($param)
]);
add_task([
'type' => 'sms',
- 'description' => '产品暂停通知,发送短信',
+ 'description' => lang('host_suspend_send_sms'),
'task_data' => [
'name'=>'host_suspend',//发送动作名称
'host_id'=>$id,//主机ID
@@ -896,10 +916,10 @@ public function suspendAccount($param)
]);
$suspendType = [
- 'overdue'=>'到期暂停',
- 'overtraffic'=>'超流暂停',
- 'certification_not_complete'=>'实名未完成',
- 'other'=>'其他',
+ 'overdue'=>lang('suspend_type_overdue'),
+ 'overtraffic'=>lang('suspend_type_overtraffic'),
+ 'certification_not_complete'=>lang('suspend_type_certification_not_complete'),
+ 'other'=>lang('suspend_type_other'),
];
upstream_sync_host($id, 'module_suspend');
@@ -946,7 +966,7 @@ public function unsuspendAccount($id)
return ['status'=>400, 'msg'=>lang('host_status_not_need_unsuspend')];
}
if($host['suspend_type'] == 'upstream'){
- return ['status'=>400, 'msg'=>lang('不可解除上游发起的暂停')];
+ return ['status'=>400, 'msg'=>lang('cannot_unsuspend_from_upstream')];
}
$upstreamProduct = UpstreamProductModel::where('product_id', $host['product_id'])->find();
@@ -973,7 +993,7 @@ public function unsuspendAccount($id)
if(configuration('cron_due_unsuspend_swhitch')==1){
add_task([
'type' => 'email',
- 'description' => '产品解除暂停通知,发送邮件',
+ 'description' => lang('host_unsuspend_send_mail'),
'task_data' => [
'name'=>'host_unsuspend',//发送动作名称
'host_id'=>$id,//主机ID
@@ -981,7 +1001,7 @@ public function unsuspendAccount($id)
]);
add_task([
'type' => 'sms',
- 'description' => '产品解除暂停通知,发送短信',
+ 'description' => lang('host_unsuspend_send_sms'),
'task_data' => [
'name'=>'host_unsuspend',//发送动作名称
'host_id'=>$id,//主机ID
@@ -1047,7 +1067,7 @@ public function terminateAccount($id)
add_task([
'type' => 'email',
- 'description' => '产品删除通知,发送邮件',
+ 'description' => lang('host_delete_send_mail'),
'task_data' => [
'name'=>'host_terminate',//发送动作名称
'host_id'=>$id,//主机ID
@@ -1055,7 +1075,7 @@ public function terminateAccount($id)
]);
add_task([
'type' => 'sms',
- 'description' => '产品删除通知,发送短信',
+ 'description' => lang('host_delete_send_sms'),
'task_data' => [
'name'=>'host_terminate',//发送动作名称
'host_id'=>$id,//主机ID
@@ -1410,7 +1430,7 @@ public function upgradeAccount($id)
# 发送邮件短信
add_task([
'type' => 'email',
- 'description' => '产品升降级,发送邮件',
+ 'description' => lang('host_upgrade_send_mail'),
'task_data' => [
'name'=>'host_upgrad',//发送动作名称
'host_id'=>$upgrade['host_id'],//主机ID
@@ -1421,7 +1441,7 @@ public function upgradeAccount($id)
]);
add_task([
'type' => 'sms',
- 'description' => '产品升降级,发送短信',
+ 'description' => lang('host_upgrade_send_sms'),
'task_data' => [
'name'=>'host_upgrad',//发送动作名称
'host_id'=>$upgrade['host_id'],//主机ID
@@ -1614,22 +1634,36 @@ public function upstreamSyncHost($id, $action = '')
if(empty($api)){
return false;
}
- $api['public_key'] = aes_password_decode($api['public_key']);
- $data = json_encode(['action' => $action, 'host' => $host]);
+ // 魔方财务
+ if (isset($downstreamInfo['type']) && $downstreamInfo['type']=='finance'){
- $crypto = '';
-
- foreach (str_split($data, 117) as $chunk) {
-
- openssl_public_encrypt($chunk, $encryptData, $api['public_key']);
-
- $crypto .= $encryptData;
- }
-
- $data = base64_encode($crypto);
+ $data = $this->syncDownStreamHost($host);
+
+ $sign = create_sign(['id'=>$host['downstream_host_id']],$downstreamInfo['token']);
+
+ $data = array_merge($data,$sign);
+
+ $res = curl(rtrim($downstreamInfo['url'],'/').'/api/host/sync', $data, 30, 'POST');
+ }else{
+ $api['public_key'] = aes_password_decode($api['public_key']);
- $res = curl(rtrim($downstreamInfo['url'],'/').'/console/v1/upstream/sync', ['host_id' => $host['downstream_host_id'], 'data' => $data], 30, 'POST');
+ $data = json_encode(['action' => $action, 'host' => $host]);
+
+ $crypto = '';
+
+ foreach (str_split($data, 117) as $chunk) {
+
+ openssl_public_encrypt($chunk, $encryptData, $api['public_key']);
+
+ $crypto .= $encryptData;
+ }
+
+ $data = base64_encode($crypto);
+
+ $res = curl(rtrim($downstreamInfo['url'],'/').'/console/v1/upstream/sync', ['host_id' => $host['downstream_host_id'], 'data' => $data], 30, 'POST');
+
+ }
return true;
}
@@ -1665,5 +1699,99 @@ public function moduleField($id)
return $result;
}
+ // 同步数据至下游(魔方财务)
+ public function syncDownStreamHost(HostModel $host)
+ {
+ $id = $host['id'];
+ // 状态Unpaid未付款Pending开通中Active已开通Suspended已暂停Deleted已删除Failed开通失败Cancelled已取消
+ if ($host['status']=='Unpaid' || $host['status']=='Pending'){
+ $domainstatus = 'Pending';
+ }elseif ($host['status']=='Suspended'){
+ $domainstatus = 'Suspended';
+ }elseif ($host['status']=='Deleted'){
+ $domainstatus = 'Deleted';
+ }elseif ($host['status']=='Failed'){
+ $domainstatus = 'Failed';
+ }elseif ($host['status']=='Cancelled'){
+ $domainstatus = 'Cancelled';
+ }elseif ($host['status']=='Active'){
+ $domainstatus = 'Active';
+ }else{
+ $domainstatus = 'Pending';
+ }
+
+ $ProductModel = new ProductModel();
+ $product = $ProductModel->where('id',$host['product_id'])->find();
+ if ($product['type']=='server'){
+ $ServerModel = new ServerModel();
+ $server = $ServerModel->where('id',$product['rel_id'])->find();
+ }else{
+ $ServerGroupModel = new ServerGroupModel();
+ $serverGroup = $ServerGroupModel->where('id',$product['rel_id'])->find();
+ $ServerModel = new ServerModel();
+ $server = $ServerModel->where('server_group_id',$serverGroup['id'])->find();
+ }
+ if ($server['module']=="mf_cloud"){
+ // TODO 这几个同步操作容易超时
+ if (class_exists('server\mf_cloud\logic\CloudLogic')){
+ try{
+ $CloudLogic = new \server\mf_cloud\logic\CloudLogic($id);
+ $result = $CloudLogic->detail();
+ $password = $result['data']['password']??"";
+ $username = $result['data']['username']??"";
+ $port = $result['data']['port']??"";
+ }catch (\Exception $e){
+
+ }
+ }
+ if (class_exists('server\mf_cloud\model\HostLinkModel')){
+ $HostLinkModel = new \server\mf_cloud\model\HostLinkModel();
+ $hostlink = $HostLinkModel->detail($id);
+ if (!empty($hostlink['data'])){
+ $ip = $hostlink['data']['ip']??"";
+ $image = $hostlink['data']['image']['name']??"";
+ }
+ }
+ }elseif ($server['module']=="mf_dcim"){
+ // TODO 这几个同步操作容易超时
+ if (class_exists('server\mf_dcim\logic\CloudLogic')){
+ try{
+ $CloudLogic = new \server\mf_dcim\logic\CloudLogic($id);
+ $result = $CloudLogic->detail();
+ $password = $result['data']['password']??"";
+ $username = $result['data']['username']??"";
+ $port = $result['data']['port']??"";
+ }catch (\Exception $e){
+
+ }
+ }
+ if (class_exists('server\mf_dcim\model\HostLinkModel')){
+ $HostLinkModel = new \server\mf_dcim\model\HostLinkModel();
+ $hostlink = $HostLinkModel->detail($id);
+ if (!empty($hostlink['data'])){
+ $ip = $hostlink['data']['ip']??"";
+ $image = $hostlink['data']['image']['name']??"";
+ }
+ }
+ }
+
+ $data = [
+ 'id' => $host['downstream_host_id'],
+ 'domain' => "",
+ 'username' => $username??"",
+ 'password' => $password??"",
+ 'os' => $image??"",
+ 'os_url' => "",
+ 'dedicatedip' => $ip??"",
+ 'assignedips' => "",
+ 'port' => $port??"",
+ 'suspendreason' => $host['suspend_reason'],
+ 'nextduedate' => $host['due_time'],
+ 'domainstatus' => $domainstatus,
+ ];
+
+ return $data;
+ }
+
}
diff --git a/10.3.4/app/common/model/MenuModel.php b/10.3.5/app/common/model/MenuModel.php
similarity index 100%
rename from 10.3.4/app/common/model/MenuModel.php
rename to 10.3.5/app/common/model/MenuModel.php
diff --git a/10.3.4/app/common/model/NavModel.php b/10.3.5/app/common/model/NavModel.php
similarity index 100%
rename from 10.3.4/app/common/model/NavModel.php
rename to 10.3.5/app/common/model/NavModel.php
diff --git a/10.3.4/app/common/model/NoticeSettingModel.php b/10.3.5/app/common/model/NoticeSettingModel.php
similarity index 100%
rename from 10.3.4/app/common/model/NoticeSettingModel.php
rename to 10.3.5/app/common/model/NoticeSettingModel.php
diff --git a/10.3.4/app/common/model/OrderItemModel.php b/10.3.5/app/common/model/OrderItemModel.php
similarity index 100%
rename from 10.3.4/app/common/model/OrderItemModel.php
rename to 10.3.5/app/common/model/OrderItemModel.php
diff --git a/10.3.4/app/common/model/OrderModel.php b/10.3.5/app/common/model/OrderModel.php
similarity index 92%
rename from 10.3.4/app/common/model/OrderModel.php
rename to 10.3.5/app/common/model/OrderModel.php
index b0958c48..7bfa5eef 100644
--- a/10.3.4/app/common/model/OrderModel.php
+++ b/10.3.5/app/common/model/OrderModel.php
@@ -126,7 +126,11 @@ public function orderList($param)
$query->where('o.amount', 'like', "%{$param['amount']}%");
}
if(!empty($param['gateway'])){
- $query->whereRaw('o.amount>o.credit')->where('o.gateway', $param['gateway']);
+ if(ucfirst($param['gateway'])=='Credit'){
+ $query->whereRaw("o.credit>0 OR o.gateway='credit'");
+ }else{
+ $query->whereRaw('o.amount>o.credit')->where('o.gateway', $param['gateway']);
+ }
}
if(!empty($param['start_time']) && !empty($param['end_time'])){
$query->where('o.create_time', '>=', $param['start_time'])->where('o.create_time', '<=', $param['end_time']);
@@ -238,7 +242,7 @@ public function orderList($param)
foreach ($description as $item1){
if (count(explode('=>',$item1))==4){
$arr = explode('=>',$item1);
- $itemDes = $arr[0] . ':' . $arr[1] . $arr[2] . ' 价格' . $arr[3];
+ $itemDes = $arr[0] . ':' . $arr[1] . $arr[2] . ' '.lang('price').' ' . $arr[3];
$newDes = $newDes.$itemDes . "\n";
}else{
$newDes = $newDes . ' ' . $item1 . "\n";
@@ -421,7 +425,7 @@ public function indexOrder($id)
foreach ($description as $item1){
if (count(explode('=>',$item1))==4){
$arr = explode('=>',$item1);
- $itemDes = $arr[0] . ':' . $arr[1] . $arr[2] .' 价格' . $arr[3];
+ $itemDes = $arr[0] . ':' . $arr[1] . $arr[2] .' '.lang('price').' ' . $arr[3];
$newDes = $newDes.$itemDes . "\n";
}else{
$newDes = $newDes . $item1 . "\n";
@@ -571,8 +575,8 @@ private function createNewOrder($param)
}
$this->startTrans();
try {
- $gateway = gateway_list();
- $gateway = $gateway['list'][0]??[];
+ /*$gateway = gateway_list();
+ $gateway = $gateway['list'][0]??[];*/
// 创建订单
$clientId = $param['client_id'];
@@ -584,8 +588,8 @@ private function createNewOrder($param)
'amount' => $amount,
'credit' => 0,
'amount_unpaid' => $amount,
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'pay_time' => $amount>0 ? 0 : $time ,
'create_time' => $time,
'admin_id' => get_admin_id(),
@@ -671,7 +675,7 @@ private function createNewOrder($param)
active_log(lang('admin_create_new_purchase_order', ['{admin}'=>request()->admin_name, '{client}'=>'client#'.$client->id.'#'.$client->username.'#', '{order}'=>'#'.$order->id]), 'order', $order->id);
add_task([
'type' => 'email',
- 'description' => '订单创建,发送邮件',
+ 'description' => lang('order_create_send_mail'),
'task_data' => [
'name'=>'order_create',//发送动作名称
'order_id'=>$order->id,//订单ID
@@ -679,7 +683,7 @@ private function createNewOrder($param)
]);
add_task([
'type' => 'sms',
- 'description' => '订单创建,发送短信',
+ 'description' => lang('order_create_send_sms'),
'task_data' => [
'name'=>'order_create',//发送动作名称
'order_id'=>$order->id,//订单ID
@@ -884,7 +888,13 @@ public function createUpgradeOrder($param)
}else{
if($host['billing_cycle_time']>0){
if(($host['due_time']-$time)>0){
- $refund = bcdiv($host['first_payment_amount']/$host['billing_cycle_time']*($host['due_time']-$time), 1, 2);
+ //$refund = bcdiv($host['first_payment_amount']/$host['billing_cycle_time']*($host['due_time']-$time), 1, 2);
+ $hookResult = hook_one('renew_host_refund_amount',['id'=>$hostId]);
+ $renewRefundTotal = $hookResult[0]??0; // 总续费退款
+ $renewCycleTotal = $hookResult[1]??0; // 总续费周期
+ $hostBillingCycleTime = $host['due_time']-$renewCycleTotal-$host['active_time']; // 产品购买周期=(总到期时间-续费周期-开通时间)
+ $refund = bcdiv(bcdiv($host['first_payment_amount'],$hostBillingCycleTime,20)*($host['due_time']-$renewCycleTotal-$time), 1, 2);
+ $refund = bcadd($refund,$renewRefundTotal,2);
}else{
$refund = $host['first_payment_amount'];
}
@@ -931,8 +941,8 @@ public function createUpgradeOrder($param)
$param['upgrade_refund'] = $param['upgrade_refund'] ?? 1; // 是否退款,默认退款
- $gateway = gateway_list();
- $gateway = $gateway['list'][0]??[];
+ /*$gateway = gateway_list();
+ $gateway = $gateway['list'][0]??[];*/
// 创建订单
$order = $this->create([
@@ -943,8 +953,8 @@ public function createUpgradeOrder($param)
'credit' => 0,
'amount_unpaid' => $amount>0 ? $amount : 0,
'upgrade_refund' => $param['upgrade_refund'],
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'pay_time' => $amount>0 ? 0 : $time,
'create_time' => $time,
'admin_id' => get_admin_id(),
@@ -980,8 +990,8 @@ public function createUpgradeOrder($param)
'rel_id' => $upgrade->id,
'description' => $result['data']['description'],
'amount' => $amount,
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'notes' => '',
'create_time' => $time,
]);
@@ -1020,7 +1030,7 @@ public function createUpgradeOrder($param)
$desDueTime = date('Y/m/d',$host['due_time']);
}
- //$des = $product['name'] . '(' .$host['name']. '),购买时长:'.$host['billing_cycle_name'] .'(' . date('Y/m/d',$host['active_time']) . '-'. $desDueTime .')';
+ //$des = $product['name'] . '(' .$host['name']. '),'.lang('purchase_duration').':'.$host['billing_cycle_name'] .'(' . date('Y/m/d',$host['active_time']) . '-'. $desDueTime .')';
//$des = lang('order_description_append',['{product_name}'=>$product['name'],'{name}'=>$host['name'],'{billing_cycle_name}'=>$host['billing_cycle_name'],'{time}'=>date('Y/m/d',$host['active_time']) . '-' . $desDueTime]);
$des = lang('order_description_append',['{product_name}'=>$product['name'],'{name}'=>$host['name'],'{billing_cycle_name}'=>$host['billing_cycle_name'],'{time}'=>date('Y/m/d',time()) . '-' . $desDueTime]);
$newOrderItem = OrderItemModel::find($orderItem['id']);
@@ -1058,7 +1068,7 @@ public function createUpgradeOrder($param)
$result = update_credit([
'type' => 'Refund',
'amount' => -$amount,
- 'notes' => "升降级退款",
+ 'notes' => lang('upgrade_refund'),
'client_id' => $host['client_id'],
'order_id' => $order->id,
'host_id' => $host['id']
@@ -1130,8 +1140,8 @@ public function createUpgradeConfigOrder($param)
$param['upgrade_refund'] = $param['upgrade_refund'] ?? 1; // 是否退款,默认退款
- $gateway = gateway_list();
- $gateway = $gateway['list'][0]??[];
+ /*$gateway = gateway_list();
+ $gateway = $gateway['list'][0]??[];*/
// 创建订单
$order = $this->create([
@@ -1142,8 +1152,8 @@ public function createUpgradeConfigOrder($param)
'credit' => 0,
'amount_unpaid' => $amount>0 ? $amount : 0,
'upgrade_refund' => $param['upgrade_refund'],
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'pay_time' => $amount>0 ? 0 : $time,
'create_time' => $time,
'admin_id' => get_admin_id(),
@@ -1179,8 +1189,8 @@ public function createUpgradeConfigOrder($param)
'rel_id' => $upgrade->id,
'description' => ($param['description'] ?? ''),
'amount' => $amount,
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'notes' => '',
'create_time' => $time,
]);
@@ -1192,32 +1202,65 @@ public function createUpgradeConfigOrder($param)
# 金额从数据库重新获取,hook里可能会修改金额,wyh改 20220804
$amount = $this->where('id',$order->id)->value('amount');
+ $discountPromo = 0;
+ $hookPromoCodeResults = hook('apply_promo_code',['host_id'=>$host->id,'price'=>$param['renew_price_difference'],'scene'=>'upgrade','duration'=>$host['billing_cycle_time']]);
+ foreach ($hookPromoCodeResults as $hookPromoCodeResult){
+ if ($hookPromoCodeResult['status']==200){
+ if (isset($hookPromoCodeResult['data']['loop']) && $hookPromoCodeResult['data']['loop']){
+ $discountPromo = $hookPromoCodeResult['data']['discount']??0;
+ }
+ }
+ }
+ // 降级
+ if ($param['renew_price_difference']<0){ // $discountPromo应该是负数
+ // wyh 20231025 获取产品周期原价
+ $amountBase = $amountBase1= 0;
+ $ModuleLogic = new ModuleLogic();
+ $durationResult = $ModuleLogic->durationPrice($host);
+ $cycles = $durationResult['data']?:[];
+ foreach ($cycles as $item2){
+ $flag = $host->billing_cycle_time == $item2['duration'] || $host->billing_cycle_name==$item2['billing_cycle'];
+ if ($flag){
+ $amountBase = $amountBase1 = $item2['price'];
+ break; # 只取一个值(存在开发者在模块中把周期写一样的情况)
+ }
+ }
+ $hookPromoCodeResultsOrgins = hook('apply_promo_code',['host_id'=>$host->id,'price'=>$amountBase1,'scene'=>'upgrade','duration'=>$host['billing_cycle_time']]);
+ foreach ($hookPromoCodeResultsOrgins as $hookPromoCodeResultsOrgin){
+ if ($hookPromoCodeResultsOrgin['status']==200){
+ if (isset($hookPromoCodeResultsOrgin['data']['loop']) && $hookPromoCodeResultsOrgin['data']['loop']){
+ $amountBase = $amountBase - ($hookPromoCodeResultsOrgin['data']['discount']??0);
+ }
+ }
+ }
+
+ $hookDiscountResultsOrgins = hook("client_discount_by_amount",['client_id'=>$host['client_id'],'product_id'=>$host['product_id'],'amount'=>$amountBase1]);
+ foreach ($hookDiscountResultsOrgins as $hookDiscountResultsOrgin){
+ if ($hookDiscountResultsOrgin['status']==200){
+ $amountBase = $amountBase - ($hookDiscountResultsOrgin['data']['discount']??0);
+ }
+ }
+ $renewPrice = $amountBase + $param['renew_price_difference']-$discountPromo;
+ // 若有优惠码,折扣金额这样计算!
+ }else{
+ // 升级
+ $renewPrice = $host['renew_amount'] + $param['renew_price_difference'] - $discountPromo;
+ }
- // wyh 20230531 升降级统一处理续费金额:续费差价 = 升降级金额 - (优惠码*升降级金额) - (客户等级*升降级金额)
- // 续费差价<0
- //$renewPriceDifference = bcsub($param['amount'],)
- $renewPrice = $host['renew_amount']+$param['renew_price_difference'];
$hookDiscountResults = hook("client_discount_by_amount",['client_id'=>$host['client_id'],'product_id'=>$host['product_id'],'amount'=>$param['renew_price_difference']]);
foreach ($hookDiscountResults as $hookDiscountResult){
if ($hookDiscountResult['status']==200){
- $renewPrice = $renewPrice-($hookDiscountResult['data']['discount']??0);
- }
- }
- $hookPromoCodeResults = hook('apply_promo_code',['host_id'=>$host->id,'price'=>$param['renew_price_difference'],'scene'=>'upgrade','duration'=>$host['billing_cycle_time']]);
- foreach ($hookPromoCodeResults as $hookPromoCodeResult){
- if ($hookPromoCodeResult['status']==200){
- $renewPrice = $renewPrice-($hookPromoCodeResult['data']['discount']??0);
+ $discountClient = $hookDiscountResult['data']['discount']??0;
+ $renewPrice = $renewPrice-$discountClient;
}
}
+
$renewPrice = $renewPrice>0?$renewPrice:0;
$upgrade->save([
'renew_price' => ($host['billing_cycle']=='recurring_postpaid' || $host['billing_cycle']=='recurring_prepayment')?$renewPrice:0
]);
-
-
-
$product = (new ProductModel())->find($host['product_id']);
if (in_array($host['billing_cycle'],['onetime','free'])){
$desDueTime = '∞';
@@ -1225,7 +1268,7 @@ public function createUpgradeConfigOrder($param)
$desDueTime = date('Y/m/d',$host['due_time']);
}
- //$des = $product['name'] . '(' .$host['name']. '),购买时长:'.$host['billing_cycle_name'] .'(' . date('Y/m/d',$host['active_time']) . '-'. $desDueTime .')';
+ //$des = $product['name'] . '(' .$host['name']. '),'.lang('purchase_duration').':'.$host['billing_cycle_name'] .'(' . date('Y/m/d',$host['active_time']) . '-'. $desDueTime .')';
//$des = lang('order_description_append',['{product_name}'=>$product['name'],'{name}'=>$host['name'],'{billing_cycle_name}'=>$host['billing_cycle_name'],'{time}'=>date('Y/m/d',$host['active_time']) . '-' . $desDueTime]);
$des = lang('order_description_append',['{product_name}'=>$product['name'],'{name}'=>$host['name'],'{billing_cycle_name}'=>$host['billing_cycle_name'],'{time}'=>date('Y/m/d',time()) . '-' . $desDueTime]);
$newOrderItem = OrderItemModel::find($orderItem['id']);
@@ -1250,7 +1293,7 @@ public function createUpgradeConfigOrder($param)
$result = update_credit([
'type' => 'Refund',
'amount' => -$amount,
- 'notes' => "升降级退款",
+ 'notes' => lang('upgrade_refund'),
'client_id' => $host['client_id'],
'order_id' => $order->id,
'host_id' => $host['id']
@@ -1332,10 +1375,10 @@ public function createOrderBase($param)
if(!empty($gateway)){
$gateway['config'] = json_decode($gateway['config'],true);
$gateway['title'] = (isset($gateway['config']['module_name']) && !empty($gateway['config']['module_name']))?$gateway['config']['module_name']:$gateway['title'];
- }else{
+ }/*else{
$gateway = gateway_list();
$gateway = $gateway['list'][0]??[];
- }
+ }*/
// 新建订单
@@ -1440,7 +1483,7 @@ public function updateAmount($param)
active_log(lang('admin_adjust_user_order_price', ['{admin}'=>request()->admin_name, '{client}'=>$clientName, '{order}'=>'#'.$order->id, '{old}'=>$order->amount, '{new}'=>($order['amount_unpaid'] + $order['credit'])]), 'order', $order->id);
add_task([
'type' => 'email',
- 'description' => '后台管理员调整订单价格,发送邮件',
+ 'description' => lang('admin_order_amount_send_mail'),
'task_data' => [
'name'=>'admin_order_amount',//发送动作名称
'order_id'=>$param['id'],//订单ID
@@ -1448,7 +1491,7 @@ public function updateAmount($param)
]);
add_task([
'type' => 'sms',
- 'description' => '后台管理员调整订单价格,发送短信',
+ 'description' => lang('admin_order_amount_send_sms'),
'task_data' => [
'name'=>'admin_order_amount',//发送动作名称
'order_id'=>$param['id'],//订单ID
@@ -1531,7 +1574,7 @@ public function updateOrderItem($param)
active_log(lang('admin_adjust_user_order_price', ['{admin}'=>request()->admin_name, '{client}'=>$clientName, '{order}'=>'#'.$order->id, '{old}'=>$order->amount, '{new}'=>($order['amount_unpaid'] + $order['credit'])]), 'order', $order->id);
add_task([
'type' => 'email',
- 'description' => '后台管理员调整订单价格,发送邮件',
+ 'description' => lang('admin_order_amount_send_mail'),
'task_data' => [
'name'=>'admin_order_amount',//发送动作名称
'order_id'=>$order['id'],//订单ID
@@ -1539,7 +1582,7 @@ public function updateOrderItem($param)
]);
add_task([
'type' => 'sms',
- 'description' => '后台管理员调整订单价格,发送短信',
+ 'description' => lang('admin_order_amount_send_sms'),
'task_data' => [
'name'=>'admin_order_amount',//发送动作名称
'order_id'=>$order['id'],//订单ID
@@ -1611,7 +1654,7 @@ public function deleteOrderItem($id)
active_log(lang('admin_adjust_user_order_price', ['{admin}'=>request()->admin_name, '{client}'=>$clientName, '{order}'=>'#'.$order->id, '{old}'=>$order->amount, '{new}'=>($order['amount_unpaid'] + $order['credit'])]), 'order', $order->id);
add_task([
'type' => 'email',
- 'description' => '后台管理员调整订单价格,发送邮件',
+ 'description' => lang('admin_order_amount_send_mail'),
'task_data' => [
'name'=>'admin_order_amount',//发送动作名称
'order_id'=>$order['id'],//订单ID
@@ -1619,7 +1662,7 @@ public function deleteOrderItem($id)
]);
add_task([
'type' => 'sms',
- 'description' => '后台管理员调整订单价格,发送短信',
+ 'description' => lang('admin_order_amount_send_sms'),
'task_data' => [
'name'=>'admin_order_amount',//发送动作名称
'order_id'=>$order['id'],//订单ID
@@ -1670,7 +1713,7 @@ public function orderPaid($param)
update_credit([
'type' => 'Applied',
'amount' => -$order['amount_unpaid'],
- 'notes' => "应用余额至订单#{$param['id']}",
+ 'notes' => lang('order_apply_credit')."#{$param['id']}",
'client_id' => $order->client_id,
'order_id' => $param['id'],
'host_id' => 0,
@@ -1682,7 +1725,7 @@ public function orderPaid($param)
update_credit([
'type' => 'Applied',
'amount' => -$client['credit'],
- 'notes' => "应用余额至订单#{$param['id']}",
+ 'notes' => lang('order_apply_credit')."#{$param['id']}",
'client_id' => $order->client_id,
'order_id' => $param['id'],
'host_id' => 0,
@@ -1707,7 +1750,7 @@ public function orderPaid($param)
$res = update_credit([
'type' => 'Applied',
'amount' => -$order['credit'],
- 'notes' => "应用余额至订单#{$param['id']}",
+ 'notes' => lang('order_apply_credit')."#{$param['id']}",
'client_id' => $order->client_id,
'order_id' => $param['id'],
'host_id' => 0,
@@ -2062,7 +2105,7 @@ public function orderRefund($param)
update_credit([
'type' => 'Refund',
'amount' => $param['amount'],
- 'notes' => "订单#{$id}退款",
+ 'notes' => lang('order_refund', ['{id}' => $id]),
'client_id' => $order['client_id'],
'order_id' => $id,
'host_id' => 0
@@ -2152,6 +2195,8 @@ public function orderApplyCredit($param)
}
$amount = $order['amount']-$order['credit']-$amount;
+
+ $amount = amount_format($amount);
if($param['amount']>$amount){
throw new \Exception(lang('apply_credit_not_enough'));
}
@@ -2175,7 +2220,7 @@ public function orderApplyCredit($param)
$res = update_credit([
'type' => 'Applied',
'amount' => -($order['credit']+$param['amount']),
- 'notes' => "订单#{$id}使用余额",
+ 'notes' => lang('order_apply_credit')."#{$id}",
'client_id' => $order['client_id'],
'order_id' => $id,
'host_id' => 0,
@@ -2197,7 +2242,7 @@ public function orderApplyCredit($param)
$res = update_credit([
'type' => 'Applied',
'amount' => -$param['amount'],
- 'notes' => "订单#{$id}使用余额",
+ 'notes' => lang('order_apply_credit')."#{$id}",
'client_id' => $order['client_id'],
'order_id' => $id,
'host_id' => 0,
@@ -2255,17 +2300,16 @@ public function orderRemoveCredit($param)
throw new \Exception(lang('remove_credit_not_enough'));
}
-
-
if(in_array($order['status'], ['Paid', 'Refunded'])){
$this->update([
'credit' => $order['credit']-$param['amount'],
'status' => 'Refunded',
], ['id' => $id]);
+
update_credit([
'type' => 'Refund',
'amount' => $param['amount'],
- 'notes' => "订单#{$id}移除余额",
+ 'notes' => lang('order_remove_credit', ['{id}' => $id]),
'client_id' => $order['client_id'],
'order_id' => $id,
'host_id' => 0,
@@ -2462,7 +2506,7 @@ public function processPaidOrder($id)
if(isset($orderItems[0]['type']) && $orderItems[0]['type'] == 'recharge'){
add_task([
'type' => 'email',
- 'description' => '客户充值成功,发送邮件',
+ 'description' => lang('order_recharge_send_mail'),
'task_data' => [
'name'=>'order_recharge',//发送动作名称
'order_id'=>$id,//订单ID
@@ -2470,7 +2514,7 @@ public function processPaidOrder($id)
]);
add_task([
'type' => 'sms',
- 'description' => '客户充值成功,发送短信',
+ 'description' => lang('order_recharge_send_sms'),
'task_data' => [
'name'=>'order_recharge',//发送动作名称
'order_id'=>$id,//订单ID
@@ -2479,7 +2523,7 @@ public function processPaidOrder($id)
}else{
add_task([
'type' => 'email',
- 'description' => '客户支付成功,发送邮件',
+ 'description' => lang('order_pay_send_mail'),
'task_data' => [
'name'=>'order_pay',//发送动作名称
'order_id'=>$id,//订单ID
@@ -2487,7 +2531,7 @@ public function processPaidOrder($id)
]);
add_task([
'type' => 'sms',
- 'description' => '客户支付成功,发送短信',
+ 'description' => lang('order_pay_send_sms'),
'task_data' => [
'name'=>'order_pay',//发送动作名称
'order_id'=>$id,//订单ID
@@ -2510,7 +2554,7 @@ public function processPaidOrder($id)
update_credit([
'type' => 'Recharge',
'amount' => $orderItem->amount,
- 'notes' => "充值#{$transactionNumber}",
+ 'notes' => lang('recharge')."#{$transactionNumber}",
'client_id' => $orderItem->client_id,
'order_id' => $id,
'host_id' => 0
@@ -2571,7 +2615,7 @@ public function hostOrderHandle($id)
}else{
$desDueTime = date('Y/m/d',$dueTime);
}
- $des = $host['product_name'] . '(' .$host['name']. '),购买时长:'.$host['billing_cycle_name'] .'(' . date('Y/m/d',$host['active_time']) . '-'. $desDueTime .')';
+ $des = $host['product_name'] . '(' .$host['name']. '),'.lang('purchase_duration').':'.$host['billing_cycle_name'] .'(' . date('Y/m/d',$host['active_time']) . '-'. $desDueTime .')';
//$des = lang('order_description_append',['{product_name}'=>$host['product_name'],'{name}'=>$host['name'],'{billing_cycle_name}'=>$host['billing_cycle_name'] ,'{time}'=>date('Y/m/d H',$host['active_time']) . '-' . date('Y/m/d H',date('Y/m/d H',$dueTime))]);
$orderItemDes = explode("\n",$orderItem['description'])??[];
if (count($orderItemDes)>=2){
@@ -2587,7 +2631,7 @@ public function hostOrderHandle($id)
if ($host->status == 'Suspended'){
add_task([
'type' => 'host_unsuspend',
- 'description' => '#'.$id.'解除暂停',
+ 'description' => '#'.$id.lang('host_unsuspend'),
'task_data' => [
'host_id'=>$id,//主机ID
],
@@ -2609,7 +2653,7 @@ public function hostOrderHandle($id)
if($host_pending['sms_enable']==1){
add_task([
'type' => 'sms',
- 'description' => '产品开通中,发送短信',
+ 'description' => lang('host_creating_send_sms'),
'task_data' => [
'name'=>'host_pending',//发送动作名称
'host_id'=>$id,//主机ID
@@ -2619,7 +2663,7 @@ public function hostOrderHandle($id)
if($host_pending['email_enable']==1){
add_task([
'type' => 'email',
- 'description' => '产品开通中,发送邮件',
+ 'description' => lang('host_creating_send_mail'),
'task_data' => [
'name'=>'host_pending',//发送动作名称
'host_id'=>$id,//主机ID
@@ -2629,7 +2673,7 @@ public function hostOrderHandle($id)
add_task([
'type' => 'host_create',
- 'description' => '#用户'.$host['client_id'].'#产品'.$host['id'].' — 主机创建',
+ 'description' => lang('client_host_create', ['{client_id}' => $host['client_id'], '{host_id}' => $host['id']]),
'task_data' => [
'host_id'=>$id,//主机ID
],
@@ -2721,7 +2765,7 @@ public function upgradeOrderHandle($id)
# 添加到定时任务
add_task([
'type' => 'host_upgrade',
- 'description' => '#用户'.$upgrade['client_id'].'#产品'.$upgrade['host_id'].' — 升降级',
+ 'description' => lang('client_host_upgrade', ['{client_id}' => $upgrade['client_id'], '{host_id}' => $upgrade['host_id']]),
'task_data' => [
'upgrade_id'=>$id,//upgrade ID
],
@@ -2731,4 +2775,43 @@ public function upgradeOrderHandle($id)
return true;
}
+ /**
+ * 时间 2023-06-08
+ * @title 订单列表导出EXCEL
+ * @desc 订单列表导出EXCEL
+ * @author theworld
+ * @version v1
+ * @param string keywords - 关键字,搜索范围:订单ID
+ * @param string type - 类型new新订单renew续费订单upgrade升降级订单artificial人工订单
+ * @param string status - 状态Unpaid未付款Paid已付款
+ * @param int page - 页数
+ * @param int limit - 每页条数
+ * @param string orderby - 排序 id,type,create_time,amount,status
+ * @param string sort - 升/降序 asc,desc
+ */
+ public function exportExcel($param){
+ $data = $this->orderList($param);
+ $data = $data['list'];
+ foreach ($data as $key => $value) {
+ $data[$key] = [
+ 'id' => $value['id'],
+ 'product_name' => !empty($value['product_names']) ? implode('', $value['product_names']) : '',
+ 'amount' => configuration('currency_prefix').$value['amount'],
+ 'gateway' => $value['credit']>0 ? ($value['amount']==$value['credit'] ? lang('order_credit') : (lang('order_credit').'+'.$value['gateway'])) : $value['gateway'],
+ 'create_time' => date("Y-m-d H:i", $value['create_time']),
+ 'status' => lang('order_status_'.$value['status']),
+ ];
+ }
+ $field = [
+ 'id' => 'ID',
+ 'product_name' => lang('order_product_name'),
+ 'amount' => lang('order_amount'),
+ 'gateway' => lang('order_gateway'),
+ 'create_time' => lang('order_create_time'),
+ 'status' => lang('order_status'),
+ ];
+
+ return export_excel('order'.time(), $field, $data);
+ }
+
}
diff --git a/10.3.4/app/common/model/OrderTmpModel.php b/10.3.5/app/common/model/OrderTmpModel.php
similarity index 96%
rename from 10.3.4/app/common/model/OrderTmpModel.php
rename to 10.3.5/app/common/model/OrderTmpModel.php
index fdf2c115..9e9d8e49 100644
--- a/10.3.4/app/common/model/OrderTmpModel.php
+++ b/10.3.5/app/common/model/OrderTmpModel.php
@@ -96,7 +96,9 @@ public function pay($param)
try{
$order->save([
'gateway' => $gateway,
- 'gateway_name' => $plugin['title']??'余额支付',
+ 'gateway_name' => $plugin['title']??lang('credit_payment'),
+ 'credit' => $order['amount'],
+ 'amount_unpaid' => 0,
'status' => 'Paid',
'pay_time' => time()
]);
@@ -104,7 +106,7 @@ public function pay($param)
update_credit([
'type' => 'Applied',
'amount' => -$order->amount,
- 'notes' => "应用余额至订单#{$id}",
+ 'notes' => lang('order_apply_credit')."#{$id}",
'client_id' => $order->client_id,
'order_id' => $id,
'host_id' => 0,
@@ -114,7 +116,7 @@ public function pay($param)
$OrderItemModel = new OrderItemModel();
$OrderItemModel->update([
'gateway' => $gateway,
- 'gateway_name' => $plugin['title']??'余额支付',
+ 'gateway_name' => $plugin['title']??lang('credit_payment'),
],['order_id'=>$order->id]);
$this->commit();
@@ -548,13 +550,13 @@ public function orderPayHandle($param)
$ClientModel = new ClientModel();
# 加锁,使另外一笔查询等待
$client = $ClientModel->lock(true)->find($order->client_id);
- # 超付,充值至余额
- if ($amount > $order->amount_unpaid){
+ # 超付,充值至余额 (20231018 因国际支付宝加了汇率计算,所以引入误差0.01)
+ if ($amount > $order->amount_unpaid+0.01){
# 充值进余额
update_credit([
'type' => 'Overpayment',
'amount' => $amount,
- 'notes' => "订单超付,充值至余额#{$order->id}",
+ 'notes' => lang('order_overpayment', ['{id}' => $order->id]),
'client_id' => $order->client_id,
'order_id' => $order->id,
'host_id' => 0,
@@ -571,7 +573,7 @@ public function orderPayHandle($param)
update_credit([
'type' => 'Applied',
'amount' => -$order->amount,
- 'notes' => "应用余额至订单#{$order->id}",
+ 'notes' => lang('order_overpayment', ['{id}' => $order->id]),
'client_id' => $order->client_id,
'order_id' => $order->id,
'host_id' => 0,
@@ -595,11 +597,11 @@ public function orderPayHandle($param)
$flag = true;
}
}
- elseif($amount < $order->amount_unpaid){ # 少付,充值至余额
+ elseif($amount < $order->amount_unpaid-0.01){ # 少付,充值至余额
update_credit([
'type' => 'Underpayment',
'amount' => $amount,
- 'notes' => "少付,充值至余额#{$order->id}",
+ 'notes' => lang('order_underpayment', ['{id}' => $order->id]),
'client_id' => $order->client_id,
'order_id' => $order->id,
'host_id' => 0,
@@ -628,7 +630,7 @@ public function orderPayHandle($param)
update_credit([
'type' => 'Applied',
'amount' => -$order->credit,
- 'notes' => "应用余额至订单#{$order->id}",
+ 'notes' => lang('order_apply_credit')."#{$order->id}",
'client_id' => $order->client_id,
'order_id' => $order->id,
'host_id' => 0,
@@ -640,7 +642,7 @@ public function orderPayHandle($param)
update_credit([
'type' => 'Underpayment',
'amount' => $amount,
- 'notes' => "少付,充值至余额#{$order->id}",
+ 'notes' => lang('order_underpayment', ['{id}' => $order->id]),
'client_id' => $order->client_id,
'order_id' => $order->id,
'host_id' => 0,
diff --git a/10.3.4/app/common/model/PartnerModel.php b/10.3.5/app/common/model/PartnerModel.php
similarity index 100%
rename from 10.3.4/app/common/model/PartnerModel.php
rename to 10.3.5/app/common/model/PartnerModel.php
diff --git a/10.3.5/app/common/model/ProductDurationRatioModel.php b/10.3.5/app/common/model/ProductDurationRatioModel.php
new file mode 100644
index 00000000..14a7fac5
--- /dev/null
+++ b/10.3.5/app/common/model/ProductDurationRatioModel.php
@@ -0,0 +1,191 @@
+ 'int',
+ 'duration_id' => 'int',
+ 'ratio' => 'string',
+ ];
+
+ /**
+ * 时间 2023-10-20
+ * @title 获取周期比例
+ * @desc 获取周期比例
+ * @author hh
+ * @version v1
+ * @param int product_id - 商品ID require
+ * @return array
+ */
+ public function indexRatio($product_id){
+ try{
+ $DurationModel = Db::name($this->linkTable);
+
+ $data = $DurationModel
+ ->alias('d')
+ ->field('d.id,d.name,d.num,d.unit,pdr.ratio')
+ ->leftJoin('product_duration_ratio pdr', 'd.id=pdr.duration_id AND pdr.product_id='.$product_id)
+ ->where('d.product_id', $product_id)
+ ->orderRaw('field(d.unit, "hour","day","month")')
+ ->order('d.num', 'asc')
+ ->withAttr('ratio', function($val){
+ return $val ?? '';
+ })
+ ->group('d.id')
+ ->select()
+ ->toArray();
+ }catch(\Exception $e){
+ $data = [];
+ }
+ return $data;
+ }
+
+ /**
+ * 时间 2023-10-20
+ * @title 保存周期比例
+ * @desc 保存周期比例
+ * @author hh
+ * @version v1
+ * @param int product_id - 商品ID require
+ * @param object ratio - 比例(如{"2":"1.5"},键是周期ID,值是比例) require
+ */
+ public function saveRatio($param){
+ $productId = $param['product_id'] ?? 0;
+ $product = ProductModel::find($productId);
+ if(empty($product)){
+ return ['status'=>400, 'msg'=>lang('product_is_not_exist') ];
+ }
+ $old = $this->indexRatio($productId);
+
+ $data = [];
+ $detail = '';
+ foreach($old as $v){
+ if(isset($param['ratio'][$v['id']]) && $param['ratio'][$v['id']] > 0){
+ $data[] = [
+ 'product_id' => $productId,
+ 'duration_id' => $v['id'],
+ 'ratio' => $param['ratio'][$v['id']],
+ ];
+ if($v['ratio'] != $param['ratio'][$v['id']]){
+ $detail .= lang('log_product_duration_ratio_change', [
+ '{name}' => $v['name'],
+ '{old}' => $v['ratio'] ?? lang('null'),
+ '{new}' => $param['ratio'][$v['id']],
+ ]);
+ }
+ }
+ }
+ if(empty($data) || count($old) != count($data)){
+ return ['status'=>400, 'msg'=>lang('please_input_all_duration_ratio')];
+ }
+
+ $this->startTrans();
+ try{
+ $this->where('product_id', $param['product_id'])->delete();
+ $this->insertAll($data);
+
+ $this->commit();
+ }catch(\Exception $e){
+ $this->rollback();
+
+ $result = [
+ 'status' => 400,
+ 'msg' => $e->getMessage(),
+ ];
+ return $result;
+ }
+
+ if(!empty($detail)){
+ $description = lang('log_save_product_duration_ratio', [
+ '{product}' => 'product#'.$productId.'#'.$product['name'].'#',
+ '{detail}' => $detail,
+ ]);
+ active_log($description, 'product', $productId);
+ }
+
+ $result = [
+ 'status' => 200,
+ 'msg' => lang('save_success'),
+ ];
+ return $result;
+ }
+
+ /**
+ * 时间 2023-10-20
+ * @title 计算自动填充
+ * @desc 计算自动填充
+ * @author hh
+ * @version v1
+ * @param int product_id - 商品ID require
+ * @param object price - 价格(如{"2":"1.5"},键是周期ID,值是价格) require
+ */
+ public function autoFill($param){
+ bcscale(2);
+
+ $productId = $param['product_id'] ?? 0;
+ $product = ProductModel::find($productId);
+ if(empty($product)){
+ return ['status'=>400, 'msg'=>lang('product_is_not_exist')];
+ }
+ $data = $this->indexRatio($productId);
+ if(empty($data)){
+ return ['status'=>400, 'msg'=>lang('please_set_duration_ratio_first')];
+ }
+ $baseDuration = null;
+
+ $res = [];
+ foreach($data as $k=>$v){
+ // 最小的周期作为基准
+ if(isset($param['price'][$v['id']]) && $param['price'][$v['id']] > 0){
+ $baseDuration = $v;
+ $baseDuration['price'] = $param['price'][$v['id']];
+ break;
+ }
+ }
+ if(is_null($baseDuration)){
+ return ['status'=>400, 'msg'=>lang('please_set_at_lease_one_price')];
+ }
+ foreach($data as $v){
+ if(empty($v['ratio'])){
+ return ['status'=>400, 'msg'=>lang('please_set_duration_ratio_first')];
+ }
+ if(!isset($res[$v['id']])){
+ if($v['id'] == $baseDuration['id']){
+ $res[$v['id']] = amount_format($baseDuration['price']);
+ }else{
+ $res[$v['id']] = amount_format(bcdiv(bcmul($baseDuration['price'], $v['ratio']), $baseDuration['ratio']));
+ }
+ }
+ }
+
+ $result = [
+ 'status' => 200,
+ 'msg' => lang('success_message'),
+ 'data' => [
+ 'list' => $res,
+ ],
+ ];
+ return $result;
+ }
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/10.3.4/app/common/model/ProductGroupModel.php b/10.3.5/app/common/model/ProductGroupModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ProductGroupModel.php
rename to 10.3.5/app/common/model/ProductGroupModel.php
diff --git a/10.3.4/app/common/model/ProductModel.php b/10.3.5/app/common/model/ProductModel.php
similarity index 95%
rename from 10.3.4/app/common/model/ProductModel.php
rename to 10.3.5/app/common/model/ProductModel.php
index 2cee5533..e9870374 100644
--- a/10.3.4/app/common/model/ProductModel.php
+++ b/10.3.5/app/common/model/ProductModel.php
@@ -51,6 +51,8 @@ class ProductModel extends Model
'agentable' => 'int',
];
+ public $isAdmin = false;
+
/**
* 时间 2022-5-17
* @title 商品列表
@@ -1129,9 +1131,14 @@ public function moduleServerConfigOption($param){
public function moduleClientConfigOption($param){
$id = (int)$param['id'];
$ProductModel = $this->find($id);
- if(empty($ProductModel) || $ProductModel['hidden'] == 1){
- return ['status'=>400, 'msg'=>lang('product_is_not_exist')];
+ if (isset($param['flag']) && $param['flag']){
+
+ }else{
+ if(empty($ProductModel) || $ProductModel['hidden'] == 1){
+ return ['status'=>400, 'msg'=>lang('product_is_not_exist')];
+ }
}
+
$param['tag'] = $param['tag'] ?? '';
$upstreamProduct = UpstreamProductModel::where('product_id', $ProductModel['id'])->find();
@@ -1295,8 +1302,8 @@ public function settle($param,$isAdmin=false)
$this->startTrans();
try {
// 创建订单
- $gateway = gateway_list();
- $gateway = $gateway['list'][0]??[];
+ /*$gateway = gateway_list();
+ $gateway = $gateway['list'][0]??[];*/
$time = time();
$order = OrderModel::create([
@@ -1306,8 +1313,8 @@ public function settle($param,$isAdmin=false)
'amount' => $amount,
'credit' => 0,
'amount_unpaid' => $amount,
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'pay_time' => $amount>0 ? 0 : $time,
'create_time' => $time
]);
@@ -1374,6 +1381,7 @@ public function settle($param,$isAdmin=false)
$ResModuleLogic = new ResModuleLogic($upstreamProduct);
$ResModuleLogic->afterSettle($product, $host->id, $param['config_options']);
}else{
+ $param['config_options']['customfield'] = $param['customfield']??[];
$ModuleLogic->afterSettle($product, $host->id, $param['config_options']);
}
@@ -1452,9 +1460,9 @@ public function productCalculatePrice($param)
if(empty($ProductModel)){
return ['status'=>400, 'msg'=>lang('product_is_not_exist')];
}
- if(app('http')->getName() == 'home' && $ProductModel['hidden'] == 1){
+ /*if(app('http')->getName() == 'home' && $ProductModel['hidden'] == 1){
return ['status'=>400, 'msg'=>lang('product_is_not_exist')];
- }
+ }*/
$param['config_options'] = $param['config_options'] ?? [];
$upstreamProduct = UpstreamProductModel::where('product_id', $ProductModel['id'])->find();
@@ -1789,5 +1797,74 @@ public function resModuleProductList($param)
return ['list'=>$list];
}
+ public function copyProduct($param)
+ {
+ $id = intval($param['id']);
+
+ $product = $this->find($id);
+ if (empty($product)){
+ return ['status'=>400,'msg'=>lang('product_is_not_exist')];
+ }
+ if (!empty($product['product_id'])){
+ return ['status'=>400,'msg'=>lang('son_product_cannot_copy')];
+ }
+
+ // 双删
+ idcsmart_cache('product:list',null);
+
+ $this->startTrans();
+
+ try{
+
+ $data = $product->toArray();
+ unset($data['id']);
+ $data['name'] = $data['name'].'(1)';
+
+ $product = $this->create($data);
+
+ $sonProduct = $this->where('product_id', $id)->select()->toArray();
+ $sonProductIdArr = [];
+ foreach ($sonProduct as $key => $value) {
+ $sonProductIdArr[$value['id']] = 0;
+ unset($value['id']);
+ $value['product_id'] = $product->id;
+ $r = $this->create($value);
+ $sonProductIdArr[$value['id']] = $r->id;
+ }
+
+ $ProductUpgradeProductModel = new ProductUpgradeProductModel();
+ $upgrade = $ProductUpgradeProductModel->where('product_id', $id)->select()->toArray();
+ $upgradeIds = [];
+ foreach ($upgrade as $key => $value) {
+ $upgradeIds[] = $value['upgrade_product_id'];
+ }
+ if(!empty($upgradeIds)){
+ foreach ($upgradeIds as $upgradeId){
+ $insert[] = [
+ 'product_id' => $product->id,
+ 'upgrade_product_id' => $upgradeId
+ ];
+ }
+ $ProductUpgradeProductModel->saveAll($insert);
+ }
+
+
+ # 记录日志
+ active_log(lang('log_admin_copy_product',['{admin}'=>'admin#'.get_admin_id().'#'.request()->admin_name.'#','{product}'=>'product#'.$product->id.'#'.$data['name'].'#']),'product',$product->id);
+
+ $this->commit();
+ }catch (\Exception $e){
+ $this->rollback();
+ return ['status'=>400,'msg'=>$e->getMessage()];
+ }
+
+ idcsmart_cache('product:list',null);
+
+ $res = hook('after_product_copy',['id'=>$product->id, 'product_id' => $param['id'], 'son_product_id' => $sonProductIdArr, 'customfield'=>$param['customfield']??[]]);
+
+ return ['status'=>200,'msg'=>lang('success_message')];
+
+ }
+
}
diff --git a/10.3.4/app/common/model/ProductUpgradeProductModel.php b/10.3.5/app/common/model/ProductUpgradeProductModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ProductUpgradeProductModel.php
rename to 10.3.5/app/common/model/ProductUpgradeProductModel.php
diff --git a/10.3.4/app/common/model/RefundRecordModel.php b/10.3.5/app/common/model/RefundRecordModel.php
similarity index 98%
rename from 10.3.4/app/common/model/RefundRecordModel.php
rename to 10.3.5/app/common/model/RefundRecordModel.php
index 3cb06e20..537f18d6 100644
--- a/10.3.4/app/common/model/RefundRecordModel.php
+++ b/10.3.5/app/common/model/RefundRecordModel.php
@@ -121,7 +121,7 @@ public function deleteRefundRecord($id)
update_credit([
'type' => 'Artificial',
'amount' => -$record['amount'],
- 'notes' => "订单#{$record['order_id']}取消退款",
+ 'notes' => lang('order_cancel_refund', ['{id}' => $record['order_id']]),
'client_id' => $record['client_id'],
'order_id' => $record['order_id'],
'host_id' => 0
diff --git a/10.3.4/app/common/model/ServerGroupModel.php b/10.3.5/app/common/model/ServerGroupModel.php
similarity index 100%
rename from 10.3.4/app/common/model/ServerGroupModel.php
rename to 10.3.5/app/common/model/ServerGroupModel.php
diff --git a/10.3.4/app/common/model/ServerModel.php b/10.3.5/app/common/model/ServerModel.php
similarity index 99%
rename from 10.3.4/app/common/model/ServerModel.php
rename to 10.3.5/app/common/model/ServerModel.php
index 7bb378d9..33b04961 100644
--- a/10.3.4/app/common/model/ServerModel.php
+++ b/10.3.5/app/common/model/ServerModel.php
@@ -290,7 +290,7 @@ public function deleteServer($id)
// 有商品通过该接口成功开通,则无法删除接口
$activeHost = HostModel::where('server_id', $id)->where('status', 'Active')->find();
if(!empty($activeHost)){
- return ['status'=>400, 'msg'=>lang('有激活产品正在使用,不能删除')];
+ return ['status'=>400, 'msg'=>lang('active_host_is_used_cannot_delete')];
}
// 是否还在使用
// $host = HostModel::where('server_id', $id)->find();
diff --git a/10.3.4/app/common/model/SmsTemplateModel.php b/10.3.5/app/common/model/SmsTemplateModel.php
similarity index 100%
rename from 10.3.4/app/common/model/SmsTemplateModel.php
rename to 10.3.5/app/common/model/SmsTemplateModel.php
diff --git a/10.3.4/app/common/model/SupplierModel.php b/10.3.5/app/common/model/SupplierModel.php
similarity index 100%
rename from 10.3.4/app/common/model/SupplierModel.php
rename to 10.3.5/app/common/model/SupplierModel.php
diff --git a/10.3.4/app/common/model/SystemLogModel.php b/10.3.5/app/common/model/SystemLogModel.php
similarity index 100%
rename from 10.3.4/app/common/model/SystemLogModel.php
rename to 10.3.5/app/common/model/SystemLogModel.php
diff --git a/10.3.4/app/common/model/TaskModel.php b/10.3.5/app/common/model/TaskModel.php
similarity index 100%
rename from 10.3.4/app/common/model/TaskModel.php
rename to 10.3.5/app/common/model/TaskModel.php
diff --git a/10.3.4/app/common/model/TaskWaitModel.php b/10.3.5/app/common/model/TaskWaitModel.php
similarity index 100%
rename from 10.3.4/app/common/model/TaskWaitModel.php
rename to 10.3.5/app/common/model/TaskWaitModel.php
diff --git a/10.3.4/app/common/model/TransactionModel.php b/10.3.5/app/common/model/TransactionModel.php
similarity index 100%
rename from 10.3.4/app/common/model/TransactionModel.php
rename to 10.3.5/app/common/model/TransactionModel.php
diff --git a/10.3.4/app/common/model/UpgradeModel.php b/10.3.5/app/common/model/UpgradeModel.php
similarity index 100%
rename from 10.3.4/app/common/model/UpgradeModel.php
rename to 10.3.5/app/common/model/UpgradeModel.php
diff --git a/10.3.4/app/common/model/UpstreamHostModel.php b/10.3.5/app/common/model/UpstreamHostModel.php
similarity index 100%
rename from 10.3.4/app/common/model/UpstreamHostModel.php
rename to 10.3.5/app/common/model/UpstreamHostModel.php
diff --git a/10.3.4/app/common/model/UpstreamOrderModel.php b/10.3.5/app/common/model/UpstreamOrderModel.php
similarity index 100%
rename from 10.3.4/app/common/model/UpstreamOrderModel.php
rename to 10.3.5/app/common/model/UpstreamOrderModel.php
diff --git a/10.3.4/app/common/model/UpstreamProductModel.php b/10.3.5/app/common/model/UpstreamProductModel.php
similarity index 100%
rename from 10.3.4/app/common/model/UpstreamProductModel.php
rename to 10.3.5/app/common/model/UpstreamProductModel.php
diff --git a/10.3.5/app/common/validate/ProductDurationRatioValidate.php b/10.3.5/app/common/validate/ProductDurationRatioValidate.php
new file mode 100644
index 00000000..1ca74f43
--- /dev/null
+++ b/10.3.5/app/common/validate/ProductDurationRatioValidate.php
@@ -0,0 +1,54 @@
+ 'require|integer',
+ 'ratio' => 'require|checkRatio:thinkphp',
+ 'price' => 'require|checkPrice:thinkphp',
+ ];
+
+ protected $message = [
+ 'product_id.require' => 'product_id_error',
+ 'product_id.integer' => 'product_id_error',
+ 'ratio.require' => 'validate_product_duration_ratio_ratio_require',
+ 'price.require' => 'validate_product_duration_ratio_price_require',
+ ];
+
+ protected $scene = [
+ 'save' => ['product_id','ratio'],
+ 'fill' => ['product_id','price'],
+ ];
+
+ protected function checkRatio($value){
+ if(!is_array($value)){
+ return 'param_error';
+ }
+ foreach($value as $v){
+ if(!is_numeric($v) || $v <= 0 || $v >= 10000){
+ return 'validate_product_duration_ratio_ratio_format_error';
+ }
+ }
+ return true;
+ }
+
+ protected function checkPrice($value){
+ if(!is_array($value)){
+ return 'param_error';
+ }
+ foreach($value as $v){
+ if(!is_numeric($v) || $v < 0 || $v > 99999999){
+ return 'validate_product_duration_ratio_price_format_error';
+ }
+ }
+ return true;
+ }
+
+}
\ No newline at end of file
diff --git a/10.3.4/app/common/validate/UploadValidate.php b/10.3.5/app/common/validate/UploadValidate.php
similarity index 100%
rename from 10.3.4/app/common/validate/UploadValidate.php
rename to 10.3.5/app/common/validate/UploadValidate.php
diff --git a/10.3.4/app/event.php b/10.3.5/app/event.php
similarity index 100%
rename from 10.3.4/app/event.php
rename to 10.3.5/app/event.php
diff --git a/10.3.4/app/event/AppInit.php b/10.3.5/app/event/AppInit.php
similarity index 100%
rename from 10.3.4/app/event/AppInit.php
rename to 10.3.5/app/event/AppInit.php
diff --git a/10.3.4/app/event/controller/AddonController.php b/10.3.5/app/event/controller/AddonController.php
similarity index 100%
rename from 10.3.4/app/event/controller/AddonController.php
rename to 10.3.5/app/event/controller/AddonController.php
diff --git a/10.3.4/app/event/controller/AddonHomeController.php b/10.3.5/app/event/controller/AddonHomeController.php
similarity index 100%
rename from 10.3.4/app/event/controller/AddonHomeController.php
rename to 10.3.5/app/event/controller/AddonHomeController.php
diff --git a/10.3.4/app/event/controller/BaseController.php b/10.3.5/app/event/controller/BaseController.php
similarity index 100%
rename from 10.3.4/app/event/controller/BaseController.php
rename to 10.3.5/app/event/controller/BaseController.php
diff --git a/10.3.4/app/event/controller/CaptchaController.php b/10.3.5/app/event/controller/CaptchaController.php
similarity index 100%
rename from 10.3.4/app/event/controller/CaptchaController.php
rename to 10.3.5/app/event/controller/CaptchaController.php
diff --git a/10.3.4/app/event/controller/CertificationController.php b/10.3.5/app/event/controller/CertificationController.php
similarity index 100%
rename from 10.3.4/app/event/controller/CertificationController.php
rename to 10.3.5/app/event/controller/CertificationController.php
diff --git a/10.3.4/app/event/controller/CertificationHomeController.php b/10.3.5/app/event/controller/CertificationHomeController.php
similarity index 100%
rename from 10.3.4/app/event/controller/CertificationHomeController.php
rename to 10.3.5/app/event/controller/CertificationHomeController.php
diff --git a/10.3.4/app/event/controller/GatewayController.php b/10.3.5/app/event/controller/GatewayController.php
similarity index 100%
rename from 10.3.4/app/event/controller/GatewayController.php
rename to 10.3.5/app/event/controller/GatewayController.php
diff --git a/10.3.4/app/event/controller/ModuleController.php b/10.3.5/app/event/controller/ModuleController.php
similarity index 100%
rename from 10.3.4/app/event/controller/ModuleController.php
rename to 10.3.5/app/event/controller/ModuleController.php
diff --git a/10.3.4/app/event/controller/ModuleHomeController.php b/10.3.5/app/event/controller/ModuleHomeController.php
similarity index 100%
rename from 10.3.4/app/event/controller/ModuleHomeController.php
rename to 10.3.5/app/event/controller/ModuleHomeController.php
diff --git a/10.3.4/app/event/controller/PluginAdminBaseController.php b/10.3.5/app/event/controller/PluginAdminBaseController.php
similarity index 100%
rename from 10.3.4/app/event/controller/PluginAdminBaseController.php
rename to 10.3.5/app/event/controller/PluginAdminBaseController.php
diff --git a/10.3.4/app/event/controller/PluginBaseController.php b/10.3.5/app/event/controller/PluginBaseController.php
similarity index 100%
rename from 10.3.4/app/event/controller/PluginBaseController.php
rename to 10.3.5/app/event/controller/PluginBaseController.php
diff --git a/10.3.4/app/exception/TemplateNotFoundException.php b/10.3.5/app/exception/TemplateNotFoundException.php
similarity index 100%
rename from 10.3.4/app/exception/TemplateNotFoundException.php
rename to 10.3.5/app/exception/TemplateNotFoundException.php
diff --git a/10.3.4/app/home/controller/AccountController.php b/10.3.5/app/home/controller/AccountController.php
similarity index 100%
rename from 10.3.4/app/home/controller/AccountController.php
rename to 10.3.5/app/home/controller/AccountController.php
diff --git a/10.3.4/app/home/controller/ApiController.php b/10.3.5/app/home/controller/ApiController.php
similarity index 100%
rename from 10.3.4/app/home/controller/ApiController.php
rename to 10.3.5/app/home/controller/ApiController.php
diff --git a/10.3.4/app/home/controller/BaseController.php b/10.3.5/app/home/controller/BaseController.php
similarity index 100%
rename from 10.3.4/app/home/controller/BaseController.php
rename to 10.3.5/app/home/controller/BaseController.php
diff --git a/10.3.4/app/home/controller/CartController.php b/10.3.5/app/home/controller/CartController.php
similarity index 100%
rename from 10.3.4/app/home/controller/CartController.php
rename to 10.3.5/app/home/controller/CartController.php
diff --git a/10.3.4/app/home/controller/CommonController.php b/10.3.5/app/home/controller/CommonController.php
similarity index 100%
rename from 10.3.4/app/home/controller/CommonController.php
rename to 10.3.5/app/home/controller/CommonController.php
diff --git a/10.3.4/app/home/controller/HomeBaseController.php b/10.3.5/app/home/controller/HomeBaseController.php
similarity index 100%
rename from 10.3.4/app/home/controller/HomeBaseController.php
rename to 10.3.5/app/home/controller/HomeBaseController.php
diff --git a/10.3.4/app/home/controller/HooksController.php b/10.3.5/app/home/controller/HooksController.php
similarity index 100%
rename from 10.3.4/app/home/controller/HooksController.php
rename to 10.3.5/app/home/controller/HooksController.php
diff --git a/10.3.4/app/home/controller/HostController.php b/10.3.5/app/home/controller/HostController.php
similarity index 100%
rename from 10.3.4/app/home/controller/HostController.php
rename to 10.3.5/app/home/controller/HostController.php
diff --git a/10.3.4/app/home/controller/IndexController.php b/10.3.5/app/home/controller/IndexController.php
similarity index 100%
rename from 10.3.4/app/home/controller/IndexController.php
rename to 10.3.5/app/home/controller/IndexController.php
diff --git a/10.3.4/app/home/controller/LogController.php b/10.3.5/app/home/controller/LogController.php
similarity index 100%
rename from 10.3.4/app/home/controller/LogController.php
rename to 10.3.5/app/home/controller/LogController.php
diff --git a/10.3.4/app/home/controller/LoginController.php b/10.3.5/app/home/controller/LoginController.php
similarity index 100%
rename from 10.3.4/app/home/controller/LoginController.php
rename to 10.3.5/app/home/controller/LoginController.php
diff --git a/10.3.4/app/home/controller/ModuleController.php b/10.3.5/app/home/controller/ModuleController.php
similarity index 100%
rename from 10.3.4/app/home/controller/ModuleController.php
rename to 10.3.5/app/home/controller/ModuleController.php
diff --git a/10.3.4/app/home/controller/OrderController.php b/10.3.5/app/home/controller/OrderController.php
similarity index 81%
rename from 10.3.4/app/home/controller/OrderController.php
rename to 10.3.5/app/home/controller/OrderController.php
index 73985110..c012d461 100644
--- a/10.3.4/app/home/controller/OrderController.php
+++ b/10.3.5/app/home/controller/OrderController.php
@@ -131,4 +131,32 @@ public function delete()
return json($result);
}
+ /**
+ * 时间 2023-06-08
+ * @title 订单列表导出EXCEL
+ * @desc 订单列表导出EXCEL
+ * @author theworld
+ * @version v1
+ * @url /console/v1/order/export_excel
+ * @method GET
+ * @param string keywords - 关键字,搜索范围:订单ID
+ * @param string type - 类型new新订单renew续费订单upgrade升降级订单artificial人工订单
+ * @param string status - 状态Unpaid未付款Paid已付款
+ * @param int page - 页数
+ * @param int limit - 每页条数
+ * @param string orderby - 排序 id,type,create_time,amount,status
+ * @param string sort - 升/降序 asc,desc
+ */
+ public function exportExcel()
+ {
+ // 合并分页参数
+ $param = array_merge($this->request->param(), ['page' => $this->request->page, 'limit' => $this->request->limit, 'sort' => $this->request->sort]);
+
+ // 实例化模型类
+ $OrderModel = new OrderModel();
+
+ // 订单列表导出EXCEL
+ return $OrderModel->exportExcel($param);
+ }
+
}
\ No newline at end of file
diff --git a/10.3.4/app/home/controller/PayController.php b/10.3.5/app/home/controller/PayController.php
similarity index 100%
rename from 10.3.4/app/home/controller/PayController.php
rename to 10.3.5/app/home/controller/PayController.php
diff --git a/10.3.4/app/home/controller/ProductController.php b/10.3.5/app/home/controller/ProductController.php
similarity index 98%
rename from 10.3.4/app/home/controller/ProductController.php
rename to 10.3.5/app/home/controller/ProductController.php
index e260b5e5..4dda0ab9 100644
--- a/10.3.4/app/home/controller/ProductController.php
+++ b/10.3.5/app/home/controller/ProductController.php
@@ -172,6 +172,7 @@ public function settle()
* @version v1
* @param int id - 商品ID required
* @param string tag - 商品价格显示标识
+ * @param boolean flag - true
* @return string data.content - 模块输出内容
*/
public function moduleClientConfigOption()
@@ -227,6 +228,8 @@ public function moduleCalculatePrice()
*/
public function productStock()
{
+ $param = $this->request->param();
+
$result = [
'status' => 200,
'msg' => lang('success_message'),
diff --git a/10.3.4/app/home/controller/TransactionController.php b/10.3.5/app/home/controller/TransactionController.php
similarity index 100%
rename from 10.3.4/app/home/controller/TransactionController.php
rename to 10.3.5/app/home/controller/TransactionController.php
diff --git a/10.3.4/app/home/controller/UpstreamController.php b/10.3.5/app/home/controller/UpstreamController.php
similarity index 100%
rename from 10.3.4/app/home/controller/UpstreamController.php
rename to 10.3.5/app/home/controller/UpstreamController.php
diff --git a/10.3.4/app/home/controller/ViewClientController.php b/10.3.5/app/home/controller/ViewClientController.php
similarity index 100%
rename from 10.3.4/app/home/controller/ViewClientController.php
rename to 10.3.5/app/home/controller/ViewClientController.php
diff --git a/10.3.5/app/home/controller/ViewController.php b/10.3.5/app/home/controller/ViewController.php
new file mode 100644
index 00000000..d173c323
--- /dev/null
+++ b/10.3.5/app/home/controller/ViewController.php
@@ -0,0 +1,187 @@
+request->param();
+ $data = [
+ 'title'=>'首页-智简魔方',
+ ];
+
+ $data['template_catalog'] = 'web';
+ //$tplName = empty($param['view_html'])?'index':$param['view_html'];
+
+ if(empty($param['html'])){
+ $tplName = 'index';
+ }else if(!empty($param['html3'])){
+ $tplName = $param['html']."/".$param['html2']."/".$param['html3'];
+ }else if(!empty($param['html2'])){
+ $tplName = $param['html']."/".$param['html2'];
+ }else{
+ $tplName = $param['html'];
+ }
+
+ if (isset($param['theme']) && !empty($param['theme'])){
+ cookie('web_theme',$param['theme']);
+ $data['themes'] = $param['theme'];
+ } elseif (cookie('web_theme')){
+ $data['themes'] = cookie('web_theme');
+ } else{
+ $data['themes'] = configuration('web_theme');
+ }
+
+ if($tplName=='index'){
+ $view_path = '../public/web/'.$data['themes'].'/';
+ //header('location:/theme/index.html');die;
+ //$view_path = '../public/theme/';
+ }else{
+ $view_path = '../public/web/'.$data['themes'].'/';
+ }
+
+ if(!file_exists($view_path.$tplName)){
+ $theme_config=$this->themeConfig($view_path);
+ if(!empty($theme_config['config-parent-theme'])){
+ $view_path = '../public/web/'.$theme_config['config-parent-theme'].'/';
+ }
+ }
+
+ $PluginModel = new PluginModel();
+ $addons = $PluginModel->plugins('addon');
+
+ $data['addons'] = $addons['list'];
+
+ $config['view_path'] = $view_path;
+ /*if($tplName=='index'){
+ $config['view_suffix'] = 'html';
+ }*/
+ $config['view_suffix'] = 'html';
+
+ View::config($config);
+
+ return View::fetch("/".$tplName,$data);
+ }else{
+ $param = $this->request->param();
+ $data = [
+ 'title'=>'首页-智简魔方',
+ ];
+
+ $data['template_catalog'] = 'clientarea';
+ $tplName = empty($param['view_html'])?'home':$param['view_html'];
+
+ if (isset($param['theme']) && !empty($param['theme'])){
+ cookie('clientarea_theme',$param['theme']);
+ $data['themes'] = $param['theme'];
+ } elseif (cookie('clientarea_theme')){
+ $data['themes'] = cookie('clientarea_theme');
+ } else{
+ $data['themes'] = configuration('clientarea_theme');
+ }
+
+ if($tplName=='home'){
+ $view_path = '../public/clientarea/template/'.$data['themes'].'/';
+ //header('location:/theme/index.html');die;
+ //$view_path = '../public/theme/';
+ }else{
+ $view_path = '../public/clientarea/template/'.$data['themes'].'/';
+ }
+
+ if(!file_exists($view_path.$tplName)){
+ $theme_config=$this->themeConfig($view_path);
+ if(!empty($theme_config['config-parent-theme'])){
+ $view_path = '../public/clientarea/template/'.$theme_config['config-parent-theme'].'/';
+ }
+ }
+
+ $PluginModel = new PluginModel();
+ $addons = $PluginModel->plugins('addon');
+
+ $data['addons'] = $addons['list'];
+
+ $config['view_path'] = $view_path;
+ /*if($tplName=='index'){
+ $config['view_suffix'] = 'html';
+ }*/
+
+ View::config($config);
+
+ return View::fetch("/".$tplName,$data);
+ }
+
+ }
+
+ /*public function plugin()
+ {
+ $param = $this->request->param();
+ $plugin_id = $param['plugin_id'];
+ $tplName = empty($param['view_html'])?'index':$param['view_html'];
+ $addon = (new PluginModel())->plugins('addon')['list'];
+ $addon = array_column($addon,'name','id');
+ $name=parse_name($addon[$plugin_id]??'');
+ if(empty($name)){
+ throw new TemplateNotFoundException(lang('not_found'), $name);
+ #exit('not found template1');
+ }
+ $tpl = '../public/plugins/addon/'.$name.'/template/web/';
+
+ $data['template_catalog'] = 'web';
+
+ if (isset($param['theme']) && !empty($param['theme'])){
+ cookie('web_theme',$param['theme']);
+ $data['themes'] = $param['theme'];
+ } elseif (cookie('web_theme')){
+ $data['themes'] = cookie('web_theme');
+ } else{
+ $data['themes'] = configuration('web_theme');
+ }
+
+ $PluginModel = new PluginModel();
+ $addons = $PluginModel->plugins('addon');
+
+ $data['addons'] = $addons['list'];
+
+ if(file_exists($tpl.$tplName.".html")){
+ $content=$this->view('header',$data);
+ $content.=$this->pluginView($tplName,$data,$name);
+ $content.=$this->view('footer',$data);
+ return $content;
+ }else{
+ throw new TemplateNotFoundException(lang('not_found'), $tpl);
+ #exit('not found template');
+ }
+
+ }
+
+ private function view($tplName, $data){
+ View::config(['view_path' => '../public/web/default/', 'view_suffix' => 'html']);
+ return View::fetch('/'.$tplName,$data);
+ }
+
+ private function pluginView($tplName, $data, $name){
+ View::config(['view_path' => '../public/plugins/addon/'.$name.'/template/web/', 'view_suffix' => 'html']);
+ return View::fetch('/'.$tplName,$data);
+ }*/
+ //模板继承文件读取
+ private function themeConfig($file){
+ $theme=$file.'/theme.config';$themes=[];
+ if(file_exists($theme)){
+ $theme=file_get_contents($theme);
+
+ $theme=explode("\r\n",$theme);
+ $theme=array_filter($theme);
+
+ foreach($theme as $v){
+ $theme_config=explode(":",$v);
+ $themes[trim($theme_config[0])]=trim(trim(trim($theme_config[1],"'"),'"'));
+ }
+ }
+ return $themes;
+ }
+}
diff --git a/10.3.4/app/home/model/CartModel.php b/10.3.5/app/home/model/CartModel.php
similarity index 98%
rename from 10.3.4/app/home/model/CartModel.php
rename to 10.3.5/app/home/model/CartModel.php
index bec31959..ec0221a3 100644
--- a/10.3.4/app/home/model/CartModel.php
+++ b/10.3.5/app/home/model/CartModel.php
@@ -484,8 +484,8 @@ public function settle($position,$customfield=[],$param=[])
$this->startTrans();
try {
// 创建订单
- $gateway = gateway_list();
- $gateway = $gateway['list'][0]??[];
+ /*$gateway = gateway_list();
+ $gateway = $gateway['list'][0]??[];*/
$time = time();
$order = OrderModel::create([
@@ -495,8 +495,8 @@ public function settle($position,$customfield=[],$param=[])
'amount' => $amount,
'credit' => 0,
'amount_unpaid' => $amount,
- 'gateway' => $gateway['name'] ?? '',
- 'gateway_name' => $gateway['title'] ?? '',
+ //'gateway' => $gateway['name'] ?? '',
+ //'gateway_name' => $gateway['title'] ?? '',
'pay_time' => $amount>0 ? 0 : $time,
'create_time' => $time
]);
@@ -542,7 +542,7 @@ public function settle($position,$customfield=[],$param=[])
if (request()->is_api){
$downstreamHostId = intval($param['downstream_host_id'] ?? 0);
if(!empty($downstreamHostId)){
- $downstreamInfo = json_encode(['url' => $param['downstream_url']??'', 'token'=>$param['downstream_token']??'', 'api'=>request()->api_id]);
+ $downstreamInfo = json_encode(['url' => $param['downstream_url']??'', 'token'=>$param['downstream_token']??'', 'api'=>request()->api_id,'type'=>$param['downstream_system_type']??""]);
}
}
@@ -588,6 +588,7 @@ public function settle($position,$customfield=[],$param=[])
$result = $ResModuleLogic->afterSettle($product, $host->id, $value['config_options'],$customfield);
}else{
+ $value['config_options']['customfield'] = $value['customfield'];
$ModuleLogic->afterSettle($product, $host->id, $value['config_options'],$customfield);
}
diff --git a/10.3.4/app/home/model/ClientareaAuthModel.php b/10.3.5/app/home/model/ClientareaAuthModel.php
similarity index 100%
rename from 10.3.4/app/home/model/ClientareaAuthModel.php
rename to 10.3.5/app/home/model/ClientareaAuthModel.php
diff --git a/10.3.4/app/home/model/ClientareaAuthRuleLinkModel.php b/10.3.5/app/home/model/ClientareaAuthRuleLinkModel.php
similarity index 100%
rename from 10.3.4/app/home/model/ClientareaAuthRuleLinkModel.php
rename to 10.3.5/app/home/model/ClientareaAuthRuleLinkModel.php
diff --git a/10.3.4/app/home/model/ClientareaAuthRuleModel.php b/10.3.5/app/home/model/ClientareaAuthRuleModel.php
similarity index 100%
rename from 10.3.4/app/home/model/ClientareaAuthRuleModel.php
rename to 10.3.5/app/home/model/ClientareaAuthRuleModel.php
diff --git a/10.3.4/app/home/validate/AccountValidate.php b/10.3.5/app/home/validate/AccountValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/AccountValidate.php
rename to 10.3.5/app/home/validate/AccountValidate.php
diff --git a/10.3.4/app/home/validate/ApiValidate.php b/10.3.5/app/home/validate/ApiValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/ApiValidate.php
rename to 10.3.5/app/home/validate/ApiValidate.php
diff --git a/10.3.4/app/home/validate/CartValidate.php b/10.3.5/app/home/validate/CartValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/CartValidate.php
rename to 10.3.5/app/home/validate/CartValidate.php
diff --git a/10.3.4/app/home/validate/CommonValidate.php b/10.3.5/app/home/validate/CommonValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/CommonValidate.php
rename to 10.3.5/app/home/validate/CommonValidate.php
diff --git a/10.3.4/app/home/validate/ConsultValidate.php b/10.3.5/app/home/validate/ConsultValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/ConsultValidate.php
rename to 10.3.5/app/home/validate/ConsultValidate.php
diff --git a/10.3.4/app/home/validate/FeedbackValidate.php b/10.3.5/app/home/validate/FeedbackValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/FeedbackValidate.php
rename to 10.3.5/app/home/validate/FeedbackValidate.php
diff --git a/10.3.4/app/home/validate/HostValidate.php b/10.3.5/app/home/validate/HostValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/HostValidate.php
rename to 10.3.5/app/home/validate/HostValidate.php
diff --git a/10.3.4/app/home/validate/ProductValidate.php b/10.3.5/app/home/validate/ProductValidate.php
similarity index 100%
rename from 10.3.4/app/home/validate/ProductValidate.php
rename to 10.3.5/app/home/validate/ProductValidate.php
diff --git a/10.3.4/app/http/middleware/Check.php b/10.3.5/app/http/middleware/Check.php
similarity index 100%
rename from 10.3.4/app/http/middleware/Check.php
rename to 10.3.5/app/http/middleware/Check.php
diff --git a/10.3.4/app/http/middleware/CheckAdmin.php b/10.3.5/app/http/middleware/CheckAdmin.php
similarity index 100%
rename from 10.3.4/app/http/middleware/CheckAdmin.php
rename to 10.3.5/app/http/middleware/CheckAdmin.php
diff --git a/10.3.4/app/http/middleware/CheckHome.php b/10.3.5/app/http/middleware/CheckHome.php
similarity index 100%
rename from 10.3.4/app/http/middleware/CheckHome.php
rename to 10.3.5/app/http/middleware/CheckHome.php
diff --git a/10.3.4/app/http/middleware/ParamFilter.php b/10.3.5/app/http/middleware/ParamFilter.php
similarity index 100%
rename from 10.3.4/app/http/middleware/ParamFilter.php
rename to 10.3.5/app/http/middleware/ParamFilter.php
diff --git a/10.3.4/app/middleware.php b/10.3.5/app/middleware.php
similarity index 100%
rename from 10.3.4/app/middleware.php
rename to 10.3.5/app/middleware.php
diff --git a/10.3.4/config/app.php b/10.3.5/config/app.php
similarity index 100%
rename from 10.3.4/config/app.php
rename to 10.3.5/config/app.php
diff --git a/10.3.4/config/cache.php b/10.3.5/config/cache.php
similarity index 100%
rename from 10.3.4/config/cache.php
rename to 10.3.5/config/cache.php
diff --git a/10.3.4/config/captcha.php b/10.3.5/config/captcha.php
similarity index 100%
rename from 10.3.4/config/captcha.php
rename to 10.3.5/config/captcha.php
diff --git a/10.3.4/config/console.php b/10.3.5/config/console.php
similarity index 100%
rename from 10.3.4/config/console.php
rename to 10.3.5/config/console.php
diff --git a/10.3.4/config/cookie.php b/10.3.5/config/cookie.php
similarity index 100%
rename from 10.3.4/config/cookie.php
rename to 10.3.5/config/cookie.php
diff --git a/10.3.4/config/database.php b/10.3.5/config/database.php
similarity index 100%
rename from 10.3.4/config/database.php
rename to 10.3.5/config/database.php
diff --git a/10.3.4/config/filesystem.php b/10.3.5/config/filesystem.php
similarity index 100%
rename from 10.3.4/config/filesystem.php
rename to 10.3.5/config/filesystem.php
diff --git a/10.3.4/config/idcsmart.php b/10.3.5/config/idcsmart.php
similarity index 100%
rename from 10.3.4/config/idcsmart.php
rename to 10.3.5/config/idcsmart.php
diff --git a/10.3.4/config/lang.php b/10.3.5/config/lang.php
similarity index 100%
rename from 10.3.4/config/lang.php
rename to 10.3.5/config/lang.php
diff --git a/10.3.4/config/log.php b/10.3.5/config/log.php
similarity index 100%
rename from 10.3.4/config/log.php
rename to 10.3.5/config/log.php
diff --git a/10.3.4/config/middleware.php b/10.3.5/config/middleware.php
similarity index 100%
rename from 10.3.4/config/middleware.php
rename to 10.3.5/config/middleware.php
diff --git a/10.3.4/config/route.php b/10.3.5/config/route.php
similarity index 100%
rename from 10.3.4/config/route.php
rename to 10.3.5/config/route.php
diff --git a/10.3.4/config/session.php b/10.3.5/config/session.php
similarity index 100%
rename from 10.3.4/config/session.php
rename to 10.3.5/config/session.php
diff --git a/10.3.4/config/trace.php b/10.3.5/config/trace.php
similarity index 100%
rename from 10.3.4/config/trace.php
rename to 10.3.5/config/trace.php
diff --git a/10.3.4/config/view.php b/10.3.5/config/view.php
similarity index 100%
rename from 10.3.4/config/view.php
rename to 10.3.5/config/view.php
diff --git a/10.3.4/cron/cron.php b/10.3.5/cron/cron.php
similarity index 100%
rename from 10.3.4/cron/cron.php
rename to 10.3.5/cron/cron.php
diff --git a/10.3.4/cron/task.php b/10.3.5/cron/task.php
similarity index 100%
rename from 10.3.4/cron/task.php
rename to 10.3.5/cron/task.php
diff --git a/10.3.4/public/.htaccess b/10.3.5/public/.htaccess
similarity index 100%
rename from 10.3.4/public/.htaccess
rename to 10.3.5/public/.htaccess
diff --git a/10.3.4/public/503.html b/10.3.5/public/503.html
similarity index 100%
rename from 10.3.4/public/503.html
rename to 10.3.5/public/503.html
diff --git a/10.3.4/public/Desktop.ini b/10.3.5/public/Desktop.ini
similarity index 100%
rename from 10.3.4/public/Desktop.ini
rename to 10.3.5/public/Desktop.ini
diff --git a/10.3.4/public/admin/index.php b/10.3.5/public/admin/index.php
similarity index 100%
rename from 10.3.4/public/admin/index.php
rename to 10.3.5/public/admin/index.php
diff --git a/10.3.4/public/admin/language/en-us.js b/10.3.5/public/admin/language/en-us.js
similarity index 100%
rename from 10.3.4/public/admin/language/en-us.js
rename to 10.3.5/public/admin/language/en-us.js
diff --git a/10.3.4/public/admin/language/en-us.php b/10.3.5/public/admin/language/en-us.php
similarity index 90%
rename from 10.3.4/public/admin/language/en-us.php
rename to 10.3.5/public/admin/language/en-us.php
index 1bb94768..645aed2c 100644
--- a/10.3.4/public/admin/language/en-us.php
+++ b/10.3.5/public/admin/language/en-us.php
@@ -3,7 +3,7 @@
return [
'display_name' => 'English',//用于在语言切换下拉中显示
'display_flag' => 'US',//用于显示图片,使用国家代码大写
- 'not_found' => '页面找不到了',
+ 'not_found' => 'Page not found',
'success_message' => 'request successful',
@@ -61,6 +61,10 @@
'login_phone_is_not_register' => 'The phone number is not registered',
'login_client_is_disabled' => 'The account has been disabled/closed, please contact the administrator to deal with',
'permission_denied' => 'You do not have permission to access the [{name}] interface! ',
+ 'get_idcsamrt_auth_success' => 'Authorization information obtained successfully',
+ 'get_idcsamrt_auth_failed' => 'Failed to obtain authorization information',
+ 'replace_idcsamrt_auth_success' => 'Authorization code replacement successful',
+ 'replace_idcsamrt_auth_failed' => 'Authorization code replacement failed',
# 权限规则
'auth_rule_admin_list' => 'administrator list',
@@ -256,7 +260,7 @@
'nav_log' => 'log',
'nav_auto' => 'Automation',
'nav_plugin' => 'plugin',
- 'nav_plugin_list' => 'plugin list',
+ 'nav_plugin_list' => 'Plugin list',
'nav_navigation' => 'navigation management',
'nav_real_name_approval' => 'real name authentication',
'nav_upstream_management' => 'upstream and downstream management',
@@ -377,6 +381,7 @@
'log_admin_show_product' => '{admin} show product {product}',
'log_admin_update_product' => '{admin} modify product {product}:{description}',
'log_admin_update_product_upgrade_product' => 'upgrade product ID {old} to {new}',
+ 'log_admin_copy_product' => '{admin}copy product{product}',
'field_product_name' => 'name',
'field_product_product_group_id' => 'Group ID',
@@ -469,6 +474,15 @@
'order_not_support_apply_credit' => 'order does not support application balance',
'apply_credit_not_enough' => 'The application balance shall not exceed the applicable balance amount',
'remove_credit_not_enough' => 'The deduction balance shall not exceed the applied balance amount',
+ 'order_apply_credit' => 'Apply balance to order',
+ 'upgrade_refund' => 'Downgrade Refund',
+ 'order_refund' => 'order #{id} refund',
+ 'order_cancel_refund' => 'order #{id} cancel refund',
+ 'order_overpayment' => 'order overpayment, recharge to balance#{id}',
+ 'order_underpayment' => 'Underpayment, recharge to balance #{id}',
+ 'credit_payment' => 'balance payment',
+ 'order_remove_credit' => 'order #{id} remove balance',
+ 'recharge' => 'recharge',
# 产品管理
'host_is_not_exist' => 'The product does not exist',
@@ -775,6 +789,7 @@
'first_product_group_id_is_not_exist' => 'A group does not exist',
'product_show_in' => 'whether displayed as 0 or 1',
'product_show_require' => 'Whether to show must',
+ 'son_product_cannot_copy' => 'Sub-product does not support copying',
# 邮件模板
@@ -1002,8 +1017,8 @@
'log_module_suspend_account_failed' => 'Product {host} module suspension failed, reason: {reason}',
'log_module_unsuspend_account_success' => 'Product {host} module unsuspended successfully',
'log_module_unsuspend_account_failed' => 'Product {host} module unsuspend failed, reason: {reason}',
- 'log_module_terminate_account_success' => 'Successfully deleted product {host} module for {client}',
- 'log_module_terminate_account_failed' => 'The deletion of product {host} module for {client} failed due to {reason}',
+ 'log_module_terminate_account_success' => '{client} product {host} module was deleted successfully',
+ 'log_module_terminate_account_failed' => '{client} product {host} module deletion failed, reason: {reason}',
# 退款记录
'refund_record_is_not_exist' => 'refund record does not exist',
@@ -1124,14 +1139,107 @@
'order_description_append' => '{product_name}({name}), purchase time: {billing_cycle_name}({time})',
- #挂件
+ 'user_cannot_empty' => 'user cannot be empty',
+ 'username_4_20_digits' => 'username 4-20',
+ 'password_cannot_empty' => 'password cannot be empty',
+ 'auth_failed' => 'Authentication failed',
+ 'signature_error' => 'signature error',
+ 'host_cannot_use_this_interface' => 'This product cannot use this interface',
+ 'signature_verification_failed' => 'signature verification failed',
+ 'sync_success' => 'Successful synchronization',
+ 'sync_failed' => 'Sync failure',
+ 'failed_to_open_upstream' => 'upstream failed to open',
+ 'host_name' => 'host name',
+ 'suspend_type' => 'suspend type',
+ 'suspend_reason' => 'suspend reason',
+ 'change_into' => 'modified to:',
+
+ 'superadmin_add_admin_send_mail' => 'Super administrators add background administrators, send mail',
+ 'host_create_success_send_mail' => 'The product is successfully opened, send mail',
+ 'host_create_success_send_sms' => 'The product is successfully opened, send a text message',
+ 'host_renewal_first_send_mail' => 'The first customer renewal reminder, send mail',
+ 'host_renewal_first_send_sms' => 'The first customer renewal reminder, send SMS',
+ 'host_renewal_second_send_mail' => 'The second customer renewal reminder, send mail',
+ 'host_renewal_second_send_sms' => 'The second customer renewal reminder, send SMS',
+ 'host_overdue_first_send_mail' => 'overdue payment first, send mail',
+ 'host_overdue_first_send_sms' => 'Overdue payment for the first time, send SMS',
+ 'host_overdue_second_send_mail' => 'Overdue payment for the second time, send mail',
+ 'host_overdue_second_send_sms' => 'Overdue payment for the second time, send SMS',
+ 'host_overdue_third_send_mail' => 'Overdue payment for the third time, send mail',
+ 'host_overdue_third_send_sms' => 'Overdue payment for the third time, send SMS',
+ 'order_overdue_send_mail' => 'order overdue payment notice, send mail',
+ 'order_overdue_send_sms' => 'order overdue payment notification, send SMS',
+ 'host_suspend' => 'host suspend',
+ 'host_delete' => 'host delete',
+ 'client_change_phone_send_sms' => 'The customer changed the phone successfully, send a text message',
+ 'client_change_email_send_mail' => 'The customer has successfully changed the email address and sent the email',
+ 'client_change_password_send_mail' => 'The customer changed the password successfully, send mail',
+ 'client_change_password_send_sms' => 'The customer changed the password successfully, send a text message',
+ 'client_phone_code_login_success_send_sms' => 'Successful mobile phone + verification code login, send SMS',
+ 'client_email_password_login_success_send_mail' => 'email + password login success, send mail',
+ 'client_phone_password_login_success_send_sms' => 'Successful phone + password login, send SMS',
+ 'client_sms_register_success_send_sms' => 'SMS registration is successful, send SMS',
+ 'client_mail_register_success_send_mail' => 'Mail registration is successful, send mail',
+ 'host_suspend_send_mail' => 'Product suspension notice, send mail',
+ 'host_suspend_send_sms' => 'Product suspension notification, send SMS',
+ 'suspend_type_overdue' => 'Expiration suspension',
+ 'suspend_type_overtraffic' => 'Suspend suspension',
+ 'suspend_type_certification_not_complete' => 'real name incomplete',
+ 'suspend_type_other' => 'other',
+ 'cannot_unsuspend_from_upstream' => 'cannot lift the suspension initiated by the upstream',
+ 'host_unsuspend_send_mail' => 'Product unsuspended notice, send mail',
+ 'host_unsuspend_send_sms' => 'Product unsuspended notice, send SMS',
+ 'host_delete_send_mail' => 'product deletion notification, send mail',
+ 'host_delete_send_sms' => 'Product delete notification, send SMS',
+ 'host_upgrade_send_mail' => 'Product downgrade, send mail',
+ 'host_upgrade_send_sms' => 'Product downgrade, send SMS',
+ 'order_create_send_mail' => 'order creation, send mail',
+ 'order_create_send_sms' => 'order creation, send SMS',
+ 'admin_order_amount_send_mail' => 'Backstage administrator adjusts the order price and sends mail',
+ 'admin_order_amount_send_sms' => 'Backstage administrator adjusts the order price and sends SMS',
+ 'order_recharge_send_mail' => 'Customer recharge successful, send mail',
+ 'order_recharge_send_sms' => 'Customer recharge is successful, send SMS',
+ 'order_pay_send_mail' => 'Customer payment is successful, send mail',
+ 'order_pay_send_sms' => 'Customer payment is successful, send SMS',
+ 'host_unsuspend' => 'Unsuspend',
+ 'host_creating_send_mail' => 'Product opening, send mail',
+ 'host_creating_send_sms' => 'The product is being activated, sending SMS',
+ 'client_host_create' => '#User{client_id}#Product{host_id} — host creation',
+ 'client_host_upgrade' => '#User{client_id}#Product{host_id} — upgrading',
+
+ 'active_host_is_used_cannot_delete' => 'Active products are in use and cannot be deleted',
+ 'phone_code_error' => 'International telephone area code format error',
+ 'phone_error' => 'Mobile phone number format error',
+ 'widget_require' => 'Please select a widget',
+ 'widget_error' => 'Pendant identification error',
+ 'host_overdue_suspend' => 'Product expiration suspension',
+ 'network_desertion' => 'Network desertion',
+ 'api_account_or_password_error' => 'API account or password error',
+ 'module_format_error' => 'module format error',
+ 'module_or_function_is_not_exist' => 'module or method does not exist',
+
+ 'price' => 'price',
+ 'purchase_duration' => 'Purchase duration',
+
+ # pendant
'widget_not_found' => 'Widget does not exist',
- 'widget_validate_widget_require' => 'Please select the widget',
- 'widget_validate_widget_error' => 'Pendant identification error',
- 'widget_validate_status_param_error' => 'display status parameter error',
-
- 'log_pay_tmp_order_miss' => '{tem_order_id}missing provisional order',
- 'log_pay_order_miss' => '{order_id}missing order',
-
- 'upstream_host_is_not_exist' => 'The upstream host does not exist',
+ 'widget_validate_widget_require' => 'Please select a widget',
+ 'widget_validate_widget_error' => 'Widget identification error',
+ 'widget_validate_status_param_error' => 'Display status parameter error',
+
+ 'log_pay_tmp_order_miss' => '{tem_order_id} temporary order is missing',
+ 'log_pay_order_miss' => '{order_id} order is missing',
+
+ 'upstream_host_is_not_exist' => 'The upstream product does not exist',
+
+ # Commodity cycle ratio
+ 'log_product_duration_ratio_change' => ',Period {name} ratio changed from {old} to {new}',
+ 'please_input_all_duration_ratio' => 'Please enter all period ratios',
+ 'log_save_product_duration_ratio' => 'Save product cycle ratio successfully, product: {product}{detail}',
+ 'please_set_duration_ratio_first' => 'Please set the period ratio first',
+ 'please_set_at_lease_one_price' => 'Please set at least one price',
+ 'validate_product_duration_ratio_ratio_require' => 'Please enter the ratio',
+ 'validate_product_duration_ratio_price_require' => 'Please enter the price',
+ 'validate_product_duration_ratio_ratio_format_error' => 'The ratio can only be a number greater than 0 and less than 10000',
+ 'validate_product_duration_ratio_price_format_error' => 'The price can only be a number from 0-99999999',
];
diff --git a/10.3.4/public/admin/language/zh-cn.js b/10.3.5/public/admin/language/zh-cn.js
similarity index 100%
rename from 10.3.4/public/admin/language/zh-cn.js
rename to 10.3.5/public/admin/language/zh-cn.js
diff --git a/10.3.4/public/admin/language/zh-cn.php b/10.3.5/public/admin/language/zh-cn.php
similarity index 90%
rename from 10.3.4/public/admin/language/zh-cn.php
rename to 10.3.5/public/admin/language/zh-cn.php
index 2a7a1ec2..c1ad46f7 100644
--- a/10.3.4/public/admin/language/zh-cn.php
+++ b/10.3.5/public/admin/language/zh-cn.php
@@ -61,6 +61,10 @@
'login_phone_is_not_register' => '手机号未注册',
'login_client_is_disabled' => '该帐号已停用/关闭,请联系管理员处理',
'permission_denied' => '您没有访问【{name}】接口权限!',
+ 'get_idcsamrt_auth_success' => '授权信息获取成功',
+ 'get_idcsamrt_auth_failed' => '授权信息获取失败',
+ 'replace_idcsamrt_auth_success' => '授权码更换成功',
+ 'replace_idcsamrt_auth_failed' => '授权码更换失败',
# 权限规则
'auth_rule_admin_list' => '管理员列表',
@@ -378,6 +382,7 @@
'log_admin_show_product' => '{admin}显示商品{product}',
'log_admin_update_product' => '{admin}修改商品{product}:{description}',
'log_admin_update_product_upgrade_product' => '升级商品ID{old}为{new}',
+ 'log_admin_copy_product' => '{admin}复制商品{product}',
'field_product_name' => '名称',
'field_product_product_group_id' => '分组ID',
@@ -470,6 +475,15 @@
'order_not_support_apply_credit' => '订单不支持应用余额',
'apply_credit_not_enough' => '应用余额不得超过可应用余额金额',
'remove_credit_not_enough' => '扣除余额不得超过已应用余额金额',
+ 'order_apply_credit' => '应用余额至订单',
+ 'upgrade_refund' => '升降级退款',
+ 'order_refund' => '订单#{id}退款',
+ 'order_cancel_refund' => '订单#{id}取消退款',
+ 'order_overpayment' => '订单超付,充值至余额#{id}',
+ 'order_underpayment' => '少付,充值至余额#{id}',
+ 'credit_payment' => '余额支付',
+ 'order_remove_credit' => '订单#{id}移除余额',
+ 'recharge' => '充值',
# 产品管理
'host_is_not_exist' => '产品不存在',
@@ -528,6 +542,11 @@
'configuration_log_terms_service_url' =>'服务条款地址',
'configuration_log_terms_privacy_url' =>'隐私条款地址',
'configuration_log_system_logo' =>'系统LOGO',
+ 'configuration_log_enterprise_address' =>'企业地址',
+ 'configuration_log_contact_email' =>'联系邮箱',
+ 'configuration_log_enterprise_website' =>'企业网站',
+ 'configuration_log_contact_telephone' =>'联系电话',
+ 'configuration_log_postal_code' =>'邮政编码',
'configuration_admin_default_language_cannot_empty' => '后台默认语言不能为空',
'configuration_admin_default_language_error' => '后台默认语言设置错误',
'configuration_home_default_language_open_cannot_empty' => '前台多语言开关不能为空',
@@ -546,6 +565,13 @@
'configuration_terms_privacy_url' => '隐私条款地址不能为空',
'configuration_terms_privacy_url_cannot_exceed_255_chars' => '隐私条款地址最多不能超过255个字符',
'configuration_system_logo' => '请选择系统LOGO',
+ 'configuration_enterprise_address' => '请填写企业地址',
+ 'configuration_contact_email' => '请填写联系邮箱',
+ 'configuration_enterprise_website' => '请填写企业网站',
+ 'configuration_contact_telephone' => '请填写联系电话',
+ 'configuration_postal_code' => '请填写邮政编码',
+
+
# 登录设置
'configuration_log_register_phone' =>'手机是否支持注册',
'configuration_log_register_email' =>'邮箱是否支持注册',
@@ -764,6 +790,7 @@
'first_product_group_id_is_not_exist' => '一级分组不存在',
'product_show_in' => '是否展示为0或1',
'product_show_require' => '是否展示必须',
+ 'son_product_cannot_copy' => '子商品不支持复制',
# 邮件模板
@@ -1114,6 +1141,88 @@
'order_description_append' => '{product_name}({name}),购买时长:{billing_cycle_name}({time})',
+ 'user_cannot_empty' => '用户不能为空',
+ 'username_4_20_digits' => '用户名4-20位',
+ 'password_cannot_empty' => '密码不能为空',
+ 'auth_failed' => '鉴权失败',
+ 'signature_error' => '签名错误',
+ 'host_cannot_use_this_interface' => '该产品不能使用该接口',
+ 'signature_verification_failed' => '签名验证失败',
+ 'sync_success' => '同步成功',
+ 'sync_failed' => '同步失败',
+ 'failed_to_open_upstream' => '上游开通失败',
+ 'host_name' => '主机名',
+ 'suspend_type' => '暂停类型',
+ 'suspend_reason' => '暂停原因',
+ 'change_into' => '修改为:',
+
+ 'superadmin_add_admin_send_mail' => '超级管理员添加后台管理员,发送邮件',
+ 'host_create_success_send_mail' => '产品开通成功,发送邮件',
+ 'host_create_success_send_sms' => '产品开通成功,发送短信',
+ 'host_renewal_first_send_mail' => '第一次客户续费提醒,发送邮件',
+ 'host_renewal_first_send_sms' => '第一次客户续费提醒,发送短信',
+ 'host_renewal_second_send_mail' => '第二次客户续费提醒,发送邮件',
+ 'host_renewal_second_send_sms' => '第二次客户续费提醒,发送短信',
+ 'host_overdue_first_send_mail' => '逾期付款第一次,发送邮件',
+ 'host_overdue_first_send_sms' => '逾期付款第一次,发送短信',
+ 'host_overdue_second_send_mail' => '逾期付款第二次,发送邮件',
+ 'host_overdue_second_send_sms' => '逾期付款第二次,发送短信',
+ 'host_overdue_third_send_mail' => '逾期付款第三次,发送邮件',
+ 'host_overdue_third_send_sms' => '逾期付款第三次,发送短信',
+ 'order_overdue_send_mail' => '订单未付款通知,发送邮件',
+ 'order_overdue_send_sms' => '订单未付款通知,发送短信',
+ 'host_suspend' => '主机暂停',
+ 'host_delete' => '主机删除',
+ 'client_change_phone_send_sms' => '客户更改手机成功,发送短信',
+ 'client_change_email_send_mail' => '客户更改邮箱成功,发送邮件',
+ 'client_change_password_send_mail' => '客户更改密码成功,发送邮件',
+ 'client_change_password_send_sms' => '客户更改密码成功,发送短信',
+ 'client_phone_code_login_success_send_sms' => '手机+验证码登录成功,发送短信',
+ 'client_email_password_login_success_send_mail' => '邮箱+密码登录成功,发送邮件',
+ 'client_phone_password_login_success_send_sms' => '手机+密码登录成功,发送短信',
+ 'client_sms_register_success_send_sms' => '短信注册成功,发送短信',
+ 'client_mail_register_success_send_mail' => '邮件注册成功,发送邮件',
+ 'host_suspend_send_mail' => '产品暂停通知,发送邮件',
+ 'host_suspend_send_sms' => '产品暂停通知,发送短信',
+ 'suspend_type_overdue' => '到期暂停',
+ 'suspend_type_overtraffic' => '超流暂停',
+ 'suspend_type_certification_not_complete' => '实名未完成',
+ 'suspend_type_other' => '其他',
+ 'cannot_unsuspend_from_upstream' => '不可解除上游发起的暂停',
+ 'host_unsuspend_send_mail' => '产品解除暂停通知,发送邮件',
+ 'host_unsuspend_send_sms' => '产品解除暂停通知,发送短信',
+ 'host_delete_send_mail' => '产品删除通知,发送邮件',
+ 'host_delete_send_sms' => '产品删除通知,发送短信',
+ 'host_upgrade_send_mail' => '产品升降级,发送邮件',
+ 'host_upgrade_send_sms' => '产品升降级,发送短信',
+ 'order_create_send_mail' => '订单创建,发送邮件',
+ 'order_create_send_sms' => '订单创建,发送短信',
+ 'admin_order_amount_send_mail' => '后台管理员调整订单价格,发送邮件',
+ 'admin_order_amount_send_sms' => '后台管理员调整订单价格,发送短信',
+ 'order_recharge_send_mail' => '客户充值成功,发送邮件',
+ 'order_recharge_send_sms' => '客户充值成功,发送短信',
+ 'order_pay_send_mail' => '客户支付成功,发送邮件',
+ 'order_pay_send_sms' => '客户支付成功,发送短信',
+ 'host_unsuspend' => '解除暂停',
+ 'host_creating_send_mail' => '产品开通中,发送邮件',
+ 'host_creating_send_sms' => '产品开通中,发送短信',
+ 'client_host_create' => '#用户{client_id}#产品{host_id} — 主机创建',
+ 'client_host_upgrade' => '#用户{client_id}#产品{host_id} — 升降级',
+
+ 'active_host_is_used_cannot_delete' => '有激活产品正在使用,不能删除',
+ 'phone_code_error' => '国际电话区号格式错误',
+ 'phone_error' => '手机号格式错误',
+ 'widget_require' => '请选择挂件',
+ 'widget_error' => '挂件标识错误',
+ 'host_overdue_suspend' => '产品到期暂停',
+ 'network_desertion' => '网络开小差',
+ 'api_account_or_password_error' => 'API账号或密码错误',
+ 'module_format_error' => '模块格式错误',
+ 'module_or_function_is_not_exist' => '模块或方法不存在',
+
+ 'price' => '价格',
+ 'purchase_duration' => '购买时长',
+
#挂件
'widget_not_found' => '挂件不存在',
'widget_validate_widget_require' => '请选择挂件',
@@ -1125,6 +1234,14 @@
'upstream_host_is_not_exist' => '上游产品不存在',
-
-
+ # 商品周期比例
+ 'log_product_duration_ratio_change' => ',周期{name}比例从{old}改为{new}',
+ 'please_input_all_duration_ratio' => '请输入所有周期比例',
+ 'log_save_product_duration_ratio' => '保存商品周期比例成功,商品:{product}{detail}',
+ 'please_set_duration_ratio_first' => '请先设置周期比例',
+ 'please_set_at_lease_one_price' => '请至少设置一个价格',
+ 'validate_product_duration_ratio_ratio_require' => '请输入比例',
+ 'validate_product_duration_ratio_price_require' => '请输入价格',
+ 'validate_product_duration_ratio_ratio_format_error' => '比例只能是大于0并且小于10000的数字',
+ 'validate_product_duration_ratio_price_format_error' => '价格只能是0-99999999的数字',
];
diff --git a/10.3.4/public/admin/language/zh-hk.js b/10.3.5/public/admin/language/zh-hk.js
similarity index 100%
rename from 10.3.4/public/admin/language/zh-hk.js
rename to 10.3.5/public/admin/language/zh-hk.js
diff --git a/10.3.5/public/admin/language/zh-hk.php b/10.3.5/public/admin/language/zh-hk.php
new file mode 100644
index 00000000..4b63c087
--- /dev/null
+++ b/10.3.5/public/admin/language/zh-hk.php
@@ -0,0 +1,1247 @@
+ '中文繁體',//用於在語言切換下拉中顯示
+ 'display_flag' => 'CN',//用於顯示圖片,使用國家代碼大寫
+ 'not_found' => '頁面找不到了',
+
+
+ 'success_message' => '請求成功',
+ 'fail_message' => '請求失敗',
+ 'create_success' => '創建成功',
+ 'create_fail' => '創建失敗',
+ 'delete_success' => '刪除成功',
+ 'delete_fail' => '刪除失敗',
+ 'update_success' => '修改成功',
+ 'update_fail' => '修改失敗',
+ 'save_success' => '保存成功',
+ 'save_fail' => '保存失敗',
+ 'register_success' => '註冊成功',
+ 'register_fail' => '註冊失敗',
+ 'pay_success' => '支付成功',
+ 'pay_fail' => '支付失敗',
+ 'id_error' => 'ID錯誤',
+ 'param_error' => '參數錯誤',
+ 'cannot_repeat_opreate' => '不可重複操作',
+ 'disable_success' => '禁用成功',
+ 'disable_fail' => '禁用失敗',
+ 'enable_success' => '啟用成功',
+ 'enable_fail' => '啟用失敗',
+ 'login_success' => '登錄成功',
+ 'login_fail' => '登錄失敗',
+ 'move_success' => '移動成功',
+ 'move_fail' => '移動失敗',
+ 'file_name_error' => '文件名不允許包含!@^&"\'/\\',
+ 'file_mime_error' => '文件mime類型錯誤',
+ 'file_less_than_150M' => '文件大小不超過150M',
+ 'upload_success' => '上傳成功',
+ 'upload_fail' => '上傳失敗',
+ 'file_is_not_exist' => '文件不存在',
+ 'buy_fail' => '購買失敗',
+ 'buy_success' => '購買成功',
+ 'client_credit_fail' => '用戶餘額修改失敗',
+ 'client_credit_success' => '用戶餘額修改成功',
+ 'missing_route_paramters' => '缺少路由參數{param}',
+ 'range_of_values' => '{key}取值範圍:{value}',
+ 'gateway_error' => '支付接口錯誤',
+ 'login_unauthorized' => '未授權',
+ 'remember_password_value_0_or_1' => '記住密碼取值為0或1',
+ 'password_is_change_please_login_again' => '密碼已修改,請重新授權',
+ 'logout_success' => '成功退出',
+ 'inconsistent_login_ip' => '登錄ip不一致',
+ 'login_user_ID_is_inconsistent' => '登錄用戶ID不一致',
+ 'log_out_automatically_after_2_hours_without_operation' => '2個小時未操作自動退出登錄',
+ 'login_captcha' => '請輸入圖形驗證碼',
+ 'login_captcha_token' => '請輸入圖形驗證碼唯一識別碼',
+ 'login_captcha_error' => '行為驗證碼錯誤,請查看配置是否正確',
+ 'login_phone_code_require' => '請選擇國家區號',
+ 'login_phone_code_error' => '國家區號錯誤',
+ 'login_phone_require' => '請輸入手機號',
+ 'login_phone_is_not_right' => '請輸入手機號',
+ 'login_phone_is_not_register' => '手機號未註冊',
+ 'login_client_is_disabled' => '該帳號已停用/關閉,請聯繫管理員處理',
+ 'permission_denied' => '您沒有訪問【{name}】接口權限! ',
+ 'get_idcsamrt_auth_success' => '授權資訊取得成功',
+ 'get_idcsamrt_auth_failed' => '授權資訊取得失敗',
+ 'replace_idcsamrt_auth_success' => '授權碼更換成功',
+ 'replace_idcsamrt_auth_failed' => '授權碼更換失敗',
+
+ # 權限規則
+ 'auth_rule_admin_list' => '管理員列表',
+ 'auth_rule_admin_index' => '獲取單個管理員',
+ 'auth_rule_admin_create' => '添加管理員',
+ 'auth_rule_admin_update' => '修改管理員',
+ 'auth_rule_admin_delete' => '刪除管理員',
+ 'auth_rule_admin_status' => '管理員狀態切換',
+ 'auth_rule_admin_role_list' => '管理員分組列表',
+ 'auth_rule_admin_role_index' => '獲取單個管理員分組',
+ 'auth_rule_admin_role_create' => '添加管理員分組',
+ 'auth_rule_admin_role_update' => '修改管理員分組',
+ 'auth_rule_admin_role_delete' => '刪除管理員分組',
+ 'auth_rule_client_list' => '用戶列表',
+ 'auth_rule_client_index' => '用戶詳情',
+ 'auth_rule_client_create' => '新建用戶',
+ 'auth_rule_client_update' => '修改用戶',
+ 'auth_rule_client_delete' => '刪除用戶',
+ 'auth_rule_client_status' => '用戶狀態切換',
+ 'auth_rule_client_search' => '搜索用戶',
+ 'auth_rule_client_login' => '以用戶登錄',
+ 'auth_rule_client_credit_list' => '用戶餘額變更記錄列表',
+ 'auth_rule_client_credit_update' => '更改用戶餘額',
+ 'auth_rule_configuration_system' => '獲取系統設置',
+ 'auth_rule_configuration_system_update' => '保存系統設置',
+ 'auth_rule_configuration_login' => '獲取登錄設置',
+ 'auth_rule_configuration_login_update' => '保存登錄設置',
+ 'auth_rule_configuration_security' => '獲取驗證碼設置',
+ 'auth_rule_configuration_security_update' => '保存驗證碼設置',
+ 'auth_rule_configuration_currency' => '獲取貨幣設置',
+ 'auth_rule_configuration_currency_update' => '保存貨幣設置',
+ 'auth_rule_configuration_cron' => '獲取自動化設置',
+ 'auth_rule_configuration_cron_update' => '保存自動化設置',
+ 'auth_rule_order_list' => '訂單列表',
+ 'auth_rule_order_index' => '訂單詳情',
+ 'auth_rule_order_create' => '新建訂單',
+ 'auth_rule_order_upgrade_amount' => '獲取升降級訂單金額',
+ 'auth_rule_order_amount_update' => '調整訂單金額',
+ 'auth_rule_order_status_paid' => '標記支付',
+ 'auth_rule_order_delete' => '刪除訂單',
+ 'auth_rule_transaction_list' => '交易流水列表',
+ 'auth_rule_transaction_create' => '新增交易流水',
+ 'auth_rule_transaction_delete' => '刪除交易流水',
+ 'auth_rule_host_list' => '產品列表',
+ 'auth_rule_host_index' => '產品詳情',
+ 'auth_rule_host_update' => '修改產品',
+ 'auth_rule_host_delete' => '刪除產品',
+ 'auth_rule_plugin_list' => '獲取支付/短信/郵件/插件列表',
+ 'auth_rule_plugin_setting' => '獲取單個插件配置',
+ 'auth_rule_plugin_status' => '禁用(啟用)插件',
+ 'auth_rule_plugin_install' => '插件安裝',
+ 'auth_rule_plugin_uninstall' => '插件卸載',
+ 'auth_rule_plugin_setting_update' => '保存配置',
+ 'auth_rule_email_template_list' => '郵件模板列表',
+ 'auth_rule_email_template_create' => '創建郵件模板',
+ 'auth_rule_email_template_index' => '獲取單個郵件模板',
+ 'auth_rule_email_template_update' => '編輯郵件模板',
+ 'auth_rule_email_template_delete' => '刪除郵件模板',
+ 'auth_rule_email_template_test' => '測試郵件模板',
+ 'auth_rule_sms_template_list' => '獲取短信模板',
+ 'auth_rule_sms_template_create' => '創建短信模板',
+ 'auth_rule_sms_template_index' => '獲取單個短信模板',
+ 'auth_rule_sms_template_update' => '編輯短信模板',
+ 'auth_rule_sms_template_delete' => '刪除短信模板',
+ 'auth_rule_sms_template_test' => '測試短信模板',
+ 'auth_rule_notice_setting_list' => '發送管理',
+ 'auth_rule_notice_setting_update' => '發送設置',
+ 'auth_rule_task_list' => '任務列表',
+ 'auth_rule_task_retry' => '任務重試',
+ 'auth_rule_system_log_list' => '系統日誌列表',
+ 'auth_rule_email_log_list' => '郵件日誌列表',
+ 'auth_rule_sms_log_list' => '短信日誌列表',
+ 'auth_rule_product_list' => '商品列表',
+ 'auth_rule_product_index' => '商品詳情',
+ 'auth_rule_product_create' => '新建商品',
+ 'auth_rule_product_update' => '編輯商品',
+ 'auth_rule_product_order' => '商品拖動排序',
+ 'auth_rule_product_delete' => '刪除商品',
+ 'auth_rule_product_hidden' => '隱藏/顯示商品',
+ 'auth_rule_product_group_create' => '新建商品分組',
+ 'auth_rule_product_group_move_product' => '移動商品至其他商品組',
+ 'auth_rule_product_group_delete' => '刪除商品分組',
+ 'auth_rule_product_group_first_list' => '獲取商品一級分組',
+ 'auth_rule_product_group_second_list' => '獲取商品二級分組',
+ 'auth_rule_product_group_update' => '編輯商品分組',
+ 'auth_rule_product_upgrade' => '獲取商品關聯的升降級商品',
+ 'auth_rule_server_group_list' => '接口分組列表',
+ 'auth_rule_server_group_create' => '新建接口分組',
+ 'auth_rule_server_group_update' => '修改接口分組',
+ 'auth_rule_server_group_delete' => '刪除接口分組',
+ 'auth_rule_server_list' => '接口列表',
+ 'auth_rule_server_create' => '新建接口',
+ 'auth_rule_server_update' => '編輯接口',
+ 'auth_rule_server_delete' => '刪除接口',
+ 'auth_rule_server_status' => '獲取接口連接狀態',
+ 'auth_rule_module_list' => '模塊列表',
+ 'auth_rule_host_module' => '產品內頁模塊',
+ 'auth_rule_host_upgrade_config_option' => '產品升降級配置',
+ 'auth_rule_host_upgrade_config_option_price' => '產品升降級配置計算價格',
+ 'auth_rule_host_module_create' => '模塊開通',
+ 'auth_rule_host_module_suspend' => '模塊暫停',
+ 'auth_rule_host_module_unsuspend' => '模塊解除暫停',
+ 'auth_rule_host_module_terminate' => '模塊刪除',
+ 'auth_rule_product_server_config_option' => '選擇接口獲取配置',
+ 'auth_rule_product_config_option' => '商品配置頁面',
+ 'auth_rule_product_config_option_price' => '修改配置計算價格',
+ 'auth_rule_get_admin_menu' => '獲取後台導航',
+ 'auth_rule_get_home_menu' => '獲取前台導航',
+ 'auth_rule_save_admin_menu' => '保存後台導航',
+ 'auth_rule_save_home_menu' => '保存前台導航',
+ 'auth_rule_index_base_info' => '首頁基礎數據',
+ 'auth_rule_index_this_year_sale' => '本年銷售詳情',
+ 'auth_rule_index_this_year_client' => '本年大客戶統計',
+ 'auth_rule_index_visit_client' => '最近訪問用戶統計',
+ 'auth_rule_index_online_admin' => '當前在線管理員',
+
+ #權限
+ 'auth_user_management' => '用戶管理',
+ 'auth_user_list' => '用戶列表',
+ 'auth_view' => '查看',
+ 'auth_add' => '新增',
+ 'auth_user_details' => '用戶詳情',
+ 'auth_management' => '管理',
+ 'auth_delete' => '刪除',
+ 'auth_user_host' => '用戶產品',
+ 'auth_recharge_record' => '充值記錄',
+ 'auth_user_order' => '用戶訂單',
+ 'auth_user_transaction' => '用戶流水',
+ 'auth_user_log' => '用戶日誌',
+ 'auth_business_management' => '業務管理',
+ 'auth_order_management' => '訂單管理',
+ 'auth_marker_payment' => '標記支付',
+ 'auth_adjustment_amount' => '調整金額',
+ 'auth_host_management' => '產品管理',
+ 'auth_host_details' => '產品詳情',
+ 'auth_module_management' => '模塊管理',
+ 'auth_transaction' => '交易流水',
+ 'auth_product_management' => '商品管理',
+ 'auth_product_group' => '商品分組',
+ 'auth_server_management' => '接口管理',
+ 'auth_server_group' => '接口分組',
+ 'auth_update' => '修改',
+ 'auth_system_settings' => '系統設置',
+ 'auth_login_settings' => '登錄設置',
+ 'auth_admin_settings' => '管理員設置',
+ 'auth_admin_group' => '管理員分組',
+ 'auth_security_settings' => '驗證碼設置',
+ 'auth_currency_settings' => '貨幣設置',
+ 'auth_payment_gateway' => '支付接口',
+ 'auth_enable_disable' => '啟用/停用',
+ 'auth_install_uninstall_config' => '安裝/卸載/配置',
+ 'auth_notice' => '通知接口',
+ 'auth_sms_notice' => '短信通知',
+ 'auth_template_management' => '模板管理',
+ 'auth_email_notice' => '郵件通知',
+ 'auth_send_settings' => '發送設置',
+ 'auth_task' => '任務',
+ 'auth_log' => '日誌',
+ 'auth_system_log' => '系統日誌',
+ 'auth_notice_log' => '通知日誌',
+ 'auth_auto' => '自動化',
+ 'auth_plugin' => '插件',
+ 'auth_plugin_list' => '插件列表',
+ 'auth_nav_management' => '導航管理',
+ 'auth_index' => '首頁',
+ 'auth_index_pendant' => '首頁挂件',
+ 'auth_index_base_info' => '首頁基礎數據',
+ 'auth_index_this_year_sale' => '本年銷售詳情',
+ 'auth_index_this_year_client' => '本年大客戶統計',
+ 'auth_index_visit_client' => '最近訪問用戶統計',
+ 'auth_index_online_admin' => '當前在線管理員',
+
+ # 導航
+ 'nav_user_management' => '用戶管理',
+ 'nav_user_list' => '用戶列表',
+ 'nav_business_management' => '業務管理',
+ 'nav_order_management' => '訂單管理',
+ 'nav_host_management' => '產品管理',
+ 'nav_transaction' => '交易流水',
+ 'nav_product_management' => '商品管理',
+ 'nav_server_management' => '接口管理',
+ 'nav_server_group' => '接口分組',
+ 'nav_system_settings' => '系統設置',
+ 'nav_admin_settings' => '管理員設置',
+ 'nav_security_settings' => '驗證碼設置',
+ 'nav_currency_settings' => '貨幣設置',
+ 'nav_payment_gateway' => '支付接口',
+ 'nav_notice' => '通知接口',
+ 'nav_sms_notice' => '短信通知',
+ 'nav_email_notice' => '郵件通知',
+ 'nav_send_settings' => '發送設置',
+ 'nav_management' => '管理',
+ 'nav_task' => '任務',
+ 'nav_log' => '日誌',
+ 'nav_auto' => '自動化',
+ 'nav_plugin' => '插件',
+ 'nav_plugin_list' => '插件列表',
+ 'nav_navigation' => '導航管理',
+ 'nav_real_name_approval' => '實名認證',
+ 'nav_upstream_management' => '上下游管理',
+ 'nav_supplier' => '供應商管理',
+ 'nav_upstream_order' => '上游訂單管理',
+ 'nav_upstream_product' => '上游產品管理',
+ 'nav_upstream_goods' => '上游商品管理',
+ 'nav_template' => '官網反饋',
+
+
+
+ # 日誌
+ 'admin_enable_user' => '{admin}啟用用戶{client}',
+ 'admin_disable_user' => '{admin}禁用用戶{client}',
+ 'admin_delete_user' => '{admin}刪除用戶{client}',
+ 'admin_modify_user_profile' => '{admin}將{client}的{description}',
+ 'admin_delete_user_host' => '{admin}將{client}的產品{host}刪除',
+ 'admin_batch_delete_user_host' => '{admin}將{client}的產品{host}批量刪除',
+ 'admin_adjust_user_order_price' => '{admin}將{client}的訂單{order}的價格{old}改為{new}',
+ 'admin_mark_user_order_payment_status' => '{admin}將{client}的訂單{order}標記為已付款',
+ 'admin_delete_user_order' => '{admin}將{client}的訂單{order}刪除',
+ 'admin_delete_transaction' => '{admin}刪除交易流水{transaction},流水所屬用戶為{client}',
+ 'admin_add_transaction' => '{admin}新增交易流水{transaction},流水所屬用戶為{client}',
+ 'admin_create_new_user' => '{admin}新建用戶{client}',
+ 'admin_create_new_purchase_order' => '{admin}新建新購訂單{order},訂單用戶為{client}',
+ 'admin_create_upgrade_order' => '{admin}新建升降級訂單{order},訂單用戶為{client}',
+ 'admin_create_renew_order' => '{admin}新建續費訂單{order},訂單用戶為{client}',
+ 'admin_create_artificial_order' => '{admin}新建人工訂單{order},訂單用戶為{client}',
+ 'admin_edit_email_template' => '{admin}編輯郵件模板:{template}',
+ 'admin_delete_email_template' => '{admin}刪除郵件模板:{template}',
+ 'admin_create_email_template' => '{admin}創建郵件模板:{template}',
+ 'admin_retry_task' => '{admin}重試任務:{task}{description}',
+ 'admin_configuration_system' => '{admin}將系統設置的{description}',
+ 'admin_configuration_login' => '{admin}將登錄設置的{description}',
+ 'admin_configuration_security' => '{admin}將驗證碼設置的{description}',
+ 'admin_configuration_currency' => '{admin}將貨幣設置的{description}',
+ 'admin_configuration_cron' => '{admin}將自動化設置的{description}',
+ 'admin_configuration_send' => '{admin}將默認通知接口設置的{description}',
+ 'admin_old_to_new' => '{field}的{old}改為{new}',
+ 'admin_sms_template_log_create' => '{admin}短信接口"{sms_name}"創建模板"{sms_title}"成功',
+ 'admin_sms_template_log_update' => '{admin}短信接口"{sms_name}"模板修改:{description}',
+ 'admin_sms_template_log_delete' => '{admin}短信接口"{sms_name}"模板刪除"{sms_title}"成功',
+ 'admin_notice_send_log_update' => '{admin}發送設置,{description}',
+ 'sub_account' => '(子賬戶)',
+ 'admin_refund_user_order_credit' => '{admin}對{client}的訂單{order}操作退款,退款到餘額,退款金額:{amount}',
+ 'admin_refund_user_order_transaction' => '{admin}對{client}的訂單{order}操作退款,退款到流水{transaction},退款金額:{amount}',
+ 'admin_apply_credit_to_user_order' => '{admin}應用餘額到{client}的訂單{order},應用金額:{amount}',
+ 'admin_remove_credit_from_user_order' => '{admin}從{client}的訂單{order}移除餘額,移除金額:{amount}',
+ 'admin_delete_refund_record' => '{admin}刪除退款記錄{refund_record}',
+ 'admin_adjust_user_order_gateway' => '{admin}將{client}的訂單{order}的支付方式{old}改為{new}',
+ 'admin_adjust_user_order_notes' => '{admin}將{client}的訂單{order}的備註{old}改為{new}',
+
+ 'client_username' => '姓名',
+ 'client_email' => '郵箱',
+ 'client_phone_code' => '國際電話區號',
+ 'client_phone' => '手機號',
+ 'client_company' => '公司',
+ 'client_country' => '國家',
+ 'client_address' => '地址',
+ 'client_language' => '語言',
+ 'client_notes' => '備註',
+
+ 'host_product' => '商品',
+ 'host_server' => '接口',
+ 'host_name' => '標識',
+ 'host_notes' => '備註',
+ 'host_first_payment_amount' => '訂購金額',
+ 'host_renew_amount' => '續費金額',
+ 'host_billing_cycle' => '計費方式',
+ 'host_billing_cycle_free' => '免費',
+ 'host_billing_cycle_onetime' => '一次性',
+ 'host_billing_cycle_recurring_prepayment' => '週期先付',
+ 'host_billing_cycle_recurring_postpaid' => '週期後付',
+ 'host_active_time' => '開通時間',
+ 'host_due_time' => '到期時間',
+ 'host_status' => '狀態',
+ 'host_status_Unpaid' => '未付款',
+ 'host_status_Pending' => '開通中',
+ 'host_status_Active' => '使用中',
+ 'host_status_Suspended' => '已暫停',
+ 'host_status_Deleted' => '已刪除',
+ 'host_status_Failed' => '開通失敗',
+ 'host_status_Cancelled' => '已取消',
+
+ 'admin_modify_host' => '{admin}將{host}的{description}',
+
+
+ # 通用描述
+ 'log_admin_update_description' => '{field}從{old}改為{new}',
+
+ 'log_admin_login' => '{admin}登錄系統',
+ 'log_admin_login_not_exist' => '{admin}登錄系統失敗,管理員不存在',
+ 'log_admin_login_disabled' => '{admin}登錄系統失敗,已被禁用',
+ 'log_admin_login_password_error' => '{admin}登錄系統失敗,密碼不正確',
+ 'log_admin_logout' => '{admin}註銷登錄',
+ 'log_login_by_client' => '{admin}用{client}登錄前台系統',
+ 'log_create_admin' => '{admin}添加管理員{name}',
+ 'log_update_admin' => '{admin}修改管理員信息{name}:{description}',
+ 'log_update_admin_description' => '{field}為{content}',
+ 'admin_disable_admin' => '{admin}啟用管理員{name}',
+ 'admin_enable_admin' => '{admin}禁用管理員{name}',
+ 'admin_delete_admin' => '{admin}刪除管理員{name}',
+ 'admin_create_admin_role' => '{admin}添加人員分組{name}',
+ 'admin_update_admin_role' => '{admin}修改人員分組{name}',
+ 'admin_delete_admin_role' => '{admin}刪除人員分組{name}',
+ 'log_change_password' => '修改密碼',
+
+ 'admin_name' => '用戶名',
+ 'admin_password' => '密碼',
+ 'admin_email' => '郵箱',
+ 'admin_nickname' => '名稱',
+ 'admin_status' => '狀態',
+ 'admin_role_id' => '分組ID',
+
+ 'log_admin_create_product' => '{admin}新增商品{product}',
+ 'log_admin_delete_product' => '{admin}刪除商品{product}',
+ 'log_admin_hidden_product' => '{admin}隱藏商品{product}',
+ 'log_admin_show_product' => '{admin}顯示商品{product}',
+ 'log_admin_update_product' => '{admin}修改商品{product}:{description}',
+ 'log_admin_update_product_upgrade_product' => '升級商品ID{old}為{new}',
+ 'log_admin_copy_product' => '{admin}複製商品{product}',
+
+ 'field_product_name' => '名稱',
+ 'field_product_product_group_id' => '分組ID',
+ 'field_product_description' => '描述',
+ 'field_product_hidden' => '是否隱藏',
+ 'field_product_stock_control' => '庫存控制',
+ 'field_product_qty' => '庫存數量',
+ 'field_product_creating_notice_sms' => '開通中短信通知是否開啟',
+ 'field_product_creating_notice_sms_api' => '開通中短信通知接口',
+ 'field_product_creating_notice_sms_api_template' => '開通中短信通知接口模板',
+ 'field_product_created_notice_sms' => '已開通短信通知是否開啟',
+ 'field_product_created_notice_sms_api' => '已開通短信通知接口',
+ 'field_product_created_notice_sms_api_template' => '已開通短信通知接口模板',
+ 'field_product_creating_notice_mail' => '開通中郵件通知是否開啟',
+ 'field_product_creating_notice_mail_template' => '開通中郵件通知模板',
+ 'field_product_created_notice_mail_template' => '已開通郵件通知模板',
+ 'field_product_pay_type' => '付款類型',
+ 'field_product_auto_setup' => '是否自動開通',
+ 'field_product_type' => '關聯類型',
+ 'field_product_rel_id' => '關聯ID',
+
+ 'log_admin_create_product_group' => '{admin}新增商品分組{product_group}',
+ 'log_admin_update_product_group' => '{admin}修改商品分組名稱{old}為{new}',
+ 'log_admin_delete_product_group' => '{admin}刪除商品分組{product_group}',
+ 'log_admin_hidden_product_group' => '{admin}隱藏商品分組{product_group}',
+ 'log_admin_show_product_group' => '{admin}顯示商品分組{product_group}',
+
+ 'log_admin_plugin_gateway' => '支付',
+ 'log_admin_plugin_sms' => '短信',
+ 'log_admin_plugin_mail' => '郵件',
+ 'log_admin_plugin_addon' => '插件',
+ 'log_admin_install_plugin' => '{admin}安裝{module}接口:{name}',
+ 'log_admin_uninstall_plugin' => '{admin}卸載{module}接口:{name}',
+ 'log_admin_enable_plugin' => '{admin}啟用{module}接口:{name}',
+ 'log_admin_disable_plugin' => '{admin}禁用{module}接口:{name}',
+ 'log_admin_config_plugin' => '{admin}配置{module}接口:{name}',
+ 'log_admin_upgrade_plugin' => '{admin}升級{module}接口:{name}',
+
+ # 用戶管理
+ 'client_is_not_exist' => '用戶不存在',
+ 'client_is_disabled' => '用戶已被禁用',
+ 'client_name_cannot_exceed_20_chars' => '用戶姓名最多不能超過20個字符',
+ 'please_enter_vaild_email' => '請輸入正確的郵箱',
+ 'email_has_been_registered' => '郵箱已被註冊',
+ 'please_select_phone_code' => '請選擇國際電話區號',
+ 'please_enter_vaild_phone' => '請輸入正確的手機號',
+ 'phone_has_been_registered' => '手機號已被註冊',
+ 'please_enter_password' => '請輸入密碼',
+ 'password_formatted_incorrectly' => '密碼格式錯誤,需為6~32位的字符',
+ 'please_enter_password_again' => '請重複輸入密碼',
+ 'passwords_not_match' => '兩次輸入的密碼不一致',
+ 'company_cannot_exceed_255_chars' => '公司最多不能超過255個字符',
+ 'country_cannot_exceed_100_chars' => '國家最多不能超過100個字符',
+ 'address_cannot_exceed_255_chars' => '地址最多不能超過255個字符',
+ 'notes_cannot_exceed_1000_chars' => '備註最多不能超過1000個字符',
+
+ # 用戶餘額管理
+ 'insufficient_credit_deduction_failed' => '用戶餘額不足,扣費失敗',
+ 'please_enter_amount' => '請輸入金額',
+ 'amount_formatted_incorrectly' => '金額格式錯誤',
+ 'please_enter_notes' => '請輸入備註',
+
+ # 訂單管理
+ 'order_is_not_exist' => '訂單不存在',
+ 'order_item_is_not_exist' => '訂單子項不存在',
+ 'order_item_cannot_update' => '非人工調整的訂單子項不可修改',
+ 'order_item_cannot_delete' => '非人工調整的訂單子項不可刪除',
+ 'order_amount_adjustment_failed' => '訂單金額調整失敗,調整後的待付金額不得小於0',
+ 'please_select_order_type' => '請選擇訂單類型',
+ 'order_type_error' => '訂單類型錯誤',
+ 'please_select_order_status' => '請選擇訂單狀態',
+ 'order_status_error' => '訂單狀態錯誤',
+ 'please_enter_description' => '請輸入描述',
+ 'description_cannot_exceed_1000_chars' => '描述最多不能超過1000個字符',
+ 'order_already_paid' => '訂單已付款,無需重複操作',
+ 'order_already_paid_cannot_adjustment_amount' => '訂單已付款,不可調整金額',
+ 'hosts_under_activation_in_the_order' => '訂單中存在開通中的產品,不可刪除訂單',
+ 'please_select_order_delete_host' => '請選擇是否刪除訂單下的產品',
+ 'client_credit_is_0' => '餘額為0',
+ 'client_credit_is_used' => '您已使用過餘額',
+ 'recharge_order_cannot_use_credit' => '充值訂單不可使用餘額',
+ 'active_host_can_be_upgraded' => '已開通的產品才可以升降級',
+ 'host_cannot_be_upgraded_to_the_product' => '該產品不可升降級到選擇的商品',
+ 'please_select_host' => '請選擇產品',
+ 'host_id_error' => '產品ID錯誤',
+ 'client_host_error' => '產品用戶和選擇的用戶不一致',
+ 'update_amount' => '調整金額',
+ 'order_not_support_refund' => '未付款的訂單不支持退款',
+ 'refund_amount_not_enough' => '訂單可退款金額不足',
+ 'order_not_support_apply_credit' => '訂單不支持應用餘額',
+ 'apply_credit_not_enough' => '應用餘額不得超過可應用餘額金額',
+ 'remove_credit_not_enough' => '扣除餘額不得超過已應用餘額金額',
+ 'order_apply_credit' => '應用餘額至訂單',
+ 'upgrade_refund' => '升降級退款',
+ 'order_refund' => '訂單#{id}退款',
+ 'order_cancel_refund' => '訂單#{id}取消退款',
+ 'order_overpayment' => '訂單超付,充值至餘額#{id}',
+ 'order_underpayment' => '少付,充值至餘額#{id}',
+ 'credit_payment' => '餘額支付',
+ 'order_remove_credit' => '訂單#{id}移除餘額',
+ 'recharge' => '充值',
+
+ # 產品管理
+ 'host_is_not_exist' => '產品不存在',
+ 'please_select_product' => '請選擇商品',
+ 'product_id_error' => '商品ID錯誤',
+ 'server_id_error' => '接口ID錯誤',
+ 'host_name_cannot_exceed_100_chars' => '產品標識最多不能超過100個字符',
+ 'please_enter_first_payment_amount' => '請輸入訂購金額',
+ 'first_payment_amount_formatted_incorrectly' => '訂購金額格式錯誤',
+ 'please_enter_renew_amount' => '請輸入續費金額',
+ 'renew_amount_formatted_incorrectly' => '續費金額格式錯誤',
+ 'please_select_billing_cycle' => '請選擇計費周期',
+ 'billing_cycle_error' => '計費周期錯誤',
+ 'please_select_host_status' => '請選擇產品狀態',
+ 'host_status_error' => '產品狀態錯誤',
+ 'active_time_formatted_incorrectly' => '開通時間格式錯誤',
+ 'due_time_formatted_incorrectly' => '到期時間格式錯誤',
+ 'order_is_paid_host_status_cannot_be_unpaid' => '訂單已付款,產品狀態不可修改為未付款',
+ 'order_is_unpaid_host_status_cannot_be_paid' => '訂單未付款,產品狀態不可修改為未付款以外的狀態',
+ 'order_is_paid_host_amount_cannot_update' => '訂單已付款,產品訂購金額不可修改',
+ 'host_opening_cannot_delete' => '開通中的產品不可刪除',
+ 'host_is_active' => '產品已開通',
+ 'host_is_suspended' => '產品已暫停',
+ 'host_is_not_active_cannot_suspend' => '產品未開通,不能暫停',
+ 'host_is_already_unsuspend' => '產品已解除暫停',
+ 'host_status_not_need_unsuspend' => '當前狀態不需要解除暫停',
+ 'please_select_suspend_type' => '請選擇暫停類型',
+ 'suspend_reason_length_cannot_exceed_1000_words' => '暫停原因不能超過1000個字',
+
+ # 流水管理
+ 'transaction_is_not_exist' => '交易流水不存在',
+ 'please_select_gateway' => '請選擇支付方式',
+ 'please_enter_transaction_number' => '請輸入交易流水號',
+ 'transaction_number_formatted_incorrectly' => '交易流水號格式錯誤,只能為數字和字母',
+ 'please_select_client' => '請選擇用戶',
+ 'client_id_error' => '用戶ID錯誤',
+ 'gateway_is_not_exist' => '支付方式不存在',
+
+ # 任務管理
+ 'task_is_not_exist' => '任務不存在',
+ 'task_has_been_retried' => '任務已經發起重試,不可再次發起',
+ 'only_failed_task_can_retry' => '失敗的任務才可以發起重試',
+
+ # 系統設置
+ 'configuration_log_switch_1' =>'開啟',
+ 'configuration_log_switch_0' =>'關閉',
+ 'configuration_log_lang_admin' =>'後台默認語言',
+ 'configuration_log_lang_home' =>'前台默認語言',
+ 'configuration_log_lang_home_open' =>'是否允許用戶選擇語言',
+ 'configuration_log_lang_home_open_0' =>'禁止',
+ 'configuration_log_lang_home_open_1' =>'允許',
+ 'configuration_log_maintenance_mode' =>'維護模式',
+ 'configuration_log_maintenance_mode_message' =>'維護模式內容',
+ 'configuration_log_website_name' =>'網站名稱',
+ 'configuration_log_website_url' =>'網站域名地址',
+ 'configuration_log_terms_service_url' =>'服務條款地址',
+ 'configuration_log_terms_privacy_url' =>'隱私條款地址',
+ 'configuration_log_system_logo' =>'系統LOGO',
+ 'configuration_log_enterprise_address' =>'企業地址',
+ 'configuration_log_contact_email' =>'聯繫郵箱',
+ 'configuration_log_enterprise_website' =>'企業網站',
+ 'configuration_log_contact_telephone' =>'聯繫電話',
+ 'configuration_log_postal_code' =>'郵政編碼',
+ 'configuration_admin_default_language_cannot_empty' => '後台默認語言不能為空',
+ 'configuration_admin_default_language_error' => '後台默認語言設置錯誤',
+ 'configuration_home_default_language_open_cannot_empty' => '前台多語言開關不能為空',
+ 'configuration_home_default_language_error' => '前台多語言設置錯誤',
+ 'configuration_home_default_language_open' => '前台多語言開關值只能是1或0',
+ 'configuration_home_default_language_cannot_empty' => '前台默認語言不能為空',
+ 'configuration_maintenance_mode_cannot_empty' => '維護模式開關不能為空',
+ 'configuration_maintenance_mode' => '維護模式開關值只能是1或0',
+ 'configuration_website_name' => '網站名稱不能為空',
+ 'configuration_website_name_cannot_exceed_255_chars' => '網站名稱最多不能超過255個字符',
+ 'configuration_website_url' => '網站域名地址不能為空',
+ 'configuration_website_url_cannot_exceed_255_chars' => '網站域名地址最多不能超過255個字符',
+ 'configuration_website_url_error' => '請輸入這樣https://wwww.a.com的域名地址',
+ 'configuration_terms_service_url' => '服務條款地址不能為空',
+ 'configuration_terms_service_url_cannot_exceed_255_chars' => '服務條款地址最多不能超過255個字符',
+ 'configuration_terms_privacy_url' => '隱私條款地址不能為空',
+ 'configuration_terms_privacy_url_cannot_exceed_255_chars' => '隱私條款地址最多不能超過255個字符',
+ 'configuration_system_logo' => '請選擇系統LOGO',
+ 'configuration_enterprise_address' => '請填寫企業地址',
+ 'configuration_contact_email' => '請填寫聯繫郵箱',
+ 'configuration_enterprise_website' => '請填寫企業網站',
+ 'configuration_contact_telephone' => '請填寫聯繫電話',
+ 'configuration_postal_code' => '請填寫郵政編碼',
+
+
+ # 登錄設置
+ 'configuration_log_register_phone' =>'手機是否支持註冊',
+ 'configuration_log_register_email' =>'郵箱是否支持註冊',
+ 'configuration_log_home_login_check_ip' =>'前台登錄檢查IP',
+ 'configuration_log_admin_login_check_ip' =>'後台登錄檢查IP',
+ 'configuration_log_login_phone_verify' =>'手機是否支持免密碼登錄',
+ 'configuration_log_register_phone_1' =>'是',
+ 'configuration_log_register_email_0' =>'否',
+ 'configuration_log_home_login_check_ip_1' =>'是',
+ 'configuration_log_home_login_check_ip_0' =>'否',
+ 'configuration_log_admin_login_check_ip_1' =>'是',
+ 'configuration_log_admin_login_check_ip_0' =>'否',
+ 'configuration_register_email_cannot_empty' => '郵箱註冊開關不能為空',
+ 'configuration_register_email' => '郵箱註冊開關值只能是1或0',
+ 'configuration_register_phone_cannot_empty' => '手機號註冊開關不能為空',
+ 'configuration_register_phone' => '手機號註冊開關值只能是1或0',
+ 'configuration_login_phone_verify_cannot_empty' => '手機號登錄短信驗證開關不能為空',
+ 'configuration_login_phone_verify' => '手機號登錄短信驗證開關值只能是1或0',
+ # 驗證碼設置
+ 'configuration_log_captcha_client_register' =>'新用戶註冊啟用圖形驗證碼',
+ 'configuration_log_captcha_client_login' =>'用戶登錄啟用圖形驗證碼',
+ 'configuration_log_captcha_admin_login' =>'後台系統登錄啟用圖形驗證碼',
+ 'configuration_log_captcha_client_login_error' =>'客戶登錄失敗時驗證碼',
+ 'configuration_log_captcha_client_login_error_1' =>'失敗三次後顯示',
+ 'configuration_log_captcha_client_login_error_0' =>'始終顯示',
+ 'configuration_log_captcha_width' =>'圖形驗證碼寬度',
+ 'configuration_log_captcha_height' =>'圖形驗證碼高度',
+ 'configuration_log_captcha_length' =>'圖形驗證碼字符長度',
+ 'configuration_log_code_client_email_register' =>'郵箱註冊數字驗證碼',
+ 'configuration_captcha_client_register_cannot_empty' => '客戶註冊圖形驗證碼開關不能為空',
+ 'configuration_captcha_client_register' => '客戶註冊圖形驗證碼開關值只能是1或0',
+ 'configuration_captcha_client_login_cannot_empty' => '客戶登錄圖形驗證碼開關不能為空',
+ 'configuration_captcha_client_login' => '客戶登錄圖形驗證碼開關值只能是1或0',
+ 'configuration_captcha_client_login_error_cannot_empty' => '客戶登錄失敗圖形驗證碼開關不能為空',
+ 'configuration_captcha_client_login_error' => '客戶登錄失敗圖形驗證碼開關值只能是1或0',
+ 'configuration_captcha_admin_login_cannot_empty' => '管理員登錄圖形驗證碼開關不能為空',
+ 'configuration_captcha_admin_login' => '管理員登錄圖形驗證碼開關值只能是1或0',
+ 'configuration_captcha_width_cannot_empty' => '圖形驗證碼寬度不能為空',
+ 'configuration_captcha_width' => '圖形驗證碼寬度只能在200到400之間的數字',
+ 'configuration_captcha_height_cannot_empty' => '圖形驗證碼高度不能為空',
+ 'configuration_captcha_height' => '圖形驗證碼高度只能在50到100之間的數字',
+ 'configuration_captcha_length_cannot_empty' => '圖形驗證碼字符長度不能為空',
+ 'configuration_captcha_length' => '圖形驗證碼字符長度只能是在4到6之間的整數',
+ # 貨幣設置
+ 'configuration_log_currency_code' =>'貨幣代碼',
+ 'configuration_log_currency_prefix' =>'貨幣符號',
+ 'configuration_log_currency_suffix' =>'貨幣後綴',
+ 'configuration_log_recharge_open' =>'啟用充值',
+ 'configuration_log_recharge_min' =>'單筆最小金額',
+ 'configuration_currency_code_cannot_empty' => '貨幣代碼不能為空',
+ 'configuration_currency_prefix_cannot_empty' => '貨幣符號不能為空',
+ 'configuration_currency_suffix_cannot_empty' => '貨幣後綴不能為空',
+ 'configuration_recharge_open_cannot_empty' => '啟用充值開關不能為空',
+ 'configuration_recharge_open' => '啟用充值開關值只能是1或0',
+ 'configuration_recharge_min_float' => '單筆最小金額必須大於零的數字',
+ 'configuration_recharge_max_egt_recharge_min' => '單筆最大金額大於等於單筆最小金額',
+ # 定時任務設置
+ 'configuration_log_cron_due_suspend_swhitch' =>'產品暫停',
+ 'configuration_log_cron_due_unsuspend_swhitch' =>'產品解除暫停',
+ 'configuration_log_cron_due_terminate_swhitch' =>'產品刪除',
+ 'configuration_log_cron_due_renewal_first_swhitch' =>'第一次續費提醒',
+ 'configuration_log_cron_due_renewal_second_swhitch' =>'第二次續費提醒',
+ 'configuration_log_cron_overdue_first_swhitch' =>'第一次逾期提醒',
+ 'configuration_log_cron_overdue_second_swhitch' =>'第二次逾期提醒',
+ 'configuration_log_cron_overdue_third_swhitch' =>'第三次逾期提醒',
+ 'configuration_log_cron_ticket_close_swhitch' =>'已回復工單關閉',
+ 'configuration_log_cron_aff_swhitch' =>'推廣成果',
+ 'configuration_log_cron_order_overdue_swhitch' =>'訂單未付款通知',
+ 'configuration_log_cron_order_unpaid_delete_swhitch' =>'訂單自動刪除',
+ 'configuration_log_cron_due_day' =>'天',
+ 'configuration_log_cron_due_hour' =>'小時',
+ 'configuration_cron_due_suspend_day_cannot_empty' => '產品到期暫停天數大於或等於0的整數',
+ 'configuration_cron_due_terminate_day_cannot_empty' => '產品到期刪除天數大於或等於0的整數',
+ 'configuration_cron_due_renewal_first_day_cannot_empty' => '續費第一次提醒天數大於或等於0的整數',
+ 'configuration_cron_due_renewal_second_day_cannot_empty' => '續費第二次提醒天數大於或等於0的整數',
+ 'configuration_cron_overdue_first_day_cannot_empty' => '產品逾期第一次提醒天數大於或等於0的整數',
+ 'configuration_cron_overdue_second_day_cannot_empty' => '產品逾期第二次提醒天數大於或等於0的整數',
+ 'configuration_cron_overdue_third_day_cannot_empty' => '產品逾期第三次提醒天數大於或等於0的整數',
+ 'configuration_cron_ticket_close_day_cannot_empty' => '已回复狀態的工單提醒小時大於或等於0的整數',
+ 'configuration_cron_order_overdue_day_cannot_empty' => '訂單未付款通知天數大於或等於0的整數',
+ 'configuration_cron_order_unpaid_delete_day_cannot_empty' => '訂單未付款自動刪除天數大於或等於0的整數',
+ 'configuration_cron_due_suspend_swhitch' => '產品到期暫停開關值只能是1或0',
+ 'configuration_cron_due_unsuspend_swhitch' => '自動解除暫停開關值只能是1或0',
+ 'configuration_cron_due_terminate_swhitch' => '產品到期刪除開關值只能是1或0',
+ 'configuration_cron_due_renewal_first_swhitch' => '續費第一次提醒開關值只能是1或0',
+ 'configuration_cron_due_renewal_second_swhitch' => '續費第二次提醒開關值只能是1或0',
+ 'configuration_cron_overdue_first_swhitch' => '產品逾期第一次提醒開關值只能是1或0',
+ 'configuration_cron_overdue_second_swhitch' => '產品逾期第二次提醒開關值只能是1或0',
+ 'configuration_cron_overdue_third_swhitch' => '產品逾期第三次提醒開關值只能是1或0',
+ 'configuration_cron_ticket_close_swhitch' => '自動關閉工單開關值只能是1或0',
+ 'configuration_cron_aff_swhitch' => '推介月報開關值只能是1或0',
+ 'configuration_cron_order_overdue_swhitch' => '訂單未付款通知開關值只能是1或0',
+ 'configuration_cron_order_unpaid_delete_swhitch' => '訂單自動刪除開關值只能是1或0',
+
+ 'configuration_cron_suspend_day_less_terminate_day' => '產品到期暫停天數應小於產品到期刪除天數',
+ 'configuration_cron_renewal_first_day_less_renewal_second_day' => '第一次續費提醒天數應大於第二次續費提醒天數',
+ 'configuration_cron_overdue_day_less_terminate_day' => '第一次逾期提醒天數應小於第二次逾期提醒天數小於第三次逾期提醒天數小於產品到期刪除天數',
+
+ # 主題設置
+ 'configuration_theme_admin_theme_cannot_empty' => '後台主題不能為空',
+ 'configuration_theme_admin_theme_cannot_error' => '後台主題錯誤',
+ 'configuration_theme_clientarea_theme_cannot_empty' => '會員中心主題不能為空',
+ 'configuration_theme_clientarea_theme_cannot_error' => '會員中心主題錯誤',
+ 'configuration_theme_web_theme_cannot_empty' => '官網主題不能為空',
+ 'configuration_theme_web_theme_cannot_error' => '官網主題錯誤',
+
+ # 實名設置
+ 'configuration_certification_open_require' => '實名認證是否開啟必填',
+ 'configuration_certification_approval_require' => '人工複審必填',
+ 'configuration_certification_notice_require' => '審批通過後,是否通知客戶必填',
+ 'configuration_certification_update_client_name_require' => '是否自動更新姓名必填',
+ 'configuration_certification_upload_require' => '是否需要上傳證件照必填',
+ 'configuration_certification_update_client_phone_require' => '手機一致性必填',
+ 'configuration_certification_uncertified_suspended_host_require' => '未認證暫停產品必填',
+
+
+ # 管理員與管理員分組
+ 'super_admin_cannot_delete' => '超級管理員不可刪除',
+ 'super_admin_cannot_opreate' => '超級管理員不可操作',
+ 'super_admin_role_cannot_delete' => '超級管理員分組不可刪除',
+ 'admin_is_not_exist' => '管理員不存在',
+ 'admin_password_is_same' => '新舊密碼一樣',
+ 'admin_role_name_cannot_empty' => '管理員分組名稱不能為空',
+ 'admin_role_name_at_least_1_chars' => '管理員分組名稱至少1個字符',
+ 'admin_role_name_cannot_exceed_50_chars' => '管理員分組名稱最多不能超過50個字符',
+ 'admin_role_description_cannot_exceed_1_chars' => '管理員分組描述至少1個字符',
+ 'admin_role_description_cannot_exceed_1000_chars' => '管理員分組描述最多不能超過1000個字符',
+ 'admin_role_create_success' => '已成功添加管理員分組',
+ 'admin_role_is_not_exist' => '管理員分組不存在',
+ 'admin_role_has_admin_cannot_delete' => '管理員分組下有管理員,無法刪除',
+ 'please_enter_admin_name' => '請填寫管理員用戶名',
+ 'admin_name_at_least_1_chars' => '管理員用戶名至少1個字符',
+ 'admin_name_cannot_exceed_50_chars' => '管理員用戶名最多不能超過50個字符',
+ 'admin_name_unique' => '管理員用戶名已存在',
+ 'admin_email_unique' => '管理員郵箱已存在',
+ 'please_enter_admin_nickname' => '請輸入管理員名稱',
+ 'admin_nickname_cannot_exceed_20_chars' => '管理員名稱最多不能超過20個字符',
+ 'admin_nickname_at_least_1_chars' => '管理員名稱至少1個字符',
+ 'admin_is_disabled' => '管理員已被禁用',
+ 'admin_name_or_password_error' => '賬號或密碼錯誤',
+ 'auth_error' => '權限錯誤',
+ 'supper_admin_cannot_update_role' => '不可修改超級管理員所屬分組',
+ 'default_admin_role_cannot_update' => '默認管理員分組不可修改',
+
+ # 插件
+ 'plugin_is_not_exist' => '插件不存在',
+ 'plugin_is_installed' => '插件已安裝',
+ 'plugin_information_is_missing' => '插件信息缺失',
+ 'plugin_install_success' => '插件安裝成功',
+ 'plugin_install_fail' => '插件安裝失敗',
+ 'plugin_pre_install_fail' => '插件預安裝失敗',
+ 'plugin_uninstall_success' => '插件卸載成功',
+ 'plugin_uninstall_fail' => '插件卸載失敗',
+ 'plugin_uninstall_pre_fail' => '插件預卸載失敗',
+ 'plugin_uninstall_cannot' => '默認插件不能卸載',
+ 'plugin_disabled_cannot' => '默認插件不能禁用',
+ 'plugin_upgrade_pre_fail' => '插件預升級失敗',
+ 'plugin_upgrade_success' => '插件升級成功',
+ 'plugin_upgrade_fail' => '插件升級失敗',
+ 'plugin_version_information_is_missing' => '插件版本信息缺失',
+ 'plugin_can_not_upgrade' => '插件不可升級',
+ 'plugin_new_version_get_fail' => '插件最新版本獲取失敗',
+
+ # 商品與商品分組
+ 'product_group_is_not_exist' => '商品分組不存在',
+ 'please_enter_product_group_name' => '請填寫商品分組名稱',
+ 'product_group_name_cannot_exceed_100_chars' => '商品分組名稱最多不能超過100個字符',
+ 'product_group_has_son_cannot_delete' => '商品分組下存在子分組,不可刪除',
+ 'product_group_has_product_cannot_delete' => '商品分組下存在商品,不可刪除',
+ 'please_enter_product_group_first' => '請傳入一級分組ID',
+ 'please_select_product_group_second' => '請選擇商品二級分組',
+ 'please_enter_product_name' => '請填寫商品名稱',
+ 'product_name_cannot_exceed_100_chars' => '商品名稱最多不能超過100個字符',
+ 'product_is_not_exist' => '商品不存在',
+ 'product_hidden' => '商品是否隱藏只能為0或1',
+ 'product_stock_control' => '商品是否開啟庫存控制只能為0或1',
+ 'product_creating_notice_sms' => '商品開通中短信通知是否開啟只能為0或1',
+ 'product_created_notice_sms' => '商品已開通短信通知是否開啟只能為0或1',
+ 'product_creating_notice_mail' => '商品開通中郵件通知是否開啟只能為0或1',
+ 'product_created_notice_mail' => '商品已開通郵件通知是否開啟只能為0或1',
+ 'product_qty_num' => '商品庫存為自然數',
+ 'product_creating_notice_sms_cannot_use' => '開通中短信通知接口不可用',
+ 'product_created_notice_sms_cannot_use' => '已開通短信通知接口不可用',
+ 'product_creating_notice_mail_cannot_use' => '開通中通知郵件接口不可用',
+ 'product_created_notice_mail_cannot_use' => '已開通通知郵件接口不可用',
+ 'product_creating_notice_sms_api_template_is_not_exist' => '開通中短信通知模板不存在',
+ 'product_created_notice_sms_api_template_is_not_exist' => '已開通短信通知模板不存在',
+ 'product_creating_notice_mail_template_is_not_exist' => '開通中郵件通知模板不存在',
+ 'product_created_notice_mail_template_is_not_exist' => '已開通郵件通知模板不存在',
+ 'pre_product_id_require' => '移動後前一個商品ID必傳',
+ 'pre_product_id_integer' => '移動後前一個商品ID為整數',
+ 'product_group_id_require' => '移動後的商品組ID必傳',
+ 'product_group_id_integer' => '移動後的商品組ID為整數',
+ 'product_is_not_in_product_group' => '移動後的商品不在移動後商品分組下',
+ 'product_group_id_first_greater_than_0' => '一級分組ID大於0',
+ 'product_description_max' => '商品描述不超過1000個字符',
+ 'product_pay_type_require' => '商品費用類型必須',
+ 'product_pay_type_in' => '商品費用類型為free,onetime,recurring_prepayment,recurring_postpaid',
+ 'product_auto_setup_require' => '自動開通設置必須',
+ 'product_auto_setup_in' => '自動開通設置為0或1',
+ 'product_type_in' => '接口類型為server或server_group',
+ 'product_type_require' => '接口類型必須',
+ 'product_rel_id_require' => '關聯ID必須',
+ 'product_rel_id_integer' => '關聯ID只能是整數',
+ 'parent_product_id_integer' => '父級商品ID只能是整數',
+ 'product_upgrade_product_is_not_exist' => '升級商品不存在',
+ 'product_upgrade_product_cannot_self' => '升級商品不能是本商品',
+ 'parent_product_is_not_exist' => '父級商品不存在',
+ 'product_has_host' => '商品已使用,不可刪除',
+ 'pre_product_group_id_require' => '移動後前一個分組ID必傳',
+ 'pre_product_group_id_integer' => '移動後前一個分組ID為整數',
+ 'pre_first_product_group_id_require' => '移動後的一級分組ID必傳',
+ 'pre_first_product_group_id_integer' => '移動後的一級分組ID為整數',
+ 'first_product_group_is_not_exist' => '移動後的一級分組不存在',
+ 'pre_product_group_is_not_exist' => '移動後前一個分組不存在',
+ 'first_product_group_id_is_not_exist' => '一級分組不存在',
+ 'product_show_in' => '是否展示為0或1',
+ 'product_show_require' => '是否展示必須',
+ 'son_product_cannot_copy' => '子商品不支援複製',
+
+
+ # 郵件模板
+ 'email_template_is_not_exist' => '郵件模板不存在',
+ 'please_enter_email_name' => '請輸入郵件名稱',
+ 'please_enter_email_subject' => '請輸入郵件標題',
+ 'email_name_cannot_exceed_100_chars' => '郵件名稱最多不能超過100個字符',
+ 'email_subject_cannot_exceed_100_chars' => '郵件標題最多不能超過100個字符',
+ 'please_enter_email_message' => '請輸入郵件內容',
+ 'email_cannot_be_empty' => '郵箱不能為空',
+ 'email_format_error' => '郵箱格式錯誤',
+
+ # 短信模板
+ 'sms_template_log_template_id' => '短信模板ID',
+ 'sms_template_log_type' => '模板類型',
+ 'sms_template_log_type_0' => '大陸',
+ 'sms_template_log_type_1' => '國際',
+ 'sms_template_log_title' => '模板標題',
+ 'sms_template_log_content' => '模版內容',
+ 'sms_template_log_notes' => '備註',
+ 'sms_template_log_status' => '狀態',
+ 'sms_template_log_status_0' => '未提交',
+ 'sms_template_log_status_1' => '審核中',
+ 'sms_template_log_status_2' => '通過',
+ 'sms_template_log_status_3' => '未通過',
+ 'sms_template_is_not_exist' => '短信模板不存在',
+ 'sms_template_review_before_sending' => '短信模板審核通過才能發短信',
+ 'sms_template_cannot_be_modified' => '短信模板狀態審核中,不能修改',
+ 'sms_please_enter_sms_type' => '請選擇短信模板區域',
+ 'sms_type_must' => '請選擇短信模板區域只能是1或0',
+ 'sms_title_cannot_empty' => '請輸入短信標題',
+ 'sms_title_cannot_exceed_50_chars' => '短信標題最多不能超過50個字符',
+ 'sms_please_enter_content' => '請輸入短信內容',
+ 'sms_content_cannot_exceed_255_chars' => '短信內容最多不能超過255個字符',
+ 'sms_notes_cannot_exceed_1000_chars' => '短信備註最多不能超過1000個字符',
+ 'sms_please_enter_sms_status' => '請選擇短信模板狀態',
+ 'sms_status_error' => '短信模板狀態錯誤,只能是0,2,3',
+ 'sms_area_code_must_be_integer' => '短信區號必須是整數',
+ 'sms_phone_number_cannot_be_empty' => '手機號不能為空',
+ 'sms_phone_number_must_be_integer' => '手機號必須是整數',
+
+ # 短信/郵件發送
+ 'send_notice_log_sms_global_name' => '短信國際接口',
+ 'send_notice_log_sms_global_template' => '短信國際接口模板',
+ 'send_notice_log_sms_name' => '短信國內接口',
+ 'send_notice_log_sms_template' => '短信國內接口模板',
+ 'send_notice_log_email_name' => '郵件接口',
+ 'send_notice_log_email_template' => '郵件接口模板',
+ 'send_wrong_action_name' => '動作名稱錯誤',
+ 'send_sms_success' => '短信發送成功',
+ 'send_sms_error' => '短信發送失敗',
+ 'send_sms_area_code_error' => '區號錯誤',
+ 'send_sms_interface_is_not_exist' => '短信接口不存在',
+ 'send_sms_interface_not_supported' => '短信接口不支持',
+ 'send_sms_interface_is_not_exist_domestic' => '國內短信接口不存在',
+ 'send_sms_interface_is_disabled_domestic' => '國內短信接口已禁用',
+ 'send_sms_interface_not_installed_domestic' => '國內短信接口未安裝',
+ 'send_sms_interface_is_not_exist_global' => '國際短信接口不存在',
+ 'send_sms_interface_is_disabled_global' => '國際短信接口已禁用',
+ 'send_sms_interface_not_installed_global' => '國際短信接口未安裝',
+ 'send_sms_action_not_enabled' => '短信發送動作未開啟',
+ 'send_sms_interface_not_set_domestic' => '國內短信發送接口未設置',
+ 'send_sms_template_not_set_domestic' => '國內短信發送模板未設置',
+ 'send_sms_template_is_not_exist_domestic' => '國內短信模板不存在',
+ 'send_sms_interface_not_set_global' => '國際短信發送接口未設置',
+ 'send_sms_template_not_set_global' => '國際短信發送模板未設置',
+ 'send_sms_template_is_not_exist_global' => '國際短信模板不存在',
+ 'send_mail_success' => '郵件發送成功',
+ 'send_mail_error' => '郵件發送失敗',
+ 'send_mail_interface_is_not_exist' => '郵件接口不存在',
+ 'send_mail_interface_not_supported' => '郵件接口不支持',
+ 'send_mail_interface_is_disabled' => '郵件接口已禁用',
+ 'send_mail_interface_not_installed_' => '郵件接口未安裝',
+ 'send_mail_action_not_enabled' => '郵件發送動作未開啟',
+ 'send_mail_interface_not_set' => '郵件發送接口未設置',
+ 'send_mail_template_not_set' => '郵件發送模板未設置',
+ 'email_cancel_send' => '郵件取消發送',
+ 'sms_cancel_send' => '短信取消發送',
+
+
+ # 發送管理
+ 'notice_action_code'=>'驗證碼',
+ 'notice_action_client_login_success'=>'用戶登錄',
+ 'notice_action_client_register_success'=>'用戶註冊',
+ 'notice_action_client_change_phone'=>'用戶更改手機',
+ 'notice_action_client_change_email'=>'用戶更改郵箱',
+ 'notice_action_client_change_password'=>'用戶更改密碼',
+ 'notice_action_order_create'=>'訂單創建',
+ 'notice_action_host_pending'=>'產品開通中',
+ 'notice_action_host_active'=>'開通成功',
+ 'notice_action_host_suspend'=>'產品暫停通知',
+ 'notice_action_host_unsuspend'=>'產品解除暫停通知',
+ 'notice_action_host_terminate'=>'產品刪除通知',
+ 'notice_action_host_upgrad'=>'產品升降級',
+ 'notice_action_admin_create_account'=>'超級管理員添加後台管理員',
+ 'notice_action_host_renewal_first'=>'第一次續費提醒',
+ 'notice_action_host_renewal_second'=>'第二次續費提醒',
+ 'notice_action_host_overdue_first'=>'逾期付款第一次提醒',
+ 'notice_action_host_overdue_second'=>'逾期付款第二次提醒',
+ 'notice_action_host_overdue_third'=>'逾期付款第三次提醒',
+ 'notice_action_order_overdue'=>'訂單未付款通知',
+ 'notice_action_admin_order_amount'=>'訂單金額修改',
+ 'notice_action_order_pay'=>'訂單支付通知',
+ 'notice_action_order_recharge'=>'充值成功通知',
+ 'notice_setting_sms_global_template_error' => '國際短信模板ID錯誤',
+ 'notice_setting_sms_template_error' => '國內短信模板ID錯誤',
+ 'notice_setting_email_template_error' => '郵件接口模板ID錯誤',
+ 'notice_setting_sms_enable_error' => '短信啟用參數只能是1或0',
+ 'notice_setting_email_enable_error' => '郵件啟用參數只能是1或0',
+ 'notice_setting_name_not_exist' => '動作名稱不能為空',
+
+ # 接口管理
+ 'module_error' => '模塊類型錯誤',
+ 'server_is_not_exist' => '接口不存在',
+ 'server_is_used_for_host_cannot_delete' => '產品正在使用該接口,不能刪除',
+ 'server_is_used_for_product_cannot_delete' => '商品正在使用該接口,不能刪除',
+ 'please_enter_server_name' => '請填寫接口名稱',
+ 'server_name_at_least_1_chars' => '接口名稱至少1個字符',
+ 'server_name_cannot_exceed_50_chars' => '接口名稱最多不能超過50個字符',
+ 'please_select_module' => '請選擇模塊類型',
+ 'module_at_least_1_chars' => '模塊類型至少1個字符',
+ 'module_cannot_exceed_100_chars' => '模塊類型最多不能超過100個字符',
+ 'please_enter_url' => '請填寫地址',
+ 'please_enter_an_right_url' => '請輸入正確的地址',
+ 'server_username_cannot_exceed_100_chars' => '用戶名最多不能超過100個字符',
+ 'server_password_cannot_exceed_100_chars' => '密碼最多不能超過100個字符',
+ 'server_status_only_zero_or_one' => '是否啟用只能是0或1',
+ 'select_server_used_or_not_found' => '所選接口已使用或不存在',
+ 'select_server_module_is_different' => '所選接口模塊不同',
+ 'server_group_not_found' => '接口分組不存在',
+ 'server_group_is_used_for_product_cannot_delete' => '商品正在使用該接口分組,不能刪除',
+ 'server_group_have_server_cannot_delete' => '該分組下有接口則不能刪除分組',
+ 'please_enter_server_group_name' => '請輸入接口分組名稱',
+ 'server_group_name_at_least_1_chars' => '接口分組名稱至少1個字符',
+ 'server_group_name_cannot_exceed_50_chars' => '接口分組名稱最多不能超過50個字符',
+ 'please_select_server' => '請選擇接口',
+ 'server_must_be_array' => '接口只能是數組',
+ 'server_group_have_multi_server_cannot_modify_one_server_module' => '接口所屬分組有其他接口,不能修改模塊類型',
+
+ # 模塊功能
+ 'undefined_test_connect_function' => '未定義測試連接方法',
+ 'module_file_is_not_exist' => '模塊文件不存在',
+ 'module_create_success' => '開通成功',
+ 'module_create_fail' => '開通失敗',
+ 'module_suspend_success' => '暫停成功',
+ 'module_suspend_fail' => '暫停失敗',
+ 'module_unsuspend_success' => '解除暫停成功',
+ 'module_unsuspend_fail' => '解除暫停失敗',
+ 'module_cannot_find_template_file' => '模塊找不到對應模板文件',
+ 'module_res_format_error' => '模塊返回值格式錯誤',
+ 'module_operate_success' => '操作成功',
+ 'module_operate_fail' => '操作失敗',
+ 'module_test_connect_success' => '連接成功',
+ 'module_test_connect_fail' => '連接失敗',
+
+ # 系統升級
+ 'get_new_version_failed' => '未獲取到最新系統版本號,請稍後重試',
+ 'package_has_downloaded' => '安裝包已下載',
+ 'root_cannot_read_write' => '根目錄不可讀/寫',
+ 'upgrade_cannot_read_write' => '升級目錄不可讀/寫',
+ 'version_is_last' => '您的系統已經是最新版本,無需升級',
+ 'open_remote_file_failed' => '打開遠程文件失敗! ',
+ 'download_sucesss' => '已成功下載',
+ 'download_failed' => '下載壓縮包失敗',
+ 'upgrade_download_not_exist' => '當前不存在升級下載任務',
+ 'not_login_market_no_license' => '未登錄應用商店,無識別碼',
+ 'not_order_service' => '未訂購服務',
+
+ # 導航管理
+ 'nav_is_not_exist' => '默認導航不存在',
+ 'product_error' => '商品錯誤',
+ 'nav_cannot_repeat_add' => '默認導航不可重複添加',
+
+ # 首頁管理
+ 'index_view' => '首頁查看',
+ 'one_year_ago' => '一年前',
+ 'day' => '天',
+ 'hour' => '小時',
+ 'minute' => '分鐘',
+ 'ago' => '前',
+
+ # 實名認證
+ 'certification_is_not_open' => '實名認證尚未開啟',
+ 'certification_approve' => '實名認證已通過',
+ 'certification_reject' => '實名認證已駁回',
+ 'certification_person_completed' => '賬號已完成個人認證',
+ 'certification_person_uncompleted' => '賬號未完成個人認證',
+ 'certification_plugin_name_require' => '請選擇實名接口',
+ 'certification_card_name_require' => '姓名必須',
+ 'certification_card_name_max' => '姓名不超過255個字符',
+ 'certification_card_type_require' => '證件類型必須',
+ 'certification_card_type_in' => '證件類型為0或1',
+ 'certification_card_number_require' => '證件號必須',
+ 'certification_card_number_max' => '證件號不超過255個字符',
+ 'certification_company_require' => '公司名稱必須',
+ 'certification_company_max' => '公司名稱不超過255個字符',
+ 'certification_company_organ_code_require' => '公司代碼必須',
+ 'certification_company_organ_code_max' => '公司代碼不超過255個字符',
+ 'certification_company_completed' => '賬號已完成企業認證',
+ 'certification_company_pending' => '企業認證待審核,不可提交',
+ 'certification_company_post' => '企業認證已提交資料,不可提交',
+ 'certification_card_number_other_client_used' => '身份證號已被他人使用',
+ 'certification_must' => '必須',
+ 'certification_upload' => '必須上傳',
+ 'certification_file_allow' => '文件名只允許數字,字母,還有漢字',
+ 'certification_customfields_select_options' => '{title}在{options}之中',
+ 'certification_phone_consistency' => '用戶註冊手機號需與實名手機號一致',
+ 'certification_img_one' => '請上傳身份證號正面照',
+ 'certification_img_two' => '請上傳身份證號反面照',
+ 'certification_img_three' => '請上傳營業執照',
+ 'certification_info_post_again' => '請重新提交實名資料',
+ 'personal' => '個人',
+ 'company' => '公司',
+
+ # 應用接口
+ 'not_install_ioncube' => '未安裝ionCube擴展不可安裝應用',
+ 'request_fail_http_code' => '請求失敗,HTTP狀態碼:{code}',
+ 'app_install_success' => '應用安裝成功',
+ 'app_download_fail' => '應用下載失敗',
+ 'app_unzip_fail' => '應用文件解壓失敗,失敗code:{code},請到網站目錄下解壓下載的文件{file}',
+
+ #
+ 'log_module_create_account_success' => '產品{host}模塊開通成功',
+ 'log_module_create_account_failed' => '產品{host}模塊開通失敗,原因:{reason}',
+ 'log_module_suspend_account_success' => '產品{host}模塊暫停成功,暫停類型:{type},暫停原因:{reason}',
+ 'log_module_suspend_account_failed' => '產品{host}模塊暫停失敗,原因:{reason}',
+ 'log_module_unsuspend_account_success' => '產品{host}模塊取消暫停成功',
+ 'log_module_unsuspend_account_failed' => '產品{host}模塊取消暫停失敗,原因:{reason}',
+ 'log_module_terminate_account_success' => '{client}的產品{host}模組刪除成功',
+ 'log_module_terminate_account_failed' => '{client}的產品{host}模組刪除失敗,原因:{reason}',
+
+ # 退款記錄
+ 'refund_record_is_not_exist' => '退款記錄不存在',
+
+ # 供應商
+ 'supplier_is_not_exist' => '供應商不存在',
+ 'cannot_delete_supplier' => '已代理該供應商商品,不可刪除該供應商',
+
+ 'log_create_supplier' => '{admin}新增供應商{name}',
+ 'log_update_supplier' => '{admin}修改供應商{name}:{description}',
+ 'log_delete_supplier' => '{admin}刪除供應商{name}',
+ 'field_supplier_name' => '名稱',
+ 'field_supplier_url' => '接口地址',
+ 'log_supplier_token' => '密鑰變更',
+ 'log_supplier_secret' => '私鑰變更',
+ 'field_supplier_contact' => '聯繫方式',
+ 'field_supplier_notes' => '備註',
+
+ 'please_enter_supplier_name' => '請輸入供應商名稱',
+ 'supplier_name_cannot_exceed_50_chars' => '供應商名稱不能超過50個字符',
+ 'please_enter_supplier_url' => '請輸入接口地址',
+ 'supplier_url_cannot_exceed_255_chars' => '接口地址不能超過255個字符',
+ 'supplier_url_error' => '接口地址格式錯誤',
+ 'please_enter_supplier_username' => '請輸入用戶名',
+ 'supplier_username_cannot_exceed_100_chars' => '用戶名不能超過100個字符',
+ 'please_enter_supplier_token' => '請輸入API密鑰',
+ 'supplier_token_cannot_exceed_200_chars' => 'API密鑰不能超過200個字符',
+ 'please_enter_supplier_secret' => '請輸入API私鑰',
+ 'supplier_contact_cannot_exceed_1000_chars' => '聯繫方式不能超過1000個字符',
+ 'supplier_notes_cannot_exceed_1000_chars' => '備註不能超過1000個字符',
+
+ # 上游商品
+ 'upstream_product_is_not_exist' => '上游商品不存在',
+ 'agent_product_cannot_repeat_agent' => '已代理商品不可重複代理',
+ 'file_unzip_failed' => '文件解壓失敗,失敗code:{code},請到網站目錄下解壓下載的文件{file}',
+ 'resource_download_failed' => '資源下載失敗',
+ 'upstream_product_resource_get_failed' => '上游商品資源獲取失敗',
+ 'recommend_product_is_not_exist' => '推薦代理商品不存在',
+
+
+ 'log_admin_create_upstream_product' => '{admin}新增上游商品{product}',
+ 'log_admin_update_upstream_product' => '{admin}修改上游商品{product}:{description}',
+ 'log_admin_agent_upstream_product' => '{admin}代理上游商品{product}',
+ 'field_upstream_product_name' => '名稱',
+ 'field_upstream_product_auto_setup' => '自動開通',
+ 'field_upstream_product_supplier_id' => '供應商ID',
+ 'field_upstream_product_upstream_product_id' => '上游商品ID',
+ 'field_upstream_product_profit_percent' => '利潤百分比',
+ 'field_upstream_product_certification' => '本地實名認證',
+
+ 'supplier_id_error' => '供應商ID錯誤',
+ 'upstream_product_id_error' => '上游商品ID錯誤',
+ 'please_enter_upstream_product_name' => '請輸入商品名稱',
+ 'upstream_product_name_cannot_exceed_50_chars' => '商品名稱不能超過50個字符',
+ 'please_enter_upstream_product_profit_percent' => '請輸入利潤百分比',
+ 'upstream_product_profit_percent_error' => '利潤百分比只能為0以上的數',
+ 'product_group_id_error' => '二級分組ID錯誤',
+
+ # 主題設置
+ 'please_enter_feedback_type_name' => '請輸入名稱',
+ 'feedback_type_name_cannot_exceed_255_chars' => '名稱不能超過255個字符',
+ 'please_enter_feedback_type_description' => '請輸入描述',
+ 'feedback_type_is_not_exist' => '意見反饋類型不存在',
+ 'upload_file_is_not_exist' => '上傳文件不存在',
+ 'cannot_delete_feedback_type' => '該類型已被使用不可刪除',
+ 'friendly_link_is_not_exist' => '友情鏈接不存在',
+ 'honor_is_not_exist' => '榮譽資質不存在',
+ 'partner_is_not_exist' => '合作夥伴不存在',
+
+ 'put_on_record_require' => '請輸入備案信息',
+ 'put_on_record_max' => '備案信息不能超過255個字符',
+ 'enterprise_name_require' => '請輸入企業名稱',
+ 'enterprise_name_max' => '企業名稱不能超過255個字符',
+ 'enterprise_telephone_require' => '請輸入企業電話',
+ 'enterprise_telephone_max' => '企業電話不能超過50個字符',
+ 'enterprise_mailbox_require' => '請輸入企業郵箱',
+ 'enterprise_mailbox_max' => '企業郵箱不能超過255個字符',
+ 'enterprise_qrcode_require' => '請上傳企業二維碼',
+ 'online_customer_service_link_require' => '請輸入在線客服鏈接',
+ 'please_enter_friendly_link_name' => '請輸入名稱',
+ 'friendly_link_name_cannot_exceed_100_chars' => '名稱不能超過100個字符',
+ 'please_enter_friendly_link_url' => '請輸入鏈接地址',
+ 'friendly_link_url_cannot_exceed_255_chars' => '鏈接地址不能超過255個字符',
+ 'friendly_link_url_error' => '鏈接地址格式有誤',
+ 'please_enter_honor_name' => '請輸入名稱',
+ 'honor_name_cannot_exceed_100_chars' => '名稱不能超過100個字符',
+ 'please_select_honor_image' => '請選擇圖片',
+ 'please_enter_partner_name' => '請輸入名稱',
+ 'partner_name_cannot_exceed_100_chars' => '名稱不能超過100個字符',
+ 'please_select_partner_image' => '請選擇圖片',
+ 'please_enter_partner_description' => '請輸入描述',
+ 'icp_info_require' => '請輸入ICP信息',
+ 'icp_info_max' => 'ICP信息不能超過255個字符',
+ 'icp_info_link_require' => '請輸入ICP信息跳轉鏈接',
+ 'icp_info_link_max' => 'ICP信息跳轉鏈接不能超過255個字符',
+ 'icp_info_link_error' => 'ICP信息跳轉鏈接地址格式錯誤',
+ 'public_security_network_preparation_require' => '請輸入公安網備',
+ 'public_security_network_preparation_max' => '公安網備不能超過255個字符',
+ 'public_security_network_preparation_link_require' => '請輸入公安網備跳轉鏈接',
+ 'public_security_network_preparation_link_max' => '公安網備跳轉鏈接不能超過255個字符',
+ 'public_security_network_preparation_link_error' => '公安網備跳轉鏈接地址格式錯誤',
+ 'telecom_appreciation_require' => '請輸入電信增值',
+ 'telecom_appreciation_max' => '電信增值不能超過255個字符',
+ 'copyright_info_require' => '請輸入版權信息',
+ 'copyright_info_max' => '版權信息不能超過255個字符',
+ 'official_website_logo_require' => '請上傳官網LOGO',
+ 'cloud_product_link_require' => '請輸入雲產品跳轉鏈接',
+ 'cloud_product_link_max' => '雲產品跳轉鏈接不能超過255個字符',
+ 'cloud_product_link_error' => '雲產品跳轉鏈接地址格式錯誤',
+ 'dcim_product_link_require' => '請輸入DCIM產品跳轉鏈接',
+ 'dcim_product_link_max' => 'DCIM產品跳轉鏈接不能超過255個字符',
+ 'dcim_product_link_error' => 'DCIM產品跳轉鏈接地址格式錯誤',
+
+ 'client_record_is_not_exist' => '用戶信息記錄不存在',
+ 'client_record_content_cannot_empty' => '內容不能為空',
+ 'client_record_content_cannot_exceed_300_chars' => '內容不能超過300個字符',
+ 'client_record_attachment_cannot_empty' => '請選擇附件',
+
+ 'order_description_append' => '{product_name}({name}),購買時長:{billing_cycle_name}({time})',
+
+ 'user_cannot_empty' => '用戶不能為空',
+ 'username_4_20_digits' => '用戶名4-20位',
+ 'password_cannot_empty' => '密碼不能為空',
+ 'auth_failed' => '鑑權失敗',
+ 'signature_error' => '簽名錯誤',
+ 'host_cannot_use_this_interface' => '該產品不能使用該接口',
+ 'signature_verification_failed' => '簽名驗證失敗',
+ 'sync_success' => '同步成功',
+ 'sync_failed' => '同步失敗',
+ 'failed_to_open_upstream' => '上游開通失敗',
+ 'host_name' => '主機名',
+ 'suspend_type' => '暫停類型',
+ 'suspend_reason' => '暫停原因',
+ 'change_into' => '修改為:',
+
+ 'superadmin_add_admin_send_mail' => '超級管理員添加後台管理員,發送郵件',
+ 'host_create_success_send_mail' => '產品開通成功,發送郵件',
+ 'host_create_success_send_sms' => '產品開通成功,發送短信',
+ 'host_renewal_first_send_mail' => '第一次客戶續費提醒,發送郵件',
+ 'host_renewal_first_send_sms' => '第一次客戶續費提醒,發送短信',
+ 'host_renewal_second_send_mail' => '第二次客戶續費提醒,發送郵件',
+ 'host_renewal_second_send_sms' => '第二次客戶續費提醒,發送短信',
+ 'host_overdue_first_send_mail' => '逾期付款第一次,發送郵件',
+ 'host_overdue_first_send_sms' => '逾期付款第一次,發送短信',
+ 'host_overdue_second_send_mail' => '逾期付款第二次,發送郵件',
+ 'host_overdue_second_send_sms' => '逾期付款第二次,發送短信',
+ 'host_overdue_third_send_mail' => '逾期付款第三次,發送郵件',
+ 'host_overdue_third_send_sms' => '逾期付款第三次,發送短信',
+ 'order_overdue_send_mail' => '訂單未付款通知,發送郵件',
+ 'order_overdue_send_sms' => '訂單未付款通知,發送短信',
+ 'host_suspend' => '主機暫停',
+ 'host_delete' => '主機刪除',
+ 'client_change_phone_send_sms' => '客戶更改手機成功,發送短信',
+ 'client_change_email_send_mail' => '客戶更改郵箱成功,發送郵件',
+ 'client_change_password_send_mail' => '客戶更改密碼成功,發送郵件',
+ 'client_change_password_send_sms' => '客戶更改密碼成功,發送短信',
+ 'client_phone_code_login_success_send_sms' => '手機+驗證碼登錄成功,發送短信',
+ 'client_email_password_login_success_send_mail' => '郵箱+密碼登錄成功,發送郵件',
+ 'client_phone_password_login_success_send_sms' => '手機+密碼登錄成功,發送短信',
+ 'client_sms_register_success_send_sms' => '短信註冊成功,發送短信',
+ 'client_mail_register_success_send_mail' => '郵件註冊成功,發送郵件',
+ 'host_suspend_send_mail' => '產品暫停通知,發送郵件',
+ 'host_suspend_send_sms' => '產品暫停通知,發送短信',
+ 'suspend_type_overdue' => '到期暫停',
+ 'suspend_type_overtraffic' => '超流暫停',
+ 'suspend_type_certification_not_complete' => '實名未完成',
+ 'suspend_type_other' => '其他',
+ 'cannot_unsuspend_from_upstream' => '不可解除上游發起的暫停',
+ 'host_unsuspend_send_mail' => '產品解除暫停通知,發送郵件',
+ 'host_unsuspend_send_sms' => '產品解除暫停通知,發送短信',
+ 'host_delete_send_mail' => '產品刪除通知,發送郵件',
+ 'host_delete_send_sms' => '產品刪除通知,發送短信',
+ 'host_upgrade_send_mail' => '產品升降級,發送郵件',
+ 'host_upgrade_send_sms' => '產品升降級,發送短信',
+ 'order_create_send_mail' => '訂單創建,發送郵件',
+ 'order_create_send_sms' => '訂單創建,發送短信',
+ 'admin_order_amount_send_mail' => '後台管理員調整訂單價格,發送郵件',
+ 'admin_order_amount_send_sms' => '後台管理員調整訂單價格,發送短信',
+ 'order_recharge_send_mail' => '客戶充值成功,發送郵件',
+ 'order_recharge_send_sms' => '客戶充值成功,發送短信',
+ 'order_pay_send_mail' => '客戶支付成功,發送郵件',
+ 'order_pay_send_sms' => '客戶支付成功,發送短信',
+ 'host_unsuspend' => '解除暫停',
+ 'host_creating_send_mail' => '產品開通中,發送郵件',
+ 'host_creating_send_sms' => '產品開通中,發送短信',
+ 'client_host_create' => '#用戶{client_id}#產品{host_id} — 主機創建',
+ 'client_host_upgrade' => '#用戶{client_id}#產品{host_id} — 升降級',
+
+ 'active_host_is_used_cannot_delete' => '有激活產品正在使用,不能刪除',
+ 'phone_code_error' => '國際電話區號格式錯誤',
+ 'phone_error' => '手機號格式錯誤',
+ 'widget_require' => '請選擇挂件',
+ 'widget_error' => '挂件標識錯誤',
+ 'host_overdue_suspend' => '產品到期暫停',
+ 'network_desertion' => '網絡開小差',
+ 'api_account_or_password_error' => 'API賬號或密碼錯誤',
+ 'module_format_error' => '模塊格式錯誤',
+ 'module_or_function_is_not_exist' => '模塊或方法不存在',
+
+ 'price' => '價格',
+ 'purchase_duration' => '購買時長',
+
+ #掛件
+ 'widget_not_found' => '掛件不存在',
+ 'widget_validate_widget_require' => '請選擇掛件',
+ 'widget_validate_widget_error' => '掛件識別錯誤',
+ 'widget_validate_status_param_error' => '顯示狀態參數錯誤',
+
+ 'log_pay_tmp_order_miss' => '{tem_order_id}暫存訂單缺失',
+ 'log_pay_order_miss' => '{order_id}訂單缺失',
+
+ 'upstream_host_is_not_exist' => '上游產品不存在',
+
+ # 商品週期比例
+ 'log_product_duration_ratio_change' => ',週期{name}比例從{old}改為{new}',
+ 'please_input_all_duration_ratio' => '請輸入所有周期比例',
+ 'log_save_product_duration_ratio' => '儲存商品週期比例成功,商品:{product}{detail}',
+ 'please_set_duration_ratio_first' => '請先設定週期比例',
+ 'please_set_at_lease_one_price' => '請至少設定一個價格',
+ 'validate_product_duration_ratio_ratio_require' => '請輸入比例',
+ 'validate_product_duration_ratio_price_require' => '請輸入價格',
+ 'validate_product_duration_ratio_ratio_format_error' => '比例只能是大於0且小於10000的數字',
+ 'validate_product_duration_ratio_price_format_error' => '價格只能是0-99999999的數字',
+];
diff --git a/10.3.4/public/admin/template/default/404.php b/10.3.5/public/admin/template/default/404.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/404.php
rename to 10.3.5/public/admin/template/default/404.php
diff --git a/10.3.4/public/admin/template/default/admin.php b/10.3.5/public/admin/template/default/admin.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/admin.php
rename to 10.3.5/public/admin/template/default/admin.php
diff --git a/10.3.4/public/admin/template/default/admin_role.php b/10.3.5/public/admin/template/default/admin_role.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/admin_role.php
rename to 10.3.5/public/admin/template/default/admin_role.php
diff --git a/10.3.4/public/admin/template/default/agentList.php b/10.3.5/public/admin/template/default/agentList.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/agentList.php
rename to 10.3.5/public/admin/template/default/agentList.php
diff --git a/10.3.4/public/admin/template/default/api/addon.js b/10.3.5/public/admin/template/default/api/addon.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/addon.js
rename to 10.3.5/public/admin/template/default/api/addon.js
diff --git a/10.3.4/public/admin/template/default/api/childAccount.js b/10.3.5/public/admin/template/default/api/childAccount.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/childAccount.js
rename to 10.3.5/public/admin/template/default/api/childAccount.js
diff --git a/10.3.4/public/admin/template/default/api/client.js b/10.3.5/public/admin/template/default/api/client.js
similarity index 98%
rename from 10.3.4/public/admin/template/default/api/client.js
rename to 10.3.5/public/admin/template/default/api/client.js
index e1d210ab..4bf987fa 100644
--- a/10.3.4/public/admin/template/default/api/client.js
+++ b/10.3.5/public/admin/template/default/api/client.js
@@ -355,3 +355,7 @@ function changeResource (type,params) {
function getResourceStatus(params) {
return Axios.get(`/manual_resource/${params.id}/status`);
}
+// 供应商列表
+function ApiSupplier(params) {
+ return Axios.get(`/manual_resource/supplier`, { params })
+}
diff --git a/10.3.4/public/admin/template/default/api/common.js b/10.3.5/public/admin/template/default/api/common.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/common.js
rename to 10.3.5/public/admin/template/default/api/common.js
diff --git a/10.3.4/public/admin/template/default/api/customerService.js b/10.3.5/public/admin/template/default/api/customerService.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/customerService.js
rename to 10.3.5/public/admin/template/default/api/customerService.js
diff --git a/10.3.4/public/admin/template/default/api/home.js b/10.3.5/public/admin/template/default/api/home.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/home.js
rename to 10.3.5/public/admin/template/default/api/home.js
diff --git a/10.3.4/public/admin/template/default/api/index.js b/10.3.5/public/admin/template/default/api/index.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/index.js
rename to 10.3.5/public/admin/template/default/api/index.js
diff --git a/10.3.4/public/admin/template/default/api/install.js b/10.3.5/public/admin/template/default/api/install.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/install.js
rename to 10.3.5/public/admin/template/default/api/install.js
diff --git a/10.3.4/public/admin/template/default/api/invoice.js b/10.3.5/public/admin/template/default/api/invoice.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/invoice.js
rename to 10.3.5/public/admin/template/default/api/invoice.js
diff --git a/10.3.4/public/admin/template/default/api/manage.js b/10.3.5/public/admin/template/default/api/manage.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/manage.js
rename to 10.3.5/public/admin/template/default/api/manage.js
diff --git a/10.3.4/public/admin/template/default/api/navigation.js b/10.3.5/public/admin/template/default/api/navigation.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/navigation.js
rename to 10.3.5/public/admin/template/default/api/navigation.js
diff --git a/10.3.4/public/admin/template/default/api/product.js b/10.3.5/public/admin/template/default/api/product.js
similarity index 95%
rename from 10.3.4/public/admin/template/default/api/product.js
rename to 10.3.5/public/admin/template/default/api/product.js
index c2626ed4..eafa4563 100644
--- a/10.3.4/public/admin/template/default/api/product.js
+++ b/10.3.5/public/admin/template/default/api/product.js
@@ -25,7 +25,7 @@ function getAddon(params) {
return Axios.get(`/active_plugin`, { params });
}
-// 选择接口获取配置
+// 选择接口获取配置
function getProductConfig(id, params) {
return Axios.get(`/product/${id}/server/config_option`, { params })
}
@@ -116,4 +116,9 @@ function getGroup(params) {
// 保存可代理商品
function agentable(params) {
return Axios.put(`/product/agentable`, params)
-}
\ No newline at end of file
+}
+
+// 复制商品
+function copyProduct(params) {
+ return Axios.post(`/product/${params.id}/copy`, params)
+}
diff --git a/10.3.4/public/admin/template/default/api/rc.js b/10.3.5/public/admin/template/default/api/rc.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/rc.js
rename to 10.3.5/public/admin/template/default/api/rc.js
diff --git a/10.3.4/public/admin/template/default/api/real_name.js b/10.3.5/public/admin/template/default/api/real_name.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/real_name.js
rename to 10.3.5/public/admin/template/default/api/real_name.js
diff --git a/10.3.4/public/admin/template/default/api/recording1559.js b/10.3.5/public/admin/template/default/api/recording1559.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/recording1559.js
rename to 10.3.5/public/admin/template/default/api/recording1559.js
diff --git a/10.3.4/public/admin/template/default/api/setting.js b/10.3.5/public/admin/template/default/api/setting.js
similarity index 96%
rename from 10.3.4/public/admin/template/default/api/setting.js
rename to 10.3.5/public/admin/template/default/api/setting.js
index e021dc66..4178b031 100644
--- a/10.3.4/public/admin/template/default/api/setting.js
+++ b/10.3.5/public/admin/template/default/api/setting.js
@@ -228,5 +228,15 @@ function getDebugConfig () {
return Axios.get(`/configuration/debug`)
}
function updateDebugConfig (params) {
- return Axios.put(`configuration/debug`, params)
+ return Axios.put(`/configuration/debug`, params)
+}
+
+// 更新识别码
+function updateLicense () {
+ return Axios.get('/system/auth')
+}
+
+// 更换识别码
+function changeLicense (params) {
+ return Axios.put(`/system/license`, params)
}
diff --git a/10.3.4/public/admin/template/default/api/system.js b/10.3.5/public/admin/template/default/api/system.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/system.js
rename to 10.3.5/public/admin/template/default/api/system.js
diff --git a/10.3.4/public/admin/template/default/api/upstream.js b/10.3.5/public/admin/template/default/api/upstream.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/upstream.js
rename to 10.3.5/public/admin/template/default/api/upstream.js
diff --git a/10.3.4/public/admin/template/default/api/withdrawal.js b/10.3.5/public/admin/template/default/api/withdrawal.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/api/withdrawal.js
rename to 10.3.5/public/admin/template/default/api/withdrawal.js
diff --git a/10.3.4/public/admin/template/default/captcha.php b/10.3.5/public/admin/template/default/captcha.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/captcha.php
rename to 10.3.5/public/admin/template/default/captcha.php
diff --git a/10.3.4/public/admin/template/default/childAccount.php b/10.3.5/public/admin/template/default/childAccount.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/childAccount.php
rename to 10.3.5/public/admin/template/default/childAccount.php
diff --git a/10.3.4/public/admin/template/default/child_server.php b/10.3.5/public/admin/template/default/child_server.php
similarity index 98%
rename from 10.3.4/public/admin/template/default/child_server.php
rename to 10.3.5/public/admin/template/default/child_server.php
index 0f7b7b52..05dcb5e9 100644
--- a/10.3.4/public/admin/template/default/child_server.php
+++ b/10.3.5/public/admin/template/default/child_server.php
@@ -130,8 +130,8 @@
-
-
+
+
diff --git a/10.3.4/public/admin/template/default/child_server_group.php b/10.3.5/public/admin/template/default/child_server_group.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/child_server_group.php
rename to 10.3.5/public/admin/template/default/child_server_group.php
diff --git a/10.3.4/public/admin/template/default/client.php b/10.3.5/public/admin/template/default/client.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client.php
rename to 10.3.5/public/admin/template/default/client.php
diff --git a/10.3.4/public/admin/template/default/client_detail.php b/10.3.5/public/admin/template/default/client_detail.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_detail.php
rename to 10.3.5/public/admin/template/default/client_detail.php
diff --git a/10.3.4/public/admin/template/default/client_host.php b/10.3.5/public/admin/template/default/client_host.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_host.php
rename to 10.3.5/public/admin/template/default/client_host.php
diff --git a/10.3.4/public/admin/template/default/client_log.php b/10.3.5/public/admin/template/default/client_log.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_log.php
rename to 10.3.5/public/admin/template/default/client_log.php
diff --git a/10.3.4/public/admin/template/default/client_notice_email.php b/10.3.5/public/admin/template/default/client_notice_email.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_notice_email.php
rename to 10.3.5/public/admin/template/default/client_notice_email.php
diff --git a/10.3.4/public/admin/template/default/client_notice_sms.php b/10.3.5/public/admin/template/default/client_notice_sms.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_notice_sms.php
rename to 10.3.5/public/admin/template/default/client_notice_sms.php
diff --git a/10.3.4/public/admin/template/default/client_order.php b/10.3.5/public/admin/template/default/client_order.php
similarity index 92%
rename from 10.3.4/public/admin/template/default/client_order.php
rename to 10.3.5/public/admin/template/default/client_order.php
index f49140b8..9d1dcde4 100644
--- a/10.3.4/public/admin/template/default/client_order.php
+++ b/10.3.5/public/admin/template/default/client_order.php
@@ -133,22 +133,27 @@
-
-
- {{row.gateway}}
+
+ --
-
-
-
- {{lang.credit}}
-
- {{row.gateway ? '+ ' + row.gateway: '' }}
-
-
-
- {{lang.credit}}
+
+
+
+ {{row.gateway}}
+
+
+
+
+ {{lang.balance_pay}}
+
+ {{row.gateway ? '+ ' + row.gateway: '' }}
+
+
+
+ {{lang.balance_pay}}
+
diff --git a/10.3.4/public/admin/template/default/client_records.php b/10.3.5/public/admin/template/default/client_records.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_records.php
rename to 10.3.5/public/admin/template/default/client_records.php
diff --git a/10.3.4/public/admin/template/default/client_transaction.php b/10.3.5/public/admin/template/default/client_transaction.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/client_transaction.php
rename to 10.3.5/public/admin/template/default/client_transaction.php
diff --git a/10.3.4/public/admin/template/default/configuration_currency.php b/10.3.5/public/admin/template/default/configuration_currency.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/configuration_currency.php
rename to 10.3.5/public/admin/template/default/configuration_currency.php
diff --git a/10.3.4/public/admin/template/default/configuration_debug.php b/10.3.5/public/admin/template/default/configuration_debug.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/configuration_debug.php
rename to 10.3.5/public/admin/template/default/configuration_debug.php
diff --git a/10.3.4/public/admin/template/default/configuration_login.php b/10.3.5/public/admin/template/default/configuration_login.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/configuration_login.php
rename to 10.3.5/public/admin/template/default/configuration_login.php
diff --git a/10.3.4/public/admin/template/default/configuration_security.php b/10.3.5/public/admin/template/default/configuration_security.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/configuration_security.php
rename to 10.3.5/public/admin/template/default/configuration_security.php
diff --git a/10.3.4/public/admin/template/default/configuration_system.php b/10.3.5/public/admin/template/default/configuration_system.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/configuration_system.php
rename to 10.3.5/public/admin/template/default/configuration_system.php
diff --git a/10.3.4/public/admin/template/default/configuration_theme.php b/10.3.5/public/admin/template/default/configuration_theme.php
similarity index 92%
rename from 10.3.4/public/admin/template/default/configuration_theme.php
rename to 10.3.5/public/admin/template/default/configuration_theme.php
index 51ce303f..a46a66d6 100644
--- a/10.3.4/public/admin/template/default/configuration_theme.php
+++ b/10.3.5/public/admin/template/default/configuration_theme.php
@@ -46,7 +46,11 @@
-
+
+ {{lang.official_theme}}
+
+
+
-
@@ -70,4 +74,4 @@
-{include file="footer"}
+{include file="footer"}
\ No newline at end of file
diff --git a/10.3.4/public/admin/template/default/configuration_upgrade.php b/10.3.5/public/admin/template/default/configuration_upgrade.php
similarity index 77%
rename from 10.3.4/public/admin/template/default/configuration_upgrade.php
rename to 10.3.5/public/admin/template/default/configuration_upgrade.php
index 83dc10a2..f25c5b93 100644
--- a/10.3.4/public/admin/template/default/configuration_upgrade.php
+++ b/10.3.5/public/admin/template/default/configuration_upgrade.php
@@ -46,6 +46,8 @@
{{lang.upload_text7}}:
{{systemData.license || lang.upload_text9}}
+
{{lang.upload_text10}}
+
{{lang.upload_text11}}
@@ -73,6 +75,21 @@
+
+
+
+ {{domain}}
+ {{systemData.license || lang.upload_text9}}
+
+
+
+
+ {{lang.hold}}
+ {{lang.cancel}}
+
+
+
+
diff --git a/10.3.4/public/admin/template/default/consult.php b/10.3.5/public/admin/template/default/consult.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/consult.php
rename to 10.3.5/public/admin/template/default/consult.php
diff --git a/10.3.4/public/admin/template/default/create_order.php b/10.3.5/public/admin/template/default/create_order.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/create_order.php
rename to 10.3.5/public/admin/template/default/create_order.php
diff --git a/10.3.4/public/admin/template/default/cron.php b/10.3.5/public/admin/template/default/cron.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/cron.php
rename to 10.3.5/public/admin/template/default/cron.php
diff --git a/10.3.4/public/admin/template/default/css/addon.css b/10.3.5/public/admin/template/default/css/addon.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/addon.css
rename to 10.3.5/public/admin/template/default/css/addon.css
diff --git a/10.3.4/public/admin/template/default/css/addon.less b/10.3.5/public/admin/template/default/css/addon.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/addon.less
rename to 10.3.5/public/admin/template/default/css/addon.less
diff --git a/10.3.4/public/admin/template/default/css/childAccount.css b/10.3.5/public/admin/template/default/css/childAccount.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/childAccount.css
rename to 10.3.5/public/admin/template/default/css/childAccount.css
diff --git a/10.3.4/public/admin/template/default/css/childAccount.less b/10.3.5/public/admin/template/default/css/childAccount.less
similarity index 99%
rename from 10.3.4/public/admin/template/default/css/childAccount.less
rename to 10.3.5/public/admin/template/default/css/childAccount.less
index b617ea95..09b025f4 100644
--- a/10.3.4/public/admin/template/default/css/childAccount.less
+++ b/10.3.5/public/admin/template/default/css/childAccount.less
@@ -7,11 +7,13 @@
padding-bottom: 0;
min-height: calc(100% - 72px);
}
+
.childAccount-box {
height: 100%;
background-color: #fff;
padding: 24px;
width: 100%;
+
// padding: 10px;
.title {
font-size: 18px;
@@ -25,10 +27,12 @@
border-left: 3px solid #0058ff;
margin-bottom: 20px;
}
+
.top {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
+
.bom {
display: grid;
grid-template-columns: 1fr;
@@ -37,9 +41,11 @@
.tree-box {
margin-top: 40px;
display: flex;
+
.t-form__item {
width: 75%;
}
+
.tree-title {
font-size: 16px;
font-family: PingFang SC;
@@ -48,6 +54,7 @@
color: #1e2736;
margin-right: 20px;
}
+
.tree {
flex: 1;
// height: 600px;
@@ -55,12 +62,14 @@
opacity: 1;
border-radius: 3px;
display: flex;
+
.tree-left {
box-sizing: border-box;
padding: 0 20px;
width: 50%;
border-right: 1px solid #e6e7eb;
}
+
.tree-right {
box-sizing: border-box;
padding: 0 20px;
@@ -70,19 +79,23 @@
}
}
}
+
footer {
display: flex;
justify-content: flex-end;
margin: 15px 0;
+
:nth-child(2) {
margin-left: 20px;
}
}
+
.t-form__item {
margin-right: 16px;
}
+
.t-form__label--left {
font-size: 16px;
color: #1e2736;
}
-}
+}
\ No newline at end of file
diff --git a/10.3.4/public/admin/template/default/css/client.css b/10.3.5/public/admin/template/default/css/client.css
similarity index 98%
rename from 10.3.4/public/admin/template/default/css/client.css
rename to 10.3.5/public/admin/template/default/css/client.css
index 0123ef0a..ee397720 100644
--- a/10.3.4/public/admin/template/default/css/client.css
+++ b/10.3.5/public/admin/template/default/css/client.css
@@ -644,6 +644,19 @@
margin-left: 20px;
margin-right: 0;
}
+.host-detail .left-search {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ column-gap: 10px;
+ margin-bottom: 20px;
+}
+.host-detail .left-search .t-select__wrap {
+ width: auto;
+}
+.host-detail .left-search .t-input__wrap {
+ width: 220px;
+}
.com-no-child {
margin-left: 5px !important;
}
@@ -666,7 +679,11 @@
z-index: 2;
}
.module-opt .t-button {
- margin-right: 20px;
+ margin-left: 20px;
+}
+.module-opt .left,
+.module-opt .right {
+ margin-left: -20px;
}
.pack-tip {
font-size: 16px;
@@ -970,6 +987,3 @@
.isEn .client .t-form .t-form__label {
width: 180px !important;
}
-.t-popup__content {
- white-space: pre-wrap;
-}
diff --git a/10.3.4/public/admin/template/default/css/client.less b/10.3.5/public/admin/template/default/css/client.less
similarity index 98%
rename from 10.3.4/public/admin/template/default/css/client.less
rename to 10.3.5/public/admin/template/default/css/client.less
index 90d196f5..29ce6478 100644
--- a/10.3.4/public/admin/template/default/css/client.less
+++ b/10.3.5/public/admin/template/default/css/client.less
@@ -895,6 +895,19 @@
margin-right: 0;
}
}
+ .left-search{
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ column-gap: 10px;
+ margin-bottom: 20px;
+ .t-select__wrap{
+ width: auto;
+ }
+ .t-input__wrap{
+ width: 220px;
+ }
+ }
}
.com-no-child {
@@ -928,7 +941,10 @@
}
.t-button {
- margin-right: 20px;
+ margin-left: 20px;
+ }
+ .left,.right{
+ margin-left: -20px;
}
}
@@ -1325,6 +1341,6 @@
}
}
}
-.t-popup__content{
- white-space: pre-wrap;
-}
+// .t-popup__content{
+// white-space: pre-wrap;
+// }
diff --git a/10.3.4/public/admin/template/default/css/common/reset.css b/10.3.5/public/admin/template/default/css/common/reset.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/common/reset.css
rename to 10.3.5/public/admin/template/default/css/common/reset.css
diff --git a/10.3.4/public/admin/template/default/css/common/reset.less b/10.3.5/public/admin/template/default/css/common/reset.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/common/reset.less
rename to 10.3.5/public/admin/template/default/css/common/reset.less
diff --git a/10.3.4/public/admin/template/default/css/common/tdesign.min.css b/10.3.5/public/admin/template/default/css/common/tdesign.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/common/tdesign.min.css
rename to 10.3.5/public/admin/template/default/css/common/tdesign.min.css
diff --git a/10.3.4/public/admin/template/default/css/common/viewer.min.css b/10.3.5/public/admin/template/default/css/common/viewer.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/common/viewer.min.css
rename to 10.3.5/public/admin/template/default/css/common/viewer.min.css
diff --git a/10.3.4/public/admin/template/default/css/customerService.css b/10.3.5/public/admin/template/default/css/customerService.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/customerService.css
rename to 10.3.5/public/admin/template/default/css/customerService.css
diff --git a/10.3.5/public/admin/template/default/css/dist/childAccount.css b/10.3.5/public/admin/template/default/css/dist/childAccount.css
new file mode 100644
index 00000000..882e18b8
--- /dev/null
+++ b/10.3.5/public/admin/template/default/css/dist/childAccount.css
@@ -0,0 +1,84 @@
+.content-box {
+ padding: 24px;
+ padding-top: 56px;
+ display: flex;
+ position: relative;
+ box-sizing: border-box;
+ padding-bottom: 0;
+ min-height: calc(100% - 72px);
+}
+.childAccount-box {
+ height: 100%;
+ background-color: #fff;
+ padding: 24px;
+ width: 100%;
+}
+.childAccount-box .title {
+ font-size: 18px;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 25px;
+ color: #1e2736;
+ padding-left: 10px;
+ display: flex;
+ align-items: center;
+ border-left: 3px solid #0058ff;
+ margin-bottom: 20px;
+}
+.childAccount-box .top {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+}
+.childAccount-box .bom {
+ display: grid;
+ grid-template-columns: 1fr;
+}
+.childAccount-box .tree-box {
+ margin-top: 40px;
+ display: flex;
+}
+.childAccount-box .tree-box .t-form__item {
+ width: 75%;
+}
+.childAccount-box .tree-box .tree-title {
+ font-size: 16px;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 22px;
+ color: #1e2736;
+ margin-right: 20px;
+}
+.childAccount-box .tree-box .tree {
+ flex: 1;
+ border: 1px solid #e6e7eb;
+ opacity: 1;
+ border-radius: 3px;
+ display: flex;
+}
+.childAccount-box .tree-box .tree .tree-left {
+ box-sizing: border-box;
+ padding: 0 20px;
+ width: 50%;
+ border-right: 1px solid #e6e7eb;
+}
+.childAccount-box .tree-box .tree .tree-right {
+ box-sizing: border-box;
+ padding: 0 20px;
+ width: 600px;
+ border-left: 1px solid #e6e7eb;
+}
+.childAccount-box footer {
+ display: flex;
+ justify-content: flex-end;
+ margin: 15px 0;
+}
+.childAccount-box footer :nth-child(2) {
+ margin-left: 20px;
+}
+.childAccount-box .t-form__item {
+ margin-right: 16px;
+}
+.childAccount-box .t-form__label--left {
+ font-size: 16px;
+ color: #1e2736;
+}
diff --git a/10.3.4/public/admin/template/default/css/invoice_address.css b/10.3.5/public/admin/template/default/css/dist/invoice_address.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_address.css
rename to 10.3.5/public/admin/template/default/css/dist/invoice_address.css
diff --git a/10.3.4/public/admin/template/default/css/home.css b/10.3.5/public/admin/template/default/css/home.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/home.css
rename to 10.3.5/public/admin/template/default/css/home.css
diff --git a/10.3.4/public/admin/template/default/css/home.less b/10.3.5/public/admin/template/default/css/home.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/home.less
rename to 10.3.5/public/admin/template/default/css/home.less
diff --git a/10.3.4/public/admin/template/default/css/index.css b/10.3.5/public/admin/template/default/css/index.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/index.css
rename to 10.3.5/public/admin/template/default/css/index.css
diff --git a/10.3.4/public/admin/template/default/css/index.less b/10.3.5/public/admin/template/default/css/index.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/index.less
rename to 10.3.5/public/admin/template/default/css/index.less
diff --git a/10.3.4/public/admin/template/default/css/install.css b/10.3.5/public/admin/template/default/css/install.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/install.css
rename to 10.3.5/public/admin/template/default/css/install.css
diff --git a/10.3.5/public/admin/template/default/css/invoice_address.css b/10.3.5/public/admin/template/default/css/invoice_address.css
new file mode 100644
index 00000000..49ab3a1d
--- /dev/null
+++ b/10.3.5/public/admin/template/default/css/invoice_address.css
@@ -0,0 +1,8 @@
+.invoice-address .operation-icon {
+ font-size: 18px;
+ color: #0052D9;
+ cursor: pointer;
+}
+.t-dialog__body__icon {
+ padding-bottom: 0;
+}
diff --git a/10.3.5/public/admin/template/default/css/invoice_address.less b/10.3.5/public/admin/template/default/css/invoice_address.less
new file mode 100644
index 00000000..82f2e418
--- /dev/null
+++ b/10.3.5/public/admin/template/default/css/invoice_address.less
@@ -0,0 +1,12 @@
+.invoice-address {
+ .operation-icon {
+ font-size: 18px;
+ color: #0052D9;
+ cursor: pointer;
+ // margin-right: 15px;
+ }
+}
+
+.t-dialog__body__icon {
+ padding-bottom: 0;
+}
\ No newline at end of file
diff --git a/10.3.4/public/admin/template/default/css/invoice_config.css b/10.3.5/public/admin/template/default/css/invoice_config.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_config.css
rename to 10.3.5/public/admin/template/default/css/invoice_config.css
diff --git a/10.3.4/public/admin/template/default/css/invoice_config.less b/10.3.5/public/admin/template/default/css/invoice_config.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_config.less
rename to 10.3.5/public/admin/template/default/css/invoice_config.less
diff --git a/10.3.4/public/admin/template/default/css/invoice_system.css b/10.3.5/public/admin/template/default/css/invoice_system.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_system.css
rename to 10.3.5/public/admin/template/default/css/invoice_system.css
diff --git a/10.3.4/public/admin/template/default/css/invoice_system.less b/10.3.5/public/admin/template/default/css/invoice_system.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_system.less
rename to 10.3.5/public/admin/template/default/css/invoice_system.less
diff --git a/10.3.4/public/admin/template/default/css/invoice_title.css b/10.3.5/public/admin/template/default/css/invoice_title.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_title.css
rename to 10.3.5/public/admin/template/default/css/invoice_title.css
diff --git a/10.3.4/public/admin/template/default/css/invoice_title.less b/10.3.5/public/admin/template/default/css/invoice_title.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/invoice_title.less
rename to 10.3.5/public/admin/template/default/css/invoice_title.less
diff --git a/10.3.4/public/admin/template/default/css/login.css b/10.3.5/public/admin/template/default/css/login.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/login.css
rename to 10.3.5/public/admin/template/default/css/login.css
diff --git a/10.3.4/public/admin/template/default/css/login.less b/10.3.5/public/admin/template/default/css/login.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/login.less
rename to 10.3.5/public/admin/template/default/css/login.less
diff --git a/10.3.4/public/admin/template/default/css/manage.css b/10.3.5/public/admin/template/default/css/manage.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/manage.css
rename to 10.3.5/public/admin/template/default/css/manage.css
diff --git a/10.3.4/public/admin/template/default/css/manage.less b/10.3.5/public/admin/template/default/css/manage.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/manage.less
rename to 10.3.5/public/admin/template/default/css/manage.less
diff --git a/10.3.4/public/admin/template/default/css/navigation.css b/10.3.5/public/admin/template/default/css/navigation.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/navigation.css
rename to 10.3.5/public/admin/template/default/css/navigation.css
diff --git a/10.3.4/public/admin/template/default/css/product.css b/10.3.5/public/admin/template/default/css/product.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/product.css
rename to 10.3.5/public/admin/template/default/css/product.css
diff --git a/10.3.4/public/admin/template/default/css/product.less b/10.3.5/public/admin/template/default/css/product.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/product.less
rename to 10.3.5/public/admin/template/default/css/product.less
diff --git a/10.3.4/public/admin/template/default/css/rc_order.css b/10.3.5/public/admin/template/default/css/rc_order.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/rc_order.css
rename to 10.3.5/public/admin/template/default/css/rc_order.css
diff --git a/10.3.4/public/admin/template/default/css/rc_order.less b/10.3.5/public/admin/template/default/css/rc_order.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/rc_order.less
rename to 10.3.5/public/admin/template/default/css/rc_order.less
diff --git a/10.3.4/public/admin/template/default/css/rc_order_config.css b/10.3.5/public/admin/template/default/css/rc_order_config.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/rc_order_config.css
rename to 10.3.5/public/admin/template/default/css/rc_order_config.css
diff --git a/10.3.4/public/admin/template/default/css/rc_order_config.less b/10.3.5/public/admin/template/default/css/rc_order_config.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/rc_order_config.less
rename to 10.3.5/public/admin/template/default/css/rc_order_config.less
diff --git a/10.3.4/public/admin/template/default/css/rc_order_details.css b/10.3.5/public/admin/template/default/css/rc_order_details.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/rc_order_details.css
rename to 10.3.5/public/admin/template/default/css/rc_order_details.css
diff --git a/10.3.4/public/admin/template/default/css/rc_order_details.less b/10.3.5/public/admin/template/default/css/rc_order_details.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/rc_order_details.less
rename to 10.3.5/public/admin/template/default/css/rc_order_details.less
diff --git a/10.3.4/public/admin/template/default/css/real_name.css b/10.3.5/public/admin/template/default/css/real_name.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/real_name.css
rename to 10.3.5/public/admin/template/default/css/real_name.css
diff --git a/10.3.4/public/admin/template/default/css/recording1559.css b/10.3.5/public/admin/template/default/css/recording1559.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/recording1559.css
rename to 10.3.5/public/admin/template/default/css/recording1559.css
diff --git a/10.3.4/public/admin/template/default/css/search1559.css b/10.3.5/public/admin/template/default/css/search1559.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/search1559.css
rename to 10.3.5/public/admin/template/default/css/search1559.css
diff --git a/10.3.4/public/admin/template/default/css/setting.css b/10.3.5/public/admin/template/default/css/setting.css
similarity index 99%
rename from 10.3.4/public/admin/template/default/css/setting.css
rename to 10.3.5/public/admin/template/default/css/setting.css
index da0ce5a5..578d0537 100644
--- a/10.3.4/public/admin/template/default/css/setting.css
+++ b/10.3.5/public/admin/template/default/css/setting.css
@@ -506,6 +506,10 @@
.upgrade-box .s-item {
display: flex;
min-width: 400px;
+ align-items: center;
+}
+.upgrade-box .auth-btn {
+ margin-left: 10px;
}
@media screen and (max-width: 1400px) {
.configuration-system .special {
diff --git a/10.3.4/public/admin/template/default/css/setting.less b/10.3.5/public/admin/template/default/css/setting.less
similarity index 99%
rename from 10.3.4/public/admin/template/default/css/setting.less
rename to 10.3.5/public/admin/template/default/css/setting.less
index 1522f4ce..58d2c6b0 100644
--- a/10.3.4/public/admin/template/default/css/setting.less
+++ b/10.3.5/public/admin/template/default/css/setting.less
@@ -678,6 +678,10 @@
.s-item {
display: flex;
min-width: 400px;
+ align-items: center;
+ }
+ .auth-btn{
+ margin-left: 10px;
}
}
diff --git a/10.3.4/public/admin/template/default/css/setting1559.css b/10.3.5/public/admin/template/default/css/setting1559.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/setting1559.css
rename to 10.3.5/public/admin/template/default/css/setting1559.css
diff --git a/10.3.4/public/admin/template/default/css/supplier_list.css b/10.3.5/public/admin/template/default/css/supplier_list.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/supplier_list.css
rename to 10.3.5/public/admin/template/default/css/supplier_list.css
diff --git a/10.3.4/public/admin/template/default/css/supplier_list.less b/10.3.5/public/admin/template/default/css/supplier_list.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/supplier_list.less
rename to 10.3.5/public/admin/template/default/css/supplier_list.less
diff --git a/10.3.4/public/admin/template/default/css/system.css b/10.3.5/public/admin/template/default/css/system.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/system.css
rename to 10.3.5/public/admin/template/default/css/system.css
diff --git a/10.3.4/public/admin/template/default/css/system.less b/10.3.5/public/admin/template/default/css/system.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/system.less
rename to 10.3.5/public/admin/template/default/css/system.less
diff --git a/10.3.4/public/admin/template/default/css/template.css b/10.3.5/public/admin/template/default/css/template.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/template.css
rename to 10.3.5/public/admin/template/default/css/template.css
diff --git a/10.3.4/public/admin/template/default/css/template.less b/10.3.5/public/admin/template/default/css/template.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/template.less
rename to 10.3.5/public/admin/template/default/css/template.less
diff --git a/10.3.4/public/admin/template/default/css/theme/cyan.less b/10.3.5/public/admin/template/default/css/theme/cyan.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/cyan.less
rename to 10.3.5/public/admin/template/default/css/theme/cyan.less
diff --git a/10.3.4/public/admin/template/default/css/theme/default.less b/10.3.5/public/admin/template/default/css/theme/default.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/default.less
rename to 10.3.5/public/admin/template/default/css/theme/default.less
diff --git a/10.3.4/public/admin/template/default/css/theme/green.less b/10.3.5/public/admin/template/default/css/theme/green.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/green.less
rename to 10.3.5/public/admin/template/default/css/theme/green.less
diff --git a/10.3.4/public/admin/template/default/css/theme/index.less b/10.3.5/public/admin/template/default/css/theme/index.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/index.less
rename to 10.3.5/public/admin/template/default/css/theme/index.less
diff --git a/10.3.4/public/admin/template/default/css/theme/orange.less b/10.3.5/public/admin/template/default/css/theme/orange.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/orange.less
rename to 10.3.5/public/admin/template/default/css/theme/orange.less
diff --git a/10.3.4/public/admin/template/default/css/theme/pink.less b/10.3.5/public/admin/template/default/css/theme/pink.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/pink.less
rename to 10.3.5/public/admin/template/default/css/theme/pink.less
diff --git a/10.3.4/public/admin/template/default/css/theme/purple.less b/10.3.5/public/admin/template/default/css/theme/purple.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/purple.less
rename to 10.3.5/public/admin/template/default/css/theme/purple.less
diff --git a/10.3.4/public/admin/template/default/css/theme/red.less b/10.3.5/public/admin/template/default/css/theme/red.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/red.less
rename to 10.3.5/public/admin/template/default/css/theme/red.less
diff --git a/10.3.4/public/admin/template/default/css/theme/variables.less b/10.3.5/public/admin/template/default/css/theme/variables.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/variables.less
rename to 10.3.5/public/admin/template/default/css/theme/variables.less
diff --git a/10.3.4/public/admin/template/default/css/theme/yellow.less b/10.3.5/public/admin/template/default/css/theme/yellow.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/theme/yellow.less
rename to 10.3.5/public/admin/template/default/css/theme/yellow.less
diff --git a/10.3.4/public/admin/template/default/css/upstream_order.css b/10.3.5/public/admin/template/default/css/upstream_order.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/upstream_order.css
rename to 10.3.5/public/admin/template/default/css/upstream_order.css
diff --git a/10.3.4/public/admin/template/default/css/upstream_order.less b/10.3.5/public/admin/template/default/css/upstream_order.less
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/upstream_order.less
rename to 10.3.5/public/admin/template/default/css/upstream_order.less
diff --git a/10.3.4/public/admin/template/default/css/withdrawal.css b/10.3.5/public/admin/template/default/css/withdrawal.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/css/withdrawal.css
rename to 10.3.5/public/admin/template/default/css/withdrawal.css
diff --git a/10.3.4/public/admin/template/default/customerService.php b/10.3.5/public/admin/template/default/customerService.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/customerService.php
rename to 10.3.5/public/admin/template/default/customerService.php
diff --git a/10.3.4/public/admin/template/default/footer.php b/10.3.5/public/admin/template/default/footer.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/footer.php
rename to 10.3.5/public/admin/template/default/footer.php
diff --git a/10.3.4/public/admin/template/default/gateway.php b/10.3.5/public/admin/template/default/gateway.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/gateway.php
rename to 10.3.5/public/admin/template/default/gateway.php
diff --git a/10.3.4/public/admin/template/default/header.php b/10.3.5/public/admin/template/default/header.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/header.php
rename to 10.3.5/public/admin/template/default/header.php
diff --git a/10.3.4/public/admin/template/default/host.php b/10.3.5/public/admin/template/default/host.php
similarity index 96%
rename from 10.3.4/public/admin/template/default/host.php
rename to 10.3.5/public/admin/template/default/host.php
index e3be41db..503c55fc 100644
--- a/10.3.4/public/admin/template/default/host.php
+++ b/10.3.5/public/admin/template/default/host.php
@@ -8,7 +8,7 @@
-
+
diff --git a/10.3.4/public/admin/template/default/host_detail.php b/10.3.5/public/admin/template/default/host_detail.php
similarity index 94%
rename from 10.3.4/public/admin/template/default/host_detail.php
rename to 10.3.5/public/admin/template/default/host_detail.php
index 64974275..ff444b69 100644
--- a/10.3.4/public/admin/template/default/host_detail.php
+++ b/10.3.5/public/admin/template/default/host_detail.php
@@ -131,9 +131,12 @@
{{lang.connect}}{{lang.order}}
-
+
{{lang.connect}}{{lang.auto_order}}
+
+ {{lang.order_hosts}}
+
@@ -206,7 +209,11 @@
{{item.name}}
-
+
+
+
+
+
{{lang.distribute}}
@@ -332,7 +339,15 @@
-
+
+
+
+
+
+
+ {{lang.query}}
+
+
{{moment(row.due_time * 1000).format('YYYY/MM/DD HH:mm') }}
@@ -394,4 +409,4 @@
-{include file="footer"}
+{include file="footer"}
\ No newline at end of file
diff --git a/10.3.4/public/admin/template/default/iconfont/iconfont.css b/10.3.5/public/admin/template/default/iconfont/iconfont.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/iconfont/iconfont.css
rename to 10.3.5/public/admin/template/default/iconfont/iconfont.css
diff --git a/10.3.4/public/admin/template/default/iconfont/iconfont.json b/10.3.5/public/admin/template/default/iconfont/iconfont.json
similarity index 100%
rename from 10.3.4/public/admin/template/default/iconfont/iconfont.json
rename to 10.3.5/public/admin/template/default/iconfont/iconfont.json
diff --git a/10.3.4/public/admin/template/default/iconfont/iconfont.ttf b/10.3.5/public/admin/template/default/iconfont/iconfont.ttf
similarity index 100%
rename from 10.3.4/public/admin/template/default/iconfont/iconfont.ttf
rename to 10.3.5/public/admin/template/default/iconfont/iconfont.ttf
diff --git a/10.3.4/public/admin/template/default/iconfont/iconfont.woff b/10.3.5/public/admin/template/default/iconfont/iconfont.woff
similarity index 100%
rename from 10.3.4/public/admin/template/default/iconfont/iconfont.woff
rename to 10.3.5/public/admin/template/default/iconfont/iconfont.woff
diff --git a/10.3.4/public/admin/template/default/iconfont/iconfont.woff2 b/10.3.5/public/admin/template/default/iconfont/iconfont.woff2
similarity index 100%
rename from 10.3.4/public/admin/template/default/iconfont/iconfont.woff2
rename to 10.3.5/public/admin/template/default/iconfont/iconfont.woff2
diff --git a/10.3.4/public/admin/template/default/img/1559/edit.png b/10.3.5/public/admin/template/default/img/1559/edit.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/1559/edit.png
rename to 10.3.5/public/admin/template/default/img/1559/edit.png
diff --git a/10.3.4/public/admin/template/default/img/CN.png b/10.3.5/public/admin/template/default/img/CN.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/CN.png
rename to 10.3.5/public/admin/template/default/img/CN.png
diff --git a/10.3.4/public/admin/template/default/img/US.png b/10.3.5/public/admin/template/default/img/US.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/US.png
rename to 10.3.5/public/admin/template/default/img/US.png
diff --git a/10.3.4/public/admin/template/default/img/admin.png b/10.3.5/public/admin/template/default/img/admin.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/admin.png
rename to 10.3.5/public/admin/template/default/img/admin.png
diff --git a/10.3.4/public/admin/template/default/img/app_store/app_01.png b/10.3.5/public/admin/template/default/img/app_store/app_01.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/app_store/app_01.png
rename to 10.3.5/public/admin/template/default/img/app_store/app_01.png
diff --git a/10.3.4/public/admin/template/default/img/app_store/app_02.png b/10.3.5/public/admin/template/default/img/app_store/app_02.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/app_store/app_02.png
rename to 10.3.5/public/admin/template/default/img/app_store/app_02.png
diff --git a/10.3.4/public/admin/template/default/img/app_store/app_03.png b/10.3.5/public/admin/template/default/img/app_store/app_03.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/app_store/app_03.png
rename to 10.3.5/public/admin/template/default/img/app_store/app_03.png
diff --git a/10.3.4/public/admin/template/default/img/app_store/app_04.png b/10.3.5/public/admin/template/default/img/app_store/app_04.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/app_store/app_04.png
rename to 10.3.5/public/admin/template/default/img/app_store/app_04.png
diff --git a/10.3.4/public/admin/template/default/img/assets-login-bg-black.png b/10.3.5/public/admin/template/default/img/assets-login-bg-black.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/assets-login-bg-black.png
rename to 10.3.5/public/admin/template/default/img/assets-login-bg-black.png
diff --git a/10.3.4/public/admin/template/default/img/assets-login-bg-white.png b/10.3.5/public/admin/template/default/img/assets-login-bg-white.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/assets-login-bg-white.png
rename to 10.3.5/public/admin/template/default/img/assets-login-bg-white.png
diff --git a/10.3.4/public/admin/template/default/img/assets-setting-dark.svg b/10.3.5/public/admin/template/default/img/assets-setting-dark.svg
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/assets-setting-dark.svg
rename to 10.3.5/public/admin/template/default/img/assets-setting-dark.svg
diff --git a/10.3.4/public/admin/template/default/img/assets-setting-light.svg b/10.3.5/public/admin/template/default/img/assets-setting-light.svg
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/assets-setting-light.svg
rename to 10.3.5/public/admin/template/default/img/assets-setting-light.svg
diff --git a/10.3.4/public/admin/template/default/img/client.png b/10.3.5/public/admin/template/default/img/client.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/client.png
rename to 10.3.5/public/admin/template/default/img/client.png
diff --git a/10.3.4/public/admin/template/default/img/exec.svg b/10.3.5/public/admin/template/default/img/exec.svg
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/exec.svg
rename to 10.3.5/public/admin/template/default/img/exec.svg
diff --git a/10.3.4/public/admin/template/default/img/icon/adopt.png b/10.3.5/public/admin/template/default/img/icon/adopt.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/adopt.png
rename to 10.3.5/public/admin/template/default/img/icon/adopt.png
diff --git a/10.3.4/public/admin/template/default/img/icon/allot.png b/10.3.5/public/admin/template/default/img/icon/allot.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/allot.png
rename to 10.3.5/public/admin/template/default/img/icon/allot.png
diff --git a/10.3.4/public/admin/template/default/img/icon/artificial.png b/10.3.5/public/admin/template/default/img/icon/artificial.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/artificial.png
rename to 10.3.5/public/admin/template/default/img/icon/artificial.png
diff --git a/10.3.4/public/admin/template/default/img/icon/combine.png b/10.3.5/public/admin/template/default/img/icon/combine.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/combine.png
rename to 10.3.5/public/admin/template/default/img/icon/combine.png
diff --git a/10.3.4/public/admin/template/default/img/icon/copy.png b/10.3.5/public/admin/template/default/img/icon/copy.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/copy.png
rename to 10.3.5/public/admin/template/default/img/icon/copy.png
diff --git a/10.3.4/public/admin/template/default/img/icon/credit_limit.png b/10.3.5/public/admin/template/default/img/icon/credit_limit.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/credit_limit.png
rename to 10.3.5/public/admin/template/default/img/icon/credit_limit.png
diff --git a/10.3.4/public/admin/template/default/img/icon/disable.png b/10.3.5/public/admin/template/default/img/icon/disable.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/disable.png
rename to 10.3.5/public/admin/template/default/img/icon/disable.png
diff --git a/10.3.4/public/admin/template/default/img/icon/enable.png b/10.3.5/public/admin/template/default/img/icon/enable.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/enable.png
rename to 10.3.5/public/admin/template/default/img/icon/enable.png
diff --git a/10.3.4/public/admin/template/default/img/icon/enterprise_authentication.png b/10.3.5/public/admin/template/default/img/icon/enterprise_authentication.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/enterprise_authentication.png
rename to 10.3.5/public/admin/template/default/img/icon/enterprise_authentication.png
diff --git a/10.3.4/public/admin/template/default/img/icon/file.png b/10.3.5/public/admin/template/default/img/icon/file.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/file.png
rename to 10.3.5/public/admin/template/default/img/icon/file.png
diff --git a/10.3.4/public/admin/template/default/img/icon/free.png b/10.3.5/public/admin/template/default/img/icon/free.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/free.png
rename to 10.3.5/public/admin/template/default/img/icon/free.png
diff --git a/10.3.4/public/admin/template/default/img/icon/grant.png b/10.3.5/public/admin/template/default/img/icon/grant.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/grant.png
rename to 10.3.5/public/admin/template/default/img/icon/grant.png
diff --git a/10.3.4/public/admin/template/default/img/icon/install.png b/10.3.5/public/admin/template/default/img/icon/install.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/install.png
rename to 10.3.5/public/admin/template/default/img/icon/install.png
diff --git a/10.3.4/public/admin/template/default/img/icon/invalid.png b/10.3.5/public/admin/template/default/img/icon/invalid.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/invalid.png
rename to 10.3.5/public/admin/template/default/img/icon/invalid.png
diff --git a/10.3.4/public/admin/template/default/img/icon/lock-off.png b/10.3.5/public/admin/template/default/img/icon/lock-off.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/lock-off.png
rename to 10.3.5/public/admin/template/default/img/icon/lock-off.png
diff --git a/10.3.4/public/admin/template/default/img/icon/lock-on.png b/10.3.5/public/admin/template/default/img/icon/lock-on.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/lock-on.png
rename to 10.3.5/public/admin/template/default/img/icon/lock-on.png
diff --git a/10.3.4/public/admin/template/default/img/icon/modify.png b/10.3.5/public/admin/template/default/img/icon/modify.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/modify.png
rename to 10.3.5/public/admin/template/default/img/icon/modify.png
diff --git a/10.3.4/public/admin/template/default/img/icon/new.png b/10.3.5/public/admin/template/default/img/icon/new.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/new.png
rename to 10.3.5/public/admin/template/default/img/icon/new.png
diff --git a/10.3.4/public/admin/template/default/img/icon/no_authentication.png b/10.3.5/public/admin/template/default/img/icon/no_authentication.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/no_authentication.png
rename to 10.3.5/public/admin/template/default/img/icon/no_authentication.png
diff --git a/10.3.4/public/admin/template/default/img/icon/paid.png b/10.3.5/public/admin/template/default/img/icon/paid.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/paid.png
rename to 10.3.5/public/admin/template/default/img/icon/paid.png
diff --git a/10.3.4/public/admin/template/default/img/icon/personal_authentication.png b/10.3.5/public/admin/template/default/img/icon/personal_authentication.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/personal_authentication.png
rename to 10.3.5/public/admin/template/default/img/icon/personal_authentication.png
diff --git a/10.3.4/public/admin/template/default/img/icon/real-1.png b/10.3.5/public/admin/template/default/img/icon/real-1.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/real-1.png
rename to 10.3.5/public/admin/template/default/img/icon/real-1.png
diff --git a/10.3.4/public/admin/template/default/img/icon/real-2.png b/10.3.5/public/admin/template/default/img/icon/real-2.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/real-2.png
rename to 10.3.5/public/admin/template/default/img/icon/real-2.png
diff --git a/10.3.4/public/admin/template/default/img/icon/real-3.png b/10.3.5/public/admin/template/default/img/icon/real-3.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/real-3.png
rename to 10.3.5/public/admin/template/default/img/icon/real-3.png
diff --git a/10.3.4/public/admin/template/default/img/icon/recharge.png b/10.3.5/public/admin/template/default/img/icon/recharge.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/recharge.png
rename to 10.3.5/public/admin/template/default/img/icon/recharge.png
diff --git a/10.3.4/public/admin/template/default/img/icon/refund.png b/10.3.5/public/admin/template/default/img/icon/refund.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/refund.png
rename to 10.3.5/public/admin/template/default/img/icon/refund.png
diff --git a/10.3.4/public/admin/template/default/img/icon/reject.png b/10.3.5/public/admin/template/default/img/icon/reject.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/reject.png
rename to 10.3.5/public/admin/template/default/img/icon/reject.png
diff --git a/10.3.4/public/admin/template/default/img/icon/remittance.png b/10.3.5/public/admin/template/default/img/icon/remittance.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/remittance.png
rename to 10.3.5/public/admin/template/default/img/icon/remittance.png
diff --git a/10.3.4/public/admin/template/default/img/icon/renew.png b/10.3.5/public/admin/template/default/img/icon/renew.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/renew.png
rename to 10.3.5/public/admin/template/default/img/icon/renew.png
diff --git a/10.3.4/public/admin/template/default/img/icon/resend.png b/10.3.5/public/admin/template/default/img/icon/resend.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/resend.png
rename to 10.3.5/public/admin/template/default/img/icon/resend.png
diff --git a/10.3.4/public/admin/template/default/img/icon/setting.png b/10.3.5/public/admin/template/default/img/icon/setting.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/setting.png
rename to 10.3.5/public/admin/template/default/img/icon/setting.png
diff --git a/10.3.4/public/admin/template/default/img/icon/uninstall.png b/10.3.5/public/admin/template/default/img/icon/uninstall.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/uninstall.png
rename to 10.3.5/public/admin/template/default/img/icon/uninstall.png
diff --git a/10.3.4/public/admin/template/default/img/icon/upgrade.png b/10.3.5/public/admin/template/default/img/icon/upgrade.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/icon/upgrade.png
rename to 10.3.5/public/admin/template/default/img/icon/upgrade.png
diff --git a/10.3.4/public/admin/template/default/img/index/decline_bg.png b/10.3.5/public/admin/template/default/img/index/decline_bg.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/index/decline_bg.png
rename to 10.3.5/public/admin/template/default/img/index/decline_bg.png
diff --git a/10.3.4/public/admin/template/default/img/index/increase_bg.png b/10.3.5/public/admin/template/default/img/index/increase_bg.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/index/increase_bg.png
rename to 10.3.5/public/admin/template/default/img/index/increase_bg.png
diff --git a/10.3.4/public/admin/template/default/img/iu/cover.png b/10.3.5/public/admin/template/default/img/iu/cover.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/cover.png
rename to 10.3.5/public/admin/template/default/img/iu/cover.png
diff --git a/10.3.4/public/admin/template/default/img/iu/error.png b/10.3.5/public/admin/template/default/img/iu/error.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/error.png
rename to 10.3.5/public/admin/template/default/img/iu/error.png
diff --git a/10.3.4/public/admin/template/default/img/iu/iu-common.png b/10.3.5/public/admin/template/default/img/iu/iu-common.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/iu-common.png
rename to 10.3.5/public/admin/template/default/img/iu/iu-common.png
diff --git a/10.3.4/public/admin/template/default/img/iu/iu-config.png b/10.3.5/public/admin/template/default/img/iu/iu-config.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/iu-config.png
rename to 10.3.5/public/admin/template/default/img/iu/iu-config.png
diff --git a/10.3.4/public/admin/template/default/img/iu/iu-db.png b/10.3.5/public/admin/template/default/img/iu/iu-db.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/iu-db.png
rename to 10.3.5/public/admin/template/default/img/iu/iu-db.png
diff --git a/10.3.4/public/admin/template/default/img/iu/iu-finish.png b/10.3.5/public/admin/template/default/img/iu/iu-finish.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/iu-finish.png
rename to 10.3.5/public/admin/template/default/img/iu/iu-finish.png
diff --git a/10.3.4/public/admin/template/default/img/iu/iu-menu-left.png b/10.3.5/public/admin/template/default/img/iu/iu-menu-left.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/iu-menu-left.png
rename to 10.3.5/public/admin/template/default/img/iu/iu-menu-left.png
diff --git a/10.3.4/public/admin/template/default/img/iu/iu-welcome.png b/10.3.5/public/admin/template/default/img/iu/iu-welcome.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/iu-welcome.png
rename to 10.3.5/public/admin/template/default/img/iu/iu-welcome.png
diff --git a/10.3.4/public/admin/template/default/img/iu/right.png b/10.3.5/public/admin/template/default/img/iu/right.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/right.png
rename to 10.3.5/public/admin/template/default/img/iu/right.png
diff --git a/10.3.4/public/admin/template/default/img/iu/success.png b/10.3.5/public/admin/template/default/img/iu/success.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/success.png
rename to 10.3.5/public/admin/template/default/img/iu/success.png
diff --git a/10.3.4/public/admin/template/default/img/iu/u-menu1.png b/10.3.5/public/admin/template/default/img/iu/u-menu1.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/u-menu1.png
rename to 10.3.5/public/admin/template/default/img/iu/u-menu1.png
diff --git a/10.3.4/public/admin/template/default/img/iu/u-menu2.png b/10.3.5/public/admin/template/default/img/iu/u-menu2.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/u-menu2.png
rename to 10.3.5/public/admin/template/default/img/iu/u-menu2.png
diff --git a/10.3.4/public/admin/template/default/img/iu/u-menu3.png b/10.3.5/public/admin/template/default/img/iu/u-menu3.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/u-menu3.png
rename to 10.3.5/public/admin/template/default/img/iu/u-menu3.png
diff --git a/10.3.4/public/admin/template/default/img/iu/u-menu4.png b/10.3.5/public/admin/template/default/img/iu/u-menu4.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/u-menu4.png
rename to 10.3.5/public/admin/template/default/img/iu/u-menu4.png
diff --git a/10.3.4/public/admin/template/default/img/iu/u-menu5.png b/10.3.5/public/admin/template/default/img/iu/u-menu5.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/u-menu5.png
rename to 10.3.5/public/admin/template/default/img/iu/u-menu5.png
diff --git a/10.3.4/public/admin/template/default/img/iu/warning.png b/10.3.5/public/admin/template/default/img/iu/warning.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/iu/warning.png
rename to 10.3.5/public/admin/template/default/img/iu/warning.png
diff --git a/10.3.4/public/admin/template/default/img/logo(bd).png b/10.3.5/public/admin/template/default/img/logo(bd).png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/logo(bd).png
rename to 10.3.5/public/admin/template/default/img/logo(bd).png
diff --git a/10.3.4/public/admin/template/default/img/logo.png b/10.3.5/public/admin/template/default/img/logo.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/logo.png
rename to 10.3.5/public/admin/template/default/img/logo.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu1.png b/10.3.5/public/admin/template/default/img/menu/menu1.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu1.png
rename to 10.3.5/public/admin/template/default/img/menu/menu1.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu10.png b/10.3.5/public/admin/template/default/img/menu/menu10.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu10.png
rename to 10.3.5/public/admin/template/default/img/menu/menu10.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu11.png b/10.3.5/public/admin/template/default/img/menu/menu11.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu11.png
rename to 10.3.5/public/admin/template/default/img/menu/menu11.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu2.png b/10.3.5/public/admin/template/default/img/menu/menu2.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu2.png
rename to 10.3.5/public/admin/template/default/img/menu/menu2.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu3.png b/10.3.5/public/admin/template/default/img/menu/menu3.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu3.png
rename to 10.3.5/public/admin/template/default/img/menu/menu3.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu4.png b/10.3.5/public/admin/template/default/img/menu/menu4.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu4.png
rename to 10.3.5/public/admin/template/default/img/menu/menu4.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu5.png b/10.3.5/public/admin/template/default/img/menu/menu5.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu5.png
rename to 10.3.5/public/admin/template/default/img/menu/menu5.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu6.png b/10.3.5/public/admin/template/default/img/menu/menu6.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu6.png
rename to 10.3.5/public/admin/template/default/img/menu/menu6.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu7.png b/10.3.5/public/admin/template/default/img/menu/menu7.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu7.png
rename to 10.3.5/public/admin/template/default/img/menu/menu7.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu8.png b/10.3.5/public/admin/template/default/img/menu/menu8.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu8.png
rename to 10.3.5/public/admin/template/default/img/menu/menu8.png
diff --git a/10.3.4/public/admin/template/default/img/menu/menu9.png b/10.3.5/public/admin/template/default/img/menu/menu9.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/menu/menu9.png
rename to 10.3.5/public/admin/template/default/img/menu/menu9.png
diff --git a/10.3.4/public/admin/template/default/img/no-auth.png b/10.3.5/public/admin/template/default/img/no-auth.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/no-auth.png
rename to 10.3.5/public/admin/template/default/img/no-auth.png
diff --git a/10.3.4/public/admin/template/default/img/not_found.png b/10.3.5/public/admin/template/default/img/not_found.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/not_found.png
rename to 10.3.5/public/admin/template/default/img/not_found.png
diff --git a/10.3.4/public/admin/template/default/img/rc/operation1.png b/10.3.5/public/admin/template/default/img/rc/operation1.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/operation1.png
rename to 10.3.5/public/admin/template/default/img/rc/operation1.png
diff --git a/10.3.4/public/admin/template/default/img/rc/operation2.png b/10.3.5/public/admin/template/default/img/rc/operation2.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/operation2.png
rename to 10.3.5/public/admin/template/default/img/rc/operation2.png
diff --git a/10.3.4/public/admin/template/default/img/rc/operation3.png b/10.3.5/public/admin/template/default/img/rc/operation3.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/operation3.png
rename to 10.3.5/public/admin/template/default/img/rc/operation3.png
diff --git a/10.3.4/public/admin/template/default/img/rc/operation4.png b/10.3.5/public/admin/template/default/img/rc/operation4.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/operation4.png
rename to 10.3.5/public/admin/template/default/img/rc/operation4.png
diff --git a/10.3.4/public/admin/template/default/img/rc/operation5.png b/10.3.5/public/admin/template/default/img/rc/operation5.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/operation5.png
rename to 10.3.5/public/admin/template/default/img/rc/operation5.png
diff --git a/10.3.4/public/admin/template/default/img/rc/operation6.png b/10.3.5/public/admin/template/default/img/rc/operation6.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/operation6.png
rename to 10.3.5/public/admin/template/default/img/rc/operation6.png
diff --git a/10.3.4/public/admin/template/default/img/rc/pay.png b/10.3.5/public/admin/template/default/img/rc/pay.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/pay.png
rename to 10.3.5/public/admin/template/default/img/rc/pay.png
diff --git a/10.3.4/public/admin/template/default/img/rc/statistics-01.png b/10.3.5/public/admin/template/default/img/rc/statistics-01.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/statistics-01.png
rename to 10.3.5/public/admin/template/default/img/rc/statistics-01.png
diff --git a/10.3.4/public/admin/template/default/img/rc/statistics-02.png b/10.3.5/public/admin/template/default/img/rc/statistics-02.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/statistics-02.png
rename to 10.3.5/public/admin/template/default/img/rc/statistics-02.png
diff --git a/10.3.4/public/admin/template/default/img/rc/statistics-03.png b/10.3.5/public/admin/template/default/img/rc/statistics-03.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/statistics-03.png
rename to 10.3.5/public/admin/template/default/img/rc/statistics-03.png
diff --git a/10.3.4/public/admin/template/default/img/rc/un-pay.png b/10.3.5/public/admin/template/default/img/rc/un-pay.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/rc/un-pay.png
rename to 10.3.5/public/admin/template/default/img/rc/un-pay.png
diff --git a/10.3.4/public/admin/template/default/img/retry.svg b/10.3.5/public/admin/template/default/img/retry.svg
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/retry.svg
rename to 10.3.5/public/admin/template/default/img/retry.svg
diff --git a/10.3.4/public/admin/template/default/img/small-logo.png b/10.3.5/public/admin/template/default/img/small-logo.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/small-logo.png
rename to 10.3.5/public/admin/template/default/img/small-logo.png
diff --git "a/10.3.4/public/admin/template/default/img/small-logo\357\274\210bd\357\274\211.png" "b/10.3.5/public/admin/template/default/img/small-logo\357\274\210bd\357\274\211.png"
similarity index 100%
rename from "10.3.4/public/admin/template/default/img/small-logo\357\274\210bd\357\274\211.png"
rename to "10.3.5/public/admin/template/default/img/small-logo\357\274\210bd\357\274\211.png"
diff --git a/10.3.4/public/admin/template/default/img/stop.png b/10.3.5/public/admin/template/default/img/stop.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/stop.png
rename to 10.3.5/public/admin/template/default/img/stop.png
diff --git a/10.3.4/public/admin/template/default/img/tingyong.png b/10.3.5/public/admin/template/default/img/tingyong.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/tingyong.png
rename to 10.3.5/public/admin/template/default/img/tingyong.png
diff --git a/10.3.4/public/admin/template/default/img/upgrade.svg b/10.3.5/public/admin/template/default/img/upgrade.svg
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/upgrade.svg
rename to 10.3.5/public/admin/template/default/img/upgrade.svg
diff --git a/10.3.4/public/admin/template/default/img/upstream/app_01.png b/10.3.5/public/admin/template/default/img/upstream/app_01.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/upstream/app_01.png
rename to 10.3.5/public/admin/template/default/img/upstream/app_01.png
diff --git a/10.3.4/public/admin/template/default/img/upstream/app_02.png b/10.3.5/public/admin/template/default/img/upstream/app_02.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/upstream/app_02.png
rename to 10.3.5/public/admin/template/default/img/upstream/app_02.png
diff --git a/10.3.4/public/admin/template/default/img/upstream/app_03.png b/10.3.5/public/admin/template/default/img/upstream/app_03.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/upstream/app_03.png
rename to 10.3.5/public/admin/template/default/img/upstream/app_03.png
diff --git a/10.3.4/public/admin/template/default/img/upstream/app_04.png b/10.3.5/public/admin/template/default/img/upstream/app_04.png
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/upstream/app_04.png
rename to 10.3.5/public/admin/template/default/img/upstream/app_04.png
diff --git a/10.3.4/public/admin/template/default/img/wait.svg b/10.3.5/public/admin/template/default/img/wait.svg
similarity index 100%
rename from 10.3.4/public/admin/template/default/img/wait.svg
rename to 10.3.5/public/admin/template/default/img/wait.svg
diff --git "a/10.3.4/public/admin/template/default/index - \345\211\257\346\234\254.php" "b/10.3.5/public/admin/template/default/index - \345\211\257\346\234\254.php"
similarity index 100%
rename from "10.3.4/public/admin/template/default/index - \345\211\257\346\234\254.php"
rename to "10.3.5/public/admin/template/default/index - \345\211\257\346\234\254.php"
diff --git a/10.3.4/public/admin/template/default/index.php b/10.3.5/public/admin/template/default/index.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/index.php
rename to 10.3.5/public/admin/template/default/index.php
diff --git a/10.3.4/public/admin/template/default/info_config.php b/10.3.5/public/admin/template/default/info_config.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/info_config.php
rename to 10.3.5/public/admin/template/default/info_config.php
diff --git a/10.3.4/public/admin/template/default/install_bak.php b/10.3.5/public/admin/template/default/install_bak.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/install_bak.php
rename to 10.3.5/public/admin/template/default/install_bak.php
diff --git a/10.3.4/public/admin/template/default/js/addon.js b/10.3.5/public/admin/template/default/js/addon.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/addon.js
rename to 10.3.5/public/admin/template/default/js/addon.js
diff --git a/10.3.4/public/admin/template/default/js/admin.js b/10.3.5/public/admin/template/default/js/admin.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/admin.js
rename to 10.3.5/public/admin/template/default/js/admin.js
diff --git a/10.3.4/public/admin/template/default/js/admin_role.js b/10.3.5/public/admin/template/default/js/admin_role.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/admin_role.js
rename to 10.3.5/public/admin/template/default/js/admin_role.js
diff --git a/10.3.4/public/admin/template/default/js/agentList.js b/10.3.5/public/admin/template/default/js/agentList.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/agentList.js
rename to 10.3.5/public/admin/template/default/js/agentList.js
diff --git a/10.3.4/public/admin/template/default/js/captcha.js b/10.3.5/public/admin/template/default/js/captcha.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/captcha.js
rename to 10.3.5/public/admin/template/default/js/captcha.js
diff --git a/10.3.4/public/admin/template/default/js/childAccount.js b/10.3.5/public/admin/template/default/js/childAccount.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/childAccount.js
rename to 10.3.5/public/admin/template/default/js/childAccount.js
diff --git a/10.3.4/public/admin/template/default/js/child_server.js b/10.3.5/public/admin/template/default/js/child_server.js
similarity index 97%
rename from 10.3.4/public/admin/template/default/js/child_server.js
rename to 10.3.5/public/admin/template/default/js/child_server.js
index b47cc512..684517d9 100644
--- a/10.3.4/public/admin/template/default/js/child_server.js
+++ b/10.3.5/public/admin/template/default/js/child_server.js
@@ -86,7 +86,7 @@
port: '',
secure: 1,
disabled: 0,
- hash: ''
+ accesshash: ''
},
options: [
{
@@ -109,9 +109,9 @@
// {
// pattern: /(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/, type: 'warning'
// }
- {
- pattern: /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/, type: 'warning'
- }
+ // {
+ // pattern: /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/, type: 'warning'
+ // }
],
max_accounts: [
{ required: true, message: lang.input + lang.interface_capacity, type: 'error', },
diff --git a/10.3.4/public/admin/template/default/js/child_server_group.js b/10.3.5/public/admin/template/default/js/child_server_group.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/child_server_group.js
rename to 10.3.5/public/admin/template/default/js/child_server_group.js
diff --git a/10.3.4/public/admin/template/default/js/client.js b/10.3.5/public/admin/template/default/js/client.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client.js
rename to 10.3.5/public/admin/template/default/js/client.js
diff --git a/10.3.4/public/admin/template/default/js/client_detail.js b/10.3.5/public/admin/template/default/js/client_detail.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_detail.js
rename to 10.3.5/public/admin/template/default/js/client_detail.js
diff --git a/10.3.4/public/admin/template/default/js/client_host.js b/10.3.5/public/admin/template/default/js/client_host.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_host.js
rename to 10.3.5/public/admin/template/default/js/client_host.js
diff --git a/10.3.4/public/admin/template/default/js/client_log.js b/10.3.5/public/admin/template/default/js/client_log.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_log.js
rename to 10.3.5/public/admin/template/default/js/client_log.js
diff --git a/10.3.4/public/admin/template/default/js/client_notice_email.js b/10.3.5/public/admin/template/default/js/client_notice_email.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_notice_email.js
rename to 10.3.5/public/admin/template/default/js/client_notice_email.js
diff --git a/10.3.4/public/admin/template/default/js/client_notice_sms.js b/10.3.5/public/admin/template/default/js/client_notice_sms.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_notice_sms.js
rename to 10.3.5/public/admin/template/default/js/client_notice_sms.js
diff --git a/10.3.4/public/admin/template/default/js/client_order.js b/10.3.5/public/admin/template/default/js/client_order.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_order.js
rename to 10.3.5/public/admin/template/default/js/client_order.js
diff --git a/10.3.4/public/admin/template/default/js/client_records.js b/10.3.5/public/admin/template/default/js/client_records.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_records.js
rename to 10.3.5/public/admin/template/default/js/client_records.js
diff --git a/10.3.4/public/admin/template/default/js/client_transaction.js b/10.3.5/public/admin/template/default/js/client_transaction.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/client_transaction.js
rename to 10.3.5/public/admin/template/default/js/client_transaction.js
diff --git a/10.3.4/public/admin/template/default/js/common/Sortable.min.js b/10.3.5/public/admin/template/default/js/common/Sortable.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/Sortable.min.js
rename to 10.3.5/public/admin/template/default/js/common/Sortable.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/axios.min.js b/10.3.5/public/admin/template/default/js/common/axios.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/axios.min.js
rename to 10.3.5/public/admin/template/default/js/common/axios.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/commonTool.js b/10.3.5/public/admin/template/default/js/common/commonTool.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/commonTool.js
rename to 10.3.5/public/admin/template/default/js/common/commonTool.js
diff --git a/10.3.4/public/admin/template/default/js/common/echarts.min.js b/10.3.5/public/admin/template/default/js/common/echarts.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/echarts.min.js
rename to 10.3.5/public/admin/template/default/js/common/echarts.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/iuLayout.js b/10.3.5/public/admin/template/default/js/common/iuLayout.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/iuLayout.js
rename to 10.3.5/public/admin/template/default/js/common/iuLayout.js
diff --git a/10.3.4/public/admin/template/default/js/common/jquery.min.js b/10.3.5/public/admin/template/default/js/common/jquery.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/jquery.min.js
rename to 10.3.5/public/admin/template/default/js/common/jquery.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/lang.js b/10.3.5/public/admin/template/default/js/common/lang.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/lang.js
rename to 10.3.5/public/admin/template/default/js/common/lang.js
diff --git a/10.3.4/public/admin/template/default/js/common/layout.js b/10.3.5/public/admin/template/default/js/common/layout.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/layout.js
rename to 10.3.5/public/admin/template/default/js/common/layout.js
diff --git a/10.3.4/public/admin/template/default/js/common/mainfest.js b/10.3.5/public/admin/template/default/js/common/mainfest.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/mainfest.js
rename to 10.3.5/public/admin/template/default/js/common/mainfest.js
diff --git a/10.3.4/public/admin/template/default/js/common/moment.min.js b/10.3.5/public/admin/template/default/js/common/moment.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/moment.min.js
rename to 10.3.5/public/admin/template/default/js/common/moment.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/tdesign.min.js b/10.3.5/public/admin/template/default/js/common/tdesign.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/tdesign.min.js
rename to 10.3.5/public/admin/template/default/js/common/tdesign.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/viewer.min.js b/10.3.5/public/admin/template/default/js/common/viewer.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/viewer.min.js
rename to 10.3.5/public/admin/template/default/js/common/viewer.min.js
diff --git a/10.3.4/public/admin/template/default/js/common/vue.js b/10.3.5/public/admin/template/default/js/common/vue.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/vue.js
rename to 10.3.5/public/admin/template/default/js/common/vue.js
diff --git a/10.3.4/public/admin/template/default/js/common/vuedraggable.umd.min.js b/10.3.5/public/admin/template/default/js/common/vuedraggable.umd.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/common/vuedraggable.umd.min.js
rename to 10.3.5/public/admin/template/default/js/common/vuedraggable.umd.min.js
diff --git a/10.3.4/public/admin/template/default/js/configuration_currency.js b/10.3.5/public/admin/template/default/js/configuration_currency.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/configuration_currency.js
rename to 10.3.5/public/admin/template/default/js/configuration_currency.js
diff --git a/10.3.4/public/admin/template/default/js/configuration_debug.js b/10.3.5/public/admin/template/default/js/configuration_debug.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/configuration_debug.js
rename to 10.3.5/public/admin/template/default/js/configuration_debug.js
diff --git a/10.3.4/public/admin/template/default/js/configuration_login.js b/10.3.5/public/admin/template/default/js/configuration_login.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/configuration_login.js
rename to 10.3.5/public/admin/template/default/js/configuration_login.js
diff --git a/10.3.4/public/admin/template/default/js/configuration_security.js b/10.3.5/public/admin/template/default/js/configuration_security.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/configuration_security.js
rename to 10.3.5/public/admin/template/default/js/configuration_security.js
diff --git a/10.3.4/public/admin/template/default/js/configuration_system.js b/10.3.5/public/admin/template/default/js/configuration_system.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/configuration_system.js
rename to 10.3.5/public/admin/template/default/js/configuration_system.js
diff --git a/10.3.4/public/admin/template/default/js/configuration_theme.js b/10.3.5/public/admin/template/default/js/configuration_theme.js
similarity index 95%
rename from 10.3.4/public/admin/template/default/js/configuration_theme.js
rename to 10.3.5/public/admin/template/default/js/configuration_theme.js
index a125447b..c5d026cc 100644
--- a/10.3.4/public/admin/template/default/js/configuration_theme.js
+++ b/10.3.5/public/admin/template/default/js/configuration_theme.js
@@ -9,7 +9,8 @@
formData: {
admin_theme: '',
clientarea_theme: '',
- web_theme: ''
+ web_theme: '',
+ web_switch: '0'
},
isCanUpdata: sessionStorage.isCanUpdata === 'true',
admin_theme: [],
@@ -57,6 +58,7 @@
this.admin_theme = temp.admin_theme_list
this.clientarea_theme = temp.clientarea_theme_list
this.web_theme_list = temp.web_theme_list
+ this.formData.web_switch = temp.web_switch
} catch (error) {
}
}
diff --git a/10.3.5/public/admin/template/default/js/configuration_upgrade.js b/10.3.5/public/admin/template/default/js/configuration_upgrade.js
new file mode 100644
index 00000000..2d5192b4
--- /dev/null
+++ b/10.3.5/public/admin/template/default/js/configuration_upgrade.js
@@ -0,0 +1,255 @@
+(function (window, undefined) {
+ var old_onload = window.onload;
+ window.onload = function () {
+ const template = document.getElementsByClassName("configuration-system")[0];
+ Vue.prototype.lang = window.lang;
+ Vue.prototype.moment = window.moment;
+ const host = location.host;
+ const fir = location.pathname.split("/")[1];
+ const str = `${host}/${fir}/`;
+ new Vue({
+ data() {
+ return {
+ newList: [],
+ isLoading: false,
+ columns: [
+ {
+ colKey: "title",
+ title: lang.title,
+ className: "table-row",
+ },
+ {
+ className: "table-row",
+ colKey: "create_time",
+ title: lang.release_time,
+ },
+ ],
+ total: 0,
+ pagination: {
+ current: 1,
+ pageSize: 10,
+ showJumper: true,
+ },
+ adminArr: JSON.parse(localStorage.getItem("common_set")).lang_admin,
+ homeArr: JSON.parse(localStorage.getItem("common_set")).lang_home,
+ // 系统版本信息
+ systemData: {},
+ // 更新信息
+ updateContent: {},
+ isDown: false,
+ updateData: {
+ progress: "0.00%",
+ },
+ newListParams: {
+ limit: 10,
+ page: 1,
+ parent_id: 3,
+ },
+ isShowProgress: false,
+ timer: null,
+ hasUpdate: false,
+ isCanUpdata: sessionStorage.isCanUpdata === "true",
+ /* 更换识别码 */
+ syncVisible: false,
+ updateCode: false,
+ changeCode: false,
+ changeForm: {
+ license: "",
+ },
+ rules: {
+ license: [
+ {
+ required: true,
+ message: `${lang.input}${lang.upload_text14}`,
+ type: "error",
+ },
+ ],
+ },
+ domain: location.host,
+ submitLoading: false
+ };
+ },
+ methods: {
+ async handlerUpdate () {
+ try {
+ this.updateCode = true
+ const res = await updateLicense()
+ this.updateCode = false
+ this.$message.success(res.data.msg);
+ this.getVersion();
+ } catch (error) {
+ this.updateCode = false
+ this.$message.error(error.data.msg);
+ }
+ },
+ handlerChange() {
+ this.syncVisible = true;
+ this.changeForm.license = "";
+ this.$refs.codeForm && this.$refs.codeForm.clearValidate()
+ },
+ async submitUpdate({ validateResult, firstError }) {
+ if (validateResult === true) {
+ try {
+ this.submitLoading = true;
+ const res = await changeLicense(this.changeForm);
+ this.$message.success(res.data.msg);
+ this.submitLoading = false;
+ this.syncVisible = false;
+ this.getVersion();
+ } catch (error) {
+ this.submitLoading = false;
+ this.$message.error(error.data.msg);
+ }
+ } else {
+ console.log("Errors: ", validateResult);
+ this.$message.warning(firstError);
+ }
+ },
+
+ // 获取版本信息
+ async getVersion() {
+ try {
+ const res = await version();
+ this.systemData = res.data.data;
+ if (this.systemData.is_download == 1) {
+ this.isDown = true;
+ }
+ // 判断版本是否可以更新
+ this.hasUpdate = this.checkVersion(
+ this.systemData.version,
+ this.systemData.last_version
+ );
+ this.isCanUpdata = this.hasUpdate;
+ localStorage.setItem("systemData", JSON.stringify(this.systemData));
+ sessionStorage.setItem("isCanUpdata", this.hasUpdate);
+ } catch (error) {
+ }
+ },
+ /**
+ *
+ * @param {string} nowStr 当前版本
+ * @param {string} lastStr 最新版本
+ */
+ checkVersion(nowStr, lastStr) {
+ const nowArr = nowStr.split(".");
+ const lastArr = lastStr.split(".");
+ let hasUpdate = false;
+ const nowLength = nowArr.length;
+ const lastLength = lastArr.length;
+
+ const length = Math.min(nowLength, lastLength);
+ for (let i = 0; i < length; i++) {
+ if (lastArr[i] - nowArr[i] > 0) {
+ hasUpdate = true;
+ }
+ }
+ if (!hasUpdate && lastLength - nowLength > 0) {
+ hasUpdate = true;
+ }
+ return hasUpdate;
+ },
+ // 获取更新信息
+ getUpContent() {
+ upContent().then((res) => {
+ if (res.data.status == 200) {
+ this.updateContent = res.data.data;
+ localStorage.setItem(
+ "updateContent",
+ JSON.stringify(this.updateContent)
+ );
+ }
+ });
+ },
+ // BaseTable 中只有 page-change 事件,没有 change 事件
+ onPageChange(pageInfo) {
+ this.pagination.current = pageInfo.current;
+ this.pagination.pageSize = pageInfo.pageSize;
+ this.newListParams.limit = pageInfo.pageSize;
+ this.newListParams.page = pageInfo.current;
+ this.fetchData();
+ },
+ async fetchData() {
+ try {
+ this.isLoading = true;
+ // 请求可能存在跨域问题
+ await newsList(this.newListParams).then((res) => {
+ this.newList = res.data.data.list;
+ this.newList.forEach((item) => {
+ item.create_time = moment(item.create_time * 1000).format(
+ "YYYY-MM-DD HH:mm"
+ );
+ });
+ this.pagination.total = res.data.data.count;
+ });
+ // 数据加载完成,设置数据总条数
+ } catch (err) {
+ this.data = [];
+ }
+ this.isLoading = false;
+ },
+ // 跳转到升级页面
+ toUpdate() {
+ location.href = "/upgrade/update.html";
+ // location.href = 'update.htm'
+ },
+ onRowClick(item) {
+ // window.open(`https://www.idcsmart.com/news_cont2/${item.row.id}.html`)
+ window.open(
+ `https://my.idcsmart.com/plugin/21/news_detail.htm?id=${item.row.id}`
+ );
+ },
+ onRowMouseover(item) {},
+ // 开始下载
+ beginDown() {
+ if (this.systemData.last_version == this.systemData.version) {
+ this.$message.warning(lang.invoice_text27);
+ return false;
+ }
+
+ this.isShowProgress = true;
+ upDown()
+ .then((res) => {
+ if (res.data.status === 200) {
+ }
+ })
+ .catch((error) => {
+ this.$message.warning(error.data.msg);
+ });
+
+ // 轮询下载进度
+ if (this.timer) {
+ clearInterval(timer);
+ }
+ this.timer = setInterval(() => {
+ upProgress()
+ .then((res) => {
+ if (res.data.status === 200) {
+ this.updateData = res.data.data;
+ if (this.updateData.progress == "100.00%") {
+ clearInterval(this.timer);
+ this.isShowProgress = false;
+ this.isDown = true;
+ }
+ }
+ })
+ .catch((error) => {
+ console.log(error.data.data);
+ if (error.data.data == lang.invoice_text28) {
+ this.isShowProgress = false;
+ clearInterval(this.timer);
+ }
+ });
+ }, 2000);
+ },
+ },
+ created() {
+ this.getVersion();
+ this.getUpContent();
+ this.fetchData();
+ document.title =
+ lang.system_upgrade + "-" + localStorage.getItem("back_website_name");
+ },
+ }).$mount(template);
+ typeof old_onload == "function" && old_onload();
+ };
+})(window);
diff --git a/10.3.4/public/admin/template/default/js/consult.js b/10.3.5/public/admin/template/default/js/consult.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/consult.js
rename to 10.3.5/public/admin/template/default/js/consult.js
diff --git a/10.3.4/public/admin/template/default/js/create_order.js b/10.3.5/public/admin/template/default/js/create_order.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/create_order.js
rename to 10.3.5/public/admin/template/default/js/create_order.js
diff --git a/10.3.4/public/admin/template/default/js/cron.js b/10.3.5/public/admin/template/default/js/cron.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/cron.js
rename to 10.3.5/public/admin/template/default/js/cron.js
diff --git a/10.3.4/public/admin/template/default/js/customerService.js b/10.3.5/public/admin/template/default/js/customerService.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/customerService.js
rename to 10.3.5/public/admin/template/default/js/customerService.js
diff --git a/10.3.4/public/admin/template/default/js/feedback.js b/10.3.5/public/admin/template/default/js/feedback.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/feedback.js
rename to 10.3.5/public/admin/template/default/js/feedback.js
diff --git a/10.3.4/public/admin/template/default/js/gateway.js b/10.3.5/public/admin/template/default/js/gateway.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/gateway.js
rename to 10.3.5/public/admin/template/default/js/gateway.js
diff --git a/10.3.4/public/admin/template/default/js/home.js b/10.3.5/public/admin/template/default/js/home.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/home.js
rename to 10.3.5/public/admin/template/default/js/home.js
diff --git a/10.3.4/public/admin/template/default/js/host.js b/10.3.5/public/admin/template/default/js/host.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/host.js
rename to 10.3.5/public/admin/template/default/js/host.js
diff --git a/10.3.5/public/admin/template/default/js/host_detail.js b/10.3.5/public/admin/template/default/js/host_detail.js
new file mode 100644
index 00000000..079c0cfe
--- /dev/null
+++ b/10.3.5/public/admin/template/default/js/host_detail.js
@@ -0,0 +1,1141 @@
+(function (window, undefined) {
+ var old_onload = window.onload;
+ window.onload = function () {
+ const template = document.getElementsByClassName("host-detail")[0];
+ Vue.prototype.lang = window.lang;
+ Vue.prototype.moment = window.moment;
+ const host = location.origin;
+ const fir = location.pathname.split("/")[1];
+ const str = `${host}/${fir}/`;
+ new Vue({
+ data() {
+ return {
+ urlPath: url,
+ baseUrl: str,
+ id: "",
+ client_id: "",
+ data: [],
+ tableLayout: false,
+ bordered: true,
+ visible: false,
+ delVisible: false,
+ hover: true,
+ isLoading: false,
+ diaTitle: "",
+ isAgent: false,
+ serverParams: {
+ page: 1,
+ limit: 20,
+ },
+ serverGroupParams: {
+ page: 1,
+ limit: 20,
+ },
+ total: 0,
+ groupTotal: 0,
+ loading: false,
+ moneyLoading: false,
+ statusVisble: false,
+ title: "",
+ delId: "",
+ formData: {
+ id: "",
+ product_id: "",
+ server_id: "",
+ name: "",
+ notes: "",
+ first_payment_amount: "",
+ renew_amount: "",
+ billing_cycle: "",
+ active_time: "",
+ due_time: "",
+ status: "",
+ customfield: {},
+ upstream_host_id: null,
+ },
+ upData: {},
+ status: [],
+ rules: {
+ name: [
+ {
+ validator: (val) => val.length <= 100,
+ message: lang.verify3 + 100,
+ },
+ ],
+ notes: [
+ {
+ validator: (val) => val.length <= 1000,
+ message: lang.verify3 + 1000,
+ },
+ ],
+ first_payment_amount: [
+ {
+ required: true,
+ message: lang.input + lang.buy_amount,
+ type: "error",
+ },
+ {
+ pattern: /^\d+(\.\d{0,2})?$/,
+ message: lang.verify12,
+ type: "warning",
+ },
+ {
+ validator: (val) => val >= 0,
+ message: lang.verify12,
+ type: "warning",
+ },
+ ],
+ renew_amount: [
+ {
+ required: true,
+ message: lang.input + lang.renew_amount,
+ type: "error",
+ },
+ {
+ pattern: /^\d+(\.\d{0,2})?$/,
+ message: lang.verify12,
+ type: "warning",
+ },
+ {
+ validator: (val) => val >= 0,
+ message: lang.verify12,
+ type: "warning",
+ },
+ ],
+ },
+ // 变更记录
+ logData: [],
+ logCunt: 0,
+ tableLayout: false,
+ bordered: true,
+ hover: true,
+ statusTip: "",
+ proList: [],
+ currency_prefix: JSON.parse(localStorage.getItem("common_set"))
+ .currency_prefix,
+ serverList: [],
+ cycleList: [
+ { value: "free", label: lang.free },
+ { value: "onetime", label: lang.onetime },
+ { value: "recurring_prepayment", label: lang.recurring_prepayment },
+ { value: "recurring_postpaid", label: lang.recurring_postpaid },
+ ],
+ cycleObj: {
+ free: lang.free,
+ onetime: lang.onetime,
+ recurring_prepayment: lang.recurring_prepayment,
+ recurring_postpaid: lang.recurring_postpaid,
+ },
+ done: false,
+ popupProps: {
+ overlayStyle: (trigger) => ({ width: `${trigger.offsetWidth}px` }),
+ },
+ config: "",
+ // 续费相关
+ renewVisible: false,
+ renewList: [],
+ curId: 1,
+ renewTotal: "",
+ pay: false,
+ submitLoading: false,
+ showId: [1, 2, 3],
+ curRenew: {},
+ curStatus: "",
+ promoList: [],
+ recordColumns: [
+ {
+ colKey: "create_time",
+ title: lang.use_time,
+ },
+ {
+ colKey: "scene",
+ title: lang.use_cycle,
+ },
+ {
+ colKey: "order_id",
+ title: lang.order_number,
+ },
+ {
+ colKey: "promo",
+ title: lang.promo_code,
+ width: 220,
+ },
+ ],
+ recordLoading: false,
+ hasPlugin: false,
+ tempCycle: "",
+ /* 1-7 */
+ moduleVisible: false,
+ suspendVisible: false,
+ optTilte: "",
+ optType: "", // create unsuspend delete
+ suspendType: [
+ {
+ value: "overdue",
+ label: lang.overdue,
+ },
+ {
+ value: "overtraffic",
+ label: lang.overtraffic,
+ },
+ {
+ value: "certification_not_complete",
+ label: lang.certification_not_complete,
+ },
+ {
+ value: "other",
+ label: lang.other,
+ },
+ ],
+ suspendForm: {
+ suspend_type: "overdue",
+ suspend_reason: "",
+ },
+ moduleLoading: false,
+ isShowModule: false,
+ optBtns: [],
+ clientDetail: {},
+ searchLoading: false,
+ clientList: [],
+ clinetParams: {
+ page: 1,
+ limit: 20,
+ orderby: "id",
+ sort: "desc",
+ },
+ hasTicket: false,
+ authList: JSON.parse(
+ JSON.stringify(localStorage.getItem("backAuth"))
+ ),
+ /* 新增下拉优化插件 */
+ hasProPlugin: false,
+ selectWay: "",
+ visibleTree: false,
+ productName: "",
+ firstGroup: [],
+ secondGroup: [],
+ fir_pro: [], // 一级+商品
+ second_pro: [], // 二级+商品
+ fir_second_pro: [], // 一级+二级+商品
+ isClick: false,
+ clickExpand: [],
+ hostFieldList: [],
+ hostArr: [],
+ tempHostId: null,
+ // 手动资源
+ hasResources: false,
+ curResourcesId: "",
+ resourceDialog: false,
+ resourceList: [],
+ resourceType: "", // allot free
+ resourceTitle: "",
+ resourceVisible: false,
+ resourceId: "",
+ resourcesColumns: [
+ {
+ colKey: "dedicated_ip",
+ title: "IP",
+ width: "180",
+ ellipsis: true,
+ },
+ {
+ colKey: "power_status",
+ title: lang.status,
+ widht: "100",
+ ellipsis: true,
+ },
+ {
+ colKey: "configuration",
+ title: lang.config,
+ width: "200",
+ ellipsis: true,
+ },
+ { colKey: "notes", title: lang.notes, ellipsis: true },
+ // { colKey: 'ipmi', title: 'IPMI' },
+ // { colKey: 'ipmi_auth', title: lang.ipmi_auth },
+ { colKey: "supplier", title: lang.manual_text10, ellipsis: true },
+ { colKey: "cost", title: lang.manual_text11, ellipsis: true },
+ {
+ colKey: "user",
+ title: lang.manual_text12,
+ width: "200",
+ ellipsis: true,
+ },
+ {
+ colKey: "due_time",
+ title: lang.due_time,
+ width: "180",
+ ellipsis: true,
+ },
+ {
+ colKey: "opt",
+ title: lang.operation,
+ width: "80",
+ ellipsis: true,
+ },
+ ],
+ connectProId: "",
+ supplierList: [],
+ resourceForm: {
+ addon_manual_resource_supplier_id: '',
+ page: 1,
+ limit: 1000,
+ keywords: ''
+ },
+ resourceLoading: false
+ };
+ },
+ watch: {
+ "formData.type": {
+ immediate: true,
+ handler(val) {
+ this.curList =
+ val === "server" ? this.serverList : this.serverGroupList;
+ },
+ },
+ serverList() {
+ this.done = this.serverList.length === this.total;
+ },
+ curId: {
+ handler(val) {
+ this.curRenew = this.renewList[val - 1];
+ },
+ },
+ },
+ created() {
+ const query = this.getUrlParams();
+ this.client_id = query.client_id;
+ this.formData.id = this.id = query.id;
+ this.langList = JSON.parse(
+ localStorage.getItem("common_set")
+ ).lang_home;
+ this.getClintList();
+ this.getProDetail();
+ this.getproModule();
+ this.getUpHostDetail();
+ this.getPlugin();
+ const navList = JSON.parse(localStorage.getItem("backMenus"));
+ let tempArr = navList.reduce((all, cur) => {
+ cur.child && all.push(...cur.child);
+ return all;
+ }, []);
+ const curValue = tempArr.filter((item) => item.url === "client.htm")[0]
+ ?.id;
+ localStorage.setItem("curValue", curValue);
+
+ this.getBtns();
+ this.getUserDetail();
+ this.getHostList();
+ },
+ computed: {
+ calcStatus() {
+ return (status) => {
+ switch (status) {
+ case "on":
+ return lang.manual_text14;
+ case "off":
+ return lang.manual_text15;
+ case "error":
+ return lang.manual_text16;
+ default:
+ return "--";
+ }
+ };
+ },
+ disabled() {
+ return (
+ this.formData.due_time === "" &&
+ this.formData.billing_cycle === "onetime"
+ );
+ },
+ calcShow() {
+ return (data) => {
+ return (
+ `#${data.id}-` +
+ (data.username
+ ? data.username
+ : data.phone
+ ? data.phone
+ : data.email) +
+ (data.company ? `(${data.company})` : "")
+ );
+ };
+ },
+ isExist() {
+ return !this.clientList.find(
+ (item) => item.id === this.clientDetail.id
+ );
+ },
+ /* 04-12 */
+ calcProduct() {
+ switch (this.selectWay) {
+ case "first_group":
+ return this.fir_pro;
+ case "second_group":
+ return this.second_pro;
+ case "first_second_group":
+ return this.fir_second_pro;
+ }
+ },
+ calcName() {
+ return (id) => {
+ return this.proList.filter((item) => item.id === id)[0]?.name;
+ };
+ },
+ calcExpand() {
+ const arr = this.proList.filter(
+ (item) => item.id === this.formData.product_id
+ );
+ return [
+ "f" + arr[0]?.product_group_id_first,
+ "s" + arr[0]?.product_group_id_second,
+ ];
+ },
+ },
+ mounted() {
+ document.addEventListener("click", () => {
+ this.visibleTree = false;
+ });
+ this.$nextTick(() => {
+ document.getElementById(`myPopup`).onclick = () => {
+ event.stopPropagation();
+ };
+ });
+ },
+ methods: {
+ jumpToPro(id) {
+ location.href =
+ str + `host_detail.htm?client_id=${this.client_id}&id=${id}`;
+ },
+ /* 手动资源 */
+ async getResourcesList() {
+ try {
+ this.resourceLoading = true
+ const res = await getManualResource(this.resourceForm);
+ this.resourceList = res.data.data.list;
+ this.resourceLoading = false
+ this.resourceList.forEach((item) => {
+ getResourceStatus({ id: item.id })
+ .then((result) => {
+ item.power_status = result.data.data.status;
+ })
+ .catch((err) => {
+ item.power_status = err.data.data.status;
+ });
+ });
+ } catch (error) {
+ this.resourceLoading = false
+ }
+ },
+ clearKey () {
+ this.resourceForm.keywords = ''
+ this.getResourcesList()
+ },
+ // 获取手动资源供应商
+ async getSupplierList() {
+ const res = await ApiSupplier({ all: 1 });
+ this.supplierList = res.data.data.list
+ },
+ handlerDistribute() {
+ this.resourceDialog = true;
+ },
+ optItem(row, type) {
+ this.resourceId = row.id;
+ this.resourceType = type;
+ if (type === "allot") {
+ this.resourceTitle = lang.sure_allot_resource;
+ } else {
+ this.resourceTitle = lang.sure_free_resource;
+ }
+ this.resourceVisible = true;
+ },
+ async handlerResource() {
+ try {
+ const res = await changeResource(this.resourceType, {
+ id: this.resourceId,
+ host_id: this.id,
+ });
+ this.$message.success(res.data.msg);
+ this.resourceVisible = false;
+ this.getResourcesList();
+ this.getHostField();
+ } catch (error) {
+ this.$message.error(error.data.msg);
+ }
+ },
+ /* 手动资源 end */
+ goBack() {
+ const url = sessionStorage.currentHostUrl || "";
+ sessionStorage.removeItem("currentHostUrl");
+ if (url) {
+ location.href = url;
+ } else {
+ window.history.back();
+ }
+ },
+ goClient() {
+ sessionStorage.removeItem("hostListParams");
+ sessionStorage.removeItem("currentHostUrl");
+ location.href = "client.htm";
+ },
+ changePro() {
+ this.id = this.formData.id;
+ location.href = `host_detail.htm?client_id=${this.client_id}&id=${this.id}`;
+ // this.getProDetail()
+ // this.getproModule()
+ // this.getUpHostDetail()
+ },
+ async getHostList() {
+ try {
+ const res = await getClientPro(this.id, {
+ page: 1,
+ limit: 9999,
+ client_id: this.client_id,
+ });
+ this.hostArr = res.data.data.list;
+ } catch (error) {
+ this.$message.error(error.data.msg);
+ }
+ },
+ /* 产品内页模块输入框输出 */
+ getHostField() {
+ hostField(this.id).then((res) => {
+ this.hostFieldList = res.data.data || [];
+ const temp =
+ this.hostFieldList[0]?.field.reduce((all, cur) => {
+ all.push(cur.key);
+ return all;
+ }, []) || [];
+ this.hasResources = temp.includes("manual_resource");
+ if (this.hasResources) {
+ this.curResourcesId = this.hostFieldList[0]?.field.filter(
+ (item) => item.key === "manual_resource"
+ )[0]?.value;
+ this.getResourcesList();
+ this.getSupplierList()
+ }
+ // 关联IP/磁盘
+ if (temp.includes("rel_host_id")) {
+ this.connectProId =
+ this.hostFieldList[0]?.field.filter(
+ (item) => item.key === "rel_host_id"
+ )[0]?.value * 1;
+ }
+ });
+ },
+
+ /* 新增下拉优化插件 */
+ // 获取一级分组
+ async getFirPro() {
+ try {
+ const res = await getFirstGroup();
+ this.firstGroup = res.data.data.list.map((item) => {
+ item.key = "f" + item.id;
+ return item;
+ });
+ return this.firstGroup;
+ } catch (error) {}
+ },
+ // 获取二级分组
+ async getSecPro() {
+ try {
+ const res = await getSecondGroup();
+ this.secondGroup = res.data.data.list.map((item) => {
+ item.key = "s" + item.id;
+ return item;
+ });
+ return this.secondGroup;
+ } catch (error) {}
+ },
+ // 初始化
+ init() {
+ try {
+ this.loading = true;
+ // 获取商品,一级,二级分组
+ Promise.all([
+ this.getProList(),
+ this.getFirPro(),
+ this.getSecPro(),
+ ]).then((res) => {
+ // 一级+商品
+ if (this.selectWay === "first_group") {
+ this.fir_pro = this.firstGroup
+ .map((item) => {
+ item.children = [];
+ item.children.push(
+ ...this.proList.filter(
+ (el) => el.product_group_id_first === item.id
+ )
+ );
+ return item;
+ })
+ .filter((item) => item.children.length > 0);
+ } else if (this.selectWay === "second_group") {
+ // 二级+商品
+ this.second_pro = this.secondGroup
+ .map((item) => {
+ item.children = [];
+ item.children.push(
+ ...this.proList.filter(
+ (el) => el.product_group_id_second === item.id
+ )
+ );
+ return item;
+ })
+ .filter((item) => item.children.length > 0);
+ } else if (this.selectWay === "first_second_group") {
+ // 一二级+商品
+ const fArr = res[1].map((item) => {
+ let secondArr = [];
+ res[2].forEach((sItem) => {
+ if (sItem.parent_id === item.id) {
+ secondArr.push(sItem);
+ }
+ });
+ item.children = secondArr;
+ return item;
+ });
+ setTimeout(() => {
+ this.fir_second_pro = fArr.map((item) => {
+ item.children.map((ele) => {
+ let temp = [];
+ res[0].forEach((e) => {
+ if (e.product_group_id_second === ele.id) {
+ temp.push(e);
+ }
+ });
+ ele.children = temp;
+ return ele;
+ });
+ return item;
+ });
+ }, 0);
+ }
+ });
+ } catch (error) {
+ console.log("@@@@", error);
+ this.loading = false;
+ }
+ },
+ async getConfig() {
+ try {
+ const res = await getSelectConfig();
+ this.selectWay = res.data.data.config;
+ } catch (error) {}
+ },
+ focusHandler() {
+ this.visibleTree = true;
+ this.isClick = false;
+ },
+ // 商品选择
+ onClick(e) {
+ if (!e.node.data.children) {
+ const pName = e.node.data.name;
+ const pId = e.node.data.id;
+ this.productName = pName;
+ this.formData.product_id = pId;
+ this.visibleTree = false;
+ } else {
+ this.isClick = true;
+ // if (Array.from(this.clickExpand).toString() == [e.node.value].toString()) {
+ // this.clickExpand = []
+ // } else {
+ // if (this.selectWay === 'first_second_group' && Array.from(this.clickExpand).length < 2) {
+ // this.clickExpand.push(e.node.value)
+ // } else {
+ // this.clickExpand = [e.node.value]
+ // }
+
+ // }
+ }
+ },
+ getLabel(createElement, node) {
+ const label = node.data.name;
+ const { data } = node;
+ data.label = label;
+ return label;
+ },
+ /* 新增下拉优化插件 end*/
+ changeUser(id) {
+ this.id = id;
+ location.href = `client_host.htm?client_id=${this.client_id}`;
+ },
+ async getUpHostDetail() {
+ try {
+ const res = await upHostDetail(this.id);
+ this.upData = res.data.data.host.host;
+ } catch (error) {
+ console.log(error.data.msg);
+ }
+ },
+ async getClintList() {
+ try {
+ this.searchLoading = true;
+ const res = await getClientList(this.clinetParams);
+ this.clientList = res.data.data.list;
+ this.clientTotal = res.data.data.count;
+ this.searchLoading = false;
+ } catch (error) {
+ this.searchLoading = false;
+ console.log(error.data.msg);
+ }
+ }, // 远程搜素
+ remoteMethod(key) {
+ this.clinetParams.keywords = key;
+ this.getClintList();
+ },
+ filterMethod(search, option) {
+ return option;
+ },
+ // 获取用户详情
+ async getUserDetail() {
+ try {
+ const res = await getClientDetail(this.client_id);
+ this.clientDetail = res.data.data.client;
+ } catch (error) {}
+ },
+ /* 1-31 */
+ async getBtns() {
+ try {
+ const res = await getMoudleBtns({
+ id: this.id,
+ });
+ this.optBtns = res.data.data.button;
+ } catch (error) {}
+ },
+ /* 1-7 start */
+ handlerMoudle(type) {
+ this.optType = type;
+ switch (type) {
+ case "create":
+ this.optTilte = lang.module_tip1;
+ break;
+ case "unsuspend":
+ this.optTilte = lang.module_tip2;
+ break;
+ case "terminate":
+ this.optTilte = lang.module_tip3;
+ break;
+ case "suspend":
+ this.optTilte = lang.module_tip4;
+ this.handlerSuspend();
+ break;
+ case "renew":
+ this.renewDialog();
+ }
+ if (type !== "renew" && type !== "suspend") {
+ this.moduleVisible = true;
+ }
+ },
+ confirmModule() {
+ switch (this.optType) {
+ case "create":
+ return this.createHandler();
+ case "unsuspend":
+ return this.unsuspendHandler();
+ case "terminate":
+ return this.deleteHandler();
+ }
+ },
+ // 开通
+ async createHandler() {
+ try {
+ this.moduleLoading = true;
+ const res = await createModule({
+ id: this.id,
+ });
+ this.$message.success(res.data.msg);
+ this.getProDetail();
+ this.getUpHostDetail();
+ this.getBtns();
+ this.moduleLoading = false;
+ this.moduleVisible = false;
+ } catch (error) {
+ this.moduleLoading = false;
+ this.moduleVisible = false;
+ this.$message.error(error.data.msg);
+ }
+ },
+ // 取消停用
+ async unsuspendHandler() {
+ try {
+ this.moduleLoading = true;
+ const res = await unsuspendModule({
+ id: this.id,
+ });
+ this.$message.success(res.data.msg);
+ this.getProDetail();
+ this.getUpHostDetail();
+ this.getBtns();
+ this.moduleLoading = false;
+ this.moduleVisible = false;
+ } catch (error) {
+ this.moduleLoading = false;
+ this.moduleVisible = false;
+ this.$message.error(error.data.msg);
+ }
+ },
+ // 删除
+ async deleteHandler() {
+ try {
+ this.moduleLoading = true;
+ const res = await delModule({
+ id: this.id,
+ });
+ this.$message.success(res.data.msg);
+ this.getProDetail();
+ this.getBtns();
+ this.getUpHostDetail();
+
+ this.moduleLoading = false;
+ this.moduleVisible = false;
+ } catch (error) {
+ this.moduleLoading = false;
+ this.moduleVisible = false;
+ this.$message.error(error.data.msg);
+ }
+ },
+ // 暂停
+ handlerSuspend() {
+ this.suspendForm.suspend_type = "overdue";
+ this.suspendForm.suspend_reason = "";
+ this.suspendVisible = true;
+ },
+ // 提交停用
+ async onSubmit() {
+ try {
+ this.moduleLoading = true;
+ const res = await suspendModule({
+ id: this.id,
+ suspend_type: this.suspendForm.suspend_type,
+ suspend_reason: this.suspendForm.suspend_reason,
+ });
+ this.$message.success(res.data.msg);
+ this.getProDetail();
+ this.getBtns();
+ this.getUpHostDetail();
+
+ this.moduleLoading = false;
+ this.suspendVisible = false;
+ } catch (error) {
+ this.moduleLoading = false;
+ this.$message.error(error.data.msg);
+ }
+ },
+ /* 1-7 end */
+ async getPlugin() {
+ try {
+ const res = await getAddon();
+ const temp = res.data.data.list.reduce((all, cur) => {
+ all.push(cur.name);
+ return all;
+ }, []);
+ this.hasPlugin = temp.includes("PromoCode");
+ this.hasTicket = temp.includes("IdcsmartTicket");
+ this.hasPlugin && this.getPromoList();
+ this.hasProPlugin = temp.includes("ProductDropDownSelect");
+ if (this.hasProPlugin) {
+ this.getConfig();
+ } else {
+ this.selectWay = "default";
+ }
+ } catch (error) {}
+ },
+ // 获取优惠码使用记录
+ async getPromoList() {
+ try {
+ const res = await proPromoRecord({ id: this.id });
+ this.promoList = res.data.list;
+ } catch (error) {
+ console.log(error);
+ }
+ },
+ jumpOrder(row) {
+ location.href = str + `order.htm?order_id=${row.order_id}`;
+ },
+ /* 跳转到订单/工单 */
+ jumpToOrder() {
+ location.href =
+ str + `client_order.htm?id=${this.client_id}&host_id=${this.id}`;
+ },
+ jumpToTicket() {
+ location.href =
+ str +
+ `plugin/idcsmart_ticket/client_ticket.htm?id=${this.client_id}&host_id=${this.id}`;
+ },
+ /* 续费 */
+ renewDialog() {
+ this.getRenewPage();
+ },
+ // 获取续费页面
+ async getRenewPage() {
+ try {
+ const res = await getSingleRenew(this.formData.id);
+ this.renewList = res.data.data.host.map((item, index) => {
+ item.id = index + 1;
+ return item;
+ });
+ if (this.renewList.length === 0) {
+ return this.$message.warning(lang.renew_tip);
+ }
+ this.renewVisible = true;
+ this.curRenew = this.renewList[0];
+ } catch (error) {
+ this.$message.error(error.data.msg);
+ }
+ },
+ // 向左移动
+ subIndex() {
+ let num = this.curId;
+ if (num > 1) {
+ num -= 1;
+ this.curId -= 1;
+ }
+ if (this.showId[0] > 1) {
+ let newIds = this.showId;
+ newIds[0] = newIds[0] - 1;
+ newIds[1] = newIds[1] - 1;
+ newIds[2] = newIds[2] - 1;
+ this.showId = newIds;
+ }
+ },
+ // 向右移动
+ addIndex() {
+ let num = this.curId;
+ if (num < this.renewList.length) {
+ num += 1;
+ this.curId = num++;
+ }
+ if (this.showId[2] < this.renewList.length) {
+ let newIds = this.showId;
+ newIds[0] = newIds[0] + 1;
+ newIds[1] = newIds[1] + 1;
+ newIds[2] = newIds[2] + 1;
+ this.showId = newIds;
+ }
+ },
+ checkCur(item) {
+ this.curId = item.id;
+ },
+ async submitRenew() {
+ try {
+ this.submitLoading = true;
+ const temp = JSON.parse(JSON.stringify(this.curRenew));
+ delete temp.id;
+ const params = {
+ id: this.formData.id,
+ pay: this.pay,
+ ...temp,
+ };
+ const res = await postSingleRenew(params);
+ this.$message.success(res.data.msg);
+ this.submitLoading = false;
+ this.renewVisible = false;
+ this.getProDetail();
+ this.getUpHostDetail();
+ } catch (error) {
+ this.submitLoading = false;
+ this.$message.error(error.data.msg);
+ }
+ },
+ back() {
+ this.delVisible = true;
+ },
+ // 删除
+ deltePro(row) {
+ this.delVisible = true;
+ },
+ async onConfirm() {
+ try {
+ const res = await deletePro(this.id);
+ this.$message.success(res.data.msg);
+ this.delVisible = false;
+ setTimeout(() => {
+ window.location = document.referrer;
+ }, 300);
+ } catch (error) {
+ this.delVisible = false;
+ this.$message.error(error.data.msg);
+ }
+ },
+
+ getUrlParams() {
+ const url = window.location.href;
+ // 判断是否有参数
+ if (url.indexOf("?") === -1) {
+ return {};
+ }
+ const params = url.split("?")[1];
+ const paramsArr = params.split("&");
+ const paramsObj = {};
+ paramsArr.forEach((item) => {
+ const key = item.split("=")[0];
+ const value = item.split("=")[1];
+ paramsObj[key] = value;
+ });
+ return paramsObj;
+ },
+ getQuery(val) {
+ return val.split("=")[1];
+ },
+ checkTime(val) {
+ if (moment(val).unix() > moment(this.formData.due_time).unix()) {
+ return { result: false, message: lang.verify6, type: "error" };
+ }
+ return { result: true };
+ },
+ checkTime1(val) {
+ if (moment(val).unix() < moment(this.formData.active_time).unix()) {
+ return { result: false, message: lang.verify6, type: "error" };
+ }
+ return { result: true };
+ },
+ changeActive() {
+ this.$refs.userInfo.validate({
+ fields: ["active_time", "due_time"],
+ });
+ },
+ async getproModule() {
+ try {
+ const res = await getproModule(this.id);
+ this.isShowModule = res.data.data.content ? true : false;
+ this.$nextTick(() => {
+ $(".config-box .content").html(res.data.data.content);
+ });
+ } catch (error) {}
+ },
+ async getProList() {
+ try {
+ const res = await getProList();
+ const temp = res.data.data.list.map((item) => {
+ item.key = "t" + item.id;
+ return item;
+ });
+ // 处理老财务迁移过后的数据:产品id不在产品列表中
+ let hasPro = temp.some(
+ (item) => this.formData.product_id === item.id
+ );
+ if (!hasPro) {
+ temp.unshift({
+ id: this.formData.product_id,
+ name: this.formData.product_name,
+ });
+ }
+ this.proList = temp;
+ return this.proList;
+ } catch (error) {}
+ },
+ changeType(type) {
+ this.formData.type = type;
+ this.formData.rel_id = "";
+ },
+ // 修改
+ updateUserInfo() {
+ this.$refs.userInfo
+ .validate()
+ .then(async (res) => {
+ if (res !== true) {
+ this.$message.error(res.name[0].message);
+ return;
+ }
+ // 验证通过
+ try {
+ this.isLoading = true;
+ const params = { ...this.formData };
+ params.due_time = params.due_time === "" ? 0 : params.due_time;
+ params.active_time =
+ params.active_time === "" ? 0 : params.active_time;
+ if (params.active_time === 0) {
+ params.active_time = moment(params.active_time * 1000).format(
+ "YYYY-MM-DD HH:mm:ss"
+ );
+ }
+ if (params.due_time === 0) {
+ params.due_time = moment(params.due_time * 1000).format(
+ "YYYY-MM-DD HH:mm:ss"
+ );
+ }
+ // 修改前台
+ const obj = {};
+ const tempArr = JSON.parse(
+ JSON.stringify(this.hostFieldList)
+ ).reduce((all, cur) => {
+ all.push(...cur.field);
+ return all;
+ }, []);
+ tempArr.forEach((item) => {
+ obj[item.key] = item.value;
+ });
+ params.customfield.module_admin_field = obj;
+ // 修改前台结束
+ const res = await updateProduct(this.id, params);
+ this.$message.success(res.data.msg);
+ this.getProDetail();
+ this.getUpHostDetail();
+ this.isLoading = false;
+ } catch (error) {
+ this.isLoading = false;
+ this.$message.error(error.data.msg);
+ }
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+ // 获取用户详情
+ async getProDetail() {
+ try {
+ let inter = await getInterface(this.serverParams);
+ this.serverList = inter.data.data.list;
+ this.total = inter.data.data.count;
+ if (this.total > 20) {
+ this.serverParams.limit = this.total;
+ inter = await getInterface(this.serverParams);
+ this.serverList = inter.data.data.list;
+ }
+
+ const res = await getProductDetail(this.id);
+ const temp = res.data.data.host;
+ this.isAgent = res.data.data?.host.agent === 1;
+ Object.assign(this.formData, temp);
+ this.formData.active_time = temp.active_time
+ ? moment(temp.active_time * 1000).format("YYYY-MM-DD HH:mm:ss")
+ : "";
+ this.formData.due_time = temp.due_time
+ ? moment(temp.due_time * 1000).format("YYYY-MM-DD HH:mm:ss")
+ : "";
+ this.formData.server_id =
+ temp.server_id === 0 ? "" : temp.server_id;
+ this.tempCycle = temp.billing_cycle;
+ this.tempHostId = temp.upstream_host_id;
+ this.$forceUpdate();
+ this.getHostField();
+ this.status = res.data.data.status.map((item, index) => {
+ return { value: item, label: lang[item] };
+ });
+ this.curStatus = this.formData.status;
+ document.title =
+ lang.user_list +
+ "-" +
+ temp.product_name +
+ "-" +
+ localStorage.getItem("back_website_name");
+ this.init();
+ } catch (error) {
+ console.log(error);
+ }
+ },
+ // 续费
+ async renew() {
+ try {
+ const res = await getSingleRenew(this.id);
+ console.log(res);
+ } catch (error) {
+ this.$message.error(error.data.msg);
+ }
+ },
+ },
+ }).$mount(template);
+ typeof old_onload == "function" && old_onload();
+ };
+})(window);
diff --git a/10.3.4/public/admin/template/default/js/index.js b/10.3.5/public/admin/template/default/js/index.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/index.js
rename to 10.3.5/public/admin/template/default/js/index.js
diff --git a/10.3.4/public/admin/template/default/js/info_config.js b/10.3.5/public/admin/template/default/js/info_config.js
similarity index 87%
rename from 10.3.4/public/admin/template/default/js/info_config.js
rename to 10.3.5/public/admin/template/default/js/info_config.js
index 30a07337..24647325 100644
--- a/10.3.4/public/admin/template/default/js/info_config.js
+++ b/10.3.5/public/admin/template/default/js/info_config.js
@@ -93,55 +93,55 @@
],
typeRules: {
icp_info: [
- { required: true, message: lang.input + lang.icp_info, type: 'error' },
+ { required: false, message: lang.input + lang.icp_info, type: 'error' },
],
icp_info_link: [
- { required: true, message: lang.input + lang.jump_link, type: 'error' },
+ { required: false, message: lang.input + lang.jump_link, type: 'error' },
{
pattern: /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/, message: lang.feed_tip, type: 'warning'
}
],
public_security_network_preparation: [
- { required: true, message: lang.input + lang.put_on_record, type: 'error' },
+ { required: false, message: lang.input + lang.put_on_record, type: 'error' },
],
public_security_network_preparation_link: [
- { required: true, message: lang.input + lang.jump_link, type: 'error' },
+ { required: false, message: lang.input + lang.jump_link, type: 'error' },
{
pattern: /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/, message: lang.feed_tip, type: 'warning'
}
],
telecom_appreciation: [
- { required: true, message: lang.input + lang.telecom_value, type: 'error' },
+ { required: false, message: lang.input + lang.telecom_value, type: 'error' },
],
copyright_info: [
- { required: true, message: lang.input + lang.copyright, type: 'error' },
+ { required: false, message: lang.input + lang.copyright, type: 'error' },
],
put_on_record: [
- { required: true, message: lang.input + lang.put_on_record, type: 'error' },
+ { required: false, message: lang.input + lang.put_on_record, type: 'error' },
],
enterprise_name: [
- { required: true, message: lang.input + lang.enterprise_name, type: 'error' },
+ { required: false, message: lang.input + lang.enterprise_name, type: 'error' },
],
enterprise_telephone: [
- { required: true, message: lang.input + lang.enterprise_telephone, type: 'error' },
+ { required: false, message: lang.input + lang.enterprise_telephone, type: 'error' },
],
enterprise_mailbox: [
- { required: true, message: lang.input + lang.enterprise_mailbox, type: 'error' },
+ { required: false, message: lang.input + lang.enterprise_mailbox, type: 'error' },
],
cloud_product_link: [
- { required: true, message: lang.input + lang.cloud_product_link, type: 'error' },
+ { required: false, message: lang.input + lang.cloud_product_link, type: 'error' },
],
dcim_product_link: [
- { required: true, message: lang.input + lang.dcim_product_link, type: 'error' },
+ { required: false, message: lang.input + lang.dcim_product_link, type: 'error' },
],
online_customer_service_link: [
- { required: true, message: lang.input + lang.online_customer_service_link, type: 'error' },
+ { required: false, message: lang.input + lang.online_customer_service_link, type: 'error' },
],
qrcode: [
- { required: true, message: lang.attachment + lang.enterprise_qrcode, type: 'error' },
+ { required: false, message: lang.attachment + lang.enterprise_qrcode, type: 'error' },
],
logo: [
- { required: true, message: lang.attachment + lang.web_logo, type: 'error', trigger: 'change' },
+ { required: false, message: lang.attachment + lang.web_logo, type: 'error', trigger: 'change' },
]
},
popupProps: {
@@ -332,13 +332,14 @@
try {
this.submitLoading = true
const params = JSON.parse(JSON.stringify(this.infoParams))
- params.enterprise_qrcode = params.qrcode[0].url
- params.official_website_logo = params.logo[0].url
+ params.enterprise_qrcode = params.qrcode[0]?.url ? params.qrcode[0].url : ''
+ params.official_website_logo = params.logo[0]?.url ? params.logo[0].url : ''
const res = await saveConfigInfo(params)
this.$message.success(res.data.msg)
this.getConfigInfo()
this.submitLoading = false
} catch (error) {
+ console.log(error);
this.submitLoading = false
this.$message.error(error.data.msg)
}
diff --git a/10.3.4/public/admin/template/default/js/install.js b/10.3.5/public/admin/template/default/js/install.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/install.js
rename to 10.3.5/public/admin/template/default/js/install.js
diff --git a/10.3.4/public/admin/template/default/js/log_notice_email.js b/10.3.5/public/admin/template/default/js/log_notice_email.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/log_notice_email.js
rename to 10.3.5/public/admin/template/default/js/log_notice_email.js
diff --git a/10.3.4/public/admin/template/default/js/log_notice_sms.js b/10.3.5/public/admin/template/default/js/log_notice_sms.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/log_notice_sms.js
rename to 10.3.5/public/admin/template/default/js/log_notice_sms.js
diff --git a/10.3.4/public/admin/template/default/js/log_system.js b/10.3.5/public/admin/template/default/js/log_system.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/log_system.js
rename to 10.3.5/public/admin/template/default/js/log_system.js
diff --git a/10.3.4/public/admin/template/default/js/login.js b/10.3.5/public/admin/template/default/js/login.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/login.js
rename to 10.3.5/public/admin/template/default/js/login.js
diff --git a/10.3.4/public/admin/template/default/js/navigation.js b/10.3.5/public/admin/template/default/js/navigation.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/navigation.js
rename to 10.3.5/public/admin/template/default/js/navigation.js
diff --git a/10.3.4/public/admin/template/default/js/no_auth.js b/10.3.5/public/admin/template/default/js/no_auth.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/no_auth.js
rename to 10.3.5/public/admin/template/default/js/no_auth.js
diff --git a/10.3.4/public/admin/template/default/js/notFound.js b/10.3.5/public/admin/template/default/js/notFound.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/notFound.js
rename to 10.3.5/public/admin/template/default/js/notFound.js
diff --git a/10.3.4/public/admin/template/default/js/notice_email.js b/10.3.5/public/admin/template/default/js/notice_email.js
similarity index 99%
rename from 10.3.4/public/admin/template/default/js/notice_email.js
rename to 10.3.5/public/admin/template/default/js/notice_email.js
index 4d38587e..d2fe8560 100644
--- a/10.3.4/public/admin/template/default/js/notice_email.js
+++ b/10.3.5/public/admin/template/default/js/notice_email.js
@@ -163,7 +163,7 @@
const res = await saveMoudleConfig(params)
this.$message.success(res.data.msg)
this.configVisble = false
- this.getGatewayList()
+ this.getEmailList()
} catch (error) {
this.$message.error(error.data.msg)
}
@@ -226,7 +226,7 @@
}
},
/**
- *
+ *
* @param {string} nowStr 当前版本
* @param {string} lastStr 最新版本
*/
diff --git a/10.3.4/public/admin/template/default/js/notice_email_template.js b/10.3.5/public/admin/template/default/js/notice_email_template.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/notice_email_template.js
rename to 10.3.5/public/admin/template/default/js/notice_email_template.js
diff --git a/10.3.4/public/admin/template/default/js/notice_email_template_create.js b/10.3.5/public/admin/template/default/js/notice_email_template_create.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/notice_email_template_create.js
rename to 10.3.5/public/admin/template/default/js/notice_email_template_create.js
diff --git a/10.3.4/public/admin/template/default/js/notice_email_template_update.js b/10.3.5/public/admin/template/default/js/notice_email_template_update.js
similarity index 91%
rename from 10.3.4/public/admin/template/default/js/notice_email_template_update.js
rename to 10.3.5/public/admin/template/default/js/notice_email_template_update.js
index 6b2e6cf6..fb91436e 100644
--- a/10.3.4/public/admin/template/default/js/notice_email_template_update.js
+++ b/10.3.5/public/admin/template/default/js/notice_email_template_update.js
@@ -9,6 +9,7 @@
new Vue({
data () {
return {
+ baseUrl: str,
formData: {
id: '',
name: '',
@@ -33,7 +34,7 @@
this.getEmailDetail()
},
mounted () {
- this.initTemplate()
+ // this.initTemplate()
document.title = lang.email_notice + '-' + lang.template_manage + '-' + localStorage.getItem('back_website_name')
},
computed: {
@@ -52,6 +53,7 @@
const res = await getEmailTemplateDetail(this.formData.id)
Object.assign(this.formData, res.data.data.email_template)
// tinymce.editors['emailTemp'].setContent(this.formData.message)
+ this.initTemplate()
} catch (error) {
console.log(error)
}
@@ -89,7 +91,13 @@
'bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image fullpage code | removeformat',
images_upload_url: str + 'v1/upload',
images_upload_handler: this.handlerAddImg,
- content_css: '../css/setting.css',
+ content_css: `${this.baseUrl}template/default/css/setting.css`,
+ // setup: function(editor) {
+ // editor.on('init', function() {
+ // // 在初始化完成后回填数据
+ // editor.setContent(this.calStr(this.formData.message));
+ // });
+ // }
});
},
handlerAddImg (blobInfo, success, failure) {
diff --git a/10.3.4/public/admin/template/default/js/notice_send.js b/10.3.5/public/admin/template/default/js/notice_send.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/notice_send.js
rename to 10.3.5/public/admin/template/default/js/notice_send.js
diff --git a/10.3.4/public/admin/template/default/js/notice_sms.js b/10.3.5/public/admin/template/default/js/notice_sms.js
similarity index 99%
rename from 10.3.4/public/admin/template/default/js/notice_sms.js
rename to 10.3.5/public/admin/template/default/js/notice_sms.js
index f22ea030..f764dad5 100644
--- a/10.3.4/public/admin/template/default/js/notice_sms.js
+++ b/10.3.5/public/admin/template/default/js/notice_sms.js
@@ -290,7 +290,7 @@
const res = await saveMoudleConfig(params)
this.$message.success(res.data.msg)
this.configVisble = false
- this.getGatewayList()
+ this.getSmsList()
} catch (error) {
this.$message.error(error.data.msg)
}
diff --git a/10.3.4/public/admin/template/default/js/notice_sms_template.js b/10.3.5/public/admin/template/default/js/notice_sms_template.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/notice_sms_template.js
rename to 10.3.5/public/admin/template/default/js/notice_sms_template.js
diff --git a/10.3.4/public/admin/template/default/js/order.js b/10.3.5/public/admin/template/default/js/order.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/order.js
rename to 10.3.5/public/admin/template/default/js/order.js
diff --git a/10.3.4/public/admin/template/default/js/order_details.js b/10.3.5/public/admin/template/default/js/order_details.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/order_details.js
rename to 10.3.5/public/admin/template/default/js/order_details.js
diff --git a/10.3.4/public/admin/template/default/js/order_flow.js b/10.3.5/public/admin/template/default/js/order_flow.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/order_flow.js
rename to 10.3.5/public/admin/template/default/js/order_flow.js
diff --git a/10.3.4/public/admin/template/default/js/order_notes.js b/10.3.5/public/admin/template/default/js/order_notes.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/order_notes.js
rename to 10.3.5/public/admin/template/default/js/order_notes.js
diff --git a/10.3.4/public/admin/template/default/js/order_refund.js b/10.3.5/public/admin/template/default/js/order_refund.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/order_refund.js
rename to 10.3.5/public/admin/template/default/js/order_refund.js
diff --git a/10.3.4/public/admin/template/default/js/product.js b/10.3.5/public/admin/template/default/js/product.js
similarity index 97%
rename from 10.3.4/public/admin/template/default/js/product.js
rename to 10.3.5/public/admin/template/default/js/product.js
index 4ba22186..844894fd 100644
--- a/10.3.4/public/admin/template/default/js/product.js
+++ b/10.3.5/public/admin/template/default/js/product.js
@@ -150,7 +150,10 @@
backward: 1
},
maxHeight: '',
- isFilter: false // 是否过滤其他分组
+ isFilter: false, // 是否过滤其他分组
+ copyTitle: '',
+ copyVisble: false,
+ submitLoading: false
}
},
// mounted() {
@@ -216,6 +219,25 @@
closeAgentDia () {
this.agentVisble = false
},
+ // 复制
+ copyHandler (row) {
+ this.curId = row.id
+ this.copyVisble = true
+ this.copyTitle = `${lang.sure}${lang.copy}${row.name}?`
+ },
+ async sureCopy () {
+ try {
+ this.submitLoading = true
+ const res = await copyProduct({id: this.curId})
+ this.$message.success(res.data.msg)
+ this.getProductList()
+ this.submitLoading = false
+ this.copyVisble = false
+ } catch (error) {
+ this.submitLoading = false
+ this.$message.error(error.data.msg)
+ }
+ },
// 编辑
editHandler (row) {
if (row.key.indexOf('t') !== -1) {
diff --git a/10.3.4/public/admin/template/default/js/product_api.js b/10.3.5/public/admin/template/default/js/product_api.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/product_api.js
rename to 10.3.5/public/admin/template/default/js/product_api.js
diff --git a/10.3.4/public/admin/template/default/js/product_detail.js b/10.3.5/public/admin/template/default/js/product_detail.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/product_detail.js
rename to 10.3.5/public/admin/template/default/js/product_detail.js
diff --git a/10.3.4/public/admin/template/default/js/rc_order.js b/10.3.5/public/admin/template/default/js/rc_order.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/rc_order.js
rename to 10.3.5/public/admin/template/default/js/rc_order.js
diff --git a/10.3.4/public/admin/template/default/js/rc_order_config.js b/10.3.5/public/admin/template/default/js/rc_order_config.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/rc_order_config.js
rename to 10.3.5/public/admin/template/default/js/rc_order_config.js
diff --git a/10.3.4/public/admin/template/default/js/rc_order_details.js b/10.3.5/public/admin/template/default/js/rc_order_details.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/rc_order_details.js
rename to 10.3.5/public/admin/template/default/js/rc_order_details.js
diff --git a/10.3.4/public/admin/template/default/js/real_name_approval.js b/10.3.5/public/admin/template/default/js/real_name_approval.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/real_name_approval.js
rename to 10.3.5/public/admin/template/default/js/real_name_approval.js
diff --git a/10.3.4/public/admin/template/default/js/real_name_interface.js b/10.3.5/public/admin/template/default/js/real_name_interface.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/real_name_interface.js
rename to 10.3.5/public/admin/template/default/js/real_name_interface.js
diff --git a/10.3.4/public/admin/template/default/js/real_name_setting.js b/10.3.5/public/admin/template/default/js/real_name_setting.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/real_name_setting.js
rename to 10.3.5/public/admin/template/default/js/real_name_setting.js
diff --git a/10.3.4/public/admin/template/default/js/recording1559.js b/10.3.5/public/admin/template/default/js/recording1559.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/recording1559.js
rename to 10.3.5/public/admin/template/default/js/recording1559.js
diff --git a/10.3.4/public/admin/template/default/js/search1559.js b/10.3.5/public/admin/template/default/js/search1559.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/search1559.js
rename to 10.3.5/public/admin/template/default/js/search1559.js
diff --git a/10.3.4/public/admin/template/default/js/server.js b/10.3.5/public/admin/template/default/js/server.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/server.js
rename to 10.3.5/public/admin/template/default/js/server.js
diff --git a/10.3.4/public/admin/template/default/js/server_group.js b/10.3.5/public/admin/template/default/js/server_group.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/server_group.js
rename to 10.3.5/public/admin/template/default/js/server_group.js
diff --git a/10.3.4/public/admin/template/default/js/setting1559.js b/10.3.5/public/admin/template/default/js/setting1559.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/setting1559.js
rename to 10.3.5/public/admin/template/default/js/setting1559.js
diff --git a/10.3.4/public/admin/template/default/js/supplier_goods.js b/10.3.5/public/admin/template/default/js/supplier_goods.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/supplier_goods.js
rename to 10.3.5/public/admin/template/default/js/supplier_goods.js
diff --git a/10.3.4/public/admin/template/default/js/supplier_list.js b/10.3.5/public/admin/template/default/js/supplier_list.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/supplier_list.js
rename to 10.3.5/public/admin/template/default/js/supplier_list.js
diff --git a/10.3.4/public/admin/template/default/js/supplier_order.js b/10.3.5/public/admin/template/default/js/supplier_order.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/supplier_order.js
rename to 10.3.5/public/admin/template/default/js/supplier_order.js
diff --git a/10.3.4/public/admin/template/default/js/supplier_product.js b/10.3.5/public/admin/template/default/js/supplier_product.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/supplier_product.js
rename to 10.3.5/public/admin/template/default/js/supplier_product.js
diff --git a/10.3.4/public/admin/template/default/js/task.js b/10.3.5/public/admin/template/default/js/task.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/task.js
rename to 10.3.5/public/admin/template/default/js/task.js
diff --git a/10.3.4/public/admin/template/default/js/template.js b/10.3.5/public/admin/template/default/js/template.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/template.js
rename to 10.3.5/public/admin/template/default/js/template.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/icons/default/icons.min.js b/10.3.5/public/admin/template/default/js/tinymce/icons/default/icons.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/icons/default/icons.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/icons/default/icons.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/jquery.tinymce.min.js b/10.3.5/public/admin/template/default/js/tinymce/jquery.tinymce.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/jquery.tinymce.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/jquery.tinymce.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/langs/README.md b/10.3.5/public/admin/template/default/js/tinymce/langs/README.md
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/langs/README.md
rename to 10.3.5/public/admin/template/default/js/tinymce/langs/README.md
diff --git a/10.3.4/public/admin/template/default/js/tinymce/license.txt b/10.3.5/public/admin/template/default/js/tinymce/license.txt
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/license.txt
rename to 10.3.5/public/admin/template/default/js/tinymce/license.txt
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/advlist/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/advlist/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/advlist/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/advlist/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/anchor/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/anchor/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/anchor/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/anchor/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/autolink/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/autolink/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/autolink/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/autolink/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/autoresize/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/autoresize/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/autoresize/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/autoresize/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/autosave/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/autosave/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/autosave/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/autosave/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/bbcode/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/bbcode/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/bbcode/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/bbcode/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/charmap/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/charmap/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/charmap/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/charmap/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/code/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/code/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/code/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/code/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/codesample/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/codesample/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/codesample/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/codesample/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/colorpicker/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/colorpicker/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/colorpicker/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/colorpicker/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/contextmenu/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/contextmenu/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/contextmenu/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/contextmenu/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/directionality/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/directionality/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/directionality/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/directionality/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojiimages.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/js/emojis.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/emoticons/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/emoticons/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/fullpage/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/fullpage/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/fullpage/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/fullpage/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/fullscreen/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/fullscreen/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/fullscreen/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/fullscreen/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/help/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/help/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/help/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/help/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/hr/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/hr/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/hr/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/hr/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/image/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/image/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/image/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/image/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/imagetools/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/imagetools/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/imagetools/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/imagetools/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/importcss/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/importcss/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/importcss/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/importcss/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/insertdatetime/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/insertdatetime/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/insertdatetime/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/insertdatetime/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/legacyoutput/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/legacyoutput/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/legacyoutput/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/legacyoutput/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/link/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/link/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/link/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/link/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/lists/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/lists/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/lists/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/lists/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/media/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/media/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/media/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/media/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/nonbreaking/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/nonbreaking/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/nonbreaking/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/nonbreaking/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/noneditable/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/noneditable/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/noneditable/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/noneditable/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/pagebreak/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/pagebreak/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/pagebreak/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/pagebreak/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/paste/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/paste/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/paste/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/paste/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/preview/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/preview/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/preview/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/preview/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/print/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/print/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/print/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/print/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/quickbars/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/quickbars/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/quickbars/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/quickbars/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/save/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/save/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/save/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/save/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/searchreplace/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/searchreplace/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/searchreplace/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/searchreplace/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/spellchecker/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/spellchecker/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/spellchecker/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/spellchecker/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/tabfocus/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/tabfocus/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/tabfocus/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/tabfocus/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/table/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/table/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/table/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/table/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/template/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/template/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/template/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/template/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/textcolor/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/textcolor/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/textcolor/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/textcolor/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/textpattern/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/textpattern/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/textpattern/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/textpattern/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/toc/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/toc/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/toc/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/toc/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/visualblocks/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/visualblocks/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/visualblocks/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/visualblocks/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/visualchars/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/visualchars/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/visualchars/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/visualchars/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/plugins/wordcount/plugin.min.js b/10.3.5/public/admin/template/default/js/tinymce/plugins/wordcount/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/plugins/wordcount/plugin.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/plugins/wordcount/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/content/dark/content.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/content/dark/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/content/dark/content.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/content/dark/content.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/content/default/content.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/content/default/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/content/default/content.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/content/default/content.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/content/document/content.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/content/document/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/content/document/content.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/content/document/content.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/content/writer/content.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/content/writer/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/content/writer/content.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/content/writer/content.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.inline.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.inline.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.inline.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.inline.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/content.inline.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/content.inline.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/content.inline.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/content.inline.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/content.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/content.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/content.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/content.mobile.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/content.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/content.mobile.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/content.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.mobile.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.mobile.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css
rename to 10.3.5/public/admin/template/default/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css
diff --git a/10.3.4/public/admin/template/default/js/tinymce/themes/mobile/theme.min.js b/10.3.5/public/admin/template/default/js/tinymce/themes/mobile/theme.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/themes/mobile/theme.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/themes/mobile/theme.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/themes/silver/theme.min.js b/10.3.5/public/admin/template/default/js/tinymce/themes/silver/theme.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/themes/silver/theme.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/themes/silver/theme.min.js
diff --git a/10.3.4/public/admin/template/default/js/tinymce/tinymce.d.ts b/10.3.5/public/admin/template/default/js/tinymce/tinymce.d.ts
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/tinymce.d.ts
rename to 10.3.5/public/admin/template/default/js/tinymce/tinymce.d.ts
diff --git a/10.3.4/public/admin/template/default/js/tinymce/tinymce.min.js b/10.3.5/public/admin/template/default/js/tinymce/tinymce.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/tinymce/tinymce.min.js
rename to 10.3.5/public/admin/template/default/js/tinymce/tinymce.min.js
diff --git a/10.3.4/public/admin/template/default/js/transaction.js b/10.3.5/public/admin/template/default/js/transaction.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/transaction.js
rename to 10.3.5/public/admin/template/default/js/transaction.js
diff --git a/10.3.4/public/admin/template/default/js/upstream_goods.js b/10.3.5/public/admin/template/default/js/upstream_goods.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/upstream_goods.js
rename to 10.3.5/public/admin/template/default/js/upstream_goods.js
diff --git a/10.3.4/public/admin/template/default/js/upstream_order.js b/10.3.5/public/admin/template/default/js/upstream_order.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/upstream_order.js
rename to 10.3.5/public/admin/template/default/js/upstream_order.js
diff --git a/10.3.4/public/admin/template/default/js/upstream_product.js b/10.3.5/public/admin/template/default/js/upstream_product.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/upstream_product.js
rename to 10.3.5/public/admin/template/default/js/upstream_product.js
diff --git a/10.3.4/public/admin/template/default/js/withdrawal.js b/10.3.5/public/admin/template/default/js/withdrawal.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/js/withdrawal.js
rename to 10.3.5/public/admin/template/default/js/withdrawal.js
diff --git a/10.3.5/public/admin/template/default/lang/dist/zh-hk.dev.js b/10.3.5/public/admin/template/default/lang/dist/zh-hk.dev.js
new file mode 100644
index 00000000..939b4548
--- /dev/null
+++ b/10.3.5/public/admin/template/default/lang/dist/zh-hk.dev.js
@@ -0,0 +1,195 @@
+"use strict";
+
+var _lang_obj;
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var lang_obj = (_lang_obj = {
+ display_name: "中文簡體",
+ // 用於在語言切換下拉中顯示
+ display_flag: "CN",
+ // 用於顯示圖片,使用國家代碼大寫
+ theme_mode: "主題模式",
+ theme_color: "主題色",
+ change_password: "修改密碼",
+ logout: "退出登錄",
+ theme_light: "明亮",
+ theme_dark: "暗黑",
+ input: "請輸入",
+ upload: "請上傳",
+ select: "請選擇",
+ edit: "編輯",
+ content: "內容",
+ status: "狀態",
+ query: "查詢",
+ reset: "重置",
+ home: "首頁",
+ homepage: "首頁",
+ unit_price: "單價",
+ captcha: "驗證碼",
+ total_price: "總價",
+ task_status: "任務狀態",
+ task_description: "任務描述",
+ start_time: "開始時間",
+ not_page: "頁面找不到了",
+ create_time: "建立時間",
+ end_time: "完成時間",
+ due_time: "到期時間",
+ order_time: "下單時間",
+ order_date: "下單日期",
+ choose_product: "選擇產品",
+ choose_shop: "選擇商品",
+ help_document: "說明文件",
+ please_search: "請搜尋",
+ host_active_product_num: "有效產品數量",
+ search_placeholder: "請輸入你需要搜尋的內容",
+ user_tip: "手機號碼與信箱任一個",
+ password_tip: "兩次密碼不一致",
+ email_tip: "郵件信箱格式錯誤",
+ phone_code: "區號",
+ admin: "管理者",
+ manage: "管理",
+ template_title: "模板標題",
+ phone: "手機號碼",
+ nickname: "名稱",
+ interface_group_name: "介面分組名稱",
+ acount: "帳號",
+ title: "標題",
+ required: "必填",
+ group: "分組",
+ sure: "確定",
+ submit: "提交",
+ submit_order: "提交訂單",
+ operator: "操作人",
+ operation: "操作",
+ cancel: "取消",
+ select_text: "選擇",
+ "delete": "刪除",
+ test: "測試",
+ hold: "儲存",
+ apply_nav: "應用程式導航",
+ add_page: "新增頁面",
+ close: "關閉",
+ country: "國家",
+ address: "地址",
+ company: "公司",
+ language: "語言",
+ notes: "備註",
+ admin_notes: "管理員備註",
+ recovery: "恢復",
+ Recharge: "儲值",
+ recharge: "儲值訂單",
+ add_money: "增加餘額",
+ sub_money: "扣除餘額",
+ force_change: "強制變更",
+ Applied: "應用程式至訂單",
+ Overpayment: "超付",
+ Underpayment: "少付",
+ deduction: "扣費",
+ credit: "餘額",
+ money: "金額",
+ time: "時間",
+ description: "描述",
+ consume: "消費",
+ Refund: "退款",
+ withdraw: "提現",
+ Withdraw: "提現",
+ host_num: "產品總數",
+ isOpen: "是否啟用",
+ enable: "啟用",
+ deactivate: "停用",
+ pay_way: "付款方式",
+ credit_pay: "信用額支付",
+ action_name: "動作名稱",
+ sms_global_name: "國際簡訊介面",
+ sms_global_template: "國際簡訊模板",
+ automation: "自動化",
+ automation_scripts: "自動化腳本",
+ automation_status: "自動化狀態",
+ automation_normal: "自動任務狀態正常",
+ automation_abnormal: "自動任務狀態異常",
+ task_queue_commands: "任務佇列命令",
+ task_queue_status: "任務佇列狀態",
+ task_queue_normal: "任務佇列狀態正常",
+ task_queue_abnormal: "任務佇列狀態異常",
+ automation_switch: "自動開關",
+ module: "模組",
+ time_setting: "時間設定",
+ task_execution_time: "定時任務執行時間",
+ financial: "財務",
+ auto_order: "工單",
+ module_tasks: "模組任務及通知",
+ host_active_num: "有效數量",
+ other_info: "其他資訊",
+ product_descript: "商品描述",
+ product_id: "產品#-產品ID",
+ register_time: "註冊時間",
+ change_time: "變更時間",
+ login_time: "登入時間",
+ last_login_time: "上次登入時間",
+ last_login_ip: "上次登入IP",
+ basic_info: "基礎資料",
+ personal: "個人資料",
+ financial_info: "餘額管理",
+ product_info: "產品資訊",
+ order_manage: "訂單管理",
+ login_record: "登入記錄",
+ change_log: "變更記錄",
+ change_money: "變更金額",
+ sureDelete: "確認刪除?",
+ sureUninstall: "確認卸載?",
+ sureInstall: "確認安裝?",
+ sureDisable: "確認停用?",
+ sure_Open: "確認啟用?",
+ sure_Close: "確認停用?",
+ sure_cancel: "確認關閉?",
+ modify_success: "修改成功",
+ update: "修改",
+ add_success: "新增成功",
+ add: "新增",
+ del_success: "刪除成功",
+ login_suc: "登入成功",
+ login: "登入",
+ rember_acount: "記住帳號",
+ financial_infos: "財務資訊",
+
+ /* menu */
+ user_manage: "使用者管理",
+ business_manage: "業務管理",
+ user_list: "使用者列表",
+ user_detail: "使用者詳情",
+ product_list: "商品列表",
+ goods_list: "產品列表",
+ notice_interface: "通知介面",
+ create_user: "新使用者",
+ create_order: "新訂單",
+ create_order_detail: "訂單詳情",
+ detail: "詳情",
+ "interface": "介面",
+ interface_status: "介面狀態",
+ total: "總計",
+ version: "版本",
+ author: "開發者",
+ create_interface: "新介面",
+ edit_interface: "編輯介面",
+ update_interface: "修改介面",
+ interface_name: "介面名稱",
+ module_type: "模組類型",
+ open_status: "啟用狀態",
+ create_product: "新建商品",
+ baidu_create: "新建百度商品",
+ immediate_agency: "立即代理商品",
+ manage_agency: "管理可被代理商品",
+ delete_product: "刪除商品",
+ auto_setup: "付款後自動開通",
+ auto_setup_tip: "付款後,系統將會自動呼叫介面開通,實現自動化開通"
+}, _defineProperty(_lang_obj, "basic_info", "基礎資訊"), _defineProperty(_lang_obj, "delete_group", "刪除分組"), _defineProperty(_lang_obj, "support_direction", "支援方向"), _defineProperty(_lang_obj, "product", "商品"), _defineProperty(_lang_obj, "tailorism", "產品"), _defineProperty(_lang_obj, "upgrade_to", "升級至"), _defineProperty(_lang_obj, "user", "使用者"), _defineProperty(_lang_obj, "look", "檢視"), _defineProperty(_lang_obj, "search", "搜尋"), _defineProperty(_lang_obj, "name", "姓名"), _defineProperty(_lang_obj, "username", "使用者名稱"), _defineProperty(_lang_obj, "contact", "聯絡方式"), _defineProperty(_lang_obj, "email", "信箱"), _defineProperty(_lang_obj, "password", "密碼"), _defineProperty(_lang_obj, "surePassword", "確認密碼"), _defineProperty(_lang_obj, "login_as_user", "以使用者登入"), _defineProperty(_lang_obj, "please_enter_name", "請輸入姓名"), _defineProperty(_lang_obj, "Unpaid", "未付款"), _defineProperty(_lang_obj, "Paid", "已付款"), _defineProperty(_lang_obj, "Pending", "開通中"), _defineProperty(_lang_obj, "Active", "使用中"), _defineProperty(_lang_obj, "Suspended", "已暫停"), _defineProperty(_lang_obj, "Deleted", "已刪除"), _defineProperty(_lang_obj, "Failed", "開通失敗"), _defineProperty(_lang_obj, "failed", "失敗"), _defineProperty(_lang_obj, "free", "免費"), _defineProperty(_lang_obj, "type", "型別"), _defineProperty(_lang_obj, "onetime", "一次性"), _defineProperty(_lang_obj, "recurring_prepayment", "週期先付"), _defineProperty(_lang_obj, "recurring_postpaid", "週期後付"), _defineProperty(_lang_obj, "buy_amount", "訂購金額"), _defineProperty(_lang_obj, "renew_amount", "續費金額"), _defineProperty(_lang_obj, "discount", "優惠碼"), _defineProperty(_lang_obj, "billing_way", "計費方式"), _defineProperty(_lang_obj, "billing_cycle", "計費週期"), _defineProperty(_lang_obj, "hour", "小時"), _defineProperty(_lang_obj, "day", "天"), _defineProperty(_lang_obj, "delHostTips", "是否需要刪除所選產品,刪除後不可找回,刪除不會執行模組動作"), _defineProperty(_lang_obj, "ontrial", "試用"), _defineProperty(_lang_obj, "monthly", "月付"), _defineProperty(_lang_obj, "quarterly", "季付"), _defineProperty(_lang_obj, "semiannually", "半年付"), _defineProperty(_lang_obj, "annually", "年付"), _defineProperty(_lang_obj, "biennially", "兩年付"), _defineProperty(_lang_obj, "triennially", "三年付"), _defineProperty(_lang_obj, "fourly", "四年付"), _defineProperty(_lang_obj, "fively", "五年付"), _defineProperty(_lang_obj, "sixly", "六年付"), _defineProperty(_lang_obj, "sevenly", "七年付"), _defineProperty(_lang_obj, "eightly", "八年付"), _defineProperty(_lang_obj, "ninely", "九年付"), _defineProperty(_lang_obj, "tenly", "十年付"), _defineProperty(_lang_obj, "Wait", "未開始"), _defineProperty(_lang_obj, "wait", "等"), _defineProperty(_lang_obj, "Exec", "執行中"), _defineProperty(_lang_obj, "Finish", "完成"), _defineProperty(_lang_obj, "order", "訂單"), _defineProperty(_lang_obj, "new", "新訂單"), _defineProperty(_lang_obj, "renew", "續費訂單"), _defineProperty(_lang_obj, "upgrade", "升降級訂單"), _defineProperty(_lang_obj, "combine", "合併訂單"), _defineProperty(_lang_obj, "credit_limit", "信用訂單"), _defineProperty(_lang_obj, "order_type", "訂單類型"), _defineProperty(_lang_obj, "Artificial", "人工"), _defineProperty(_lang_obj, "artificial", "手動訂單"), _defineProperty(_lang_obj, "update_price", "調整價格"), _defineProperty(_lang_obj, "new_flow", "新增流水"), _defineProperty(_lang_obj, "update_flow", "編輯流水"), _defineProperty(_lang_obj, "flow_number", "流水號"), _defineProperty(_lang_obj, "example", "例如:張"), _defineProperty(_lang_obj, "log", "日誌"), _defineProperty(_lang_obj, "system_log", "系統日誌"), _defineProperty(_lang_obj, "notice_log", "通知日誌"), _defineProperty(_lang_obj, "trade_time", "交易時間"), _defineProperty(_lang_obj, "flow", "交易流水"), _defineProperty(_lang_obj, "can_be_agency", "可被代理商品"), _defineProperty(_lang_obj, "flow_date", "交易日期"), _defineProperty(_lang_obj, "flow_detail", "交易流水詳情"), _defineProperty(_lang_obj, "deleteOrder", "刪除訂單"), _defineProperty(_lang_obj, "deleteOrderTip1", "同時刪除訂單所有產品"), _defineProperty(_lang_obj, "deleteOrderTip2", "若刪除產品,將不會執行模組刪除任務,可能會導致產品失控,請謹慎操作"), _defineProperty(_lang_obj, "sign_pay", "標記支付"), _defineProperty(_lang_obj, "order_amount", "訂單金額"), _defineProperty(_lang_obj, "renew_amount", "續費金額"), _defineProperty(_lang_obj, "balance_paid", "可支付餘額"), _defineProperty(_lang_obj, "active_num", "已開通數量"), _defineProperty(_lang_obj, "no_paid", "待繳餘額"), _defineProperty(_lang_obj, "create_group", "新分組"), _defineProperty(_lang_obj, "edit_group", "修改分組"), _defineProperty(_lang_obj, "group_name", "分組名稱"), _defineProperty(_lang_obj, "belong_group", "所屬分組"), _defineProperty(_lang_obj, "first_group", "一級分組"), _defineProperty(_lang_obj, "second_group", "二級分組"), _defineProperty(_lang_obj, "product_name", "商品名稱"), _defineProperty(_lang_obj, "products_token", "產品識別"), _defineProperty(_lang_obj, "products_name", "產品名稱"), _defineProperty(_lang_obj, "products", "個商品"), _defineProperty(_lang_obj, "product_group", "商品分組"), _defineProperty(_lang_obj, "sold_quantity", "已售數量"), _defineProperty(_lang_obj, "qty_manage", "現有庫存"), _defineProperty(_lang_obj, "inventory", "庫存"), _defineProperty(_lang_obj, "hidden", "是否隱藏"), _defineProperty(_lang_obj, "showText", "顯示"), _defineProperty(_lang_obj, "connect", "關聯"), _defineProperty(_lang_obj, "host_name", "標識"), _defineProperty(_lang_obj, "money_cycle", "金額/週期"), _defineProperty(_lang_obj, "use_credit", "優先扣除餘額"), _defineProperty(_lang_obj, "open", "開啟"), _defineProperty(_lang_obj, "front_nav_manage", "前台導覽管理"), _defineProperty(_lang_obj, "new_page", "新頁面"), _defineProperty(_lang_obj, "page_type", "頁面類型"), _defineProperty(_lang_obj, "close", "關閉"), _defineProperty(_lang_obj, "sms_notice", "簡訊通知"), _defineProperty(_lang_obj, "receiver", "接收方"), _defineProperty(_lang_obj, "email_notice", "郵件通知"), _defineProperty(_lang_obj, "email_name", "郵件名稱"), _defineProperty(_lang_obj, "connect_goods", "可關聯商品"), _defineProperty(_lang_obj, "upAndDown", "升降級"), _defineProperty(_lang_obj, "original_refund", "原產品應退款金額"), _defineProperty(_lang_obj, "new_price", "新產品應付金額"), _defineProperty(_lang_obj, "upgrade_price", "升降級訂單金額,前兩者之差"), _defineProperty(_lang_obj, "demote_range", "可升降級範圍"), _defineProperty(_lang_obj, "notice", "通知"), _defineProperty(_lang_obj, "product_notice", "商品開通通知"), _defineProperty(_lang_obj, "open_notice", "開通中"), _defineProperty(_lang_obj, "opened_notice", "已開通"), _defineProperty(_lang_obj, "sms_interface", "簡訊介面"), _defineProperty(_lang_obj, "home_sms_interface", "國內簡訊介面"), _defineProperty(_lang_obj, "email_interface", "郵件介面"), _defineProperty(_lang_obj, "sms_template", "簡訊模板"), _defineProperty(_lang_obj, "home_sms_template", "國內簡訊模板"), _defineProperty(_lang_obj, "email_temp", "郵件範本"), _defineProperty(_lang_obj, "email_temp_manage", "郵件範本管理"), _defineProperty(_lang_obj, "email_temp_notice", "郵件範本通知"), _defineProperty(_lang_obj, "negative_lower_tip", "阿里餘額為負通知"), _defineProperty(_lang_obj, "negative_add_lower_tip", "阿里餘額負數成長通知"), _defineProperty(_lang_obj, "tel_temp_notice", "簡訊範本通知"), _defineProperty(_lang_obj, "template", "模板"), _defineProperty(_lang_obj, "template_type", "模組類型"), _defineProperty(_lang_obj, "open_time", "開通時間"), _defineProperty(_lang_obj, "cost", "費用"), _defineProperty(_lang_obj, "retry", "重試"), _defineProperty(_lang_obj, "cost_type", "費用類型"), _defineProperty(_lang_obj, "free_type_tip", "變更費用類型後,可能導致已配置商品價格顯示異常。是否確認變更?"), _defineProperty(_lang_obj, "free_type_tip1", "變更後請前往介面管理頁核對商品價格。"), _defineProperty(_lang_obj, "choose_group", "選擇分組"), _defineProperty(_lang_obj, "choose_template", "選擇模板"), _defineProperty(_lang_obj, "interface_manage", "介面管理"), _defineProperty(_lang_obj, "choose_interface", "選擇介面"), _defineProperty(_lang_obj, "choose_interface_type", "選擇介面類型"), _defineProperty(_lang_obj, "is_show_pro", "是否展示"), _defineProperty(_lang_obj, "show_pro_tip", "是否將商品顯示在會員中心對應模組的清單中"), _defineProperty(_lang_obj, "font_language", "前台網站預設語言"), _defineProperty(_lang_obj, "site_name", "網站名稱"), _defineProperty(_lang_obj, "domain", "網站網域地址"), _defineProperty(_lang_obj, "back_language", "後台網站預設語言"), _defineProperty(_lang_obj, "service_address", "服務條款地址"), _defineProperty(_lang_obj, "privacy_clause_address", "隱私權條款地址"), _defineProperty(_lang_obj, "system", "系統"), _defineProperty(_lang_obj, "size", "尺寸"), _defineProperty(_lang_obj, "logo_size", "大小"), _defineProperty(_lang_obj, "width", "寬"), _defineProperty(_lang_obj, "height", "高"), _defineProperty(_lang_obj, "isAllowChooseLan", "是否允許使用者選擇語言"), _defineProperty(_lang_obj, "maintenance_mode", "維護模式"), _defineProperty(_lang_obj, "system_setting", "系統設定"), _defineProperty(_lang_obj, "system_default_setting", "系統預設設定"), _defineProperty(_lang_obj, "login_setting", "登入設定"), _defineProperty(_lang_obj, "debug_setting", "Debug調試"), _defineProperty(_lang_obj, "debug_setting_tip", "用於系統供應商檢查軟體問題,開啟後,請將以下程式碼傳送至軟體供應商,他們將獲得管理員後台登入權限"), _defineProperty(_lang_obj, "debug_setting_tip1", '調試模式將於'), _defineProperty(_lang_obj, "debug_setting_tip2", '後自動關閉'), _defineProperty(_lang_obj, "debug_minutes", '分鐘'), _defineProperty(_lang_obj, "theme_setting", "主題設定"), _defineProperty(_lang_obj, "system_upgrade", "系統資訊"), _defineProperty(_lang_obj, "member_center", "會員中心"), _defineProperty(_lang_obj, "official_theme", "官網主題"), _defineProperty(_lang_obj, "back_manage", "後台管理"), _defineProperty(_lang_obj, "theme", "主題"), _defineProperty(_lang_obj, "maintenance_mode_info", "維護模式資訊"), _defineProperty(_lang_obj, "allow", "允許"), _defineProperty(_lang_obj, "prohibit", "禁止"), _defineProperty(_lang_obj, "phone_login", "手機號碼登入"), _defineProperty(_lang_obj, "email_login", "郵件信箱登入"), _defineProperty(_lang_obj, "email_register", "信箱註冊"), _defineProperty(_lang_obj, "support_register", "是否支援註冊?"), _defineProperty(_lang_obj, "ip_check", "IP檢查"), _defineProperty(_lang_obj, "ip_check_home", "前台登入是否檢查IP?"), _defineProperty(_lang_obj, "ip_check_admin", "後台登入是否檢查IP?"), _defineProperty(_lang_obj, "support_no_password", "是否支援免密碼登入?"), _defineProperty(_lang_obj, "yes", "是"), _defineProperty(_lang_obj, "login_no", "否"), _defineProperty(_lang_obj, "config", "配置"), _defineProperty(_lang_obj, "optional_config", "可選設定項"), _defineProperty(_lang_obj, "add_other_product", "新增商品"), _defineProperty(_lang_obj, "disable", "禁用"), _defineProperty(_lang_obj, "uninstall", "卸載"), _defineProperty(_lang_obj, "install", "安裝"), _defineProperty(_lang_obj, "not_install", "未安裝"), _defineProperty(_lang_obj, "safe_setting", "安全設定"), _defineProperty(_lang_obj, "captcha_setting", "驗證碼設定"), _defineProperty(_lang_obj, "captcha_manage", "驗證碼介面管理"), _defineProperty(_lang_obj, "enable_code", "啟用圖形驗證碼"), _defineProperty(_lang_obj, "user_register", "新使用者註冊"), _defineProperty(_lang_obj, "user_login", "使用者登入"), _defineProperty(_lang_obj, "admin_login", "後台系統登入"), _defineProperty(_lang_obj, "error_choose_code", "登入失敗時選擇驗證碼"), _defineProperty(_lang_obj, "open_number_code", "啟用數字驗證碼"), _defineProperty(_lang_obj, "image_width", "圖形驗證碼寬度"), _defineProperty(_lang_obj, "image_heigt", "圖形驗證碼高度"), _defineProperty(_lang_obj, "image_num", "圖形驗證碼位數"), _defineProperty(_lang_obj, "image_preview", "圖形驗證碼預覽"), _defineProperty(_lang_obj, "currency_setting", "貨幣配置"), _defineProperty(_lang_obj, "currency_code", "貨幣代碼"), _defineProperty(_lang_obj, "currency_prefix", "貨幣符號"), _defineProperty(_lang_obj, "currency_suffix", "貨幣字尾"), _defineProperty(_lang_obj, "currency_recharge", "貨幣充值"), _defineProperty(_lang_obj, "currency_tip", "單筆最大儲值金額不能小於單筆最小充值金額"), _defineProperty(_lang_obj, "recharge_open", "是否啟用儲值"), _defineProperty(_lang_obj, "recharge_min", "單筆最小金額"), _defineProperty(_lang_obj, "recharge_max", "單筆最大金額"), _defineProperty(_lang_obj, "get_more", "前往商店獲取更多"), _defineProperty(_lang_obj, "small_group_name", "分組名稱"), _defineProperty(_lang_obj, "small_group_tip", "分組說明"), _defineProperty(_lang_obj, "auth_manage", "權限指派"), _defineProperty(_lang_obj, "code", "驗證碼"), _defineProperty(_lang_obj, "admin_create_account", "超級管理員新增後台管理員"), _defineProperty(_lang_obj, "admin_order_amount", "後台管理員調整訂單價格"), _defineProperty(_lang_obj, "admin_order_pay", "後台管理員標記支付訂單"), _defineProperty(_lang_obj, "client_register", "使用者註冊"), _defineProperty(_lang_obj, "client_change_phone", "使用者更改手機"), _defineProperty(_lang_obj, "client_change_email", "使用者更改信箱"), _defineProperty(_lang_obj, "client_change_password", "使用者更改密碼"), _defineProperty(_lang_obj, "order_pay", "用戶支付"), _defineProperty(_lang_obj, "order_recharge", "使用者儲值"), _defineProperty(_lang_obj, "order_overdue", "訂單未付款通知"), _defineProperty(_lang_obj, "host_renewal_one", "第一次續費提醒"), _defineProperty(_lang_obj, "host_renewal_two", "第二次續費提醒"), _defineProperty(_lang_obj, "host_overdue_one", "第一次逾期提醒"), _defineProperty(_lang_obj, "host_overdue_two", "第二次逾期提醒"), _defineProperty(_lang_obj, "host_overdue_three", "第三次逾期提醒"), _defineProperty(_lang_obj, "order_unpaid_notice", "訂單未付款通知"), _defineProperty(_lang_obj, "order_auto_del", "訂單自動刪除"), _defineProperty(_lang_obj, "host_suspend", "產品停用提醒"), _defineProperty(_lang_obj, "host_terminate", "產品未續費刪除提醒"), _defineProperty(_lang_obj, "before_due", "到期前"), _defineProperty(_lang_obj, "after_due", "到期後"), _defineProperty(_lang_obj, "after_orders", "下單後"), _defineProperty(_lang_obj, "no_pay", "未支付"), _defineProperty(_lang_obj, "day_remind", "天提醒"), _defineProperty(_lang_obj, "day_del", "天后,自動刪除"), _defineProperty(_lang_obj, "replied", "已回覆"), _defineProperty(_lang_obj, "\u767C\u9001", "發送"), _defineProperty(_lang_obj, "send_manage", "發送管理"), _defineProperty(_lang_obj, "group_user", "分組使用者"), _defineProperty(_lang_obj, "group_tip", "分組說明"), _defineProperty(_lang_obj, "get_more_interface", "取得更多介面"), _defineProperty(_lang_obj, "template_manage", "模板管理"), _defineProperty(_lang_obj, "create_template", "建立模板"), _defineProperty(_lang_obj, "edit_template", "編輯模板"), _defineProperty(_lang_obj, "admin_setting", "管理員設定"), _defineProperty(_lang_obj, "group_setting", "管理者分組設定"), _defineProperty(_lang_obj, "apply_interface", "申請介面"), _defineProperty(_lang_obj, "include_interface", "包含介面"), _defineProperty(_lang_obj, "international", "國際"), _defineProperty(_lang_obj, "domestic", "國內"), _defineProperty(_lang_obj, "back", "返回"), _defineProperty(_lang_obj, "upstream_info", "上游訊息"), _defineProperty(_lang_obj, "upstream_host_id", "上游產品ID"), _defineProperty(_lang_obj, "more_plugins", "更多應用"), _defineProperty(_lang_obj, "sync_plugin", "同步應用程式"), _defineProperty(_lang_obj, "plug_name", "外掛名稱"), _defineProperty(_lang_obj, "isExpand", "展開/折疊"), _defineProperty(_lang_obj, "isCheckAll", "全選/全不選"), _defineProperty(_lang_obj, "no_submit", "未提交"), _defineProperty(_lang_obj, "no_submit_review", "未提交審核"), _defineProperty(_lang_obj, "under_review", "審核中"), _defineProperty(_lang_obj, "pass", "透過"), _defineProperty(_lang_obj, "pass_review", "透過審核"), _defineProperty(_lang_obj, "fail", "未通過"), _defineProperty(_lang_obj, "fail_review", "未通過審核"), _defineProperty(_lang_obj, "sms_test", "簡訊測試"), _defineProperty(_lang_obj, "email_test", "郵件測試"), _defineProperty(_lang_obj, "choose_area", "選擇區域"), _defineProperty(_lang_obj, "always_show", "始終顯示"), _defineProperty(_lang_obj, "fail_three_show", "失敗三次後顯示"), _defineProperty(_lang_obj, "product_suspend", "產品暫停"), _defineProperty(_lang_obj, "product_relieve_suspend", "產品解除暫停"), _defineProperty(_lang_obj, "product_delete", "產品刪除"), _defineProperty(_lang_obj, "promote", "推介"), _defineProperty(_lang_obj, "promotion_results", "推廣成果"), _defineProperty(_lang_obj, "batch_submit", "大量提交"), _defineProperty(_lang_obj, "submit_success", "提交成功"), _defineProperty(_lang_obj, "sure_batch_submit", "確認批次提交所有範本?"), _defineProperty(_lang_obj, "tip1", "啟用驗證碼可以避免惡意批量評論或提交信息,推薦打開驗證碼功能。"), _defineProperty(_lang_obj, "tip2", "注意: 啟用驗證碼會使得部分操作變得繁瑣,建議僅在必需時開啟"), _defineProperty(_lang_obj, "tip3", "選擇「失敗三次後顯示」將在使用者登入失敗3 次後才顯示驗證碼,"), _defineProperty(_lang_obj, "tip4", "選擇「始終顯示」將始終在登入時顯示驗證碼。"), _defineProperty(_lang_obj, "tip5", "注意: 只有在啟用了使用者登入驗證碼時才有效"), _defineProperty(_lang_obj, "tip6", "開啟後使用者可在個人中心將餘額新增至帳戶"), _defineProperty(_lang_obj, "tip7", "位址中必須帶http或https,非80必須帶連接埠"), _defineProperty(_lang_obj, "tip8", "刪除分組前請移動商品至其他分組"), _defineProperty(_lang_obj, "tip9", "需重新登入管理員後權限才生效"), _defineProperty(_lang_obj, "tip10", "未找到相關資料"), _defineProperty(_lang_obj, "tip11", "注意!選擇後,註冊時需要發送驗證碼才能註冊,不選擇則不需要發送驗證碼。"), _defineProperty(_lang_obj, "tip12", "天,自動暫停"), _defineProperty(_lang_obj, "tip13", "財務因素暫停,付款後自動解封"), _defineProperty(_lang_obj, "tip14", "天,自動刪除"), _defineProperty(_lang_obj, "tip15", "小時後,自動關閉"), _defineProperty(_lang_obj, "tip16", "每月一號自動發送推廣成果報告"), _defineProperty(_lang_obj, "tip17", "你沒有權限存取此頁面"), _defineProperty(_lang_obj, "tip18", "您可以通知管理員授予權限"), _defineProperty(_lang_obj, "tip19", "暫無該權限"), _defineProperty(_lang_obj, "verify1", "之間的數字"), _defineProperty(_lang_obj, "verify2", "之間的數,最多兩位小數"), _defineProperty(_lang_obj, "verify3", "長度不能超過"), _defineProperty(_lang_obj, "verify4", "單筆最小金額必須是大於零的數字,最多兩位小數"), _defineProperty(_lang_obj, "verify5", "請輸入大於0的數字,最多2位小數"), _defineProperty(_lang_obj, "verify6", "開通時間不能晚於到期時間"), _defineProperty(_lang_obj, "verify7", "請輸入大於或等於0的整數"), _defineProperty(_lang_obj, "verify8", "字元長度區間為"), _defineProperty(_lang_obj, "verify9", "請輸入數字、字母"), _defineProperty(_lang_obj, "verify10", "請輸入不為0的數字,最多2位小數"), _defineProperty(_lang_obj, "verify11", "請輸入正確的手機號碼"), _defineProperty(_lang_obj, "verify12", "請輸入大於等於0的金額,最多2位小數"), _defineProperty(_lang_obj, "verify13", "庫存範圍"), _defineProperty(_lang_obj, "verify14", "且不能為中文"), _defineProperty(_lang_obj, "verify15", "請輸入字母、數字、-"), _defineProperty(_lang_obj, "verify16", "正整數"), _defineProperty(_lang_obj, "verify17", "最多兩位小數"), _defineProperty(_lang_obj, "verify18", "之間的整數"), _defineProperty(_lang_obj, "verify19", "大於等於0的金額,最多2位小數"), _defineProperty(_lang_obj, "verify20", "請輸入正確的聯絡電話"), _defineProperty(_lang_obj, "verify21", "請輸入字母、數字、-、_"), _defineProperty(_lang_obj, "user_work_order", "使用者工單"), _defineProperty(_lang_obj, "work_list", "工單列表"), _defineProperty(_lang_obj, "inside_work_order", "內部工單"), _defineProperty(_lang_obj, "order_ticket_num", "工單號碼"), _defineProperty(_lang_obj, "order__configuration", "工單配置"), _defineProperty(_lang_obj, "order_title", "工單標題"), _defineProperty(_lang_obj, "work_type", "內部工單型別"), _defineProperty(_lang_obj, "work_type_status", "內部工單狀態"), _defineProperty(_lang_obj, "order_user_people", "使用者(跟進人)"), _defineProperty(_lang_obj, "order_last_reply_time", "最近回覆時間"), _defineProperty(_lang_obj, "order_name", "工單部門"), _defineProperty(_lang_obj, "order_post_time", "提交時間"), _defineProperty(_lang_obj, "order_poster", "提交人"), _defineProperty(_lang_obj, "order_receiver", "接單人"), _defineProperty(_lang_obj, "order_username", "客戶名稱"), _defineProperty(_lang_obj, "order_client", "關聯使用者"), _defineProperty(_lang_obj, "order_hosts", "關聯產品"), _defineProperty(_lang_obj, "order_status", "目前狀態"), _defineProperty(_lang_obj, "order_pending", "待接單"), _defineProperty(_lang_obj, "order_handling", "處理中"), _defineProperty(_lang_obj, "order_resolved", "已解決"), _defineProperty(_lang_obj, "order_closed", "已關閉"), _defineProperty(_lang_obj, "reply", "回覆"), _defineProperty(_lang_obj, "receive", "接收"), _defineProperty(_lang_obj, "forward", "轉送"), _defineProperty(_lang_obj, "turn_inside", "轉內部"), _defineProperty(_lang_obj, "order_reply", "待回覆"), _defineProperty(_lang_obj, "order_replied", "已回覆"), _defineProperty(_lang_obj, "order_new_close", "關閉"), _defineProperty(_lang_obj, "order_ow_new_rder", "新建內部工單"), _defineProperty(_lang_obj, "turn_order", "轉單"), _defineProperty(_lang_obj, "order_new_rder", "新建工單"), _defineProperty(_lang_obj, "order_text1", "查詢"), _defineProperty(_lang_obj, "order_text2", "關聯使用者"), _defineProperty(_lang_obj, "order_text3", "新建工單"), _defineProperty(_lang_obj, "order_text4", "工單部門"), _defineProperty(_lang_obj, "order_text5", "工單類型"), _defineProperty(_lang_obj, "order_text6", "工單標題"), _defineProperty(_lang_obj, "order_text7", "工單標題"), _defineProperty(_lang_obj, "order_text8", "關聯使用者"), _defineProperty(_lang_obj, "order_text9", "使用者"), _defineProperty(_lang_obj, "order_text10", "關聯產品"), _defineProperty(_lang_obj, "order_text11", "產品"), _defineProperty(_lang_obj, "order_text12", "詳細描述"), _defineProperty(_lang_obj, "order_text13", "保存"), _defineProperty(_lang_obj, "order_text14", "關閉"), _defineProperty(_lang_obj, "order_text15", "工單標題"), _defineProperty(_lang_obj, "order_text16", "工單類型"), _defineProperty(_lang_obj, "order_text17", "關聯使用者"), _defineProperty(_lang_obj, "order_text18", "使用者"), _defineProperty(_lang_obj, "order_text19", "提交時間"), _defineProperty(_lang_obj, "order_text20", "上次回覆時間"), _defineProperty(_lang_obj, "order_text21", "日誌記錄"), _defineProperty(_lang_obj, "order_text22", "關聯產品"), _defineProperty(_lang_obj, "order_text23", "工單類型"), _defineProperty(_lang_obj, "order_text24", "產品"), _defineProperty(_lang_obj, "order_text25", "工單狀態"), _defineProperty(_lang_obj, "order_text26", "溝通記錄"), _defineProperty(_lang_obj, "order_text27", "使用者"), _defineProperty(_lang_obj, "order_text28", "管理"), _defineProperty(_lang_obj, "order_text29", "備註"), _defineProperty(_lang_obj, "order_text30", "新增備註"), _defineProperty(_lang_obj, "order_text31", "使用預設回覆"), _defineProperty(_lang_obj, "order_text32", "確認"), _defineProperty(_lang_obj, "order_text33", "取消"), _defineProperty(_lang_obj, "order_text34", "發送"), _defineProperty(_lang_obj, "order_text35", "返回"), _defineProperty(_lang_obj, "order_text36", "提示"), _defineProperty(_lang_obj, "order_text37", "確認刪除該條訊息?"), _defineProperty(_lang_obj, "order_text38", "預設回應彈跳窗"), _defineProperty(_lang_obj, "order_text39", "記錄詳情"), _defineProperty(_lang_obj, "order_text40", "記錄時間"), _defineProperty(_lang_obj, "order_text41", "請先儲存正在編輯的內容!"), _defineProperty(_lang_obj, "order_text42", "請選擇工單狀態後再儲存!"), _defineProperty(_lang_obj, "order_text43", "未來"), _defineProperty(_lang_obj, "order_text44", "年前"), _defineProperty(_lang_obj, "order_text45", "月前"), _defineProperty(_lang_obj, "order_text46", "週前"), _defineProperty(_lang_obj, "order_text47", "天前"), _defineProperty(_lang_obj, "order_text48", "小時前"), _defineProperty(_lang_obj, "order_text49", "分鐘前"), _defineProperty(_lang_obj, "order_text50", "剛剛"), _defineProperty(_lang_obj, "order_text51", "工單部門"), _defineProperty(_lang_obj, "order_text52", "處理人員"), _defineProperty(_lang_obj, "order_text53", "新增"), _defineProperty(_lang_obj, "order_text54", "工單狀態"), _defineProperty(_lang_obj, "order_text55", "工單狀態"), _defineProperty(_lang_obj, "order_text56", "工單完結狀態"), _defineProperty(_lang_obj, "order_text57", " 待接單、使用者已回覆、已回覆、已關閉、處理中為預設狀態,無法修改"), _defineProperty(_lang_obj, "order_text78", " 待接單、待回覆、已回覆、已關閉為預設狀態,無法修改"), _defineProperty(_lang_obj, "order_text58", "預設回覆"), _defineProperty(_lang_obj, "order_text59", "儲存預設回覆"), _defineProperty(_lang_obj, "order_text60", "您尚未儲存正在編輯的內容,是否儲存?"), _defineProperty(_lang_obj, "order_text61", "保存"), _defineProperty(_lang_obj, "order_text62", "不保存"), _defineProperty(_lang_obj, "order_text63", "完結"), _defineProperty(_lang_obj, "order_text64", "未完結"), _defineProperty(_lang_obj, "order_text65", "工單部門"), _defineProperty(_lang_obj, "order_text66", "處理人員"), _defineProperty(_lang_obj, "order_text67", "操作"), _defineProperty(_lang_obj, "order_text68", "序號"), _defineProperty(_lang_obj, "order_text69", "工單狀態"), _defineProperty(_lang_obj, "order_text70", "狀態顏色"), _defineProperty(_lang_obj, "order_text71", "完結狀態"), _defineProperty(_lang_obj, "order_text72", "回覆內容"), _defineProperty(_lang_obj, "order_text73", "預設狀態不可修改!"), _defineProperty(_lang_obj, "order_text74", "工單狀態名稱、工單狀態顏色、結束狀態是必填的!"), _defineProperty(_lang_obj, "order_text75", "預設狀態不可刪除!"), _defineProperty(_lang_obj, "order_text76", "請先儲存正在編輯的回應!"), _defineProperty(_lang_obj, "order_text77", "查看所有"), _defineProperty(_lang_obj, "order_text79", "意見回饋"), _defineProperty(_lang_obj, "order_text80", "內部工單編號、工單標題"), _defineProperty(_lang_obj, "order_text81", "發起人"), _defineProperty(_lang_obj, "order_text82", "跟進人"), _defineProperty(_lang_obj, "order_text83", "修改訂購價格"), _defineProperty(_lang_obj, "order_text84", "請輸入修改後的訂單價格"), _defineProperty(_lang_obj, "order_text85", "提交訂單"), _defineProperty(_lang_obj, "order_text86", "價格"), _defineProperty(_lang_obj, "order_text87", "選擇商品"), _defineProperty(_lang_obj, "order_manage_order_type", "管理工單類型"), _defineProperty(_lang_obj, "order_type_mgt", "工單型別管理"), _defineProperty(_lang_obj, "order_turn_inside", "工單轉內部"), _defineProperty(_lang_obj, "order_priority", "緊急程度"), _defineProperty(_lang_obj, "order_priority_medium", "一般"), _defineProperty(_lang_obj, "order_priority_high", "緊急"), _defineProperty(_lang_obj, "order_designated_department", "轉交部門"), _defineProperty(_lang_obj, "order_designated_person", "轉交人員"), _defineProperty(_lang_obj, "order_designated_reson", "轉交備註"), _defineProperty(_lang_obj, "order_designated_type", "工單型別"), _defineProperty(_lang_obj, "order_content", "問題描述"), _defineProperty(_lang_obj, "order_attachment", "上傳附件"), _defineProperty(_lang_obj, "order_view", "預覽"), _defineProperty(_lang_obj, "attachment", "上傳"), _defineProperty(_lang_obj, "order_forward", "轉工單"), _defineProperty(_lang_obj, "order_index", "序號"), _defineProperty(_lang_obj, "order_type_name", "型別名稱"), _defineProperty(_lang_obj, "order_default_receive_department", "預設接收部門"), _defineProperty(_lang_obj, "order_new", "新增"), _defineProperty(_lang_obj, "upload_same_name", "檔案名稱相同,請勿重複上傳"), _defineProperty(_lang_obj, "upload_fail", "上傳失敗,請重試"), _defineProperty(_lang_obj, "isRequired", "為必填"), _defineProperty(_lang_obj, "order_detail", "工單詳情"), _defineProperty(_lang_obj, "communication_records", "溝通記錄"), _defineProperty(_lang_obj, "order_current_status", "目前狀態"), _defineProperty(_lang_obj, "order_type_verify1", "工單部門及處理人員不可為空"), _defineProperty(_lang_obj, "order_type_verify2", "請修改資料"), _defineProperty(_lang_obj, "order_type_verify3", "請儲存正在編輯的資料"), _defineProperty(_lang_obj, "order_reply_verify", "請填入回覆內容"), _defineProperty(_lang_obj, "please_search_order", "工單編號、工單標題"), _defineProperty(_lang_obj, "please_search_order_type", "工單部門"), _defineProperty(_lang_obj, "please_search_order_status", "工單狀態"), _defineProperty(_lang_obj, "please_search_order_user", "使用者"), _defineProperty(_lang_obj, "please_search_order_admin", "跟進人"), _defineProperty(_lang_obj, "please_search_order_time", "定時刷新時間"), _defineProperty(_lang_obj, "add_ordertip", "新建內部工單"), _defineProperty(_lang_obj, "sure_close_job", "確認關閉該工單?"), _defineProperty(_lang_obj, "choose_refresh_time", "請選擇定時刷新時間"), _defineProperty(_lang_obj, "refund_commodit_management", "商品管理"), _defineProperty(_lang_obj, "refund_apply_list", "申請清單"), _defineProperty(_lang_obj, "discontinuation_reason_management", "停用原因管理"), _defineProperty(_lang_obj, "why_management", "原因管理"), _defineProperty(_lang_obj, "newly_increased", "新增"), _defineProperty(_lang_obj, "product_configuration", "商品配置"), _defineProperty(_lang_obj, "refundable_type", "可退款類型"), _defineProperty(_lang_obj, "automatic_refund", "自動退款"), _defineProperty(_lang_obj, "manually_review", "人工審核"), _defineProperty(_lang_obj, "no", "序號"), _defineProperty(_lang_obj, "proposer", "申請人"), _defineProperty(_lang_obj, "apply_product", "申請產品"), _defineProperty(_lang_obj, "refund_amount", "退款金額"), _defineProperty(_lang_obj, "auditor", "審核人"), _defineProperty(_lang_obj, "time_application", "申請時間"), _defineProperty(_lang_obj, "deactivated_due", "到期停用"), _defineProperty(_lang_obj, "stop_sing", "立即停用"), _defineProperty(_lang_obj, "end_null_message", "請填入停用原因內容"), _defineProperty(_lang_obj, "get_approved", "通過審核"), _defineProperty(_lang_obj, "audit_refused_to", "審核拒絕"), _defineProperty(_lang_obj, "canceled", "已取消"), _defineProperty(_lang_obj, "Cancelled", "取消"), _defineProperty(_lang_obj, "review_the_rejected", "審核駁回"), _defineProperty(_lang_obj, "rejectedts", "駁回投訴"), _defineProperty(_lang_obj, "refunded", "已退款"), _defineProperty(_lang_obj, "has_been_discontinued", "已停用"), _defineProperty(_lang_obj, "stop_using_the", "停用中"), _defineProperty(_lang_obj, "to_stop_using", "待停用"), _defineProperty(_lang_obj, "to_audit", "待審核"), _defineProperty(_lang_obj, "dismiss_the_reason", "駁回原因"), _defineProperty(_lang_obj, "dismiss_the_reason_null", "駁回原因不能為空"), _defineProperty(_lang_obj, "custom_input", "客戶自訂輸入"), _defineProperty(_lang_obj, "refund_info", "退款資訊"), _defineProperty(_lang_obj, "refund_type", "退款類型"), _defineProperty(_lang_obj, "refund_require", "退款要求"), _defineProperty(_lang_obj, "refund_rule", "退款規則"), _defineProperty(_lang_obj, "refund_amount", "退款金額"), _defineProperty(_lang_obj, "refund_rule_day", "按天退款"), _defineProperty(_lang_obj, "refund_rule_month", "按月退款"), _defineProperty(_lang_obj, "refund_rule_ratio", "比例退款"), _defineProperty(_lang_obj, "refund_amount_yuan", "元"), _defineProperty(_lang_obj, "first_order", "首次訂購"), _defineProperty(_lang_obj, "first_order_same", "同類商品首次訂購"), _defineProperty(_lang_obj, "refund_rate", "退款比例"), _defineProperty(_lang_obj, "refund_range1", "購買後"), _defineProperty(_lang_obj, "refund_range2", "天內"), _defineProperty(_lang_obj, "product_id_empty_tip", "請選擇商品"), _defineProperty(_lang_obj, "type_empty_tip", "請選擇退款類型"), _defineProperty(_lang_obj, "rule_empty_tip", "請選擇退款規則"), _defineProperty(_lang_obj, "canceled_su", "確認取消?"), _defineProperty(_lang_obj, "canceled_success", "取消成功"), _defineProperty(_lang_obj, "refund_seach_input", "商品名稱"), _defineProperty(_lang_obj, "refund_check_input", "申請人"), _defineProperty(_lang_obj, "reject_success", "駁回成功"), _defineProperty(_lang_obj, "basic_config", "基礎配置"), _defineProperty(_lang_obj, "opt_system", "作業系統"), _defineProperty(_lang_obj, "calc_model", "計算型號"), _defineProperty(_lang_obj, "calc", "計算"), _defineProperty(_lang_obj, "model_group", "型號分組"), _defineProperty(_lang_obj, "sort", "排序"), _defineProperty(_lang_obj, "data_center", "資料中心"), _defineProperty(_lang_obj, "data_list", "資料列表"), _defineProperty(_lang_obj, "country_name", "國家名稱"), _defineProperty(_lang_obj, "country_code", "國家代碼"), _defineProperty(_lang_obj, "city", "城市"), _defineProperty(_lang_obj, "region", "地區"), _defineProperty(_lang_obj, "area", "區域"), _defineProperty(_lang_obj, "bw_rules", "頻寬規則"), _defineProperty(_lang_obj, "bw_type", "頻寬類型"), _defineProperty(_lang_obj, "bw", "頻寬"), _defineProperty(_lang_obj, "in_bw", "進頻寬"), _defineProperty(_lang_obj, "independent_in_bw", "獨立進頻寬"), _defineProperty(_lang_obj, "bw_list", "頻寬清單"), _defineProperty(_lang_obj, "bw_type_manage", "頻寬類型管理"), _defineProperty(_lang_obj, "cloud_flow", "流量"), _defineProperty(_lang_obj, "in", "進"), _defineProperty(_lang_obj, "out", "出"), _defineProperty(_lang_obj, "cores", "核"), _defineProperty(_lang_obj, "computer_model", "電腦型號"), _defineProperty(_lang_obj, "in_out", "進+出"), _defineProperty(_lang_obj, "create", "建立"), _defineProperty(_lang_obj, "other_setting", "其他設定"), _defineProperty(_lang_obj, "free_num", "免費數量"), _defineProperty(_lang_obj, "instance_price", "實例總價的"), _defineProperty(_lang_obj, "attach", "附加"), _defineProperty(_lang_obj, "parameter", "參數"), _defineProperty(_lang_obj, "price", "價格"), _defineProperty(_lang_obj, "memory", "記憶體"), _defineProperty(_lang_obj, "disk", "硬碟"), _defineProperty(_lang_obj, "show_describe", "顯示描述"), _defineProperty(_lang_obj, "server_param", "介面參數"), _defineProperty(_lang_obj, "sale_package", "銷售套餐"), _defineProperty(_lang_obj, "package", "套餐"), _defineProperty(_lang_obj, "package_list", "方案清單"), _defineProperty(_lang_obj, "other_param", "其他參數"), _defineProperty(_lang_obj, "cycle", "週期"), _defineProperty(_lang_obj, "enable_backup_price", "啟用備援價格"), _defineProperty(_lang_obj, "panel_price", "獨立面板價格"), _defineProperty(_lang_obj, "snapshot_price", "快照價格"), _defineProperty(_lang_obj, "host_name_rules", "主機名稱規則"), _defineProperty(_lang_obj, "host_rules1", "日期+4位隨機"), _defineProperty(_lang_obj, "host_rules2", "8位元隨機"), _defineProperty(_lang_obj, "host_rules3", "月日+4位隨機"), _defineProperty(_lang_obj, "image_group", "作業系統分組"), _defineProperty(_lang_obj, "apply_image", "應用程式鏡像"), _defineProperty(_lang_obj, "apply_image_list", "套用鏡像清單"), _defineProperty(_lang_obj, "area_name", "區域名稱"), _defineProperty(_lang_obj, "show_name", "顯示名稱"), _defineProperty(_lang_obj, "system_name", "系統名稱"), _defineProperty(_lang_obj, "pay_system", "付費系統"), _defineProperty(_lang_obj, "icon", "圖示"), _defineProperty(_lang_obj, "duration", "時長(天)"), _defineProperty(_lang_obj, "display_name", "顯示值"), _defineProperty(_lang_obj, "model_scale", "計算型號比例"), _defineProperty(_lang_obj, "bw_scale", "頻寬比例"), _defineProperty(_lang_obj, "transfer_amount", "劃轉金額"), _defineProperty(_lang_obj, "pay_amount", "支付金額"), _defineProperty(_lang_obj, "pay_time", "付款時間"), _defineProperty(_lang_obj, "current_balance", "阿里餘額"), _defineProperty(_lang_obj, "current_balance_manage", "阿里餘額管理"), _defineProperty(_lang_obj, "thaw", "解凍"), _defineProperty(_lang_obj, "frozen", "凍結"), _defineProperty(_lang_obj, "normal", "正常"), _defineProperty(_lang_obj, "frozen_in", "已結凍"), _defineProperty(_lang_obj, "credit_check_cycle", "阿里餘額檢查週期(分鐘)"), _defineProperty(_lang_obj, "credit_lower_tip", "阿里餘額過低提醒"), _defineProperty(_lang_obj, "lower_than", "低於"), _defineProperty(_lang_obj, "account_deactivation", "帳戶凍結"), _defineProperty(_lang_obj, "account_activation", "帳號解凍"), _defineProperty(_lang_obj, "recharge_commission", "儲值手續費"), _defineProperty(_lang_obj, "exception_user", "例外使用者"), _defineProperty(_lang_obj, "account_status", "帳戶狀態"), _defineProperty(_lang_obj, "resend", "重發"), _defineProperty(_lang_obj, "al_tip", "帳戶結凍金額不能大於帳戶解凍金額"), _defineProperty(_lang_obj, "unregistered", "未註冊"), _defineProperty(_lang_obj, "register_success", "註冊成功"), _defineProperty(_lang_obj, "al_config", "阿里api設定"), _defineProperty(_lang_obj, "default_access_key", "邀請註冊預設API"), _defineProperty(_lang_obj, "credit_check_cycle_day", "自動更新客戶信箱週期(天)"), _defineProperty(_lang_obj, "home_navigation", "前台導覽管理"), _defineProperty(_lang_obj, "admin_navigation", "後台導覽管理"), _defineProperty(_lang_obj, "create_page", "新頁面"), _defineProperty(_lang_obj, "target_page", "目標頁面"), _defineProperty(_lang_obj, "page_type", "頁面類型"), _defineProperty(_lang_obj, "system_page", "系統頁面"), _defineProperty(_lang_obj, "associate_page", "關聯頁面"), _defineProperty(_lang_obj, "plugin", "插件"), _defineProperty(_lang_obj, "application", "應用"), _defineProperty(_lang_obj, "select_page", "選擇頁面"), _defineProperty(_lang_obj, "custom", "自訂頁面"), _defineProperty(_lang_obj, "icon_code", "導航圖示代碼"), _defineProperty(_lang_obj, "navigate_name", "導覽名稱"), _defineProperty(_lang_obj, "multilingual", "多語言"), _defineProperty(_lang_obj, "nav_text1", "自訂"), _defineProperty(_lang_obj, "nav_text2", "模組"), _defineProperty(_lang_obj, "nav_text3", "上游模組"), _defineProperty(_lang_obj, "nav_text4", "此導覽存在二級子導航請清空後再嘗試"), _defineProperty(_lang_obj, "nav_text5", "該導航已經是二級導航了"), _defineProperty(_lang_obj, "nav_text6", "該導航已經是一級導航了"), _defineProperty(_lang_obj, "nav_text7", "url不能為空"), _defineProperty(_lang_obj, "nav_text8", "請選擇頁面"), _defineProperty(_lang_obj, "nav_text9", "請選擇模組類型"), _defineProperty(_lang_obj, "nav_text10", "請輸入導覽名稱"), _defineProperty(_lang_obj, "nav_text11", "你確定要刪除該項麼?"), _defineProperty(_lang_obj, "nav_text12", "確定"), _defineProperty(_lang_obj, "nav_text13", "取消"), _defineProperty(_lang_obj, "nav_text14", "請輸入url"), _defineProperty(_lang_obj, "capacity_range", "容量範圍"), _defineProperty(_lang_obj, "disk_scale", "磁碟比例"), _defineProperty(_lang_obj, "disk_list", "磁碟清單"), _defineProperty(_lang_obj, "available_area", "可用區域"), _defineProperty(_lang_obj, "min_precision", "最低精度"), _defineProperty(_lang_obj, "disk_package", "磁碟方案"), _defineProperty(_lang_obj, "size_min", "最小容量"), _defineProperty(_lang_obj, "size_max", "最大容量"), _defineProperty(_lang_obj, "min_num", "頻寬最小值"), _defineProperty(_lang_obj, "max_num", "頻寬最大值"), _defineProperty(_lang_obj, "alone_bw", "獨立頻寬"), _defineProperty(_lang_obj, "single_max", "單一實例上限"), _defineProperty(_lang_obj, "to", "至"), _defineProperty(_lang_obj, "bw_form", "從"), _defineProperty(_lang_obj, "bw_to", "到"), _defineProperty(_lang_obj, "disk_tip", "最小容量值不能大於等於最大容量值"), _defineProperty(_lang_obj, "net_tip", "請先開啟附加IP開關"), _defineProperty(_lang_obj, "choose", "選擇"), _defineProperty(_lang_obj, "correct_code", "正確驗證碼"), _defineProperty(_lang_obj, "login_text", "業務管理系統"), _defineProperty(_lang_obj, "applicat_list", "申請清單"), _defineProperty(_lang_obj, "withdrawal_manage", "提現管理"), _defineProperty(_lang_obj, "balance_withdrawal_settings", "餘額提現設定"), _defineProperty(_lang_obj, "withdrawal_source", "提現來源"), _defineProperty(_lang_obj, "requested_amount", "申請金額"), _defineProperty(_lang_obj, "received_amount", "到帳金額"), _defineProperty(_lang_obj, "withdrawal_setting", "提現設定"), _defineProperty(_lang_obj, "withdrawal_way", "提現方式"), _defineProperty(_lang_obj, "withdrawal_process", "提現流程"), _defineProperty(_lang_obj, "reject", "駁回"), _defineProperty(_lang_obj, "approved", "審核通過"), _defineProperty(_lang_obj, "approved_reject", "審核駁回"), _defineProperty(_lang_obj, "open_close", "開啟/關閉"), _defineProperty(_lang_obj, "withdrawal_source_manage", "提現來源管理"), _defineProperty(_lang_obj, "bank", "銀行卡"), _defineProperty(_lang_obj, "alipay", "支付寶"), _defineProperty(_lang_obj, "auto", "自動"), _defineProperty(_lang_obj, "min_money_limit", "最小金額限制"), _defineProperty(_lang_obj, "max_money_limit", "最大金額限制"), _defineProperty(_lang_obj, "no_limit", "不填則不限制"), _defineProperty(_lang_obj, "withdrawal_cycle_limit", "提現週期限制"), _defineProperty(_lang_obj, "cycle_day", "每天"), _defineProperty(_lang_obj, "cycle_week", "每週"), _defineProperty(_lang_obj, "cycle_month", "每月"), _defineProperty(_lang_obj, "cycle_sequence", "每次"), _defineProperty(_lang_obj, "withdrawable", "可提現"), _defineProperty(_lang_obj, "sequence", "次數"), _defineProperty(_lang_obj, "commission", "手續費"), _defineProperty(_lang_obj, "withdraw_fee_type", "手續費型別"), _defineProperty(_lang_obj, "fixed", "固定"), _defineProperty(_lang_obj, "percent", "百分比"), _defineProperty(_lang_obj, "minimum", "最低"), _defineProperty(_lang_obj, "according", "按照"), _defineProperty(_lang_obj, "metacalculation", "元計算"), _defineProperty(_lang_obj, "multiple", "多選"), _defineProperty(_lang_obj, "plugin_list", "外掛程式清單"), _defineProperty(_lang_obj, "rule_tip", "最大金額限制必須大於最小金額限制"), _defineProperty(_lang_obj, "selected", "已選擇"), _defineProperty(_lang_obj, "confirm_remittance", "確認已匯款"), _defineProperty(_lang_obj, "confirmed", "已確認"), _defineProperty(_lang_obj, "offline_payment", "線下支付"), _defineProperty(_lang_obj, "copy", "複製"), _defineProperty(_lang_obj, "success", "成功"), _defineProperty(_lang_obj, "addition", "新增人"), _defineProperty(_lang_obj, "add_time", "新增時間"), _defineProperty(_lang_obj, "custom_reason", "自訂"), _defineProperty(_lang_obj, "pay_tip", "註:確認後,將自動在後台增加交易流水"), _defineProperty(_lang_obj, "pay_tip1", "選擇人工,則提現申請需要審核"), _defineProperty(_lang_obj, "pay_tip2", "選擇自動,則提現申請自動通過"), _defineProperty(_lang_obj, "renew", "續費"), _defineProperty(_lang_obj, "batch_renew", "大量續費"), _defineProperty(_lang_obj, "batch_dele", "批次刪除"), _defineProperty(_lang_obj, "subtotal", "小計"), _defineProperty(_lang_obj, "mark_Paid", "標記已支付"), _defineProperty(_lang_obj, "sure_renew", "確認續費"), _defineProperty(_lang_obj, "renew_tip", "該產品不支援續費"), _defineProperty(_lang_obj, "package_config", "套餐配置"), _defineProperty(_lang_obj, "data_center_config", "資料中心配置"), _defineProperty(_lang_obj, "system_config", "作業系統管理"), _defineProperty(_lang_obj, "other_config", "其他配置"), _defineProperty(_lang_obj, "goods_model", "商品模式"), _defineProperty(_lang_obj, "fixed_package", "固定套餐配置(建議)"), _defineProperty(_lang_obj, "create_package", "新套餐"), _defineProperty(_lang_obj, "ip_num", "IP位址數量"), _defineProperty(_lang_obj, "ip_num_config", "IP位址參數"), _defineProperty(_lang_obj, "new_create", "新建"), _defineProperty(_lang_obj, "node", "節點"), _defineProperty(_lang_obj, "node_group", "節點分組"), _defineProperty(_lang_obj, "cloud_config", "魔術方塊雲端配置"), _defineProperty(_lang_obj, "month", "月"), _defineProperty(_lang_obj, "quarter", "季度"), _defineProperty(_lang_obj, "half_year_fee", "半年"), _defineProperty(_lang_obj, "year_fee", "一年"), _defineProperty(_lang_obj, "two_year", "兩年"), _defineProperty(_lang_obj, "three_year", "三年"), _defineProperty(_lang_obj, "get_system", "拉取作業系統"), _defineProperty(_lang_obj, "system_classify", "系統分類"), _defineProperty(_lang_obj, "available", "是否可用"), _defineProperty(_lang_obj, "use_ssh", "使用SSH金鑰"), _defineProperty(_lang_obj, "buy_data_disk", "獨立資料盤訂購"), _defineProperty(_lang_obj, "backup_manage", "備份管理"), _defineProperty(_lang_obj, "snap_manage", "快照管理"), _defineProperty(_lang_obj, "min_size", "最低容量"), _defineProperty(_lang_obj, "max_size", "最高容量"), _defineProperty(_lang_obj, "disk_max_size", "附加資料碟最大數量"), _defineProperty(_lang_obj, "storage", "儲存"), _defineProperty(_lang_obj, "storage_tip", "不輸入則自動指派儲存"), _defineProperty(_lang_obj, "ssh_tip", "開啟後客戶也設定密碼或使用SSH金鑰,此功能需要SSH金鑰插件,請先確認插件是否已購買並安裝"), _defineProperty(_lang_obj, "disk_tip", "開啟後將在套餐配置基礎上,額外允許訂購附加數據盤,不會影響套餐內數據盤"), _defineProperty(_lang_obj, "backup_tip", "開啟後可在下訂單時購買備份功能,並付款後使用"), _defineProperty(_lang_obj, "snap_tip", "開啟後可在下訂單時購買快照功能,並付款後使用"), _defineProperty(_lang_obj, "price_tip", "每10GB單價"), _defineProperty(_lang_obj, "integer", "整數"), _defineProperty(_lang_obj, "number", "數字"), _defineProperty(_lang_obj, "core", "核心"), _defineProperty(_lang_obj, "one", "個"), _defineProperty(_lang_obj, "system_disk_size", "系統磁碟"), _defineProperty(_lang_obj, "free_data_disk_size", "贈送資料磁碟"), _defineProperty(_lang_obj, "custom_param", "自訂參數"), _defineProperty(_lang_obj, "detail_config", "詳細配置"), _defineProperty(_lang_obj, "integer_multiple", "整數倍"), _defineProperty(_lang_obj, "traffic_billing", "流量計費"), _defineProperty(_lang_obj, "allow_back_num", "允許備份的數量"), _defineProperty(_lang_obj, "allow_snap_num", "允許產生的快照數量"), _defineProperty(_lang_obj, "capacity_tip", "最高容量不能小於最低容量"), _defineProperty(_lang_obj, "data_tip", "多選後批次自動建立多個設定包"), _defineProperty(_lang_obj, "description_tip", "支援html輸入,用於訂購時展示描述"), _defineProperty(_lang_obj, "package_tip", "大於等於0的整數"), _defineProperty(_lang_obj, "available_traffic", "可用流量"), _defineProperty(_lang_obj, "natural_month", "自然月"), _defineProperty(_lang_obj, "last_30days", "購買日一月"), _defineProperty(_lang_obj, "traffic_info", "流量資訊"), _defineProperty(_lang_obj, "charging", "計費"), _defineProperty(_lang_obj, "auto_fill_price", "自動填入價格"), _defineProperty(_lang_obj, "price_tip_force", "週期價格必填其中一個"), _defineProperty(_lang_obj, "cloud_tip", "請前往資料中心管理新增資料中心後建立套件"), _defineProperty(_lang_obj, "cloud_tip1", "點擊後,根據月價格自動計算並覆蓋後續週期價格"), _defineProperty(_lang_obj, "cloud_tip2", "如需在訂購頁面顯示資料中心,請前往資料中心設定頁面建立資料中心"), _defineProperty(_lang_obj, "cloud_tip3", "您已建立資料中心,但未選擇資料中心,該套餐將無法在訂購頁面顯示"), _defineProperty(_lang_obj, "cloud_tip4", "點擊後,根據首個週期價格自動計算並覆蓋後續週期價格"), _defineProperty(_lang_obj, "real_name_approval", "實名審核"), _defineProperty(_lang_obj, "real_name_setting", "實名設定"), _defineProperty(_lang_obj, "real_name", "實名名稱"), _defineProperty(_lang_obj, "auth_type", "認證類型"), _defineProperty(_lang_obj, "auth_way", "認證方式"), _defineProperty(_lang_obj, "ID_type", "證件類型"), _defineProperty(_lang_obj, "personal_way", "個人"), _defineProperty(_lang_obj, "business_way", "企業"), _defineProperty(_lang_obj, "personal_to_business", "個人轉企業"), _defineProperty(_lang_obj, "certified", "已認證"), _defineProperty(_lang_obj, "submitted", "已提交資料"), _defineProperty(_lang_obj, "id_card", "身分證"), _defineProperty(_lang_obj, "mainland", "大陸"), _defineProperty(_lang_obj, "no_mainland", "非大陸"), _defineProperty(_lang_obj, "certificate_no", "證件號碼"), _defineProperty(_lang_obj, "personal_no", "企業信用代碼"), _defineProperty(_lang_obj, "id_Photo_front", "證件照(正)"), _defineProperty(_lang_obj, "id_Photo_back", "證件照(反)"), _defineProperty(_lang_obj, "business_slicense", "營業執照"), _defineProperty(_lang_obj, "auth_real_name", "實名認證"), _defineProperty(_lang_obj, "manual_review", "人工複審"), _defineProperty(_lang_obj, "notice_user", "後台審核通過後,通知使用者"), _defineProperty(_lang_obj, "auto_update", "自動更新姓名"), _defineProperty(_lang_obj, "upload_img", "上傳圖片"), _defineProperty(_lang_obj, "phone_uniformity", "手機一致性"), _defineProperty(_lang_obj, "product_stop", "未認證無法購買產品"), _defineProperty(_lang_obj, "switch_open", "開"), _defineProperty(_lang_obj, "switch_close", "關"), _defineProperty(_lang_obj, "age_limit", "年齡限制"), _defineProperty(_lang_obj, "real_tip1", "若開啟,則第三方實名通過後,需要後台人工審核通過"), _defineProperty(_lang_obj, "real_tip2", "若開啟,實名通過後,將自動更新姓名為實名"), _defineProperty(_lang_obj, "real_tip3", "若開啟,則提交資料時,需要上傳圖片"), _defineProperty(_lang_obj, "real_tip4", "若開啟,則用戶註冊手機號,將與實名手機號碼一致才可提交認證"), _defineProperty(_lang_obj, "real_tip5", "若開啟,未認證的使用者無法訂購產品"), _defineProperty(_lang_obj, "real_tip6", "認證年齡低於"), _defineProperty(_lang_obj, "real_tip7", "歲時,無法認證"), _defineProperty(_lang_obj, "real_tip8", "未認證"), _defineProperty(_lang_obj, "real_tip9", "個人認證"), _defineProperty(_lang_obj, "real_tip10", "企業認證"), _defineProperty(_lang_obj, "sales_id_group", "銷售ID分組"), _defineProperty(_lang_obj, "buy_page_des", "訂購頁面描述"), _defineProperty(_lang_obj, "default", "預設"), _defineProperty(_lang_obj, "custom_cycle", "自訂週期"), _defineProperty(_lang_obj, "cycle_name", "週期名稱"), _defineProperty(_lang_obj, "cycle_time", "週期時長"), _defineProperty(_lang_obj, "config_option", "設定選項"), _defineProperty(_lang_obj, "config_name", "配置名稱"), _defineProperty(_lang_obj, "add_cycle", "新增週期"), _defineProperty(_lang_obj, "add_config", "新增配置"), _defineProperty(_lang_obj, "custom_fields", "自訂欄位"), _defineProperty(_lang_obj, "fields_name", "欄位名稱"), _defineProperty(_lang_obj, "fields_type", "字段類型"), _defineProperty(_lang_obj, "pro_qty", "商品購買數量"), _defineProperty(_lang_obj, "auto_support", "自動化支援"), _defineProperty(_lang_obj, "basic_setting", "基礎設定"), _defineProperty(_lang_obj, "configOption", {
+ select: "下拉選擇",
+ multi_select: "下拉多選",
+ radio: "點擊單選",
+ quantity: "數量輸入",
+ quantity_range: "數量拖曳",
+ yes_no: "是否",
+ area: "區域"
+}), _defineProperty(_lang_obj, "natural_month", "自然月"), _defineProperty(_lang_obj, "option_value", "選項值"), _defineProperty(_lang_obj, "option_name", "選項名稱"), _defineProperty(_lang_obj, "option_type", "選項類型"), _defineProperty(_lang_obj, "option_explain", "選項說明"), _defineProperty(_lang_obj, "trailing_text", "尾部文字"), _defineProperty(_lang_obj, "allow_repeat", "允許重複"), _defineProperty(_lang_obj, "max_repeat", "最大允許重複數量"), _defineProperty(_lang_obj, "stage", "階梯計費"), _defineProperty(_lang_obj, "cost_setting", "費用設定"), _defineProperty(_lang_obj, "step_range", "階梯範圍"), _defineProperty(_lang_obj, "qty_charging", "數量計費(目前區間價格*數量)"), _defineProperty(_lang_obj, "com_tip1", "開啟後,下單時可加減購買商品的數量,最低為1,價格為數量的倍數"), _defineProperty(_lang_obj, "com_tip2", "開啟後,所有配置以及配置子項目可填入參數,有效參數會自動傳遞"), _defineProperty(_lang_obj, "com_tip3", "可不填,用於自動化時傳遞給後端介面的真實參數值"), _defineProperty(_lang_obj, "com_tip4", "以下費用為目前範圍的單價"), _defineProperty(_lang_obj, "com_tip5", "支援html,將在產品配置頁面顯示,如不輸入則不顯示,可呼叫js實現參數呼叫的自訂限制和輸入"), _defineProperty(_lang_obj, "com_tip6", "一般設定為單位"), _defineProperty(_lang_obj, "com_tip7", "支援html輸入,在設定項下顯示描述"), _defineProperty(_lang_obj, "com_tip8", "將該選項設為子商品"), _defineProperty(_lang_obj, "com_tip9", "請選擇子商品費用類型"), _defineProperty(_lang_obj, "config_tip", "新增後可依不同配置收取不同的價格,不配置則只收取基本費用"), _defineProperty(_lang_obj, "custom_tip", "用於在訂購客戶輸入信息,進行收集,和費用無關"), _defineProperty(_lang_obj, "delete_tip", "注意:週期刪除後,所有配置項目的週期也會刪除"), _defineProperty(_lang_obj, "sure_del_cycle", "確認刪除週期?"), _defineProperty(_lang_obj, "money_ver", "金額不能大於99999999.99"), _defineProperty(_lang_obj, "auth_version", "授權版本"), _defineProperty(_lang_obj, "normal_version", "普惠版"), _defineProperty(_lang_obj, "free_version", "免費版"), _defineProperty(_lang_obj, "professional_version", "專業版"), _defineProperty(_lang_obj, "cycle_setting", "週期設定"), _defineProperty(_lang_obj, "infinite", "無限"), _defineProperty(_lang_obj, "concat_other_qty", "關聯其他數量選項"), _defineProperty(_lang_obj, "set_sub_product", "設為子商品"), _defineProperty(_lang_obj, "free_first", "首周期免費"), _defineProperty(_lang_obj, "qty_change", "變化數量"), _defineProperty(_lang_obj, "qty_change_tip", "請輸入每次變化的最小數量"), _defineProperty(_lang_obj, "clinet_level", "使用者等級"), _defineProperty(_lang_obj, "representative_color", "代表色"), _defineProperty(_lang_obj, "customer", "客戶"), _defineProperty(_lang_obj, "product_preference", "產品優惠"), _defineProperty(_lang_obj, "discount_ratio", "折扣比例"), _defineProperty(_lang_obj, "levevl_tip", "優惠5%時,用戶購買時顯示9.5折"), _defineProperty(_lang_obj, "baidu_price_num", "百度價格係數"), _defineProperty(_lang_obj, "baidu_total", "總折扣"), _defineProperty(_lang_obj, "online_service", "線上客服漂浮彈窗原始碼"), _defineProperty(_lang_obj, "online_service_tip", "請輸入線上客服漂浮彈窗原始碼"), _defineProperty(_lang_obj, "index_text1", "本年銷售額(元)"), _defineProperty(_lang_obj, "index_text2", "環比"), _defineProperty(_lang_obj, "index_text3", "本月銷售(元)"), _defineProperty(_lang_obj, "index_text_0", "今日銷售額(元)"), _defineProperty(_lang_obj, "index_text4", "活躍使用者(人)"), _defineProperty(_lang_obj, "index_text5", "活躍率"), _defineProperty(_lang_obj, "index_text6", "本年大客戶統計(元)"), _defineProperty(_lang_obj, "index_text7", "最近存取使用者統計"), _defineProperty(_lang_obj, "index_text8", "序號"), _defineProperty(_lang_obj, "index_text9", "使用者名稱"), _defineProperty(_lang_obj, "index_text10", "存取時間"), _defineProperty(_lang_obj, "index_text11", "目前線上管理員"), _defineProperty(_lang_obj, "index_text12", "序號"), _defineProperty(_lang_obj, "index_text13", "管理員"), _defineProperty(_lang_obj, "index_text14", "上次活動時間"), _defineProperty(_lang_obj, "upload_text1", "最新版本"), _defineProperty(_lang_obj, "upload_text2", "立即更新"), _defineProperty(_lang_obj, "upload_text3", "安裝包已下載,立即升級"), _defineProperty(_lang_obj, "upload_text4", "下載中"), _defineProperty(_lang_obj, "upload_text5", "目前版本"), _defineProperty(_lang_obj, "upload_text6", "公告訊息"), _defineProperty(_lang_obj, "upload_text7", "識別碼"), _defineProperty(_lang_obj, "upload_text8", "服務到期時間"), _defineProperty(_lang_obj, "upload_text9", "未登入應用程式商店,無識別碼"), _defineProperty(_lang_obj, "classific_manage", "分類管理"), _defineProperty(_lang_obj, "news_classific_manage", "新聞分類管理"), _defineProperty(_lang_obj, "ad_classific_manage", "公告分類管理"), _defineProperty(_lang_obj, "batch_add", "批次新增"), _defineProperty(_lang_obj, "news_title", "新聞標題"), _defineProperty(_lang_obj, "ad_title", "公告標題"), _defineProperty(_lang_obj, "news_classific", "分類"), _defineProperty(_lang_obj, "news_classific_name", "分類名稱"), _defineProperty(_lang_obj, "publish", "發布"), _defineProperty(_lang_obj, "publisher", "發佈者"), _defineProperty(_lang_obj, "release_time", "發佈時間"), _defineProperty(_lang_obj, "show_none", "顯示/隱藏"), _defineProperty(_lang_obj, "show_success", "顯示成功"), _defineProperty(_lang_obj, "none_success", "隱藏成功"), _defineProperty(_lang_obj, "modified_by", "修改人"), _defineProperty(_lang_obj, "modified_time", "修改時間"), _defineProperty(_lang_obj, "please_save", "請先儲存正在編輯的分類"), _defineProperty(_lang_obj, "please_add_type", "請先新增分類!"), _defineProperty(_lang_obj, "please_input_name", "請輸入分類名稱!"), _defineProperty(_lang_obj, "keyword", "關鍵字"), _defineProperty(_lang_obj, "enclosure", "附件"), _defineProperty(_lang_obj, "edit_news", "編輯新聞"), _defineProperty(_lang_obj, "edit_ad", "編輯公告"), _defineProperty(_lang_obj, "add_news", "新增新聞"), _defineProperty(_lang_obj, "add_ad", "新增公告"), _defineProperty(_lang_obj, "scheduled_release", "定時發布"), _defineProperty(_lang_obj, "add_doc", "新增文件"), _defineProperty(_lang_obj, "doc_name", "文件名稱"), _defineProperty(_lang_obj, "home_manage", "首頁管理"), _defineProperty(_lang_obj, "doc_classific_manage", "文件分類管理"), _defineProperty(_lang_obj, "file_move", "移動"), _defineProperty(_lang_obj, "folder", "資料夾"), _defineProperty(_lang_obj, "all_files", "全部檔案"), _defineProperty(_lang_obj, "add_folder", "新增資料夾"), _defineProperty(_lang_obj, "attachment_file", "上傳檔案"), _defineProperty(_lang_obj, "file_name", "檔案名稱"), _defineProperty(_lang_obj, "belong_file", "所在資料夾"), _defineProperty(_lang_obj, "visible_range", "可見範圍"), _defineProperty(_lang_obj, "appoint_product", "指定產品"), _defineProperty(_lang_obj, "invoice_tab1", "發票管理"), _defineProperty(_lang_obj, "invoice_tab2", "抬頭管理"), _defineProperty(_lang_obj, "invoice_tab3", "收件位址管理"), _defineProperty(_lang_obj, "invoice_tab4", "發票設定"), _defineProperty(_lang_obj, "invoice_tab5", "使用者(公司)"), _defineProperty(_lang_obj, "invoice_tab6", "發票抬頭"), _defineProperty(_lang_obj, "invoice_tab7", "發票金額"), _defineProperty(_lang_obj, "invoice_tab8", "申請時間"), _defineProperty(_lang_obj, "invoice_tab9", "狀態"), _defineProperty(_lang_obj, "invoice_tab10", "操作"), _defineProperty(_lang_obj, "invoice_type1", "後開立發票"), _defineProperty(_lang_obj, "invoice_type2", "預開立發票"), _defineProperty(_lang_obj, "invoice_status1", "待審核"), _defineProperty(_lang_obj, "invoice_status2", "待付款"), _defineProperty(_lang_obj, "invoice_status3", "待發出"), _defineProperty(_lang_obj, "invoice_status4", "已發出"), _defineProperty(_lang_obj, "invoice_status5", "已駁回"), _defineProperty(_lang_obj, "invoice_status6", "作廢"), _defineProperty(_lang_obj, "invoice_text1", "使用者(公司)、抬頭"), _defineProperty(_lang_obj, "invoice_text2", "開立發票類型"), _defineProperty(_lang_obj, "invoice_text3", "狀態"), _defineProperty(_lang_obj, "invoice_text4", "透過"), _defineProperty(_lang_obj, "invoice_text5", "駁回"), _defineProperty(_lang_obj, "invoice_text6", "發出"), _defineProperty(_lang_obj, "invoice_text7", "詳情"), _defineProperty(_lang_obj, "invoice_text8", "請填入駁回原因"), _defineProperty(_lang_obj, "invoice_text9", "已駁回"), _defineProperty(_lang_obj, "invoice_text10", "已通過"), _defineProperty(_lang_obj, "invoice_text11", "增值稅專用發票"), _defineProperty(_lang_obj, "invoice_text12", "增值稅普通發票"), _defineProperty(_lang_obj, "invoice_text13", "公司"), _defineProperty(_lang_obj, "invoice_text14", "個人"), _defineProperty(_lang_obj, "invoice_text15", "紙本發票"), _defineProperty(_lang_obj, "invoice_text16", "電子發票"), _defineProperty(_lang_obj, "invoice_text17", "刪除"), _defineProperty(_lang_obj, "invoice_text18", "稅率"), _defineProperty(_lang_obj, "invoice_text19", "編輯"), _defineProperty(_lang_obj, "invoice_text20", "儲存"), _defineProperty(_lang_obj, "invoice_text21", "取消"), _defineProperty(_lang_obj, "invoice_text22", "檔案"), _defineProperty(_lang_obj, "invoice_text23", "上傳失敗"), _defineProperty(_lang_obj, "invoice_text24", "審核備註"), _defineProperty(_lang_obj, "invoice_text25", "請填入審核備註"), _defineProperty(_lang_obj, "invoice_text26", "上傳失敗"), _defineProperty(_lang_obj, "invoice_text27", "您的系統已經是最新版本了,無需升級!"), _defineProperty(_lang_obj, "invoice_text28", "目前不存在升級下載任務"), _defineProperty(_lang_obj, "invoice_text29", "上傳失敗"), _defineProperty(_lang_obj, "invoice_text30", "彈跳視窗原始碼為必填項"), _defineProperty(_lang_obj, "invoice_title1", "確認駁回?"), _defineProperty(_lang_obj, "invoice_title2", "確認通過?"), _defineProperty(_lang_obj, "invoice_title3", "發票詳情"), _defineProperty(_lang_obj, "invoice_title4", "客戶資訊"), _defineProperty(_lang_obj, "invoice_title5", "商品"), _defineProperty(_lang_obj, "invoice_title6", "金額"), _defineProperty(_lang_obj, "invoice_title7", "稅率"), _defineProperty(_lang_obj, "invoice_title8", "稅額"), _defineProperty(_lang_obj, "invoice_title9", "快遞"), _defineProperty(_lang_obj, "invoice_title10", "費用"), _defineProperty(_lang_obj, "invoice_title11", "發出發票"), _defineProperty(_lang_obj, "invoice_title12", "收件訊息"), _defineProperty(_lang_obj, "invoice_title13", "確認刪除"), _defineProperty(_lang_obj, "invoice_title14", "基礎設定"), _defineProperty(_lang_obj, "invoice_label1", "駁回原因"), _defineProperty(_lang_obj, "invoice_label2", "發票類型"), _defineProperty(_lang_obj, "invoice_label3", "抬頭型"), _defineProperty(_lang_obj, "invoice_label4", "發票抬頭"), _defineProperty(_lang_obj, "invoice_label5", "收件類型"), _defineProperty(_lang_obj, "invoice_label6", "收件地址"), _defineProperty(_lang_obj, "invoice_label7", "快遞"), _defineProperty(_lang_obj, "invoice_label8", "快遞單號"), _defineProperty(_lang_obj, "invoice_label9", "快遞費用"), _defineProperty(_lang_obj, "invoice_label10", "使用者(公司)"), _defineProperty(_lang_obj, "invoice_label11", "公司地址"), _defineProperty(_lang_obj, "invoice_label12", "稅務登記號碼"), _defineProperty(_lang_obj, "invoice_label13", "開戶行"), _defineProperty(_lang_obj, "invoice_label14", "開戶帳號"), _defineProperty(_lang_obj, "invoice_label15", "使用者(公司)"), _defineProperty(_lang_obj, "invoice_label16", "發票金額"), _defineProperty(_lang_obj, "invoice_label17", "郵件地址"), _defineProperty(_lang_obj, "invoice_label18", "收件網址"), _defineProperty(_lang_obj, "invoice_label19", "快遞"), _defineProperty(_lang_obj, "invoice_label20", "快遞單號"), _defineProperty(_lang_obj, "invoice_label21", "快遞單"), _defineProperty(_lang_obj, "invoice_label22", "地址"), _defineProperty(_lang_obj, "invoice_label23", "發票管理"), _defineProperty(_lang_obj, "invoice_label24", "預先開立發票"), _defineProperty(_lang_obj, "invoice_label25", "增值稅普通發票"), _defineProperty(_lang_obj, "invoice_label26", "增值稅專用發票"), _defineProperty(_lang_obj, "invoice_label27", "快遞名稱"), _defineProperty(_lang_obj, "invoice_label28", "快遞價格"), _defineProperty(_lang_obj, "invoice_label29", "收稅金額"), _defineProperty(_lang_obj, "invoice_tips1", "只能上傳jpg/png格式檔案檔不能超過5Mb"), _defineProperty(_lang_obj, "invoice_tips2", "請勾選需要刪除的抬頭!"), _defineProperty(_lang_obj, "invoice_tips3", "若開啟,後台將接收新的發票申請"), _defineProperty(_lang_obj, "invoice_tips4", "若關閉,後台不再接收新的發票申請"), _defineProperty(_lang_obj, "invoice_tips5", "若開啟,使用者可對未付款訂單進行發票申請"), _defineProperty(_lang_obj, "invoice_tips6", "若關閉,使用者不可對未付款訂單進行發票申請"), _defineProperty(_lang_obj, "invoice_tips7", "收稅金額:收取客戶的發票稅金,0%為預設含稅"), _defineProperty(_lang_obj, "invoice_tips8", "請輸入快遞名稱!"), _defineProperty(_lang_obj, "invoice_tips9", "請輸入快遞價格!"), _defineProperty(_lang_obj, "invoice_tips10", "請填入快遞名稱"), _defineProperty(_lang_obj, "invoice_tips11", "請填入快遞價格"), _defineProperty(_lang_obj, "invoice_tips12", "請選擇快遞"), _defineProperty(_lang_obj, "invoice_tips13", "請輸入快遞單號"), _defineProperty(_lang_obj, "invoice_tips14", "請上傳快遞單照片"), _defineProperty(_lang_obj, "invoice_tips15", "圖片大小不超過5MB"), _defineProperty(_lang_obj, "invoice_btn1", "確定"), _defineProperty(_lang_obj, "invoice_btn2", "關閉"), _defineProperty(_lang_obj, "invoice_btn3", "確認發出"), _defineProperty(_lang_obj, "invoice_btn4", "批次刪除"), _defineProperty(_lang_obj, "invoice_btn5", "保存"), _defineProperty(_lang_obj, "invoice_btn6", "新增"), _defineProperty(_lang_obj, "promo_code", "優惠碼"), _defineProperty(_lang_obj, "coupon_code", "優惠代碼"), _defineProperty(_lang_obj, "coupon_code_type", "優惠碼類型"), _defineProperty(_lang_obj, "coupon_num", "數值"), _defineProperty(_lang_obj, "use_used", "已使用/可用"), _defineProperty(_lang_obj, "use_time", "使用時間"), _defineProperty(_lang_obj, "use_cycle", "使用週期"), _defineProperty(_lang_obj, "close_time", "結束時間"), _defineProperty(_lang_obj, "current_state", "目前狀態"), _defineProperty(_lang_obj, "fixed_amount", "固定金額減免"), _defineProperty(_lang_obj, "deduction_amount", "減免金額"), _defineProperty(_lang_obj, "cover_amount", "覆蓋金額"), _defineProperty(_lang_obj, "replace_price", "覆蓋價格"), _defineProperty(_lang_obj, "promo_suspended", "已停用"), _defineProperty(_lang_obj, "promo_active", "啟用中"), _defineProperty(_lang_obj, "promo_pending", "待生效"), _defineProperty(_lang_obj, "promo_expiration", "已失效"), _defineProperty(_lang_obj, "use_record", "使用記錄"), _defineProperty(_lang_obj, "order_number", "訂單編號"), _defineProperty(_lang_obj, "amount_of_money", "優惠前金額"), _defineProperty(_lang_obj, "discount_amount", "優惠金額"), _defineProperty(_lang_obj, "order_number", "訂單號碼"), _defineProperty(_lang_obj, "order_random", "隨機生成"), _defineProperty(_lang_obj, "assert_time", "生效時間"), _defineProperty(_lang_obj, "deadline", "截止時間"), _defineProperty(_lang_obj, "quick_select", "快速選擇時長"), _defineProperty(_lang_obj, "max_times", "最大使用次數"), _defineProperty(_lang_obj, "max_times_tip", "輸入0視為無限制"), _defineProperty(_lang_obj, "user_type_limit", "使用者類型限制"), _defineProperty(_lang_obj, "unlimited", "無限制"), _defineProperty(_lang_obj, "no_product_users", "無產品用戶"), _defineProperty(_lang_obj, "has_product_users", "使用者必須存在啟動中的產品"), _defineProperty(_lang_obj, "month_unit", "個月"), _defineProperty(_lang_obj, "year", "年"), _defineProperty(_lang_obj, "single_user_once", "單一使用者一次"), _defineProperty(_lang_obj, "upgrade_discount", "升降級優惠"), _defineProperty(_lang_obj, "host_upgrade", "升降級商品配置"), _defineProperty(_lang_obj, "renew_discount", "續費優惠"), _defineProperty(_lang_obj, "loop_discount", "循環優惠"), _defineProperty(_lang_obj, "cycle_limit", "週期限制"), _defineProperty(_lang_obj, "promo_quarterly", "季"), _defineProperty(_lang_obj, "promo_semiannually", "半年"), _defineProperty(_lang_obj, "promo_annually", "一年"), _defineProperty(_lang_obj, "promo_biennially", "兩年"), _defineProperty(_lang_obj, "promo_triennially", "三年"), _defineProperty(_lang_obj, "apply_products", "可應用產品"), _defineProperty(_lang_obj, "need_products", "需求產品"), _defineProperty(_lang_obj, "all_time", "總計有效時長"), _defineProperty(_lang_obj, "promo_hour", "時"), _defineProperty(_lang_obj, "minutes", "分"), _defineProperty(_lang_obj, "seconds", "秒"), _defineProperty(_lang_obj, "promo_tip", "單一使用者該優惠碼只能使用一次"), _defineProperty(_lang_obj, "promo_tip1", "勾選後,此優惠碼可在升降級訂單中使用"), _defineProperty(_lang_obj, "promo_tip2", "勾選後, 購買商品時使用此優惠碼後,優惠折扣的價格將會應用在商品的升級/降級訂單上,並無視例如最大使用次數,有限期等優惠碼限制。"), _defineProperty(_lang_obj, "promo_tip3", "勾選後,此優惠碼可在續費訂單中使用"), _defineProperty(_lang_obj, "promo_tip4", "勾選後,在訂購或續費使用該優惠碼後,後續的續費價格仍然應用優惠並無視例如最大使用次數,有限期等優惠碼限制。"), _defineProperty(_lang_obj, "promo_tip5", "使用者購買時選擇設定的週期才可使用"), _defineProperty(_lang_obj, "promo_tip6", "折扣比例小於等於100"), _defineProperty(_lang_obj, "promo_tip7", "不選擇產品時,預設所有產品可使用該優惠碼"), _defineProperty(_lang_obj, "promo_tip8", "選擇產品後,用戶帳號內需擁有該產品且為啟動狀態,才可使用該優惠碼。不選擇產品時,無要求"), _defineProperty(_lang_obj, "promo_tip9", "9位元包含大小寫字母與數字"), _defineProperty(_lang_obj, "promo_tip10", "截止時間不能早於生效時間"), _defineProperty(_lang_obj, "default_invalid_reply", "預設無效回覆"), _defineProperty(_lang_obj, "promoter", "推介人"), _defineProperty(_lang_obj, "reward_record", "獎勵記錄"), _defineProperty(_lang_obj, "recommend_config", "推廣配置"), _defineProperty(_lang_obj, "purchase_amount", "購買金額"), _defineProperty(_lang_obj, "reward_proportion", "獎勵比例"), _defineProperty(_lang_obj, "reward_money", "獎勵金額"), _defineProperty(_lang_obj, "confirm", "確認"), _defineProperty(_lang_obj, "confirm_now", "立即確認"), _defineProperty(_lang_obj, "confirming", "確認中"), _defineProperty(_lang_obj, "invalid_promotion", "無效推介"), _defineProperty(_lang_obj, "surplus_time", "剩餘確認時間"), _defineProperty(_lang_obj, "recommend_users", "推廣使用者"), _defineProperty(_lang_obj, "promoted_users", "被推廣使用者"), _defineProperty(_lang_obj, "invalid_reason", "無效原因"), _defineProperty(_lang_obj, "reply_content", "回覆內容"), _defineProperty(_lang_obj, "save_preset_reply", "儲存預設回覆"), _defineProperty(_lang_obj, "recommend_awards", "推廣獎勵存款"), _defineProperty(_lang_obj, "recommend_days", "確認推介天數"), _defineProperty(_lang_obj, "withdraw_min", "最低提現金金額"), _defineProperty(_lang_obj, "withdraw_handling_fee", "提現手續費"), _defineProperty(_lang_obj, "recommend_ratio", "推介獎勵比例"), _defineProperty(_lang_obj, "custom_page", "自訂推廣頁面"), _defineProperty(_lang_obj, "min_pay_money", "最低支付金額"), _defineProperty(_lang_obj, "promoter_user", "推廣人/使用者"), _defineProperty(_lang_obj, "recommend_tip", "設定開啟推廣計畫的用戶,初始獎勵存款金額"), _defineProperty(_lang_obj, "recommend_tip1", "推介獎勵在確認後,才可進行提現"), _defineProperty(_lang_obj, "recommend_tip2", "可提現未達最低金額時,無法提領"), _defineProperty(_lang_obj, "recommend_tip3", "設定被推廣用戶購買產品時,觸發推廣獎勵的最低金額,以相同訂單相同產品合計金額計算"), _defineProperty(_lang_obj, "recommend_tip4", "輸入0視為即刻確認,預設為14天"), _defineProperty(_lang_obj, "recommend_tip5", "輸入想要推介的會員中心頁面鏈接,一行為一個地址。"), _defineProperty(_lang_obj, "recommend_tip6", "請先選擇產品並儲存"), _defineProperty(_lang_obj, "recommend_tip7", "輸入0視為無提現手續費"), _defineProperty(_lang_obj, "sale_text1", "銷售清單"), _defineProperty(_lang_obj, "sale_text2", "已綁定使用者"), _defineProperty(_lang_obj, "sale_text3", "新增"), _defineProperty(_lang_obj, "sale_text4", "請搜尋使用者名稱、銷售姓名、銷售編號"), _defineProperty(_lang_obj, "sale_text5", "使用者名稱"), _defineProperty(_lang_obj, "sale_text6", "修改綁定銷售"), _defineProperty(_lang_obj, "sale_text7", "請選擇綁定的使用者"), _defineProperty(_lang_obj, "sale_text8", "選擇銷售"), _defineProperty(_lang_obj, "sale_text9", "請選擇綁定的銷售"), _defineProperty(_lang_obj, "sale_text10", "使用者名稱(公司)"), _defineProperty(_lang_obj, "sale_text11", "綁定銷售"), _defineProperty(_lang_obj, "sale_text12", "銷售編號"), _defineProperty(_lang_obj, "sale_text13", "綁定時間"), _defineProperty(_lang_obj, "sale_text14", "請選擇銷售"), _defineProperty(_lang_obj, "sale_text15", "新增綁定銷售"), _defineProperty(_lang_obj, "sale_text16", "修改綁定銷售"), _defineProperty(_lang_obj, "sale_text17", "銷售清單"), _defineProperty(_lang_obj, "sale_text18", "請搜尋訂單ID、使用者名稱、公司、銷售姓名"), _defineProperty(_lang_obj, "sale_text19", "確認作廢訂單"), _defineProperty(_lang_obj, "sale_text20", "作廢"), _defineProperty(_lang_obj, "sale_text21", "訂單ID"), _defineProperty(_lang_obj, "sale_text22", "使用者名稱(公司)"), _defineProperty(_lang_obj, "sale_text23", "商品名稱"), _defineProperty(_lang_obj, "sale_text24", "訂單金額"), _defineProperty(_lang_obj, "sale_text25", "提成金額"), _defineProperty(_lang_obj, "sale_text26", "銷售姓名"), _defineProperty(_lang_obj, "sale_text27", "下單時間"), _defineProperty(_lang_obj, "sale_text28", "狀態"), _defineProperty(_lang_obj, "sale_text29", "待確認"), _defineProperty(_lang_obj, "sale_text30", "已確認"), _defineProperty(_lang_obj, "sale_text31", "已作廢"), _defineProperty(_lang_obj, "sale_text32", "變更銷售"), _defineProperty(_lang_obj, "sale_text33", "商品提成設定"), _defineProperty(_lang_obj, "sale_text34", "新增"), _defineProperty(_lang_obj, "sale_text35", "全域提成設定"), _defineProperty(_lang_obj, "sale_text36", "儲值訂單提成"), _defineProperty(_lang_obj, "sale_text37", "大訂單獎勵"), _defineProperty(_lang_obj, "sale_text38", "獎勵類型為階梯式獎勵,依不同的範圍計算不用的費用,各個範圍對應的提成相加"), _defineProperty(_lang_obj, "sale_text39", "請注意,目前金額範圍不連續!"), _defineProperty(_lang_obj, "sale_text40", "單月超出獎勵"), _defineProperty(_lang_obj, "sale_text41", "通知設定"), _defineProperty(_lang_obj, "sale_text42", "大訂單通知"), _defineProperty(_lang_obj, "sale_text43", "訂單金額(不少於)"), _defineProperty(_lang_obj, "sale_text44", "時,發送通知"), _defineProperty(_lang_obj, "sale_text45", "其他設定"), _defineProperty(_lang_obj, "sale_text46", "銷售提成確認時長"), _defineProperty(_lang_obj, "sale_text47", "天"), _defineProperty(_lang_obj, "sale_text48", "保存"), _defineProperty(_lang_obj, "sale_text49", "選擇商品"), _defineProperty(_lang_obj, "sale_text50", "請選擇商品"), _defineProperty(_lang_obj, "sale_text51", "提成模式"), _defineProperty(_lang_obj, "sale_text52", "請選擇提成模式"), _defineProperty(_lang_obj, "sale_text53", "首購提成"), _defineProperty(_lang_obj, "sale_text54", "續費提成"), _defineProperty(_lang_obj, "sale_text55", "複購提成"), _defineProperty(_lang_obj, "sale_text56", "請輸入提成"), _defineProperty(_lang_obj, "sale_text57", "請選擇續費模式"), _defineProperty(_lang_obj, "sale_text58", "請選擇複購模式"), _defineProperty(_lang_obj, "sale_text59", "首次儲值編輯"), _defineProperty(_lang_obj, "sale_text60", "金額階梯"), _defineProperty(_lang_obj, "sale_text61", "請輸入金額範圍"), _defineProperty(_lang_obj, "sale_text62", "商品"), _defineProperty(_lang_obj, "sale_text63", "首購提成"), _defineProperty(_lang_obj, "sale_text64", "續費提成"), _defineProperty(_lang_obj, "sale_text65", "複購提成"), _defineProperty(_lang_obj, "sale_text66", "儲值類型"), _defineProperty(_lang_obj, "sale_text67", "提成"), _defineProperty(_lang_obj, "sale_text68", "金額範圍"), _defineProperty(_lang_obj, "sale_text69", "提成"), _defineProperty(_lang_obj, "sale_text70", "固定金額"), _defineProperty(_lang_obj, "sale_text71", "百分比"), _defineProperty(_lang_obj, "sale_text72", "請選擇商品"), _defineProperty(_lang_obj, "sale_text73", "新增商品提成"), _defineProperty(_lang_obj, "sale_text74", "新增獎勵"), _defineProperty(_lang_obj, "sale_text75", "編輯獎勵"), _defineProperty(_lang_obj, "sale_text76", "金額階梯不能為0!"), _defineProperty(_lang_obj, "sale_text77", "請填入金額範圍!"), _defineProperty(_lang_obj, "sale_text78", "最大最小區間不能一致!"), _defineProperty(_lang_obj, "sale_text79", "最大金額不應大於最小金額!"), _defineProperty(_lang_obj, "sale_text80", "編輯"), _defineProperty(_lang_obj, "sale_text81", "編輯商品提成"), _defineProperty(_lang_obj, "sale_text82", "首次儲值"), _defineProperty(_lang_obj, "sale_text83", "後續儲值"), _defineProperty(_lang_obj, "sale_text84", "資料統計"), _defineProperty(_lang_obj, "sale_text85", "下拉選擇銷售姓名"), _defineProperty(_lang_obj, "sale_text86", "今日提成"), _defineProperty(_lang_obj, "sale_text87", "本月提成"), _defineProperty(_lang_obj, "sale_text88", "總提成"), _defineProperty(_lang_obj, "sale_text89", "提成各項佔比"), _defineProperty(_lang_obj, "sale_text90", "銷售總額"), _defineProperty(_lang_obj, "sale_text91", "本週"), _defineProperty(_lang_obj, "sale_text92", "上週"), _defineProperty(_lang_obj, "sale_text93", "本月"), _defineProperty(_lang_obj, "sale_text94", "上月"), _defineProperty(_lang_obj, "sale_text95", "本年"), _defineProperty(_lang_obj, "sale_text96", "使用者消費排行"), _defineProperty(_lang_obj, "sale_text97", "銷售額"), _defineProperty(_lang_obj, "sale_text98", "銷售提成"), _defineProperty(_lang_obj, "sale_text99", "首購提成"), _defineProperty(_lang_obj, "sale_text100", "續費提成"), _defineProperty(_lang_obj, "sale_text101", "複購提成"), _defineProperty(_lang_obj, "sale_text102", "其他提成"), _defineProperty(_lang_obj, "sale_text103", "提成佔比"), _defineProperty(_lang_obj, "sale_text104", "銷售清單"), _defineProperty(_lang_obj, "sale_text105", "已綁定使用者"), _defineProperty(_lang_obj, "sale_text106", "新增"), _defineProperty(_lang_obj, "sale_text107", "請搜尋管理者使用者名稱、銷售姓名"), _defineProperty(_lang_obj, "sale_text108", "選擇管理者"), _defineProperty(_lang_obj, "sale_text109", "請選擇銷售管理員"), _defineProperty(_lang_obj, "sale_text110", "銷售姓名"), _defineProperty(_lang_obj, "sale_text111", "請輸入銷售姓名"), _defineProperty(_lang_obj, "sale_text112", "銷售編號"), _defineProperty(_lang_obj, "sale_text113", "請輸入銷售編號"), _defineProperty(_lang_obj, "sale_text114", "聯絡方式"), _defineProperty(_lang_obj, "sale_text115", "請輸入聯絡人"), _defineProperty(_lang_obj, "sale_text116", "管理者使用者名稱"), _defineProperty(_lang_obj, "sale_text117", "銷售姓名"), _defineProperty(_lang_obj, "sale_text118", "銷售編號"), _defineProperty(_lang_obj, "sale_text119", "請選擇管理者"), _defineProperty(_lang_obj, "sale_text120", "請輸入銷售姓名"), _defineProperty(_lang_obj, "sale_text121", "請輸入銷售編號"), _defineProperty(_lang_obj, "sale_text122", "只能輸入數字"), _defineProperty(_lang_obj, "sale_text123", "新增銷售"), _defineProperty(_lang_obj, "sale_text124", "編輯銷售"), _defineProperty(_lang_obj, "sale_text125", "銷售提成的自動確認時長,未確認的提成不計算在銷售統計中"), _defineProperty(_lang_obj, "sale_text126", "本年銷售詳情"), _defineProperty(_lang_obj, "sale_text127", "升級提成"), _defineProperty(_lang_obj, "sale_text128", "請選擇升級提成"), _defineProperty(_lang_obj, "sale_text129", "升級訂單"), _defineProperty(_lang_obj, "install_text1", "歡迎"), _defineProperty(_lang_obj, "install_text2", "環境檢查"), _defineProperty(_lang_obj, "install_text3", "配置資料庫"), _defineProperty(_lang_obj, "install_text4", "設定資訊"), _defineProperty(_lang_obj, "install_text5", "安裝完成"), _defineProperty(_lang_obj, "install_text6", "名稱"), _defineProperty(_lang_obj, "install_text7", "建議"), _defineProperty(_lang_obj, "install_text8", "當前"), _defineProperty(_lang_obj, "install_text9", "請輸入資料庫位址"), _defineProperty(_lang_obj, "install_text10", "50字元以內"), _defineProperty(_lang_obj, "install_text11", "請輸入資料庫名稱"), _defineProperty(_lang_obj, "install_text12", "請輸入使用者名稱"), _defineProperty(_lang_obj, "install_text13", "請輸入密碼"), _defineProperty(_lang_obj, "install_text14", "請輸入資料庫連接埠"), _defineProperty(_lang_obj, "install_text15", "請輸入網站標題"), _defineProperty(_lang_obj, "install_text16", "請輸入管理者使用者名稱"), _defineProperty(_lang_obj, "install_text17", "請輸入管理者密碼"), _defineProperty(_lang_obj, "install_text18", "請輸入信箱"), _defineProperty(_lang_obj, "to_be_executed", "待執行"), _defineProperty(_lang_obj, "push_status", "推播狀態"), _defineProperty(_lang_obj, "notice_type", "通知形式"), _defineProperty(_lang_obj, "in_station_mes", "站內信"), _defineProperty(_lang_obj, "client_sms", "簡訊"), _defineProperty(_lang_obj, "client_email", "郵件"), _defineProperty(_lang_obj, "choose_time", "選擇時間"), _defineProperty(_lang_obj, "notice_content", "通知內容"), _defineProperty(_lang_obj, "care_week1", "星期一"), _defineProperty(_lang_obj, "care_week2", "星期二"), _defineProperty(_lang_obj, "care_week3", "星期三"), _defineProperty(_lang_obj, "care_week4", "星期四"), _defineProperty(_lang_obj, "care_week5", "星期五"), _defineProperty(_lang_obj, "care_week6", "星期六"), _defineProperty(_lang_obj, "care_week7", "星期日"), _defineProperty(_lang_obj, "client_care_label1", "推播主題"), _defineProperty(_lang_obj, "client_care_label2", "推播內容"), _defineProperty(_lang_obj, "client_care_label3", "發送週期"), _defineProperty(_lang_obj, "client_care_label4", "失敗/週期應發"), _defineProperty(_lang_obj, "client_care_label5", "推送開始時間"), _defineProperty(_lang_obj, "client_care_label6", "目前狀態"), _defineProperty(_lang_obj, "client_care_label7", "操作"), _defineProperty(_lang_obj, "client_care_label8", "通知標題"), _defineProperty(_lang_obj, "client_care_label9", "簡訊介面"), _defineProperty(_lang_obj, "client_care_label10", "簡訊模板"), _defineProperty(_lang_obj, "client_care_label11", "郵件介面"), _defineProperty(_lang_obj, "client_care_label12", "郵件範本"), _defineProperty(_lang_obj, "client_care_label13", "郵件標題"), _defineProperty(_lang_obj, "client_care_label14", "郵件內容"), _defineProperty(_lang_obj, "client_care_label15", "推送週期"), _defineProperty(_lang_obj, "client_care_label16", "推送時間範圍"), _defineProperty(_lang_obj, "client_care_label17", "信箱"), _defineProperty(_lang_obj, "client_care_label18", "手機號碼"), _defineProperty(_lang_obj, "client_care_label19", "每天一次"), _defineProperty(_lang_obj, "client_care_label20", "每週一次"), _defineProperty(_lang_obj, "client_care_label21", "每月一次"), _defineProperty(_lang_obj, "client_care_label22", "指定使用者"), _defineProperty(_lang_obj, "client_care_label23", "指定產品"), _defineProperty(_lang_obj, "client_care_label24", "指定介面"), _defineProperty(_lang_obj, "client_care_label25", "註冊時數"), _defineProperty(_lang_obj, "client_care_label26", "啟動產品數量"), _defineProperty(_lang_obj, "client_care_label27", "產品數量"), _defineProperty(_lang_obj, "client_care_label28", "上次登入時間"), _defineProperty(_lang_obj, "client_care_label29", "產品狀態"), _defineProperty(_lang_obj, "client_care_label30", "產品購買時間"), _defineProperty(_lang_obj, "client_care_label31", "產品刪除時間"), _defineProperty(_lang_obj, "client_care_label32", "商品配置"), _defineProperty(_lang_obj, "client_care_label33", "商品介面"), _defineProperty(_lang_obj, "client_care_label34", "大於等於"), _defineProperty(_lang_obj, "client_care_label35", "小於"), _defineProperty(_lang_obj, "client_care_label36", "已取消"), _defineProperty(_lang_obj, "client_care_label37", "已付款"), _defineProperty(_lang_obj, "client_care_label38", "開通中"), _defineProperty(_lang_obj, "client_care_label39", "已開通"), _defineProperty(_lang_obj, "client_care_label40", "已暫停"), _defineProperty(_lang_obj, "client_care_label41", "已刪除"), _defineProperty(_lang_obj, "client_care_label42", "開通失敗"), _defineProperty(_lang_obj, "client_care_label43", "天"), _defineProperty(_lang_obj, "client_care_label44", "日期"), _defineProperty(_lang_obj, "client_care_label45", "使用者"), _defineProperty(_lang_obj, "client_care_label46", "傳送條數"), _defineProperty(_lang_obj, "client_care_label47", "大陸"), _defineProperty(_lang_obj, "client_care_label48", "國際"), _defineProperty(_lang_obj, "client_care_label49", "返回"), _defineProperty(_lang_obj, "client_care_btn1", "新推送"), _defineProperty(_lang_obj, "client_care_btn2", "選擇"), _defineProperty(_lang_obj, "client_care_btn3", "查看名單"), _defineProperty(_lang_obj, "client_care_btn4", "保存"), _defineProperty(_lang_obj, "client_care_btn5", "發送預覽"), _defineProperty(_lang_obj, "client_care_btn6", "取消"), _defineProperty(_lang_obj, "client_care_btn7", "關閉"), _defineProperty(_lang_obj, "client_care_placeholder1", "推播主題、關聯活動"), _defineProperty(_lang_obj, "client_care_title1", "基礎資訊"), _defineProperty(_lang_obj, "client_care_title2", "推播目標"), _defineProperty(_lang_obj, "client_care_title3", "推播名單"), _defineProperty(_lang_obj, "client_care_title4", "發送預覽"), _defineProperty(_lang_obj, "client_care_title5", "確認啟用"), _defineProperty(_lang_obj, "client_care_title6", "確認停用"), _defineProperty(_lang_obj, "client_care_title7", "確認刪除"), _defineProperty(_lang_obj, "client_care_text1", "使用中"), _defineProperty(_lang_obj, "client_care_text2", "已停用"), _defineProperty(_lang_obj, "client_care_text3", "天"), _defineProperty(_lang_obj, "client_care_text4", "個"), _defineProperty(_lang_obj, "client_care_text5", "同使用者重複發送"), _defineProperty(_lang_obj, "client_care_text6", "預計將發送"), _defineProperty(_lang_obj, "client_care_text7", "條推播,"), _defineProperty(_lang_obj, "client_care_message1", "請選擇簡訊介面或郵件介面!"), _defineProperty(_lang_obj, "client_care_message2", "請選擇簡訊範本"), _defineProperty(_lang_obj, "client_care_message3", "請選擇郵件範本或輸入郵件標題"), _defineProperty(_lang_obj, "client_care_message4", "請輸入郵件標題或選擇郵件範本"), _defineProperty(_lang_obj, "client_care_message5", "請輸入郵件內容"), _defineProperty(_lang_obj, "client_care_message6", "請選擇"), _defineProperty(_lang_obj, "client_care_message7", "請輸入"), _defineProperty(_lang_obj, "client_care_message8", "請輸入天數"), _defineProperty(_lang_obj, "client_care_message9", "請輸入個數"), _defineProperty(_lang_obj, "client_care_message10", "請輸入信箱"), _defineProperty(_lang_obj, "client_care_message11", "請輸入手機號碼"), _defineProperty(_lang_obj, "client_care_message12", "請輸入正確的手機號碼"), _defineProperty(_lang_obj, "client_care_message13", "請輸入標題"), _defineProperty(_lang_obj, "client_care_message14", "請選擇推播週期"), _defineProperty(_lang_obj, "client_care_message15", "請選擇推播開始時間"), _defineProperty(_lang_obj, "client_care_message16", "請輸入正確的郵件地址"), _defineProperty(_lang_obj, "client_care_message17", "推播時間"), _defineProperty(_lang_obj, "client_care_message18", "日"), _defineProperty(_lang_obj, "client_custom_label1", "使用者詳情自訂欄位"), _defineProperty(_lang_obj, "client_custom_label2", "請在此自訂使用者詳情中可以輸入的資訊"), _defineProperty(_lang_obj, "client_custom_label3", "新增欄位"), _defineProperty(_lang_obj, "client_custom_label4", "下拉"), _defineProperty(_lang_obj, "client_custom_label5", "輸入"), _defineProperty(_lang_obj, "client_custom_label6", "目前欄位可能存在資料,是否確認刪除?"), _defineProperty(_lang_obj, "client_custom_label7", "編輯欄位"), _defineProperty(_lang_obj, "client_custom_label8", "新增欄位"), _defineProperty(_lang_obj, "client_custom_label9", "字段名稱"), _defineProperty(_lang_obj, "client_custom_label10", "欄位類型"), _defineProperty(_lang_obj, "client_custom_label11", "下拉值,值之間使用“,”間隔"), _defineProperty(_lang_obj, "client_custom_label12", "下拉值"), _defineProperty(_lang_obj, "client_custom_label13", "保存"), _defineProperty(_lang_obj, "client_custom_label14", "取消"), _defineProperty(_lang_obj, "client_custom_label15", "值"), _defineProperty(_lang_obj, "client_custom_label16", "顯示狀態"), _defineProperty(_lang_obj, "finance_search_text1", "設定"), _defineProperty(_lang_obj, "finance_search_text2", "查詢記錄"), _defineProperty(_lang_obj, "finance_search_text3", "資料查詢"), _defineProperty(_lang_obj, "finance_search_text4", "立刻查詢"), _defineProperty(_lang_obj, "finance_search_text5", "查詢結果"), _defineProperty(_lang_obj, "finance_search_text6", "所屬客戶"), _defineProperty(_lang_obj, "finance_search_text7", "手機"), _defineProperty(_lang_obj, "finance_search_text8", "郵件信箱"), _defineProperty(_lang_obj, "finance_search_text9", "QQ"), _defineProperty(_lang_obj, "finance_search_text10", "系統設定"), _defineProperty(_lang_obj, "finance_search_text11", "詳情"), _defineProperty(_lang_obj, "finance_search_text12", "時間"), _defineProperty(_lang_obj, "finance_search_text13", "查詢人"), _defineProperty(_lang_obj, "finance_search_text14", "待開通"), _defineProperty(_lang_obj, "finance_search_text15", "已啟動"), _defineProperty(_lang_obj, "finance_search_text16", "已暫停"), _defineProperty(_lang_obj, "finance_search_text17", "被取消"), _defineProperty(_lang_obj, "finance_search_text18", "有詐欺"), _defineProperty(_lang_obj, "finance_search_text19", "已完成"), _defineProperty(_lang_obj, "finance_search_text20", "被刪除"), _defineProperty(_lang_obj, "finance_search_text21", "開通失敗"), _defineProperty(_lang_obj, "finance_search_text22", "IP位址"), _defineProperty(_lang_obj, "finance_search_text23", "所有IP"), _defineProperty(_lang_obj, "finance_search_text24", "狀態"), _defineProperty(_lang_obj, "finance_search_text25", "開通時間"), _defineProperty(_lang_obj, "finance_search_text26", "到期時間"), _defineProperty(_lang_obj, "finance_search_text27", "請選擇類型!"), _defineProperty(_lang_obj, "finance_search_text28", "請輸入查詢條件"), _defineProperty(_lang_obj, "finance_search_text29", "無符合條件的結果!"), _defineProperty(_lang_obj, "finance_search_text30", "管理員"), _defineProperty(_lang_obj, "finance_search_text31", "每月次數"), _defineProperty(_lang_obj, "finance_search_text32", "當月已使用"), _defineProperty(_lang_obj, "finance_search_text33", "所屬銷售"), _defineProperty(_lang_obj, "voucher_code", "代金券碼"), _defineProperty(_lang_obj, "voucher_type", "代金券類型"), _defineProperty(_lang_obj, "voucher_cost", "代金券價值"), _defineProperty(_lang_obj, "voucher_num", "代金券數量"), _defineProperty(_lang_obj, "voucher_use", "已使用/領取使用者"), _defineProperty(_lang_obj, "voucher_repeat", "代金券碼重複"), _defineProperty(_lang_obj, "public", "公開"), _defineProperty(_lang_obj, "private", "私有"), _defineProperty(_lang_obj, "dead_time", "失效時間"), _defineProperty(_lang_obj, "grant", "發放"), _defineProperty(_lang_obj, "grant_times", "發放次數"), _defineProperty(_lang_obj, "use_status", "使用狀態"), _defineProperty(_lang_obj, "not_used", "未使用"), _defineProperty(_lang_obj, "used", "已使用"), _defineProperty(_lang_obj, "upgrade_use", "升降級使用"), _defineProperty(_lang_obj, "renew_use", "續費使用"), _defineProperty(_lang_obj, "order_for_goods", "訂單包含產品"), _defineProperty(_lang_obj, "min_use_amount", "最低使用金額"), _defineProperty(_lang_obj, "choose_all_users", "選擇系統中所有使用者"), _defineProperty(_lang_obj, "add_grant_user", "新增發放物件"), _defineProperty(_lang_obj, "voucher_tip", "8位元包含大小寫字母和數字"), _defineProperty(_lang_obj, "voucher_tip1", "私有:僅可透過後台管理發放取得"), _defineProperty(_lang_obj, "voucher_tip2", "公開:可直接在前台領取"), _defineProperty(_lang_obj, "voucher_tip3", "單一使用者該代金券只能使用一次"), _defineProperty(_lang_obj, "voucher_tip4", "勾選後,該代金券可在升降級訂單中使用"), _defineProperty(_lang_obj, "voucher_tip5", "勾選後,該代金券可在續費訂單中使用"), _defineProperty(_lang_obj, "voucher_tip6", "選擇產品後,訂單中必須包含以下產品才可使用該代金券。不選擇產品時,無要求"), _defineProperty(_lang_obj, "voucher_tip7", "選擇產品後,用戶帳戶內需擁有該產品且為啟動狀態,才可使用該代金券。不選擇產品時,無要求"), _defineProperty(_lang_obj, "voucher_tip8", "已選擇系統中所有使用者"), _defineProperty(_lang_obj, "voucher_tip9", "若代金券數量不足,將順序發放給系統用戶,發完即止"), _defineProperty(_lang_obj, "application_type", "申請入駐類型"), _defineProperty(_lang_obj, "preset_reply", "預設回覆"), _defineProperty(_lang_obj, "apply_status", "申請狀態"), _defineProperty(_lang_obj, "bond", "保證金"), _defineProperty(_lang_obj, "change_bond", "修改保證金"), _defineProperty(_lang_obj, "sub_bond", "扣除保證金"), _defineProperty(_lang_obj, "reject_reason", "駁回理由"), _defineProperty(_lang_obj, "amount_deducted", "扣除金額"), _defineProperty(_lang_obj, "disqualification", "取消入駐資格"), _defineProperty(_lang_obj, "change_to_pass", "修改為通過"), _defineProperty(_lang_obj, "change_to_reject", "修改為駁回"), _defineProperty(_lang_obj, "paid", "已繳交"), _defineProperty(_lang_obj, "service_provider", "服務商"), _defineProperty(_lang_obj, "deposit_to_be_paid", "待繳保證金"), _defineProperty(_lang_obj, "has_paid", "已繳保證金"), _defineProperty(_lang_obj, "passed", "已通過"), _defineProperty(_lang_obj, "to_be_reviewed", "資料待審核"), _defineProperty(_lang_obj, "rejected", "已駁回"), _defineProperty(_lang_obj, "pet_name", "暱稱"), _defineProperty(_lang_obj, "payway", "出售價格/方式"), _defineProperty(_lang_obj, "app_cloud", "魔術方塊"), _defineProperty(_lang_obj, "app_finance", "魔術方塊財務"), _defineProperty(_lang_obj, "app_list", "應用程式清單"), _defineProperty(_lang_obj, "app_name", "應用程式名稱"), _defineProperty(_lang_obj, "app_type", "套用類型"), _defineProperty(_lang_obj, "app_author", "應用程式作者"), _defineProperty(_lang_obj, "app_module", "應用程式模組"), _defineProperty(_lang_obj, "app_mark", "應用程式識別"), _defineProperty(_lang_obj, "app_details", "應用程式詳情"), _defineProperty(_lang_obj, "app_file", "應用程式檔案"), _defineProperty(_lang_obj, "app_start_day", "請選擇開始日期"), _defineProperty(_lang_obj, "app_end_day", "請選擇結束日期"), _defineProperty(_lang_obj, "service_details", "服務詳情"), _defineProperty(_lang_obj, "encryt_file", "加密檔案"), _defineProperty(_lang_obj, "developer", "作者"), _defineProperty(_lang_obj, "captcha_interface", "驗證碼介面"), _defineProperty(_lang_obj, "contact_qq", "聯絡QQ"), _defineProperty(_lang_obj, "app_web", "企業/個人網站"), _defineProperty(_lang_obj, "update_time", "更新時間"), _defineProperty(_lang_obj, "settle_type", "入駐類型"), _defineProperty(_lang_obj, "settle_apply", "入駐申請"), _defineProperty(_lang_obj, "update_apply", "變更資料申請"), _defineProperty(_lang_obj, "canceled_settled", "已取消入駐"), _defineProperty(_lang_obj, "author_service_provider", "開發者與服務商"), _defineProperty(_lang_obj, "on_shelf", "已上架"), _defineProperty(_lang_obj, "off_shelf", "已下架"), _defineProperty(_lang_obj, "up_shelf", "上架"), _defineProperty(_lang_obj, "lower_shelf", "下架"), _defineProperty(_lang_obj, "lower_shelf_way", "下架方式"), _defineProperty(_lang_obj, "lower_reason", "下架原因"), _defineProperty(_lang_obj, "app", "應用"), _defineProperty(_lang_obj, "rise", "起"), _defineProperty(_lang_obj, "edit_goods", "編輯商品"), _defineProperty(_lang_obj, "product_intro", "商品介紹"), _defineProperty(_lang_obj, "product_comment", "商品評論"), _defineProperty(_lang_obj, "version_des", "版本說明"), _defineProperty(_lang_obj, "certification", "實名介面"), _defineProperty(_lang_obj, "gateway", "付款介面"), _defineProperty(_lang_obj, "audit", "審核"), _defineProperty(_lang_obj, "no_pass", "不通過"), _defineProperty(_lang_obj, "file", "檔案"), _defineProperty(_lang_obj, "service", "服務"), _defineProperty(_lang_obj, "service_name", "服務名稱"), _defineProperty(_lang_obj, "service_type", "服務類型"), _defineProperty(_lang_obj, "manual_upload", "手動上傳"), _defineProperty(_lang_obj, "reencryp", "重新加密"), _defineProperty(_lang_obj, "auto_encrypt", "自動加密"), _defineProperty(_lang_obj, "audit_fail", "審核失敗"), _defineProperty(_lang_obj, "audit_time", "審核時間"), _defineProperty(_lang_obj, "audit_result", "審核結果"), _defineProperty(_lang_obj, "user_delete", "使用者刪除"), _defineProperty(_lang_obj, "audit_records", "審核記錄"), _defineProperty(_lang_obj, "trade_records", "交易記錄"), _defineProperty(_lang_obj, "trade_number", "交易流水號"), _defineProperty(_lang_obj, "buyer", "購買人"), _defineProperty(_lang_obj, "buy_num", "購買量"), _defineProperty(_lang_obj, "author_web", "作者網站"), _defineProperty(_lang_obj, "mailbox", "電子郵件"), _defineProperty(_lang_obj, "concat_qq", "諮詢"), _defineProperty(_lang_obj, "product_num", "商品數量"), _defineProperty(_lang_obj, "complaints_report", "投訴檢舉"), _defineProperty(_lang_obj, "store_manage", "商店管理"), _defineProperty(_lang_obj, "app_unpaid", "待付"), _defineProperty(_lang_obj, "app_paid", "已支付"), _defineProperty(_lang_obj, "app_finish", "已完成"), _defineProperty(_lang_obj, "app_refunding", "退款中"), _defineProperty(_lang_obj, "to_be_accepted", "待受理"), _defineProperty(_lang_obj, "accepting", "受理中"), _defineProperty(_lang_obj, "completed", "處理完成"), _defineProperty(_lang_obj, "apply_app_refunding", "申請退款中"), _defineProperty(_lang_obj, "app_inservice", "服務中"), _defineProperty(_lang_obj, "app_wait", "等待服務"), _defineProperty(_lang_obj, "app_user", "購買使用者"), _defineProperty(_lang_obj, "hot_app", "熱門應用程式"), _defineProperty(_lang_obj, "total_sales", "總銷售額"), _defineProperty(_lang_obj, "total_profit", "總利潤"), _defineProperty(_lang_obj, "total_goods", "商品總數"), _defineProperty(_lang_obj, "total_product", "產品總數"), _defineProperty(_lang_obj, "withdraw_money", "可提現金金額"), _defineProperty(_lang_obj, "withdrawed_money", "已提現金金額"), _defineProperty(_lang_obj, "free_money", "已收取提現手續費"), _defineProperty(_lang_obj, "buy_product", "購買商品"), _defineProperty(_lang_obj, "product_type", "商品類型"), _defineProperty(_lang_obj, "concat_domain", "關聯網域名稱"), _defineProperty(_lang_obj, "agree_refund", "同意退款"), _defineProperty(_lang_obj, "reject_refund", "拒絕退款"), _defineProperty(_lang_obj, "close_order", "關閉訂單"), _defineProperty(_lang_obj, "complainant", "投訴人"), _defineProperty(_lang_obj, "complaint_details", "投訴詳情"), _defineProperty(_lang_obj, "accepting_complaints", "受理投訴"), _defineProperty(_lang_obj, "replay_complaints", "回應投訴"), _defineProperty(_lang_obj, "complaints_enclosure", "投訴附件"), _defineProperty(_lang_obj, "official", "官方"), _defineProperty(_lang_obj, "record_time", "記錄時間"), _defineProperty(_lang_obj, "log_details", "日誌詳情"), _defineProperty(_lang_obj, "min_withdrawal_amount", "提現最低金額"), _defineProperty(_lang_obj, "max_withdrawal_amount", "提現最高金額"), _defineProperty(_lang_obj, "withdrawal_fee", "提現手續費比例"), _defineProperty(_lang_obj, "banner", "輪播圖"), _defineProperty(_lang_obj, "lock_on", "鎖定"), _defineProperty(_lang_obj, "locked", "已鎖定"), _defineProperty(_lang_obj, "no_lock", "未鎖定"), _defineProperty(_lang_obj, "lock_off", "解除鎖定"), _defineProperty(_lang_obj, "is_lock", "是否鎖定"), _defineProperty(_lang_obj, "choose_app", "選擇應用程式"), _defineProperty(_lang_obj, "terms_entry_url", "入駐條款位址"), _defineProperty(_lang_obj, "summary_info", "摘要資訊"), _defineProperty(_lang_obj, "app_manage", "應用程式管理"), _defineProperty(_lang_obj, "service_manage", "服務管理"), _defineProperty(_lang_obj, "report_manage", "檢舉管理"), _defineProperty(_lang_obj, "sales_records", "銷售記錄"), _defineProperty(_lang_obj, "buy_user", "買方"), _defineProperty(_lang_obj, "bill_no", "帳單號碼"), _defineProperty(_lang_obj, "comment", "評論"), _defineProperty(_lang_obj, "withdrawal_date", "提現日期"), _defineProperty(_lang_obj, "withdrawal_money", "提現金額"), _defineProperty(_lang_obj, "withdrawal_way", "提現方式"), _defineProperty(_lang_obj, "store_info", "商店資訊"), _defineProperty(_lang_obj, "store", "商店"), _defineProperty(_lang_obj, "store_top", "商店頭部"), _defineProperty(_lang_obj, "store_brief", "商店簡介"), _defineProperty(_lang_obj, "cancel_reason", "取消理由"), _defineProperty(_lang_obj, "belong_type", "所屬分類"), _defineProperty(_lang_obj, "cur_version", "目前版本"), _defineProperty(_lang_obj, "sales", "銷售"), _defineProperty(_lang_obj, "attestation", "認證"), _defineProperty(_lang_obj, "click_upload", "點選上傳"), _defineProperty(_lang_obj, "business_system", "業務系統"), _defineProperty(_lang_obj, "upload_tip", "支援批次上傳,上傳格式為jpg、jpeg、png"), _defineProperty(_lang_obj, "upload_tip1", "支援批次上傳,尺寸為920px*240px,支援上傳格式包含:jpg、jpeg、png。"), _defineProperty(_lang_obj, "app_tip1", "不輸入時,視為無須保證金即可上傳應用"), _defineProperty(_lang_obj, "app_tip2", "系統預設保證金為"), _defineProperty(_lang_obj, "app_tip3", "在投訴內容中,自動產生回覆記錄:您的投訴已被駁回然後將投訴狀態變為「處理完成」"), _defineProperty(_lang_obj, "app_tip4", "請輸入搜尋ID、使用者名稱、信箱、手機號碼、商品名稱"), _defineProperty(_lang_obj, "wait_confirm", "待確認收貨"), _defineProperty(_lang_obj, "surplus_days", "剩餘自動收貨天數"), _defineProperty(_lang_obj, "oauth", "第三方登入"), _defineProperty(_lang_obj, "look_detail", "查看明細"), _defineProperty(_lang_obj, "app_total", "合計"), _defineProperty(_lang_obj, "year_sale_count", "年度銷售統計"), _defineProperty(_lang_obj, "month_sale_count", "每月銷售統計"), _defineProperty(_lang_obj, "all_type", "全部分類"), _defineProperty(_lang_obj, "show_time_range", '展示時間範圍'), _defineProperty(_lang_obj, "compatible_version", "相容版本"), _defineProperty(_lang_obj, "compatible_version_tip", "以上"), _defineProperty(_lang_obj, "base_manage", "基礎管理"), _defineProperty(_lang_obj, "team_member", "團隊與成員"), _defineProperty(_lang_obj, "notice_setting", "通知設定"), _defineProperty(_lang_obj, "exceed", "超過"), _defineProperty(_lang_obj, "field_setting", "字段選項設定"), _defineProperty(_lang_obj, "oreder_viewer", "訂單指定檢視人"), _defineProperty(_lang_obj, "clue_assign_notice", "線索分配通知"), _defineProperty(_lang_obj, "clue_no_follow", "線索持續未跟進通知"), _defineProperty(_lang_obj, "return_pool_notice", "線索回歸公海通知"), _defineProperty(_lang_obj, "team_name", "團隊名稱"), _defineProperty(_lang_obj, "honcho", "主管"), _defineProperty(_lang_obj, "team", "團隊"), _defineProperty(_lang_obj, "business", "商務"), _defineProperty(_lang_obj, "options", "選項"), _defineProperty(_lang_obj, "clue", "線索"), _defineProperty(_lang_obj, "clue_info", "線索資訊"), _defineProperty(_lang_obj, "concat_info", "聯絡人資訊"), _defineProperty(_lang_obj, "concat_name", "聯絡人名稱"), _defineProperty(_lang_obj, "contact_address", "聯絡地址"), _defineProperty(_lang_obj, "source", "來源"), _defineProperty(_lang_obj, "create_team", "建立團隊"), _defineProperty(_lang_obj, "edit_team", "編輯團隊"), _defineProperty(_lang_obj, "pre_sales", "售前"), _defineProperty(_lang_obj, "clue_type", "線索類型"), _defineProperty(_lang_obj, "nature", "性質"), _defineProperty(_lang_obj, "clue_nature", "線索性質"), _defineProperty(_lang_obj, "clue_from", "線索來源"), _defineProperty(_lang_obj, "business_level", "商務等級"), _defineProperty(_lang_obj, "business_rank", "商務等級"), _defineProperty(_lang_obj, "follow_method", "跟進方式"), _defineProperty(_lang_obj, "not_assigned", "待指派"), _defineProperty(_lang_obj, "auto_back", "自動回公"), _defineProperty(_lang_obj, "give_up", "放棄"), _defineProperty(_lang_obj, "j_rejected", "已拒絕"), _defineProperty(_lang_obj, "distribute", "分配"), _defineProperty(_lang_obj, "batch_distribute", "批次分配"), _defineProperty(_lang_obj, "batch_import_clue", "批次導入線索"), _defineProperty(_lang_obj, "down_template", "下載模板"), _defineProperty(_lang_obj, "next_contact_time", "下次聯絡時間"), _defineProperty(_lang_obj, "order_moment", "成單時間"), _defineProperty(_lang_obj, "pay_status", "付款狀態"), _defineProperty(_lang_obj, "intention", "意向度"), _defineProperty(_lang_obj, "last_follow", "上次跟進"), _defineProperty(_lang_obj, "next_follow", "下次跟進"), _defineProperty(_lang_obj, "next_follow_time", "預計下次跟進"), _defineProperty(_lang_obj, "estimated_order", "預計成單"), _defineProperty(_lang_obj, "unclaimed", "待領取"), _defineProperty(_lang_obj, "wait_follow", "待跟進"), _defineProperty(_lang_obj, "following", "跟進中"), _defineProperty(_lang_obj, "follow_now", "立即跟進"), _defineProperty(_lang_obj, "follow_timeout", "跟進中(超時)"), _defineProperty(_lang_obj, "ordered", "已成單"), _defineProperty(_lang_obj, "follow_record", "跟進記錄"), _defineProperty(_lang_obj, "exchange_record", "流轉記錄"), _defineProperty(_lang_obj, "customer_info", "客戶資訊"), _defineProperty(_lang_obj, "recently_order", "是否最近成單"), _defineProperty(_lang_obj, "recently_order_time", "最近成單時間"), _defineProperty(_lang_obj, "recently_order_num", "成單數量"), _defineProperty(_lang_obj, "first_receive", "首次領取"), _defineProperty(_lang_obj, "clue_change_time", "線索流轉次數"), _defineProperty(_lang_obj, "history_business", "歷史商務"), _defineProperty(_lang_obj, "recent_follow_imes", "近期跟進次數"), _defineProperty(_lang_obj, "reassign", "重新指派"), _defineProperty(_lang_obj, "clue_template", "線索模板"), _defineProperty(_lang_obj, "import_result", "導入結果"), _defineProperty(_lang_obj, "import_timeout", "導入逾時"), _defineProperty(_lang_obj, "import_success", "導入完成"), _defineProperty(_lang_obj, "down_result", "下載結果檔"), _defineProperty(_lang_obj, "import_tip", "正在匯入,請勿刷新瀏覽器"), _defineProperty(_lang_obj, "strip", "條"), _defineProperty(_lang_obj, "prev_business", "流轉前商務"), _defineProperty(_lang_obj, "next_business", "流轉後商務"), _defineProperty(_lang_obj, "create_follow", "新增跟進"), _defineProperty(_lang_obj, "follow_way", "跟進方式"), _defineProperty(_lang_obj, "follow_detail", "跟進詳情"), _defineProperty(_lang_obj, "follow_time", "跟進時間"), _defineProperty(_lang_obj, "expect_next_follow_time", "跟進時間"), _defineProperty(_lang_obj, "wechat", "微信"), _defineProperty(_lang_obj, "batch_import_customers", "批次匯入客戶"), _defineProperty(_lang_obj, "pre_is_join", "售前是否參與"), _defineProperty(_lang_obj, "next_renew_time", "下次續費時間"), _defineProperty(_lang_obj, "norenew", "待續費"), _defineProperty(_lang_obj, "data_export", "資料導出"), _defineProperty(_lang_obj, "sum_order_amount", "總成單金額"), _defineProperty(_lang_obj, "demand_intention", "需求意向度"), _defineProperty(_lang_obj, "business_type", "業務類型"), _defineProperty(_lang_obj, "j_receive", "領取"), _defineProperty(_lang_obj, "j_order", "成單"), _defineProperty(_lang_obj, "j_reject", "拒絕"), _defineProperty(_lang_obj, "j_very_low", "非常低"), _defineProperty(_lang_obj, "j_low", "低"), _defineProperty(_lang_obj, "j_normal", "一般"), _defineProperty(_lang_obj, "j_high", "高"), _defineProperty(_lang_obj, "j_very_high", "非常高"), _defineProperty(_lang_obj, "j_tip1", "自動回歸公海天數"), _defineProperty(_lang_obj, "j_tip2", "超過設定天數商務未提交新的後續記錄線索將回歸公海"), _defineProperty(_lang_obj, "j_tip3", "該使用者可以看到所有訂單"), _defineProperty(_lang_obj, "j_tip4", "商務收到新線索時將會收到簡訊通知"), _defineProperty(_lang_obj, "j_tip5", "線索被自動或手動收回時,是否通知"), _defineProperty(_lang_obj, "j_tip6", "線索超過x天沒有跟進,將會通知盡快跟進"), _defineProperty(_lang_obj, "j_tip7", "建立的線索歸屬於目前選取的團隊"), _defineProperty(_lang_obj, "j_tip8", "線索鎖定後,將不會因為跟進逾時而回到公海"), _defineProperty(_lang_obj, "j_tip9", "放棄後客戶將回到公海,可分配給其他商務跟進"), _defineProperty(_lang_obj, "j_tip10", "重新分配後,線索將由新分配的商務進行跟進"), _defineProperty(_lang_obj, "j_tip11", "週期續費到期前15天,將發送簡訊提示即將續費"), _defineProperty(_lang_obj, "j_tip12", "請輸入備註,用於流轉記錄展示"), _defineProperty(_lang_obj, "j_tip13", "已自動計算下次續費時間"), _defineProperty(_lang_obj, "decrypt", "解密"), _defineProperty(_lang_obj, "auth_encryption", "加密資料"), _defineProperty(_lang_obj, "magic_dcim", "魔術方塊DCIM"), _defineProperty(_lang_obj, "decrypt_web", "解密web訊息"), _defineProperty(_lang_obj, "decrypt_all", "解密全部"), _defineProperty(_lang_obj, "auth_user", "使用人"), _defineProperty(_lang_obj, "install_doc", "安裝說明"), _defineProperty(_lang_obj, "user_guide", "使用指南"), _defineProperty(_lang_obj, "guide_name", "指南名稱"), _defineProperty(_lang_obj, "url_address", "URL地址"), _defineProperty(_lang_obj, "recommend_app", "推薦應用程式"), _defineProperty(_lang_obj, "recommend_reason", "推薦理由"), _defineProperty(_lang_obj, "auth_census", "授權統計"), _defineProperty(_lang_obj, "version_census", "各版本統計"), _defineProperty(_lang_obj, "recently_active", "近期活躍"), _defineProperty(_lang_obj, "auth_num", "數量"), _defineProperty(_lang_obj, "auth_all", "全部"), _defineProperty(_lang_obj, "auth_port", "連接埠"), _defineProperty(_lang_obj, "auth_room", "機房"), _defineProperty(_lang_obj, "auth_cycle1", "3天內"), _defineProperty(_lang_obj, "auth_cycle2", "7天內"), _defineProperty(_lang_obj, "auth_cycle3", "30天內"), _defineProperty(_lang_obj, "auth_cycle4", "30天以上"), _defineProperty(_lang_obj, "auth_cycle5", "90天以上"), _defineProperty(_lang_obj, "auth_tip1", "財務的安裝說明,支援HTML"), _defineProperty(_lang_obj, "auth_tip2", "DCIM的安裝說明,支援HTML"), _defineProperty(_lang_obj, "auth_tip3", "DCIM的一鍵安裝腳本"), _defineProperty(_lang_obj, "auth_tip4", "雲端的安裝說明,支援HTML"), _defineProperty(_lang_obj, "auth_tip5", "雲端的一鍵安裝腳本"), _defineProperty(_lang_obj, "auth_tip6", "業務系統V10的安裝說明,支援HTML"), _defineProperty(_lang_obj, "auth_tip7", "正確的URL位址"), _defineProperty(_lang_obj, "box_title1", "訂單清單"), _defineProperty(_lang_obj, "box_title2", "基礎配置"), _defineProperty(_lang_obj, "box_title3", "訂單狀態"), _defineProperty(_lang_obj, "box_title4", "付款日期"), _defineProperty(_lang_obj, "box_title5", "購買資訊"), _defineProperty(_lang_obj, "box_title6", "快遞訊息"), _defineProperty(_lang_obj, "box_title7", "配送資訊"), _defineProperty(_lang_obj, "box_title8", "商品資訊"), _defineProperty(_lang_obj, "box_title9", "房箱識別碼"), _defineProperty(_lang_obj, "box_title10", "購買價格"), _defineProperty(_lang_obj, "box_title11", "購買使用者"), _defineProperty(_lang_obj, "box_title12", "下單時間"), _defineProperty(_lang_obj, "box_title13", "預計交貨週期"), _defineProperty(_lang_obj, "box_title14", "配送資訊"), _defineProperty(_lang_obj, "box_title15", "狀態"), _defineProperty(_lang_obj, "box_title16", "操作"), _defineProperty(_lang_obj, "box_title17", "確認生產完成"), _defineProperty(_lang_obj, "box_title18", "確認已付尾款"), _defineProperty(_lang_obj, "box_title19", "確認已支付"), _defineProperty(_lang_obj, "box_title20", "修改預計週期"), _defineProperty(_lang_obj, "box_title21", "開始生產"), _defineProperty(_lang_obj, "box_title22", "訂單數"), _defineProperty(_lang_obj, "box_title23", "週期"), _defineProperty(_lang_obj, "box_title24", "操作"), _defineProperty(_lang_obj, "box_title25", "房箱版本"), _defineProperty(_lang_obj, "box_title26", "貨箱類型"), _defineProperty(_lang_obj, "box_title27", "成本價格"), _defineProperty(_lang_obj, "box_title28", "版本價格"), _defineProperty(_lang_obj, "box_title29", "重量"), _defineProperty(_lang_obj, "box_title30", "短句說明"), _defineProperty(_lang_obj, "box_title31", "完整說明"), _defineProperty(_lang_obj, "box_title32", "設定名稱"), _defineProperty(_lang_obj, "box_title33", "型別"), _defineProperty(_lang_obj, "box_title34", "價格"), _defineProperty(_lang_obj, "box_title35", "成本價格"), _defineProperty(_lang_obj, "box_title36", "重量"), _defineProperty(_lang_obj, "box_title37", "可選版本"), _defineProperty(_lang_obj, "box_title38", "已包含版本"), _defineProperty(_lang_obj, "box_title39", "操作"), _defineProperty(_lang_obj, "box_title40", "顏色名稱"), _defineProperty(_lang_obj, "box_title41", "配置名稱"), _defineProperty(_lang_obj, "box_title42", "頁面"), _defineProperty(_lang_obj, "box_title43", "管理"), _defineProperty(_lang_obj, "box_title44", "品牌"), _defineProperty(_lang_obj, "box_title45", "品牌logo"), _defineProperty(_lang_obj, "box_title46", "型號"), _defineProperty(_lang_obj, "box_title47", "貨箱類型"), _defineProperty(_lang_obj, "box_title48", "車型"), _defineProperty(_lang_obj, "box_title49", "顏色"), _defineProperty(_lang_obj, "box_title50", "關聯圖片"), _defineProperty(_lang_obj, "box_title51", "子項名稱"), _defineProperty(_lang_obj, "box_title52", "是否推薦"), _defineProperty(_lang_obj, "box_text1", "總銷售額"), _defineProperty(_lang_obj, "box_text2", "已到帳金額"), _defineProperty(_lang_obj, "box_text3", "剩餘尾額金額"), _defineProperty(_lang_obj, "box_text4", "成本:"), _defineProperty(_lang_obj, "box_text5", "利潤:"), _defineProperty(_lang_obj, "box_text6", "週"), _defineProperty(_lang_obj, "box_text7", "已生產"), _defineProperty(_lang_obj, "box_text8", "購買房箱時依照設定長度為房箱設定由大寫字母和資料隨機組成的識別碼。識別碼具有唯一性"), _defineProperty(_lang_obj, "box_text9", "單"), _defineProperty(_lang_obj, "box_text10", "週"), _defineProperty(_lang_obj, "box_text11", "無"), _defineProperty(_lang_obj, "box_text12", "詳細配置"), _defineProperty(_lang_obj, "box_text13", "優惠價格"), _defineProperty(_lang_obj, "box_text14", "總計"), _defineProperty(_lang_obj, "box_text15", "首付款"), _defineProperty(_lang_obj, "box_text16", "尾款"), _defineProperty(_lang_obj, "box_text17", "複製成功"), _defineProperty(_lang_obj, "box_text18", "其它車型"), _defineProperty(_lang_obj, "box_text19", "請輸入最小訂單數"), _defineProperty(_lang_obj, "box_text20", "請輸入最大訂單數"), _defineProperty(_lang_obj, "box_text21", "請輸入最小周期數"), _defineProperty(_lang_obj, "box_text22", "請輸入最大周期數"), _defineProperty(_lang_obj, "box_text23", "最大訂單數不能小於最小訂單數"), _defineProperty(_lang_obj, "box_text24", "最大週期數不能小於最小週期數"), _defineProperty(_lang_obj, "box_text25", "已包含"), _defineProperty(_lang_obj, "box_text26", "是否"), _defineProperty(_lang_obj, "box_text27", "單選"), _defineProperty(_lang_obj, "box_text28", "是"), _defineProperty(_lang_obj, "box_text29", "否"), _defineProperty(_lang_obj, "box_text30", "版"), _defineProperty(_lang_obj, "box_text31", "短句說明"), _defineProperty(_lang_obj, "box_text32", "完整說明"), _defineProperty(_lang_obj, "box_text33", "文件"), _defineProperty(_lang_obj, "box_text34", "上傳失敗"), _defineProperty(_lang_obj, "box_placeholder1", "請輸入商品資訊"), _defineProperty(_lang_obj, "box_placeholder2", "請搜尋購買使用者"), _defineProperty(_lang_obj, "box_placeholder3", "請輸入物流資訊"), _defineProperty(_lang_obj, "box_placeholder4", "請輸入促銷方案"), _defineProperty(_lang_obj, "box_placeholder5", "請輸入html文字"), _defineProperty(_lang_obj, "box_placeholder6", "請輸入描述,支援html"), _defineProperty(_lang_obj, "box_placeholder7", "請輸入自訂代碼"), _defineProperty(_lang_obj, "box_placeholder8", "請輸入html文字"), _defineProperty(_lang_obj, "box_placeholder9", "請輸入"), _defineProperty(_lang_obj, "box_placeholder10", "請選擇"), _defineProperty(_lang_obj, "box_placeholder11", "請輸入設定名稱"), _defineProperty(_lang_obj, "box_placeholder12", "請選擇類型"), _defineProperty(_lang_obj, "box_placeholder13", "請輸入子項價格"), _defineProperty(_lang_obj, "box_placeholder14", "請輸入顏色名稱"), _defineProperty(_lang_obj, "box_placeholder15", "請輸入價格"), _defineProperty(_lang_obj, "box_placeholder16", "請輸入成本"), _defineProperty(_lang_obj, "box_placeholder17", "請輸入品牌"), _defineProperty(_lang_obj, "box_placeholder18", "請選擇logo"), _defineProperty(_lang_obj, "box_placeholder19", "請輸入型號"), _defineProperty(_lang_obj, "box_placeholder20", "請選擇貨箱類型"), _defineProperty(_lang_obj, "box_btn1", "查詢"), _defineProperty(_lang_obj, "box_btn2", "新增週期"), _defineProperty(_lang_obj, "box_btn3", "保存"), _defineProperty(_lang_obj, "box_btn4", "新增"), _defineProperty(_lang_obj, "box_btn5", "建立配置"), _defineProperty(_lang_obj, "box_btn6", "新增顏色"), _defineProperty(_lang_obj, "box_btn7", "新增資訊"), _defineProperty(_lang_obj, "box_btn8", "新增子項"), _defineProperty(_lang_obj, "box_btn9", "提交"), _defineProperty(_lang_obj, "box_btn10", "返回"), _defineProperty(_lang_obj, "box_content1", "開始生產"), _defineProperty(_lang_obj, "box_content2", "生產完成"), _defineProperty(_lang_obj, "box_content3", "修改預計週期"), _defineProperty(_lang_obj, "box_content4", "交付商品"), _defineProperty(_lang_obj, "box_content5", "已付尾款"), _defineProperty(_lang_obj, "box_content6", "已交付"), _defineProperty(_lang_obj, "box_content7", "編輯"), _defineProperty(_lang_obj, "box_content8", "刪除"), _defineProperty(_lang_obj, "box_content9", "保存"), _defineProperty(_lang_obj, "box_content10", "取消"), _defineProperty(_lang_obj, "box_label1", "預計交貨週期"), _defineProperty(_lang_obj, "box_label2", "物流資訊"), _defineProperty(_lang_obj, "box_label3", "協定"), _defineProperty(_lang_obj, "box_label4", "房箱識別碼長度"), _defineProperty(_lang_obj, "box_label5", "第一筆付款金額設定"), _defineProperty(_lang_obj, "box_label6", "小型房箱預期交付週期"), _defineProperty(_lang_obj, "box_label7", "中型房箱預期交付週期"), _defineProperty(_lang_obj, "box_label8", "大型房箱預期交付週期"), _defineProperty(_lang_obj, "box_label9", "促銷時間"), _defineProperty(_lang_obj, "box_label10", "促銷金額"), _defineProperty(_lang_obj, "box_label11", "促銷方案"), _defineProperty(_lang_obj, "box_label12", "設定詳情"), _defineProperty(_lang_obj, "box_label13", "版本配置"), _defineProperty(_lang_obj, "box_label14", "彈跳窗管理"), _defineProperty(_lang_obj, "box_label15", "生活設施配置"), _defineProperty(_lang_obj, "box_label16", "電力系統配置"), _defineProperty(_lang_obj, "box_label17", "顏色外觀選擇"), _defineProperty(_lang_obj, "box_label18", "顏色配置"), _defineProperty(_lang_obj, "box_label19", "車輛型號配置"), _defineProperty(_lang_obj, "box_label20", "車輛資訊配置"), _defineProperty(_lang_obj, "box_label21", "圖片配置"), _defineProperty(_lang_obj, "box_label22", "設定資訊"), _defineProperty(_lang_obj, "box_label23", "配置名稱"), _defineProperty(_lang_obj, "box_label24", "類型"), _defineProperty(_lang_obj, "box_label25", "配置價格"), _defineProperty(_lang_obj, "box_label26", "成本價格"), _defineProperty(_lang_obj, "box_label27", "配置重量"), _defineProperty(_lang_obj, "box_label28", "短句說明"), _defineProperty(_lang_obj, "box_label29", "可選版本"), _defineProperty(_lang_obj, "box_label30", "已包含版本"), _defineProperty(_lang_obj, "box_label31", "描述"), _defineProperty(_lang_obj, "box_label32", "自訂banner"), _defineProperty(_lang_obj, "box_label33", "配置圖示"), _defineProperty(_lang_obj, "box_label34", "子項清單"), _defineProperty(_lang_obj, "box_label35", "子項重量"), _defineProperty(_lang_obj, "box_label36", "子項價格"), _defineProperty(_lang_obj, "box_label37", "是否推薦"), _defineProperty(_lang_obj, "box_label38", "描述"), _defineProperty(_lang_obj, "box_label39", "自訂banner"), _defineProperty(_lang_obj, "box_header1", "交付商品"), _defineProperty(_lang_obj, "box_header2", "房箱彈跳窗"), _defineProperty(_lang_obj, "box_header3", "需要先儲存配置,是否繼續?"), _defineProperty(_lang_obj, "box_header4", "確認刪除?"), _defineProperty(_lang_obj, "box_header5", "編輯子項"), _defineProperty(_lang_obj, "box_header6", "新增子項"), _defineProperty(_lang_obj, "box_version1", "小型"), _defineProperty(_lang_obj, "box_version2", "中型"), _defineProperty(_lang_obj, "box_version3", "大型"), _defineProperty(_lang_obj, "box_version4", "極客版"), _defineProperty(_lang_obj, "box_version5", "玩家版"), _defineProperty(_lang_obj, "box_version6", "野生奢版"), _defineProperty(_lang_obj, "box_message1", "請輸入週期"), _defineProperty(_lang_obj, "box_message2", "最大週期不能小於最小週期"), _defineProperty(_lang_obj, "box_message3", "請輸入物流資訊"), _defineProperty(_lang_obj, "box_message4", "請先確認或取消修改/新增"), _defineProperty(_lang_obj, "box_message5", "請至少新增一條小型房箱預期交付週期資料"), _defineProperty(_lang_obj, "box_message6", "請至少新增一條中型房箱預期交付週期資料"), _defineProperty(_lang_obj, "box_message7", "請至少新增一條大型房箱預期交付週期資料"), _defineProperty(_lang_obj, "box_message8", "促銷日期截止時間應該大於開始時間"), _defineProperty(_lang_obj, "box_message9", "請輸入房箱識別碼"), _defineProperty(_lang_obj, "box_message10", "請輸入協定"), _defineProperty(_lang_obj, "box_message11", "請輸入顏色配置"), _defineProperty(_lang_obj, "box_status1", "待繳付款"), _defineProperty(_lang_obj, "box_status2", "已下單"), _defineProperty(_lang_obj, "box_status3", "生產中"), _defineProperty(_lang_obj, "box_status4", "待付尾款"), _defineProperty(_lang_obj, "box_status5", "待交付"), _defineProperty(_lang_obj, "box_status6", "已交付"), _defineProperty(_lang_obj, "box_status7", "已取消"), _defineProperty(_lang_obj, "own_cn", "國內簡訊"), _defineProperty(_lang_obj, "own_global", "國際簡訊"), _defineProperty(_lang_obj, "own_cnpro", "行銷簡訊"), _defineProperty(_lang_obj, "own_type", "簡訊類型"), _defineProperty(_lang_obj, "module_create", "開通"), _defineProperty(_lang_obj, "overdue", "到期暫停"), _defineProperty(_lang_obj, "overtraffic", "超流暫停"), _defineProperty(_lang_obj, "certification_not_complete", "實名未完成"), _defineProperty(_lang_obj, "other", "其他"), _defineProperty(_lang_obj, "suspend_reason", "暫停原因"), _defineProperty(_lang_obj, "suspend_type", "暫停類型"), _defineProperty(_lang_obj, "module_tip", "變更產品狀態為「刪除」"), _defineProperty(_lang_obj, "module_tip1", "確定開通該產品嗎?"), _defineProperty(_lang_obj, "module_tip2", "確定解除暫停產品嗎?"), _defineProperty(_lang_obj, "module_tip3", "確定變更產品狀態為「已刪除」?"), _defineProperty(_lang_obj, "module_tip4", "確定暫停產品嗎?"), _defineProperty(_lang_obj, "upgrade_plugin", "升級"), _defineProperty(_lang_obj, "refund_to_balance", "退款至餘額"), _defineProperty(_lang_obj, "refund_to_user", "退款至使用者"), _defineProperty(_lang_obj, "pas_change_tip", "密碼修改成功,請重新登入"), _defineProperty(_lang_obj, "refund_record", "退款紀錄"), _defineProperty(_lang_obj, "refund_time", "退款時間"), _defineProperty(_lang_obj, "initiate_refund", "發起退款"), _defineProperty(_lang_obj, "refund_to", "退款至"), _defineProperty(_lang_obj, "transaction", "流水"), _defineProperty(_lang_obj, "balance_used", "已使用餘額"), _defineProperty(_lang_obj, "deduct", "扣除"), _defineProperty(_lang_obj, "order_tip1", "應用餘額至訂單"), _defineProperty(_lang_obj, "order_tip2", "從帳單扣除餘額"), _defineProperty(_lang_obj, "account_balance", "帳戶餘額"), _defineProperty(_lang_obj, "capacity", "容量"), _defineProperty(_lang_obj, "mf_duration", "週期設定"), _defineProperty(_lang_obj, "mf_calc", "計算配置"), _defineProperty(_lang_obj, "mf_store", "儲存配置"), _defineProperty(_lang_obj, "mf_limit", "配置限制"), _defineProperty(_lang_obj, "mf_recommend", "建議配置"), _defineProperty(_lang_obj, "mf_charge", "是否要收費"), _defineProperty(_lang_obj, "mf_enable", "是否可用"), _defineProperty(_lang_obj, "mf_icon", "系統圖示"), _defineProperty(_lang_obj, "mf_way", "方式"), _defineProperty(_lang_obj, "net_type", "網路類型"), _defineProperty(_lang_obj, "mf_radio", "單選"), _defineProperty(_lang_obj, "mf_step", "階梯計費"), _defineProperty(_lang_obj, "mf_total", "總量計費"), _defineProperty(_lang_obj, "mf_cores", "核心數"), _defineProperty(_lang_obj, "normal_network", "經典網路"), _defineProperty(_lang_obj, "vpc_network", "VPC網路"), _defineProperty(_lang_obj, "allow_ssh", "是否允許使用SSH金鑰"), _defineProperty(_lang_obj, "support_public_ip", "是否允許公網IP"), _defineProperty(_lang_obj, "virtualization", "巢狀虛擬化"), _defineProperty(_lang_obj, "random_ssh", "隨機SSH埠"), _defineProperty(_lang_obj, "random_rules", "隨機主機名稱規則"), _defineProperty(_lang_obj, "host_prefix", "主機名稱前綴"), _defineProperty(_lang_obj, "enable_rules", "開通平衡規則"), _defineProperty(_lang_obj, "is_need_code1", "重製密碼時需要簡訊驗證"), _defineProperty(_lang_obj, "is_need_code2", "重裝系統時需要簡訊驗證"), _defineProperty(_lang_obj, "cpu_config", "CPU配置"), _defineProperty(_lang_obj, "memory_config", "記憶體配置"), _defineProperty(_lang_obj, "price_config", "價格設定"), _defineProperty(_lang_obj, "advance_config", "進階配置"), _defineProperty(_lang_obj, "system_disk_config", "系統磁碟配置"), _defineProperty(_lang_obj, "data_disk", "資料盤"), _defineProperty(_lang_obj, "data_disk_config", "封包配置"), _defineProperty(_lang_obj, "disk_limit_enable", "效能限制"), _defineProperty(_lang_obj, "disk_limit_num", "資料碟新購數量限制"), _defineProperty(_lang_obj, "disk_limit_tip", "請輸入1-16的整數"), _defineProperty(_lang_obj, "free_data_disk", "免費資料碟"), _defineProperty(_lang_obj, "free_data_tip", "請輸入免費資料盤容量"), _defineProperty(_lang_obj, "system_disk_nature", "系統磁碟效能"), _defineProperty(_lang_obj, "data_disk_nature", "資料盤效能"), _defineProperty(_lang_obj, "capacity_size", "容量大小"), _defineProperty(_lang_obj, "random_read", "隨機讀"), _defineProperty(_lang_obj, "random_write", "隨機寫"), _defineProperty(_lang_obj, "read_iops", "IOPS讀"), _defineProperty(_lang_obj, "write_iops", "IOPS寫"), _defineProperty(_lang_obj, "disk_type", "硬碟類型"), _defineProperty(_lang_obj, "min_value", "最小值"), _defineProperty(_lang_obj, "max_value", "最大值"), _defineProperty(_lang_obj, "min_step", "最小變化值"), _defineProperty(_lang_obj, "defence", "防禦峰值"), _defineProperty(_lang_obj, "inflow_bw", "流入頻寬"), _defineProperty(_lang_obj, "advanced_bw", "智慧頻寬配置規則"), _defineProperty(_lang_obj, "line", "線路"), _defineProperty(_lang_obj, "mf_des", "推薦描述"), _defineProperty(_lang_obj, "bw_limit", "頻寬限制"), _defineProperty(_lang_obj, "out_bw", "出站頻寬"), _defineProperty(_lang_obj, "in_bw", "進站頻寬"), _defineProperty(_lang_obj, "line_name", "線路名稱"), _defineProperty(_lang_obj, "push_des", "推薦描述"), _defineProperty(_lang_obj, "bw_price_config", "線路價格配置"), _defineProperty(_lang_obj, "protect_price_config", "防護價格配置"), _defineProperty(_lang_obj, "ip_price_config", "附加IP價格配置"), _defineProperty(_lang_obj, "traffic_type", "計費方向"), _defineProperty(_lang_obj, "last_30days", "購買日循環"), _defineProperty(_lang_obj, "limit", "限制"), _defineProperty(_lang_obj, "bw_line", "頻寬線路"), _defineProperty(_lang_obj, "min_cycle_price", "最小週期價格"), _defineProperty(_lang_obj, "country_area", "國家或地區"), _defineProperty(_lang_obj, "mf_bw", "頻寬計費"), _defineProperty(_lang_obj, "short_des", "簡短描述"), _defineProperty(_lang_obj, "memory_unit", "記憶體單位"), _defineProperty(_lang_obj, "link_clone", "連結建立"), _defineProperty(_lang_obj, "store_id", "儲存ID"), _defineProperty(_lang_obj, "nat_web", "NAT建置站"), _defineProperty(_lang_obj, "niccard", "網路卡驅動"), _defineProperty(_lang_obj, "cpu_model", "CPU模式"), _defineProperty(_lang_obj, "agent_docking", "代理商對接"), _defineProperty(_lang_obj, "resource_package", "資源包"), _defineProperty(_lang_obj, "price_factor", "價格係數"), _defineProperty(_lang_obj, "factor", "係數"), _defineProperty(_lang_obj, "kvm_major", 'kvm專業版'), _defineProperty(_lang_obj, "kvm_light", 'kvm輕量級版'), _defineProperty(_lang_obj, "mf_notes", "註:"), _defineProperty(_lang_obj, "mf_flow", "流量計費"), _defineProperty(_lang_obj, "mf_rule1", "數量平均"), _defineProperty(_lang_obj, "mf_rule2", "負載最低"), _defineProperty(_lang_obj, "mf_rule3", "內存最低"), _defineProperty(_lang_obj, "mf_tip", "正在拉取新的作業系統"), _defineProperty(_lang_obj, "mf_tip1", "\u524D\u7DB4\u5FC5\u9808\u5305\u542B\u5B57\u6BCD\u3001\u6578\u5B57\u3001\u300C-\u300D\u3001\u300C_\u300D\u3001\".\"\u4E2D\u81F3\u5C11\u4E00\u7A2E\uFF0C\u4E14\u5927\u5C0F\u5BEB\u5B57\u6BCD\u958B\u982D"), _defineProperty(_lang_obj, "mf_tip2", "主機名稱長度(包含前綴),範圍6-25位元"), _defineProperty(_lang_obj, "mf_tip3", "智慧型CPU配置規則"), _defineProperty(_lang_obj, "mf_tip4", "CPU限制"), _defineProperty(_lang_obj, "mf_tip5", "IPV6數量"), _defineProperty(_lang_obj, "mf_tip6", "1、記憶體存在多種配置方式,無法將存在資料的配置方式切換到其他"), _defineProperty(_lang_obj, "mf_tip7", "2.階段計費計價規則:總價=每個區間價單價*區間數量相加,若區間之間有斷層,斷層數量不會參與計算"), _defineProperty(_lang_obj, "mf_tip8", "3、總量計費計價規則:總價=目前區間價*數量"), _defineProperty(_lang_obj, "mf_tip9", "單G價格"), _defineProperty(_lang_obj, "mf_tip10", "註:1、系統磁碟或資料碟當有多種硬碟類型時,需選擇訂購的硬碟類型"), _defineProperty(_lang_obj, "mf_tip11", "2、僅有一種硬碟類型時,系統將不展示類型並預設選擇僅有類型"), _defineProperty(_lang_obj, "mf_tip12", "請在左側選擇需要編輯的設定或新增設定"), _defineProperty(_lang_obj, "mf_tip13", "請新增頻寬規則"), _defineProperty(_lang_obj, "mf_tip14", "請新增流量規則"), _defineProperty(_lang_obj, "mf_tip15", "請輸入,支援HTML"), _defineProperty(_lang_obj, "mf_tip16", "CPU與記憶體限制"), _defineProperty(_lang_obj, "mf_tip17", "資料中心與計算限制"), _defineProperty(_lang_obj, "mf_tip18", "頻寬與運算限制"), _defineProperty(_lang_obj, "mf_tip19", "建立的配置禁止購買,下拉資料來源已配置的資料。範圍輸入不受已配置資料限制,包含在內的配置均被限制。請確保限制後仍存在可選配置。"), _defineProperty(_lang_obj, "mf_tip20", "僅在磁碟隨產品訂購時生效"), _defineProperty(_lang_obj, "mf_tip21", "流量輸入0視為無限流量"), _defineProperty(_lang_obj, "mf_tip22", "3、window系統,系統盤容量需27G以上,其他系統,容量需8G以上"), _defineProperty(_lang_obj, "mf_tip23", "請輸入15個字以內的描述"), _defineProperty(_lang_obj, "mf_tip24", "請新增公網IP價格配置"), _defineProperty(_lang_obj, "mf_tip25", "請在此新增允許客戶選擇的機型規格"), _defineProperty(_lang_obj, "mf_tip26", "單Mbps價格"), _defineProperty(_lang_obj, "mf_tip27", "請輸入流量,輸入0視為無限流量"), _defineProperty(_lang_obj, "mf_tip28", "自然月:每個月的最後一天清空流量"), _defineProperty(_lang_obj, "mf_tip29", "購買日循環:假如1月29日購買,以後每月的29日清空流量,2月沒有對應日期,則順延到3月1日清空流量,然後4月1日再清空"), _defineProperty(_lang_obj, "mf_tip30", "請注意,後續在配置週期價格時,所有周期均需填寫價格,若不填寫價格視為0"), _defineProperty(_lang_obj, "mf_tip31", "可直接輸入NC,視為NO_CHANGE"), _defineProperty(_lang_obj, "mf_tip32", "可依數量_分組id 分組輸入,範例:2_2,2_1。每組以逗號隔開,公網IP數量等於多組數量之和"), _defineProperty(_lang_obj, "mf_tip33", "單M價格"), _defineProperty(_lang_obj, "mf_tip34", "開啟後,使用者可在訂購選擇是否需要購買"), _defineProperty(_lang_obj, "mf_tip35", "容量使用者不可操作"), _defineProperty(_lang_obj, "mf_tip36", "免費資料碟也納入磁碟數量限制"), _defineProperty(_lang_obj, "model_config", "型號配置"), _defineProperty(_lang_obj, "model_specs", "機型規格"), _defineProperty(_lang_obj, "mf_cpu", "處理器"), _defineProperty(_lang_obj, "sale_group", "銷售分組"), _defineProperty(_lang_obj, "mf_cpu_param", "處理器參數"), _defineProperty(_lang_obj, "data_cpu_limit", "資料中心與機型限制"), _defineProperty(_lang_obj, "public_ip_config", "公網IP價格配置"), _defineProperty(_lang_obj, "server_model", "伺服器型號"), _defineProperty(_lang_obj, "mf_p1", "例: AMD ThreadRipper 5995WX"), _defineProperty(_lang_obj, "mf_p2", "例: 64核心128執行緒(2. 7GHz)"), _defineProperty(_lang_obj, "mf_p3", "例: 256GB DDR3-ECC"), _defineProperty(_lang_obj, "mf_p4", "例: 250GB SSD"), _defineProperty(_lang_obj, "mf_p5", "開啟後商品將不會透過介面開通商品,需要管理者手動分配資源"), _defineProperty(_lang_obj, "icp_info", "ICP訊息"), _defineProperty(_lang_obj, "jump_link", "跳躍連結"), _defineProperty(_lang_obj, "copyright", "版權資訊"), _defineProperty(_lang_obj, "telecom_value", "電信加值"), _defineProperty(_lang_obj, "feedback", "意見回饋"), _defineProperty(_lang_obj, "web_logo", "官網LOGO"), _defineProperty(_lang_obj, "feedback_detail", "回饋詳情"), _defineProperty(_lang_obj, "feedback_time", "回饋時間"), _defineProperty(_lang_obj, "feedback_type", "回饋類型"), _defineProperty(_lang_obj, "guidance", "方案諮詢"), _defineProperty(_lang_obj, "info_config", "官網設定"), _defineProperty(_lang_obj, "type_manage", "型別管理"), _defineProperty(_lang_obj, "matter", "諮詢事項"), _defineProperty(_lang_obj, "contact_user", "聯絡人"), _defineProperty(_lang_obj, "contact_phone", "聯絡電話"), _defineProperty(_lang_obj, "contact_email", "聯絡信箱"), _defineProperty(_lang_obj, "put_on_record", "公安網備"), _defineProperty(_lang_obj, "enterprise_name", "企業名稱"), _defineProperty(_lang_obj, "enterprise_telephone", "企業電話"), _defineProperty(_lang_obj, "enterprise_mailbox", "企業信箱"), _defineProperty(_lang_obj, "cloud_product_link", "雲端產品跳轉連結"), _defineProperty(_lang_obj, "dcim_product_link", "DCIM產品跳轉連結"), _defineProperty(_lang_obj, "online_customer_service_link", "線上客服連結"), _defineProperty(_lang_obj, "enterprise_qrcode", "企業二維碼"), _defineProperty(_lang_obj, "feed_link", "連結"), _defineProperty(_lang_obj, "friendly_link", "友情連結"), _defineProperty(_lang_obj, "honor", "榮譽資質"), _defineProperty(_lang_obj, "partner", "合作夥伴"), _defineProperty(_lang_obj, "picture", "圖片"), _defineProperty(_lang_obj, "feed_tip", "請輸入正確的連結位址"), _defineProperty(_lang_obj, "info_records", "資訊記錄"), _defineProperty(_lang_obj, "add_records", "新增記錄"), _defineProperty(_lang_obj, "loading", "載入中..."), _defineProperty(_lang_obj, "no_more_data", "暫無更多資料"), _defineProperty(_lang_obj, "client_info", "訊息"), _defineProperty(_lang_obj, "statistics", "統計"), _defineProperty(_lang_obj, "renew_order", "續費訂單"), _defineProperty(_lang_obj, "year_income", "年度收入統計"), _defineProperty(_lang_obj, "product_income", "產品收入統計"), _defineProperty(_lang_obj, "expect_income", "預計收入統計"), _defineProperty(_lang_obj, "month_income", "月收入統計"), _defineProperty(_lang_obj, "month_income_report", "每月收入報告"), _defineProperty(_lang_obj, "month_order_income", "年度訂單統計"), _defineProperty(_lang_obj, "amount_in", "收入"), _defineProperty(_lang_obj, "amount_out", "支出"), _defineProperty(_lang_obj, "balance", "淨收入"), _defineProperty(_lang_obj, "statistics_month", "月份"), _defineProperty(_lang_obj, "total_income", "總收入"), _defineProperty(_lang_obj, "expect_total_income", "預計總收入"), _defineProperty(_lang_obj, "new_signup_user", "新註冊使用者"), _defineProperty(_lang_obj, "new_customers", "新客戶"), _defineProperty(_lang_obj, "income_forecast", "收入預測"), _defineProperty(_lang_obj, "units_sold", "銷售"), _defineProperty(_lang_obj, "income_tip", "年度收入報告"), _defineProperty(_lang_obj, "income_tip1", "此報告同時顯示近3年數據,按月細分收入。"), _defineProperty(_lang_obj, "income_tip2", "收入報告"), _defineProperty(_lang_obj, "income_tip3", "此報表顯示當月每日的收入"), _defineProperty(_lang_obj, "income_tip4", "該報告顯示了新客戶註冊、新訂單、續費訂單、升降級訂單的總數,並在圖表上將每一項與上一年進行了比較。"), _defineProperty(_lang_obj, "income_tip5", "產品收入"), _defineProperty(_lang_obj, "income_tip6", "此報表依商品分組顯示當月所有商品的收入"), _defineProperty(_lang_obj, "income_tip7", "報告顯示,如果所有啟動的產品都在對應週期內續費時,預計未來三年每個月的預計收入"), _defineProperty(_lang_obj, "advanced_filter", "進階篩選"), _defineProperty(_lang_obj, "pack_up", "收起"), _defineProperty(_lang_obj, "payment_cycle", "付款週期"), _defineProperty(_lang_obj, "product_select", "商品下拉最佳化"), _defineProperty(_lang_obj, "product_select_tip", "請選擇系統中產品資訊詳情頁的商品下拉方塊的下拉樣式"), _defineProperty(_lang_obj, "examples", "範例"), _defineProperty(_lang_obj, "operational_services", "營運服務"), _defineProperty(_lang_obj, "contract", "合約"), _defineProperty(_lang_obj, "e_contract", "電子合約"), _defineProperty(_lang_obj, "contract_list", "合約清單"), _defineProperty(_lang_obj, "no_sign", "未簽章"), _defineProperty(_lang_obj, "review", "審核中"), _defineProperty(_lang_obj, "complete", "已簽訂"), _defineProperty(_lang_obj, "contract_template_name", "合約範本名稱"), _defineProperty(_lang_obj, "download_contract", "下載電子合約"), _defineProperty(_lang_obj, "wait_mail", "等待郵寄"), _defineProperty(_lang_obj, "contract_status", "合約狀態"), _defineProperty(_lang_obj, "pay_time", "付款時間"), _defineProperty(_lang_obj, "fun_switch", "功能開關"), _defineProperty(_lang_obj, "day_limit", "合約申請時間限制"), _defineProperty(_lang_obj, "my_unit", "我方單位名"), _defineProperty(_lang_obj, "social_credit_code", "社會信用代碼"), _defineProperty(_lang_obj, "postcode", "郵遞區號"), _defineProperty(_lang_obj, "is_force_sign", "是否強制簽訂"), _defineProperty(_lang_obj, "force_sign", "強制簽訂"), _defineProperty(_lang_obj, "is_force", "強制"), _defineProperty(_lang_obj, "not_force", "非強制"), _defineProperty(_lang_obj, "nullify_reason", "作廢原因"), _defineProperty(_lang_obj, "fingerprint", "指紋訊息"), _defineProperty(_lang_obj, "template_status", "模板狀態"), _defineProperty(_lang_obj, "sign_day_out", "簽訂時限"), _defineProperty(_lang_obj, "contract_setting", "合約設定"), _defineProperty(_lang_obj, "contract_number_prefix", "合約編號前綴"), _defineProperty(_lang_obj, "contract_number_start", "合約起始編號"), _defineProperty(_lang_obj, "suspend_product", "暫停產品"), _defineProperty(_lang_obj, "base_contract", "基礎合約"), _defineProperty(_lang_obj, "unable_access", "無法存取產品內頁"), _defineProperty(_lang_obj, "contract_logo", "合約logo"), _defineProperty(_lang_obj, "company_chop", "公司印章"), _defineProperty(_lang_obj, "vars_name", "變數名稱"), _defineProperty(_lang_obj, "vars", "變數"), _defineProperty(_lang_obj, "mail", "郵寄"), _defineProperty(_lang_obj, "wait_mail", "待郵寄"), _defineProperty(_lang_obj, "mailed", "已郵寄"), _defineProperty(_lang_obj, "courier_company", "快遞公司"), _defineProperty(_lang_obj, "post_number", "快遞單號"), _defineProperty(_lang_obj, "limit_day", "限制天數"), _defineProperty(_lang_obj, "recipient_name", "收件者姓名"), _defineProperty(_lang_obj, "mail_address", "郵寄地址"), _defineProperty(_lang_obj, "contract_tip", "關閉後無法簽訂新的合約"), _defineProperty(_lang_obj, "contract_tip1", "20位元以內數字,系統自動遞增"), _defineProperty(_lang_obj, "contract_tip2", "只上傳一張"), _defineProperty(_lang_obj, "contract_tip3", "請輸入正確的郵遞區號"), _defineProperty(_lang_obj, "contract_tip4", "產品開通後,需在設定時限內完成合約簽訂"), _defineProperty(_lang_obj, "contract_tip5", "逾期未簽訂作業"), _defineProperty(_lang_obj, "contract_tip6", "開啟後,所有客戶都需簽訂本合同,如果強制簽訂打開,會影響所有產品"), _defineProperty(_lang_obj, "contract_tip7", "已存在基礎合同,無法開啟"), _defineProperty(_lang_obj, "product_cashback", "商品返現"), _defineProperty(_lang_obj, "cashback", "返現"), _defineProperty(_lang_obj, "cashback_type", "返現類型"), _defineProperty(_lang_obj, "cashback_money", "返現金金額"), _defineProperty(_lang_obj, "fixed_money", "固定金額"), _defineProperty(_lang_obj, "period", "可返現期限"), _defineProperty(_lang_obj, "after_purchase", "購買後"), _defineProperty(_lang_obj, "within_days", "天內"), _defineProperty(_lang_obj, "permanent", "永久"), _defineProperty(_lang_obj, "product_cashback_tip", "此處設定係統中可以購買後可返現的商品,金額將返現到帳戶餘額"), _defineProperty(_lang_obj, "product_cashback_tip1", "0視為永久"), _defineProperty(_lang_obj, "product_cashback_tip2", "返現金額若超過購買金額,則以購買金額返現"), _defineProperty(_lang_obj, "credit_records", "授信記錄"), _defineProperty(_lang_obj, "credit_status", "授信狀態"), _defineProperty(_lang_obj, "add_credit", "新增授信"), _defineProperty(_lang_obj, "credit_details", "授信詳情"), _defineProperty(_lang_obj, "credit_line", "授信額度"), _defineProperty(_lang_obj, "credit_term", "授信期限"), _defineProperty(_lang_obj, "credit_active", "生效中"), _defineProperty(_lang_obj, "credit_overdue", "已逾期"), _defineProperty(_lang_obj, "remaining_amount", "剩餘額度"), _defineProperty(_lang_obj, "billing_date", "帳單日"), _defineProperty(_lang_obj, "repayment_date", "還款日"), _defineProperty(_lang_obj, "credit_user", "授信使用者"), _defineProperty(_lang_obj, "purchase_history", "消費記錄"), _defineProperty(_lang_obj, "credit_opt_record", "授信操作記錄"), _defineProperty(_lang_obj, "credit_start_time", "授信開始日期"), _defineProperty(_lang_obj, "credit_end_time", "授信結束日期"), _defineProperty(_lang_obj, "credit_opt1", "修改授信額度"), _defineProperty(_lang_obj, "credit_opt2", "修改開始時限"), _defineProperty(_lang_obj, "credit_opt3", "修改結束時限"), _defineProperty(_lang_obj, "credit_opt4", "修改帳單日"), _defineProperty(_lang_obj, "credit_opt5", "修改還款日"), _defineProperty(_lang_obj, "credit_opt6", "修改授信狀態"), _defineProperty(_lang_obj, "opt_type", "操作類型"), _defineProperty(_lang_obj, "opt_date", "操作日期"), _defineProperty(_lang_obj, "before_change", "變更前"), _defineProperty(_lang_obj, "after_change", "變更後"), _defineProperty(_lang_obj, "credit_tip", "還款提醒"), _defineProperty(_lang_obj, "credit_tip1", "系統將在還款日前"), _defineProperty(_lang_obj, "credit_tip2", "天,對使用者進行還款提醒。"), _defineProperty(_lang_obj, "credit_tip3", "*若需多次提醒,請以「,」間隔輸入天數"), _defineProperty(_lang_obj, "credit_tip4", "逾期提醒"), _defineProperty(_lang_obj, "credit_tip5", "系統將在逾期"), _defineProperty(_lang_obj, "credit_tip6", "天后,對使用者發出逾期提醒。"), _defineProperty(_lang_obj, "credit_tip7", "逾期操作"), _defineProperty(_lang_obj, "credit_tip8", "天后,系統將暫停由信用額購買的產品。"), _defineProperty(_lang_obj, "credit_tip9", "1~28的整數"), _defineProperty(_lang_obj, "widget_manage", "掛件管理"), _defineProperty(_lang_obj, "widget_auth", "掛件權限"), _defineProperty(_lang_obj, "function_auth", "功能權限"), _defineProperty(_lang_obj, "home_widget", "首頁掛檔"), _defineProperty(_lang_obj, "welcome", "歡迎您"), _defineProperty(_lang_obj, "traffic_package_order", "流量包訂單"), _defineProperty(_lang_obj, "traffic_package_manage", "流量包管理"), _defineProperty(_lang_obj, "traffic_product", "購買產品"), _defineProperty(_lang_obj, "traffic_order_amount", "下單金額"), _defineProperty(_lang_obj, "traffic_package_name", "流量包名稱"), _defineProperty(_lang_obj, "traffic_price", "售價"), _defineProperty(_lang_obj, "traffic_association", "關聯商品"), _defineProperty(_lang_obj, "traffic_package", "流量包"), _defineProperty(_lang_obj, "available_stock", "可用庫存"), _defineProperty(_lang_obj, "baidu_plugin_text1", "名稱"), _defineProperty(_lang_obj, "baidu_plugin_text2", "啟用"), _defineProperty(_lang_obj, "baidu_plugin_text3", "關閉"), _defineProperty(_lang_obj, "baidu_plugin_text4", "編輯"), _defineProperty(_lang_obj, "baidu_plugin_text5", "產品名稱"), _defineProperty(_lang_obj, "baidu_plugin_text6", "產品識別"), _defineProperty(_lang_obj, "baidu_plugin_text7", "價格係數"), _defineProperty(_lang_obj, "baidu_plugin_text8", "價格係數,1-1000整數"), _defineProperty(_lang_obj, "baidu_plugin_text9", "所屬分類"), _defineProperty(_lang_obj, "baidu_plugin_text10", "一級分組"), _defineProperty(_lang_obj, "baidu_plugin_text11", "二級分組"), _defineProperty(_lang_obj, "baidu_plugin_text12", "列表頁iframe位址"), _defineProperty(_lang_obj, "baidu_plugin_text13", "訂購頁iframe地址"), _defineProperty(_lang_obj, "baidu_plugin_text14", "編輯產品"), _defineProperty(_lang_obj, "baidu_plugin_text15", "恢復預設"), _defineProperty(_lang_obj, "baidu_plugin_text16", "保存"), _defineProperty(_lang_obj, "baidu_plugin_text17", "取消"), _defineProperty(_lang_obj, "baidu_plugin_text18", "操作"), _defineProperty(_lang_obj, "baidu_plugin_text19", "請輸入產品名稱"), _defineProperty(_lang_obj, "baidu_plugin_text20", "請輸入產品識別"), _defineProperty(_lang_obj, "baidu_plugin_text21", "請輸入產品折扣"), _defineProperty(_lang_obj, "baidu_plugin_text22", "請選擇一級分組"), _defineProperty(_lang_obj, "baidu_plugin_text23", "請選擇二級分組"), _defineProperty(_lang_obj, "baidu_plugin_text24", "請輸入清單頁iframe位址"), _defineProperty(_lang_obj, "baidu_plugin_text25", "請輸入訂購頁iframe地址"), _defineProperty(_lang_obj, "baidu_plugin_text26", "新增產品"), _defineProperty(_lang_obj, "baidu_plugin_text27", "編輯產品"), _defineProperty(_lang_obj, "baidu_plugin_text28", "新增產品"), _defineProperty(_lang_obj, "baidu_plugin_text29", "實名認證資訊"), _defineProperty(_lang_obj, "baidu_plugin_text30", "已實名"), _defineProperty(_lang_obj, "baidu_plugin_text31", "百度智慧雲子用戶ID"), _defineProperty(_lang_obj, "baidu_plugin_text32", "子帳號"), _defineProperty(_lang_obj, "baidu_plugin_text33", "編輯"), _defineProperty(_lang_obj, "baidu_plugin_text34", "上次登入時間"), _defineProperty(_lang_obj, "baidu_plugin_text35", "未實名"), _defineProperty(_lang_obj, "baidu_plugin_text36", "是否實名"), _defineProperty(_lang_obj, "baidu_plugin_text37", "系統配置"), _defineProperty(_lang_obj, "baidu_plugin_text38", "營運管理"), _defineProperty(_lang_obj, "baidu_plugin_text39", "虛商API"), _defineProperty(_lang_obj, "baidu_plugin_text40", "請輸入"), _defineProperty(_lang_obj, "baidu_plugin_text41", "保存"), _defineProperty(_lang_obj, "baidu_plugin_text42", "使用者管理"), _defineProperty(_lang_obj, "baidu_plugin_text43", "本機系統使用者"), _defineProperty(_lang_obj, "baidu_plugin_text44", "百度子帳號"), _defineProperty(_lang_obj, "baidu_plugin_text45", "檢查中"), _defineProperty(_lang_obj, "baidu_plugin_text46", "異常帳號檢查"), _defineProperty(_lang_obj, "baidu_plugin_text47", "查看檢查結果"), _defineProperty(_lang_obj, "baidu_plugin_text48", "異常檢查結果"), _defineProperty(_lang_obj, "baidu_plugin_text49", "僅在百度註冊"), _defineProperty(_lang_obj, "baidu_plugin_text50", "同步註冊至本機"), _defineProperty(_lang_obj, "baidu_plugin_text51", "僅在本地註冊"), _defineProperty(_lang_obj, "baidu_plugin_text52", "同步註冊至百度"), _defineProperty(_lang_obj, "baidu_plugin_text53", "郵箱"), _defineProperty(_lang_obj, "baidu_plugin_text54", "手機"), _defineProperty(_lang_obj, "baidu_plugin_text55", "今日訂單數(個)"), _defineProperty(_lang_obj, "baidu_plugin_text56", "今日利潤"), _defineProperty(_lang_obj, "baidu_plugin_text57", "今日營業額"), _defineProperty(_lang_obj, "baidu_plugin_text58", "本月訂單數(個)"), _defineProperty(_lang_obj, "baidu_plugin_text59", "本月利潤"), _defineProperty(_lang_obj, "baidu_plugin_text60", "本月營業額"), _defineProperty(_lang_obj, "baidu_plugin_text61", "產品維護"), _defineProperty(_lang_obj, "baidu_plugin_text62", "請輸入名稱"), _defineProperty(_lang_obj, "baidu_plugin_text63", "請輸入使用者ID搜尋"), _defineProperty(_lang_obj, "baidu_plugin_text64", "選擇產品類型"), _defineProperty(_lang_obj, "baidu_plugin_text65", "請輸入實例ID搜尋"), _defineProperty(_lang_obj, "baidu_plugin_text66", "選擇產品區域"), _defineProperty(_lang_obj, "baidu_plugin_text67", "選擇產品狀態"), _defineProperty(_lang_obj, "baidu_plugin_text68", "後付費"), _defineProperty(_lang_obj, "baidu_plugin_text69", "預付費"), _defineProperty(_lang_obj, "baidu_plugin_text70", "客戶"), _defineProperty(_lang_obj, "baidu_plugin_text71", "區域"), _defineProperty(_lang_obj, "baidu_plugin_text72", "產品類型"), _defineProperty(_lang_obj, "baidu_plugin_text73", "產品名稱"), _defineProperty(_lang_obj, "baidu_plugin_text74", "產品ID"), _defineProperty(_lang_obj, "baidu_plugin_text75", "付費方式"), _defineProperty(_lang_obj, "baidu_plugin_text76", "狀態"), _defineProperty(_lang_obj, "baidu_plugin_text77", "到期時間"), _defineProperty(_lang_obj, "baidu_plugin_text78", "百度價格係數"), _defineProperty(_lang_obj, "baidu_plugin_text79", "實際生效折扣"), _defineProperty(_lang_obj, "baidu_plugin_text80", "測試"), _defineProperty(_lang_obj, "file_download_text1", "請輸入檔案名稱"), _defineProperty(_lang_obj, "file_download_text2", "上傳"), _defineProperty(_lang_obj, "file_download_text3", "移動"), _defineProperty(_lang_obj, "file_download_text4", "刪除"), _defineProperty(_lang_obj, "file_download_text5", "請輸入你需要搜尋的內容"), _defineProperty(_lang_obj, "file_download_text6", "資料夾"), _defineProperty(_lang_obj, "file_download_text7", "新增分類"), _defineProperty(_lang_obj, "file_download_text8", "上傳檔案"), _defineProperty(_lang_obj, "file_download_text9", "上傳"), _defineProperty(_lang_obj, "file_download_text10", "編輯"), _defineProperty(_lang_obj, "file_download_text11", "檔案名稱"), _defineProperty(_lang_obj, "file_download_text12", "儲存"), _defineProperty(_lang_obj, "file_download_text13", "所在資料夾"), _defineProperty(_lang_obj, "file_download_text14", "可見範圍"), _defineProperty(_lang_obj, "file_download_text15", "指定產品"), _defineProperty(_lang_obj, "file_download_text16", "提示"), _defineProperty(_lang_obj, "file_download_text17", "確定要刪除嗎?"), _defineProperty(_lang_obj, "file_download_text18", "移動"), _defineProperty(_lang_obj, "file_download_text19", "資料夾"), _defineProperty(_lang_obj, "file_download_text20", "檔案名稱"), _defineProperty(_lang_obj, "file_download_text21", "上傳人"), _defineProperty(_lang_obj, "file_download_text22", "上傳日期"), _defineProperty(_lang_obj, "file_download_text23", "顯示狀態"), _defineProperty(_lang_obj, "file_download_text24", "操作"), _defineProperty(_lang_obj, "file_download_text25", "檔案名稱"), _defineProperty(_lang_obj, "file_download_text26", "顯/隱"), _defineProperty(_lang_obj, "file_download_text27", "新建資料夾"), _defineProperty(_lang_obj, "file_download_text28", "所有使用者"), _defineProperty(_lang_obj, "file_download_text29", "有產品的使用者"), _defineProperty(_lang_obj, "file_download_text30", "有指定產品的使用者"), _defineProperty(_lang_obj, "file_download_text31", "資料夾必填"), _defineProperty(_lang_obj, "file_download_text32", "名稱必填"), _defineProperty(_lang_obj, "file_download_text33", "可見範圍必填"), _defineProperty(_lang_obj, "file_download_text34", "請選擇指定產品"), _defineProperty(_lang_obj, "file_download_text35", "顯示成功"), _defineProperty(_lang_obj, "file_download_text36", "隱藏成功"), _defineProperty(_lang_obj, "file_download_text37", "檔名不能為空"), _defineProperty(_lang_obj, "file_download_text38", "資料夾新增成功"), _defineProperty(_lang_obj, "file_download_text39", "設定預設資料夾成功"), _defineProperty(_lang_obj, "file_download_text40", "資料夾刪除成功"), _defineProperty(_lang_obj, "file_download_text41", "請選擇要刪除的檔案!"), _defineProperty(_lang_obj, "file_download_text42", "請先新增資料夾!"), _defineProperty(_lang_obj, "file_download_text43", "請選擇要移動的檔案!"), _defineProperty(_lang_obj, "file_download_text44", "請選擇資料夾!"), _defineProperty(_lang_obj, "file_download_text45", "移動成功!"), _defineProperty(_lang_obj, "file_download_text46", "請填入文件資料!"), _defineProperty(_lang_obj, "file_download_text47", "請選擇指定產品!"), _defineProperty(_lang_obj, "file_download_text48", "上傳成功!"), _defineProperty(_lang_obj, "file_download_text49", "刪除成功!"), _defineProperty(_lang_obj, "help_text1", "依照存取熱度自動顯示"), _defineProperty(_lang_obj, "help_text2", "選擇文件"), _defineProperty(_lang_obj, "help_text3", "保存"), _defineProperty(_lang_obj, "help_text4", "返回"), _defineProperty(_lang_obj, "help_text5", "關閉"), _defineProperty(_lang_obj, "help_text6", "文件分類"), _defineProperty(_lang_obj, "help_text7", "請輸入你需要搜尋的內容"), _defineProperty(_lang_obj, "help_text8", "已選擇"), _defineProperty(_lang_obj, "help_text9", "編輯文件"), _defineProperty(_lang_obj, "help_text10", "新增文件"), _defineProperty(_lang_obj, "help_text11", "文件名稱"), _defineProperty(_lang_obj, "help_text12", "請輸入"), _defineProperty(_lang_obj, "help_text13", "分類"), _defineProperty(_lang_obj, "help_text14", "關鍵字"), _defineProperty(_lang_obj, "help_text15", "上傳附件"), _defineProperty(_lang_obj, "help_text16", "附件"), _defineProperty(_lang_obj, "help_text17", "內容"), _defineProperty(_lang_obj, "help_text18", "預覽"), _defineProperty(_lang_obj, "help_text19", "發佈"), _defineProperty(_lang_obj, "help_text20", "取消"), _defineProperty(_lang_obj, "help_text21", "請選擇文檔類型"), _defineProperty(_lang_obj, "help_text22", "請勿重複上傳檔案!"), _defineProperty(_lang_obj, "help_text23", "內容必填!"), _defineProperty(_lang_obj, "help_text24", "暫不選"), _defineProperty(_lang_obj, "help_text25", "最多選擇三個文件!"), _defineProperty(_lang_obj, "help_text26", "有重複標題,請重選!"), _defineProperty(_lang_obj, "help_text27", "保存成功!"), _defineProperty(_lang_obj, "help_text28", "序號"), _defineProperty(_lang_obj, "help_text29", "文件名稱"), _defineProperty(_lang_obj, "help_text30", "分類"), _defineProperty(_lang_obj, "help_text31", "發佈人"), _defineProperty(_lang_obj, "help_text32", "發佈時間"), _defineProperty(_lang_obj, "help_text33", "顯示/隱藏"), _defineProperty(_lang_obj, "help_text34", "操作"), _defineProperty(_lang_obj, "help_text35", "分類名稱"), _defineProperty(_lang_obj, "help_text36", "修改人"), _defineProperty(_lang_obj, "help_text37", "修改時間"), _defineProperty(_lang_obj, "help_text38", "顯示成功"), _defineProperty(_lang_obj, "help_text39", "隱藏成功"), _defineProperty(_lang_obj, "help_text40", "請先儲存正在編輯的分類"), _defineProperty(_lang_obj, "help_text41", "請先新增分類!"), _defineProperty(_lang_obj, "help_text42", "請輸入分類名稱!"), _defineProperty(_lang_obj, "help_text43", "文件名稱必填"), _defineProperty(_lang_obj, "help_text44", "文件類型必填"), _defineProperty(_lang_obj, "help_text45", "文件"), _defineProperty(_lang_obj, "help_text46", "上傳失敗"), _defineProperty(_lang_obj, "sales_plugin_text1", "訂單統計"), _defineProperty(_lang_obj, "sales_plugin_text2", "銷售設定"), _defineProperty(_lang_obj, "sales_plugin_text3", "成員管理"), _defineProperty(_lang_obj, "sales_plugin_text4", "每日銷售統計"), _defineProperty(_lang_obj, "sales_plugin_text5", "首次重購比例"), _defineProperty(_lang_obj, "sales_plugin_text6", "銷售訂單排名"), _defineProperty(_lang_obj, "sales_plugin_text7", "本週"), _defineProperty(_lang_obj, "sales_plugin_text8", "近三個月"), _defineProperty(_lang_obj, "sales_plugin_text9", "消費總金額排名"), _defineProperty(_lang_obj, "sales_plugin_text10", "本週"), _defineProperty(_lang_obj, "sales_plugin_text11", "近三個月"), _defineProperty(_lang_obj, "sales_plugin_text12", "天"), _defineProperty(_lang_obj, "sales_plugin_text13", "提成詳情"), _defineProperty(_lang_obj, "sales_plugin_text14", "時間"), _defineProperty(_lang_obj, "sales_plugin_text15", "銷售"), _defineProperty(_lang_obj, "sales_plugin_text16", "請選擇銷售人員"), _defineProperty(_lang_obj, "sales_plugin_text17", "查詢"), _defineProperty(_lang_obj, "sales_plugin_text18", "提成總額"), _defineProperty(_lang_obj, "sales_plugin_text19", "基礎提成"), _defineProperty(_lang_obj, "sales_plugin_text20", "查看訂單"), _defineProperty(_lang_obj, "sales_plugin_text21", "提成總額"), _defineProperty(_lang_obj, "sales_plugin_text22", "大訂單獎勵"), _defineProperty(_lang_obj, "sales_plugin_text23", "獎勵總額"), _defineProperty(_lang_obj, "sales_plugin_text24", "任務獎勵"), _defineProperty(_lang_obj, "sales_plugin_text25", "當月提成總額"), _defineProperty(_lang_obj, "sales_plugin_text26", "業績詳情"), _defineProperty(_lang_obj, "sales_plugin_text27", "下載"), _defineProperty(_lang_obj, "sales_plugin_text28", "關閉"), _defineProperty(_lang_obj, "sales_plugin_text29", "邀請連結"), _defineProperty(_lang_obj, "sales_plugin_text30", "當月提成"), _defineProperty(_lang_obj, "sales_plugin_text31", "營業額"), _defineProperty(_lang_obj, "sales_plugin_text32", "今日提成"), _defineProperty(_lang_obj, "sales_plugin_text33", "我的客戶(個)"), _defineProperty(_lang_obj, "sales_plugin_text34", "總訂單"), _defineProperty(_lang_obj, "sales_plugin_text35", "總提成"), _defineProperty(_lang_obj, "sales_plugin_text36", "總營業額"), _defineProperty(_lang_obj, "sales_plugin_text37", "排名"), _defineProperty(_lang_obj, "sales_plugin_text38", "客戶名稱"), _defineProperty(_lang_obj, "sales_plugin_text39", "金額"), _defineProperty(_lang_obj, "sales_plugin_text40", "付款時間"), _defineProperty(_lang_obj, "sales_plugin_text41", "類型"), _defineProperty(_lang_obj, "sales_plugin_text42", "客戶"), _defineProperty(_lang_obj, "sales_plugin_text43", "總金額"), _defineProperty(_lang_obj, "sales_plugin_text44", "註冊時長"), _defineProperty(_lang_obj, "sales_plugin_text45", " 至"), _defineProperty(_lang_obj, "sales_plugin_text46", "銷售金額"), _defineProperty(_lang_obj, "sales_plugin_text47", "首次重購比例"), _defineProperty(_lang_obj, "sales_plugin_text48", "首次"), _defineProperty(_lang_obj, "sales_plugin_text49", "複購"), _defineProperty(_lang_obj, "sales_plugin_text50", "週一"), _defineProperty(_lang_obj, "sales_plugin_text51", "週二"), _defineProperty(_lang_obj, "sales_plugin_text52", "週三"), _defineProperty(_lang_obj, "sales_plugin_text53", "週四"), _defineProperty(_lang_obj, "sales_plugin_text54", "週五"), _defineProperty(_lang_obj, "sales_plugin_text55", "週六"), _defineProperty(_lang_obj, "sales_plugin_text56", "週日"), _defineProperty(_lang_obj, "sales_plugin_text57", "使用者"), _defineProperty(_lang_obj, "sales_plugin_text58", "儲值金額"), _defineProperty(_lang_obj, "sales_plugin_text59", "提成"), _defineProperty(_lang_obj, "sales_plugin_text60", "付款時間"), _defineProperty(_lang_obj, "sales_plugin_text61", "項目名稱"), _defineProperty(_lang_obj, "sales_plugin_text62", "筆數"), _defineProperty(_lang_obj, "sales_plugin_text63", "營業額"), _defineProperty(_lang_obj, "sales_plugin_text64", "成就"), _defineProperty(_lang_obj, "sales_plugin_text65", "獎勵"), _defineProperty(_lang_obj, "sales_plugin_text66", "首購訂單"), _defineProperty(_lang_obj, "sales_plugin_text67", "續約訂單"), _defineProperty(_lang_obj, "sales_plugin_text68", "複購訂單"), _defineProperty(_lang_obj, "sales_plugin_text69", "其他訂單"), _defineProperty(_lang_obj, "sales_plugin_text70", "大訂單獎勵"), _defineProperty(_lang_obj, "sales_plugin_text71", "下載成功"), _defineProperty(_lang_obj, "sales_plugin_text72", "使用者綁定"), _defineProperty(_lang_obj, "sales_plugin_text73", "分鐘"), _defineProperty(_lang_obj, "upstream_text1", "請輸入關鍵字搜尋"), _defineProperty(_lang_obj, "upstream_text2", "核"), _defineProperty(_lang_obj, "upstream_text3", "起"), _defineProperty(_lang_obj, "upstream_text4", "立即代理"), _defineProperty(_lang_obj, "upstream_text5", "已代理"), _defineProperty(_lang_obj, "upstream_text6", "所屬供應商"), _defineProperty(_lang_obj, "upstream_text7", "商品名稱"), _defineProperty(_lang_obj, "upstream_text8", "商品售價"), _defineProperty(_lang_obj, "upstream_text9", "推薦簡介"), _defineProperty(_lang_obj, "upstream_text10", "上游帳號名稱"), _defineProperty(_lang_obj, "upstream_text11", "請輸入手機/信箱"), _defineProperty(_lang_obj, "upstream_text12", "若您尚未在該供應商註冊帳戶,請先前往供應商註冊帳戶,並開通API"), _defineProperty(_lang_obj, "upstream_text13", "前往註冊"), _defineProperty(_lang_obj, "upstream_text14", "API金鑰"), _defineProperty(_lang_obj, "upstream_text15", "請輸入API金鑰"), _defineProperty(_lang_obj, "upstream_text16", "API私鑰"), _defineProperty(_lang_obj, "upstream_text17", "請輸入API私鑰"), _defineProperty(_lang_obj, "upstream_text18", "利潤百分比"), _defineProperty(_lang_obj, "upstream_text19", "請輸入大於0的整數"), _defineProperty(_lang_obj, "upstream_text20", "利潤=上游商品價格* 利潤百分比"), _defineProperty(_lang_obj, "upstream_text21", "商品描述"), _defineProperty(_lang_obj, "upstream_text22", "商品描述,支援HTML"), _defineProperty(_lang_obj, "upstream_text23", "自動開通"), _defineProperty(_lang_obj, "upstream_text24", "本地實名購買"), _defineProperty(_lang_obj, "upstream_text25", "開啟後,使用者需要實名後才能購買"), _defineProperty(_lang_obj, "upstream_text26", "建議在供應商處實名後再代理商品,避免供應商開啟購買實名要求後,無法購買商品。"), _defineProperty(_lang_obj, "upstream_text27", "立即代理"), _defineProperty(_lang_obj, "upstream_text28", "商品名稱"), _defineProperty(_lang_obj, "upstream_text29", "記憶體"), _defineProperty(_lang_obj, "upstream_text30", "硬碟"), _defineProperty(_lang_obj, "upstream_text31", "頻寬"), _defineProperty(_lang_obj, "upstream_text32", "流量"), _defineProperty(_lang_obj, "upstream_text33", "售價"), _defineProperty(_lang_obj, "upstream_text34", "推薦簡介"), _defineProperty(_lang_obj, "upstream_text35", "操作"), _defineProperty(_lang_obj, "upstream_text36", "代理商實名"), _defineProperty(_lang_obj, "upstream_text37", "使用者實名"), _defineProperty(_lang_obj, "upstream_text38", "上游實名方式"), _defineProperty(_lang_obj, "upstream_text39", "必須大於0且最多保留兩位小數"), _defineProperty(_lang_obj, "upstream_text40", "請輸入大於0的數,最多兩位小數"), _defineProperty(_lang_obj, "upstream_text41", "新增供應商"), _defineProperty(_lang_obj, "upstream_text42", "新增/編輯供應商"), _defineProperty(_lang_obj, "upstream_text43", "新增分組"), _defineProperty(_lang_obj, "upstream_text44", "關鍵字搜尋"), _defineProperty(_lang_obj, "upstream_text45", "大於0的數,最多兩位小數"), _defineProperty(_lang_obj, "upstream_text46", "產品間升降級"), _defineProperty(_lang_obj, "upstream_text47", "暫時不支援開啟該功能"), _defineProperty(_lang_obj, "upstream_text48", "開啟後,將同步代理商品以及可升降級商品的所有關聯可升降級的商品(可能導致代理商品過多)。利潤配置與本商品保持一致。"), _defineProperty(_lang_obj, "upstream_text49", "請選擇上游實名方式"), _defineProperty(_lang_obj, "upstream_text50", "代理商實名"), _defineProperty(_lang_obj, "upstream_text51", "使用者實名"), _defineProperty(_lang_obj, "upstream_text52", "供應商名稱"), _defineProperty(_lang_obj, "upstream_text53", "供應商類型"), _defineProperty(_lang_obj, "upstream_text54", "V10業務系統"), _defineProperty(_lang_obj, "upstream_text55", "財務系統"), _defineProperty(_lang_obj, "upstream_text56", "介面位址"), _defineProperty(_lang_obj, "upstream_text57", "上游業務系統的存取位址或ip"), _defineProperty(_lang_obj, "upstream_text58", "使用者名稱"), _defineProperty(_lang_obj, "upstream_text59", "您在上游註冊的帳號,手機/信箱"), _defineProperty(_lang_obj, "upstream_text60", "API金鑰"), _defineProperty(_lang_obj, "upstream_text61", "您在上游取得的api金鑰"), _defineProperty(_lang_obj, "upstream_text62", "API私鑰"), _defineProperty(_lang_obj, "upstream_text63", "您在上游取得的api私鑰"), _defineProperty(_lang_obj, "upstream_text64", "聯絡方式"), _defineProperty(_lang_obj, "upstream_text65", "備註"), _defineProperty(_lang_obj, "upstream_text66", "名稱"), _defineProperty(_lang_obj, "upstream_text67", "供應商類型"), _defineProperty(_lang_obj, "upstream_text68", "連結位址"), _defineProperty(_lang_obj, "upstream_text69", "產品數量"), _defineProperty(_lang_obj, "upstream_text70", "商品數量"), _defineProperty(_lang_obj, "upstream_text71", "狀態"), _defineProperty(_lang_obj, "upstream_text72", "操作"), _defineProperty(_lang_obj, "upstream_text73", "利潤"), _defineProperty(_lang_obj, "upstream_text74", "利潤方式"), _defineProperty(_lang_obj, "sub_account_text1", "基本資訊"), _defineProperty(_lang_obj, "sub_account_text2", "帳號"), _defineProperty(_lang_obj, "sub_account_text3", "信箱"), _defineProperty(_lang_obj, "sub_account_text4", "所屬項目"), _defineProperty(_lang_obj, "sub_account_text5", "可見產品"), _defineProperty(_lang_obj, "sub_account_text6", "通知權限"), _defineProperty(_lang_obj, "sub_account_text7", "通知"), _defineProperty(_lang_obj, "sub_account_text8", "權限"), _defineProperty(_lang_obj, "sub_account_text9", "提交"), _defineProperty(_lang_obj, "sub_account_text10", "返回"), _defineProperty(_lang_obj, "sub_account_text11", "信箱和手機不能同時為空"), _defineProperty(_lang_obj, "sub_account_text12", "產品通知"), _defineProperty(_lang_obj, "sub_account_text13", "行銷通知"), _defineProperty(_lang_obj, "sub_account_text14", "工單通知"), _defineProperty(_lang_obj, "sub_account_text15", "費用通知"), _defineProperty(_lang_obj, "sub_account_text16", "推介通知"), _defineProperty(_lang_obj, "sub_account_text17", "系統通知"), _defineProperty(_lang_obj, "sub_account_text18", "產品類型"), _defineProperty(_lang_obj, "sub_account_text19", "具體產品"), _defineProperty(_lang_obj, "sub_account_text20", "請輸入帳號"), _defineProperty(_lang_obj, "sub_account_text21", "請輸入手機號碼"), _defineProperty(_lang_obj, "sub_account_text22", "請輸入區號"), _defineProperty(_lang_obj, "sub_account_text23", "基礎權限"), _defineProperty(_lang_obj, "sub_account_text24", "概要"), _defineProperty(_lang_obj, "sub_account_text25", "修改成功"), _defineProperty(_lang_obj, "sub_account_text26", "產品權限"), _defineProperty(_lang_obj, "user_text1", "帳號資訊"), _defineProperty(_lang_obj, "user_text2", "餘額"), _defineProperty(_lang_obj, "user_text3", "產品總數"), _defineProperty(_lang_obj, "user_text4", "消費"), _defineProperty(_lang_obj, "user_text5", "有效數量"), _defineProperty(_lang_obj, "user_text6", "退款"), _defineProperty(_lang_obj, "user_text7", "註冊時間"), _defineProperty(_lang_obj, "user_text8", "提現"), _defineProperty(_lang_obj, "user_text9", "實名狀態"), _defineProperty(_lang_obj, "user_text10", "未實名"), _defineProperty(_lang_obj, "user_text11", "未實名"), _defineProperty(_lang_obj, "user_text12", "企業認證"), _defineProperty(_lang_obj, "user_text13", "個人認證"), _defineProperty(_lang_obj, "user_text14", "登入記錄"), _defineProperty(_lang_obj, "user_text15", "最近"), _defineProperty(_lang_obj, "user_text16", "基礎資料"), _defineProperty(_lang_obj, "user_text17", "子帳號"), _defineProperty(_lang_obj, "user_text18", "編輯"), _defineProperty(_lang_obj, "user_text19", "上次登入時間"), _defineProperty(_lang_obj, "user_text20", "實名狀態"), _defineProperty(_lang_obj, "user_text21", "ID、使用者名稱、信箱、手機號碼、商品名稱"), _defineProperty(_lang_obj, "user_text22", "暫無代理商品訂單資料"), _defineProperty(_lang_obj, "child_module", "子介面管理"), _defineProperty(_lang_obj, "child_tem_type", "子模組類型"), _defineProperty(_lang_obj, "associated_module", "關聯模組"), _defineProperty(_lang_obj, "interface_capacity", "介面容量"), _defineProperty(_lang_obj, "ssl_link_mode", "SSL連結模式"), _defineProperty(_lang_obj, "server_module", "伺服器模組"), _defineProperty(_lang_obj, "interface_group_name", "介面分組名稱"), _defineProperty(_lang_obj, "child_host_name", "主機名稱"), _defineProperty(_lang_obj, "interface_group_num", "介面分組使用數量"), _defineProperty(_lang_obj, "distribution", "分配方式"), _defineProperty(_lang_obj, "child_mode1", "平均分配"), _defineProperty(_lang_obj, "child_mode2", "逐一分配"), _defineProperty(_lang_obj, "child_used_total", "已使用/總數"), _defineProperty(_lang_obj, "child_interface", "子介面"), _defineProperty(_lang_obj, "child_interface_manage", "子介面管理"), _defineProperty(_lang_obj, "child_tip", "此處可設定使用於所有通用介面的子介面"), _defineProperty(_lang_obj, "child_tip1", "取得更多模組支援"), _defineProperty(_lang_obj, "child_tip2", "填寫介面中能容納的產品數量上限"), _defineProperty(_lang_obj, "child_tip3", "產品優先分配給產品數量最少的介面"), _defineProperty(_lang_obj, "child_tip4", "依照原先建立的介面開始分配,滿額後切換下一介面"), _defineProperty(_lang_obj, "caravan_text1", "訂單清單"), _defineProperty(_lang_obj, "caravan_text2", "基礎配置"), _defineProperty(_lang_obj, "caravan_text3", "協定"), _defineProperty(_lang_obj, "caravan_text4", "房箱識別碼長度"), _defineProperty(_lang_obj, "caravan_text5", "購買房箱時依照設定長度為房箱設定由大寫字母和資料隨機組成的識別碼。識別碼具有唯一性"), _defineProperty(_lang_obj, "caravan_text6", "第一筆付款金額設定"), _defineProperty(_lang_obj, "caravan_text7", "小型房箱預期交貨週期"), _defineProperty(_lang_obj, "caravan_text8", "單"), _defineProperty(_lang_obj, "caravan_text9", "週"), _defineProperty(_lang_obj, "caravan_text10", "新增週期"), _defineProperty(_lang_obj, "caravan_text11", "中型房箱預期交付週期"), _defineProperty(_lang_obj, "caravan_text12", "大型房箱預期交貨週期"), _defineProperty(_lang_obj, "caravan_text13", "促銷時間"), _defineProperty(_lang_obj, "caravan_text14", "促銷金額"), _defineProperty(_lang_obj, "caravan_text15", "促銷方案"), _defineProperty(_lang_obj, "caravan_text16", "請輸入促銷方案"), _defineProperty(_lang_obj, "caravan_text17", "訂單狀態"), _defineProperty(_lang_obj, "caravan_text18", "開始生產"), _defineProperty(_lang_obj, "caravan_text19", "生產完成"), _defineProperty(_lang_obj, "caravan_text20", "修改預計週期"), _defineProperty(_lang_obj, "caravan_text21", "交付商品"), _defineProperty(_lang_obj, "caravan_text22", "已付尾款"), _defineProperty(_lang_obj, "caravan_text23", "已付款"), _defineProperty(_lang_obj, "caravan_text24", "付款日期"), _defineProperty(_lang_obj, "caravan_text25", "購買資訊"), _defineProperty(_lang_obj, "caravan_text26", "快遞訊息"), _defineProperty(_lang_obj, "caravan_text27", "配送資訊"), _defineProperty(_lang_obj, "caravan_text28", "詳細配置"), _defineProperty(_lang_obj, "caravan_text29", "總計"), _defineProperty(_lang_obj, "caravan_text30", "首付款"), _defineProperty(_lang_obj, "caravan_text31", "尾款"), _defineProperty(_lang_obj, "caravan_text32", "預計交貨週期"), _defineProperty(_lang_obj, "caravan_text33", "交付商品"), _defineProperty(_lang_obj, "caravan_text34", "物流資訊"), _defineProperty(_lang_obj, "caravan_text35", "請輸入物流資訊"), _defineProperty(_lang_obj, "caravan_text36", "總銷售額"), _defineProperty(_lang_obj, "caravan_text37", "已到帳金額"), _defineProperty(_lang_obj, "caravan_text38", "剩餘尾款金額"), _defineProperty(_lang_obj, "caravan_text39", "請輸入商品資訊"), _defineProperty(_lang_obj, "caravan_text40", "請搜尋購買使用者"), _defineProperty(_lang_obj, "caravan_text41", "查詢"), _defineProperty(_lang_obj, "caravan_text42", "已生產"), _defineProperty(_lang_obj, "caravan_text43", "請先確認或取消修改/新增"), _defineProperty(_lang_obj, "caravan_text44", "請至少新增一條小型房箱預期交貨週期資料"), _defineProperty(_lang_obj, "caravan_text45", "請至少新增一條中型房箱預期交付週期資料"), _defineProperty(_lang_obj, "caravan_text46", "請至少新增一條大型房箱預期交貨週期資料"), _defineProperty(_lang_obj, "caravan_text47", "請輸入房箱識別碼長度"), _defineProperty(_lang_obj, "caravan_text48", "請輸入協定"), _defineProperty(_lang_obj, "caravan_text49", "訂單數"), _defineProperty(_lang_obj, "caravan_text50", "週期"), _defineProperty(_lang_obj, "caravan_text51", "操作"), _defineProperty(_lang_obj, "caravan_text52", "請輸入最小訂單數"), _defineProperty(_lang_obj, "caravan_text53", "請輸入最大訂單數"), _defineProperty(_lang_obj, "caravan_text54", "請輸入最小週期數"), _defineProperty(_lang_obj, "caravan_text55", "請輸入最大週期數"), _defineProperty(_lang_obj, "caravan_text56", "最大訂單數不能小於最小訂單數"), _defineProperty(_lang_obj, "caravan_text57", "最大週期數不能小於最小週期數"), _defineProperty(_lang_obj, "caravan_text58", "請輸入週期"), _defineProperty(_lang_obj, "caravan_text59", "最大週期不能小於最小週期"), _defineProperty(_lang_obj, "caravan_text60", "待付款首付款"), _defineProperty(_lang_obj, "caravan_text61", "已下單"), _defineProperty(_lang_obj, "caravan_text62", "生產中"), _defineProperty(_lang_obj, "caravan_text63", "待付尾款"), _defineProperty(_lang_obj, "caravan_text64", "待交車"), _defineProperty(_lang_obj, "caravan_text65", "已交付"), _defineProperty(_lang_obj, "caravan_text66", "已取消"), _defineProperty(_lang_obj, "caravan_text67", "請輸入物流資訊"), _defineProperty(_lang_obj, "caravan_text68", "確認生產完成"), _defineProperty(_lang_obj, "caravan_text69", "確認已付尾款"), _defineProperty(_lang_obj, "caravan_text70", "確認已支付"), _defineProperty(_lang_obj, "caravan_text71", "修改預計週期"), _defineProperty(_lang_obj, "caravan_text72", "開始生產"), _defineProperty(_lang_obj, "single_product_text1", "單一商品實名要求"), _defineProperty(_lang_obj, "single_product_text2", "此處設定係統中需要實名購買的商品,若實名認證插件設定「未認證無法購買」,此處未添加商品同樣無法購買"), _defineProperty(_lang_obj, "single_product_text3", "新增"), _defineProperty(_lang_obj, "single_product_text4", "個人/企業"), _defineProperty(_lang_obj, "single_product_text5", "個人認證"), _defineProperty(_lang_obj, "single_product_text6", "企業認證"), _defineProperty(_lang_obj, "single_product_text7", "確認刪除該商品實名限制?"), _defineProperty(_lang_obj, "single_product_text8", "編輯商品"), _defineProperty(_lang_obj, "single_product_text9", "新增商品"), _defineProperty(_lang_obj, "single_product_text10", "商品"), _defineProperty(_lang_obj, "single_product_text11", "類型要求"), _defineProperty(_lang_obj, "single_product_text12", "保存"), _defineProperty(_lang_obj, "single_product_text13", "取消"), _defineProperty(_lang_obj, "single_product_text14", "商品名稱"), _defineProperty(_lang_obj, "single_product_text15", "限制狀態"), _defineProperty(_lang_obj, "single_product_text16", "商品週期性限購"), _defineProperty(_lang_obj, "single_product_text17", "此處設定使用者帳戶中的某商品在設定週期內可擁有的最大數量。狀態為「已刪除」「取消」時不計數,其他狀態均計數"), _defineProperty(_lang_obj, "single_product_text18", "永久"), _defineProperty(_lang_obj, "single_product_text19", "天"), _defineProperty(_lang_obj, "single_product_text20", "確認刪除該商品週期性限制?"), _defineProperty(_lang_obj, "single_product_text21", "編輯限制"), _defineProperty(_lang_obj, "single_product_text22", "新增限制"), _defineProperty(_lang_obj, "single_product_text23", "限制數量"), _defineProperty(_lang_obj, "single_product_text24", "限制週期"), _defineProperty(_lang_obj, "single_product_text25", "輸入0視為永久限制"), _defineProperty(_lang_obj, "single_product_text26", "修改週期會影響正在限制中的週期"), _defineProperty(_lang_obj, "single_product_text27", "限制週期開始時間以使用者未在限制內下的第一單時間為準開始計算"), _defineProperty(_lang_obj, "single_product_text28", "商品數量限制"), _defineProperty(_lang_obj, "single_product_text29", "此處設定使用者帳戶中的某商品的可擁有的最大數量,狀態為「已刪除」「已取消」時不計數,其他狀態均計數"), _defineProperty(_lang_obj, "single_product_text30", "確認刪除該商品數量限制?"), _defineProperty(_lang_obj, "recommend_agent_text1", "新增商品"), _defineProperty(_lang_obj, "recommend_agent_text2", "關鍵字搜尋"), _defineProperty(_lang_obj, "recommend_agent_text3", "核"), _defineProperty(_lang_obj, "recommend_agent_text4", "起"), _defineProperty(_lang_obj, "recommend_agent_text5", "編輯推薦商品"), _defineProperty(_lang_obj, "recommend_agent_text6", "新增推薦商品"), _defineProperty(_lang_obj, "recommend_agent_text7", "商品類型"), _defineProperty(_lang_obj, "recommend_agent_text8", "已代理商品"), _defineProperty(_lang_obj, "recommend_agent_text9", "其他商品"), _defineProperty(_lang_obj, "recommend_agent_text10", "所屬供應商"), _defineProperty(_lang_obj, "recommend_agent_text11", "供應商名稱"), _defineProperty(_lang_obj, "recommend_agent_text12", "供應商類型"), _defineProperty(_lang_obj, "recommend_agent_text13", "前台網址"), _defineProperty(_lang_obj, "recommend_agent_text14", "介面位址"), _defineProperty(_lang_obj, "recommend_agent_text15", "商品"), _defineProperty(_lang_obj, "recommend_agent_text16", "取得"), _defineProperty(_lang_obj, "recommend_agent_text17", "商品名稱"), _defineProperty(_lang_obj, "recommend_agent_text18", "CPU(核心)最小值"), _defineProperty(_lang_obj, "recommend_agent_text19", "CPU(核心)最大值"), _defineProperty(_lang_obj, "recommend_agent_text20", "內存"), _defineProperty(_lang_obj, "recommend_agent_text21", "記憶體(GB)最小值"), _defineProperty(_lang_obj, "recommend_agent_text22", "記憶體(GB)最大值"), _defineProperty(_lang_obj, "recommend_agent_text23", "硬碟"), _defineProperty(_lang_obj, "recommend_agent_text24", "硬碟(GB)最小值"), _defineProperty(_lang_obj, "recommend_agent_text25", "硬碟(GB)最大值"), _defineProperty(_lang_obj, "recommend_agent_text26", "頻寬"), _defineProperty(_lang_obj, "recommend_agent_text27", "頻寬(Mbps)最小值"), _defineProperty(_lang_obj, "recommend_agent_text28", "頻寬(Mbps)最大值"), _defineProperty(_lang_obj, "recommend_agent_text29", "流量"), _defineProperty(_lang_obj, "recommend_agent_text30", "流量(GB)最小值"), _defineProperty(_lang_obj, "recommend_agent_text31", "流量(GB)最大值"), _defineProperty(_lang_obj, "recommend_agent_text32", "推薦簡介"), _defineProperty(_lang_obj, "recommend_agent_text33", "保存"), _defineProperty(_lang_obj, "recommend_agent_text34", "顯示"), _defineProperty(_lang_obj, "recommend_agent_text35", "操作"), _defineProperty(_lang_obj, "recommend_agent_text36", "V10業務系統"), _defineProperty(_lang_obj, "recommend_agent_text37", "財務系統"), _defineProperty(_lang_obj, "recommend_agent_text38", "請先輸入介面位址!"), _defineProperty(_lang_obj, "room_car_text1", "出遊設定"), _defineProperty(_lang_obj, "room_car_text2", "報名管理"), _defineProperty(_lang_obj, "room_car_text3", "圖庫管理"), _defineProperty(_lang_obj, "room_car_text4", "新增"), _defineProperty(_lang_obj, "room_car_text5", "基礎資訊"), _defineProperty(_lang_obj, "room_car_text6", "標題"), _defineProperty(_lang_obj, "room_car_text7", "簡介"), _defineProperty(_lang_obj, "room_car_text8", "目的地"), _defineProperty(_lang_obj, "room_car_text9", "里程"), _defineProperty(_lang_obj, "room_car_text10", "行程時間"), _defineProperty(_lang_obj, "room_car_text11", "報名時間範圍"), _defineProperty(_lang_obj, "room_car_text12", "是否車主專屬"), _defineProperty(_lang_obj, "room_car_text13", "是"), _defineProperty(_lang_obj, "room_car_text14", "否"), _defineProperty(_lang_obj, "room_car_text15", "集合點"), _defineProperty(_lang_obj, "room_car_text16", "報名價格"), _defineProperty(_lang_obj, "room_car_text17", "預覽大圖"), _defineProperty(_lang_obj, "room_car_text18", "輪播圖"), _defineProperty(_lang_obj, "room_car_text19", "確定刪除?"), _defineProperty(_lang_obj, "room_car_text20", "截止時間"), _defineProperty(_lang_obj, "room_car_text21", "報名總人數"), _defineProperty(_lang_obj, "room_car_text22", "是否已滿"), _defineProperty(_lang_obj, "room_car_text23", "請輸入文字標題"), _defineProperty(_lang_obj, "room_car_text24", "請輸入目的地"), _defineProperty(_lang_obj, "room_car_text25", "請輸入簡介"), _defineProperty(_lang_obj, "room_car_text26", "請輸入里程"), _defineProperty(_lang_obj, "room_car_text27", "請輸入集合點"), _defineProperty(_lang_obj, "room_car_text28", "請選擇是否為車主專屬活動"), _defineProperty(_lang_obj, "room_car_text29", "請輸入報名價格"), _defineProperty(_lang_obj, "room_car_text30", "請選擇行程日期"), _defineProperty(_lang_obj, "room_car_text31", "請選擇報名日期"), _defineProperty(_lang_obj, "room_car_text32", "請上傳預覽大圖"), _defineProperty(_lang_obj, "room_car_text33", "請上傳輪播圖"), _defineProperty(_lang_obj, "room_car_text34", "房車官網"), _defineProperty(_lang_obj, "room_car_text35", "編輯行程"), _defineProperty(_lang_obj, "room_car_text36", "新增行程"), _defineProperty(_lang_obj, "room_car_text37", "編輯"), _defineProperty(_lang_obj, "room_car_text38", "刪除"), _defineProperty(_lang_obj, "room_car_text39", "海拔"), _defineProperty(_lang_obj, "room_car_text40", "餐點"), _defineProperty(_lang_obj, "room_car_text41", "住宿"), _defineProperty(_lang_obj, "room_car_text42", "行程天數"), _defineProperty(_lang_obj, "room_car_text43", "行程名稱"), _defineProperty(_lang_obj, "room_car_text44", "行程簡介"), _defineProperty(_lang_obj, "room_car_text45", "請輸入行程天數"), _defineProperty(_lang_obj, "room_car_text46", "請輸入簡介"), _defineProperty(_lang_obj, "room_car_text47", "請輸入行程名稱"), _defineProperty(_lang_obj, "room_car_text48", "請輸入住宿名稱"), _defineProperty(_lang_obj, "room_car_text49", "請輸入餐點"), _defineProperty(_lang_obj, "room_car_text50", "請先儲存目前行程!"), _defineProperty(_lang_obj, "room_car_text51", "請輸入關鍵字搜尋"), _defineProperty(_lang_obj, "room_car_text52", "關注"), _defineProperty(_lang_obj, "room_car_text53", "報名"), _defineProperty(_lang_obj, "room_car_text54", "編輯備註"), _defineProperty(_lang_obj, "room_car_text55", "備註資訊"), _defineProperty(_lang_obj, "room_car_text56", "備註"), _defineProperty(_lang_obj, "room_car_text57", "關聯使用者"), _defineProperty(_lang_obj, "room_car_text58", "活動名稱"), _defineProperty(_lang_obj, "room_car_text59", "聯絡方式"), _defineProperty(_lang_obj, "room_car_text60", "類型"), _defineProperty(_lang_obj, "room_car_text61", "報名人數"), _defineProperty(_lang_obj, "room_car_text62", "備註"), _defineProperty(_lang_obj, "room_car_text63", "圖片名稱"), _defineProperty(_lang_obj, "room_car_text64", "圖片分類"), _defineProperty(_lang_obj, "room_car_text65", "圖片"), _defineProperty(_lang_obj, "room_car_text66", "圖片預覽"), _defineProperty(_lang_obj, "stock_text1", "物料詳情"), _defineProperty(_lang_obj, "stock_text2", "庫存詳情"), _defineProperty(_lang_obj, "stock_text3", "物料關聯"), _defineProperty(_lang_obj, "stock_text4", "返回"), _defineProperty(_lang_obj, "stock_text5", "編輯"), _defineProperty(_lang_obj, "stock_text6", "刪除"), _defineProperty(_lang_obj, "stock_text7", "編輯物料包"), _defineProperty(_lang_obj, "stock_text8", "新增物料包"), _defineProperty(_lang_obj, "stock_text9", "物料名稱"), _defineProperty(_lang_obj, "stock_text10", "物料分類"), _defineProperty(_lang_obj, "stock_text11", "物料"), _defineProperty(_lang_obj, "stock_text12", "物料數量"), _defineProperty(_lang_obj, "stock_text13", "新增"), _defineProperty(_lang_obj, "stock_text14", "確認刪除該物料嗎"), _defineProperty(_lang_obj, "stock_text15", "物料總價"), _defineProperty(_lang_obj, "stock_text16", "物料包名稱"), _defineProperty(_lang_obj, "stock_text17", "備註"), _defineProperty(_lang_obj, "stock_text18", "物料包"), _defineProperty(_lang_obj, "stock_text19", "關聯數量"), _defineProperty(_lang_obj, "stock_text20", "關聯價值"), _defineProperty(_lang_obj, "stock_text21", "請選擇物料"), _defineProperty(_lang_obj, "stock_text22", "請輸入物料數量"), _defineProperty(_lang_obj, "stock_text23", "物料價格"), _defineProperty(_lang_obj, "stock_text24", "請添加物料!"), _defineProperty(_lang_obj, "stock_text25", "請先儲存正在編輯的物料!"), _defineProperty(_lang_obj, "stock_text26", "查詢"), _defineProperty(_lang_obj, "stock_text27", "導出"), _defineProperty(_lang_obj, "stock_text28", "變動日期"), _defineProperty(_lang_obj, "stock_text29", "變動數量"), _defineProperty(_lang_obj, "stock_text30", "結餘"), _defineProperty(_lang_obj, "stock_text31", "操作人"), _defineProperty(_lang_obj, "stock_text32", "變更原因"), _defineProperty(_lang_obj, "stock_text33", "下載成功"), _defineProperty(_lang_obj, "stock_text34", "預警設定"), _defineProperty(_lang_obj, "stock_text35", "人工出入庫"), _defineProperty(_lang_obj, "stock_text36", "詳情"), _defineProperty(_lang_obj, "stock_text37", "類型"), _defineProperty(_lang_obj, "stock_text38", "入庫"), _defineProperty(_lang_obj, "stock_text39", "出庫"), _defineProperty(_lang_obj, "stock_text40", "數量"), _defineProperty(_lang_obj, "stock_text41", "原因"), _defineProperty(_lang_obj, "stock_text42", "預警庫存"), _defineProperty(_lang_obj, "stock_text43", "達到預警庫存後,簡訊通知人員"), _defineProperty(_lang_obj, "stock_text44", "剩餘庫存"), _defineProperty(_lang_obj, "stock_text45", "上次採購時間"), _defineProperty(_lang_obj, "stock_text46", "庫存成本"), _defineProperty(_lang_obj, "stock_text47", "現有庫存"), _defineProperty(_lang_obj, "stock_text48", "預警庫存下限"), _defineProperty(_lang_obj, "stock_text49", "預警庫存上限"), _defineProperty(_lang_obj, "stock_text50", "請選擇預警簡訊通知人員!"), _defineProperty(_lang_obj, "stock_text51", "建立物料"), _defineProperty(_lang_obj, "stock_text52", "型別管理"), _defineProperty(_lang_obj, "stock_text53", "編輯物料"), _defineProperty(_lang_obj, "stock_text54", "新增物料"), _defineProperty(_lang_obj, "stock_text55", "物料名稱"), _defineProperty(_lang_obj, "stock_text56", "物料類型"), _defineProperty(_lang_obj, "stock_text57", "物料規格"), _defineProperty(_lang_obj, "stock_text58", "確認刪除類型嗎"), _defineProperty(_lang_obj, "stock_text59", "採購次數"), _defineProperty(_lang_obj, "stock_text60", "採購總量"), _defineProperty(_lang_obj, "stock_text61", "剩餘庫存"), _defineProperty(_lang_obj, "stock_text62", "採購均價"), _defineProperty(_lang_obj, "stock_text63", "採購最低價"), _defineProperty(_lang_obj, "stock_text64", "採購最高價"), _defineProperty(_lang_obj, "stock_text65", "採購"), _defineProperty(_lang_obj, "stock_text66", "退貨"), _defineProperty(_lang_obj, "stock_text67", "確認入庫?"), _defineProperty(_lang_obj, "stock_text68", "確認退貨?"), _defineProperty(_lang_obj, "stock_text69", "採購詳情"), _defineProperty(_lang_obj, "stock_text70", "新增採購"), _defineProperty(_lang_obj, "stock_text71", "採購物料"), _defineProperty(_lang_obj, "stock_text72", "請選擇分類"), _defineProperty(_lang_obj, "stock_text73", "請選擇物料"), _defineProperty(_lang_obj, "stock_text74", "採購數量"), _defineProperty(_lang_obj, "stock_text75", "採購單價"), _defineProperty(_lang_obj, "stock_text76", "運費"), _defineProperty(_lang_obj, "stock_text77", "費用調整"), _defineProperty(_lang_obj, "stock_text78", "採購總價"), _defineProperty(_lang_obj, "stock_text79", "採購來源"), _defineProperty(_lang_obj, "stock_text80", "聯絡方式"), _defineProperty(_lang_obj, "stock_text81", "物流資訊"), _defineProperty(_lang_obj, "stock_text82", "採購日期"), _defineProperty(_lang_obj, "stock_text83", "訂單金額"), _defineProperty(_lang_obj, "stock_text84", "採購人"), _defineProperty(_lang_obj, "stock_text85", "採購管道"), _defineProperty(_lang_obj, "stock_text86", "物流資訊"), _defineProperty(_lang_obj, "stock_text87", "入庫狀態"), _defineProperty(_lang_obj, "stock_text88", "微信"), _defineProperty(_lang_obj, "stock_text89", "淘寶"), _defineProperty(_lang_obj, "stock_text90", "閒魚"), _defineProperty(_lang_obj, "stock_text91", "其他"), _defineProperty(_lang_obj, "stock_text92", "已下單"), _defineProperty(_lang_obj, "stock_text93", "已入庫"), _defineProperty(_lang_obj, "stock_text94", "已退貨"), _defineProperty(_lang_obj, "stock_text95", "採購管道"), _defineProperty(_lang_obj, "stock_text96", "購買管道"), _defineProperty(_lang_obj, "stock_text97", "物料規格"), _defineProperty(_lang_obj, "stock_text98", "採購配件"), _defineProperty(_lang_obj, "stock_text99", "新建物料包"), _defineProperty(_lang_obj, "stock_text100", "物料總數"), _defineProperty(_lang_obj, "serve_text1", "詳細資料"), _defineProperty(_lang_obj, "serve_text2", "授權ID:"), _defineProperty(_lang_obj, "serve_text3", "網域:"), _defineProperty(_lang_obj, "serve_text4", "IP:"), _defineProperty(_lang_obj, "serve_text5", "授權碼:"), _defineProperty(_lang_obj, "serve_text6", "服務到期時間"), _defineProperty(_lang_obj, "serve_text7", "保存明細"), _defineProperty(_lang_obj, "serve_text8", "關聯產品ID:"), _defineProperty(_lang_obj, "serve_text9", "系統類型:"), _defineProperty(_lang_obj, "cycle_order", "週期人工訂單"), _defineProperty(_lang_obj, "time_range", "時間範圍"), _defineProperty(_lang_obj, "create_period", "生成週期"), _defineProperty(_lang_obj, "generation_time", "生成時間"), _defineProperty(_lang_obj, "cycle_tip", "在此管理為使用者產生週期性的人工訂單"), _defineProperty(_lang_obj, "cycle_tip1", "變更產生週期後,從最近一次已經產生訂單的日期開始計算"), _defineProperty(_lang_obj, "pay_type", "付費類型"), _defineProperty(_lang_obj, "available_plugins", "可用插件"), _defineProperty(_lang_obj, "available_application", "可用應用程式"), _defineProperty(_lang_obj, "version_manage", "版本管理"), _defineProperty(_lang_obj, "plugin_manage", "應用程式管理"), _defineProperty(_lang_obj, "synchronize_store", "同步應用程式商店"), _defineProperty(_lang_obj, "upload_time", "上傳時間"), _defineProperty(_lang_obj, "upload_user", "上傳人員"), _defineProperty(_lang_obj, "download", "下載"), _defineProperty(_lang_obj, "module_manage_tip", "配置V10可販售的版本,用於商品配置"), _defineProperty(_lang_obj, "module_manage_tip1", "請輸入正確的版本號碼"), _defineProperty(_lang_obj, "not_orderer_service", "未訂購服務"), _defineProperty(_lang_obj, "authorize", "授權"), _defineProperty(_lang_obj, "proportion", "佔比"), _defineProperty(_lang_obj, "domain_name", "網域名稱"), _defineProperty(_lang_obj, "domain_template", "模組管理"), _defineProperty(_lang_obj, "domain_list", "網域清單"), _defineProperty(_lang_obj, "registrant", "註冊商"), _defineProperty(_lang_obj, "domain_owner", "網域擁有者"), _defineProperty(_lang_obj, "domain_status", "網域狀態"), _defineProperty(_lang_obj, "belong_user", "所屬使用者"), _defineProperty(_lang_obj, "distance", "距離"), _defineProperty(_lang_obj, "auth_info", "認證資訊"), _defineProperty(_lang_obj, "auth_status", "認證狀態"), _defineProperty(_lang_obj, "auth_type", "實名類型"), _defineProperty(_lang_obj, "phone_tel", "手機號碼"), _defineProperty(_lang_obj, "communication_address", "通訊地址"), _defineProperty(_lang_obj, "domain_agree_adress", "網域名稱註冊協定地址"), _defineProperty(_lang_obj, "domain_service_adress", "網域資訊服務協定位址"), _defineProperty(_lang_obj, "domain_en", "英文"), _defineProperty(_lang_obj, "default_domain", "預設檢索網域名稱"), _defineProperty(_lang_obj, "appoint_domain", "指定檢索網域名稱"), _defineProperty(_lang_obj, "number_limit", "數量限制"), _defineProperty(_lang_obj, "price_float", "價格上浮比"), _defineProperty(_lang_obj, "acounts_transfer", "帳戶間轉移"), _defineProperty(_lang_obj, "need_real_name", "要求實名認證"), _defineProperty(_lang_obj, "suffix", "後綴"), _defineProperty(_lang_obj, "suffix_manage", "後綴管理"), _defineProperty(_lang_obj, "suffix_profile", "後綴簡介"), _defineProperty(_lang_obj, "allow_chinese", "允許中文"), _defineProperty(_lang_obj, "no_upload_picture", "未傳圖片"), _defineProperty(_lang_obj, "examining", "初審中"), _defineProperty(_lang_obj, "examine_pass", "正常"), _defineProperty(_lang_obj, "examine_reject", "初審拒絕"), _defineProperty(_lang_obj, "examine_abnormal", "初審異常"), _defineProperty(_lang_obj, "not_certified", "未認證"), _defineProperty(_lang_obj, "under_certification", "認證中"), _defineProperty(_lang_obj, "domain_tip1", "設定使用者檢索網域名稱時,預設的檢索網域名稱"), _defineProperty(_lang_obj, "domain_tip2", "設定除了檢索預設或使用者選定的網域外,額外檢索的網域名稱"), _defineProperty(_lang_obj, "domain_tip3", "設定批次檢索網域名稱時的數量上限"), _defineProperty(_lang_obj, "domain_tip4", "在此組態模組關聯的後綴,若多個模組存在相同後綴,查詢該後綴時,僅查詢排序靠前的模組"), _defineProperty(_lang_obj, "domain_tip5", "配置該網域後綴是否支援中文主體"), _defineProperty(_lang_obj, "domain_tip6", "請輸入正確的字尾"), _defineProperty(_lang_obj, "domain_tip7", "請輸入不超過20個字的簡介"), _defineProperty(_lang_obj, "domain_tip8", "網域開通失敗提醒"), _defineProperty(_lang_obj, "id_type_SFZ", "身分證"), _defineProperty(_lang_obj, "id_type_HZ", "護照"), _defineProperty(_lang_obj, "id_type_GAJMTX", "港澳居民來往內地通行證"), _defineProperty(_lang_obj, "id_type_TWJMTX", "台灣居民來往大陸通行證"), _defineProperty(_lang_obj, "id_type_WJLSFZ", "外國人永久居留證"), _defineProperty(_lang_obj, "id_type_GAJZZ", "港澳台居民居住證明"), _defineProperty(_lang_obj, "id_type_ORG", "組織機構代碼證"), _defineProperty(_lang_obj, "id_type_YYZZ", "工商營業執照"), _defineProperty(_lang_obj, "id_type_TYDM", "統一社會信用代碼證書"), _defineProperty(_lang_obj, "id_type_BDDM", "部隊代號"), _defineProperty(_lang_obj, "id_type_JDDWFW", "軍事單位對外有償服務許可證"), _defineProperty(_lang_obj, "id_type_SYDWFR", "事業單位法人證書"), _defineProperty(_lang_obj, "id_type_WGCZJG", "外國企業常駐代表機構登記證"), _defineProperty(_lang_obj, "id_type_SHTTFR", "社會團體法人登記證書"), _defineProperty(_lang_obj, "id_type_ZJCS", "宗教活動場所登記證"), _defineProperty(_lang_obj, "id_type_MBFQY", "民辦非企業單位登記證書"), _defineProperty(_lang_obj, "id_type_JJHFR", "基金會法人登記證書"), _defineProperty(_lang_obj, "id_type_LSZY", "律師事務所執行許可證"), _defineProperty(_lang_obj, "id_type_WGZHWH", "外國在華文化中心登記證"), _defineProperty(_lang_obj, "id_type_WLCZJG", "外國政府旅遊部門常駐代表機構核准登記證"), _defineProperty(_lang_obj, "id_type_SFJD", "司法鑑定許可證"), _defineProperty(_lang_obj, "id_type_SHFWJG", "社會服務機構登記證書"), _defineProperty(_lang_obj, "id_type_MBXXBX", "民辦學校辦學許可證"), _defineProperty(_lang_obj, "id_type_YLJGZY", "醫療機構執行許可證"), _defineProperty(_lang_obj, "id_type_JWJG", "境外機構證件"), _defineProperty(_lang_obj, "id_type_GZJGZY", "公證機構執業證"), _defineProperty(_lang_obj, "id_type_BJWSXX", "北京市外國駐華使館人員子女學校辦學許可證"), _defineProperty(_lang_obj, "id_type_QTTYDM", "包含統一社會信用代碼的其它證件"), _defineProperty(_lang_obj, "abnormal_text1", "異常巡查外掛"), _defineProperty(_lang_obj, "abnormal_text2", "在此記錄巡查中發現的異常情況"), _defineProperty(_lang_obj, "abnormal_text3", "請輸入使用者、公司、聯絡方式、IP"), _defineProperty(_lang_obj, "abnormal_text4", "使用者"), _defineProperty(_lang_obj, "abnormal_text5", "聯絡方式"), _defineProperty(_lang_obj, "abnormal_text6", "訂單ID"), _defineProperty(_lang_obj, "abnormal_text7", "購買時間"), _defineProperty(_lang_obj, "abnormal_text8", "異常時IP"), _defineProperty(_lang_obj, "abnormal_text9", "異常事項"), _defineProperty(_lang_obj, "abnormal_text10", "處理措施"), _defineProperty(_lang_obj, "abnormal_text11", "處理時間"), _defineProperty(_lang_obj, "abnormal_text12", "最新提交人"), _defineProperty(_lang_obj, "abnormal_text13", "新增異常記錄"), _defineProperty(_lang_obj, "abnormal_text14", "編輯異常記錄"), _defineProperty(_lang_obj, "abnormal_text15", "異常使用者"), _defineProperty(_lang_obj, "abnormal_text16", "異常產品"), _defineProperty(_lang_obj, "abnormal_text17", "異常截圖"), _defineProperty(_lang_obj, "abnormal_text18", "異常詳情"), _defineProperty(_lang_obj, "abnormal_text19", "無截圖"), _defineProperty(_lang_obj, "abnormal_text20", "ip格式為xxx.xxx.xxx.xxx"), _defineProperty(_lang_obj, "email_notice_admin", '郵件通知管理員'), _defineProperty(_lang_obj, "email_notice_tip", '在此設定管理員需要接收的郵件通知'), _defineProperty(_lang_obj, "notify_personnel", '通知人員'), _defineProperty(_lang_obj, "manual_resources", "手動資源"), _defineProperty(_lang_obj, "ipmi_auth", "IPMI鑑權"), _defineProperty(_lang_obj, "idle", '空閒'), _defineProperty(_lang_obj, "sure_allot_resource", '確認分配該資源? '), _defineProperty(_lang_obj, "sure_free_resource", '確認空閒該資源? '), _defineProperty(_lang_obj, "manual_text1", '搜尋IP、設定、備註'), _defineProperty(_lang_obj, "manual_text2", '選擇供應商'), _defineProperty(_lang_obj, "manual_text3", '管理供應商'), _defineProperty(_lang_obj, "manual_text4", '新增資源'), _defineProperty(_lang_obj, "manual_text5", '狀態'), _defineProperty(_lang_obj, "manual_text6", '機器操作'), _defineProperty(_lang_obj, "manual_text7", '配置'), _defineProperty(_lang_obj, "manual_text8", '備註'), _defineProperty(_lang_obj, "manual_text9", '使用者名稱/密碼'), _defineProperty(_lang_obj, "manual_text10", '供應商'), _defineProperty(_lang_obj, "manual_text11", '成本'), _defineProperty(_lang_obj, "manual_text12", '關聯客戶(產品)'), _defineProperty(_lang_obj, "manual_text13", '到期時間'), _defineProperty(_lang_obj, "manual_text14", '開機'), _defineProperty(_lang_obj, "manual_text15", '關機'), _defineProperty(_lang_obj, "manual_text16", '錯誤'), _defineProperty(_lang_obj, "manual_text17", '編輯資源'), _defineProperty(_lang_obj, "manual_text18", '主IP'), _defineProperty(_lang_obj, "manual_text19", '附加IP'), _defineProperty(_lang_obj, "manual_text20", '備註'), _defineProperty(_lang_obj, "manual_text21", '配置'), _defineProperty(_lang_obj, "manual_text22", '上游'), _defineProperty(_lang_obj, "manual_text23", '成本'), _defineProperty(_lang_obj, "manual_text24", '系統使用者名稱'), _defineProperty(_lang_obj, "manual_text25", '系統密碼'), _defineProperty(_lang_obj, "manual_text26", '控制方式'), _defineProperty(_lang_obj, "manual_text27", '到期時間'), _defineProperty(_lang_obj, "manual_text28", '不支援'), _defineProperty(_lang_obj, "manual_text29", 'ipmi'), _defineProperty(_lang_obj, "manual_text30", '客戶端'), _defineProperty(_lang_obj, "manual_text31", '控制使用者名稱'), _defineProperty(_lang_obj, "manual_text32", '控制密碼'), _defineProperty(_lang_obj, "manual_text33", 'IPMI IP'), _defineProperty(_lang_obj, "manual_text34", 'IPMI版本'), _defineProperty(_lang_obj, "manual_text35", 'DCIM客戶端位址'), _defineProperty(_lang_obj, "manual_text36", '伺服器ID'), _defineProperty(_lang_obj, "manual_text37", '確認刪除資源嗎'), _defineProperty(_lang_obj, "manual_text38", '名稱'), _defineProperty(_lang_obj, "manual_text39", '聯絡方式'), _defineProperty(_lang_obj, "manual_text40", '備註'), _defineProperty(_lang_obj, "manual_text41", '確認刪除供應商嗎'), _defineProperty(_lang_obj, "manual_text42", '請先儲存目前編輯! '), _defineProperty(_lang_obj, "manual_text43", '請輸入名稱'), _defineProperty(_lang_obj, "manual_text44", '連接埠'), _defineProperty(_lang_obj, "manual_text45", '換行新增多個'), _defineProperty(_lang_obj, "manual_text46", '關機'), _defineProperty(_lang_obj, "manual_text47", '重啟'), _defineProperty(_lang_obj, "manual_text48", '重裝'), _defineProperty(_lang_obj, "manual_text49", '重設密碼'), _defineProperty(_lang_obj, "manual_text50", '救援'), _defineProperty(_lang_obj, "manual_text51", '控制台'), _defineProperty(_lang_obj, "manual_text52", '開機'), _defineProperty(_lang_obj, "manual_text53", '確認'), _defineProperty(_lang_obj, "manual_text54", '確認開啟控制台?'), _defineProperty(_lang_obj, "reinstall_system", "重裝系統"), _defineProperty(_lang_obj, "reset_password", "重設密碼"), _defineProperty(_lang_obj, "rescue", "救援系統"), _defineProperty(_lang_obj, "zone_type", "分割區類型"), _defineProperty(_lang_obj, "zone_type1", "全螢幕格式化"), _defineProperty(_lang_obj, "zone_type2", "第一分割區格式化"), _defineProperty(_lang_obj, "reset_other", "破解其他使用者"), _defineProperty(_lang_obj, "temp_password", "暫時密碼"), _defineProperty(_lang_obj, "agree_force", "同意強制關機"), _defineProperty(_lang_obj, "check_agree_force", "請勾選同意強制關機"), _defineProperty(_lang_obj, "password_tip", "請妥善保存目前密碼,該密碼不會二次使用"), _defineProperty(_lang_obj, "rescue_tip", "當您系統損壞時,可進入救援模式,您的系統磁碟將會掛載作為資料碟"), _defineProperty(_lang_obj, "reset_tip", "如您忘記密碼,可直接輸入新密碼破解"), _defineProperty(_lang_obj, "force_tip", "目前操作需要實例在關機狀態下進行"), _defineProperty(_lang_obj, "force_tip1", "為了避免資料遺失,實例將關機中斷您的業務,請仔細確認。"), _defineProperty(_lang_obj, "force_tip2", "強制關機可能會導致資料遺失或檔案系統損壞,您也可以主動關機後再進行操作"), _lang_obj);
+window.lang = lang_obj;
\ No newline at end of file
diff --git a/10.3.4/public/admin/template/default/lang/en-us.js b/10.3.5/public/admin/template/default/lang/en-us.js
similarity index 94%
rename from 10.3.4/public/admin/template/default/lang/en-us.js
rename to 10.3.5/public/admin/template/default/lang/en-us.js
index 1ca6c3a3..47ba31cb 100644
--- a/10.3.4/public/admin/template/default/lang/en-us.js
+++ b/10.3.5/public/admin/template/default/lang/en-us.js
@@ -79,6 +79,7 @@ const lang_obj = {
Underpayment: "Underpayment",
deduction: "deduction",
credit: "Balance",
+ balance_pay: "Balance payment",
money: "amount",
time: "time",
description: "Description",
@@ -210,7 +211,7 @@ const lang_obj = {
billing_way: "Billing method",
billing_cycle: "Billing cycle",
hour: "hour",
- day: "天",
+ day: "day",
delHostTips: "Do you need to delete the selected product? It cannot be retrieved after deletion. Deletion will not perform module actions",
ontrial: "trial",
monthly: "monthly payment",
@@ -232,7 +233,7 @@ const lang_obj = {
Finish: "Complete",
order: "order",
new: "New order",
- renew: "Renewal Order",
+ renew: "Renewal order",
upgrade: "upgrade or downgrade order",
combine: "merge orders",
credit_limit: "Credit limit order",
@@ -472,8 +473,8 @@ const lang_obj = {
sure_batch_submit: "Confirm to batch submit all templates?",
tip1: "Enabling verification code can avoid malicious batch comments or information submission. It is recommended to turn on the verification code function.",
tip2: "Note: Enabling verification code will make some operations cumbersome. It is recommended to only enable it when necessary",
- tip3: "Select ‘Show after three failed attempts' to display the verification code after the user fails to log in three times.",
- tip4: "Selecting 'Always show' will always display the verification code when logging in.",
+ tip3: 'Select "Show after three failed attempts" to display the verification code after the user fails to log in three times.',
+ tip4: 'Selecting "Always show" will always display the verification code when logging in.',
tip5: "Note: This setting is only effective when the user login verification code is enabled",
tip6: "After turning it on, users can add balances to their accounts in the personal center",
tip7: "The address must contain http or https, and if it is not 80, the port must be included",
@@ -506,7 +507,7 @@ const lang_obj = {
verify14: "And it cannot be Chinese",
verify15: "Please enter letters, numbers, -",
verify16: "positive integer",
- verify17: "Maximum two decimal places",
+ verify17: "Up to two decimal places",
verify18: "integer between",
verify19: "Amount greater than or equal to 0, up to 2 decimal places",
verify20: "Please enter the correct contact number",
@@ -514,7 +515,7 @@ const lang_obj = {
/* Work order*/
user_work_order: "User Work Order",
work_list: "Work order list",
- inside_work_order: "Internal work order",
+ inside_work_order: "Internal Work Order",
order_ticket_num: "Ticket number",
order__configuration: "Work order configuration",
order_title: "Work order title",
@@ -551,7 +552,7 @@ const lang_obj = {
order_text4: "Work Order Department",
order_text5: "Work order type",
order_text6: "Title of the work order",
- order_text7: "Title of the work order",
+ order_text7: "Work order title",
order_text8: "Associated user",
order_text9: "User",
order_text10: "Related products",
@@ -629,11 +630,11 @@ const lang_obj = {
order_text81: "Initiator",
order_text82: "Follow up person",
- order_text83: "Modify Order Price",
+ order_text83: "Modify order price",
order_text84: "Please enter the modified order price",
- order_text85: "Submit Order",
+ order_text85: "Submit order",
order_text86: "Price",
- order_text87: "Select Product",
+ order_text87: "Select product",
@@ -773,6 +774,11 @@ const lang_obj = {
price: "price",
memory: "memory",
disk: "hard disk",
+ disk1: "Disk",
+ disk_capacity: 'Disk capacity',
+ alone_disk: 'Independent disk',
+ disk_price: "Disk Price",
+ disk_type1: "Disk Type",
show_describe: "Show description",
server_param: "Interface parameters",
sale_package: "Sales Package",
@@ -885,6 +891,8 @@ const lang_obj = {
received_amount: "Amount received",
withdrawal_setting: "Withdrawal Settings",
withdrawal_way: "Withdrawal method",
+ withdrawal_switch: "Withdrawal switch",
+ withdrawal_switch_tip: "After closing, the member center will not display the withdrawal button",
withdrawal_process: "Withdrawal process",
reject: "reject",
approved: "approved",
@@ -962,7 +970,7 @@ const lang_obj = {
use_ssh: "Use SSH key",
buy_data_disk: "Independent data disk ordering",
backup_manage: "Backup Management",
- snap_manage: "Snapshot Management",
+ snap_manage: "Snapshot management",
min_size: "Minimum capacity",
max_size: "Maximum capacity",
disk_max_size: "Maximum number of additional data disks",
@@ -1088,7 +1096,7 @@ const lang_obj = {
com_tip1: "After turning it on, you can add or subtract the quantity of goods purchased when placing an order. The minimum is 1, and the price is a multiple of the quantity.",
com_tip2: "After opening, all configurations and configuration sub-items can fill in parameters, and valid parameters will be automatically passed",
com_tip3: "Can be left blank, used for real parameter values passed to the backend interface during automation",
- com_tip4: "The following fees are unit prices in the current range",
+ com_tip4: "The following fees are the unit prices in the current range",
com_tip5:
"Supports HTML and will be displayed on the product configuration page. If no input is made, it will not be displayed. JS can be called to implement custom restrictions and input for parameter calls",
com_tip6: "Generally set to unit",
@@ -1152,6 +1160,11 @@ const lang_obj = {
upload_text7: "Identification code",
upload_text8: "Service expiration time",
upload_text9: "Not logged into the app store, no identification code",
+ upload_text10: "Replace identification code",
+ upload_text11: "Update identification code",
+ upload_text12: "Domain Name Information",
+ upload_text13: "Binding identification code",
+ upload_text14: "New identification code",
/* News Center*/
classification_manage: "Classification Management",
@@ -1180,6 +1193,7 @@ const lang_obj = {
add_news: "Add news",
add_ad: "Add announcement",
scheduled_release: "Scheduled release",
+
/*Help Center*/
add_doc: "Add new document",
doc_name: "Document name",
@@ -1217,7 +1231,7 @@ const lang_obj = {
invoice_status5: "Rejected",
invoice_status6: "void",
invoice_text1: "User (company), title",
- invoice_text2: "Invoice Type",
+ invoice_text2: "Invoice type",
invoice_text3: "Status",
invoice_text4: "Passed",
invoice_text5: "Rejected",
@@ -1270,7 +1284,7 @@ const lang_obj = {
invoice_label7: "Express",
invoice_label8: "Express tracking number",
invoice_label9: "Express fee",
- invoice_label10: "User (Company)",
+ invoice_label10: "User (company)",
invoice_label11: "Company Address",
invoice_label12: "Tax registration number",
invoice_label13: "Account opening bank",
@@ -1314,7 +1328,7 @@ const lang_obj = {
/* Promo Code*/
promo_code: "Promo code",
- coupon_code: "Discount Code",
+ coupon_code: "Discount code",
coupon_code_type: "Coupon code type",
coupon_num: "numeric value",
use_used: "used/available",
@@ -1463,7 +1477,7 @@ const lang_obj = {
sale_text44: "Send notification",
sale_text45: "Other settings",
sale_text46: "Sales Commission Confirmation Time",
- sale_text47: "天",
+ sale_text47: "day",
sale_text48: "Save",
sale_text49: "Select product",
sale_text50: "Please select a product",
@@ -1516,10 +1530,10 @@ const lang_obj = {
sale_text97: "Sales",
sale_text98: "Sales Commission",
sale_text99: "First purchase commission",
- sale_text100: "Renewal Commission",
+ sale_text100: "Renewal commission",
sale_text101: "Repurchase Commission",
sale_text102: "Other commissions",
- sale_text103: "Commission percentage",
+ sale_text103: "Commission ratio",
sale_text104: "Sale List",
sale_text105: "User bound",
sale_text106: "Add",
@@ -1627,7 +1641,7 @@ const lang_obj = {
client_care_label40: "Suspended",
client_care_label41: "Deleted",
client_care_label42: "Activation failed",
- client_care_label43: "天",
+ client_care_label43: "day",
client_care_label44: "Date",
client_care_label45: "User",
client_care_label46: "Number of items sent",
@@ -1651,7 +1665,7 @@ const lang_obj = {
client_care_title7: "Confirm deletion",
client_care_text1: "In use",
client_care_text2: "Disabled",
- client_care_text3: "天",
+ client_care_text3: "day",
client_care_text4: "one",
client_care_text5: "Send repeatedly to the same user",
client_care_text6: "Expected to send",
@@ -1686,7 +1700,7 @@ const lang_obj = {
client_custom_label8: "New field",
client_custom_label9: "Field name",
client_custom_label10: "Field type",
- client_custom_label11: "Drop-down value, use ',' interval between values",
+ client_custom_label11: 'Drop-down value, use ", " interval between values',
client_custom_label12: "Drop-down value",
client_custom_label13: "Save",
client_custom_label14: "Cancel",
@@ -1803,7 +1817,7 @@ const lang_obj = {
update_time: "update time",
settle_type: "Settlement type",
settle_apply: "Settlement application",
- update_apply: "Application for change of data",
+ update_apply: "Application for change of information",
canceled_settled: "Settlement canceled",
author_service_provider: "Developers and Service Providers",
on_shelf: "Already on the shelf",
@@ -1892,7 +1906,7 @@ const lang_obj = {
app_manage: "Application Management",
service_manage: "Service Management",
report_manage: "Report Management",
- sales_records: "Sales Records",
+ sales_records: "Sales records",
buy_user: "Buyer",
bill_no: "Bill number",
comment: "comment",
@@ -1919,7 +1933,7 @@ const lang_obj = {
"In the complaint content, a reply record is automatically generated: Your complaint has been dismissed and the complaint status will be changed to 'Processing Complete'",
app_tip4: "Please enter the search ID, user name, email, mobile phone number, and product name",
wait_confirm: "Pending receipt confirmation",
- surplus_days: "Number of remaining days for automatic delivery",
+ surplus_days: "Number of remaining days for automatic receipt",
oauth: "Third-party login",
look_detail: "View details",
app_total: "Total",
@@ -2100,15 +2114,15 @@ const lang_obj = {
box_title24: "Operation",
box_title25: "Room box version",
box_title26: "Container Type",
- box_title27: "Cost price",
+ box_title27: "Cost Price",
box_title28: "Version Price",
box_title29: "Weight",
box_title30: "Short sentence description",
box_title31: "Full Description",
- box_title32: "Configuration name",
+ box_title32: "Configuration Name",
box_title33: "Type",
box_title34: "Price",
- box_title35: "Cost Price",
+ box_title35: "Cost price",
box_title36: "Weight",
box_title37: "Optional version",
box_title38: "Version already included",
@@ -2174,7 +2188,7 @@ const lang_obj = {
box_placeholder9: "Please enter",
box_placeholder10: "Please select",
box_placeholder11: "Please enter the configuration name",
- box_placeholder12: "Please select a type",
+ box_placeholder12: "Please select the type",
box_placeholder13: "Please enter the sub-item price",
box_placeholder14: "Please enter the color name",
box_placeholder15: "Please enter the price",
@@ -2218,7 +2232,7 @@ const lang_obj = {
box_label10: "Promotion amount",
box_label11: "Promotion Plan",
box_label12: "Configuration details",
- box_label13: "Version configuration",
+ box_label13: "Version Configuration",
box_label14: "Pop-up window management",
box_label15: "Living facilities configuration",
box_label16: "Power system configuration",
@@ -2251,7 +2265,7 @@ const lang_obj = {
box_header3: "You need to save the configuration first. Do you want to continue?",
box_header4: "Confirm deletion?",
box_header5: "Edit subitems",
- box_header6: "Add sub-item",
+ box_header6: "New sub-item",
box_version1: "small",
box_version2: "Medium",
@@ -2358,6 +2372,7 @@ const lang_obj = {
free_data_tip: "Please enter the free data disk capacity",
system_disk_nature: "System disk performance",
data_disk_nature: "Data disk performance",
+ disk_nature: "Disk performance",
capacity_size: "capacity size",
random_read: "random read",
random_write: "randomly write",
@@ -2398,8 +2413,36 @@ const lang_obj = {
resource_package: "resource package",
price_factor: "price factor",
factor: "Coefficient",
+
kvm_major: 'kvm professional version',
kvm_light: 'kvm light version',
+ mf_area_config: 'Regional configuration',
+ mf_area_tip: 'If there is no configured price in a certain area. Then the foreground will not display the corresponding area',
+ mf_disk_tip: 'Please note whether the associated region is the same region. Cross region will result in disk association failure',
+ mf_concat: 'Associated Product Area',
+ mf_concat_tip: "Please ensure that the Rubik's Cube Cloud configuration ID of the associated product belongs to the same region as the IP configuration ID",
+ cycle_price: "Cycle price",
+ cycle_ratio: "Cycle ratio",
+ mf_ratio: "Ratio",
+ autofill: "Autofill",
+ mf_ratio_tip1: "Please set the cycle ratio according to the business scenario",
+ mf_ratio_tip2: "For example, set the cycle 'month' to 1 and the cycle 'year' to 10. The price ratio of all cycles' months' to 'years' in the product configuration item is 1:10",
+ mf_ratio_tip3: "After filling in the price for a certain period in the configuration, the prices for other periods will be automatically filled in proportionally",
+ mf_package_name: "Package Name",
+ mf_package_des: "Package Description",
+ mf_only_package: "Only sell packages",
+ upgrade_range: "Range of promotion and demotion",
+ no_upgrade: "Cannot be upgraded or downgraded",
+ all_package: "All Package",
+ package_info: "Package Information",
+ network_config: "Network Configuration",
+ mf_package_tip1: "After activation, users can only order configured packages",
+ mf_package_tip2: "Note: The package price and configuration item price are independent, and the advanced configuration of the configuration item still takes effect",
+ mf_package_tip3: "1. Calculation, storage, and network configuration can be configured with various parameters at will",
+ mf_package_tip4: "2. If the 2-core CPU limit in the calculation configuration is 90, the 2-core CPU limit in the package is also 90. Same for other configurations",
+ mf_package_tip5: "The promotion and demotion range is only limited to the same data center",
+ mf_package_tip6: "Please ensure that the system disk capacity in the upgrade and downgrade packages is consistent",
+ mf_package_tip7: "The capacity of the data disk cannot be downgraded",
mf_notes: "Notes:",
mf_flow: "Flow billing",
@@ -2448,7 +2491,11 @@ const lang_obj = {
mf_tip34: "After turning it on, users can choose whether they want to purchase it when ordering",
mf_tip35: "Capacity users cannot operate",
mf_tip36: "Free data disks are also included in the disk quantity limit",
-
+ mf_tip37: "The maximum number of elastic IPs that can be allocated to cloud products",
+ mf_tip38: "Single GB price",
+ mf_tip39: "The price coefficient is used to simultaneously discount the prices of all configurations for this cycle (including cycle prices)",
+ mf_tip40: "Is the order displayed",
+ mf_tip41: "Deleting the package may cause issues with renewal and promotion for users who have already purchased the current package. Please confirm if you want to delete it",
/* mf_dcim */
model_config: "Model configuration",
model_specs: "Model specifications",
@@ -2458,12 +2505,11 @@ const lang_obj = {
data_cpu_limit: "Data center and model limits",
public_ip_config: "Public IP price configuration",
server_model: "Server model",
- manual_resources: "Manual resources",
mf_p1: "Example: AMD ThreadRipper 5995WX",
mf_p2: "Example: 64 cores 128 threads (2. 7GHz)",
mf_p3: "Example: 256GB DDR3-ECC",
mf_p4: "Example: 250GB SSD",
- mf_p5: "After opening, the product will not be opened through the interface, and the administrator needs to manually allocate resources",
+ mf_p5: "After opening, the product will not be activated through the interface, and the administrator needs to manually allocate resources",
/* System Management*/
icp_info: "ICP information",
@@ -2621,7 +2667,7 @@ const lang_obj = {
credit_active: "active",
credit_overdue: "Overdue",
remaining_amount: "remaining amount",
- billing_date: "Billing Date",
+ billing_date: "Billing date",
repayment_date: "Repayment Date",
credit_user: "Credit user",
purchase_history: "Consumption Record",
@@ -2641,7 +2687,7 @@ const lang_obj = {
credit_tip: "Repayment Reminder",
credit_tip1: "The system will issue the payment before the repayment date",
credit_tip2: "On the next day, the user will be reminded of repayment.",
- credit_tip3: "*If you need multiple reminders, please use ',' to enter the number of days in intervals",
+ credit_tip3: '*If you need multiple reminders, please use ", " to enter the number of days in intervals',
credit_tip4: "Overdue reminder",
credit_tip5: "The system will be overdue",
credit_tip6: "Tianhou, issue an overdue reminder to the user.",
@@ -2860,7 +2906,7 @@ const lang_obj = {
sales_plugin_text9: "Ranking of total consumption amount",
sales_plugin_text10: "This week",
sales_plugin_text11: "Last three months",
- sales_plugin_text12: "天",
+ sales_plugin_text12: "day",
sales_plugin_text13: "Commission details",
sales_plugin_text14: "Time",
sales_plugin_text15: "Sales",
@@ -2886,7 +2932,7 @@ const lang_obj = {
sales_plugin_text35: "Total Commission",
sales_plugin_text36: "Total turnover",
sales_plugin_text37: "Ranking",
- sales_plugin_text38: "Customer name",
+ sales_plugin_text38: "Customer Name",
sales_plugin_text39: "Amount",
sales_plugin_text40: "Payment time",
sales_plugin_text41: "Type",
@@ -3154,7 +3200,7 @@ const lang_obj = {
/*Single product*/
single_product_text1: "Real-name requirement for single product",
single_product_text2:
- "Here you set the products that require real-name purchase in the system. If the real-name authentication plug-in is set to 'cannot be purchased without authentication', you will not be able to purchase products that are not added here.",
+ 'Here you set the products that require real-name purchase in the system. If the real-name authentication plug-in is set to "cannot be purchased without authentication", you will not be able to purchase products that are not added here.',
single_product_text3: "New",
single_product_text4: "Personal/Enterprise",
single_product_text5: "Personal certification",
@@ -3170,9 +3216,9 @@ const lang_obj = {
single_product_text15: "Restricted status",
single_product_text16: "Periodic purchase restrictions on products",
single_product_text17:
- "Here you set the maximum quantity of a product in the user account within the setting period. It will not be counted when the status is 'Deleted' or 'Cancelled', and it will be counted in other statuses",
+ 'Here you set the maximum quantity of a product in the user account within the setting period. It will not be counted when the status is "Deleted" or "Cancelled", and it will be counted in other statuses',
single_product_text18: "Permanent",
- single_product_text19: "天",
+ single_product_text19: "day",
single_product_text20: "Confirm to delete the periodic restriction of this product?",
single_product_text21: "Editing restrictions",
single_product_text22: "New restrictions",
@@ -3184,7 +3230,7 @@ const lang_obj = {
"The start time of the limit period is calculated based on the time of the first order placed by the user that is not within the limit",
single_product_text28: "Product quantity limit",
single_product_text29:
- "Here is set the maximum quantity of a product that can be owned in the user account. It will not be counted when the status is 'Deleted' or 'Cancelled', and it will be counted in other statuses",
+ 'Here is set the maximum quantity of a product that can be owned in the user account. It will not be counted when the status is "Deleted" or "Cancelled", and it will be counted in other statuses',
single_product_text30: "Confirm to delete the quantity limit of this product?",
/* Recommended agent*/
@@ -3347,7 +3393,7 @@ const lang_obj = {
stock_text49: "Early Warning Stock Limit",
stock_text50: "Please select the early warning text message to notify people!",
stock_text51: "Create material",
- stock_text52: "Type Management",
+ stock_text52: "Type management",
stock_text53: "Edit material",
stock_text54: "New material",
stock_text55: "Material name",
@@ -3377,7 +3423,7 @@ const lang_obj = {
stock_text79: "Source of purchase",
stock_text80: "Contact information",
stock_text81: "Logistics information",
- stock_text82: "Purchase Date",
+ stock_text82: "Purchase date",
stock_text83: "Order amount",
stock_text84: "Purchaser",
stock_text85: "Purchase Channel",
@@ -3461,7 +3507,7 @@ const lang_obj = {
allow_chinese: "Allow Chinese",
no_upload_picture: "No picture uploaded",
examining: "under preliminary examination",
- examine_pass: "Passed preliminary examination",
+ examine_pass: "Normal",
examine_reject: "Initial review rejection",
examine_abnormal: "abnormal initial examination",
not_certified: "Not certified",
@@ -3528,26 +3574,100 @@ const lang_obj = {
abnormal_text20: "ip format is xxx.xxx.xxx.xxx",
- /* 邮件通知管理员 */
- email_notice_admin: "Email notification administrator",
- email_notice_tip: "Set the email notifications that administrators need to receive here",
- notify_personnel: "Notify personnel",
+ /* Notify administrator by email*/
+ email_notice_admin: 'Email notification administrator',
+ email_notice_tip: 'Set the email notifications that the administrator needs to receive here',
+ notify_personnel: 'Notify person',
+
+
+ // Manual resources
+ manual_resources: "Manual resources",
+ ipmi_auth: "IPMI authentication",
+ idle: 'idle',
+ sure_allot_resource: 'Confirm to allocate this resource? ',
+ sure_free_resource: 'Confirm that this resource is free? ',
+ manual_text1: 'Search IP, configuration, remarks',
+ manual_text2: 'Select supplier',
+ manual_text3: 'Manage suppliers',
+ manual_text4: 'Add resource',
+ manual_text5: 'Status',
+ manual_text6: 'Machine operation',
+ manual_text7: 'Configuration',
+ manual_text8: 'Remarks',
+ manual_text9: 'Username/Password',
+ manual_text10: 'Supplier',
+ manual_text11: 'Cost',
+ manual_text12: 'Associated customers (products)',
+ manual_text13: 'Expiration time',
+ manual_text14: 'Boot',
+ manual_text15: 'Shut down',
+ manual_text16: 'Error',
+ manual_text17: 'Edit resources',
+ manual_text18: 'Main IP',
+ manual_text19: 'Additional IP',
+ manual_text20: 'Remarks',
+ manual_text21: 'Configuration',
+ manual_text22: 'upstream',
+ manual_text23: 'Cost',
+ manual_text24: 'System user name',
+ manual_text25: 'System password',
+ manual_text26: 'Control mode',
+ manual_text27: 'Expiration time',
+ manual_text28: 'Not supported',
+ manual_text29: 'ipmi',
+ manual_text30: 'Client',
+ manual_text31: 'Control user name',
+ manual_text32: 'Control password',
+ manual_text33: 'IPMI IP',
+ manual_text34: 'IPMI version',
+ manual_text35: 'DCIM client address',
+ manual_text36: 'Server ID',
+ manual_text37: 'Are you sure to delete the resource?',
+ manual_text38: 'name',
+ manual_text39: 'Contact information',
+ manual_text40: 'Remarks',
+ manual_text41: 'Are you sure to delete the supplier?',
+ manual_text42: 'Please save the current edit first! ',
+ manual_text43: 'Please enter a name',
+ manual_text44: 'Port',
+ manual_text45: 'Add multiple newlines',
+ manual_text46: 'Shut down',
+ manual_text47: 'Restart',
+ manual_text48: 'Reinstall',
+ manual_text49: 'Reset password',
+ manual_text50: 'Rescue',
+ manual_text51: 'Console',
+ manual_text52: 'Boot',
+ manual_text53: 'Confirm',
+ manual_text54: 'Confirm to open the console?',
+
+
reinstall_system: "Reinstall the system",
reset_password: "Reset password",
- rescue: "Rescue system",
- zone_type: "Partition type",
- zone_type1: "Full screen formatting",
- zone_type2: "First partition formatting",
- reset_other: "Cracking other users",
+ rescue: "rescue system",
+ zone_type: "Zone type",
+ zone_type1: "Full screen format",
+ zone_type2: "First partition format",
+ reset_other: "Crack other users",
temp_password: "Temporary password",
agree_force: "Agree to force shutdown",
- check_agree_force: "Please check 'Agree to Force Shutdown'",
- password_tip: "Please keep the current password properly as it will not be reused",
+ check_agree_force: "Please check to agree to forced shutdown",
+ password_tip: "Please keep the current password properly and it will not be used twice.",
rescue_tip: "When your system is damaged, you can enter rescue mode and your system disk will be mounted as a data disk",
- reset_tip: "If you forget your password, you can directly enter a new password to crack it",
- force_tip: "The current operation requires the instance to be in a shutdown state",
- force_tip1: "To avoid data loss, the instance will shut down and interrupt your business. Please confirm carefully.",
- force_tip2: "Forced shutdown may cause data loss or file system damage, and you can also proactively shut down before proceeding with the operation",
+ reset_tip: "If you forget your password, you can directly enter the new password to crack it",
+ force_tip: "The current operation requires the instance to be powered off",
+ force_tip1: "To avoid data loss, the instance will be shut down and your business interrupted. Please confirm carefully.",
+ force_tip2: "Forced shutdown may cause data loss or file system damage. You can also actively shut down before proceeding",
+
+
+
+
+
+
+
+
+
+
};
window.lang = lang_obj;
diff --git a/10.3.4/public/admin/template/default/lang/zh-cn.js b/10.3.5/public/admin/template/default/lang/zh-cn.js
similarity index 97%
rename from 10.3.4/public/admin/template/default/lang/zh-cn.js
rename to 10.3.5/public/admin/template/default/lang/zh-cn.js
index b4dbce15..5118ae90 100644
--- a/10.3.4/public/admin/template/default/lang/zh-cn.js
+++ b/10.3.5/public/admin/template/default/lang/zh-cn.js
@@ -79,6 +79,7 @@ const lang_obj = {
Underpayment: "少付",
deduction: "扣费",
credit: "余额",
+ balance_pay: "余额支付",
money: "金额",
time: "时间",
description: "描述",
@@ -773,6 +774,11 @@ const lang_obj = {
price: "价格",
memory: "内存",
disk: "硬盘",
+ disk1: "磁盘",
+ disk_capacity: '磁盘容量',
+ alone_disk: '独立磁盘',
+ disk_price: "磁盘价格",
+ disk_type1: "磁盘类型",
show_describe: "显示描述",
server_param: "接口参数",
sale_package: "销售套餐",
@@ -885,6 +891,8 @@ const lang_obj = {
received_amount: "到账金额",
withdrawal_setting: "提现设置",
withdrawal_way: "提现方式",
+ withdrawal_switch: "提现开关",
+ withdrawal_switch_tip: "关闭后,会员中心将不会展示提现按钮",
withdrawal_process: "提现流程",
reject: "驳回",
approved: "审核通过",
@@ -1152,6 +1160,11 @@ const lang_obj = {
upload_text7: "识别码",
upload_text8: "服务到期时间",
upload_text9: "未登录应用商店,无识别码",
+ upload_text10: "更换识别码",
+ upload_text11: "更新识别码",
+ upload_text12: "域名信息",
+ upload_text13: "已绑定识别码",
+ upload_text14: "新识别码",
/* 新闻中心 */
classific_manage: "分类管理",
@@ -1350,9 +1363,9 @@ const lang_obj = {
year: "年",
single_user_once: "单用户一次",
upgrade_discount: "升降级优惠",
- host_upgrade: "升降级商品配置",
+ host_upgrade: "升降级循环优惠",
renew_discount: "续费优惠",
- loop_discount: "循环优惠",
+ loop_discount: "续费循环优惠",
cycle_limit: "周期限制",
promo_quarterly: "季",
promo_semiannually: "半年",
@@ -2343,7 +2356,7 @@ const lang_obj = {
random_rules: "随机主机名规则",
host_prefix: "主机名前缀",
enable_rules: "开通平衡规则",
- is_need_code1: "重制密码时需要短信验证",
+ is_need_code1: "重置密码时需要短信验证",
is_need_code2: "重装系统时需要短信验证",
cpu_config: "CPU配置",
memory_config: "内存配置",
@@ -2359,6 +2372,7 @@ const lang_obj = {
free_data_tip: "请输入免费数据盘容量",
system_disk_nature: "系统盘性能",
data_disk_nature: "数据盘性能",
+ disk_nature: "磁盘性能",
capacity_size: "容量大小",
random_read: "随机读",
random_write: "随机写",
@@ -2399,10 +2413,38 @@ const lang_obj = {
resource_package: "资源包",
price_factor: "价格系数",
factor: "系数",
- kvm_major: 'kvm专业版',
- kvm_light: 'kvm轻量版',
-
- mf_notes: "注:",
+ kvm_major: "kvm专业版",
+ kvm_light: "kvm轻量版",
+ mf_area_config: "区域配置",
+ mf_area_tip: "若某一区域没有配置价格。则前台不显示对应区域",
+ mf_disk_tip: "请注意关联区域是否为同一区域,跨区域将导致磁盘关联失败",
+ mf_concat: "关联商品区域",
+ mf_concat_tip: "请确保关联商品的魔方云配置ID,与IP的配置ID属于同一区域",
+ cycle_price: "周期价格",
+ cycle_ratio: "周期比例",
+ mf_ratio: "比例",
+ autofill: "自动填充",
+ mf_ratio_tip1: "请按照业务场景设置周期比例",
+ mf_ratio_tip2: "例如:周期「月」设为 1 ,周期「年」设为 10。则商品配置项中所有周期「月」的价格与「年」的价格比例为 1:10",
+ mf_ratio_tip3: "在配置中填写某一周期价格后,其他周期价格自动按比例填充",
+ mf_package_name: "套餐名称",
+ mf_package_des: "套餐描述",
+ mf_only_package: "仅售卖套餐",
+ upgrade_range: "升降级范围",
+ no_upgrade: "不可升降级",
+ all_package: "所有套餐",
+ package_info: "套餐信息",
+ network_config: "网络配置",
+ mf_package_tip1: "开启后,用户只可订购配置的套餐",
+ mf_package_tip2: "注意:套餐价格和配置项价格独立,配置项的高级配置仍然生效",
+ mf_package_tip3: "1、计算、存储、网络配置可任意配置各项参数",
+ mf_package_tip4: "2、若计算配置中 2核 CPU限制 90,套餐中配置 2核 CPU同样限制90。其他配置同理",
+ mf_package_tip5: "升降级范围仅限同一数据中心",
+ mf_package_tip6: "请确保可升降级的套餐中的系统盘容量保持一致",
+ mf_package_tip7: "数据盘容量不能降级",
+
+
+ mf_notes: "注意:",
mf_flow: "流量计费",
mf_rule1: "数量平均",
mf_rule2: "负载最低",
@@ -2449,6 +2491,12 @@ const lang_obj = {
mf_tip34: "开启后,用户可在订购选择是否需要购买",
mf_tip35: "容量用户不可操作",
mf_tip36: "免费数据盘也纳入磁盘数量限制",
+ mf_tip37: "云产品最大可被分配弹性IP数量",
+ mf_tip38: "单GB价格",
+ mf_tip39: "价格系数用于对所有配置的该周期价格同时进行折扣(包括周期价格)",
+ mf_tip40: "订购是否显示",
+ mf_tip41: "删除套餐可能导致,已购买当前套餐的用户续费和升降级出现问题,请确认是否删除",
+
/* mf_dcim */
model_config: "型号配置",
@@ -3615,6 +3663,30 @@ const lang_obj = {
+ /* DA */
+ da_host: '主机',
+ da_domain: '赠送域名',
+ da_max_value: '赠送域名最大价值',
+ da_domain_suffix: '赠送域名后缀',
+ da_host_config: '主机配置',
+ da_host_name: '主机名称',
+ da_host_address: '主机地址',
+ belong_host: '所属主机',
+ da_area: '所属地域',
+ independent_ip: '独立IP',
+ choose_package: '选择套餐',
+ disk_space: '磁盘空间',
+ email_num: '邮箱账号数',
+ domain_num: '域名数量',
+ sub_domain_num: '子域名数量',
+ sub_domain: '二级域名',
+ da_tip1: '赠送域名免费第一年',
+ da_tip2: '若用户购买一年 收费金额=域名金额减去赠送金额',
+ da_tip3: '若购买多年,收费金额=域名金额减去 域名购买一年的金额',
+ da_tip4: '可在虚拟主机插件进行设置,赠送域名的价格限制',
+ da_tip5: '选择用户开通时,自动分配的域名',
+ da_tip6: '默认为1,0为不限制',
+ da_tip7: '请先配置主机',
diff --git a/10.3.4/public/admin/template/default/lang/zh-hk.js b/10.3.5/public/admin/template/default/lang/zh-hk.js
similarity index 60%
rename from 10.3.4/public/admin/template/default/lang/zh-hk.js
rename to 10.3.5/public/admin/template/default/lang/zh-hk.js
index 32dd391b..de7c2c33 100644
--- a/10.3.4/public/admin/template/default/lang/zh-hk.js
+++ b/10.3.5/public/admin/template/default/lang/zh-hk.js
@@ -17,7 +17,7 @@ const lang_obj = {
query: "查詢",
reset: "重置",
home: "首頁",
- homepage: "主頁",
+ homepage: "首頁",
unit_price: "單價",
captcha: "驗證碼",
total_price: "總價",
@@ -25,28 +25,28 @@ const lang_obj = {
task_description: "任務描述",
start_time: "開始時間",
not_page: "頁面找不到了",
- create_time: "創建時間",
+ create_time: "建立時間",
end_time: "完成時間",
due_time: "到期時間",
order_time: "下單時間",
order_date: "下單日期",
choose_product: "選擇產品",
choose_shop: "選擇商品",
- help_document: "幫助文檔",
- please_search: "請搜索",
+ help_document: "說明文件",
+ please_search: "請搜尋",
host_active_product_num: "有效產品數量",
- search_placeholder: "請輸入你需要搜索的內容",
- user_tip: "手機號和郵箱任選一個",
+ search_placeholder: "請輸入你需要搜尋的內容",
+ user_tip: "手機號碼與信箱任一個",
password_tip: "兩次密碼不一致",
- email_tip: "郵箱格式錯誤",
+ email_tip: "郵件信箱格式錯誤",
phone_code: "區號",
- admin: "管理員",
+ admin: "管理者",
manage: "管理",
template_title: "模板標題",
- phone: "手機號",
+ phone: "手機號碼",
nickname: "名稱",
- interface_group_name: "接口分組名稱",
- acount: "賬號",
+ interface_group_name: "介面分組名稱",
+ acount: "帳號",
title: "標題",
required: "必填",
group: "分組",
@@ -59,8 +59,8 @@ const lang_obj = {
select_text: "選擇",
delete: "刪除",
test: "測試",
- hold: "保存",
- apply_nav: "應用導航",
+ hold: "儲存",
+ apply_nav: "應用程式導航",
add_page: "新增頁面",
close: "關閉",
country: "國家",
@@ -70,16 +70,17 @@ const lang_obj = {
notes: "備註",
admin_notes: "管理員備註",
recovery: "恢復",
- Recharge: "充值",
- recharge: "充值訂單",
+ Recharge: "儲值",
+ recharge: "儲值訂單",
add_money: "增加餘額",
sub_money: "扣除餘額",
force_change: "強制變更",
- Applied: "應用至訂單",
+ Applied: "應用程式至訂單",
Overpayment: "超付",
Underpayment: "少付",
deduction: "扣費",
- credit: "餘額",
+ credit: "余額",
+ balance_pay: "余額支付",
money: "金額",
time: "時間",
description: "描述",
@@ -91,82 +92,82 @@ const lang_obj = {
isOpen: "是否啟用",
enable: "啟用",
deactivate: "停用",
- pay_way: "支付方式",
+ pay_way: "付款方式",
credit_pay: "信用額支付",
action_name: "動作名稱",
- sms_global_name: "國際短信接口",
- sms_global_template: "國際短信模板",
+ sms_global_name: "國際簡訊介面",
+ sms_global_template: "國際簡訊模板",
automation: "自動化",
automation_scripts: "自動化腳本",
automation_status: "自動化狀態",
automation_normal: "自動任務狀態正常",
automation_abnormal: "自動任務狀態異常",
- task_queue_commands: "任務隊列命令",
- task_queue_status: "任務隊列狀態",
- task_queue_normal: "任務隊列狀態正常",
- task_queue_abnormal: "任務隊列狀態異常",
+ task_queue_commands: "任務佇列命令",
+ task_queue_status: "任務佇列狀態",
+ task_queue_normal: "任務佇列狀態正常",
+ task_queue_abnormal: "任務佇列狀態異常",
automation_switch: "自動開關",
- module: "模塊",
- time_setting: "時間設置",
+ module: "模組",
+ time_setting: "時間設定",
task_execution_time: "定時任務執行時間",
financial: "財務",
auto_order: "工單",
- module_tasks: "模塊任務及通知",
+ module_tasks: "模組任務及通知",
host_active_num: "有效數量",
- other_info: "其他信息",
+ other_info: "其他資訊",
product_descript: "商品描述",
product_id: "產品#-產品ID",
register_time: "註冊時間",
change_time: "變更時間",
- login_time: "登錄時間",
- last_login_time: "上次登錄時間",
- last_login_ip: "上次登錄IP",
+ login_time: "登入時間",
+ last_login_time: "上次登入時間",
+ last_login_ip: "上次登入IP",
basic_info: "基礎資料",
personal: "個人資料",
financial_info: "餘額管理",
- product_info: "產品信息",
+ product_info: "產品資訊",
order_manage: "訂單管理",
- login_record: "登錄記錄",
+ login_record: "登入記錄",
change_log: "變更記錄",
change_money: "變更金額",
sureDelete: "確認刪除?",
sureUninstall: "確認卸載?",
sureInstall: "確認安裝?",
- sureDisable: "確認禁用?",
+ sureDisable: "確認停用?",
sure_Open: "確認啟用?",
sure_Close: "確認停用?",
sure_cancel: "確認關閉?",
modify_success: "修改成功",
update: "修改",
- add_success: "添加成功",
- add: "添加",
+ add_success: "新增成功",
+ add: "新增",
del_success: "刪除成功",
- login_suc: "登錄成功",
- login: "登錄",
- rember_acount: "記住賬號",
- financial_infos: "財務信息",
+ login_suc: "登入成功",
+ login: "登入",
+ rember_acount: "記住帳號",
+ financial_infos: "財務資訊",
/* menu */
- user_manage: "用戶管理",
+ user_manage: "使用者管理",
business_manage: "業務管理",
- user_list: "用戶列表",
- user_detail: "用戶詳情",
+ user_list: "使用者列表",
+ user_detail: "使用者詳情",
product_list: "商品列表",
goods_list: "產品列表",
- notice_interface: "通知接口",
- create_user: "新建用戶",
- create_order: "新建訂單",
+ notice_interface: "通知介面",
+ create_user: "新使用者",
+ create_order: "新訂單",
create_order_detail: "訂單詳情",
detail: "詳情",
- interface: "接口",
- interface_status: "接口狀態",
+ interface: "介面",
+ interface_status: "介面狀態",
total: "總計",
version: "版本",
author: "開發者",
- create_interface: "新建接口",
- edit_interface: "編輯接口",
- update_interface: "修改接口",
- interface_name: "接口名稱",
- module_type: "模塊類型",
+ create_interface: "新介面",
+ edit_interface: "編輯介面",
+ update_interface: "修改介面",
+ interface_name: "介面名稱",
+ module_type: "模組類型",
open_status: "啟用狀態",
create_product: "新建商品",
baidu_create: "新建百度商品",
@@ -174,23 +175,23 @@ const lang_obj = {
manage_agency: "管理可被代理商品",
delete_product: "刪除商品",
auto_setup: "付款後自動開通",
- auto_setup_tip: "付款後,系統將會自動調用接口開通,實現自動化開通",
- basic_info: "基礎信息",
+ auto_setup_tip: "付款後,系統將會自動呼叫介面開通,實現自動化開通",
+ basic_info: "基礎資訊",
delete_group: "刪除分組",
- support_direction: "支持方向",
+ support_direction: "支援方向",
product: "商品",
tailorism: "產品",
upgrade_to: "升級至",
- user: "用戶",
- look: "查看",
- search: "搜索",
+ user: "使用者",
+ look: "檢視",
+ search: "搜尋",
name: "姓名",
- username: "用戶名",
- contact: "聯繫方式",
- email: "郵箱",
+ username: "使用者名稱",
+ contact: "聯絡方式",
+ email: "信箱",
password: "密碼",
surePassword: "確認密碼",
- login_as_user: "以用戶登錄",
+ login_as_user: "以使用者登入",
please_enter_name: "請輸入姓名",
Unpaid: "未付款",
Paid: "已付款",
@@ -201,7 +202,7 @@ const lang_obj = {
Failed: "開通失敗",
failed: "失敗",
free: "免費",
- type: "類型",
+ type: "型別",
onetime: "一次性",
recurring_prepayment: "週期先付",
recurring_postpaid: "週期後付",
@@ -209,10 +210,10 @@ const lang_obj = {
renew_amount: "續費金額",
discount: "優惠碼",
billing_way: "計費方式",
- billing_cycle: "計費周期",
+ billing_cycle: "計費週期",
hour: "小時",
day: "天",
- delHostTips: "是否需要刪除所選產品,刪除後不可找回,刪除不會執行模塊動作",
+ delHostTips: "是否需要刪除所選產品,刪除後不可找回,刪除不會執行模組動作",
ontrial: "試用",
monthly: "月付",
quarterly: "季付",
@@ -236,10 +237,10 @@ const lang_obj = {
renew: "續費訂單",
upgrade: "升降級訂單",
combine: "合併訂單",
- credit_limit: "信用額訂單",
+ credit_limit: "信用訂單",
order_type: "訂單類型",
Artificial: "人工",
- artificial: "人工訂單",
+ artificial: "手動訂單",
update_price: "調整價格",
new_flow: "新增流水",
update_flow: "編輯流水",
@@ -256,21 +257,21 @@ const lang_obj = {
deleteOrder: "刪除訂單",
deleteOrderTip1: "同時刪除訂單所有產品",
deleteOrderTip2:
- "若刪除產品,將不會執行模塊刪除任務,可能會導致產品失控,請謹慎操作",
+ "若刪除產品,將不會執行模組刪除任務,可能會導致產品失控,請謹慎操作",
sign_pay: "標記支付",
order_amount: "訂單金額",
renew_amount: "續費金額",
balance_paid: "可支付餘額",
active_num: "已開通數量",
- no_paid: "待支付餘額",
- create_group: "新建分組",
+ no_paid: "待繳餘額",
+ create_group: "新分組",
edit_group: "修改分組",
group_name: "分組名稱",
belong_group: "所屬分組",
first_group: "一級分組",
second_group: "二級分組",
product_name: "商品名稱",
- products_token: "產品標識",
+ products_token: "產品識別",
products_name: "產品名稱",
products: "個商品",
product_group: "商品分組",
@@ -284,11 +285,11 @@ const lang_obj = {
money_cycle: "金額/週期",
use_credit: "優先扣除餘額",
open: "開啟",
- front_nav_manage: "前台導航管理",
- new_page: "新建頁面",
- page_type: "頁麵類型",
+ front_nav_manage: "前台導覽管理",
+ new_page: "新頁面",
+ page_type: "頁面類型",
close: "關閉",
- sms_notice: "短信通知",
+ sms_notice: "簡訊通知",
receiver: "接收方",
email_notice: "郵件通知",
email_name: "郵件名稱",
@@ -302,88 +303,88 @@ const lang_obj = {
product_notice: "商品開通通知",
open_notice: "開通中",
opened_notice: "已開通",
- sms_interface: "短信接口",
- home_sms_interface: "國內短信接口",
- email_interface: "郵件接口",
- sms_template: "短信模板",
- home_sms_template: "國內短信模板",
- email_temp: "郵件模板",
- email_temp_manage: "郵件模板管理",
- email_temp_notice: "郵件模板通知",
+ sms_interface: "簡訊介面",
+ home_sms_interface: "國內簡訊介面",
+ email_interface: "郵件介面",
+ sms_template: "簡訊模板",
+ home_sms_template: "國內簡訊模板",
+ email_temp: "郵件範本",
+ email_temp_manage: "郵件範本管理",
+ email_temp_notice: "郵件範本通知",
negative_lower_tip: "阿里餘額為負通知",
- negative_add_lower_tip: "阿里餘額負數增長通知",
- tel_temp_notice: "短信模板通知",
+ negative_add_lower_tip: "阿里餘額負數成長通知",
+ tel_temp_notice: "簡訊範本通知",
template: "模板",
- template_type: "模塊類型",
+ template_type: "模組類型",
open_time: "開通時間",
cost: "費用",
retry: "重試",
cost_type: "費用類型",
free_type_tip:
"變更費用類型後,可能導致已配置商品價格顯示異常。是否確認變更?",
- free_type_tip1: "變更後請前往接口管理頁核對商品價格。",
+ free_type_tip1: "變更後請前往介面管理頁核對商品價格。",
choose_group: "選擇分組",
choose_template: "選擇模板",
- interface_manage: "接口管理",
- choose_interface: "選擇接口",
- choose_interface_type: "選擇接口類型",
+ interface_manage: "介面管理",
+ choose_interface: "選擇介面",
+ choose_interface_type: "選擇介面類型",
is_show_pro: "是否展示",
- show_pro_tip: "是否將商品展示在會員中心對應模塊的列表中",
- font_language: "前台網站默認語言",
+ show_pro_tip: "是否將商品顯示在會員中心對應模組的清單中",
+ font_language: "前台網站預設語言",
site_name: "網站名稱",
- domain: "網站域名地址",
- back_language: "後台網站默認語言",
+ domain: "網站網域地址",
+ back_language: "後台網站預設語言",
service_address: "服務條款地址",
- privacy_clause_address: "隱私條款地址",
+ privacy_clause_address: "隱私權條款地址",
system: "系統",
size: "尺寸",
logo_size: "大小",
width: "寬",
height: "高",
- isAllowChooseLan: "是否允許用戶選擇語言",
+ isAllowChooseLan: "是否允許使用者選擇語言",
maintenance_mode: "維護模式",
- system_setting: "系統設置",
- system_default_setting: "系統默認設置",
- login_setting: "登錄設置",
+ system_setting: "系統設定",
+ system_default_setting: "系統預設設定",
+ login_setting: "登入設定",
debug_setting: "Debug調試",
- debug_setting_tip: "用於系統供應商檢查軟件問題,開啟後,請將以下代碼發送至軟件供應商,他們將獲得管理員後台登錄權限",
+ debug_setting_tip: "用於系統供應商檢查軟體問題,開啟後,請將以下程式碼傳送至軟體供應商,他們將獲得管理員後台登入權限",
debug_setting_tip1: '調試模式將於',
debug_setting_tip2: '後自動關閉',
debug_minutes: '分鐘',
- theme_setting: "主題設置",
- system_upgrade: "系統信息",
+ theme_setting: "主題設定",
+ system_upgrade: "系統資訊",
member_center: "會員中心",
official_theme: "官網主題",
back_manage: "後台管理",
theme: "主題",
- maintenance_mode_info: "維護模式信息",
+ maintenance_mode_info: "維護模式資訊",
allow: "允許",
prohibit: "禁止",
- phone_login: "手機號登錄",
- email_login: "郵箱登錄",
- email_register: "郵箱註冊",
- support_register: "是否支持註冊?",
+ phone_login: "手機號碼登入",
+ email_login: "郵件信箱登入",
+ email_register: "信箱註冊",
+ support_register: "是否支援註冊?",
ip_check: "IP檢查",
- ip_check_home: "前台登錄是否檢查IP?",
- ip_check_admin: "後台登錄是否檢查IP?",
- support_no_password: "是否支持免密碼登錄?",
+ ip_check_home: "前台登入是否檢查IP?",
+ ip_check_admin: "後台登入是否檢查IP?",
+ support_no_password: "是否支援免密碼登入?",
yes: "是",
login_no: "否",
config: "配置",
- optional_config: "可選配置項",
- add_other_product: "添加商品",
+ optional_config: "可選設定項",
+ add_other_product: "新增商品",
disable: "禁用",
uninstall: "卸載",
install: "安裝",
not_install: "未安裝",
- safe_setting: "安全設置",
- captcha_setting: "驗證碼設置",
- captcha_manage: "驗證碼接口管理",
+ safe_setting: "安全設定",
+ captcha_setting: "驗證碼設定",
+ captcha_manage: "驗證碼介面管理",
enable_code: "啟用圖形驗證碼",
- user_register: "新用戶註冊",
- user_login: "用戶登錄",
- admin_login: "後台系統登錄",
- error_choose_code: "登錄失敗時選擇驗證碼",
+ user_register: "新使用者註冊",
+ user_login: "使用者登入",
+ admin_login: "後台系統登入",
+ error_choose_code: "登入失敗時選擇驗證碼",
open_number_code: "啟用數字驗證碼",
image_width: "圖形驗證碼寬度",
image_heigt: "圖形驗證碼高度",
@@ -392,26 +393,26 @@ const lang_obj = {
currency_setting: "貨幣配置",
currency_code: "貨幣代碼",
currency_prefix: "貨幣符號",
- currency_suffix: "貨幣後綴",
+ currency_suffix: "貨幣字尾",
currency_recharge: "貨幣充值",
- currency_tip: "單筆最大充值金額不能小於單筆最小充值金額",
- recharge_open: "是否啟用充值",
+ currency_tip: "單筆最大儲值金額不能小於單筆最小充值金額",
+ recharge_open: "是否啟用儲值",
recharge_min: "單筆最小金額",
recharge_max: "單筆最大金額",
get_more: "前往商店獲取更多",
small_group_name: "分組名稱",
small_group_tip: "分組說明",
- auth_manage: "權限分配",
+ auth_manage: "權限指派",
code: "驗證碼",
- admin_create_account: "超級管理員添加後台管理員",
+ admin_create_account: "超級管理員新增後台管理員",
admin_order_amount: "後台管理員調整訂單價格",
admin_order_pay: "後台管理員標記支付訂單",
- client_register: "用戶註冊",
- client_change_phone: "用戶更改手機",
- client_change_email: "用戶更改郵箱",
- client_change_password: "用戶更改密碼",
+ client_register: "使用者註冊",
+ client_change_phone: "使用者更改手機",
+ client_change_email: "使用者更改信箱",
+ client_change_password: "使用者更改密碼",
order_pay: "用戶支付",
- order_recharge: "用戶充值",
+ order_recharge: "使用者儲值",
order_overdue: "訂單未付款通知",
host_renewal_one: "第一次續費提醒",
host_renewal_two: "第二次續費提醒",
@@ -428,37 +429,37 @@ const lang_obj = {
no_pay: "未支付",
day_remind: "天提醒",
day_del: "天后,自動刪除",
- replied: "已回复",
- send: "發送",
+ replied: "已回覆",
+ 發送: "發送",
send_manage: "發送管理",
- group_user: "分組用戶",
+ group_user: "分組使用者",
group_tip: "分組說明",
- get_more_interface: "獲取更多接口",
+ get_more_interface: "取得更多介面",
template_manage: "模板管理",
- create_template: "創建模板",
+ create_template: "建立模板",
edit_template: "編輯模板",
- admin_setting: "管理員設置",
- group_setting: "管理員分組設置",
- apply_interface: "申請接口",
- include_interface: "包含接口",
+ admin_setting: "管理員設定",
+ group_setting: "管理者分組設定",
+ apply_interface: "申請介面",
+ include_interface: "包含介面",
international: "國際",
domestic: "國內",
back: "返回",
- upstream_info: "上游信息",
+ upstream_info: "上游訊息",
upstream_host_id: "上游產品ID",
more_plugins: "更多應用",
- sync_plugin: "同步應用",
- plug_name: "插件名稱",
+ sync_plugin: "同步應用程式",
+ plug_name: "外掛名稱",
isExpand: "展開/折疊",
isCheckAll: "全選/全不選",
no_submit: "未提交",
no_submit_review: "未提交審核",
under_review: "審核中",
- pass: "通過",
- pass_review: "通過審核",
+ pass: "透過",
+ pass_review: "透過審核",
fail: "未通過",
fail_review: "未通過審核",
- sms_test: "短信測試",
+ sms_test: "簡訊測試",
email_test: "郵件測試",
choose_area: "選擇區域",
always_show: "始終顯示",
@@ -468,27 +469,27 @@ const lang_obj = {
product_delete: "產品刪除",
promote: "推介",
promotion_results: "推廣成果",
- batch_submit: "批量提交",
+ batch_submit: "大量提交",
submit_success: "提交成功",
- sure_batch_submit: "確認批量提交所有模板?",
+ sure_batch_submit: "確認批次提交所有範本?",
tip1: "啟用驗證碼可以避免惡意批量評論或提交信息,推薦打開驗證碼功能。",
- tip2: "注意: 啟用驗證碼會使得部分操作變得繁瑣,建議僅在必需時打開",
- tip3: "選擇“失敗三次後顯示”將在用戶登錄失敗3 次後才顯示驗證碼,",
- tip4: "選擇“始終顯示”將始終在登錄時顯示驗證碼。",
- tip5: "注意: 只有在啟用了用戶登錄驗證碼時本設置才有效",
- tip6: "開啟後用戶可以在個人中心添加餘額至賬戶中",
- tip7: "地址中必須帶http或者https,非80必須帶端口",
+ tip2: "注意: 啟用驗證碼會使得部分操作變得繁瑣,建議僅在必需時開啟",
+ tip3: "選擇「失敗三次後顯示」將在使用者登入失敗3 次後才顯示驗證碼,",
+ tip4: "選擇「始終顯示」將始終在登入時顯示驗證碼。",
+ tip5: "注意: 只有在啟用了使用者登入驗證碼時才有效",
+ tip6: "開啟後使用者可在個人中心將餘額新增至帳戶",
+ tip7: "位址中必須帶http或https,非80必須帶連接埠",
tip8: "刪除分組前請移動商品至其他分組",
- tip9: "需重新登錄管理員後權限才生效",
- tip10: "未找到相關數據",
+ tip9: "需重新登入管理員後權限才生效",
+ tip10: "未找到相關資料",
tip11:
"注意!選擇後,註冊時需要發送驗證碼才能註冊,不選擇則不需要發送驗證碼。",
tip12: "天,自動暫停",
- tip13: "財務原因暫停,付款後自動解封",
+ tip13: "財務因素暫停,付款後自動解封",
tip14: "天,自動刪除",
tip15: "小時後,自動關閉",
- tip16: "每月一號自動發送推介成果報告",
- tip17: "你沒有權限訪問此頁面",
+ tip16: "每月一號自動發送推廣成果報告",
+ tip17: "你沒有權限存取此頁面",
tip18: "您可以通知管理員授予權限",
tip19: "暫無該權限",
verify1: "之間的數字",
@@ -498,10 +499,10 @@ const lang_obj = {
verify5: "請輸入大於0的數字,最多2位小數",
verify6: "開通時間不能晚於到期時間",
verify7: "請輸入大於或等於0的整數",
- verify8: "字符長度區間為",
+ verify8: "字元長度區間為",
verify9: "請輸入數字、字母",
verify10: "請輸入不為0的數字,最多2位小數",
- verify11: "請輸入正確的手機號",
+ verify11: "請輸入正確的手機號碼",
verify12: "請輸入大於等於0的金額,最多2位小數",
verify13: "庫存範圍",
verify14: "且不能為中文",
@@ -510,51 +511,51 @@ const lang_obj = {
verify17: "最多兩位小數",
verify18: "之間的整數",
verify19: "大於等於0的金額,最多2位小數",
- verify20: "請輸入正確的聯繫電話",
+ verify20: "請輸入正確的聯絡電話",
verify21: "請輸入字母、數字、-、_",
/* 工單*/
- user_work_order: "用戶工單",
+ user_work_order: "使用者工單",
work_list: "工單列表",
inside_work_order: "內部工單",
- order_ticket_num: "工單號",
+ order_ticket_num: "工單號碼",
order__configuration: "工單配置",
order_title: "工單標題",
- work_type: "內部工單類型",
+ work_type: "內部工單型別",
work_type_status: "內部工單狀態",
- order_user_people: "用戶(跟進人)",
- order_last_reply_time: "最近回复時間",
+ order_user_people: "使用者(跟進人)",
+ order_last_reply_time: "最近回覆時間",
order_name: "工單部門",
order_post_time: "提交時間",
order_poster: "提交人",
order_receiver: "接單人",
order_username: "客戶名稱",
- order_client: "關聯用戶",
+ order_client: "關聯使用者",
order_hosts: "關聯產品",
- order_status: "當前狀態",
+ order_status: "目前狀態",
order_pending: "待接單",
order_handling: "處理中",
order_resolved: "已解決",
order_closed: "已關閉",
- reply: "回复",
+ reply: "回覆",
receive: "接收",
- forward: "轉發",
+ forward: "轉送",
turn_inside: "轉內部",
- order_reply: "待回复",
- order_replied: "已回复",
+ order_reply: "待回覆",
+ order_replied: "已回覆",
order_new_close: "關閉",
order_ow_new_rder: "新建內部工單",
turn_order: "轉單",
order_new_rder: "新建工單",
order_text1: "查詢",
- order_text2: "關聯用戶",
+ order_text2: "關聯使用者",
order_text3: "新建工單",
order_text4: "工單部門",
order_text5: "工單類型",
order_text6: "工單標題",
order_text7: "工單標題",
- order_text8: "關聯用戶",
- order_text9: "用戶",
+ order_text8: "關聯使用者",
+ order_text9: "使用者",
order_text10: "關聯產品",
order_text11: "產品",
order_text12: "詳細描述",
@@ -562,32 +563,32 @@ const lang_obj = {
order_text14: "關閉",
order_text15: "工單標題",
order_text16: "工單類型",
- order_text17: "關聯用戶",
- order_text18: "用戶",
+ order_text17: "關聯使用者",
+ order_text18: "使用者",
order_text19: "提交時間",
- order_text20: "上次回复時間",
+ order_text20: "上次回覆時間",
order_text21: "日誌記錄",
order_text22: "關聯產品",
order_text23: "工單類型",
order_text24: "產品",
order_text25: "工單狀態",
order_text26: "溝通記錄",
- order_text27: "用戶",
+ order_text27: "使用者",
order_text28: "管理",
order_text29: "備註",
- order_text30: "添加備註",
- order_text31: "使用預設回复",
+ order_text30: "新增備註",
+ order_text31: "使用預設回覆",
order_text32: "確認",
order_text33: "取消",
order_text34: "發送",
order_text35: "返回",
order_text36: "提示",
- order_text37: "確認刪除該條消息?",
- order_text38: "預設回复彈窗",
+ order_text37: "確認刪除該條訊息?",
+ order_text38: "預設回應彈跳窗",
order_text39: "記錄詳情",
order_text40: "記錄時間",
- order_text41: "請先保存正在編輯的內容!",
- order_text42: "請選擇工單狀態後再保存!",
+ order_text41: "請先儲存正在編輯的內容!",
+ order_text42: "請選擇工單狀態後再儲存!",
order_text43: "未來",
order_text44: "年前",
order_text45: "月前",
@@ -603,11 +604,11 @@ const lang_obj = {
order_text55: "工單狀態",
order_text56: "工單完結狀態",
order_text57:
- " 待接單、用戶已回复、已回复、已關閉、處理中為默認狀態,無法修改",
- order_text78: " 待接單、待回复、已回复、已關閉為默認狀態,無法修改",
- order_text58: "預設回复",
- order_text59: "保存預設回复",
- order_text60: "您還未保存正在編輯的內容,是否保存?",
+ " 待接單、使用者已回覆、已回覆、已關閉、處理中為預設狀態,無法修改",
+ order_text78: " 待接單、待回覆、已回覆、已關閉為預設狀態,無法修改",
+ order_text58: "預設回覆",
+ order_text59: "儲存預設回覆",
+ order_text60: "您尚未儲存正在編輯的內容,是否儲存?",
order_text61: "保存",
order_text62: "不保存",
order_text63: "完結",
@@ -619,13 +620,13 @@ const lang_obj = {
order_text69: "工單狀態",
order_text70: "狀態顏色",
order_text71: "完結狀態",
- order_text72: "回复內容",
- order_text73: "默認狀態不可修改!",
- order_text74: "工單狀態名稱、工單狀態顏色、完結狀態是必填的!",
- order_text75: "默認狀態不可刪除!",
- order_text76: "請先保存正在編輯的回复!",
+ order_text72: "回覆內容",
+ order_text73: "預設狀態不可修改!",
+ order_text74: "工單狀態名稱、工單狀態顏色、結束狀態是必填的!",
+ order_text75: "預設狀態不可刪除!",
+ order_text76: "請先儲存正在編輯的回應!",
order_text77: "查看所有",
- order_text79: "意見反饋",
+ order_text79: "意見回饋",
order_text80: "內部工單編號、工單標題",
order_text81: "發起人",
order_text82: "跟進人",
@@ -635,8 +636,16 @@ const lang_obj = {
order_text85: "提交訂單",
order_text86: "價格",
order_text87: "選擇商品",
+
+
+
+
+
+
+
+
order_manage_order_type: "管理工單類型",
- order_type_mgt: "工單類型管理",
+ order_type_mgt: "工單型別管理",
order_turn_inside: "工單轉內部",
order_priority: "緊急程度",
order_priority_medium: "一般",
@@ -644,30 +653,30 @@ const lang_obj = {
order_designated_department: "轉交部門",
order_designated_person: "轉交人員",
order_designated_reson: "轉交備註",
- order_designated_type: "工單類型",
+ order_designated_type: "工單型別",
order_content: "問題描述",
order_attachment: "上傳附件",
order_view: "預覽",
attachment: "上傳",
order_forward: "轉工單",
order_index: "序號",
- order_type_name: "類型名稱",
- order_default_receive_department: "默認接收部門",
+ order_type_name: "型別名稱",
+ order_default_receive_department: "預設接收部門",
order_new: "新增",
- upload_same_name: "文件名稱相同,請勿重複上傳",
+ upload_same_name: "檔案名稱相同,請勿重複上傳",
upload_fail: "上傳失敗,請重試",
isRequired: "為必填",
order_detail: "工單詳情",
communication_records: "溝通記錄",
- order_current_status: "當前狀態",
+ order_current_status: "目前狀態",
order_type_verify1: "工單部門及處理人員不可為空",
- order_type_verify2: "請修改數據",
- order_type_verify3: "請保存正在編輯的數據",
- order_reply_verify: "請填寫回复內容",
+ order_type_verify2: "請修改資料",
+ order_type_verify3: "請儲存正在編輯的資料",
+ order_reply_verify: "請填入回覆內容",
please_search_order: "工單編號、工單標題",
please_search_order_type: "工單部門",
please_search_order_status: "工單狀態",
- please_search_order_user: "用戶",
+ please_search_order_user: "使用者",
please_search_order_admin: "跟進人",
please_search_order_time: "定時刷新時間",
add_ordertip: "新建內部工單",
@@ -676,7 +685,7 @@ const lang_obj = {
/* 退款*/
refund_commodit_management: "商品管理",
- refund_apply_list: "申請列表",
+ refund_apply_list: "申請清單",
discontinuation_reason_management: "停用原因管理",
why_management: "原因管理",
newly_increased: "新增",
@@ -692,11 +701,11 @@ const lang_obj = {
time_application: "申請時間",
deactivated_due: "到期停用",
stop_sing: "立即停用",
- end_null_message: "請填寫停用原因內容",
+ end_null_message: "請填入停用原因內容",
get_approved: "通過審核",
audit_refused_to: "審核拒絕",
canceled: "已取消",
- Cancelled: "已取消",
+ Cancelled: "取消",
review_the_rejected: "審核駁回",
rejectedts: "駁回投訴",
refunded: "已退款",
@@ -706,15 +715,15 @@ const lang_obj = {
to_audit: "待審核",
dismiss_the_reason: "駁回原因",
dismiss_the_reason_null: "駁回原因不能為空",
- custom_input: "客戶自定義輸入",
- refund_info: "退款信息",
+ custom_input: "客戶自訂輸入",
+ refund_info: "退款資訊",
refund_type: "退款類型",
refund_require: "退款要求",
refund_rule: "退款規則",
refund_amount: "退款金額",
refund_rule_day: "按天退款",
refund_rule_month: "按月退款",
- refund_rule_ratio: "按比例退款",
+ refund_rule_ratio: "比例退款",
refund_amount_yuan: "元",
first_order: "首次訂購",
first_order_same: "同類商品首次訂購",
@@ -730,136 +739,141 @@ const lang_obj = {
refund_check_input: "申請人",
reject_success: "駁回成功",
- /* 雲配置*/
+ /* 雲端配置*/
basic_config: "基礎配置",
- opt_system: "操作系統",
+ opt_system: "作業系統",
calc_model: "計算型號",
calc: "計算",
model_group: "型號分組",
sort: "排序",
- data_center: "數據中心",
- data_list: "數據列表",
+ data_center: "資料中心",
+ data_list: "資料列表",
country_name: "國家名稱",
country_code: "國家代碼",
city: "城市",
region: "地區",
area: "區域",
- bw_rules: "帶寬規則",
- bw_type: "帶寬類型",
- bw: "帶寬",
- in_bw: "進帶寬",
- independent_in_bw: "獨立進帶寬",
- bw_list: "帶寬列表",
- bw_type_manage: "帶寬類型管理",
+ bw_rules: "頻寬規則",
+ bw_type: "頻寬類型",
+ bw: "頻寬",
+ in_bw: "進頻寬",
+ independent_in_bw: "獨立進頻寬",
+ bw_list: "頻寬清單",
+ bw_type_manage: "頻寬類型管理",
cloud_flow: "流量",
in: "進",
out: "出",
cores: "核",
- computer_model: "計算機型號",
+ computer_model: "電腦型號",
in_out: "進+出",
- create: "創建",
- other_setting: "其他設置",
+ create: "建立",
+ other_setting: "其他設定",
free_num: "免費數量",
instance_price: "實例總價的",
attach: "附加",
parameter: "參數",
price: "價格",
- memory: "內存",
- disk: "硬盤",
+ memory: "記憶體",
+ disk: "硬碟",
+ disk1: "磁盤",
+ disk_capacity: '磁盤容量',
+ alone_disk: '獨立磁盤',
+ disk_price: "磁盤價格",
+ disk_type1: "磁盘類型",
show_describe: "顯示描述",
- server_param: "接口參數",
+ server_param: "介面參數",
sale_package: "銷售套餐",
package: "套餐",
- package_list: "套餐列表",
+ package_list: "方案清單",
other_param: "其他參數",
cycle: "週期",
- enable_backup_price: "啟用備份價格",
+ enable_backup_price: "啟用備援價格",
panel_price: "獨立面板價格",
snapshot_price: "快照價格",
- host_name_rules: "主機名規則",
+ host_name_rules: "主機名稱規則",
host_rules1: "日期+4位隨機",
- host_rules2: "8位隨機",
+ host_rules2: "8位元隨機",
host_rules3: "月日+4位隨機",
- image_group: "操作系統分組",
- apply_image: "應用鏡像",
- apply_image_list: "應用鏡像列表",
+ image_group: "作業系統分組",
+ apply_image: "應用程式鏡像",
+ apply_image_list: "套用鏡像清單",
area_name: "區域名稱",
show_name: "顯示名稱",
system_name: "系統名稱",
pay_system: "付費系統",
- icon: "圖標",
+ icon: "圖示",
duration: "時長(天)",
display_name: "顯示值",
model_scale: "計算型號比例",
- bw_scale: "帶寬比例",
+ bw_scale: "頻寬比例",
// 阿里後台
transfer_amount: "劃轉金額",
pay_amount: "支付金額",
- pay_time: "支付時間",
+ pay_time: "付款時間",
current_balance: "阿里餘額",
current_balance_manage: "阿里餘額管理",
thaw: "解凍",
frozen: "凍結",
normal: "正常",
- frozen_in: "已凍結",
+ frozen_in: "已結凍",
credit_check_cycle: "阿里餘額檢查週期(分鐘)",
credit_lower_tip: "阿里餘額過低提醒",
lower_than: "低於",
- account_deactivation: "賬戶凍結",
- account_activation: "賬戶解凍",
- recharge_commission: "充值手續費",
- exception_user: "例外用戶",
- account_status: "賬戶狀態",
+ account_deactivation: "帳戶凍結",
+ account_activation: "帳號解凍",
+ recharge_commission: "儲值手續費",
+ exception_user: "例外使用者",
+ account_status: "帳戶狀態",
resend: "重發",
- al_tip: "賬戶凍結金額不能大於賬戶解凍金額",
+ al_tip: "帳戶結凍金額不能大於帳戶解凍金額",
unregistered: "未註冊",
register_success: "註冊成功",
- al_config: "阿里api設置",
- default_access_key: "邀請註冊默認API",
- credit_check_cycle_day: "自動更新客戶郵箱週期(天)",
+ al_config: "阿里api設定",
+ default_access_key: "邀請註冊預設API",
+ credit_check_cycle_day: "自動更新客戶信箱週期(天)",
/* navigation */
- home_navigation: "前台導航管理",
- admin_navigation: "後台導航管理",
- create_page: "新建頁面",
+ home_navigation: "前台導覽管理",
+ admin_navigation: "後台導覽管理",
+ create_page: "新頁面",
target_page: "目標頁面",
- page_type: "頁麵類型",
+ page_type: "頁面類型",
system_page: "系統頁面",
associate_page: "關聯頁面",
plugin: "插件",
application: "應用",
select_page: "選擇頁面",
- custom: "自定義頁面",
- icon_code: "導航圖標代碼",
- navigate_name: "導航名稱",
+ custom: "自訂頁面",
+ icon_code: "導航圖示代碼",
+ navigate_name: "導覽名稱",
multilingual: "多語言",
- nav_text1: "自定義",
- nav_text2: "模塊",
- nav_text3: "上游模塊",
- nav_text4: "該導航存在二級子導航請清空後再嘗試",
+ nav_text1: "自訂",
+ nav_text2: "模組",
+ nav_text3: "上游模組",
+ nav_text4: "此導覽存在二級子導航請清空後再嘗試",
nav_text5: "該導航已經是二級導航了",
nav_text6: "該導航已經是一級導航了",
nav_text7: "url不能為空",
nav_text8: "請選擇頁面",
- nav_text9: "請選擇模塊類型",
- nav_text10: "請輸入導航名稱",
+ nav_text9: "請選擇模組類型",
+ nav_text10: "請輸入導覽名稱",
nav_text11: "你確定要刪除該項麼?",
nav_text12: "確定",
nav_text13: "取消",
nav_text14: "請輸入url",
- /* 磁盤配置*/
+ /* 磁碟配置*/
capacity_range: "容量範圍",
- disk_scale: "磁盤比例",
- disk_list: "磁盤列表",
+ disk_scale: "磁碟比例",
+ disk_list: "磁碟清單",
available_area: "可用區域",
min_precision: "最低精度",
- disk_package: "磁盤套餐",
+ disk_package: "磁碟方案",
size_min: "最小容量",
size_max: "最大容量",
- min_num: "帶寬最小值",
- max_num: "帶寬最大值",
- alone_bw: "獨立帶寬",
- single_max: "單個實例上限",
+ min_num: "頻寬最小值",
+ max_num: "頻寬最大值",
+ alone_bw: "獨立頻寬",
+ single_max: "單一實例上限",
to: "至",
bw_form: "從",
bw_to: "到",
@@ -870,14 +884,16 @@ const lang_obj = {
login_text: "業務管理系統",
// 提現
- applicat_list: "申請列表",
+ applicat_list: "申請清單",
withdrawal_manage: "提現管理",
- balance_withdrawal_settings: "餘額提現設置",
+ balance_withdrawal_settings: "餘額提現設定",
withdrawal_source: "提現來源",
requested_amount: "申請金額",
- received_amount: "到賬金額",
- withdrawal_setting: "提現設置",
+ received_amount: "到帳金額",
+ withdrawal_setting: "提現設定",
withdrawal_way: "提現方式",
+ withdrawal_switch: "提現開關",
+ withdrawal_switch_tip: "關閉後,會員中心將不會展示提現按鈕",
withdrawal_process: "提現流程",
reject: "駁回",
approved: "審核通過",
@@ -898,14 +914,14 @@ const lang_obj = {
withdrawable: "可提現",
sequence: "次數",
commission: "手續費",
- withdraw_fee_type: "手續費類型",
+ withdraw_fee_type: "手續費型別",
fixed: "固定",
percent: "百分比",
minimum: "最低",
according: "按照",
metacalculation: "元計算",
multiple: "多選",
- plugin_list: "插件列表",
+ plugin_list: "外掛程式清單",
rule_tip: "最大金額限制必須大於最小金額限制",
selected: "已選擇",
confirm_remittance: "確認已匯款",
@@ -913,93 +929,93 @@ const lang_obj = {
offline_payment: "線下支付",
copy: "複製",
success: "成功",
- addition: "添加人",
- add_time: "添加時間",
- custom_reason: "自定義",
- pay_tip: "注:確認後,將自動在後台增加交易流水",
+ addition: "新增人",
+ add_time: "新增時間",
+ custom_reason: "自訂",
+ pay_tip: "註:確認後,將自動在後台增加交易流水",
pay_tip1: "選擇人工,則提現申請需要審核",
pay_tip2: "選擇自動,則提現申請自動通過",
// 續費
renew: "續費",
- batch_renew: "批量續費",
- batch_dele: "批量刪除",
+ batch_renew: "大量續費",
+ batch_dele: "批次刪除",
subtotal: "小計",
mark_Paid: "標記已支付",
sure_renew: "確認續費",
- renew_tip: "該產品不支持續費",
+ renew_tip: "該產品不支援續費",
/* 通用雲*/
package_config: "套餐配置",
- data_center_config: "數據中心配置",
- system_config: "操作系統管理",
+ data_center_config: "資料中心配置",
+ system_config: "作業系統管理",
other_config: "其他配置",
goods_model: "商品模式",
- fixed_package: "固定套餐配置(推薦)",
- create_package: "新建套餐",
- ip_num: "IP地址數量",
- ip_num_config: "IP地址參數",
+ fixed_package: "固定套餐配置(建議)",
+ create_package: "新套餐",
+ ip_num: "IP位址數量",
+ ip_num_config: "IP位址參數",
new_create: "新建",
node: "節點",
node_group: "節點分組",
- cloud_config: "魔方雲配置",
+ cloud_config: "魔術方塊雲端配置",
month: "月",
quarter: "季度",
half_year_fee: "半年",
year_fee: "一年",
two_year: "兩年",
three_year: "三年",
- get_system: "拉取操作系統",
+ get_system: "拉取作業系統",
system_classify: "系統分類",
available: "是否可用",
- use_ssh: "使用SSH密鑰",
- buy_data_disk: "獨立數據盤訂購",
+ use_ssh: "使用SSH金鑰",
+ buy_data_disk: "獨立資料盤訂購",
backup_manage: "備份管理",
snap_manage: "快照管理",
min_size: "最低容量",
max_size: "最高容量",
- disk_max_size: "附加數據盤最大數量",
- storage: "存儲",
- storage_tip: "不輸入則自動分配存儲",
+ disk_max_size: "附加資料碟最大數量",
+ storage: "儲存",
+ storage_tip: "不輸入則自動指派儲存",
ssh_tip:
- "開啟後客戶也設置密碼或使用SSH密鑰,該功能需要SSH密鑰插件,請先確認插件是否購買並安裝",
+ "開啟後客戶也設定密碼或使用SSH金鑰,此功能需要SSH金鑰插件,請先確認插件是否已購買並安裝",
disk_tip:
"開啟後將在套餐配置基礎上,額外允許訂購附加數據盤,不會影響套餐內數據盤",
- backup_tip: "開啟後可在下單時購買備份功能,並付款後使用",
- snap_tip: "開啟後可在下單時購買快照功能,並付款後使用",
+ backup_tip: "開啟後可在下訂單時購買備份功能,並付款後使用",
+ snap_tip: "開啟後可在下訂單時購買快照功能,並付款後使用",
price_tip: "每10GB單價",
integer: "整數",
number: "數字",
core: "核心",
one: "個",
- system_disk_size: "系統盤",
- free_data_disk_size: "贈送數據盤",
- custom_param: "自定義參數",
+ system_disk_size: "系統磁碟",
+ free_data_disk_size: "贈送資料磁碟",
+ custom_param: "自訂參數",
detail_config: "詳細配置",
integer_multiple: "整數倍",
traffic_billing: "流量計費",
allow_back_num: "允許備份的數量",
- allow_snap_num: "允許生成的快照數量",
+ allow_snap_num: "允許產生的快照數量",
capacity_tip: "最高容量不能小於最低容量",
- data_tip: "多選後批量自動創建多個配置套餐",
- description_tip: "支持html輸入,用於訂購時展示描述",
+ data_tip: "多選後批次自動建立多個設定包",
+ description_tip: "支援html輸入,用於訂購時展示描述",
package_tip: "大於等於0的整數",
available_traffic: "可用流量",
natural_month: "自然月",
last_30days: "購買日一月",
- traffic_info: "流量信息",
+ traffic_info: "流量資訊",
charging: "計費",
- auto_fill_price: "自動填充價格",
+ auto_fill_price: "自動填入價格",
price_tip_force: "週期價格必填其中一個",
- cloud_tip: "請前往數據中心管理中添加數據中心後創建套餐",
+ cloud_tip: "請前往資料中心管理新增資料中心後建立套件",
cloud_tip1: "點擊後,根據月價格自動計算並覆蓋後續週期價格",
- cloud_tip2: "如需在訂購頁面顯示數據中心,請前往數據中心配置頁面創建數據中心",
- cloud_tip3: "您已創建數據中心,但未選擇數據中心,該套餐將無法在訂購頁顯示",
+ cloud_tip2: "如需在訂購頁面顯示資料中心,請前往資料中心設定頁面建立資料中心",
+ cloud_tip3: "您已建立資料中心,但未選擇資料中心,該套餐將無法在訂購頁面顯示",
cloud_tip4: "點擊後,根據首個週期價格自動計算並覆蓋後續週期價格",
// 實名認證
- real_name_approval: "實名審批",
- real_name_setting: "實名設置",
+ real_name_approval: "實名審核",
+ real_name_setting: "實名設定",
real_name: "實名名稱",
auth_type: "認證類型",
auth_way: "認證方式",
@@ -1009,17 +1025,17 @@ const lang_obj = {
personal_to_business: "個人轉企業",
certified: "已認證",
submitted: "已提交資料",
- id_card: "身份證",
+ id_card: "身分證",
mainland: "大陸",
no_mainland: "非大陸",
- certificate_no: "證件號",
+ certificate_no: "證件號碼",
personal_no: "企業信用代碼",
id_Photo_front: "證件照(正)",
id_Photo_back: "證件照(反)",
business_slicense: "營業執照",
auth_real_name: "實名認證",
manual_review: "人工複審",
- notice_user: "後台審批通過後,通知用戶",
+ notice_user: "後台審核通過後,通知使用者",
auto_update: "自動更新姓名",
upload_img: "上傳圖片",
phone_uniformity: "手機一致性",
@@ -1027,11 +1043,11 @@ const lang_obj = {
switch_open: "開",
switch_close: "關",
age_limit: "年齡限制",
- real_tip1: "若開啟,則第三方實名通過後,需要後台人工審批通過",
- real_tip2: "若開啟,則實名通過後,將自動更新姓名為實名",
+ real_tip1: "若開啟,則第三方實名通過後,需要後台人工審核通過",
+ real_tip2: "若開啟,實名通過後,將自動更新姓名為實名",
real_tip3: "若開啟,則提交資料時,需要上傳圖片",
- real_tip4: "若開啟,則用戶註冊手機號,將與實名手機號一致才可提交認證",
- real_tip5: "若開啟,未認證的用戶無法訂購產品",
+ real_tip4: "若開啟,則用戶註冊手機號,將與實名手機號碼一致才可提交認證",
+ real_tip5: "若開啟,未認證的使用者無法訂購產品",
real_tip6: "認證年齡低於",
real_tip7: "歲時,無法認證",
real_tip8: "未認證",
@@ -1043,26 +1059,26 @@ const lang_obj = {
// 通用配置
buy_page_des: "訂購頁面描述",
- default: "默認",
- custom_cycle: "自定義週期",
+ default: "預設",
+ custom_cycle: "自訂週期",
cycle_name: "週期名稱",
cycle_time: "週期時長",
- config_option: "配置選項",
+ config_option: "設定選項",
config_name: "配置名稱",
- add_cycle: "添加週期",
- add_config: "添加配置",
- custom_fields: "自定義字段",
- fields_name: "字段名稱",
+ add_cycle: "新增週期",
+ add_config: "新增配置",
+ custom_fields: "自訂欄位",
+ fields_name: "欄位名稱",
fields_type: "字段類型",
pro_qty: "商品購買數量",
- auto_support: "自動化支持",
- basic_setting: "基礎設置",
+ auto_support: "自動化支援",
+ basic_setting: "基礎設定",
configOption: {
select: "下拉選擇",
multi_select: "下拉多選",
radio: "點擊單選",
quantity: "數量輸入",
- quantity_range: "數量拖動",
+ quantity_range: "數量拖曳",
yes_no: "是否",
area: "區域",
},
@@ -1075,22 +1091,22 @@ const lang_obj = {
allow_repeat: "允許重複",
max_repeat: "最大允許重複數量",
stage: "階梯計費",
- cost_setting: "費用設置",
+ cost_setting: "費用設定",
step_range: "階梯範圍",
- qty_charging: "數量計費(當前區間價格*數量)",
+ qty_charging: "數量計費(目前區間價格*數量)",
com_tip1: "開啟後,下單時可加減購買商品的數量,最低為1,價格為數量的倍數",
- com_tip2: "開啟後,所有配置以及配置子項可填寫參數,有效參數會自動傳遞",
- com_tip3: "可不填,用於自動化時向後端接口傳遞的真實參數值",
- com_tip4: "以下費用為當前範圍的單價",
+ com_tip2: "開啟後,所有配置以及配置子項目可填入參數,有效參數會自動傳遞",
+ com_tip3: "可不填,用於自動化時傳遞給後端介面的真實參數值",
+ com_tip4: "以下費用為目前範圍的單價",
com_tip5:
- "支持html,將在產品配置頁面顯示,如不輸入則不顯示,可調用js實現參數調用的自定義限制和輸入",
- com_tip6: "一般設置為單位",
- com_tip7: "支持html輸入,在配置項下顯示描述",
+ "支援html,將在產品配置頁面顯示,如不輸入則不顯示,可呼叫js實現參數呼叫的自訂限制和輸入",
+ com_tip6: "一般設定為單位",
+ com_tip7: "支援html輸入,在設定項下顯示描述",
com_tip8: "將該選項設為子商品",
com_tip9: "請選擇子商品費用類型",
- config_tip: "添加後可根據不同配置收取不同的價格,不配置則只收取基礎費用",
+ config_tip: "新增後可依不同配置收取不同的價格,不配置則只收取基本費用",
custom_tip: "用於在訂購客戶輸入信息,進行收集,和費用無關",
- delete_tip: "注意:週期刪除後,所有配置項的周期也將刪除",
+ delete_tip: "注意:週期刪除後,所有配置項目的週期也會刪除",
sure_del_cycle: "確認刪除週期?",
money_ver: "金額不能大於99999999.99",
auth_version: "授權版本",
@@ -1105,8 +1121,8 @@ const lang_obj = {
qty_change: "變化數量",
qty_change_tip: "請輸入每次變化的最小數量",
- /* 用戶等級*/
- clinet_level: "用戶等級",
+ /* 使用者等級*/
+ clinet_level: "使用者等級",
representative_color: "代表色",
customer: "客戶",
product_preference: "產品優惠",
@@ -1115,22 +1131,22 @@ const lang_obj = {
baidu_price_num: "百度價格係數",
baidu_total: "總折扣",
- online_service: "在線客服漂浮彈窗源碼",
- online_service_tip: "請輸入在線客服漂浮彈窗源碼",
+ online_service: "線上客服漂浮彈窗原始碼",
+ online_service_tip: "請輸入線上客服漂浮彈窗原始碼",
/* 首頁*/
index_text1: "本年銷售額(元)",
index_text2: "環比",
- index_text3: "本月銷售額(元)",
+ index_text3: "本月銷售(元)",
index_text_0: "今日銷售額(元)",
- index_text4: "活躍用戶(人)",
+ index_text4: "活躍使用者(人)",
index_text5: "活躍率",
index_text6: "本年大客戶統計(元)",
- index_text7: "最近訪問用戶統計",
+ index_text7: "最近存取使用者統計",
index_text8: "序號",
- index_text9: "用戶名稱",
- index_text10: "訪問時間",
- index_text11: "當前在線管理員",
+ index_text9: "使用者名稱",
+ index_text10: "存取時間",
+ index_text11: "目前線上管理員",
index_text12: "序號",
index_text13: "管理員",
index_text14: "上次活動時間",
@@ -1140,30 +1156,34 @@ const lang_obj = {
upload_text2: "立即更新",
upload_text3: "安裝包已下載,立即升級",
upload_text4: "下載中",
- upload_text5: "當前版本",
- upload_text6: "公告信息",
+ upload_text5: "目前版本",
+ upload_text6: "公告訊息",
upload_text7: "識別碼",
upload_text8: "服務到期時間",
- upload_text9: "未登錄應用商店,無識別碼",
-
+ upload_text9: "未登入應用程式商店,無識別碼",
+ upload_text10: "更換識別碼",
+ upload_text11: "更新識別碼",
+ upload_text12: "域名信息",
+ upload_text13: "已綁定識別碼",
+ upload_text14: "新識別碼",
/* 新聞中心*/
classific_manage: "分類管理",
news_classific_manage: "新聞分類管理",
ad_classific_manage: "公告分類管理",
- batch_add: "批量新增",
+ batch_add: "批次新增",
news_title: "新聞標題",
ad_title: "公告標題",
news_classific: "分類",
news_classific_name: "分類名稱",
publish: "發布",
- publisher: "發佈人",
+ publisher: "發佈者",
release_time: "發佈時間",
show_none: "顯示/隱藏",
show_success: "顯示成功",
none_success: "隱藏成功",
modified_by: "修改人",
modified_time: "修改時間",
- please_save: "請先保存正在編輯的分類",
+ please_save: "請先儲存正在編輯的分類",
please_add_type: "請先新增分類!",
please_input_name: "請輸入分類名稱!",
keyword: "關鍵字",
@@ -1172,78 +1192,79 @@ const lang_obj = {
edit_ad: "編輯公告",
add_news: "新增新聞",
add_ad: "新增公告",
- scheduled_release: "定時發佈",
+ scheduled_release: "定時發布",
+
/* 幫助中心*/
- add_doc: "新增文檔",
- doc_name: "文檔名稱",
+ add_doc: "新增文件",
+ doc_name: "文件名稱",
home_manage: "首頁管理",
- doc_classific_manage: "文檔分類管理",
+ doc_classific_manage: "文件分類管理",
- /* 文件下載*/
+ /* 檔案下載*/
file_move: "移動",
- folder: "文件夾",
- all_files: "全部文件",
- add_folder: "新增文件夾",
- attachment_file: "上傳文件",
- file_name: "文件名稱",
- belong_file: "所在文件夾",
+ folder: "資料夾",
+ all_files: "全部檔案",
+ add_folder: "新增資料夾",
+ attachment_file: "上傳檔案",
+ file_name: "檔案名稱",
+ belong_file: "所在資料夾",
visible_range: "可見範圍",
appoint_product: "指定產品",
/* 發票管理*/
invoice_tab1: "發票管理",
invoice_tab2: "抬頭管理",
- invoice_tab3: "收件地址管理",
- invoice_tab4: "發票設置",
- invoice_tab5: "用戶(公司)",
+ invoice_tab3: "收件位址管理",
+ invoice_tab4: "發票設定",
+ invoice_tab5: "使用者(公司)",
invoice_tab6: "發票抬頭",
invoice_tab7: "發票金額",
invoice_tab8: "申請時間",
invoice_tab9: "狀態",
invoice_tab10: "操作",
- invoice_type1: "後開票",
- invoice_type2: "預開票",
+ invoice_type1: "後開立發票",
+ invoice_type2: "預開立發票",
invoice_status1: "待審核",
- invoice_status2: "待支付",
+ invoice_status2: "待付款",
invoice_status3: "待發出",
invoice_status4: "已發出",
invoice_status5: "已駁回",
invoice_status6: "作廢",
- invoice_text1: "用戶(公司)、抬頭",
- invoice_text2: "開票類型",
+ invoice_text1: "使用者(公司)、抬頭",
+ invoice_text2: "開立發票類型",
invoice_text3: "狀態",
- invoice_text4: "通過",
+ invoice_text4: "透過",
invoice_text5: "駁回",
invoice_text6: "發出",
invoice_text7: "詳情",
- invoice_text8: "請填寫駁回原因",
+ invoice_text8: "請填入駁回原因",
invoice_text9: "已駁回",
invoice_text10: "已通過",
invoice_text11: "增值稅專用發票",
invoice_text12: "增值稅普通發票",
invoice_text13: "公司",
invoice_text14: "個人",
- invoice_text15: "紙質發票",
+ invoice_text15: "紙本發票",
invoice_text16: "電子發票",
invoice_text17: "刪除",
invoice_text18: "稅率",
invoice_text19: "編輯",
- invoice_text20: "保存",
+ invoice_text20: "儲存",
invoice_text21: "取消",
- invoice_text22: "文件",
+ invoice_text22: "檔案",
invoice_text23: "上傳失敗",
invoice_text24: "審核備註",
- invoice_text25: "請填寫審核備註",
+ invoice_text25: "請填入審核備註",
invoice_text26: "上傳失敗",
invoice_text27: "您的系統已經是最新版本了,無需升級!",
- invoice_text28: "當前不存在升級下載任務",
+ invoice_text28: "目前不存在升級下載任務",
invoice_text29: "上傳失敗",
- invoice_text30: "彈窗源碼為必填項",
+ invoice_text30: "彈跳視窗原始碼為必填項",
invoice_title1: "確認駁回?",
invoice_title2: "確認通過?",
invoice_title3: "發票詳情",
- invoice_title4: "客戶信息",
+ invoice_title4: "客戶資訊",
invoice_title5: "商品",
invoice_title6: "金額",
invoice_title7: "稅率",
@@ -1251,49 +1272,49 @@ const lang_obj = {
invoice_title9: "快遞",
invoice_title10: "費用",
invoice_title11: "發出發票",
- invoice_title12: "收件信息",
+ invoice_title12: "收件訊息",
invoice_title13: "確認刪除",
- invoice_title14: "基礎設置",
+ invoice_title14: "基礎設定",
invoice_label1: "駁回原因",
invoice_label2: "發票類型",
- invoice_label3: "抬頭類型",
+ invoice_label3: "抬頭型",
invoice_label4: "發票抬頭",
invoice_label5: "收件類型",
invoice_label6: "收件地址",
invoice_label7: "快遞",
invoice_label8: "快遞單號",
invoice_label9: "快遞費用",
- invoice_label10: "用戶(公司)",
+ invoice_label10: "使用者(公司)",
invoice_label11: "公司地址",
- invoice_label12: "稅務登記號",
+ invoice_label12: "稅務登記號碼",
invoice_label13: "開戶行",
- invoice_label14: "開戶賬號",
- invoice_label15: "用戶(公司)",
+ invoice_label14: "開戶帳號",
+ invoice_label15: "使用者(公司)",
invoice_label16: "發票金額",
- invoice_label17: "郵箱地址",
+ invoice_label17: "郵件地址",
invoice_label18: "收件網址",
invoice_label19: "快遞",
invoice_label20: "快遞單號",
invoice_label21: "快遞單",
invoice_label22: "地址",
invoice_label23: "發票管理",
- invoice_label24: "預開票",
+ invoice_label24: "預先開立發票",
invoice_label25: "增值稅普通發票",
invoice_label26: "增值稅專用發票",
invoice_label27: "快遞名稱",
invoice_label28: "快遞價格",
invoice_label29: "收稅金額",
- invoice_tips1: "只能上傳jpg/png格式文件文件不能超過5Mb",
+ invoice_tips1: "只能上傳jpg/png格式檔案檔不能超過5Mb",
invoice_tips2: "請勾選需要刪除的抬頭!",
invoice_tips3: "若開啟,後台將接收新的發票申請",
invoice_tips4: "若關閉,後台不再接收新的發票申請",
- invoice_tips5: "若開啟,用戶可對未支付訂單進行發票申請",
- invoice_tips6: "若關閉,用戶不可對未支付訂單進行發票申請",
- invoice_tips7: "收稅金額:收取客戶的發票稅金,0%為默認含稅",
+ invoice_tips5: "若開啟,使用者可對未付款訂單進行發票申請",
+ invoice_tips6: "若關閉,使用者不可對未付款訂單進行發票申請",
+ invoice_tips7: "收稅金額:收取客戶的發票稅金,0%為預設含稅",
invoice_tips8: "請輸入快遞名稱!",
invoice_tips9: "請輸入快遞價格!",
- invoice_tips10: "請填寫快遞名稱",
- invoice_tips11: "請填寫快遞價格",
+ invoice_tips10: "請填入快遞名稱",
+ invoice_tips11: "請填入快遞價格",
invoice_tips12: "請選擇快遞",
invoice_tips13: "請輸入快遞單號",
invoice_tips14: "請上傳快遞單照片",
@@ -1301,7 +1322,7 @@ const lang_obj = {
invoice_btn1: "確定",
invoice_btn2: "關閉",
invoice_btn3: "確認發出",
- invoice_btn4: "批量刪除",
+ invoice_btn4: "批次刪除",
invoice_btn5: "保存",
invoice_btn6: "新增",
@@ -1310,11 +1331,11 @@ const lang_obj = {
coupon_code: "優惠代碼",
coupon_code_type: "優惠碼類型",
coupon_num: "數值",
- use_used: "已用/可用",
+ use_used: "已使用/可用",
use_time: "使用時間",
- use_cycle: "使用周期",
+ use_cycle: "使用週期",
close_time: "結束時間",
- current_state: "當前狀態",
+ current_state: "目前狀態",
fixed_amount: "固定金額減免",
deduction_amount: "減免金額",
cover_amount: "覆蓋金額",
@@ -1327,20 +1348,20 @@ const lang_obj = {
order_number: "訂單編號",
amount_of_money: "優惠前金額",
discount_amount: "優惠金額",
- order_number: "訂單號",
+ order_number: "訂單號碼",
order_random: "隨機生成",
assert_time: "生效時間",
deadline: "截止時間",
quick_select: "快速選擇時長",
max_times: "最大使用次數",
max_times_tip: "輸入0視為無限制",
- user_type_limit: "用戶類型限制",
+ user_type_limit: "使用者類型限制",
unlimited: "無限制",
no_product_users: "無產品用戶",
- has_product_users: "用戶必須存在激活中的產品",
+ has_product_users: "使用者必須存在啟動中的產品",
month_unit: "個月",
year: "年",
- single_user_once: "單用戶一次",
+ single_user_once: "單一使用者一次",
upgrade_discount: "升降級優惠",
host_upgrade: "升降級商品配置",
renew_discount: "續費優惠",
@@ -1357,26 +1378,26 @@ const lang_obj = {
promo_hour: "時",
minutes: "分",
seconds: "秒",
- promo_tip: "單個用戶該優惠碼只能使用一次",
- promo_tip1: "勾選後,該優惠碼可在升降級訂單中使用",
+ promo_tip: "單一使用者該優惠碼只能使用一次",
+ promo_tip1: "勾選後,此優惠碼可在升降級訂單中使用",
promo_tip2:
- "勾選後, 購買商品時使用該優惠碼後,優惠折扣的價格將會應用在商品的升級/降級訂單上,並無視例如最大使用次數,有限期等優惠碼限制。",
- promo_tip3: "勾選後,該優惠碼可在續費訂單中使用",
+ "勾選後, 購買商品時使用此優惠碼後,優惠折扣的價格將會應用在商品的升級/降級訂單上,並無視例如最大使用次數,有限期等優惠碼限制。",
+ promo_tip3: "勾選後,此優惠碼可在續費訂單中使用",
promo_tip4:
"勾選後,在訂購或續費使用該優惠碼後,後續的續費價格仍然應用優惠並無視例如最大使用次數,有限期等優惠碼限制。",
- promo_tip5: "用戶購買時選擇設定的周期才可使用",
+ promo_tip5: "使用者購買時選擇設定的週期才可使用",
promo_tip6: "折扣比例小於等於100",
- promo_tip7: "不選擇產品時,默認所有產品可使用該優惠碼",
+ promo_tip7: "不選擇產品時,預設所有產品可使用該優惠碼",
promo_tip8:
- "選擇產品後,用戶賬戶內需擁有該產品且為激活狀態,才可使用該優惠碼。不選擇產品時,無要求",
- promo_tip9: "9位包含大小寫字母和數字",
+ "選擇產品後,用戶帳號內需擁有該產品且為啟動狀態,才可使用該優惠碼。不選擇產品時,無要求",
+ promo_tip9: "9位元包含大小寫字母與數字",
promo_tip10: "截止時間不能早於生效時間",
- /* 推介計劃*/
- default_invalid_reply: "預設無效回复",
+ /* 推廣計劃*/
+ default_invalid_reply: "預設無效回覆",
promoter: "推介人",
reward_record: "獎勵記錄",
- recommend_config: "推介配置",
+ recommend_config: "推廣配置",
purchase_amount: "購買金額",
reward_proportion: "獎勵比例",
reward_money: "獎勵金額",
@@ -1385,52 +1406,52 @@ const lang_obj = {
confirming: "確認中",
invalid_promotion: "無效推介",
surplus_time: "剩餘確認時間",
- recommend_users: "推介用戶",
- promoted_users: "被推介用戶",
+ recommend_users: "推廣使用者",
+ promoted_users: "被推廣使用者",
invalid_reason: "無效原因",
- reply_content: "回复內容",
- save_preset_reply: "保存預設回复",
- recommend_awards: "推介獎勵存款",
+ reply_content: "回覆內容",
+ save_preset_reply: "儲存預設回覆",
+ recommend_awards: "推廣獎勵存款",
recommend_days: "確認推介天數",
- withdraw_min: "最低提現金額",
+ withdraw_min: "最低提現金金額",
withdraw_handling_fee: "提現手續費",
recommend_ratio: "推介獎勵比例",
- custom_page: "自定義推介頁面",
+ custom_page: "自訂推廣頁面",
min_pay_money: "最低支付金額",
- promoter_user: "推介人/用戶",
- recommend_tip: "設置開啟推介計劃的用戶,初始獎勵存款金額",
+ promoter_user: "推廣人/使用者",
+ recommend_tip: "設定開啟推廣計畫的用戶,初始獎勵存款金額",
recommend_tip1: "推介獎勵在確認後,才可進行提現",
- recommend_tip2: "可提現未達到最低金額時,無法提現",
+ recommend_tip2: "可提現未達最低金額時,無法提領",
recommend_tip3:
- "設置被推介用戶購買產品時,觸發推介獎勵的最低金額,按同一訂單相同產品合計金額計算",
- recommend_tip4: "輸入0視為即刻確認,默認為14天",
+ "設定被推廣用戶購買產品時,觸發推廣獎勵的最低金額,以相同訂單相同產品合計金額計算",
+ recommend_tip4: "輸入0視為即刻確認,預設為14天",
recommend_tip5: "輸入想要推介的會員中心頁面鏈接,一行為一個地址。",
- recommend_tip6: "請先選擇產品並保存",
+ recommend_tip6: "請先選擇產品並儲存",
recommend_tip7: "輸入0視為無提現手續費",
// 磐石銷售
- sale_text1: "銷售列表",
- sale_text2: "已綁定用戶",
- sale_text3: "添加",
- sale_text4: "請搜索用戶名、銷售姓名、銷售編號",
- sale_text5: "用戶名",
+ sale_text1: "銷售清單",
+ sale_text2: "已綁定使用者",
+ sale_text3: "新增",
+ sale_text4: "請搜尋使用者名稱、銷售姓名、銷售編號",
+ sale_text5: "使用者名稱",
sale_text6: "修改綁定銷售",
- sale_text7: "請選擇綁定的用戶",
+ sale_text7: "請選擇綁定的使用者",
sale_text8: "選擇銷售",
sale_text9: "請選擇綁定的銷售",
- sale_text10: "用戶名(公司)",
+ sale_text10: "使用者名稱(公司)",
sale_text11: "綁定銷售",
sale_text12: "銷售編號",
sale_text13: "綁定時間",
sale_text14: "請選擇銷售",
- sale_text15: "添加綁定銷售",
+ sale_text15: "新增綁定銷售",
sale_text16: "修改綁定銷售",
- sale_text17: "銷售列表",
- sale_text18: "請搜索訂單ID、用戶名、公司、銷售姓名",
+ sale_text17: "銷售清單",
+ sale_text18: "請搜尋訂單ID、使用者名稱、公司、銷售姓名",
sale_text19: "確認作廢訂單",
sale_text20: "作廢",
sale_text21: "訂單ID",
- sale_text22: "用戶名(公司)",
+ sale_text22: "使用者名稱(公司)",
sale_text23: "商品名稱",
sale_text24: "訂單金額",
sale_text25: "提成金額",
@@ -1441,20 +1462,20 @@ const lang_obj = {
sale_text30: "已確認",
sale_text31: "已作廢",
sale_text32: "變更銷售",
- sale_text33: "商品提成設置",
- sale_text34: "添加",
- sale_text35: "全局提成設置",
- sale_text36: "充值訂單提成",
- sale_text37: "大額訂單獎勵",
+ sale_text33: "商品提成設定",
+ sale_text34: "新增",
+ sale_text35: "全域提成設定",
+ sale_text36: "儲值訂單提成",
+ sale_text37: "大訂單獎勵",
sale_text38:
- "獎勵類型為階梯式獎勵,根據不同的範圍計算不用的費用,各個範圍對應的提成相加",
- sale_text39: "請注意,當前金額範圍不連續!",
+ "獎勵類型為階梯式獎勵,依不同的範圍計算不用的費用,各個範圍對應的提成相加",
+ sale_text39: "請注意,目前金額範圍不連續!",
sale_text40: "單月超出獎勵",
- sale_text41: "通知設置",
- sale_text42: "大額訂單通知",
+ sale_text41: "通知設定",
+ sale_text42: "大訂單通知",
sale_text43: "訂單金額(不少於)",
sale_text44: "時,發送通知",
- sale_text45: "其他設置",
+ sale_text45: "其他設定",
sale_text46: "銷售提成確認時長",
sale_text47: "天",
sale_text48: "保存",
@@ -1464,75 +1485,75 @@ const lang_obj = {
sale_text52: "請選擇提成模式",
sale_text53: "首購提成",
sale_text54: "續費提成",
- sale_text55: "复購提成",
+ sale_text55: "複購提成",
sale_text56: "請輸入提成",
sale_text57: "請選擇續費模式",
- sale_text58: "請選擇复購模式",
- sale_text59: "首次充值編輯",
+ sale_text58: "請選擇複購模式",
+ sale_text59: "首次儲值編輯",
sale_text60: "金額階梯",
sale_text61: "請輸入金額範圍",
sale_text62: "商品",
sale_text63: "首購提成",
sale_text64: "續費提成",
- sale_text65: "复購提成",
- sale_text66: "充值類型",
+ sale_text65: "複購提成",
+ sale_text66: "儲值類型",
sale_text67: "提成",
sale_text68: "金額範圍",
sale_text69: "提成",
sale_text70: "固定金額",
sale_text71: "百分比",
sale_text72: "請選擇商品",
- sale_text73: "添加商品提成",
- sale_text74: "添加獎勵",
+ sale_text73: "新增商品提成",
+ sale_text74: "新增獎勵",
sale_text75: "編輯獎勵",
sale_text76: "金額階梯不能為0!",
- sale_text77: "請填寫金額範圍!",
+ sale_text77: "請填入金額範圍!",
sale_text78: "最大最小區間不能一致!",
sale_text79: "最大金額不應大於最小金額!",
sale_text80: "編輯",
sale_text81: "編輯商品提成",
- sale_text82: "首次充值",
- sale_text83: "後續充值",
- sale_text84: "數據統計",
+ sale_text82: "首次儲值",
+ sale_text83: "後續儲值",
+ sale_text84: "資料統計",
sale_text85: "下拉選擇銷售姓名",
sale_text86: "今日提成",
sale_text87: "本月提成",
sale_text88: "總提成",
- sale_text89: "提成各項占比",
+ sale_text89: "提成各項佔比",
sale_text90: "銷售總額",
sale_text91: "本週",
sale_text92: "上週",
sale_text93: "本月",
sale_text94: "上月",
sale_text95: "本年",
- sale_text96: "用戶消費排行",
+ sale_text96: "使用者消費排行",
sale_text97: "銷售額",
sale_text98: "銷售提成",
sale_text99: "首購提成",
sale_text100: "續費提成",
- sale_text101: "复購提成",
+ sale_text101: "複購提成",
sale_text102: "其他提成",
sale_text103: "提成佔比",
- sale_text104: "銷售列表",
- sale_text105: "已綁定用戶",
- sale_text106: "添加",
- sale_text107: "請搜索管理員用戶名、銷售姓名",
- sale_text108: "選擇管理員",
+ sale_text104: "銷售清單",
+ sale_text105: "已綁定使用者",
+ sale_text106: "新增",
+ sale_text107: "請搜尋管理者使用者名稱、銷售姓名",
+ sale_text108: "選擇管理者",
sale_text109: "請選擇銷售管理員",
sale_text110: "銷售姓名",
sale_text111: "請輸入銷售姓名",
sale_text112: "銷售編號",
sale_text113: "請輸入銷售編號",
- sale_text114: "聯繫方式",
- sale_text115: "請輸入聯繫方式",
- sale_text116: "管理員用戶名",
+ sale_text114: "聯絡方式",
+ sale_text115: "請輸入聯絡人",
+ sale_text116: "管理者使用者名稱",
sale_text117: "銷售姓名",
sale_text118: "銷售編號",
- sale_text119: "請選擇管理員",
+ sale_text119: "請選擇管理者",
sale_text120: "請輸入銷售姓名",
sale_text121: "請輸入銷售編號",
sale_text122: "只能輸入數字",
- sale_text123: "添加銷售",
+ sale_text123: "新增銷售",
sale_text124: "編輯銷售",
sale_text125: "銷售提成的自動確認時長,未確認的提成不計算在銷售統計中",
sale_text126: "本年銷售詳情",
@@ -1545,29 +1566,29 @@ const lang_obj = {
// 安裝
install_text1: "歡迎",
install_text2: "環境檢查",
- install_text3: "配置數據庫",
- install_text4: "配置信息",
+ install_text3: "配置資料庫",
+ install_text4: "設定資訊",
install_text5: "安裝完成",
install_text6: "名稱",
install_text7: "建議",
install_text8: "當前",
- install_text9: "請輸入數據庫地址",
- install_text10: "50字符以內",
- install_text11: "請輸入數據庫名稱",
- install_text12: "請輸入用戶名",
+ install_text9: "請輸入資料庫位址",
+ install_text10: "50字元以內",
+ install_text11: "請輸入資料庫名稱",
+ install_text12: "請輸入使用者名稱",
install_text13: "請輸入密碼",
- install_text14: "請輸入數據庫端口",
- install_text15: "請輸入站點標題",
- install_text16: "請輸入管理員用戶名",
- install_text17: "請輸入管理員密碼",
- install_text18: "請輸入郵箱",
+ install_text14: "請輸入資料庫連接埠",
+ install_text15: "請輸入網站標題",
+ install_text16: "請輸入管理者使用者名稱",
+ install_text17: "請輸入管理者密碼",
+ install_text18: "請輸入信箱",
- // 用戶關懷
+ // 使用者關懷
to_be_executed: "待執行",
- push_status: "推送狀態",
+ push_status: "推播狀態",
notice_type: "通知形式",
in_station_mes: "站內信",
- client_sms: "短信",
+ client_sms: "簡訊",
client_email: "郵件",
choose_time: "選擇時間",
notice_content: "通知內容",
@@ -1578,39 +1599,39 @@ const lang_obj = {
care_week5: "星期五",
care_week6: "星期六",
care_week7: "星期日",
- client_care_label1: "推送主題",
- client_care_label2: "推送內容",
- client_care_label3: "發送周期",
+ client_care_label1: "推播主題",
+ client_care_label2: "推播內容",
+ client_care_label3: "發送週期",
client_care_label4: "失敗/週期應發",
client_care_label5: "推送開始時間",
- client_care_label6: "當前狀態",
+ client_care_label6: "目前狀態",
client_care_label7: "操作",
client_care_label8: "通知標題",
- client_care_label9: "短信接口",
- client_care_label10: "短信模板",
- client_care_label11: "郵件接口",
- client_care_label12: "郵件模板",
+ client_care_label9: "簡訊介面",
+ client_care_label10: "簡訊模板",
+ client_care_label11: "郵件介面",
+ client_care_label12: "郵件範本",
client_care_label13: "郵件標題",
client_care_label14: "郵件內容",
- client_care_label15: "推送周期",
+ client_care_label15: "推送週期",
client_care_label16: "推送時間範圍",
- client_care_label17: "郵箱",
- client_care_label18: "手機號",
+ client_care_label17: "信箱",
+ client_care_label18: "手機號碼",
client_care_label19: "每天一次",
client_care_label20: "每週一次",
client_care_label21: "每月一次",
- client_care_label22: "指定用戶",
+ client_care_label22: "指定使用者",
client_care_label23: "指定產品",
- client_care_label24: "指定接口",
- client_care_label25: "註冊時長",
- client_care_label26: "激活產品數量",
+ client_care_label24: "指定介面",
+ client_care_label25: "註冊時數",
+ client_care_label26: "啟動產品數量",
client_care_label27: "產品數量",
- client_care_label28: "上次登錄時間",
+ client_care_label28: "上次登入時間",
client_care_label29: "產品狀態",
client_care_label30: "產品購買時間",
client_care_label31: "產品刪除時間",
client_care_label32: "商品配置",
- client_care_label33: "商品接口",
+ client_care_label33: "商品介面",
client_care_label34: "大於等於",
client_care_label35: "小於",
client_care_label36: "已取消",
@@ -1622,22 +1643,22 @@ const lang_obj = {
client_care_label42: "開通失敗",
client_care_label43: "天",
client_care_label44: "日期",
- client_care_label45: "用戶",
- client_care_label46: "發送條數",
+ client_care_label45: "使用者",
+ client_care_label46: "傳送條數",
client_care_label47: "大陸",
client_care_label48: "國際",
client_care_label49: "返回",
- client_care_btn1: "新建推送",
+ client_care_btn1: "新推送",
client_care_btn2: "選擇",
client_care_btn3: "查看名單",
client_care_btn4: "保存",
client_care_btn5: "發送預覽",
client_care_btn6: "取消",
client_care_btn7: "關閉",
- client_care_placeholder1: "推送主題、關聯活動",
- client_care_title1: "基礎信息",
- client_care_title2: "推送目標",
- client_care_title3: "推送名單",
+ client_care_placeholder1: "推播主題、關聯活動",
+ client_care_title1: "基礎資訊",
+ client_care_title2: "推播目標",
+ client_care_title3: "推播名單",
client_care_title4: "發送預覽",
client_care_title5: "確認啟用",
client_care_title6: "確認停用",
@@ -1646,39 +1667,39 @@ const lang_obj = {
client_care_text2: "已停用",
client_care_text3: "天",
client_care_text4: "個",
- client_care_text5: "同用戶重複發送",
+ client_care_text5: "同使用者重複發送",
client_care_text6: "預計將發送",
- client_care_text7: "條推送,",
- client_care_message1: "請選擇短信接口或者郵件接口!",
- client_care_message2: "請選擇短信模板",
- client_care_message3: "請選擇郵件模板或輸入郵件標題",
- client_care_message4: "請輸入郵件標題或選擇郵件模板",
+ client_care_text7: "條推播,",
+ client_care_message1: "請選擇簡訊介面或郵件介面!",
+ client_care_message2: "請選擇簡訊範本",
+ client_care_message3: "請選擇郵件範本或輸入郵件標題",
+ client_care_message4: "請輸入郵件標題或選擇郵件範本",
client_care_message5: "請輸入郵件內容",
client_care_message6: "請選擇",
client_care_message7: "請輸入",
client_care_message8: "請輸入天數",
client_care_message9: "請輸入個數",
- client_care_message10: "請輸入郵箱",
- client_care_message11: "請輸入手機號",
- client_care_message12: "請輸入正確的手機號",
+ client_care_message10: "請輸入信箱",
+ client_care_message11: "請輸入手機號碼",
+ client_care_message12: "請輸入正確的手機號碼",
client_care_message13: "請輸入標題",
- client_care_message14: "請選擇推送周期",
- client_care_message15: "請選擇推送開始時間",
- client_care_message16: "請輸入正確的郵箱地址",
- client_care_message17: "推送時間",
+ client_care_message14: "請選擇推播週期",
+ client_care_message15: "請選擇推播開始時間",
+ client_care_message16: "請輸入正確的郵件地址",
+ client_care_message17: "推播時間",
client_care_message18: "日",
- // 自定義用戶詳情字段
- client_custom_label1: "用戶詳情自定義字段",
- client_custom_label2: "請在此自定義用戶詳情中可以輸入的信息",
- client_custom_label3: "新增字段",
+ // 自訂使用者詳情字段
+ client_custom_label1: "使用者詳情自訂欄位",
+ client_custom_label2: "請在此自訂使用者詳情中可以輸入的資訊",
+ client_custom_label3: "新增欄位",
client_custom_label4: "下拉",
client_custom_label5: "輸入",
- client_custom_label6: "當前字段可能存在數據,是否確認刪除?",
- client_custom_label7: "編輯字段",
- client_custom_label8: "新增字段",
+ client_custom_label6: "目前欄位可能存在資料,是否確認刪除?",
+ client_custom_label7: "編輯欄位",
+ client_custom_label8: "新增欄位",
client_custom_label9: "字段名稱",
- client_custom_label10: "字段類型",
+ client_custom_label10: "欄位類型",
client_custom_label11: "下拉值,值之間使用“,”間隔",
client_custom_label12: "下拉值",
client_custom_label13: "保存",
@@ -1687,28 +1708,28 @@ const lang_obj = {
client_custom_label16: "顯示狀態",
// finance_dcim_search
- finance_search_text1: "設置",
+ finance_search_text1: "設定",
finance_search_text2: "查詢記錄",
finance_search_text3: "資料查詢",
finance_search_text4: "立刻查詢",
finance_search_text5: "查詢結果",
finance_search_text6: "所屬客戶",
finance_search_text7: "手機",
- finance_search_text8: "郵箱",
+ finance_search_text8: "郵件信箱",
finance_search_text9: "QQ",
- finance_search_text10: "系統設置",
+ finance_search_text10: "系統設定",
finance_search_text11: "詳情",
finance_search_text12: "時間",
finance_search_text13: "查詢人",
finance_search_text14: "待開通",
- finance_search_text15: "已激活",
+ finance_search_text15: "已啟動",
finance_search_text16: "已暫停",
finance_search_text17: "被取消",
- finance_search_text18: "有欺詐",
+ finance_search_text18: "有詐欺",
finance_search_text19: "已完成",
finance_search_text20: "被刪除",
finance_search_text21: "開通失敗",
- finance_search_text22: "IP地址",
+ finance_search_text22: "IP位址",
finance_search_text23: "所有IP",
finance_search_text24: "狀態",
finance_search_text25: "開通時間",
@@ -1718,14 +1739,14 @@ const lang_obj = {
finance_search_text29: "無符合條件的結果!",
finance_search_text30: "管理員",
finance_search_text31: "每月次數",
- finance_search_text32: "當月已用",
+ finance_search_text32: "當月已使用",
finance_search_text33: "所屬銷售",
/* 代金券*/
voucher_code: "代金券碼",
voucher_type: "代金券類型",
voucher_cost: "代金券價值",
voucher_num: "代金券數量",
- voucher_use: "已使用/領取用戶",
+ voucher_use: "已使用/領取使用者",
voucher_repeat: "代金券碼重複",
public: "公開",
private: "私有",
@@ -1739,24 +1760,24 @@ const lang_obj = {
renew_use: "續費使用",
order_for_goods: "訂單包含產品",
min_use_amount: "最低使用金額",
- choose_all_users: "選擇系統中所有用戶",
- add_grant_user: "新增發放對象",
- voucher_tip: "8位包含大小寫字母和數字",
- voucher_tip1: "私有:僅可通過後台管理髮放獲得",
- voucher_tip2: "公開:可在前台直接領取",
- voucher_tip3: "單個用戶該代金券只能使用一次",
+ choose_all_users: "選擇系統中所有使用者",
+ add_grant_user: "新增發放物件",
+ voucher_tip: "8位元包含大小寫字母和數字",
+ voucher_tip1: "私有:僅可透過後台管理發放取得",
+ voucher_tip2: "公開:可直接在前台領取",
+ voucher_tip3: "單一使用者該代金券只能使用一次",
voucher_tip4: "勾選後,該代金券可在升降級訂單中使用",
voucher_tip5: "勾選後,該代金券可在續費訂單中使用",
voucher_tip6:
"選擇產品後,訂單中必須包含以下產品才可使用該代金券。不選擇產品時,無要求",
voucher_tip7:
- "選擇產品後,用戶賬戶內需擁有該產品且為激活狀態,才可使用該代金券。不選擇產品時,無要求",
- voucher_tip8: "已選擇系統中所有用戶",
+ "選擇產品後,用戶帳戶內需擁有該產品且為啟動狀態,才可使用該代金券。不選擇產品時,無要求",
+ voucher_tip8: "已選擇系統中所有使用者",
voucher_tip9: "若代金券數量不足,將順序發放給系統用戶,發完即止",
- /* 應用商店*/
+ /* 應用程式商店*/
application_type: "申請入駐類型",
- preset_reply: "預設回复",
+ preset_reply: "預設回覆",
apply_status: "申請狀態",
bond: "保證金",
change_bond: "修改保證金",
@@ -1766,39 +1787,39 @@ const lang_obj = {
disqualification: "取消入駐資格",
change_to_pass: "修改為通過",
change_to_reject: "修改為駁回",
- paid: "已繳納",
+ paid: "已繳交",
service_provider: "服務商",
- deposit_to_be_paid: "待繳納保證金",
- has_paid: "已繳納保證金",
+ deposit_to_be_paid: "待繳保證金",
+ has_paid: "已繳保證金",
passed: "已通過",
to_be_reviewed: "資料待審核",
rejected: "已駁回",
pet_name: "暱稱",
payway: "出售價格/方式",
- app_cloud: "魔方雲",
- app_finance: "魔方財務",
- app_list: "應用列表",
- app_name: "應用名稱",
- app_type: "應用類型",
- app_author: "應用作者",
- app_module: "應用模塊",
- app_mark: "應用標識",
- app_details: "應用詳情",
- app_file: "應用文件",
+ app_cloud: "魔術方塊",
+ app_finance: "魔術方塊財務",
+ app_list: "應用程式清單",
+ app_name: "應用程式名稱",
+ app_type: "套用類型",
+ app_author: "應用程式作者",
+ app_module: "應用程式模組",
+ app_mark: "應用程式識別",
+ app_details: "應用程式詳情",
+ app_file: "應用程式檔案",
app_start_day: "請選擇開始日期",
app_end_day: "請選擇結束日期",
service_details: "服務詳情",
- encryt_file: "加密文件",
+ encryt_file: "加密檔案",
developer: "作者",
- captcha_interface: "驗證碼接口",
- contact_qq: "聯繫QQ",
+ captcha_interface: "驗證碼介面",
+ contact_qq: "聯絡QQ",
app_web: "企業/個人網站",
update_time: "更新時間",
settle_type: "入駐類型",
settle_apply: "入駐申請",
update_apply: "變更資料申請",
canceled_settled: "已取消入駐",
- author_service_provider: "開發者和服務商",
+ author_service_provider: "開發者與服務商",
on_shelf: "已上架",
off_shelf: "已下架",
up_shelf: "上架",
@@ -1811,33 +1832,33 @@ const lang_obj = {
product_intro: "商品介紹",
product_comment: "商品評論",
version_des: "版本說明",
- certification: "實名接口",
- gateway: "支付接口",
+ certification: "實名介面",
+ gateway: "付款介面",
audit: "審核",
no_pass: "不通過",
- file: "文件",
+ file: "檔案",
service: "服務",
service_name: "服務名稱",
service_type: "服務類型",
- manual_upload: "人工上傳",
+ manual_upload: "手動上傳",
reencryp: "重新加密",
auto_encrypt: "自動加密",
audit_fail: "審核失敗",
audit_time: "審核時間",
audit_result: "審核結果",
- user_delete: "用戶刪除",
+ user_delete: "使用者刪除",
audit_records: "審核記錄",
trade_records: "交易記錄",
trade_number: "交易流水號",
buyer: "購買人",
buy_num: "購買量",
author_web: "作者網站",
- mailbox: "電子郵箱",
+ mailbox: "電子郵件",
concat_qq: "諮詢",
product_num: "商品數量",
- complaints_report: "投訴舉報",
+ complaints_report: "投訴檢舉",
store_manage: "商店管理",
- app_unpaid: "待支付",
+ app_unpaid: "待付",
app_paid: "已支付",
app_finish: "已完成",
app_refunding: "退款中",
@@ -1847,18 +1868,18 @@ const lang_obj = {
apply_app_refunding: "申請退款中",
app_inservice: "服務中",
app_wait: "等待服務",
- app_user: "購買用戶",
- hot_app: "熱門應用",
+ app_user: "購買使用者",
+ hot_app: "熱門應用程式",
total_sales: "總銷售額",
total_profit: "總利潤",
total_goods: "商品總數",
total_product: "產品總數",
- withdraw_money: "可提現金額",
- withdrawed_money: "已提現金額",
+ withdraw_money: "可提現金金額",
+ withdrawed_money: "已提現金金額",
free_money: "已收取提現手續費",
buy_product: "購買商品",
product_type: "商品類型",
- concat_domain: "關聯域名",
+ concat_domain: "關聯網域名稱",
agree_refund: "同意退款",
reject_refund: "拒絕退款",
close_order: "關閉訂單",
@@ -1879,58 +1900,58 @@ const lang_obj = {
no_lock: "未鎖定",
lock_off: "解除鎖定",
is_lock: "是否鎖定",
- choose_app: "選擇應用",
- terms_entry_url: "入駐條款地址",
- summary_info: "摘要信息",
- app_manage: "應用管理",
+ choose_app: "選擇應用程式",
+ terms_entry_url: "入駐條款位址",
+ summary_info: "摘要資訊",
+ app_manage: "應用程式管理",
service_manage: "服務管理",
- report_manage: "舉報管理",
+ report_manage: "檢舉管理",
sales_records: "銷售記錄",
buy_user: "買方",
- bill_no: "賬單號",
+ bill_no: "帳單號碼",
comment: "評論",
withdrawal_date: "提現日期",
withdrawal_money: "提現金額",
withdrawal_way: "提現方式",
- store_info: "商店信息",
+ store_info: "商店資訊",
store: "商店",
store_top: "商店頭部",
store_brief: "商店簡介",
cancel_reason: "取消理由",
belong_type: "所屬分類",
- cur_version: "當前版本",
+ cur_version: "目前版本",
sales: "銷售",
attestation: "認證",
- click_upload: "點擊上傳",
+ click_upload: "點選上傳",
business_system: "業務系統",
- upload_tip: "支持批量上傳,上傳格式為jpg、jpeg、png",
+ upload_tip: "支援批次上傳,上傳格式為jpg、jpeg、png",
upload_tip1:
- "支持批量上傳,尺寸為920px*240px,支持上傳格式包括:jpg、jpeg、png。",
+ "支援批次上傳,尺寸為920px*240px,支援上傳格式包含:jpg、jpeg、png。",
app_tip1: "不輸入時,視為無須保證金即可上傳應用",
- app_tip2: "系統默認保證金為",
+ app_tip2: "系統預設保證金為",
app_tip3:
- "在投訴內容中,自動生成一條回复記錄:您的投訴已被駁回然後將投訴狀態變為“處理完成”",
- app_tip4: "請輸入搜索ID、用戶名稱、郵箱、手機號、商品名稱",
+ "在投訴內容中,自動產生回覆記錄:您的投訴已被駁回然後將投訴狀態變為「處理完成」",
+ app_tip4: "請輸入搜尋ID、使用者名稱、信箱、手機號碼、商品名稱",
wait_confirm: "待確認收貨",
surplus_days: "剩餘自動收貨天數",
- oauth: "第三方登錄",
+ oauth: "第三方登入",
look_detail: "查看明細",
app_total: "合計",
year_sale_count: "年度銷售統計",
- month_sale_count: "月度銷售統計",
+ month_sale_count: "每月銷售統計",
all_type: "全部分類",
show_time_range: '展示時間範圍',
- // 兼容版本
- compatible_version: "兼容版本",
- compatible_version_tip: "及以上",
+ // 相容版本
+ compatible_version: "相容版本",
+ compatible_version_tip: "以上",
/* 極雲*/
base_manage: "基礎管理",
team_member: "團隊與成員",
- notice_setting: "通知設置",
+ notice_setting: "通知設定",
exceed: "超過",
- field_setting: "字段選項設置",
- oreder_viewer: "訂單指定查看人",
+ field_setting: "字段選項設定",
+ oreder_viewer: "訂單指定檢視人",
clue_assign_notice: "線索分配通知",
clue_no_follow: "線索持續未跟進通知",
return_pool_notice: "線索回歸公海通知",
@@ -1940,12 +1961,12 @@ const lang_obj = {
business: "商務",
options: "選項",
clue: "線索",
- clue_info: "線索信息",
- concat_info: "聯繫人信息",
- concat_name: "聯繫人名稱",
- contact_address: "聯繫地址",
+ clue_info: "線索資訊",
+ concat_info: "聯絡人資訊",
+ concat_name: "聯絡人名稱",
+ contact_address: "聯絡地址",
source: "來源",
- create_team: "創建團隊",
+ create_team: "建立團隊",
edit_team: "編輯團隊",
pre_sales: "售前",
clue_type: "線索類型",
@@ -1953,19 +1974,19 @@ const lang_obj = {
clue_nature: "線索性質",
clue_from: "線索來源",
business_level: "商務等級",
- business_rank: "商務級別",
+ business_rank: "商務等級",
follow_method: "跟進方式",
- not_assigned: "待分配",
+ not_assigned: "待指派",
auto_back: "自動回公",
give_up: "放棄",
j_rejected: "已拒絕",
distribute: "分配",
- batch_distribute: "批量分配",
- batch_import_clue: "批量導入線索",
+ batch_distribute: "批次分配",
+ batch_import_clue: "批次導入線索",
down_template: "下載模板",
- next_contact_time: "下次聯繫時間",
+ next_contact_time: "下次聯絡時間",
order_moment: "成單時間",
- pay_status: "支付狀態",
+ pay_status: "付款狀態",
intention: "意向度",
last_follow: "上次跟進",
next_follow: "下次跟進",
@@ -1979,7 +2000,7 @@ const lang_obj = {
ordered: "已成單",
follow_record: "跟進記錄",
exchange_record: "流轉記錄",
- customer_info: "客戶信息",
+ customer_info: "客戶資訊",
recently_order: "是否最近成單",
recently_order_time: "最近成單時間",
recently_order_num: "成單數量",
@@ -1987,13 +2008,13 @@ const lang_obj = {
clue_change_time: "線索流轉次數",
history_business: "歷史商務",
recent_follow_imes: "近期跟進次數",
- reassign: "重新分配",
+ reassign: "重新指派",
clue_template: "線索模板",
import_result: "導入結果",
- import_timeout: "導入超時",
+ import_timeout: "導入逾時",
import_success: "導入完成",
- down_result: "下載結果文件",
- import_tip: "正在導入,請勿刷新瀏覽器",
+ down_result: "下載結果檔",
+ import_tip: "正在匯入,請勿刷新瀏覽器",
strip: "條",
prev_business: "流轉前商務",
next_business: "流轉後商務",
@@ -2003,11 +2024,11 @@ const lang_obj = {
follow_time: "跟進時間",
expect_next_follow_time: "跟進時間",
wechat: "微信",
- batch_import_customers: "批量導入客戶",
+ batch_import_customers: "批次匯入客戶",
pre_is_join: "售前是否參與",
next_renew_time: "下次續費時間",
norenew: "待續費",
- data_export: "數據導出",
+ data_export: "資料導出",
sum_order_amount: "總成單金額",
demand_intention: "需求意向度",
business_type: "業務類型",
@@ -2020,67 +2041,67 @@ const lang_obj = {
j_high: "高",
j_very_high: "非常高",
j_tip1: "自動回歸公海天數",
- j_tip2: "超過設定天數商務未提交新的跟進記錄線索將回歸公海",
- j_tip3: "該用戶可以看到所有訂單",
- j_tip4: "商務收到新線索時將會收到短信通知",
+ j_tip2: "超過設定天數商務未提交新的後續記錄線索將回歸公海",
+ j_tip3: "該使用者可以看到所有訂單",
+ j_tip4: "商務收到新線索時將會收到簡訊通知",
j_tip5: "線索被自動或手動收回時,是否通知",
j_tip6: "線索超過x天沒有跟進,將會通知盡快跟進",
- j_tip7: "創建的線索歸屬於當前選中的團隊",
- j_tip8: "線索鎖定後,將不會因為跟進超時而回到公海",
- j_tip9: "放棄後客戶將回到公海,可被分配給其他商務跟進",
+ j_tip7: "建立的線索歸屬於目前選取的團隊",
+ j_tip8: "線索鎖定後,將不會因為跟進逾時而回到公海",
+ j_tip9: "放棄後客戶將回到公海,可分配給其他商務跟進",
j_tip10: "重新分配後,線索將由新分配的商務進行跟進",
- j_tip11: "週期續費到期前15天,將發送短信提示即將續費",
+ j_tip11: "週期續費到期前15天,將發送簡訊提示即將續費",
j_tip12: "請輸入備註,用於流轉記錄展示",
j_tip13: "已自動計算下次續費時間",
/* 授權管理*/
decrypt: "解密",
- auth_encryption: "加密數據",
- magic_dcim: "魔方DCIM",
- decrypt_web: "解密web信息",
+ auth_encryption: "加密資料",
+ magic_dcim: "魔術方塊DCIM",
+ decrypt_web: "解密web訊息",
decrypt_all: "解密全部",
auth_user: "使用人",
install_doc: "安裝說明",
user_guide: "使用指南",
guide_name: "指南名稱",
url_address: "URL地址",
- recommend_app: "推薦應用",
+ recommend_app: "推薦應用程式",
recommend_reason: "推薦理由",
auth_census: "授權統計",
version_census: "各版本統計",
recently_active: "近期活躍",
auth_num: "數量",
auth_all: "全部",
- auth_port: "端口",
+ auth_port: "連接埠",
auth_room: "機房",
auth_cycle1: "3天內",
auth_cycle2: "7天內",
auth_cycle3: "30天內",
auth_cycle4: "30天以上",
auth_cycle5: "90天以上",
- auth_tip1: "財務的安裝說明,支持HTML",
- auth_tip2: "DCIM的安裝說明,支持HTML",
+ auth_tip1: "財務的安裝說明,支援HTML",
+ auth_tip2: "DCIM的安裝說明,支援HTML",
auth_tip3: "DCIM的一鍵安裝腳本",
- auth_tip4: "雲的安裝說明,支持HTML",
- auth_tip5: "雲的一鍵安裝腳本",
- auth_tip6: "業務系統V10的安裝說明,支持HTML",
- auth_tip7: "正確的URL地址",
+ auth_tip4: "雲端的安裝說明,支援HTML",
+ auth_tip5: "雲端的一鍵安裝腳本",
+ auth_tip6: "業務系統V10的安裝說明,支援HTML",
+ auth_tip7: "正確的URL位址",
- // 房箱
- box_title1: "訂單列表",
+ // 屋箱
+ box_title1: "訂單清單",
box_title2: "基礎配置",
box_title3: "訂單狀態",
- box_title4: "支付日期",
- box_title5: "購買信息",
- box_title6: "快遞信息",
- box_title7: "配送信息",
- box_title8: "商品信息",
+ box_title4: "付款日期",
+ box_title5: "購買資訊",
+ box_title6: "快遞訊息",
+ box_title7: "配送資訊",
+ box_title8: "商品資訊",
box_title9: "房箱識別碼",
box_title10: "購買價格",
- box_title11: "購買用戶",
+ box_title11: "購買使用者",
box_title12: "下單時間",
- box_title13: "預計交付週期",
- box_title14: "配送信息",
+ box_title13: "預計交貨週期",
+ box_title14: "配送資訊",
box_title15: "狀態",
box_title16: "操作",
box_title17: "確認生產完成",
@@ -2098,8 +2119,8 @@ const lang_obj = {
box_title29: "重量",
box_title30: "短句說明",
box_title31: "完整說明",
- box_title32: "配置名稱",
- box_title33: "類型",
+ box_title32: "設定名稱",
+ box_title33: "型別",
box_title34: "價格",
box_title35: "成本價格",
box_title36: "重量",
@@ -2121,14 +2142,14 @@ const lang_obj = {
box_title52: "是否推薦",
box_text1: "總銷售額",
- box_text2: "已到賬金額",
- box_text3: "剩餘尾款金額",
+ box_text2: "已到帳金額",
+ box_text3: "剩餘尾額金額",
box_text4: "成本:",
box_text5: "利潤:",
box_text6: "週",
box_text7: "已生產",
box_text8:
- "購買房箱時按照設定長度為房箱設定由大寫字母和數據隨機組成的識別碼。識別碼具有唯一性",
+ "購買房箱時依照設定長度為房箱設定由大寫字母和資料隨機組成的識別碼。識別碼具有唯一性",
box_text9: "單",
box_text10: "週",
box_text11: "無",
@@ -2144,7 +2165,7 @@ const lang_obj = {
box_text21: "請輸入最小周期數",
box_text22: "請輸入最大周期數",
box_text23: "最大訂單數不能小於最小訂單數",
- box_text24: "最大周期數不能小於最小周期數",
+ box_text24: "最大週期數不能小於最小週期數",
box_text25: "已包含",
box_text26: "是否",
box_text27: "單選",
@@ -2156,17 +2177,17 @@ const lang_obj = {
box_text33: "文件",
box_text34: "上傳失敗",
- box_placeholder1: "請輸入商品信息",
- box_placeholder2: "請搜索購買用戶",
- box_placeholder3: "請輸入物流信息",
+ box_placeholder1: "請輸入商品資訊",
+ box_placeholder2: "請搜尋購買使用者",
+ box_placeholder3: "請輸入物流資訊",
box_placeholder4: "請輸入促銷方案",
- box_placeholder5: "請輸入html文本",
- box_placeholder6: "請輸入描述,支持html",
- box_placeholder7: "請輸入自定義代碼",
- box_placeholder8: "請輸入html文本",
+ box_placeholder5: "請輸入html文字",
+ box_placeholder6: "請輸入描述,支援html",
+ box_placeholder7: "請輸入自訂代碼",
+ box_placeholder8: "請輸入html文字",
box_placeholder9: "請輸入",
box_placeholder10: "請選擇",
- box_placeholder11: "請輸入配置名稱",
+ box_placeholder11: "請輸入設定名稱",
box_placeholder12: "請選擇類型",
box_placeholder13: "請輸入子項價格",
box_placeholder14: "請輸入顏色名稱",
@@ -2180,10 +2201,10 @@ const lang_obj = {
box_btn1: "查詢",
box_btn2: "新增週期",
box_btn3: "保存",
- box_btn4: "添加",
- box_btn5: "創建配置",
+ box_btn4: "新增",
+ box_btn5: "建立配置",
box_btn6: "新增顏色",
- box_btn7: "新增信息",
+ box_btn7: "新增資訊",
box_btn8: "新增子項",
box_btn9: "提交",
box_btn10: "返回",
@@ -2199,28 +2220,28 @@ const lang_obj = {
box_content9: "保存",
box_content10: "取消",
- box_label1: "預計交付週期",
- box_label2: "物流信息",
- box_label3: "協議",
+ box_label1: "預計交貨週期",
+ box_label2: "物流資訊",
+ box_label3: "協定",
box_label4: "房箱識別碼長度",
- box_label5: "第一筆付款金額設置",
+ box_label5: "第一筆付款金額設定",
box_label6: "小型房箱預期交付週期",
box_label7: "中型房箱預期交付週期",
box_label8: "大型房箱預期交付週期",
box_label9: "促銷時間",
box_label10: "促銷金額",
box_label11: "促銷方案",
- box_label12: "配置詳情",
+ box_label12: "設定詳情",
box_label13: "版本配置",
- box_label14: "彈窗管理",
+ box_label14: "彈跳窗管理",
box_label15: "生活設施配置",
box_label16: "電力系統配置",
box_label17: "顏色外觀選擇",
box_label18: "顏色配置",
box_label19: "車輛型號配置",
- box_label20: "車輛信息配置",
+ box_label20: "車輛資訊配置",
box_label21: "圖片配置",
- box_label22: "配置信息",
+ box_label22: "設定資訊",
box_label23: "配置名稱",
box_label24: "類型",
box_label25: "配置價格",
@@ -2230,18 +2251,18 @@ const lang_obj = {
box_label29: "可選版本",
box_label30: "已包含版本",
box_label31: "描述",
- box_label32: "自定義banner",
- box_label33: "配置圖標",
- box_label34: "子項列表",
+ box_label32: "自訂banner",
+ box_label33: "配置圖示",
+ box_label34: "子項清單",
box_label35: "子項重量",
box_label36: "子項價格",
box_label37: "是否推薦",
box_label38: "描述",
- box_label39: "自定義banner",
+ box_label39: "自訂banner",
box_header1: "交付商品",
- box_header2: "房箱彈窗",
- box_header3: "需要先保存配置,是否繼續?",
+ box_header2: "房箱彈跳窗",
+ box_header3: "需要先儲存配置,是否繼續?",
box_header4: "確認刪除?",
box_header5: "編輯子項",
box_header6: "新增子項",
@@ -2251,34 +2272,34 @@ const lang_obj = {
box_version3: "大型",
box_version4: "極客版",
box_version5: "玩家版",
- box_version6: "野奢版",
- box_message1: "請輸入周期",
- box_message2: "最大周期不能小於最小周期",
- box_message3: "請輸入物流信息",
+ box_version6: "野生奢版",
+ box_message1: "請輸入週期",
+ box_message2: "最大週期不能小於最小週期",
+ box_message3: "請輸入物流資訊",
box_message4: "請先確認或取消修改/新增",
- box_message5: "請至少添加一條小型房箱預期交付週期數據",
- box_message6: "請至少添加一條中型房箱預期交付週期數據",
- box_message7: "請至少添加一條大型房箱預期交付週期數據",
+ box_message5: "請至少新增一條小型房箱預期交付週期資料",
+ box_message6: "請至少新增一條中型房箱預期交付週期資料",
+ box_message7: "請至少新增一條大型房箱預期交付週期資料",
box_message8: "促銷日期截止時間應該大於開始時間",
box_message9: "請輸入房箱識別碼",
- box_message10: "請輸入協議",
+ box_message10: "請輸入協定",
box_message11: "請輸入顏色配置",
- box_status1: "待支付首付款",
+ box_status1: "待繳付款",
box_status2: "已下單",
box_status3: "生產中",
- box_status4: "待支付尾款",
+ box_status4: "待付尾款",
box_status5: "待交付",
box_status6: "已交付",
box_status7: "已取消",
- /* 自有軟件*/
- own_cn: "國內短信",
- own_global: "國際短信",
- own_cnpro: "營銷短信",
- own_type: "短信類型",
+ /* 自有軟體*/
+ own_cn: "國內簡訊",
+ own_global: "國際簡訊",
+ own_cnpro: "行銷簡訊",
+ own_type: "簡訊類型",
- /* 產品內頁模塊*/
+ /* 產品內頁模組*/
module_create: "開通",
overdue: "到期暫停",
overtraffic: "超流暫停",
@@ -2286,19 +2307,19 @@ const lang_obj = {
other: "其他",
suspend_reason: "暫停原因",
suspend_type: "暫停類型",
- module_tip: "變更產品狀態為“已刪除”",
+ module_tip: "變更產品狀態為「刪除」",
module_tip1: "確定開通該產品嗎?",
- module_tip2: "確定解除暫停該產品嗎?",
- module_tip3: "確定變更產品狀態為“已刪除”?",
- module_tip4: "確定暫停該產品嗎?",
+ module_tip2: "確定解除暫停產品嗎?",
+ module_tip3: "確定變更產品狀態為「已刪除」?",
+ module_tip4: "確定暫停產品嗎?",
upgrade_plugin: "升級",
refund_to_balance: "退款至餘額",
- refund_to_user: "退款至用戶",
- pas_change_tip: "密碼修改成功,請重新登錄",
+ refund_to_user: "退款至使用者",
+ pas_change_tip: "密碼修改成功,請重新登入",
// 1-30
- refund_record: "退款記錄",
+ refund_record: "退款紀錄",
refund_time: "退款時間",
initiate_refund: "發起退款",
refund_to: "退款至",
@@ -2306,68 +2327,69 @@ const lang_obj = {
balance_used: "已使用餘額",
deduct: "扣除",
order_tip1: "應用餘額至訂單",
- order_tip2: "從賬單扣除餘額",
- account_balance: "賬戶餘額",
+ order_tip2: "從帳單扣除餘額",
+ account_balance: "帳戶餘額",
capacity: "容量",
/* mf-cloud */
- mf_duration: "週期設置",
+ mf_duration: "週期設定",
mf_calc: "計算配置",
- mf_store: "存儲配置",
+ mf_store: "儲存配置",
mf_limit: "配置限制",
- mf_recommend: "推薦配置",
- mf_charge: "是否收費",
+ mf_recommend: "建議配置",
+ mf_charge: "是否要收費",
mf_enable: "是否可用",
- mf_icon: "系統圖標",
+ mf_icon: "系統圖示",
mf_way: "方式",
- net_type: "網絡類型",
+ net_type: "網路類型",
mf_radio: "單選",
mf_step: "階梯計費",
mf_total: "總量計費",
mf_cores: "核心數",
- normal_network: "經典網絡",
- vpc_network: "VPC網絡",
- allow_ssh: "是否允許使用SSH密鑰",
+ normal_network: "經典網路",
+ vpc_network: "VPC網路",
+ allow_ssh: "是否允許使用SSH金鑰",
support_public_ip: "是否允許公網IP",
- virtualization: "嵌套虛擬化",
- random_ssh: "隨機SSH端口",
- random_rules: "隨機主機名規則",
- host_prefix: "主機名前綴",
+ virtualization: "巢狀虛擬化",
+ random_ssh: "隨機SSH埠",
+ random_rules: "隨機主機名稱規則",
+ host_prefix: "主機名稱前綴",
enable_rules: "開通平衡規則",
- is_need_code1: "重製密碼時需要短信驗證",
- is_need_code2: "重裝系統時需要短信驗證",
+ is_need_code1: "重製密碼時需要簡訊驗證",
+ is_need_code2: "重裝系統時需要簡訊驗證",
cpu_config: "CPU配置",
- memory_config: "內存配置",
- price_config: "價格設置",
- advance_config: "高級配置",
- system_disk_config: "系統盤配置",
- data_disk: "數據盤",
- data_disk_config: "數據盤配置",
- disk_limit_enable: "性能限制",
- disk_limit_num: "數據盤新購數量限制",
+ memory_config: "記憶體配置",
+ price_config: "價格設定",
+ advance_config: "進階配置",
+ system_disk_config: "系統磁碟配置",
+ data_disk: "資料盤",
+ data_disk_config: "封包配置",
+ disk_limit_enable: "效能限制",
+ disk_limit_num: "資料碟新購數量限制",
disk_limit_tip: "請輸入1-16的整數",
- free_data_disk: "免費數據盤",
- free_data_tip: "請輸入免費數據盤容量",
- system_disk_nature: "系統盤性能",
- data_disk_nature: "數據盤性能",
+ free_data_disk: "免費資料碟",
+ free_data_tip: "請輸入免費資料盤容量",
+ system_disk_nature: "系統磁碟效能",
+ data_disk_nature: "資料盤效能",
+ disk_nature: "磁盤性能",
capacity_size: "容量大小",
random_read: "隨機讀",
random_write: "隨機寫",
read_iops: "IOPS讀",
write_iops: "IOPS寫",
- disk_type: "硬盤類型",
+ disk_type: "硬碟類型",
min_value: "最小值",
max_value: "最大值",
min_step: "最小變化值",
defence: "防禦峰值",
- inflow_bw: "流入帶寬",
- advanced_bw: "智能帶寬配置規則",
+ inflow_bw: "流入頻寬",
+ advanced_bw: "智慧頻寬配置規則",
line: "線路",
mf_des: "推薦描述",
- bw_limit: "帶寬限制",
- out_bw: "出站帶寬",
- in_bw: "進站帶寬",
+ bw_limit: "頻寬限制",
+ out_bw: "出站頻寬",
+ in_bw: "進站頻寬",
line_name: "線路名稱",
push_des: "推薦描述",
bw_price_config: "線路價格配置",
@@ -2376,71 +2398,103 @@ const lang_obj = {
traffic_type: "計費方向",
last_30days: "購買日循環",
limit: "限制",
- bw_line: "帶寬線路",
- min_cycle_price: "最小周期價格",
+ bw_line: "頻寬線路",
+ min_cycle_price: "最小週期價格",
country_area: "國家或地區",
- mf_bw: "帶寬計費",
+ mf_bw: "頻寬計費",
short_des: "簡短描述",
- memory_unit: "內存單位",
- link_clone: "鏈接創建",
- store_id: "存儲ID",
- nat_web: "NAT建站",
- niccard: "網卡驅動",
+ memory_unit: "記憶體單位",
+ link_clone: "連結建立",
+ store_id: "儲存ID",
+ nat_web: "NAT建置站",
+ niccard: "網路卡驅動",
cpu_model: "CPU模式",
agent_docking: "代理商對接",
resource_package: "資源包",
price_factor: "價格係數",
factor: "係數",
kvm_major: 'kvm專業版',
- kvm_light: 'kvm輕量版',
-
- mf_notes: "注:",
+ kvm_light: 'kvm輕量級版',
+ mf_area_config: '區域配置',
+ mf_area_tip: '若某壹區域沒有配置價格。則前臺不顯示對應區域',
+ mf_disk_tip: '請註意關聯區域是否為同壹區域,跨區域將導致磁盤關聯失敗',
+ mf_concat: '關聯商品區域',
+ mf_concat_tip: '請確保關聯商品的魔方雲配置ID,與IP的配置ID屬於同壹區域',
+ cycle_price: "周期價格",
+ cycle_ratio: "周期比例",
+ mf_ratio: "比例",
+ autofill: "自動填充",
+ mf_ratio_tip1: "請按照業務場景設置周期比例",
+ mf_ratio_tip2: "例如:周期「月」設為 1 ,周期「年」設為 10。則商品配置項中所有周期「月」的價格與「年」的價格比例為 1:10",
+ mf_ratio_tip3: "在配置中填寫某壹周期價格後,其他周期價格自動按比例填充",
+ mf_package_name: "套餐名稱",
+ mf_package_des: "套餐描述",
+ mf_only_package: "僅售賣套餐",
+ upgrade_range: "升降級範圍",
+ no_upgrade: "不可升降級",
+ all_package: "所有套餐",
+ package_info: "套餐信息",
+ network_config: "網絡配置",
+ mf_package_tip1: "開啟後,用戶只可訂購配置的套餐",
+ mf_package_tip2: "註意:套餐價格和配置項價格獨立,配置項的高級配置仍然生效",
+ mf_package_tip3: "1、計算、存儲、網絡配置可任意配置各項參數",
+ mf_package_tip4: "2、若計算配置中 2核 CPU限制 90,套餐中配置 2核 CPU同樣限制90。其他配置同理",
+ mf_package_tip5: "升降級範圍僅限同壹數據中心",
+ mf_package_tip6: "請確保可升降級的套餐中的系統盤容量保持壹致",
+ mf_package_tip7: "數據盤容量不能降級",
+
+ mf_notes: "註:",
mf_flow: "流量計費",
mf_rule1: "數量平均",
mf_rule2: "負載最低",
mf_rule3: "內存最低",
- mf_tip: "正在拉取新的操作系統",
- mf_tip1: `前綴必須包含字母、數字、“-”、“_”、"."中至少一種,且大小寫字母開頭`,
- mf_tip2: "主機名長度(包含前綴),範圍6-25位",
- mf_tip3: "智能CPU配置規則",
+ mf_tip: "正在拉取新的作業系統",
+ mf_tip1: `前綴必須包含字母、數字、「-」、「_」、"."中至少一種,且大小寫字母開頭`,
+ mf_tip2: "主機名稱長度(包含前綴),範圍6-25位元",
+ mf_tip3: "智慧型CPU配置規則",
mf_tip4: "CPU限制",
mf_tip5: "IPV6數量",
- mf_tip6: "1、內存存在多種配置方式,無法將存在數據的配置方式切換到其他",
+ mf_tip6: "1、記憶體存在多種配置方式,無法將存在資料的配置方式切換到其他",
mf_tip7:
- "2、階段計費計價規則:總價=每個區間價單價*區間數量相加,若區間之間存在斷層,斷層數量不會參與計算",
- mf_tip8: "3、總量計費計價規則:總價=當前區間價*數量",
+ "2.階段計費計價規則:總價=每個區間價單價*區間數量相加,若區間之間有斷層,斷層數量不會參與計算",
+ mf_tip8: "3、總量計費計價規則:總價=目前區間價*數量",
mf_tip9: "單G價格",
- mf_tip10: "注:1、系統盤或數據盤當存在多種硬盤類型時,需選擇訂購的硬盤類型",
- mf_tip11: "2、僅有一種硬盤類型時,系統將不展示類型並默認選擇僅有類型",
- mf_tip12: "請在左側選擇需要編輯的配置或新增配置",
- mf_tip13: "請添加帶寬規則",
- mf_tip14: "請添加流量規則",
- mf_tip15: "請輸入,支持HTML",
- mf_tip16: "CPU與內存限制",
- mf_tip17: "數據中心與計算限制",
- mf_tip18: "帶寬與計算限制",
+ mf_tip10: "註:1、系統磁碟或資料碟當有多種硬碟類型時,需選擇訂購的硬碟類型",
+ mf_tip11: "2、僅有一種硬碟類型時,系統將不展示類型並預設選擇僅有類型",
+ mf_tip12: "請在左側選擇需要編輯的設定或新增設定",
+ mf_tip13: "請新增頻寬規則",
+ mf_tip14: "請新增流量規則",
+ mf_tip15: "請輸入,支援HTML",
+ mf_tip16: "CPU與記憶體限制",
+ mf_tip17: "資料中心與計算限制",
+ mf_tip18: "頻寬與運算限制",
mf_tip19:
- "創建的配置禁止購買,下拉數據來源已配置的數據。範圍輸入不受已配置數據限制,包含在內的配置均被限制。請確保限制後仍存在可選配置。",
- mf_tip20: "僅在磁盤隨產品訂購時生效",
+ "建立的配置禁止購買,下拉資料來源已配置的資料。範圍輸入不受已配置資料限制,包含在內的配置均被限制。請確保限制後仍存在可選配置。",
+ mf_tip20: "僅在磁碟隨產品訂購時生效",
mf_tip21: "流量輸入0視為無限流量",
- mf_tip22: "3、window系統,系統盤容量需27G及以上,其他系統,容量需8G及以上",
+ mf_tip22: "3、window系統,系統盤容量需27G以上,其他系統,容量需8G以上",
mf_tip23: "請輸入15個字以內的描述",
- mf_tip24: "請添加公網IP價格配置",
- mf_tip25: "請在此添加允許客戶選擇的機型規格",
+ mf_tip24: "請新增公網IP價格配置",
+ mf_tip25: "請在此新增允許客戶選擇的機型規格",
mf_tip26: "單Mbps價格",
mf_tip27: "請輸入流量,輸入0視為無限流量",
- mf_tip28: "自然月:每月的最後一天清空流量",
+ mf_tip28: "自然月:每個月的最後一天清空流量",
mf_tip29:
"購買日循環:假如1月29日購買,以後每月的29日清空流量,2月沒有對應日期,則順延到3月1日清空流量,然後4月1日再清空",
mf_tip30:
"請注意,後續在配置週期價格時,所有周期均需填寫價格,若不填寫價格視為0",
mf_tip31: "可直接輸入NC,視為NO_CHANGE",
mf_tip32:
- "可按數量_分組id 分組輸入,示例:2_2,2_1。每組用逗號隔開,公網IP數量等於多組數量之和",
+ "可依數量_分組id 分組輸入,範例:2_2,2_1。每組以逗號隔開,公網IP數量等於多組數量之和",
mf_tip33: "單M價格",
- mf_tip34: "開啟後,用戶可在訂購選擇是否需要購買",
- mf_tip35: "容量用戶不可操作",
- mf_tip36: "免費數據盤也納入磁盤數量限制",
+ mf_tip34: "開啟後,使用者可在訂購選擇是否需要購買",
+ mf_tip35: "容量使用者不可操作",
+ mf_tip36: "免費資料碟也納入磁碟數量限制",
+ mf_tip37: "雲產品最大可被分配彈性IP數量",
+ mf_tip38: "單GB價格",
+ mf_tip39: "價格系數用於對所有配置的該周期價格同時進行折扣(包括周期價格)",
+ mf_tip40: "訂購是否顯示",
+ mf_tip41: "刪除套餐可能導致,已購買當前套餐的用戶續費和升降級出現問題,請確認是否刪除",
/* mf_dcim */
model_config: "型號配置",
@@ -2448,63 +2502,62 @@ const lang_obj = {
mf_cpu: "處理器",
sale_group: "銷售分組",
mf_cpu_param: "處理器參數",
- data_cpu_limit: "數據中心與型號限制",
+ data_cpu_limit: "資料中心與機型限制",
public_ip_config: "公網IP價格配置",
- server_model: "服務器型號",
- manual_resources: "手動資源",
+ server_model: "伺服器型號",
mf_p1: "例: AMD ThreadRipper 5995WX",
- mf_p2: "例: 64核心128線程(2. 7GHz)",
+ mf_p2: "例: 64核心128執行緒(2. 7GHz)",
mf_p3: "例: 256GB DDR3-ECC",
mf_p4: "例: 250GB SSD",
- mf_p5: "開啟後商品將不會通過介面開通商品,需要管理員手動分配資源",
+ mf_p5: "開啟後商品將不會透過介面開通商品,需要管理者手動分配資源",
/* 系統管理*/
- icp_info: "ICP信息",
- jump_link: "跳轉鏈接",
- copyright: "版權信息",
- telecom_value: "電信增值",
- feedback: "意見反饋",
+ icp_info: "ICP訊息",
+ jump_link: "跳躍連結",
+ copyright: "版權資訊",
+ telecom_value: "電信加值",
+ feedback: "意見回饋",
web_logo: "官網LOGO",
- feedback_detail: "反饋詳情",
- feedback_time: "反饋時間",
- feedback_type: "反饋類型",
+ feedback_detail: "回饋詳情",
+ feedback_time: "回饋時間",
+ feedback_type: "回饋類型",
guidance: "方案諮詢",
- info_config: "官網設置",
- type_manage: "類型管理",
+ info_config: "官網設定",
+ type_manage: "型別管理",
matter: "諮詢事項",
- contact_user: "聯繫人",
- contact_phone: "聯繫電話",
- contact_email: "聯繫郵箱",
+ contact_user: "聯絡人",
+ contact_phone: "聯絡電話",
+ contact_email: "聯絡信箱",
put_on_record: "公安網備",
enterprise_name: "企業名稱",
enterprise_telephone: "企業電話",
- enterprise_mailbox: "企業郵箱",
- cloud_product_link: "雲產品跳轉鏈接",
- dcim_product_link: "DCIM產品跳轉鏈接",
- online_customer_service_link: "在線客服鏈接",
+ enterprise_mailbox: "企業信箱",
+ cloud_product_link: "雲端產品跳轉連結",
+ dcim_product_link: "DCIM產品跳轉連結",
+ online_customer_service_link: "線上客服連結",
enterprise_qrcode: "企業二維碼",
- feed_link: "鏈接",
- friendly_link: "友情鏈接",
+ feed_link: "連結",
+ friendly_link: "友情連結",
honor: "榮譽資質",
partner: "合作夥伴",
picture: "圖片",
- feed_tip: "請輸入正確的鏈接地址",
+ feed_tip: "請輸入正確的連結位址",
- /* 個人資料-信息記錄*/
- info_records: "信息記錄",
+ /* 個人資料-資訊記錄*/
+ info_records: "資訊記錄",
add_records: "新增記錄",
- loading: "加載中...",
- no_more_data: "暫無更多數據",
- client_info: "信息",
+ loading: "載入中...",
+ no_more_data: "暫無更多資料",
+ client_info: "訊息",
- /* 統計信息*/
+ /* 統計資料*/
statistics: "統計",
renew_order: "續費訂單",
year_income: "年度收入統計",
product_income: "產品收入統計",
expect_income: "預計收入統計",
- month_income: "月度收入統計",
- month_income_report: "月度收入報告",
+ month_income: "月收入統計",
+ month_income_report: "每月收入報告",
month_order_income: "年度訂單統計",
amount_in: "收入",
amount_out: "支出",
@@ -2512,79 +2565,79 @@ const lang_obj = {
statistics_month: "月份",
total_income: "總收入",
expect_total_income: "預計總收入",
- new_signup_user: "新註冊用戶",
+ new_signup_user: "新註冊使用者",
new_customers: "新客戶",
income_forecast: "收入預測",
- units_sold: "銷量",
+ units_sold: "銷售",
income_tip: "年度收入報告",
- income_tip1: "此報告同時展示近3年數據,按月細分收入。",
+ income_tip1: "此報告同時顯示近3年數據,按月細分收入。",
income_tip2: "收入報告",
- income_tip3: "此報告顯示當前月份每日的收入",
+ income_tip3: "此報表顯示當月每日的收入",
income_tip4:
"該報告顯示了新客戶註冊、新訂單、續費訂單、升降級訂單的總數,並在圖表上將每一項與上一年進行了比較。",
income_tip5: "產品收入",
- income_tip6: "此報告按商品分組顯示當前月份所有商品的收入",
+ income_tip6: "此報表依商品分組顯示當月所有商品的收入",
income_tip7:
- "該報告顯示,如果所有激活的產品都在對應週期內續費時,預計未來三年每個月的預計收入",
+ "報告顯示,如果所有啟動的產品都在對應週期內續費時,預計未來三年每個月的預計收入",
- advanced_filter: "高級篩選",
+ advanced_filter: "進階篩選",
pack_up: "收起",
payment_cycle: "付款週期",
- product_select: "商品下拉優化",
- product_select_tip: "請選擇系統中產品信息詳情頁的商品下拉框的下拉樣式",
- examples: "示例",
- operational_services: "運營服務",
+ product_select: "商品下拉最佳化",
+ product_select_tip: "請選擇系統中產品資訊詳情頁的商品下拉方塊的下拉樣式",
+ examples: "範例",
+ operational_services: "營運服務",
- /* 電子合同*/
- contract: "合同",
- e_contract: "電子合同",
- contract_list: "合同列表",
- no_sign: "未簽訂",
+ /* 電子合約*/
+ contract: "合約",
+ e_contract: "電子合約",
+ contract_list: "合約清單",
+ no_sign: "未簽章",
review: "審核中",
complete: "已簽訂",
- contract_template_name: "合同模板名稱",
- download_contract: "下載電子合同",
+ contract_template_name: "合約範本名稱",
+ download_contract: "下載電子合約",
wait_mail: "等待郵寄",
- contract_status: "合同狀態",
- pay_time: "支付時間",
+ contract_status: "合約狀態",
+ pay_time: "付款時間",
fun_switch: "功能開關",
- day_limit: "合同申請時間限制",
+ day_limit: "合約申請時間限制",
my_unit: "我方單位名",
social_credit_code: "社會信用代碼",
- postcode: "郵政編碼",
+ postcode: "郵遞區號",
is_force_sign: "是否強制簽訂",
force_sign: "強制簽訂",
is_force: "強制",
not_force: "非強制",
nullify_reason: "作廢原因",
- fingerprint: "指紋信息",
+ fingerprint: "指紋訊息",
template_status: "模板狀態",
sign_day_out: "簽訂時限",
- contract_setting: "合同設置",
- contract_number_prefix: "合同編號前綴",
- contract_number_start: "合同起始編號",
+ contract_setting: "合約設定",
+ contract_number_prefix: "合約編號前綴",
+ contract_number_start: "合約起始編號",
suspend_product: "暫停產品",
- base_contract: "基礎合同",
- unable_access: "無法訪問產品內頁",
- contract_logo: "合同logo",
+ base_contract: "基礎合約",
+ unable_access: "無法存取產品內頁",
+ contract_logo: "合約logo",
company_chop: "公司印章",
- vars_name: "變量名稱",
- vars: "變量",
+ vars_name: "變數名稱",
+ vars: "變數",
mail: "郵寄",
wait_mail: "待郵寄",
mailed: "已郵寄",
courier_company: "快遞公司",
post_number: "快遞單號",
limit_day: "限制天數",
- recipient_name: "收件人姓名",
+ recipient_name: "收件者姓名",
mail_address: "郵寄地址",
- contract_tip: "關閉後無法簽訂新的合同",
- contract_tip1: "20位以內數字,系統自動遞增",
- contract_tip2: "僅上傳一張",
- contract_tip3: "請輸入正確的郵政編碼",
- contract_tip4: "產品開通後,需在設定時限內完成合同簽訂",
- contract_tip5: "逾期未簽訂操作",
+ contract_tip: "關閉後無法簽訂新的合約",
+ contract_tip1: "20位元以內數字,系統自動遞增",
+ contract_tip2: "只上傳一張",
+ contract_tip3: "請輸入正確的郵遞區號",
+ contract_tip4: "產品開通後,需在設定時限內完成合約簽訂",
+ contract_tip5: "逾期未簽訂作業",
contract_tip6:
"開啟後,所有客戶都需簽訂本合同,如果強制簽訂打開,會影響所有產品",
contract_tip7: "已存在基礎合同,無法開啟",
@@ -2593,16 +2646,16 @@ const lang_obj = {
product_cashback: "商品返現",
cashback: "返現",
cashback_type: "返現類型",
- cashback_money: "返現金額",
+ cashback_money: "返現金金額",
fixed_money: "固定金額",
period: "可返現期限",
after_purchase: "購買後",
within_days: "天內",
permanent: "永久",
product_cashback_tip:
- "此處設定係統中可以購買後可返現的商品,金額將返現到賬戶餘額",
+ "此處設定係統中可以購買後可返現的商品,金額將返現到帳戶餘額",
product_cashback_tip1: "0視為永久",
- product_cashback_tip2: "返現金額若超過購買金額,則按購買金額返現",
+ product_cashback_tip2: "返現金額若超過購買金額,則以購買金額返現",
/* 信用額*/
credit_records: "授信記錄",
@@ -2614,9 +2667,9 @@ const lang_obj = {
credit_active: "生效中",
credit_overdue: "已逾期",
remaining_amount: "剩餘額度",
- billing_date: "賬單日",
+ billing_date: "帳單日",
repayment_date: "還款日",
- credit_user: "授信用戶",
+ credit_user: "授信使用者",
purchase_history: "消費記錄",
credit_opt_record: "授信操作記錄",
credit_start_time: "授信開始日期",
@@ -2624,7 +2677,7 @@ const lang_obj = {
credit_opt1: "修改授信額度",
credit_opt2: "修改開始時限",
credit_opt3: "修改結束時限",
- credit_opt4: "修改賬單日",
+ credit_opt4: "修改帳單日",
credit_opt5: "修改還款日",
credit_opt6: "修改授信狀態",
opt_type: "操作類型",
@@ -2633,20 +2686,20 @@ const lang_obj = {
after_change: "變更後",
credit_tip: "還款提醒",
credit_tip1: "系統將在還款日前",
- credit_tip2: "天,對用戶進行還款提醒。",
- credit_tip3: "*若需多次提醒,請用“,”間隔輸入天數",
+ credit_tip2: "天,對使用者進行還款提醒。",
+ credit_tip3: "*若需多次提醒,請以「,」間隔輸入天數",
credit_tip4: "逾期提醒",
credit_tip5: "系統將在逾期",
- credit_tip6: "天后,對用戶發出逾期提醒。",
+ credit_tip6: "天后,對使用者發出逾期提醒。",
credit_tip7: "逾期操作",
credit_tip8: "天后,系統將暫停由信用額購買的產品。",
credit_tip9: "1~28的整數",
- /* 首頁挂件*/
- widget_manage: "挂件管理",
- widget_auth: "挂件權限",
+ /* 首頁掛檔*/
+ widget_manage: "掛件管理",
+ widget_auth: "掛件權限",
function_auth: "功能權限",
- home_widget: "首頁挂件",
+ home_widget: "首頁掛檔",
welcome: "歡迎您",
/* 流量包*/
@@ -2660,57 +2713,57 @@ const lang_obj = {
traffic_package: "流量包",
available_stock: "可用庫存",
- // 百度雲插件
+ // 百度雲端插件
baidu_plugin_text1: "名稱",
baidu_plugin_text2: "啟用",
baidu_plugin_text3: "關閉",
baidu_plugin_text4: "編輯",
baidu_plugin_text5: "產品名稱",
- baidu_plugin_text6: "產品標識",
+ baidu_plugin_text6: "產品識別",
baidu_plugin_text7: "價格係數",
baidu_plugin_text8: "價格係數,1-1000整數",
baidu_plugin_text9: "所屬分類",
baidu_plugin_text10: "一級分組",
baidu_plugin_text11: "二級分組",
- baidu_plugin_text12: "列表頁iframe地址",
+ baidu_plugin_text12: "列表頁iframe位址",
baidu_plugin_text13: "訂購頁iframe地址",
baidu_plugin_text14: "編輯產品",
- baidu_plugin_text15: "恢復默認",
+ baidu_plugin_text15: "恢復預設",
baidu_plugin_text16: "保存",
baidu_plugin_text17: "取消",
baidu_plugin_text18: "操作",
baidu_plugin_text19: "請輸入產品名稱",
- baidu_plugin_text20: "請輸入產品標識",
+ baidu_plugin_text20: "請輸入產品識別",
baidu_plugin_text21: "請輸入產品折扣",
baidu_plugin_text22: "請選擇一級分組",
baidu_plugin_text23: "請選擇二級分組",
- baidu_plugin_text24: "請輸入列表頁iframe地址",
+ baidu_plugin_text24: "請輸入清單頁iframe位址",
baidu_plugin_text25: "請輸入訂購頁iframe地址",
baidu_plugin_text26: "新增產品",
baidu_plugin_text27: "編輯產品",
baidu_plugin_text28: "新增產品",
- baidu_plugin_text29: "實名認證信息",
+ baidu_plugin_text29: "實名認證資訊",
baidu_plugin_text30: "已實名",
- baidu_plugin_text31: "百度智能雲子用戶ID",
- baidu_plugin_text32: "子賬戶",
+ baidu_plugin_text31: "百度智慧雲子用戶ID",
+ baidu_plugin_text32: "子帳號",
baidu_plugin_text33: "編輯",
- baidu_plugin_text34: "上次登錄時間",
+ baidu_plugin_text34: "上次登入時間",
baidu_plugin_text35: "未實名",
baidu_plugin_text36: "是否實名",
baidu_plugin_text37: "系統配置",
- baidu_plugin_text38: "運營管理",
+ baidu_plugin_text38: "營運管理",
baidu_plugin_text39: "虛商API",
baidu_plugin_text40: "請輸入",
baidu_plugin_text41: "保存",
- baidu_plugin_text42: "用戶管理",
- baidu_plugin_text43: "本地系統用戶",
- baidu_plugin_text44: "百度子賬戶",
+ baidu_plugin_text42: "使用者管理",
+ baidu_plugin_text43: "本機系統使用者",
+ baidu_plugin_text44: "百度子帳號",
baidu_plugin_text45: "檢查中",
- baidu_plugin_text46: "異常賬戶檢查",
+ baidu_plugin_text46: "異常帳號檢查",
baidu_plugin_text47: "查看檢查結果",
baidu_plugin_text48: "異常檢查結果",
baidu_plugin_text49: "僅在百度註冊",
- baidu_plugin_text50: "同步註冊至本地",
+ baidu_plugin_text50: "同步註冊至本機",
baidu_plugin_text51: "僅在本地註冊",
baidu_plugin_text52: "同步註冊至百度",
baidu_plugin_text53: "郵箱",
@@ -2723,9 +2776,9 @@ const lang_obj = {
baidu_plugin_text60: "本月營業額",
baidu_plugin_text61: "產品維護",
baidu_plugin_text62: "請輸入名稱",
- baidu_plugin_text63: "請輸入用戶ID搜索",
+ baidu_plugin_text63: "請輸入使用者ID搜尋",
baidu_plugin_text64: "選擇產品類型",
- baidu_plugin_text65: "請輸入實例ID搜索",
+ baidu_plugin_text65: "請輸入實例ID搜尋",
baidu_plugin_text66: "選擇產品區域",
baidu_plugin_text67: "選擇產品狀態",
baidu_plugin_text68: "後付費",
@@ -2742,69 +2795,69 @@ const lang_obj = {
baidu_plugin_text79: "實際生效折扣",
baidu_plugin_text80: "測試",
- // 文件下載
- file_download_text1: "請輸入文件名稱",
+ // 檔案下載
+ file_download_text1: "請輸入檔案名稱",
file_download_text2: "上傳",
file_download_text3: "移動",
file_download_text4: "刪除",
- file_download_text5: "請輸入你需要搜索的內容",
- file_download_text6: "文件夾",
+ file_download_text5: "請輸入你需要搜尋的內容",
+ file_download_text6: "資料夾",
file_download_text7: "新增分類",
- file_download_text8: "上傳文件",
+ file_download_text8: "上傳檔案",
file_download_text9: "上傳",
file_download_text10: "編輯",
- file_download_text11: "文件名稱",
- file_download_text12: "保存",
- file_download_text13: "所在文件夾",
+ file_download_text11: "檔案名稱",
+ file_download_text12: "儲存",
+ file_download_text13: "所在資料夾",
file_download_text14: "可見範圍",
file_download_text15: "指定產品",
file_download_text16: "提示",
file_download_text17: "確定要刪除嗎?",
file_download_text18: "移動",
- file_download_text19: "文件夾",
- file_download_text20: "文件名",
+ file_download_text19: "資料夾",
+ file_download_text20: "檔案名稱",
file_download_text21: "上傳人",
file_download_text22: "上傳日期",
file_download_text23: "顯示狀態",
file_download_text24: "操作",
- file_download_text25: "文件名稱",
+ file_download_text25: "檔案名稱",
file_download_text26: "顯/隱",
- file_download_text27: "新建文件夾",
- file_download_text28: "所有用戶",
- file_download_text29: "有產品的用戶",
- file_download_text30: "有指定產品的用戶",
- file_download_text31: "文件夾必填",
+ file_download_text27: "新建資料夾",
+ file_download_text28: "所有使用者",
+ file_download_text29: "有產品的使用者",
+ file_download_text30: "有指定產品的使用者",
+ file_download_text31: "資料夾必填",
file_download_text32: "名稱必填",
file_download_text33: "可見範圍必填",
file_download_text34: "請選擇指定產品",
file_download_text35: "顯示成功",
file_download_text36: "隱藏成功",
- file_download_text37: "文件名不能為空",
- file_download_text38: "文件夾添加成功",
- file_download_text39: "設置默認文件夾成功",
- file_download_text40: "文件夾刪除成功",
- file_download_text41: "請選擇要刪除的文件!",
- file_download_text42: "請先添加文件夾!",
- file_download_text43: "請選擇要移動的文件!",
- file_download_text44: "請選擇文件夾!",
+ file_download_text37: "檔名不能為空",
+ file_download_text38: "資料夾新增成功",
+ file_download_text39: "設定預設資料夾成功",
+ file_download_text40: "資料夾刪除成功",
+ file_download_text41: "請選擇要刪除的檔案!",
+ file_download_text42: "請先新增資料夾!",
+ file_download_text43: "請選擇要移動的檔案!",
+ file_download_text44: "請選擇資料夾!",
file_download_text45: "移動成功!",
- file_download_text46: "請填寫完文件信息!",
+ file_download_text46: "請填入文件資料!",
file_download_text47: "請選擇指定產品!",
file_download_text48: "上傳成功!",
file_download_text49: "刪除成功!",
// 幫助
- help_text1: "按照訪問熱度自動顯示",
- help_text2: "選擇文檔",
+ help_text1: "依照存取熱度自動顯示",
+ help_text2: "選擇文件",
help_text3: "保存",
help_text4: "返回",
help_text5: "關閉",
- help_text6: "文檔分類",
- help_text7: "請輸入你需要搜索的內容",
+ help_text6: "文件分類",
+ help_text7: "請輸入你需要搜尋的內容",
help_text8: "已選擇",
- help_text9: "編輯文檔",
- help_text10: "新增文檔",
- help_text11: "文檔名稱",
+ help_text9: "編輯文件",
+ help_text10: "新增文件",
+ help_text11: "文件名稱",
help_text12: "請輸入",
help_text13: "分類",
help_text14: "關鍵字",
@@ -2812,17 +2865,17 @@ const lang_obj = {
help_text16: "附件",
help_text17: "內容",
help_text18: "預覽",
- help_text19: "發布",
+ help_text19: "發佈",
help_text20: "取消",
help_text21: "請選擇文檔類型",
- help_text22: "請勿重複上傳文件!",
+ help_text22: "請勿重複上傳檔案!",
help_text23: "內容必填!",
help_text24: "暫不選",
- help_text25: "最多選擇三個文檔!",
+ help_text25: "最多選擇三個文件!",
help_text26: "有重複標題,請重選!",
help_text27: "保存成功!",
help_text28: "序號",
- help_text29: "文檔名稱",
+ help_text29: "文件名稱",
help_text30: "分類",
help_text31: "發佈人",
help_text32: "發佈時間",
@@ -2833,20 +2886,20 @@ const lang_obj = {
help_text37: "修改時間",
help_text38: "顯示成功",
help_text39: "隱藏成功",
- help_text40: "請先保存正在編輯的分類",
+ help_text40: "請先儲存正在編輯的分類",
help_text41: "請先新增分類!",
help_text42: "請輸入分類名稱!",
- help_text43: "文檔名稱必填",
- help_text44: "文檔類型必填",
+ help_text43: "文件名稱必填",
+ help_text44: "文件類型必填",
help_text45: "文件",
help_text46: "上傳失敗",
// 銷售插件
sales_plugin_text1: "訂單統計",
- sales_plugin_text2: "銷售設置",
+ sales_plugin_text2: "銷售設定",
sales_plugin_text3: "成員管理",
sales_plugin_text4: "每日銷售統計",
- sales_plugin_text5: "首次復購比例",
+ sales_plugin_text5: "首次重購比例",
sales_plugin_text6: "銷售訂單排名",
sales_plugin_text7: "本週",
sales_plugin_text8: "近三個月",
@@ -2863,14 +2916,14 @@ const lang_obj = {
sales_plugin_text19: "基礎提成",
sales_plugin_text20: "查看訂單",
sales_plugin_text21: "提成總額",
- sales_plugin_text22: "大額訂單獎勵",
+ sales_plugin_text22: "大訂單獎勵",
sales_plugin_text23: "獎勵總額",
sales_plugin_text24: "任務獎勵",
sales_plugin_text25: "當月提成總額",
sales_plugin_text26: "業績詳情",
sales_plugin_text27: "下載",
sales_plugin_text28: "關閉",
- sales_plugin_text29: "邀請鏈接",
+ sales_plugin_text29: "邀請連結",
sales_plugin_text30: "當月提成",
sales_plugin_text31: "營業額",
sales_plugin_text32: "今日提成",
@@ -2888,9 +2941,9 @@ const lang_obj = {
sales_plugin_text44: "註冊時長",
sales_plugin_text45: " 至",
sales_plugin_text46: "銷售金額",
- sales_plugin_text47: "首次復購比例",
+ sales_plugin_text47: "首次重購比例",
sales_plugin_text48: "首次",
- sales_plugin_text49: "复購",
+ sales_plugin_text49: "複購",
sales_plugin_text50: "週一",
sales_plugin_text51: "週二",
sales_plugin_text52: "週三",
@@ -2898,26 +2951,26 @@ const lang_obj = {
sales_plugin_text54: "週五",
sales_plugin_text55: "週六",
sales_plugin_text56: "週日",
- sales_plugin_text57: "用戶",
- sales_plugin_text58: "充值金額",
+ sales_plugin_text57: "使用者",
+ sales_plugin_text58: "儲值金額",
sales_plugin_text59: "提成",
- sales_plugin_text60: "支付時間",
+ sales_plugin_text60: "付款時間",
sales_plugin_text61: "項目名稱",
sales_plugin_text62: "筆數",
sales_plugin_text63: "營業額",
sales_plugin_text64: "成就",
sales_plugin_text65: "獎勵",
sales_plugin_text66: "首購訂單",
- sales_plugin_text67: "續費訂單",
- sales_plugin_text68: "复購訂單",
+ sales_plugin_text67: "續約訂單",
+ sales_plugin_text68: "複購訂單",
sales_plugin_text69: "其他訂單",
- sales_plugin_text70: "大額訂單獎勵",
+ sales_plugin_text70: "大訂單獎勵",
sales_plugin_text71: "下載成功",
- sales_plugin_text72: "用戶綁定",
+ sales_plugin_text72: "使用者綁定",
sales_plugin_text73: "分鐘",
/* 上下游*/
- upstream_text1: "請輸入關鍵詞搜索",
+ upstream_text1: "請輸入關鍵字搜尋",
upstream_text2: "核",
upstream_text3: "起",
upstream_text4: "立即代理",
@@ -2926,68 +2979,68 @@ const lang_obj = {
upstream_text7: "商品名稱",
upstream_text8: "商品售價",
upstream_text9: "推薦簡介",
- upstream_text10: "上游賬戶名",
- upstream_text11: "請輸入手機/郵箱",
+ upstream_text10: "上游帳號名稱",
+ upstream_text11: "請輸入手機/信箱",
upstream_text12:
- "若您尚未在該供應商註冊賬戶,請先前往供應商註冊賬戶,並開通API",
+ "若您尚未在該供應商註冊帳戶,請先前往供應商註冊帳戶,並開通API",
upstream_text13: "前往註冊",
- upstream_text14: "API密鑰",
- upstream_text15: "請輸入API密鑰",
+ upstream_text14: "API金鑰",
+ upstream_text15: "請輸入API金鑰",
upstream_text16: "API私鑰",
upstream_text17: "請輸入API私鑰",
upstream_text18: "利潤百分比",
upstream_text19: "請輸入大於0的整數",
upstream_text20: "利潤=上游商品價格* 利潤百分比",
upstream_text21: "商品描述",
- upstream_text22: "商品描述,支持HTML",
+ upstream_text22: "商品描述,支援HTML",
upstream_text23: "自動開通",
upstream_text24: "本地實名購買",
- upstream_text25: "開啟後,用戶需要實名後才能購買",
+ upstream_text25: "開啟後,使用者需要實名後才能購買",
upstream_text26:
"建議在供應商處實名後再代理商品,避免供應商開啟購買實名要求後,無法購買商品。",
upstream_text27: "立即代理",
upstream_text28: "商品名稱",
- upstream_text29: "內存",
- upstream_text30: "硬盤",
- upstream_text31: "帶寬",
+ upstream_text29: "記憶體",
+ upstream_text30: "硬碟",
+ upstream_text31: "頻寬",
upstream_text32: "流量",
upstream_text33: "售價",
upstream_text34: "推薦簡介",
upstream_text35: "操作",
upstream_text36: "代理商實名",
- upstream_text37: "用戶實名",
+ upstream_text37: "使用者實名",
upstream_text38: "上游實名方式",
upstream_text39: "必須大於0且最多保留兩位小數",
upstream_text40: "請輸入大於0的數,最多兩位小數",
- upstream_text41: "添加供應商",
- upstream_text42: "添加/編輯供應商",
+ upstream_text41: "新增供應商",
+ upstream_text42: "新增/編輯供應商",
upstream_text43: "新增分組",
- upstream_text44: "關鍵詞搜索",
+ upstream_text44: "關鍵字搜尋",
upstream_text45: "大於0的數,最多兩位小數",
upstream_text46: "產品間升降級",
- upstream_text47: "暫不支持開啟該功能",
+ upstream_text47: "暫時不支援開啟該功能",
upstream_text48:
"開啟後,將同步代理商品以及可升降級商品的所有關聯可升降級的商品(可能導致代理商品過多)。利潤配置與本商品保持一致。",
upstream_text49: "請選擇上游實名方式",
upstream_text50: "代理商實名",
- upstream_text51: "用戶實名",
+ upstream_text51: "使用者實名",
upstream_text52: "供應商名稱",
upstream_text53: "供應商類型",
upstream_text54: "V10業務系統",
upstream_text55: "財務系統",
- upstream_text56: "接口地址",
- upstream_text57: "上游業務系統的訪問地址或ip",
- upstream_text58: "用戶名",
- upstream_text59: "您在上游註冊的賬號,手機/郵箱",
- upstream_text60: "API密鑰",
- upstream_text61: "您在上游獲取的api密鑰",
+ upstream_text56: "介面位址",
+ upstream_text57: "上游業務系統的存取位址或ip",
+ upstream_text58: "使用者名稱",
+ upstream_text59: "您在上游註冊的帳號,手機/信箱",
+ upstream_text60: "API金鑰",
+ upstream_text61: "您在上游取得的api金鑰",
upstream_text62: "API私鑰",
- upstream_text63: "您在上游獲取的api私鑰",
- upstream_text64: "聯繫方式",
+ upstream_text63: "您在上游取得的api私鑰",
+ upstream_text64: "聯絡方式",
upstream_text65: "備註",
upstream_text66: "名稱",
upstream_text67: "供應商類型",
- upstream_text68: "鏈接地址",
+ upstream_text68: "連結位址",
upstream_text69: "產品數量",
upstream_text70: "商品數量",
upstream_text71: "狀態",
@@ -2995,10 +3048,10 @@ const lang_obj = {
upstream_text73: "利潤",
upstream_text74: "利潤方式",
- /* 子賬戶*/
- sub_account_text1: "基本信息",
- sub_account_text2: "賬戶",
- sub_account_text3: "郵箱",
+ /* 子帳戶*/
+ sub_account_text1: "基本資訊",
+ sub_account_text2: "帳號",
+ sub_account_text3: "信箱",
sub_account_text4: "所屬項目",
sub_account_text5: "可見產品",
sub_account_text6: "通知權限",
@@ -3006,25 +3059,25 @@ const lang_obj = {
sub_account_text8: "權限",
sub_account_text9: "提交",
sub_account_text10: "返回",
- sub_account_text11: "郵箱和手機不能同時為空",
+ sub_account_text11: "信箱和手機不能同時為空",
sub_account_text12: "產品通知",
- sub_account_text13: "營銷通知",
+ sub_account_text13: "行銷通知",
sub_account_text14: "工單通知",
sub_account_text15: "費用通知",
sub_account_text16: "推介通知",
sub_account_text17: "系統通知",
sub_account_text18: "產品類型",
sub_account_text19: "具體產品",
- sub_account_text20: "請輸入賬號",
- sub_account_text21: "請輸入手機號",
+ sub_account_text20: "請輸入帳號",
+ sub_account_text21: "請輸入手機號碼",
sub_account_text22: "請輸入區號",
sub_account_text23: "基礎權限",
sub_account_text24: "概要",
sub_account_text25: "修改成功",
sub_account_text26: "產品權限",
- /* 用戶內頁*/
- user_text1: "賬戶信息",
+ /* 使用者內頁*/
+ user_text1: "帳號資訊",
user_text2: "餘額",
user_text3: "產品總數",
user_text4: "消費",
@@ -3037,52 +3090,52 @@ const lang_obj = {
user_text11: "未實名",
user_text12: "企業認證",
user_text13: "個人認證",
- user_text14: "登錄記錄",
+ user_text14: "登入記錄",
user_text15: "最近",
user_text16: "基礎資料",
- user_text17: "子賬戶",
+ user_text17: "子帳號",
user_text18: "編輯",
- user_text19: "上次登錄時間",
+ user_text19: "上次登入時間",
user_text20: "實名狀態",
- user_text21: "ID、用戶名稱、郵箱、手機號、商品名稱",
- user_text22: "暫無代理商品訂單數據",
-
- /* 子模塊*/
- child_module: "子接口管理",
- child_tem_type: "子模塊類型",
- associated_module: "關聯模塊",
- interface_capacity: "接口容量",
- ssl_link_mode: "SSL鏈接模式",
- server_module: "服務器模塊",
- interface_group_name: "接口分組名",
- child_host_name: "主機名",
- interface_group_num: "接口分組使用數量",
+ user_text21: "ID、使用者名稱、信箱、手機號碼、商品名稱",
+ user_text22: "暫無代理商品訂單資料",
+
+ /* 子模組*/
+ child_module: "子介面管理",
+ child_tem_type: "子模組類型",
+ associated_module: "關聯模組",
+ interface_capacity: "介面容量",
+ ssl_link_mode: "SSL連結模式",
+ server_module: "伺服器模組",
+ interface_group_name: "介面分組名稱",
+ child_host_name: "主機名稱",
+ interface_group_num: "介面分組使用數量",
distribution: "分配方式",
child_mode1: "平均分配",
- child_mode2: "逐個分配",
+ child_mode2: "逐一分配",
child_used_total: "已使用/總數",
- child_interface: "子接口",
- child_interface_manage: "子接口管理",
- child_tip: "此處可配置使用於所有通用接口的子接口",
- child_tip1: "獲取更多模塊支持",
- child_tip2: "填寫接口中能容納的產品數量上限",
- child_tip3: "產品優先分配給產品數量最少的接口",
- child_tip4: "按最初創建的接口開始分配,滿額後切換下一接口",
+ child_interface: "子介面",
+ child_interface_manage: "子介面管理",
+ child_tip: "此處可設定使用於所有通用介面的子介面",
+ child_tip1: "取得更多模組支援",
+ child_tip2: "填寫介面中能容納的產品數量上限",
+ child_tip3: "產品優先分配給產品數量最少的介面",
+ child_tip4: "依照原先建立的介面開始分配,滿額後切換下一介面",
/* 房車配置*/
- caravan_text1: "訂單列表",
+ caravan_text1: "訂單清單",
caravan_text2: "基礎配置",
- caravan_text3: "協議",
+ caravan_text3: "協定",
caravan_text4: "房箱識別碼長度",
caravan_text5:
- "購買房箱時按照設定長度為房箱設定由大寫字母和數據隨機組成的識別碼。識別碼具有唯一性",
- caravan_text6: "第一筆付款金額設置",
- caravan_text7: "小型房箱預期交付週期",
+ "購買房箱時依照設定長度為房箱設定由大寫字母和資料隨機組成的識別碼。識別碼具有唯一性",
+ caravan_text6: "第一筆付款金額設定",
+ caravan_text7: "小型房箱預期交貨週期",
caravan_text8: "單",
caravan_text9: "週",
caravan_text10: "新增週期",
caravan_text11: "中型房箱預期交付週期",
- caravan_text12: "大型房箱預期交付週期",
+ caravan_text12: "大型房箱預期交貨週期",
caravan_text13: "促銷時間",
caravan_text14: "促銷金額",
caravan_text15: "促銷方案",
@@ -3093,51 +3146,51 @@ const lang_obj = {
caravan_text20: "修改預計週期",
caravan_text21: "交付商品",
caravan_text22: "已付尾款",
- caravan_text23: "已支付",
- caravan_text24: "支付日期",
- caravan_text25: "購買信息",
- caravan_text26: "快遞信息",
- caravan_text27: "配送信息",
+ caravan_text23: "已付款",
+ caravan_text24: "付款日期",
+ caravan_text25: "購買資訊",
+ caravan_text26: "快遞訊息",
+ caravan_text27: "配送資訊",
caravan_text28: "詳細配置",
caravan_text29: "總計",
caravan_text30: "首付款",
caravan_text31: "尾款",
- caravan_text32: "預計交付週期",
+ caravan_text32: "預計交貨週期",
caravan_text33: "交付商品",
- caravan_text34: "物流信息",
- caravan_text35: "請輸入物流信息",
+ caravan_text34: "物流資訊",
+ caravan_text35: "請輸入物流資訊",
caravan_text36: "總銷售額",
- caravan_text37: "已到賬金額",
+ caravan_text37: "已到帳金額",
caravan_text38: "剩餘尾款金額",
- caravan_text39: "請輸入商品信息",
- caravan_text40: "請搜索購買用戶",
+ caravan_text39: "請輸入商品資訊",
+ caravan_text40: "請搜尋購買使用者",
caravan_text41: "查詢",
caravan_text42: "已生產",
caravan_text43: "請先確認或取消修改/新增",
- caravan_text44: "請至少添加一條小型房箱預期交付週期數據",
- caravan_text45: "請至少添加一條中型房箱預期交付週期數據",
- caravan_text46: "請至少添加一條大型房箱預期交付週期數據",
+ caravan_text44: "請至少新增一條小型房箱預期交貨週期資料",
+ caravan_text45: "請至少新增一條中型房箱預期交付週期資料",
+ caravan_text46: "請至少新增一條大型房箱預期交貨週期資料",
caravan_text47: "請輸入房箱識別碼長度",
- caravan_text48: "請輸入協議",
+ caravan_text48: "請輸入協定",
caravan_text49: "訂單數",
caravan_text50: "週期",
caravan_text51: "操作",
caravan_text52: "請輸入最小訂單數",
caravan_text53: "請輸入最大訂單數",
- caravan_text54: "請輸入最小周期數",
- caravan_text55: "請輸入最大周期數",
+ caravan_text54: "請輸入最小週期數",
+ caravan_text55: "請輸入最大週期數",
caravan_text56: "最大訂單數不能小於最小訂單數",
- caravan_text57: "最大周期數不能小於最小周期數",
- caravan_text58: "請輸入周期",
- caravan_text59: "最大周期不能小於最小周期",
- caravan_text60: "待支付首付款",
+ caravan_text57: "最大週期數不能小於最小週期數",
+ caravan_text58: "請輸入週期",
+ caravan_text59: "最大週期不能小於最小週期",
+ caravan_text60: "待付款首付款",
caravan_text61: "已下單",
caravan_text62: "生產中",
- caravan_text63: "待支付尾款",
- caravan_text64: "待交付",
+ caravan_text63: "待付尾款",
+ caravan_text64: "待交車",
caravan_text65: "已交付",
caravan_text66: "已取消",
- caravan_text67: "請輸入物流信息",
+ caravan_text67: "請輸入物流資訊",
caravan_text68: "確認生產完成",
caravan_text69: "確認已付尾款",
caravan_text70: "確認已支付",
@@ -3145,7 +3198,7 @@ const lang_obj = {
caravan_text72: "開始生產",
/* 單商品*/
- single_product_text1: "單商品實名要求",
+ single_product_text1: "單一商品實名要求",
single_product_text2:
"此處設定係統中需要實名購買的商品,若實名認證插件設定「未認證無法購買」,此處未添加商品同樣無法購買",
single_product_text3: "新增",
@@ -3163,7 +3216,7 @@ const lang_obj = {
single_product_text15: "限制狀態",
single_product_text16: "商品週期性限購",
single_product_text17:
- "此處設定用戶賬戶中的某商品在設定週期內可擁有的最大數量。狀態為「已刪除」「已取消」時不計數,其他狀態均計數",
+ "此處設定使用者帳戶中的某商品在設定週期內可擁有的最大數量。狀態為「已刪除」「取消」時不計數,其他狀態均計數",
single_product_text18: "永久",
single_product_text19: "天",
single_product_text20: "確認刪除該商品週期性限制?",
@@ -3172,21 +3225,21 @@ const lang_obj = {
single_product_text23: "限制數量",
single_product_text24: "限制週期",
single_product_text25: "輸入0視為永久限制",
- single_product_text26: "修改週期會影響正在限制中的周期",
+ single_product_text26: "修改週期會影響正在限制中的週期",
single_product_text27:
- "限制週期開始時間以用戶未在限制內下的第一單時間為准開始計算",
+ "限制週期開始時間以使用者未在限制內下的第一單時間為準開始計算",
single_product_text28: "商品數量限制",
single_product_text29:
- "此處設定用戶賬戶中的某商品的可擁有的最大數量,狀態為「已刪除」「已取消」時不計數,其他狀態均計數",
+ "此處設定使用者帳戶中的某商品的可擁有的最大數量,狀態為「已刪除」「已取消」時不計數,其他狀態均計數",
single_product_text30: "確認刪除該商品數量限制?",
- /* 推薦代理*/
- recommend_agent_text1: "添加商品",
- recommend_agent_text2: "關鍵詞搜索",
+ /* 推薦代理商*/
+ recommend_agent_text1: "新增商品",
+ recommend_agent_text2: "關鍵字搜尋",
recommend_agent_text3: "核",
recommend_agent_text4: "起",
recommend_agent_text5: "編輯推薦商品",
- recommend_agent_text6: "添加推薦商品",
+ recommend_agent_text6: "新增推薦商品",
recommend_agent_text7: "商品類型",
recommend_agent_text8: "已代理商品",
recommend_agent_text9: "其他商品",
@@ -3194,21 +3247,21 @@ const lang_obj = {
recommend_agent_text11: "供應商名稱",
recommend_agent_text12: "供應商類型",
recommend_agent_text13: "前台網址",
- recommend_agent_text14: "接口地址",
+ recommend_agent_text14: "介面位址",
recommend_agent_text15: "商品",
- recommend_agent_text16: "獲取",
+ recommend_agent_text16: "取得",
recommend_agent_text17: "商品名稱",
- recommend_agent_text18: "CPU(核)最小值",
- recommend_agent_text19: "CPU(核)最大值",
+ recommend_agent_text18: "CPU(核心)最小值",
+ recommend_agent_text19: "CPU(核心)最大值",
recommend_agent_text20: "內存",
- recommend_agent_text21: "內存(GB)最小值",
- recommend_agent_text22: "內存(GB)最大值",
- recommend_agent_text23: "硬盤",
- recommend_agent_text24: "硬盤(GB)最小值",
- recommend_agent_text25: "硬盤(GB)最大值",
- recommend_agent_text26: "帶寬",
- recommend_agent_text27: "帶寬(Mbps)最小值",
- recommend_agent_text28: "帶寬(Mbps)最大值",
+ recommend_agent_text21: "記憶體(GB)最小值",
+ recommend_agent_text22: "記憶體(GB)最大值",
+ recommend_agent_text23: "硬碟",
+ recommend_agent_text24: "硬碟(GB)最小值",
+ recommend_agent_text25: "硬碟(GB)最大值",
+ recommend_agent_text26: "頻寬",
+ recommend_agent_text27: "頻寬(Mbps)最小值",
+ recommend_agent_text28: "頻寬(Mbps)最大值",
recommend_agent_text29: "流量",
recommend_agent_text30: "流量(GB)最小值",
recommend_agent_text31: "流量(GB)最大值",
@@ -3218,21 +3271,21 @@ const lang_obj = {
recommend_agent_text35: "操作",
recommend_agent_text36: "V10業務系統",
recommend_agent_text37: "財務系統",
- recommend_agent_text38: "請先輸入接口地址!",
+ recommend_agent_text38: "請先輸入介面位址!",
// 房車官網插件
- room_car_text1: "出遊設置",
+ room_car_text1: "出遊設定",
room_car_text2: "報名管理",
room_car_text3: "圖庫管理",
room_car_text4: "新增",
- room_car_text5: "基礎信息",
+ room_car_text5: "基礎資訊",
room_car_text6: "標題",
room_car_text7: "簡介",
room_car_text8: "目的地",
room_car_text9: "里程",
room_car_text10: "行程時間",
room_car_text11: "報名時間範圍",
- room_car_text12: "是否車主專享",
+ room_car_text12: "是否車主專屬",
room_car_text13: "是",
room_car_text14: "否",
room_car_text15: "集合點",
@@ -3248,7 +3301,7 @@ const lang_obj = {
room_car_text25: "請輸入簡介",
room_car_text26: "請輸入里程",
room_car_text27: "請輸入集合點",
- room_car_text28: "請選擇是否為車主專享活動",
+ room_car_text28: "請選擇是否為車主專屬活動",
room_car_text29: "請輸入報名價格",
room_car_text30: "請選擇行程日期",
room_car_text31: "請選擇報名日期",
@@ -3260,7 +3313,7 @@ const lang_obj = {
room_car_text37: "編輯",
room_car_text38: "刪除",
room_car_text39: "海拔",
- room_car_text40: "餐食",
+ room_car_text40: "餐點",
room_car_text41: "住宿",
room_car_text42: "行程天數",
room_car_text43: "行程名稱",
@@ -3269,17 +3322,17 @@ const lang_obj = {
room_car_text46: "請輸入簡介",
room_car_text47: "請輸入行程名稱",
room_car_text48: "請輸入住宿名稱",
- room_car_text49: "請輸入餐食",
- room_car_text50: "請先保存當前行程!",
- room_car_text51: "請輸入關鍵詞搜索",
+ room_car_text49: "請輸入餐點",
+ room_car_text50: "請先儲存目前行程!",
+ room_car_text51: "請輸入關鍵字搜尋",
room_car_text52: "關注",
room_car_text53: "報名",
room_car_text54: "編輯備註",
- room_car_text55: "備註信息",
+ room_car_text55: "備註資訊",
room_car_text56: "備註",
- room_car_text57: "關聯用戶",
+ room_car_text57: "關聯使用者",
room_car_text58: "活動名稱",
- room_car_text59: "聯繫方式",
+ room_car_text59: "聯絡方式",
room_car_text60: "類型",
room_car_text61: "報名人數",
room_car_text62: "備註",
@@ -3313,7 +3366,7 @@ const lang_obj = {
stock_text22: "請輸入物料數量",
stock_text23: "物料價格",
stock_text24: "請添加物料!",
- stock_text25: "請先保存正在編輯的物料!",
+ stock_text25: "請先儲存正在編輯的物料!",
stock_text26: "查詢",
stock_text27: "導出",
stock_text28: "變動日期",
@@ -3322,7 +3375,7 @@ const lang_obj = {
stock_text31: "操作人",
stock_text32: "變更原因",
stock_text33: "下載成功",
- stock_text34: "預警設置",
+ stock_text34: "預警設定",
stock_text35: "人工出入庫",
stock_text36: "詳情",
stock_text37: "類型",
@@ -3331,16 +3384,16 @@ const lang_obj = {
stock_text40: "數量",
stock_text41: "原因",
stock_text42: "預警庫存",
- stock_text43: "達到預警庫存後,短信通知人員",
+ stock_text43: "達到預警庫存後,簡訊通知人員",
stock_text44: "剩餘庫存",
stock_text45: "上次採購時間",
stock_text46: "庫存成本",
stock_text47: "現有庫存",
stock_text48: "預警庫存下限",
stock_text49: "預警庫存上限",
- stock_text50: "請選擇預警短信通知人員!",
- stock_text51: "創建物料",
- stock_text52: "類型管理",
+ stock_text50: "請選擇預警簡訊通知人員!",
+ stock_text51: "建立物料",
+ stock_text52: "型別管理",
stock_text53: "編輯物料",
stock_text54: "新增物料",
stock_text55: "物料名稱",
@@ -3368,13 +3421,13 @@ const lang_obj = {
stock_text77: "費用調整",
stock_text78: "採購總價",
stock_text79: "採購來源",
- stock_text80: "聯繫方式",
- stock_text81: "物流信息",
+ stock_text80: "聯絡方式",
+ stock_text81: "物流資訊",
stock_text82: "採購日期",
stock_text83: "訂單金額",
stock_text84: "採購人",
- stock_text85: "採購渠道",
- stock_text86: "物流信息",
+ stock_text85: "採購管道",
+ stock_text86: "物流資訊",
stock_text87: "入庫狀態",
stock_text88: "微信",
stock_text89: "淘寶",
@@ -3383,17 +3436,17 @@ const lang_obj = {
stock_text92: "已下單",
stock_text93: "已入庫",
stock_text94: "已退貨",
- stock_text95: "採購渠道",
- stock_text96: "購買渠道",
+ stock_text95: "採購管道",
+ stock_text96: "購買管道",
stock_text97: "物料規格",
stock_text98: "採購配件",
stock_text99: "新建物料包",
stock_text100: "物料總數",
//serve
- serve_text1: "詳細信息",
+ serve_text1: "詳細資料",
serve_text2: "授權ID:",
- serve_text3: "域名:",
+ serve_text3: "網域:",
serve_text4: "IP:",
serve_text5: "授權碼:",
serve_text6: "服務到期時間",
@@ -3404,49 +3457,49 @@ const lang_obj = {
/* 週期人工訂單*/
cycle_order: "週期人工訂單",
time_range: "時間範圍",
- create_period: "生成周期",
+ create_period: "生成週期",
generation_time: "生成時間",
- cycle_tip: "在此處管理為用戶生成周期性的人工訂單",
- cycle_tip1: "變更生成周期後,從最近一次已經生成訂單的日期開始計算",
+ cycle_tip: "在此管理為使用者產生週期性的人工訂單",
+ cycle_tip1: "變更產生週期後,從最近一次已經產生訂單的日期開始計算",
- /* v10模塊管理*/
+ /* v10模組管理*/
pay_type: "付費類型",
available_plugins: "可用插件",
- available_application: "可用應用",
+ available_application: "可用應用程式",
version_manage: "版本管理",
- plugin_manage: "應用管理",
- synchronize_store: "同步應用商店",
+ plugin_manage: "應用程式管理",
+ synchronize_store: "同步應用程式商店",
upload_time: "上傳時間",
upload_user: "上傳人員",
download: "下載",
- module_manage_tip: "配置V10可售賣的版本,用於商品配置",
- module_manage_tip1: "請輸入正確的版本號",
+ module_manage_tip: "配置V10可販售的版本,用於商品配置",
+ module_manage_tip1: "請輸入正確的版本號碼",
not_orderer_service: "未訂購服務",
authorize: "授權",
proportion: "佔比",
/* 域名管理*/
- domain_name: "域名",
- domain_template: "模塊管理",
- domain_list: "域名列表",
+ domain_name: "網域名稱",
+ domain_template: "模組管理",
+ domain_list: "網域清單",
registrant: "註冊商",
- domain_owner: "域名所有者",
- domain_status: "域名狀態",
- belong_user: "所屬用戶",
+ domain_owner: "網域擁有者",
+ domain_status: "網域狀態",
+ belong_user: "所屬使用者",
distance: "距離",
- auth_info: "認證信息",
+ auth_info: "認證資訊",
auth_status: "認證狀態",
auth_type: "實名類型",
phone_tel: "手機號碼",
- communication_address: "通信地址",
- domain_agree_adress: "域名註冊協議地址",
- domain_service_adress: "域名信息服務協議地址",
+ communication_address: "通訊地址",
+ domain_agree_adress: "網域名稱註冊協定地址",
+ domain_service_adress: "網域資訊服務協定位址",
domain_en: "英文",
- default_domain: "默認檢索域名",
- appoint_domain: "指定檢索域名",
+ default_domain: "預設檢索網域名稱",
+ appoint_domain: "指定檢索網域名稱",
number_limit: "數量限制",
price_float: "價格上浮比",
- acounts_transfer: "賬戶間轉移",
+ acounts_transfer: "帳戶間轉移",
need_real_name: "要求實名認證",
suffix: "後綴",
suffix_manage: "後綴管理",
@@ -3454,31 +3507,31 @@ const lang_obj = {
allow_chinese: "允許中文",
no_upload_picture: "未傳圖片",
examining: "初審中",
- examine_pass: "初審通過",
+ examine_pass: "正常",
examine_reject: "初審拒絕",
examine_abnormal: "初審異常",
not_certified: "未認證",
under_certification: "認證中",
- domain_tip1: "設定用戶檢索域名時,默認的檢索域名",
- domain_tip2: "設定除了檢索默認或用戶選定的域名外,額外檢索的域名",
- domain_tip3: "設定批量檢索域名時的數量上限",
+ domain_tip1: "設定使用者檢索網域名稱時,預設的檢索網域名稱",
+ domain_tip2: "設定除了檢索預設或使用者選定的網域外,額外檢索的網域名稱",
+ domain_tip3: "設定批次檢索網域名稱時的數量上限",
domain_tip4:
- "在此配置模塊關聯的後綴,若多個模塊存在相同後綴,查詢該後綴時,僅查詢排序靠前的模塊",
- domain_tip5: "配置該域名後綴是否支持中文主體",
- domain_tip6: "請輸入正確的後綴",
+ "在此組態模組關聯的後綴,若多個模組存在相同後綴,查詢該後綴時,僅查詢排序靠前的模組",
+ domain_tip5: "配置該網域後綴是否支援中文主體",
+ domain_tip6: "請輸入正確的字尾",
domain_tip7: "請輸入不超過20個字的簡介",
- domain_tip8: "域名開通失敗提醒",
- id_type_SFZ: "身份證",
+ domain_tip8: "網域開通失敗提醒",
+ id_type_SFZ: "身分證",
id_type_HZ: "護照",
id_type_GAJMTX: "港澳居民來往內地通行證",
id_type_TWJMTX: "台灣居民來往大陸通行證",
- id_type_WJLSFZ: "外國人永久居留身份證",
- id_type_GAJZZ: "港澳台居民居住證",
+ id_type_WJLSFZ: "外國人永久居留證",
+ id_type_GAJZZ: "港澳台居民居住證明",
id_type_ORG: "組織機構代碼證",
id_type_YYZZ: "工商營業執照",
id_type_TYDM: "統一社會信用代碼證書",
id_type_BDDM: "部隊代號",
- id_type_JDDWFW: "軍隊單位對外有償服務許可證",
+ id_type_JDDWFW: "軍事單位對外有償服務許可證",
id_type_SYDWFR: "事業單位法人證書",
id_type_WGCZJG: "外國企業常駐代表機構登記證",
id_type_SHTTFR: "社會團體法人登記證書",
@@ -3487,7 +3540,7 @@ const lang_obj = {
id_type_JJHFR: "基金會法人登記證書",
id_type_LSZY: "律師事務所執行許可證",
id_type_WGZHWH: "外國在華文化中心登記證",
- id_type_WLCZJG: "外國政府旅遊部門常駐代表機構批准登記證",
+ id_type_WLCZJG: "外國政府旅遊部門常駐代表機構核准登記證",
id_type_SFJD: "司法鑑定許可證",
id_type_SHFWJG: "社會服務機構登記證書",
id_type_MBXXBX: "民辦學校辦學許可證",
@@ -3495,15 +3548,15 @@ const lang_obj = {
id_type_JWJG: "境外機構證件",
id_type_GZJGZY: "公證機構執業證",
id_type_BJWSXX: "北京市外國駐華使館人員子女學校辦學許可證",
- id_type_QTTYDM: "含統一社會信用代碼的其它證件",
+ id_type_QTTYDM: "包含統一社會信用代碼的其它證件",
// 異常巡查插件
- abnormal_text1: "異常巡查插件",
- abnormal_text2: "在此處記錄巡查中發現的異常情況",
- abnormal_text3: "請輸入用戶、公司、聯繫方式、IP",
- abnormal_text4: "用戶",
- abnormal_text5: "聯繫方式",
+ abnormal_text1: "異常巡查外掛",
+ abnormal_text2: "在此記錄巡查中發現的異常情況",
+ abnormal_text3: "請輸入使用者、公司、聯絡方式、IP",
+ abnormal_text4: "使用者",
+ abnormal_text5: "聯絡方式",
abnormal_text6: "訂單ID",
abnormal_text7: "購買時間",
abnormal_text8: "異常時IP",
@@ -3513,7 +3566,7 @@ const lang_obj = {
abnormal_text12: "最新提交人",
abnormal_text13: "新增異常記錄",
abnormal_text14: "編輯異常記錄",
- abnormal_text15: "異常用戶",
+ abnormal_text15: "異常使用者",
abnormal_text16: "異常產品",
abnormal_text17: "異常截圖",
abnormal_text18: "異常詳情",
@@ -3521,26 +3574,100 @@ const lang_obj = {
abnormal_text20: "ip格式為xxx.xxx.xxx.xxx",
- /* 邮件通知管理员 */
- email_notice_admin: "郵件通知管理員",
- email_notice_tip: "在此處設定管理員需要接收的郵件通知",
- notify_personnel: "通知人員",
+ /* 電子郵件通知管理員*/
+ email_notice_admin: '郵件通知管理員',
+ email_notice_tip: '在此設定管理員需要接收的郵件通知',
+ notify_personnel: '通知人員',
+
+
+ // 手動資源
+ manual_resources: "手動資源",
+ ipmi_auth: "IPMI鑑權",
+ idle: '空閒',
+ sure_allot_resource: '確認分配該資源? ',
+ sure_free_resource: '確認空閒該資源? ',
+ manual_text1: '搜尋IP、設定、備註',
+ manual_text2: '選擇供應商',
+ manual_text3: '管理供應商',
+ manual_text4: '新增資源',
+ manual_text5: '狀態',
+ manual_text6: '機器操作',
+ manual_text7: '配置',
+ manual_text8: '備註',
+ manual_text9: '使用者名稱/密碼',
+ manual_text10: '供應商',
+ manual_text11: '成本',
+ manual_text12: '關聯客戶(產品)',
+ manual_text13: '到期時間',
+ manual_text14: '開機',
+ manual_text15: '關機',
+ manual_text16: '錯誤',
+ manual_text17: '編輯資源',
+ manual_text18: '主IP',
+ manual_text19: '附加IP',
+ manual_text20: '備註',
+ manual_text21: '配置',
+ manual_text22: '上游',
+ manual_text23: '成本',
+ manual_text24: '系統使用者名稱',
+ manual_text25: '系統密碼',
+ manual_text26: '控制方式',
+ manual_text27: '到期時間',
+ manual_text28: '不支援',
+ manual_text29: 'ipmi',
+ manual_text30: '客戶端',
+ manual_text31: '控制使用者名稱',
+ manual_text32: '控制密碼',
+ manual_text33: 'IPMI IP',
+ manual_text34: 'IPMI版本',
+ manual_text35: 'DCIM客戶端位址',
+ manual_text36: '伺服器ID',
+ manual_text37: '確認刪除資源嗎',
+ manual_text38: '名稱',
+ manual_text39: '聯絡方式',
+ manual_text40: '備註',
+ manual_text41: '確認刪除供應商嗎',
+ manual_text42: '請先儲存目前編輯! ',
+ manual_text43: '請輸入名稱',
+ manual_text44: '連接埠',
+ manual_text45: '換行新增多個',
+ manual_text46: '關機',
+ manual_text47: '重啟',
+ manual_text48: '重裝',
+ manual_text49: '重設密碼',
+ manual_text50: '救援',
+ manual_text51: '控制台',
+ manual_text52: '開機',
+ manual_text53: '確認',
+ manual_text54: '確認開啟控制台?',
+
+
reinstall_system: "重裝系統",
- reset_password: "重置密碼",
+ reset_password: "重設密碼",
rescue: "救援系統",
- zone_type: "分區類型",
- zone_type1: "全屏格式化",
- zone_type2: "第一分區格式化",
- reset_other: "破解其他用户",
- temp_password: "臨時密碼",
+ zone_type: "分割區類型",
+ zone_type1: "全螢幕格式化",
+ zone_type2: "第一分割區格式化",
+ reset_other: "破解其他使用者",
+ temp_password: "暫時密碼",
agree_force: "同意強制關機",
check_agree_force: "請勾選同意強制關機",
- password_tip: "請妥善保存當前密碼,該密碼不會二次使用",
- rescue_tip: "當您系統損壞時,可進入救援模式,您的系統磁片將會掛載作為數據盤",
- reset_tip: "如您忘記密碼,可直接輸入新密碼進行破解",
- force_tip: "當前操作需要實例在關機狀態下進行",
- force_tip1: "為了避免資料丟失,實例將關機中斷您的業務,請仔細確認。",
- force_tip2: "強制關機可能會導致資料丟失或檔案系統損壞,您也可以主動關機後再進行操作"
-}
-
-window.lang = lang_obj
+ password_tip: "請妥善保存目前密碼,該密碼不會二次使用",
+ rescue_tip: "當您系統損壞時,可進入救援模式,您的系統磁碟將會掛載作為資料碟",
+ reset_tip: "如您忘記密碼,可直接輸入新密碼破解",
+ force_tip: "目前操作需要實例在關機狀態下進行",
+ force_tip1: "為了避免資料遺失,實例將關機中斷您的業務,請仔細確認。",
+ force_tip2: "強制關機可能會導致資料遺失或檔案系統損壞,您也可以主動關機後再進行操作",
+
+
+
+
+
+
+
+
+
+
+};
+
+window.lang = lang_obj;
diff --git a/10.3.4/public/admin/template/default/log_notice_email.php b/10.3.5/public/admin/template/default/log_notice_email.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/log_notice_email.php
rename to 10.3.5/public/admin/template/default/log_notice_email.php
diff --git a/10.3.4/public/admin/template/default/log_notice_sms.php b/10.3.5/public/admin/template/default/log_notice_sms.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/log_notice_sms.php
rename to 10.3.5/public/admin/template/default/log_notice_sms.php
diff --git a/10.3.4/public/admin/template/default/log_system.php b/10.3.5/public/admin/template/default/log_system.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/log_system.php
rename to 10.3.5/public/admin/template/default/log_system.php
diff --git a/10.3.4/public/admin/template/default/login.php b/10.3.5/public/admin/template/default/login.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/login.php
rename to 10.3.5/public/admin/template/default/login.php
diff --git a/10.3.4/public/admin/template/default/media/tip.wav b/10.3.5/public/admin/template/default/media/tip.wav
similarity index 100%
rename from 10.3.4/public/admin/template/default/media/tip.wav
rename to 10.3.5/public/admin/template/default/media/tip.wav
diff --git a/10.3.4/public/admin/template/default/navigation.php b/10.3.5/public/admin/template/default/navigation.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/navigation.php
rename to 10.3.5/public/admin/template/default/navigation.php
diff --git a/10.3.4/public/admin/template/default/notFound.php b/10.3.5/public/admin/template/default/notFound.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/notFound.php
rename to 10.3.5/public/admin/template/default/notFound.php
diff --git a/10.3.4/public/admin/template/default/notice_email.php b/10.3.5/public/admin/template/default/notice_email.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/notice_email.php
rename to 10.3.5/public/admin/template/default/notice_email.php
diff --git a/10.3.4/public/admin/template/default/notice_email_template.php b/10.3.5/public/admin/template/default/notice_email_template.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/notice_email_template.php
rename to 10.3.5/public/admin/template/default/notice_email_template.php
diff --git a/10.3.4/public/admin/template/default/notice_email_template_create.php b/10.3.5/public/admin/template/default/notice_email_template_create.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/notice_email_template_create.php
rename to 10.3.5/public/admin/template/default/notice_email_template_create.php
diff --git a/10.3.4/public/admin/template/default/notice_email_template_update.php b/10.3.5/public/admin/template/default/notice_email_template_update.php
similarity index 94%
rename from 10.3.4/public/admin/template/default/notice_email_template_update.php
rename to 10.3.5/public/admin/template/default/notice_email_template_update.php
index 78c2aecd..de3d4495 100644
--- a/10.3.4/public/admin/template/default/notice_email_template_update.php
+++ b/10.3.5/public/admin/template/default/notice_email_template_update.php
@@ -24,7 +24,7 @@
-
+
diff --git a/10.3.4/public/admin/template/default/order_flow.php b/10.3.5/public/admin/template/default/order_flow.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/order_flow.php
rename to 10.3.5/public/admin/template/default/order_flow.php
diff --git a/10.3.4/public/admin/template/default/order_notes.php b/10.3.5/public/admin/template/default/order_notes.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/order_notes.php
rename to 10.3.5/public/admin/template/default/order_notes.php
diff --git a/10.3.4/public/admin/template/default/order_refund.php b/10.3.5/public/admin/template/default/order_refund.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/order_refund.php
rename to 10.3.5/public/admin/template/default/order_refund.php
diff --git a/10.3.4/public/admin/template/default/plugin.php b/10.3.5/public/admin/template/default/plugin.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/plugin.php
rename to 10.3.5/public/admin/template/default/plugin.php
diff --git a/10.3.4/public/admin/template/default/product.php b/10.3.5/public/admin/template/default/product.php
similarity index 93%
rename from 10.3.4/public/admin/template/default/product.php
rename to 10.3.5/public/admin/template/default/product.php
index 4df28fda..c063661a 100644
--- a/10.3.4/public/admin/template/default/product.php
+++ b/10.3.5/public/admin/template/default/product.php
@@ -43,12 +43,16 @@
+
+
+
+
@@ -158,8 +162,15 @@
{{lang.cancel}}
+
+
+
+ {{lang.sure}}
+ {{lang.cancel}}
+
+
-{include file="footer"}
\ No newline at end of file
+{include file="footer"}
diff --git a/10.3.4/public/admin/template/default/product_api.php b/10.3.5/public/admin/template/default/product_api.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/product_api.php
rename to 10.3.5/public/admin/template/default/product_api.php
diff --git a/10.3.4/public/admin/template/default/product_detail.php b/10.3.5/public/admin/template/default/product_detail.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/product_detail.php
rename to 10.3.5/public/admin/template/default/product_detail.php
diff --git a/10.3.4/public/admin/template/default/rc_order.php b/10.3.5/public/admin/template/default/rc_order.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/rc_order.php
rename to 10.3.5/public/admin/template/default/rc_order.php
diff --git a/10.3.4/public/admin/template/default/rc_order_config.php b/10.3.5/public/admin/template/default/rc_order_config.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/rc_order_config.php
rename to 10.3.5/public/admin/template/default/rc_order_config.php
diff --git a/10.3.4/public/admin/template/default/rc_order_details.php b/10.3.5/public/admin/template/default/rc_order_details.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/rc_order_details.php
rename to 10.3.5/public/admin/template/default/rc_order_details.php
diff --git a/10.3.4/public/admin/template/default/real_name_approval.php b/10.3.5/public/admin/template/default/real_name_approval.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/real_name_approval.php
rename to 10.3.5/public/admin/template/default/real_name_approval.php
diff --git a/10.3.4/public/admin/template/default/real_name_interface.php b/10.3.5/public/admin/template/default/real_name_interface.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/real_name_interface.php
rename to 10.3.5/public/admin/template/default/real_name_interface.php
diff --git a/10.3.4/public/admin/template/default/real_name_setting.php b/10.3.5/public/admin/template/default/real_name_setting.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/real_name_setting.php
rename to 10.3.5/public/admin/template/default/real_name_setting.php
diff --git a/10.3.4/public/admin/template/default/recording1559.php b/10.3.5/public/admin/template/default/recording1559.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/recording1559.php
rename to 10.3.5/public/admin/template/default/recording1559.php
diff --git a/10.3.4/public/admin/template/default/search.php b/10.3.5/public/admin/template/default/search.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/search.php
rename to 10.3.5/public/admin/template/default/search.php
diff --git a/10.3.4/public/admin/template/default/server.php b/10.3.5/public/admin/template/default/server.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/server.php
rename to 10.3.5/public/admin/template/default/server.php
diff --git a/10.3.4/public/admin/template/default/server_group.php b/10.3.5/public/admin/template/default/server_group.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/server_group.php
rename to 10.3.5/public/admin/template/default/server_group.php
diff --git a/10.3.4/public/admin/template/default/setting1559.php b/10.3.5/public/admin/template/default/setting1559.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/setting1559.php
rename to 10.3.5/public/admin/template/default/setting1559.php
diff --git a/10.3.4/public/admin/template/default/supplier_goods.php b/10.3.5/public/admin/template/default/supplier_goods.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/supplier_goods.php
rename to 10.3.5/public/admin/template/default/supplier_goods.php
diff --git a/10.3.4/public/admin/template/default/supplier_list.php b/10.3.5/public/admin/template/default/supplier_list.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/supplier_list.php
rename to 10.3.5/public/admin/template/default/supplier_list.php
diff --git a/10.3.4/public/admin/template/default/supplier_order.php b/10.3.5/public/admin/template/default/supplier_order.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/supplier_order.php
rename to 10.3.5/public/admin/template/default/supplier_order.php
diff --git a/10.3.4/public/admin/template/default/supplier_product.php b/10.3.5/public/admin/template/default/supplier_product.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/supplier_product.php
rename to 10.3.5/public/admin/template/default/supplier_product.php
diff --git a/10.3.4/public/admin/template/default/task.php b/10.3.5/public/admin/template/default/task.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/task.php
rename to 10.3.5/public/admin/template/default/task.php
diff --git a/10.3.4/public/admin/template/default/template.php b/10.3.5/public/admin/template/default/template.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/template.php
rename to 10.3.5/public/admin/template/default/template.php
diff --git a/10.3.4/public/admin/template/default/tinymce/icons/default/icons.min.js b/10.3.5/public/admin/template/default/tinymce/icons/default/icons.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/icons/default/icons.min.js
rename to 10.3.5/public/admin/template/default/tinymce/icons/default/icons.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/jquery.tinymce.min.js b/10.3.5/public/admin/template/default/tinymce/jquery.tinymce.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/jquery.tinymce.min.js
rename to 10.3.5/public/admin/template/default/tinymce/jquery.tinymce.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/langs/README.md b/10.3.5/public/admin/template/default/tinymce/langs/README.md
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/langs/README.md
rename to 10.3.5/public/admin/template/default/tinymce/langs/README.md
diff --git a/10.3.4/public/admin/template/default/tinymce/langs/zh_CN.js b/10.3.5/public/admin/template/default/tinymce/langs/zh_CN.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/langs/zh_CN.js
rename to 10.3.5/public/admin/template/default/tinymce/langs/zh_CN.js
diff --git a/10.3.4/public/admin/template/default/tinymce/license.txt b/10.3.5/public/admin/template/default/tinymce/license.txt
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/license.txt
rename to 10.3.5/public/admin/template/default/tinymce/license.txt
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/advlist/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/advlist/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/advlist/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/advlist/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/anchor/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/anchor/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/anchor/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/anchor/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/autolink/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/autolink/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/autolink/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/autolink/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/autoresize/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/autoresize/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/autoresize/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/autoresize/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/autosave/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/autosave/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/autosave/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/autosave/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/bbcode/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/bbcode/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/bbcode/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/bbcode/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/charmap/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/charmap/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/charmap/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/charmap/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/code/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/code/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/code/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/code/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/codesample/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/codesample/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/codesample/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/codesample/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/colorpicker/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/colorpicker/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/colorpicker/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/colorpicker/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/contextmenu/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/contextmenu/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/contextmenu/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/contextmenu/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/directionality/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/directionality/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/directionality/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/directionality/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.js b/10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojiimages.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.js b/10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/emoticons/js/emojis.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/emoticons/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/emoticons/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/emoticons/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/emoticons/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/fullpage/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/fullpage/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/fullpage/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/fullpage/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/fullscreen/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/fullscreen/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/fullscreen/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/fullscreen/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/help/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/help/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/help/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/help/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/hr/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/hr/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/hr/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/hr/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/image/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/image/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/image/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/image/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/imagetools/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/imagetools/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/imagetools/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/imagetools/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/importcss/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/importcss/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/importcss/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/importcss/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/insertdatetime/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/insertdatetime/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/insertdatetime/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/insertdatetime/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/legacyoutput/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/legacyoutput/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/legacyoutput/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/legacyoutput/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/link/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/link/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/link/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/link/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/lists/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/lists/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/lists/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/lists/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/media/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/media/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/media/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/media/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/nonbreaking/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/nonbreaking/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/nonbreaking/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/nonbreaking/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/noneditable/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/noneditable/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/noneditable/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/noneditable/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/pagebreak/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/pagebreak/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/pagebreak/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/pagebreak/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/paste/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/paste/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/paste/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/paste/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/flash/textboxpaste.swf b/10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/flash/textboxpaste.swf
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/flash/textboxpaste.swf
rename to 10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/flash/textboxpaste.swf
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/img/spinner_96.gif b/10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/img/spinner_96.gif
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/img/spinner_96.gif
rename to 10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/img/spinner_96.gif
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/js/wordimport.js b/10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/js/wordimport.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/js/wordimport.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/js/wordimport.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/langs/zh_CN.js b/10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/langs/zh_CN.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/langs/zh_CN.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/langs/zh_CN.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/powerpaste/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/powerpaste/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/preview/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/preview/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/preview/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/preview/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/print/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/print/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/print/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/print/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/quickbars/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/quickbars/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/quickbars/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/quickbars/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/save/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/save/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/save/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/save/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/searchreplace/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/searchreplace/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/searchreplace/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/searchreplace/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/spellchecker/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/spellchecker/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/spellchecker/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/spellchecker/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/tabfocus/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/tabfocus/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/tabfocus/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/tabfocus/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/table/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/table/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/table/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/table/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/template/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/template/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/template/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/template/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/textcolor/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/textcolor/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/textcolor/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/textcolor/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/textpattern/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/textpattern/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/textpattern/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/textpattern/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/toc/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/toc/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/toc/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/toc/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/visualblocks/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/visualblocks/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/visualblocks/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/visualblocks/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/visualchars/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/visualchars/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/visualchars/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/visualchars/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/plugins/wordcount/plugin.min.js b/10.3.5/public/admin/template/default/tinymce/plugins/wordcount/plugin.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/plugins/wordcount/plugin.min.js
rename to 10.3.5/public/admin/template/default/tinymce/plugins/wordcount/plugin.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/content/dark/content.min.css b/10.3.5/public/admin/template/default/tinymce/skins/content/dark/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/content/dark/content.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/content/dark/content.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/content/default/content.min.css b/10.3.5/public/admin/template/default/tinymce/skins/content/default/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/content/default/content.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/content/default/content.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/content/document/content.min.css b/10.3.5/public/admin/template/default/tinymce/skins/content/document/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/content/document/content.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/content/document/content.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/content/writer/content.min.css b/10.3.5/public/admin/template/default/tinymce/skins/content/writer/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/content/writer/content.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/content/writer/content.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.inline.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.inline.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.inline.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.inline.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.mobile.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.mobile.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/content.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.mobile.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/content.inline.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/content.inline.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/content.inline.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/content.inline.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/content.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/content.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/content.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/content.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/content.mobile.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/content.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/content.mobile.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/content.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/skin.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/skin.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/skin.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/skin.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/skin.mobile.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/skin.mobile.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/skin.mobile.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/skin.mobile.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/skin.shadowdom.min.css
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/skins/ui/oxide/skin.shadowdom.min.css
rename to 10.3.5/public/admin/template/default/tinymce/skins/ui/oxide/skin.shadowdom.min.css
diff --git a/10.3.4/public/admin/template/default/tinymce/themes/mobile/theme.min.js b/10.3.5/public/admin/template/default/tinymce/themes/mobile/theme.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/themes/mobile/theme.min.js
rename to 10.3.5/public/admin/template/default/tinymce/themes/mobile/theme.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/themes/silver/theme.min.js b/10.3.5/public/admin/template/default/tinymce/themes/silver/theme.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/themes/silver/theme.min.js
rename to 10.3.5/public/admin/template/default/tinymce/themes/silver/theme.min.js
diff --git a/10.3.4/public/admin/template/default/tinymce/tinymce.d.ts b/10.3.5/public/admin/template/default/tinymce/tinymce.d.ts
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/tinymce.d.ts
rename to 10.3.5/public/admin/template/default/tinymce/tinymce.d.ts
diff --git a/10.3.4/public/admin/template/default/tinymce/tinymce.min.js b/10.3.5/public/admin/template/default/tinymce/tinymce.min.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/tinymce/tinymce.min.js
rename to 10.3.5/public/admin/template/default/tinymce/tinymce.min.js
diff --git a/10.3.4/public/admin/template/default/transaction.php b/10.3.5/public/admin/template/default/transaction.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/transaction.php
rename to 10.3.5/public/admin/template/default/transaction.php
diff --git a/10.3.4/public/admin/template/default/update_bak.php b/10.3.5/public/admin/template/default/update_bak.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/update_bak.php
rename to 10.3.5/public/admin/template/default/update_bak.php
diff --git a/10.3.4/public/admin/template/default/upstream_goods.php b/10.3.5/public/admin/template/default/upstream_goods.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/upstream_goods.php
rename to 10.3.5/public/admin/template/default/upstream_goods.php
diff --git a/10.3.4/public/admin/template/default/upstream_order.php b/10.3.5/public/admin/template/default/upstream_order.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/upstream_order.php
rename to 10.3.5/public/admin/template/default/upstream_order.php
diff --git a/10.3.4/public/admin/template/default/upstream_product.php b/10.3.5/public/admin/template/default/upstream_product.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/upstream_product.php
rename to 10.3.5/public/admin/template/default/upstream_product.php
diff --git a/10.3.4/public/admin/template/default/utils/request.js b/10.3.5/public/admin/template/default/utils/request.js
similarity index 100%
rename from 10.3.4/public/admin/template/default/utils/request.js
rename to 10.3.5/public/admin/template/default/utils/request.js
diff --git a/10.3.4/public/admin/template/default/withdrawal.php b/10.3.5/public/admin/template/default/withdrawal.php
similarity index 100%
rename from 10.3.4/public/admin/template/default/withdrawal.php
rename to 10.3.5/public/admin/template/default/withdrawal.php
diff --git a/10.3.4/public/api/addon.js b/10.3.5/public/api/addon.js
similarity index 100%
rename from 10.3.4/public/api/addon.js
rename to 10.3.5/public/api/addon.js
diff --git a/10.3.4/public/api/client.js b/10.3.5/public/api/client.js
similarity index 100%
rename from 10.3.4/public/api/client.js
rename to 10.3.5/public/api/client.js
diff --git a/10.3.4/public/api/common.js b/10.3.5/public/api/common.js
similarity index 100%
rename from 10.3.4/public/api/common.js
rename to 10.3.5/public/api/common.js
diff --git a/10.3.4/public/api/install.js b/10.3.5/public/api/install.js
similarity index 100%
rename from 10.3.4/public/api/install.js
rename to 10.3.5/public/api/install.js
diff --git a/10.3.4/public/api/manage.js b/10.3.5/public/api/manage.js
similarity index 100%
rename from 10.3.4/public/api/manage.js
rename to 10.3.5/public/api/manage.js
diff --git a/10.3.4/public/api/navigation.js b/10.3.5/public/api/navigation.js
similarity index 100%
rename from 10.3.4/public/api/navigation.js
rename to 10.3.5/public/api/navigation.js
diff --git a/10.3.4/public/api/product.js b/10.3.5/public/api/product.js
similarity index 100%
rename from 10.3.4/public/api/product.js
rename to 10.3.5/public/api/product.js
diff --git a/10.3.4/public/api/recording1559.js b/10.3.5/public/api/recording1559.js
similarity index 100%
rename from 10.3.4/public/api/recording1559.js
rename to 10.3.5/public/api/recording1559.js
diff --git a/10.3.4/public/api/setting.js b/10.3.5/public/api/setting.js
similarity index 100%
rename from 10.3.4/public/api/setting.js
rename to 10.3.5/public/api/setting.js
diff --git a/10.3.4/public/api/update.js b/10.3.5/public/api/update.js
similarity index 100%
rename from 10.3.4/public/api/update.js
rename to 10.3.5/public/api/update.js
diff --git a/10.3.4/public/api/withdrawal.js b/10.3.5/public/api/withdrawal.js
similarity index 100%
rename from 10.3.4/public/api/withdrawal.js
rename to 10.3.5/public/api/withdrawal.js
diff --git a/10.3.4/public/clientarea/language/en-us.php b/10.3.5/public/clientarea/language/en-us.php
similarity index 98%
rename from 10.3.4/public/clientarea/language/en-us.php
rename to 10.3.5/public/clientarea/language/en-us.php
index 8c7a778b..125c0b84 100644
--- a/10.3.4/public/clientarea/language/en-us.php
+++ b/10.3.5/public/clientarea/language/en-us.php
@@ -194,12 +194,12 @@
'log_client_cancel_order' => '{client} cancels order {order}',
- 'client_username' => 'name',
- 'client_company' => 'company',
- 'client_country' => 'country',
- 'client_address' => 'address',
- 'client_language' => 'language',
- 'client_notes' => 'Notes',
+ 'client_username' => 'name ',
+ 'client_company' => 'company ',
+ 'client_country' => 'country ',
+ 'client_address' => 'address ',
+ 'client_language' => 'language ',
+ 'client_notes' => 'Notes ',
# 账户管理
diff --git a/10.3.4/public/clientarea/language/zh-cn.js b/10.3.5/public/clientarea/language/zh-cn.js
similarity index 100%
rename from 10.3.4/public/clientarea/language/zh-cn.js
rename to 10.3.5/public/clientarea/language/zh-cn.js
diff --git a/10.3.4/public/clientarea/language/zh-cn.php b/10.3.5/public/clientarea/language/zh-cn.php
similarity index 100%
rename from 10.3.4/public/clientarea/language/zh-cn.php
rename to 10.3.5/public/clientarea/language/zh-cn.php
diff --git a/10.3.5/public/clientarea/language/zh-hk.php b/10.3.5/public/clientarea/language/zh-hk.php
new file mode 100644
index 00000000..f32cb9c5
--- /dev/null
+++ b/10.3.5/public/clientarea/language/zh-hk.php
@@ -0,0 +1,270 @@
+ '中文繁體',//用於在語言切換下拉中顯示
+ 'display_flag' => 'CN',//用於顯示圖片,使用國家代碼大寫
+ 'add_success' => '添加成功',
+ 'add_fail' => '添加失敗',
+ 'success_message' => '請求成功',
+ 'fail_message' => '請求失敗',
+ 'create_success' => '創建成功',
+ 'create_fail' => '創建失敗',
+ 'delete_success' => '刪除成功',
+ 'delete_fail' => '刪除失敗',
+ 'update_success' => '修改成功',
+ 'update_fail' => '修改失敗',
+ 'save_success' => '保存成功',
+ 'save_fail' => '保存失敗',
+ 'register_success' => '註冊成功',
+ 'register_fail' => '註冊失敗',
+ 'pay_success' => '支付成功',
+ 'pay_fail' => '支付失敗',
+ 'id_error' => 'ID錯誤',
+ 'param_error' => '參數錯誤',
+ 'cannot_repeat_opreate' => '不可重複操作',
+ 'disable_success' => '禁用成功',
+ 'disable_fail' => '禁用失敗',
+ 'enable_success' => '啟用成功',
+ 'enable_fail' => '啟用失敗',
+ 'login_success' => '登錄成功',
+ 'login_fail' => '登錄失敗',
+ 'move_success' => '移動成功',
+ 'move_fail' => '移動失敗',
+ 'buy_fail' => '購買失敗',
+ 'buy_success' => '購買成功',
+ 'missing_route_paramters' => '缺少路由參數{param}',
+ 'range_of_values' => '{key}取值範圍:{value}',
+ 'gateway_error' => '支付接口錯誤',
+ 'login_unauthorized' => '未授權',
+ 'remember_password_value_0_or_1' => '記住密碼取值為0或1',
+ 'password_is_change_please_login_again' => '密碼已修改,請重新授權',
+ 'logout_success' => '成功退出',
+ 'inconsistent_login_ip' => '登錄ip不一致',
+ 'login_user_ID_is_inconsistent' => '登錄用戶ID不一致',
+ 'log_out_automatically_after_2_hours_without_operation' => '2個小時未操作自動退出登錄',
+ 'login_captcha' => '請輸入圖形驗證碼',
+ 'login_captcha_token' => '請輸入圖形驗證碼唯一識別碼',
+ 'login_captcha_error' => '行為驗證碼錯誤,請查看配置是否正確',
+ 'certification_uncertified_cannot_buy_product' => '未實名認證不可購買產品',
+
+ # 權限規則
+ 'clientarea_auth_rule_account_index' => '賬戶詳情',
+ 'clientarea_auth_rule_account_update' => '賬戶編輯',
+ 'clientarea_auth_rule_account_verify_old_phone' => '驗證原手機',
+ 'clientarea_auth_rule_account_update_phone' => '修改手機',
+ 'clientarea_auth_rule_account_verify_old_email' => '驗證原郵箱',
+ 'clientarea_auth_rule_account_update_email' => '修改郵箱',
+ 'clientarea_auth_rule_account_update_password' => '修改密碼',
+ 'clientarea_auth_rule_account_code_update_password' => '驗證碼修改密碼',
+ 'clientarea_auth_rule_account_credit_list' => '餘額變更記錄列表',
+ 'clientarea_auth_rule_api_list' => 'API密鑰列表',
+ 'clientarea_auth_rule_api_create' => '創建API密鑰',
+ 'clientarea_auth_rule_api_white_list_setting' => 'API白名單設置',
+ 'clientarea_auth_rule_api_delete' => '刪除API密鑰',
+ 'clientarea_auth_rule_cart_index' => '獲取購物車',
+ 'clientarea_auth_rule_cart_create' => '加入購物車',
+ 'clientarea_auth_rule_cart_update' => '編輯購物車商品',
+ 'clientarea_auth_rule_cart_update_qty' => '修改購物車商品數量',
+ 'clientarea_auth_rule_cart_delete' => '刪除購物車商品',
+ 'clientarea_auth_rule_cart_batch_delete' => '批量刪除購物車商品',
+ 'clientarea_auth_rule_cart_clear' => '清空購物車',
+ 'clientarea_auth_rule_cart_settle' => '結算購物車',
+ 'clientarea_auth_rule_log_list' => '操作日誌',
+ 'clientarea_auth_rule_order_list' => '訂單列表',
+ 'clientarea_auth_rule_order_index' => '訂單詳情',
+ 'clientarea_auth_rule_order_delete' => '刪除訂單',
+ 'clientarea_auth_rule_pay_pay' => '支付',
+ 'clientarea_auth_rule_pay_status' => '支付狀態',
+ 'clientarea_auth_rule_pay_recharge' => '充值',
+ 'clientarea_auth_rule_pay_credit' => '使用(取消)餘額',
+ 'clientarea_auth_rule_product_settle' => '結算商品',
+ 'clientarea_auth_rule_transaction_list' => '交易記錄',
+
+ # 權限
+ 'clientarea_auth_basic_auth' => '基礎權限',
+ 'clientarea_auth_order_product' => '訂購產品',
+ 'clientarea_auth_payment' => '支付',
+ 'clientarea_auth_account_info' => '賬戶信息',
+ 'clientarea_auth_outline' => '概要',
+ 'clientarea_auth_view_log' => '查看日誌',
+ 'clientarea_auth_finance_info' => '財務信息',
+ 'clientarea_auth_order_record' => '訂單記錄',
+ 'clientarea_auth_transaction' => '交易記錄',
+ 'clientarea_auth_balance_record' => '餘額記錄',
+ 'clientarea_auth_security_center' => '安全中心',
+ 'clientarea_auth_api' => 'API',
+ 'clientarea_auth_api_log' => 'API日誌',
+ 'clientarea_auth_resource_center' => '資源中心',
+ 'clientarea_auth_product_auth' => '產品權限',
+ 'clientarea_auth_on_off_restart' => '開機、關機、重啟',
+ 'clientarea_auth_refund_renew_upgrade' => '退款、續費、升降級',
+ 'clientarea_auth_control_reinstall_rescue_reset_set_mount' => '控制台、重裝、救援、重置密碼、設置啟動項、掛載ISO',
+ 'clientarea_auth_delete' => '刪除',
+
+
+ # 前台登錄註冊修改密碼
+ 'login_type_is_required' => '請傳入登錄類型',
+ 'login_type_only_code_or_password' => '登錄類型取值為code或password',
+ 'login_account_require' => '請輸入賬號',
+ 'login_email_error' => '郵箱格式錯誤',
+ 'login_password_require' => '請輸入密碼',
+ 'login_password_len' => '密碼長度為6-32位',
+ 'login_remember_password_is_0_or_1' => '記住密碼取值為0或1',
+ 'login_email_is_not_register' => '郵箱未註冊',
+ 'login_password_error' => '賬號或密碼錯誤',
+ 'login_email_is_not_open' => '未開啟郵箱登錄',
+ 'login_phone_is_not_open' => '未開啟手機登錄',
+ 'login_phone_verify_is_not_open' => '未開啟手機驗證碼登錄',
+ 'register_type_is_required' => '請傳入註冊類型',
+ 'register_type_only_phone_or_email' => '註冊類型取值為phone或email',
+ 'register_account_is_required' => '請輸入賬號',
+ 'verification_code_has_expired' => '驗證碼已過期',
+ 'register_email_is_not_open' => '未開啟郵箱註冊',
+ 'register_phone_is_not_open' => '未開啟手機註冊',
+ 'login_phone_code_require' => '請選擇國家區號',
+ 'login_phone_code_error' => '國家區號錯誤',
+ 'login_phone_require' => '請輸入手機號',
+ 'login_phone_is_not_right' => '手機號格式錯誤',
+ 'login_phone_is_not_register' => '手機號未註冊',
+ 'login_client_is_disabled' => '該帳號已停用/關閉,請聯繫管理員處理',
+ 'please_enter_vaild_phone' => '請輸入正確的手機號',
+ 'client_name_cannot_exceed_20_chars' => '用戶姓名最多不能超過20個字符',
+ 'passwords_not_match' => '兩次輸入的密碼不一致',
+ 'phone_has_been_registered' => '手機號已被註冊',
+ 'email_has_been_registered' => '郵箱已被註冊',
+
+ # 支付
+ 'order_id_is_not_exist' => '請傳入訂單ID',
+ 'order_is_not_exist' => '訂單不存在',
+ 'order_ownership_error' => '訂單歸屬錯誤',
+ 'order_is_paid' => '訂單已支付',
+ 'gateway_is_required' => '請選擇支付方式',
+ 'no_support_gateway' => '不支持的支付方式',
+ 'recharge_is_not_open' => '充值功能未開啟',
+ 'recharge_amount_is_greater_than_0' => '最小充值金額大於等於0.01',
+ 'min_recharge_is_error' => '最小充值金額為{min}',
+ 'max_recharge_is_error' => '最大充值金額為{max}',
+ 'recharge_success' => '充值成功',
+ 'client_recharge' => '用戶充值',
+ 'recharge_order_cannot_use_credit' => '充值訂單不可使用餘額',
+ 'client_credit_is_0' => '餘額為0',
+ 'client_credit_is_used' => '您已使用過餘額',
+ 'client_credit_is_not_enough' => '餘額不足',
+
+ # 驗證碼
+ 'error_message' => '請求錯誤',
+ 'verification_code_error' => '驗證碼錯誤',
+ 'please_get_verification_code' => '請獲取驗證碼',
+ 'verification_code_can_only_sent_once_per_minute' => '驗證碼每分鐘只能發送一次',
+
+ # 導航
+ 'nav_index' => '首頁',
+ 'nav_host_list' => '產品列表',
+ 'nav_finance_info' => '財務信息',
+ 'nav_account_info' => '賬戶信息',
+ 'nav_security' => '安全',
+ 'nav_goods_list' => '訂購產品',
+
+ # 日誌
+ 'modify_profile' => '{client}將{description}',
+ 'old_to_new' => '{old}改為{new}',
+ 'submit_order' => '{client}提交訂單:{order}包含商品:{product}',
+ 'bound_mobile' => '{client}綁定手機{phone}',
+ 'change_bound_mobile' => '{client}修改綁定手機為{phone}原手機號為:{old_phone}',
+ 'bound_email' => '{client}綁定郵箱{email}',
+ 'change_bound_email' => '{client}修改綁定郵箱為{email}原郵箱為:{old_email}',
+ 'change_password' => '{client}修改密碼',
+
+ 'log_client_login' => '{client}登錄系統',
+ 'log_client_login_status_disabled' => '{client}登錄系統失敗,已被禁用',
+ 'log_client_login_code_error' => '{client}登錄系統失敗,驗證碼不正確',
+ 'log_client_login_account_not_register' => '{client}登錄系統失敗,用戶不存在',
+ 'log_client_login_password_error' => '{client}登錄系統失敗,密碼不正確',
+ 'log_client_logout' => '{client}註銷登錄',
+ 'log_client_register' => '賬號{account}註冊成功',
+ 'log_client_pay_order_success' => '{client}支付訂單:{order_id},支付金額:{amount}',
+ 'log_client_pay_with_credit_fail' => '{client}使用部分餘額支付失敗,失敗原因:餘額不足(可能將餘額應用至其它訂單).已將支付金額存入客戶餘額',
+ 'log_client_recharge' => '{client}交易流水號:{transaction},充值金額:{amount}',
+
+ 'log_client_add_api' => '{client}添加API,API名稱:{name}',
+ 'log_client_edit_api' => '{client}修改API,API名稱:{name}',
+ 'log_client_delete_api' => '{client}刪除API,API名稱:{name}',
+
+ 'log_client_cancel_order' => '{client}取消訂單{order}',
+
+
+ 'client_username' => '姓名',
+ 'client_company' => '公司',
+ 'client_country' => '國家',
+ 'client_address' => '地址',
+ 'client_language' => '語言',
+ 'client_notes' => '備註',
+
+
+ # 賬戶管理
+ 'please_enter_old_password' => '請輸入舊密碼',
+ 'please_enter_new_password' => '請輸入新密碼',
+ 'old_password_error' => '舊密碼錯誤',
+ 'new_password_cannot_same_old_password' => '新密碼不能和舊密碼相同',
+ 'please_enter_code' => '請輸入驗證碼',
+ 'please_verify_old_phone' => '請驗證原手機',
+ 'please_verify_old_email' => '請驗證原郵箱',
+ 'user_not_bind_phone' => '用戶未綁定手機',
+ 'user_not_bind_email' => '用戶未綁定郵箱',
+ 'verify_type_is_required' => '請選擇驗證類型',
+ 'verify_type_only_phone_or_email' => '驗證類型只能為手機或郵箱',
+
+ # 購物車
+ 'clear_cart_success' => '清空購物車成功',
+ 'position_error' => '位置錯誤',
+ 'please_enter_config_options' => '請傳入自定義配置',
+ 'config_options_error' => '自定義配置錯誤',
+ 'please_enter_qty' => '請傳入數量',
+ 'qty_error' => '數量錯誤',
+ 'product_inventory_shortage' => '商品庫存不足',
+ 'there_are_no_items_in_the_cart' => '購物車內沒有商品',
+ 'please_select_products_in_the_cart' => '請選擇購物車商品',
+ 'cannot_only_buy_son_product' => '子商品不可直接購買',
+
+ # API密鑰
+ 'api_is_not_exist' => 'API密鑰不存在',
+ 'please_enter_api_name' => '請輸入API密鑰名稱',
+ 'api_name_cannot_exceed_10_chars' => 'API密鑰名稱最多不能超過10個字符',
+ 'please_select_api_status' => '清選擇是否開啟白名單',
+ 'api_status_error' => '白名單參數錯誤',
+ 'please_enter_api_ip' => '請輸入白名單IP',
+ 'api_ip_error' => '白名單IP格式錯誤',
+ 'api_key_create_max' => '單個用戶最多只允許創建10個API密鑰',
+ 'api_auth_fail' => '鑑權失敗',
+
+ # 產品
+ 'host_notes_cannot_exceed_1000_chars' => '備註最多不能超過1000個字符',
+ 'upstream_host_is_not_exist' => '上游產品不存在',
+
+ # 訂單
+ 'order_cannot_cancel' => '未支付訂單才可以取消',
+ 'order_host_not_unpaid' => '訂單下產品不是未支付狀態,不可取消訂單',
+
+ # 日誌
+ 'log_api_auth_login' => '{client}API鑑權登錄',
+
+ # 意見反饋
+ 'please_enter_feedback_title' => '請輸入標題',
+ 'feedback_title_cannot_exceed_255_chars' => '標題不能超過255個字符',
+ 'please_enter_feedback_description' => '請輸入描述',
+ 'feedback_contact_cannot_exceed_255_chars' => '聯繫方式不能超過255個字符',
+
+ # 方案諮詢
+ 'please_enter_consult_contact' => '請輸入聯繫人',
+ 'consult_contact_cannot_exceed_50_chars' => '聯繫人不能超過50個字符',
+ 'consult_company_cannot_exceed_255_chars' => '公司名稱不能超過255個字符',
+ 'please_enter_consult_phone' => '請輸入手機號碼',
+ 'consult_phone_cannot_exceed_20_chars' => '手機號碼不能超過20個字符',
+ 'please_enter_consult_email' => '請輸入聯繫郵箱',
+ 'consult_email_error' => '聯繫郵箱格式錯誤',
+ 'please_enter_consult_matter' => '請輸入諮詢產品',
+ 'consult_matter_cannot_exceed_1000_chars' => '諮詢產品不能超過1000個字符',
+
+ 'order_description_append' => '{product_name}({name}),購買時長:{billing_cycle_name}({time})',
+];
diff --git a/10.3.4/public/clientarea/template/default/.vscode/settings.json b/10.3.5/public/clientarea/template/default/.vscode/settings.json
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/.vscode/settings.json
rename to 10.3.5/public/clientarea/template/default/.vscode/settings.json
diff --git a/10.3.4/public/clientarea/template/default/NotFound.php b/10.3.5/public/clientarea/template/default/NotFound.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/NotFound.php
rename to 10.3.5/public/clientarea/template/default/NotFound.php
diff --git a/10.3.4/public/clientarea/template/default/account.php b/10.3.5/public/clientarea/template/default/account.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/account.php
rename to 10.3.5/public/clientarea/template/default/account.php
diff --git a/10.3.4/public/clientarea/template/default/agreement.php b/10.3.5/public/clientarea/template/default/agreement.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/agreement.php
rename to 10.3.5/public/clientarea/template/default/agreement.php
diff --git a/10.3.4/public/clientarea/template/default/api/account.js b/10.3.5/public/clientarea/template/default/api/account.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/account.js
rename to 10.3.5/public/clientarea/template/default/api/account.js
diff --git a/10.3.4/public/clientarea/template/default/api/aliHome.js b/10.3.5/public/clientarea/template/default/api/aliHome.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/aliHome.js
rename to 10.3.5/public/clientarea/template/default/api/aliHome.js
diff --git a/10.3.4/public/clientarea/template/default/api/applicationDetail.js b/10.3.5/public/clientarea/template/default/api/applicationDetail.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/applicationDetail.js
rename to 10.3.5/public/clientarea/template/default/api/applicationDetail.js
diff --git a/10.3.4/public/clientarea/template/default/api/baiduHome.js b/10.3.5/public/clientarea/template/default/api/baiduHome.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/baiduHome.js
rename to 10.3.5/public/clientarea/template/default/api/baiduHome.js
diff --git a/10.3.4/public/clientarea/template/default/api/certification.js b/10.3.5/public/clientarea/template/default/api/certification.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/certification.js
rename to 10.3.5/public/clientarea/template/default/api/certification.js
diff --git a/10.3.4/public/clientarea/template/default/api/childAccount.js b/10.3.5/public/clientarea/template/default/api/childAccount.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/childAccount.js
rename to 10.3.5/public/clientarea/template/default/api/childAccount.js
diff --git a/10.3.4/public/clientarea/template/default/api/cloud.js b/10.3.5/public/clientarea/template/default/api/cloud.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/cloud.js
rename to 10.3.5/public/clientarea/template/default/api/cloud.js
diff --git a/10.3.4/public/clientarea/template/default/api/common.js b/10.3.5/public/clientarea/template/default/api/common.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/common.js
rename to 10.3.5/public/clientarea/template/default/api/common.js
diff --git a/10.3.4/public/clientarea/template/default/api/common_config.js b/10.3.5/public/clientarea/template/default/api/common_config.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/common_config.js
rename to 10.3.5/public/clientarea/template/default/api/common_config.js
diff --git a/10.3.4/public/clientarea/template/default/api/common_product.js b/10.3.5/public/clientarea/template/default/api/common_product.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/common_product.js
rename to 10.3.5/public/clientarea/template/default/api/common_product.js
diff --git a/10.3.4/public/clientarea/template/default/api/dcim.js b/10.3.5/public/clientarea/template/default/api/dcim.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/dcim.js
rename to 10.3.5/public/clientarea/template/default/api/dcim.js
diff --git a/10.3.4/public/clientarea/template/default/api/dcimOrder.js b/10.3.5/public/clientarea/template/default/api/dcimOrder.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/dcimOrder.js
rename to 10.3.5/public/clientarea/template/default/api/dcimOrder.js
diff --git a/10.3.4/public/clientarea/template/default/api/file_download.js b/10.3.5/public/clientarea/template/default/api/file_download.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/file_download.js
rename to 10.3.5/public/clientarea/template/default/api/file_download.js
diff --git a/10.3.4/public/clientarea/template/default/api/finance.js b/10.3.5/public/clientarea/template/default/api/finance.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/finance.js
rename to 10.3.5/public/clientarea/template/default/api/finance.js
diff --git a/10.3.4/public/clientarea/template/default/api/goods.js b/10.3.5/public/clientarea/template/default/api/goods.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/goods.js
rename to 10.3.5/public/clientarea/template/default/api/goods.js
diff --git a/10.3.4/public/clientarea/template/default/api/goodsList.js b/10.3.5/public/clientarea/template/default/api/goodsList.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/goodsList.js
rename to 10.3.5/public/clientarea/template/default/api/goodsList.js
diff --git a/10.3.4/public/clientarea/template/default/api/help.js b/10.3.5/public/clientarea/template/default/api/help.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/help.js
rename to 10.3.5/public/clientarea/template/default/api/help.js
diff --git a/10.3.4/public/clientarea/template/default/api/home.js b/10.3.5/public/clientarea/template/default/api/home.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/home.js
rename to 10.3.5/public/clientarea/template/default/api/home.js
diff --git a/10.3.4/public/clientarea/template/default/api/market.js b/10.3.5/public/clientarea/template/default/api/market.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/market.js
rename to 10.3.5/public/clientarea/template/default/api/market.js
diff --git a/10.3.4/public/clientarea/template/default/api/myServe.js b/10.3.5/public/clientarea/template/default/api/myServe.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/myServe.js
rename to 10.3.5/public/clientarea/template/default/api/myServe.js
diff --git a/10.3.4/public/clientarea/template/default/api/news.js b/10.3.5/public/clientarea/template/default/api/news.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/news.js
rename to 10.3.5/public/clientarea/template/default/api/news.js
diff --git a/10.3.4/public/clientarea/template/default/api/order.js b/10.3.5/public/clientarea/template/default/api/order.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/order.js
rename to 10.3.5/public/clientarea/template/default/api/order.js
diff --git a/10.3.4/public/clientarea/template/default/api/orderDetail.js b/10.3.5/public/clientarea/template/default/api/orderDetail.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/orderDetail.js
rename to 10.3.5/public/clientarea/template/default/api/orderDetail.js
diff --git a/10.3.4/public/clientarea/template/default/api/product.js b/10.3.5/public/clientarea/template/default/api/product.js
similarity index 79%
rename from 10.3.4/public/clientarea/template/default/api/product.js
rename to 10.3.5/public/clientarea/template/default/api/product.js
index 37beaf1a..ecff2484 100644
--- a/10.3.4/public/clientarea/template/default/api/product.js
+++ b/10.3.5/public/clientarea/template/default/api/product.js
@@ -7,8 +7,8 @@ function getProductDetail(id) {
return Axios.get(`/host/${id}/view`)
}
// 获取订购页
-function getOrederConfig(id) {
- return Axios.get(`/product/${id}/config_option`)
+function getOrederConfig(params) {
+ return Axios.get(`/product/${params.id}/config_option`, { params })
}
// 产品详情
function hostDetail(params) {
diff --git a/10.3.4/public/clientarea/template/default/api/referral.js b/10.3.5/public/clientarea/template/default/api/referral.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/referral.js
rename to 10.3.5/public/clientarea/template/default/api/referral.js
diff --git a/10.3.4/public/clientarea/template/default/api/security.js b/10.3.5/public/clientarea/template/default/api/security.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/security.js
rename to 10.3.5/public/clientarea/template/default/api/security.js
diff --git a/10.3.4/public/clientarea/template/default/api/security_group.js b/10.3.5/public/clientarea/template/default/api/security_group.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/security_group.js
rename to 10.3.5/public/clientarea/template/default/api/security_group.js
diff --git a/10.3.4/public/clientarea/template/default/api/serveDetail.js b/10.3.5/public/clientarea/template/default/api/serveDetail.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/serveDetail.js
rename to 10.3.5/public/clientarea/template/default/api/serveDetail.js
diff --git a/10.3.4/public/clientarea/template/default/api/shopping.js b/10.3.5/public/clientarea/template/default/api/shopping.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/shopping.js
rename to 10.3.5/public/clientarea/template/default/api/shopping.js
diff --git a/10.3.4/public/clientarea/template/default/api/template.js b/10.3.5/public/clientarea/template/default/api/template.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/template.js
rename to 10.3.5/public/clientarea/template/default/api/template.js
diff --git a/10.3.4/public/clientarea/template/default/api/ticket.js b/10.3.5/public/clientarea/template/default/api/ticket.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/ticket.js
rename to 10.3.5/public/clientarea/template/default/api/ticket.js
diff --git a/10.3.4/public/clientarea/template/default/api/withdraw.js b/10.3.5/public/clientarea/template/default/api/withdraw.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/api/withdraw.js
rename to 10.3.5/public/clientarea/template/default/api/withdraw.js
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudBackupSnapshot.php b/10.3.5/public/clientarea/template/default/bak/cloudBackupSnapshot.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudBackupSnapshot.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudBackupSnapshot.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudCharts.php b/10.3.5/public/clientarea/template/default/bak/cloudCharts.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudCharts.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudCharts.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudDetail.php b/10.3.5/public/clientarea/template/default/bak/cloudDetail.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudDetail.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudDetail.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudDisk.php b/10.3.5/public/clientarea/template/default/bak/cloudDisk.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudDisk.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudDisk.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudList.php b/10.3.5/public/clientarea/template/default/bak/cloudList.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudList.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudList.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudLog.php b/10.3.5/public/clientarea/template/default/bak/cloudLog.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudLog.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudLog.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudManager.php b/10.3.5/public/clientarea/template/default/bak/cloudManager.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudManager.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudManager.php
diff --git a/10.3.4/public/clientarea/template/default/bak/cloudNet.php b/10.3.5/public/clientarea/template/default/bak/cloudNet.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/cloudNet.php
rename to 10.3.5/public/clientarea/template/default/bak/cloudNet.php
diff --git a/10.3.4/public/clientarea/template/default/bak/common_product.php b/10.3.5/public/clientarea/template/default/bak/common_product.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/common_product.php
rename to 10.3.5/public/clientarea/template/default/bak/common_product.php
diff --git a/10.3.4/public/clientarea/template/default/bak/common_product_detail.php b/10.3.5/public/clientarea/template/default/bak/common_product_detail.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/common_product_detail.php
rename to 10.3.5/public/clientarea/template/default/bak/common_product_detail.php
diff --git a/10.3.4/public/clientarea/template/default/bak/common_product_list.php b/10.3.5/public/clientarea/template/default/bak/common_product_list.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/common_product_list.php
rename to 10.3.5/public/clientarea/template/default/bak/common_product_list.php
diff --git a/10.3.4/public/clientarea/template/default/bak/dcimDetail.php b/10.3.5/public/clientarea/template/default/bak/dcimDetail.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/dcimDetail.php
rename to 10.3.5/public/clientarea/template/default/bak/dcimDetail.php
diff --git a/10.3.4/public/clientarea/template/default/bak/dcimList.php b/10.3.5/public/clientarea/template/default/bak/dcimList.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/dcimList.php
rename to 10.3.5/public/clientarea/template/default/bak/dcimList.php
diff --git a/10.3.4/public/clientarea/template/default/bak/dcimOrder.php b/10.3.5/public/clientarea/template/default/bak/dcimOrder.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/dcimOrder.php
rename to 10.3.5/public/clientarea/template/default/bak/dcimOrder.php
diff --git a/10.3.4/public/clientarea/template/default/bak/file_download.php b/10.3.5/public/clientarea/template/default/bak/file_download.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/file_download.php
rename to 10.3.5/public/clientarea/template/default/bak/file_download.php
diff --git a/10.3.4/public/clientarea/template/default/bak/help.php b/10.3.5/public/clientarea/template/default/bak/help.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/help.php
rename to 10.3.5/public/clientarea/template/default/bak/help.php
diff --git a/10.3.4/public/clientarea/template/default/bak/helpTotal.php b/10.3.5/public/clientarea/template/default/bak/helpTotal.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/helpTotal.php
rename to 10.3.5/public/clientarea/template/default/bak/helpTotal.php
diff --git a/10.3.4/public/clientarea/template/default/bak/index_bak.php b/10.3.5/public/clientarea/template/default/bak/index_bak.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/index_bak.php
rename to 10.3.5/public/clientarea/template/default/bak/index_bak.php
diff --git a/10.3.4/public/clientarea/template/default/bak/index_bak1.php b/10.3.5/public/clientarea/template/default/bak/index_bak1.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/index_bak1.php
rename to 10.3.5/public/clientarea/template/default/bak/index_bak1.php
diff --git a/10.3.4/public/clientarea/template/default/bak/index_bak2.php b/10.3.5/public/clientarea/template/default/bak/index_bak2.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/index_bak2.php
rename to 10.3.5/public/clientarea/template/default/bak/index_bak2.php
diff --git a/10.3.4/public/clientarea/template/default/bak/news.php b/10.3.5/public/clientarea/template/default/bak/news.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/news.php
rename to 10.3.5/public/clientarea/template/default/bak/news.php
diff --git a/10.3.4/public/clientarea/template/default/bak/news_detail.php b/10.3.5/public/clientarea/template/default/bak/news_detail.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/news_detail.php
rename to 10.3.5/public/clientarea/template/default/bak/news_detail.php
diff --git a/10.3.4/public/clientarea/template/default/bak/order.php b/10.3.5/public/clientarea/template/default/bak/order.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/order.php
rename to 10.3.5/public/clientarea/template/default/bak/order.php
diff --git a/10.3.4/public/clientarea/template/default/bak/ticket.php b/10.3.5/public/clientarea/template/default/bak/ticket.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/ticket.php
rename to 10.3.5/public/clientarea/template/default/bak/ticket.php
diff --git a/10.3.4/public/clientarea/template/default/bak/ticketDetails.php b/10.3.5/public/clientarea/template/default/bak/ticketDetails.php
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/bak/ticketDetails.php
rename to 10.3.5/public/clientarea/template/default/bak/ticketDetails.php
diff --git a/10.3.4/public/clientarea/template/default/components/asideMenu/aliAsideMenu.js b/10.3.5/public/clientarea/template/default/components/asideMenu/aliAsideMenu.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/asideMenu/aliAsideMenu.js
rename to 10.3.5/public/clientarea/template/default/components/asideMenu/aliAsideMenu.js
diff --git a/10.3.4/public/clientarea/template/default/components/asideMenu/asideMenu.js b/10.3.5/public/clientarea/template/default/components/asideMenu/asideMenu.js
similarity index 96%
rename from 10.3.4/public/clientarea/template/default/components/asideMenu/asideMenu.js
rename to 10.3.5/public/clientarea/template/default/components/asideMenu/asideMenu.js
index 3ee9a09c..4cabf317 100644
--- a/10.3.4/public/clientarea/template/default/components/asideMenu/asideMenu.js
+++ b/10.3.5/public/clientarea/template/default/components/asideMenu/asideMenu.js
@@ -94,9 +94,15 @@ const asideMenu = {
// },
// 获取通用配置
async getCommonSetting() {
- // console.log(JSON.parse(localStorage.getItem("common_set_before")));
- this.commonData = JSON.parse(localStorage.getItem("common_set_before"))
- this.logo = this.commonData.system_logo;
+ try {
+ const res = await getCommon();
+ this.commonData = res.data.data;
+ localStorage.setItem(
+ "common_set_before",
+ JSON.stringify(res.data.data)
+ );
+ this.logo = this.commonData.system_logo;
+ } catch (error) {}
},
// 判断当前菜单激活
setActiveMenu() {
diff --git a/10.3.4/public/clientarea/template/default/components/captchaDialog/captchaDialog.js b/10.3.5/public/clientarea/template/default/components/captchaDialog/captchaDialog.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/captchaDialog/captchaDialog.js
rename to 10.3.5/public/clientarea/template/default/components/captchaDialog/captchaDialog.js
diff --git a/10.3.4/public/clientarea/template/default/components/cashBack/cashBack.js b/10.3.5/public/clientarea/template/default/components/cashBack/cashBack.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/cashBack/cashBack.js
rename to 10.3.5/public/clientarea/template/default/components/cashBack/cashBack.js
diff --git a/10.3.4/public/clientarea/template/default/components/cashCoupon/cashCoupon.js b/10.3.5/public/clientarea/template/default/components/cashCoupon/cashCoupon.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/cashCoupon/cashCoupon.js
rename to 10.3.5/public/clientarea/template/default/components/cashCoupon/cashCoupon.js
diff --git a/10.3.4/public/clientarea/template/default/components/certificationTips/certificationDialog.js b/10.3.5/public/clientarea/template/default/components/certificationTips/certificationDialog.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/certificationTips/certificationDialog.js
rename to 10.3.5/public/clientarea/template/default/components/certificationTips/certificationDialog.js
diff --git a/10.3.4/public/clientarea/template/default/components/countDownButton/countDownButton.js b/10.3.5/public/clientarea/template/default/components/countDownButton/countDownButton.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/countDownButton/countDownButton.js
rename to 10.3.5/public/clientarea/template/default/components/countDownButton/countDownButton.js
diff --git a/10.3.4/public/clientarea/template/default/components/discountCode/discountCode.js b/10.3.5/public/clientarea/template/default/components/discountCode/discountCode.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/discountCode/discountCode.js
rename to 10.3.5/public/clientarea/template/default/components/discountCode/discountCode.js
diff --git a/10.3.4/public/clientarea/template/default/components/flowPacket/flowPacket.js b/10.3.5/public/clientarea/template/default/components/flowPacket/flowPacket.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/flowPacket/flowPacket.js
rename to 10.3.5/public/clientarea/template/default/components/flowPacket/flowPacket.js
diff --git a/10.3.4/public/clientarea/template/default/components/loginDialog/loginDialog.js b/10.3.5/public/clientarea/template/default/components/loginDialog/loginDialog.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/loginDialog/loginDialog.js
rename to 10.3.5/public/clientarea/template/default/components/loginDialog/loginDialog.js
diff --git a/10.3.4/public/clientarea/template/default/components/pagination/pagination.js b/10.3.5/public/clientarea/template/default/components/pagination/pagination.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/pagination/pagination.js
rename to 10.3.5/public/clientarea/template/default/components/pagination/pagination.js
diff --git a/10.3.4/public/clientarea/template/default/components/payDialog/payDialog.js b/10.3.5/public/clientarea/template/default/components/payDialog/payDialog.js
similarity index 99%
rename from 10.3.4/public/clientarea/template/default/components/payDialog/payDialog.js
rename to 10.3.5/public/clientarea/template/default/components/payDialog/payDialog.js
index 845cca72..957e0068 100644
--- a/10.3.4/public/clientarea/template/default/components/payDialog/payDialog.js
+++ b/10.3.5/public/clientarea/template/default/components/payDialog/payDialog.js
@@ -427,7 +427,7 @@ const payDialog = {
handleOk() {
this.doPayLoading = true
const params = {
- gateway: this.zfData.gateway,
+ gateway: 'credit',
id: this.zfData.orderId
}
if (this.zfData.gateway == 'CreditLimit') {
diff --git a/10.3.4/public/clientarea/template/default/components/payDialog/payDialog_1.js b/10.3.5/public/clientarea/template/default/components/payDialog/payDialog_1.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/payDialog/payDialog_1.js
rename to 10.3.5/public/clientarea/template/default/components/payDialog/payDialog_1.js
diff --git a/10.3.4/public/clientarea/template/default/components/refundDialog/refundDialog.js b/10.3.5/public/clientarea/template/default/components/refundDialog/refundDialog.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/refundDialog/refundDialog.js
rename to 10.3.5/public/clientarea/template/default/components/refundDialog/refundDialog.js
diff --git a/10.3.5/public/clientarea/template/default/components/topMenu/topMenu.js b/10.3.5/public/clientarea/template/default/components/topMenu/topMenu.js
new file mode 100644
index 00000000..0b57c2ba
--- /dev/null
+++ b/10.3.5/public/clientarea/template/default/components/topMenu/topMenu.js
@@ -0,0 +1,504 @@
+// css 样式依赖common.css
+ELEMENT.Dialog.props.closeOnClickModal.default = false;
+const topMenu = {
+ template: `
+
+
+
+
+
+
+
+
+
+
+
+ `,
+ directives: {
+ plugin: {
+ inserted: function (el, binding) {
+ const addonsDom = document.querySelector("#addons_js");
+ let addonsArr = [];
+ let arr = [];
+ if (addonsDom) {
+ addonsArr = JSON.parse(addonsDom.getAttribute("addons_js")) || []; // 插件列表
+ // 判断是否安装了某插件
+ arr = addonsArr.filter((item) => item.name === binding.value);
+ if (arr.length === 0) {
+ // 未安装 移除该元素的dom
+ el.parentNode.removeChild(el);
+ }
+ } else {
+ el.parentNode.removeChild(el);
+ }
+ },
+ },
+ },
+ data() {
+ return {
+ topInput: "",
+ // curSrc: url+'/img/common/'+lang_obj.countryImg+'.png' ,
+ curSrc: `/upload/common/country/${lang_obj.countryImg}.png`,
+ isShowMenu: false,
+ logo: `/upload/logo.png`,
+ menu1: [],
+ menu2: [],
+ menuActiveId: "",
+ firstName: "",
+ hasSeparate: false,
+ produclData: [],
+ selectValue: "",
+ shoppingCarNum: 0,
+ headBgcList: [
+ "#3699FF",
+ "#57C3EA",
+ "#5CC2D7",
+ "#EF8BA2",
+ "#C1DB81",
+ "#F1978C",
+ "#F08968",
+ ],
+ commonData: {
+ lang_list: [],
+ },
+ unLogin: true,
+ isGetData: false,
+ msgList: [],
+ msgCount: 0,
+ accountData: {},
+ msgType: {
+ official: lang.subaccount_text54,
+ },
+ };
+ },
+ props: {
+ isShowMore: {
+ type: Boolean,
+ default: false,
+ },
+ isShowCart: {
+ type: Boolean,
+ default: true,
+ },
+ num: {
+ type: Number,
+ default: 0,
+ },
+ },
+ watch: {
+ num(val) {
+ if (val) {
+ this.shoppingCarNum = val;
+ }
+ },
+ },
+ filters: {
+ formateTime(time) {
+ if (time && time !== 0) {
+ const date = new Date(time * 1000);
+ Y = date.getFullYear() + "-";
+ M =
+ (date.getMonth() + 1 < 10
+ ? "0" + (date.getMonth() + 1)
+ : date.getMonth() + 1) + "-";
+ D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
+ h =
+ (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) +
+ ":";
+ m =
+ date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+ return Y + M + D + h + m;
+ } else {
+ return "--";
+ }
+ },
+ },
+ created() {
+ this.GetIndexData();
+ this.doGetMenu();
+ this.setActiveMenu();
+ this.getCartList();
+ this.getCommonSetting();
+ },
+ mounted() {
+ if (this.getPluginId("ClientCare")) {
+ this.getMessageList();
+ }
+ },
+ methods: {
+ getPluginId(pluginName) {
+ const addonsDom = document.querySelector("#addons_js");
+ if (addonsDom) {
+ const addonsArr = JSON.parse(addonsDom.getAttribute("addons_js")); // 插件列表
+ for (let index = 0; index < addonsArr.length; index++) {
+ const element = addonsArr[index];
+ if (pluginName === element.name) {
+ return element.id;
+ }
+ }
+ } else {
+ throw new Error("请检查页面是否有插件dom");
+ }
+ },
+ goAccount() {
+ location.href = "/account.htm?type=3";
+ },
+ getMessageList() {
+ messageInfo().then((res) => {
+ this.msgList = res.data.data.credit_limit.list;
+ this.msgCount = res.data.data.credit_limit.count;
+ });
+ },
+ goMsgDetail(id) {
+ location.href = `/plugin/${getPluginId(
+ "ClientCare"
+ )}/msgDetail.htm?id=${id}`;
+ },
+ // 退出登录
+ logOut() {
+ this.$confirm(lang.topMenu_text4, lang.topMenu_text5, {
+ confirmButtonText: lang.topMenu_text6,
+ cancelButtonText: lang.topMenu_text7,
+ type: "warning",
+ })
+ .then(() => {
+ //const res = await Axios.post('/logout')
+ Axios.post("/logout").then((res) => {
+ localStorage.removeItem("jwt");
+ setTimeout(() => {
+ location.href = "/login.htm";
+ }, 300);
+ });
+ })
+ .catch(() => {});
+ },
+ goLogin() {
+ location.href = "/login.htm";
+ },
+ goHome() {
+ localStorage.frontMenusActiveId = "";
+ location.href = "/home.htm";
+ },
+ // 获取购物车数量
+ getCartList() {
+ cartList().then((res) => {
+ this.shoppingCarNum = res.data.data.list.filter(
+ (item) => item.customfield?.is_domain !== 1
+ ).length;
+ });
+ },
+ GetIndexData() {
+ accountDetail()
+ .then((res) => {
+ if (res.data.status == 200) {
+ this.accountData = res.data.data.account;
+ localStorage.lang = res.data.data.account.language || "zh-cn";
+ this.firstName = res.data.data.account.username
+ .substring(0, 1)
+ .toUpperCase();
+ this.unLogin = false;
+ if (sessionStorage.headBgc) {
+ this.$refs.headBoxRef.style.background = sessionStorage.headBgc;
+ } else {
+ const index = Math.round(
+ Math.random() * (this.headBgcList.length - 1)
+ );
+ this.$refs.headBoxRef.style.background = this.headBgcList[index];
+ sessionStorage.headBgc = this.headBgcList[index];
+ }
+ }
+ })
+ .finally(() => {
+ this.isGetData = true;
+ });
+ },
+ goShoppingCar() {
+ localStorage.frontMenusActiveId = "";
+ location.href = "/shoppingCar.htm";
+ },
+ goAccountpage() {
+ location.href = "/account.htm";
+ },
+ // 语言切换
+ changeLang(e) {
+ if (localStorage.getItem("lang") !== e || !localStorage.getItem("lang")) {
+ localStorage.setItem("lang", e);
+ this.accountData.language = e;
+ this.saveAccount();
+ }
+ },
+ // 编辑基础资料
+ saveAccount() {
+ const { username, company, country, address, language, notes } =
+ this.accountData;
+ const params = {
+ username,
+ company,
+ country,
+ address,
+ language,
+ notes,
+ };
+ updateAccount(params)
+ .then((res) => {
+ if (res.data.status === 200) {
+ this.$message.success(res.data.msg);
+ window.location.reload();
+ }
+ })
+ .catch((error) => {
+ this.$message.error(error.data.msg);
+ });
+ },
+ handleCommand(e) {
+ if (e == "account") {
+ this.goAccountpage();
+ }
+ if (e == "quit") {
+ this.logOut();
+ }
+ console.log(e);
+ },
+ // 全局搜索
+ querySearchAsync(queryString, cb) {
+ if (queryString.length == 0) {
+ return false;
+ }
+ const params = {
+ keywords: queryString,
+ };
+ globalSearch(params).then((res) => {
+ if (res.data.status === 200) {
+ const data = res.data.data.hosts;
+ const result = [];
+ data.map((item) => {
+ let value = item.product_name + "#/" + item.id;
+ result.push({
+ id: item.id,
+ value,
+ name: item.name,
+ });
+ });
+ cb(result);
+ }
+ });
+ },
+ handleSelect(key) {
+ localStorage.setItem("frontMenusActiveId", key);
+ // 跳转到对应路径
+ location.href = "/" + key;
+ },
+ showMenu() {
+ this.isShowMenu = true;
+ },
+ handleClose() {
+ this.isShowMenu = false;
+ },
+ // 获取前台导航
+ doGetMenu() {
+ // 判断本地缓存是否有 前台导航,没有则调用接口获取,有则直接使用
+ if (JSON.parse(localStorage.getItem("frontMenus"))) {
+ const menu = JSON.parse(localStorage.getItem("frontMenus"));
+ let index = menu.findIndex((item) => item.name == "分隔符");
+ if (index != -1) {
+ this.hasSeparate = true;
+ this.menu1 = menu.slice(0, index);
+ this.menu2 = menu.slice(index + 1);
+ } else {
+ this.hasSeparate = false;
+ this.menu1 = menu;
+ }
+ this.setActiveMenu();
+ } else {
+ getMenu().then((res) => {
+ if (res.data.status === 200) {
+ const menu = res.data.data.menu;
+ localStorage.setItem("frontMenus", JSON.stringify(menu));
+ let index = menu.findIndex((item) => item.name == "分隔符");
+ if (index != -1) {
+ this.hasSeparate = true;
+ this.menu1 = menu.slice(0, index);
+ this.menu2 = menu.slice(index + 1);
+ } else {
+ this.hasSeparate = false;
+ this.menu1 = menu;
+ }
+ this.setActiveMenu();
+ }
+ });
+ }
+ },
+ // 判断当前菜单激活
+ setActiveMenu() {
+ const url = location.href;
+ let isTrue = true;
+ this.menu1.forEach((item) => {
+ // 当前url下存在和导航菜单对应的路径
+ if (item.url && url.indexOf(item.url) != -1) {
+ this.menuActiveId = item.url;
+ isTrue = false;
+ }
+ });
+ if (isTrue) {
+ // 不存在对应的 读取本地存储的 导航id\
+ this.menuActiveId = localStorage.getItem("frontMenusActiveId");
+ }
+ },
+ // 页面跳转
+ toPage(e) {
+ location.href = "/" + e.url;
+ },
+
+ // 获取通用配置
+ async getCommonSetting() {
+ try {
+ if (!localStorage.getItem("common_set_before")) {
+ const res = await getCommon();
+ this.commonData = res.data.data;
+ localStorage.setItem(
+ "common_set_before",
+ JSON.stringify(res.data.data)
+ );
+ }
+ this.commonData = JSON.parse(localStorage.getItem('common_set_before'))
+ this.logo = this.commonData.system_logo;
+ } catch (error) {}
+ },
+ },
+};
diff --git a/10.3.4/public/clientarea/template/default/components/withdrawDialog/withdrawDialog.js b/10.3.5/public/clientarea/template/default/components/withdrawDialog/withdrawDialog.js
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/components/withdrawDialog/withdrawDialog.js
rename to 10.3.5/public/clientarea/template/default/components/withdrawDialog/withdrawDialog.js
diff --git a/10.3.4/public/clientarea/template/default/css/NotFound.css b/10.3.5/public/clientarea/template/default/css/NotFound.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/NotFound.css
rename to 10.3.5/public/clientarea/template/default/css/NotFound.css
diff --git a/10.3.4/public/clientarea/template/default/css/account.css b/10.3.5/public/clientarea/template/default/css/account.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/account.css
rename to 10.3.5/public/clientarea/template/default/css/account.css
diff --git a/10.3.4/public/clientarea/template/default/css/agreement.css b/10.3.5/public/clientarea/template/default/css/agreement.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/agreement.css
rename to 10.3.5/public/clientarea/template/default/css/agreement.css
diff --git a/10.3.4/public/clientarea/template/default/css/agreement.less b/10.3.5/public/clientarea/template/default/css/agreement.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/agreement.less
rename to 10.3.5/public/clientarea/template/default/css/agreement.less
diff --git a/10.3.4/public/clientarea/template/default/css/authentication.css b/10.3.5/public/clientarea/template/default/css/authentication.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/authentication.css
rename to 10.3.5/public/clientarea/template/default/css/authentication.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/file_download.css b/10.3.5/public/clientarea/template/default/css/bak/file_download.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/file_download.css
rename to 10.3.5/public/clientarea/template/default/css/bak/file_download.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/help.css b/10.3.5/public/clientarea/template/default/css/bak/help.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/help.css
rename to 10.3.5/public/clientarea/template/default/css/bak/help.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/help.less b/10.3.5/public/clientarea/template/default/css/bak/help.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/help.less
rename to 10.3.5/public/clientarea/template/default/css/bak/help.less
diff --git a/10.3.4/public/clientarea/template/default/css/bak/helpTotal.css b/10.3.5/public/clientarea/template/default/css/bak/helpTotal.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/helpTotal.css
rename to 10.3.5/public/clientarea/template/default/css/bak/helpTotal.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/helpTotal.less b/10.3.5/public/clientarea/template/default/css/bak/helpTotal.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/helpTotal.less
rename to 10.3.5/public/clientarea/template/default/css/bak/helpTotal.less
diff --git a/10.3.4/public/clientarea/template/default/css/bak/news.css b/10.3.5/public/clientarea/template/default/css/bak/news.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/news.css
rename to 10.3.5/public/clientarea/template/default/css/bak/news.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/ticket.css b/10.3.5/public/clientarea/template/default/css/bak/ticket.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/ticket.css
rename to 10.3.5/public/clientarea/template/default/css/bak/ticket.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/ticket.less b/10.3.5/public/clientarea/template/default/css/bak/ticket.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/ticket.less
rename to 10.3.5/public/clientarea/template/default/css/bak/ticket.less
diff --git a/10.3.4/public/clientarea/template/default/css/bak/ticketDetails.css b/10.3.5/public/clientarea/template/default/css/bak/ticketDetails.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/ticketDetails.css
rename to 10.3.5/public/clientarea/template/default/css/bak/ticketDetails.css
diff --git a/10.3.4/public/clientarea/template/default/css/bak/ticketDetails.less b/10.3.5/public/clientarea/template/default/css/bak/ticketDetails.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/bak/ticketDetails.less
rename to 10.3.5/public/clientarea/template/default/css/bak/ticketDetails.less
diff --git a/10.3.4/public/clientarea/template/default/css/certification.css b/10.3.5/public/clientarea/template/default/css/certification.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/certification.css
rename to 10.3.5/public/clientarea/template/default/css/certification.css
diff --git a/10.3.4/public/clientarea/template/default/css/common/common.css b/10.3.5/public/clientarea/template/default/css/common/common.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common/common.css
rename to 10.3.5/public/clientarea/template/default/css/common/common.css
diff --git a/10.3.4/public/clientarea/template/default/css/common/common.less b/10.3.5/public/clientarea/template/default/css/common/common.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common/common.less
rename to 10.3.5/public/clientarea/template/default/css/common/common.less
diff --git a/10.3.4/public/clientarea/template/default/css/common/element.css b/10.3.5/public/clientarea/template/default/css/common/element.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common/element.css
rename to 10.3.5/public/clientarea/template/default/css/common/element.css
diff --git a/10.3.4/public/clientarea/template/default/css/common/fonts/element-icons.ttf b/10.3.5/public/clientarea/template/default/css/common/fonts/element-icons.ttf
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common/fonts/element-icons.ttf
rename to 10.3.5/public/clientarea/template/default/css/common/fonts/element-icons.ttf
diff --git a/10.3.4/public/clientarea/template/default/css/common/fonts/element-icons.woff b/10.3.5/public/clientarea/template/default/css/common/fonts/element-icons.woff
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common/fonts/element-icons.woff
rename to 10.3.5/public/clientarea/template/default/css/common/fonts/element-icons.woff
diff --git a/10.3.4/public/clientarea/template/default/css/common_config.css b/10.3.5/public/clientarea/template/default/css/common_config.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common_config.css
rename to 10.3.5/public/clientarea/template/default/css/common_config.css
diff --git a/10.3.4/public/clientarea/template/default/css/common_product_detail.css b/10.3.5/public/clientarea/template/default/css/common_product_detail.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common_product_detail.css
rename to 10.3.5/public/clientarea/template/default/css/common_product_detail.css
diff --git a/10.3.4/public/clientarea/template/default/css/common_product_detail.less b/10.3.5/public/clientarea/template/default/css/common_product_detail.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common_product_detail.less
rename to 10.3.5/public/clientarea/template/default/css/common_product_detail.less
diff --git a/10.3.4/public/clientarea/template/default/css/common_product_list.css b/10.3.5/public/clientarea/template/default/css/common_product_list.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/common_product_list.css
rename to 10.3.5/public/clientarea/template/default/css/common_product_list.css
diff --git a/10.3.4/public/clientarea/template/default/css/dcimDetail.css b/10.3.5/public/clientarea/template/default/css/dcimDetail.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/dcimDetail.css
rename to 10.3.5/public/clientarea/template/default/css/dcimDetail.css
diff --git a/10.3.4/public/clientarea/template/default/css/dcimDetail.less b/10.3.5/public/clientarea/template/default/css/dcimDetail.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/dcimDetail.less
rename to 10.3.5/public/clientarea/template/default/css/dcimDetail.less
diff --git a/10.3.4/public/clientarea/template/default/css/dcimList.css b/10.3.5/public/clientarea/template/default/css/dcimList.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/dcimList.css
rename to 10.3.5/public/clientarea/template/default/css/dcimList.css
diff --git a/10.3.4/public/clientarea/template/default/css/dcimOrder.css b/10.3.5/public/clientarea/template/default/css/dcimOrder.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/dcimOrder.css
rename to 10.3.5/public/clientarea/template/default/css/dcimOrder.css
diff --git a/10.3.4/public/clientarea/template/default/css/dcimOrder.less b/10.3.5/public/clientarea/template/default/css/dcimOrder.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/dcimOrder.less
rename to 10.3.5/public/clientarea/template/default/css/dcimOrder.less
diff --git a/10.3.4/public/clientarea/template/default/css/enterDev.css b/10.3.5/public/clientarea/template/default/css/enterDev.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/enterDev.css
rename to 10.3.5/public/clientarea/template/default/css/enterDev.css
diff --git a/10.3.4/public/clientarea/template/default/css/enterDev.less b/10.3.5/public/clientarea/template/default/css/enterDev.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/enterDev.less
rename to 10.3.5/public/clientarea/template/default/css/enterDev.less
diff --git a/10.3.4/public/clientarea/template/default/css/finance.css b/10.3.5/public/clientarea/template/default/css/finance.css
similarity index 99%
rename from 10.3.4/public/clientarea/template/default/css/finance.css
rename to 10.3.5/public/clientarea/template/default/css/finance.css
index fd62a9ad..cb882555 100644
--- a/10.3.4/public/clientarea/template/default/css/finance.css
+++ b/10.3.5/public/clientarea/template/default/css/finance.css
@@ -196,7 +196,8 @@
font-size: 13px;
}
/* 充值 */
-.Recharge {
+.Recharge,
+.balance-tag.recharge {
background: rgba(54, 153, 255, 0.12);
color: #3699ff;
}
@@ -764,7 +765,7 @@
white-space: nowrap;
text-overflow: ellipsis;
}
- /*
+ /*
.row2-name-text {} */
.bottom-text {
font-size: 0.26rem;
diff --git a/10.3.4/public/clientarea/template/default/css/finance.less b/10.3.5/public/clientarea/template/default/css/finance.less
similarity index 99%
rename from 10.3.4/public/clientarea/template/default/css/finance.less
rename to 10.3.5/public/clientarea/template/default/css/finance.less
index eb8ad7bf..8b069665 100644
--- a/10.3.4/public/clientarea/template/default/css/finance.less
+++ b/10.3.5/public/clientarea/template/default/css/finance.less
@@ -234,8 +234,9 @@
font-size: 13px;
}
+
/* 充值 */
-.Recharge {
+.Recharge,.balance-tag.recharge {
background: rgba(54, 153, 255, 0.12);
color: rgba(54, 153, 255, 1);
}
@@ -963,7 +964,7 @@
text-overflow: ellipsis;
}
- /*
+ /*
.row2-name-text {} */
.bottom-text {
@@ -1104,4 +1105,4 @@
}
-}
\ No newline at end of file
+}
diff --git a/10.3.4/public/clientarea/template/default/css/forget.css b/10.3.5/public/clientarea/template/default/css/forget.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/forget.css
rename to 10.3.5/public/clientarea/template/default/css/forget.css
diff --git a/10.3.4/public/clientarea/template/default/css/goods.css b/10.3.5/public/clientarea/template/default/css/goods.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/goods.css
rename to 10.3.5/public/clientarea/template/default/css/goods.css
diff --git a/10.3.4/public/clientarea/template/default/css/goods.less b/10.3.5/public/clientarea/template/default/css/goods.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/goods.less
rename to 10.3.5/public/clientarea/template/default/css/goods.less
diff --git a/10.3.4/public/clientarea/template/default/css/goodsList.css b/10.3.5/public/clientarea/template/default/css/goodsList.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/goodsList.css
rename to 10.3.5/public/clientarea/template/default/css/goodsList.css
diff --git a/10.3.4/public/clientarea/template/default/css/goodsList.less b/10.3.5/public/clientarea/template/default/css/goodsList.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/goodsList.less
rename to 10.3.5/public/clientarea/template/default/css/goodsList.less
diff --git a/10.3.4/public/clientarea/template/default/css/goods_iframe.css b/10.3.5/public/clientarea/template/default/css/goods_iframe.css
similarity index 66%
rename from 10.3.4/public/clientarea/template/default/css/goods_iframe.css
rename to 10.3.5/public/clientarea/template/default/css/goods_iframe.css
index 60b3136e..4bf3387b 100644
--- a/10.3.4/public/clientarea/template/default/css/goods_iframe.css
+++ b/10.3.5/public/clientarea/template/default/css/goods_iframe.css
@@ -6,6 +6,7 @@
}
.content {
height: 100%;
+ background: #fff;
}
.ifram-hiden {
display: none !important;
@@ -16,3 +17,9 @@
html {
font-size: 100px !important;
}
+.template > .tit {
+ display: none;
+}
+.template .main-card {
+ max-width: inherit;
+}
diff --git a/10.3.4/public/clientarea/template/default/css/goods_iframe.less b/10.3.5/public/clientarea/template/default/css/goods_iframe.less
similarity index 67%
rename from 10.3.4/public/clientarea/template/default/css/goods_iframe.less
rename to 10.3.5/public/clientarea/template/default/css/goods_iframe.less
index 5eb19be2..86395f15 100644
--- a/10.3.4/public/clientarea/template/default/css/goods_iframe.less
+++ b/10.3.5/public/clientarea/template/default/css/goods_iframe.less
@@ -9,6 +9,7 @@
.content {
height: 100%;
+ background: #fff;
}
.ifram-hiden {
@@ -21,4 +22,11 @@
html {
font-size: 100px !important;
-}
\ No newline at end of file
+}
+.template>.tit{
+ display: none;
+}
+
+.template .main-card{
+ max-width: inherit;
+}
diff --git a/10.3.4/public/clientarea/template/default/css/home.css b/10.3.5/public/clientarea/template/default/css/home.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/home.css
rename to 10.3.5/public/clientarea/template/default/css/home.css
diff --git a/10.3.4/public/clientarea/template/default/css/home.less b/10.3.5/public/clientarea/template/default/css/home.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/home.less
rename to 10.3.5/public/clientarea/template/default/css/home.less
diff --git a/10.3.4/public/clientarea/template/default/css/index.css b/10.3.5/public/clientarea/template/default/css/index.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/index.css
rename to 10.3.5/public/clientarea/template/default/css/index.css
diff --git a/10.3.4/public/clientarea/template/default/css/login.css b/10.3.5/public/clientarea/template/default/css/login.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/login.css
rename to 10.3.5/public/clientarea/template/default/css/login.css
diff --git a/10.3.4/public/clientarea/template/default/css/loginDialog.css b/10.3.5/public/clientarea/template/default/css/loginDialog.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/loginDialog.css
rename to 10.3.5/public/clientarea/template/default/css/loginDialog.css
diff --git a/10.3.4/public/clientarea/template/default/css/loginDialog.less b/10.3.5/public/clientarea/template/default/css/loginDialog.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/loginDialog.less
rename to 10.3.5/public/clientarea/template/default/css/loginDialog.less
diff --git a/10.3.4/public/clientarea/template/default/css/networkErro.css b/10.3.5/public/clientarea/template/default/css/networkErro.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/networkErro.css
rename to 10.3.5/public/clientarea/template/default/css/networkErro.css
diff --git a/10.3.4/public/clientarea/template/default/css/news.css b/10.3.5/public/clientarea/template/default/css/news.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/news.css
rename to 10.3.5/public/clientarea/template/default/css/news.css
diff --git a/10.3.4/public/clientarea/template/default/css/news.less b/10.3.5/public/clientarea/template/default/css/news.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/news.less
rename to 10.3.5/public/clientarea/template/default/css/news.less
diff --git a/10.3.4/public/clientarea/template/default/css/newworkErro.css b/10.3.5/public/clientarea/template/default/css/newworkErro.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/newworkErro.css
rename to 10.3.5/public/clientarea/template/default/css/newworkErro.css
diff --git a/10.3.4/public/clientarea/template/default/css/noPermissions.css b/10.3.5/public/clientarea/template/default/css/noPermissions.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/noPermissions.css
rename to 10.3.5/public/clientarea/template/default/css/noPermissions.css
diff --git a/10.3.4/public/clientarea/template/default/css/noPermissions.less b/10.3.5/public/clientarea/template/default/css/noPermissions.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/noPermissions.less
rename to 10.3.5/public/clientarea/template/default/css/noPermissions.less
diff --git a/10.3.4/public/clientarea/template/default/css/orderDetail.css b/10.3.5/public/clientarea/template/default/css/orderDetail.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/orderDetail.css
rename to 10.3.5/public/clientarea/template/default/css/orderDetail.css
diff --git a/10.3.4/public/clientarea/template/default/css/orderDetail.less b/10.3.5/public/clientarea/template/default/css/orderDetail.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/orderDetail.less
rename to 10.3.5/public/clientarea/template/default/css/orderDetail.less
diff --git a/10.3.4/public/clientarea/template/default/css/productdetail.css b/10.3.5/public/clientarea/template/default/css/productdetail.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/productdetail.css
rename to 10.3.5/public/clientarea/template/default/css/productdetail.css
diff --git a/10.3.4/public/clientarea/template/default/css/productdetail.less b/10.3.5/public/clientarea/template/default/css/productdetail.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/productdetail.less
rename to 10.3.5/public/clientarea/template/default/css/productdetail.less
diff --git a/10.3.4/public/clientarea/template/default/css/promotionDetail.css b/10.3.5/public/clientarea/template/default/css/promotionDetail.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/promotionDetail.css
rename to 10.3.5/public/clientarea/template/default/css/promotionDetail.css
diff --git a/10.3.4/public/clientarea/template/default/css/promotionDetail.less b/10.3.5/public/clientarea/template/default/css/promotionDetail.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/promotionDetail.less
rename to 10.3.5/public/clientarea/template/default/css/promotionDetail.less
diff --git a/10.3.4/public/clientarea/template/default/css/regist.css b/10.3.5/public/clientarea/template/default/css/regist.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/regist.css
rename to 10.3.5/public/clientarea/template/default/css/regist.css
diff --git a/10.3.4/public/clientarea/template/default/css/regist.less b/10.3.5/public/clientarea/template/default/css/regist.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/regist.less
rename to 10.3.5/public/clientarea/template/default/css/regist.less
diff --git a/10.3.4/public/clientarea/template/default/css/security.css b/10.3.5/public/clientarea/template/default/css/security.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security.css
rename to 10.3.5/public/clientarea/template/default/css/security.css
diff --git a/10.3.4/public/clientarea/template/default/css/security.less b/10.3.5/public/clientarea/template/default/css/security.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security.less
rename to 10.3.5/public/clientarea/template/default/css/security.less
diff --git a/10.3.4/public/clientarea/template/default/css/security_group.css b/10.3.5/public/clientarea/template/default/css/security_group.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security_group.css
rename to 10.3.5/public/clientarea/template/default/css/security_group.css
diff --git a/10.3.4/public/clientarea/template/default/css/security_group.less b/10.3.5/public/clientarea/template/default/css/security_group.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security_group.less
rename to 10.3.5/public/clientarea/template/default/css/security_group.less
diff --git a/10.3.4/public/clientarea/template/default/css/security_log.css b/10.3.5/public/clientarea/template/default/css/security_log.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security_log.css
rename to 10.3.5/public/clientarea/template/default/css/security_log.css
diff --git a/10.3.4/public/clientarea/template/default/css/security_log.less b/10.3.5/public/clientarea/template/default/css/security_log.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security_log.less
rename to 10.3.5/public/clientarea/template/default/css/security_log.less
diff --git a/10.3.4/public/clientarea/template/default/css/security_ssh.css b/10.3.5/public/clientarea/template/default/css/security_ssh.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security_ssh.css
rename to 10.3.5/public/clientarea/template/default/css/security_ssh.css
diff --git a/10.3.4/public/clientarea/template/default/css/security_ssh.less b/10.3.5/public/clientarea/template/default/css/security_ssh.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/security_ssh.less
rename to 10.3.5/public/clientarea/template/default/css/security_ssh.less
diff --git a/10.3.4/public/clientarea/template/default/css/serveDetail.css b/10.3.5/public/clientarea/template/default/css/serveDetail.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/serveDetail.css
rename to 10.3.5/public/clientarea/template/default/css/serveDetail.css
diff --git a/10.3.4/public/clientarea/template/default/css/serveDetail.less b/10.3.5/public/clientarea/template/default/css/serveDetail.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/serveDetail.less
rename to 10.3.5/public/clientarea/template/default/css/serveDetail.less
diff --git a/10.3.4/public/clientarea/template/default/css/settlement.css b/10.3.5/public/clientarea/template/default/css/settlement.css
similarity index 99%
rename from 10.3.4/public/clientarea/template/default/css/settlement.css
rename to 10.3.5/public/clientarea/template/default/css/settlement.css
index 7433ae27..d3e7a41f 100644
--- a/10.3.4/public/clientarea/template/default/css/settlement.css
+++ b/10.3.5/public/clientarea/template/default/css/settlement.css
@@ -102,7 +102,7 @@
max-width: 1500px;
display: flex;
align-items: center;
- justify-content: space-between;
+ justify-content: flex-end;
}
.goodsInfo-type {
overflow: hidden;
diff --git a/10.3.4/public/clientarea/template/default/css/settlement.less b/10.3.5/public/clientarea/template/default/css/settlement.less
similarity index 99%
rename from 10.3.4/public/clientarea/template/default/css/settlement.less
rename to 10.3.5/public/clientarea/template/default/css/settlement.less
index 81c1e935..1bb432e7 100644
--- a/10.3.4/public/clientarea/template/default/css/settlement.less
+++ b/10.3.5/public/clientarea/template/default/css/settlement.less
@@ -126,7 +126,7 @@
max-width: 1500px;
display: flex;
align-items: center;
- justify-content: space-between;
+ justify-content: flex-end;
}
.goodsInfo-type {
diff --git a/10.3.4/public/clientarea/template/default/css/shoppingCar.css b/10.3.5/public/clientarea/template/default/css/shoppingCar.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/shoppingCar.css
rename to 10.3.5/public/clientarea/template/default/css/shoppingCar.css
diff --git a/10.3.4/public/clientarea/template/default/css/shoppingCar.less b/10.3.5/public/clientarea/template/default/css/shoppingCar.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/shoppingCar.less
rename to 10.3.5/public/clientarea/template/default/css/shoppingCar.less
diff --git a/10.3.4/public/clientarea/template/default/css/template.css b/10.3.5/public/clientarea/template/default/css/template.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/template.css
rename to 10.3.5/public/clientarea/template/default/css/template.css
diff --git a/10.3.4/public/clientarea/template/default/css/voucher.css b/10.3.5/public/clientarea/template/default/css/voucher.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/voucher.css
rename to 10.3.5/public/clientarea/template/default/css/voucher.css
diff --git a/10.3.4/public/clientarea/template/default/css/voucher.less b/10.3.5/public/clientarea/template/default/css/voucher.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/voucher.less
rename to 10.3.5/public/clientarea/template/default/css/voucher.less
diff --git a/10.3.4/public/clientarea/template/default/css/withdrawal.css b/10.3.5/public/clientarea/template/default/css/withdrawal.css
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/withdrawal.css
rename to 10.3.5/public/clientarea/template/default/css/withdrawal.css
diff --git a/10.3.4/public/clientarea/template/default/css/withdrawal.less b/10.3.5/public/clientarea/template/default/css/withdrawal.less
similarity index 100%
rename from 10.3.4/public/clientarea/template/default/css/withdrawal.less
rename to 10.3.5/public/clientarea/template/default/css/withdrawal.less
diff --git a/10.3.4/public/clientarea/template/default/finance.php b/10.3.5/public/clientarea/template/default/finance.php
similarity index 99%
rename from 10.3.4/public/clientarea/template/default/finance.php
rename to 10.3.5/public/clientarea/template/default/finance.php
index e1f69a7f..5772b561 100644
--- a/10.3.4/public/clientarea/template/default/finance.php
+++ b/10.3.5/public/clientarea/template/default/finance.php
@@ -31,16 +31,17 @@
{{ commonData.currency_prefix + balance }}
{{lang.finance_text1}}
- {{lang.finance_btn1}}
+ {{lang.finance_btn1}}
{foreach $addons as $addon}
{if $addon['name']=='IdcsmartWithdraw'}
- {{lang.finance_btn2}}
+ {{lang.finance_btn2}}
+
{/if}
{/foreach}
{foreach $addons as $addon}
{if $addon['name']=='IdcsmartWithdraw'}
-
+
{{lang.finance_btn9}}
{/if}
@@ -273,7 +274,7 @@
-
-
+
+ {{lang.package_config}}
+
@@ -46,13 +47,13 @@
{{tit}}
{{lang.mf_tip37}}:
{{baseConfig.free_disk_size}}GB
-
- {{lang.network_type}}: {{item.network_type === 'normal' ? lang.mf_normal
- : lang.mf_vpc}}
-
{{lang.peak_defence}}:{{ item.peak_defence + 'G'}}
+
IP{{lang.shoppingCar_goodsNums}}:{{item.ip_num}}{{lang.common_cloud_title43}}
+
+ {{lang.no_upgrade}}
+
@@ -91,13 +92,183 @@ {{tit}}
{{lang.mf_tip6}}
-
-
-
-
+
+
+ {{lang.net_config}}
+
+
+
+
- {{lang.mf_tip5}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ·
+
+
+
+ ·
+
+
+
+
+ ·
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+ {{lang.other_config}}
+
+
+
+
+
+
+ {{lang.mf_tip5}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{lang.placeholder_pre2}}{{lang.security_tab1}}
+
+
+ {{lang.mf_tip17}}
+
+ {{lang.mf_tip18}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{lang.mf_val1}}
+
+
+
+
+
+ {{lang.mf_val2}}
+
+
+
+
+ {{lang.mf_val3}}
+
+
+
+
+ {{lang.mf_val4}}
+
+
+
+
+
+ {{lang.mf_tip20}}
+
+
+
+
+ {{lang.mf_tip19}}
+
+
+
+
+
+
+
+ {{lang.cloud_name}}
+
+
+
+
+
+
+
+ {{lang.open_auto_renew}}
+
+
+
+ {{lang.mf_allow}}{{lang.ip_mac_bind_enable}}
+
+
+
+
+ {{lang.mf_support}}{{lang.nat_acl_limit_enable}}
+
+
+
+
+ {{lang.mf_support}}{{lang.nat_web_limit_enable}}
+
+
+
+
+ {{lang.mf_allow}}{{lang.ipv6_num_enable}}
+
+
+
@@ -195,7 +366,7 @@
{{tit}}
{{lang.mf_tip6}}
-
+
@@ -203,15 +374,19 @@ {{tit}}
-
+
-
+
-
+
@@ -222,55 +397,67 @@ {{tit}}
- GB
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ GB
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GB
- GB
-
- {{lang.referral_btn4}}
+ {{lang.referral_btn4}}
-
+
{{lang.mf_add_disk}}
- {{lang.mf_tip11}}{{this.baseConfig.disk_limit_num + 1 - this.storeList.length}}{{lang.mf_tip12}}
+ {{lang.mf_tip11}}{{this.baseConfig.disk_limit_num + 1 -
+ this.storeList.length}}{{lang.mf_tip12}}
@@ -326,7 +513,7 @@
{{tit}}
-
+
{{lang.mf_tip23}}
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-1.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-1.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-1.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-1.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-2.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-2.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-2.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-2.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-3.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-3.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-3.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/IDcard-3.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/compony_icon.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/compony_icon.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/compony_icon.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/compony_icon.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/enterprise_certification.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/enterprise_certification.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/enterprise_certification.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/enterprise_certification.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/error.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/error.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/error.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/error.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_certification.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_certification.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_certification.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_certification.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_icon.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_icon.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_icon.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/personal_icon.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/success.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/success.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/success.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/success.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/unauthorized.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/unauthorized.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/unauthorized.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/unauthorized.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-1.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-1.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-1.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-1.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-2.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-2.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-2.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/account/upload-ID-2.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/CN.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/CN.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/CN.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/CN.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/DE.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/DE.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/DE.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/DE.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/US.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/US.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/US.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/US.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/fault.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/fault.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/fault.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/fault.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/off.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/off.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/off.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/off.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/on.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/on.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/on.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/on.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/operating.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/operating.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/operating.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/operating.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-hide.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-hide.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-hide.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-hide.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-show.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-show.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-show.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/pass-show.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/suspended.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/suspended.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/suspended.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloud/suspended.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/console.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/console.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/console.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/console.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/fault.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/fault.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/fault.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/fault.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/no.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/no.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/no.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/no.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/off.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/off.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/off.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/off.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/on.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/on.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/on.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/on.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/operating.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/operating.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/operating.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/operating.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/restart.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/restart.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/restart.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/restart.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/suspend.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/suspend.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/suspend.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/cloudDetail/suspend.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/CN.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/CN.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/CN.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/CN.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/US.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/US.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/US.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/US.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/bell.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/bell.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/bell.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/bell.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/cart.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close_icon.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close_icon.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close_icon.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/close_icon.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/exit.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/exit.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/exit.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/exit.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/jump.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/jump.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/jump.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/jump.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/maintain.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/maintain.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/maintain.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/maintain.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu1.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu1.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu1.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu1.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu10.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu10.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu10.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu10.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu11.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu11.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu11.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu11.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu2.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu2.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu2.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu2.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu3.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu3.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu3.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu3.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu4.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu4.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu4.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu4.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu5.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu5.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu5.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu5.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu6.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu6.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu6.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu6.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu7.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu7.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu7.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu7.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu8.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu8.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu8.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu8.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu9.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu9.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu9.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/menu9.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/search.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/search.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/search.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/search.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/toTop.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/toTop.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/common/toTop.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/common/toTop.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/finance/back.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/finance/back.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/finance/back.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/finance/back.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/AlmaLinux.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/AlmaLinux.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/AlmaLinux.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/AlmaLinux.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ArchLinux.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ArchLinux.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ArchLinux.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ArchLinux.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/CentOS.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/CentOS.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/CentOS.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/CentOS.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Debian.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Debian.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Debian.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Debian.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ESXi.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ESXi.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ESXi.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/ESXi.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Fedora.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Fedora.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Fedora.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Fedora.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/FreeBSD.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/FreeBSD.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/FreeBSD.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/FreeBSD.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/OpenEuler.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/OpenEuler.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/OpenEuler.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/OpenEuler.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Rocky.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Rocky.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Rocky.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Rocky.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Ubuntu.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Ubuntu.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Ubuntu.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Ubuntu.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Windows.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Windows.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Windows.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/Windows.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/XenServer.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/XenServer.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/XenServer.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/XenServer.svg
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.png b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.png
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.png
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.png
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.svg b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.svg
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.svg
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/slider.svg
diff --git "a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/\345\205\266\344\273\226.svg" "b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/\345\205\266\344\273\226.svg"
similarity index 100%
rename from "10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/\345\205\266\344\273\226.svg"
rename to "10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/img/mf_cloud/\345\205\266\344\273\226.svg"
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudDetail.js b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudDetail.js
similarity index 98%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudDetail.js
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudDetail.js
index e400cdfb..31b7c61f 100644
--- a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudDetail.js
+++ b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudDetail.js
@@ -261,7 +261,7 @@ new Vue({
this.hostData.billing_cycle_name === this.renewParams.billing_cycle
) {
// 谁大取谁
- t = n > l ? n : l;
+ t = n
}
this.renewParams.totalPrice =
t * 1000 - this.renewParams.cash_discount * 1000 > 0
@@ -890,6 +890,11 @@ new Vue({
},
],
},
+ /* 套餐 */
+ isPackage: false,
+ recommend_config: {},
+ recommendList: [],
+ recommend_config_id: ''
};
},
filters: {
@@ -1526,6 +1531,8 @@ new Vue({
cloudDetail(params).then((res) => {
if (res.data.status === 200) {
this.cloudData = res.data.data;
+ this.recommend_config = this.cloudData.recommend_config
+ this.isPackage = this.cloudData.recommend_config.id ? true : false
this.productParams.data_center_id = res.data.data.data_center.id;
this.cloudConfig = res.data.data.config;
this.$emit("getclouddetail", this.cloudData);
@@ -2325,14 +2332,45 @@ new Vue({
},
// 升降级点击
showUpgrade() {
- this.getLineDetails();
- this.isShowUpgrade = true;
- this.$message({
- showClose: true,
- message: lang.common_cloud_text54,
- type: "warning",
- duration: 10000,
- });
+ if (this.isPackage) { // 套餐版
+ this.getPackageInfo()
+ } else {
+ this.getLineDetails();
+ this.isShowUpgrade = true;
+ this.$message({
+ showClose: true,
+ message: lang.common_cloud_text54,
+ type: "warning",
+ duration: 10000,
+ });
+ }
+ },
+ // 获取可升级套餐
+ async getPackageInfo () {
+ try {
+ const res = await getPackageList({id: this.id})
+ this.recommendList = res.data.data.list
+ if (this.recommendList.length === 0) {
+ return this.$message.error(lang.no_upgrade)
+ }
+ if (this.recommendList.length > 0) {
+ this.recommend_config_id = this.recommendList[0].id
+ this.isShowUpgrade = true;
+ this.$message({
+ showClose: true,
+ message: lang.common_cloud_text54,
+ type: "warning",
+ duration: 10000,
+ });
+ this.getCycleList()
+ }
+ } catch (error) {
+ this.$message.error(error.data.msg)
+ }
+ },
+ changeRecommend (item) {
+ this.recommend_config_id = item.id
+ this.getCycleList()
},
// 关闭升降级弹窗
upgradeDgClose() {
@@ -2343,15 +2381,22 @@ new Vue({
// 获取升降级价格
getCycleList() {
this.upgradePriceLoading = true;
+ let type = ''
const params = {
id: this.id,
- cpu: this.params.cpu,
- memory: this.params.memory,
- bw: this.params.bw,
- flow: this.params.flow,
- peak_defence: this.params.peak_defence,
- };
- upgradePackagePrice(params)
+ }
+ if (this.isPackage) {
+ params.recommend_config_id = this.recommend_config_id
+ type = 'package'
+ } else {
+ type = 'custom'
+ params.cpu = this.params.cpu
+ params.memory = this.params.memory
+ params.bw = this.params.bw
+ params.flow = this.params.flow
+ params.peak_defence = this.params.peak_defence
+ }
+ upgradePackagePrice(type, params)
.then(async (res) => {
if (res.data.status == 200) {
let price = res.data.data.price; // 当前产品的价格
@@ -2436,16 +2481,24 @@ new Vue({
},
// 升降级提交
upgradeSub() {
+ let type = ''
const params = {
id: this.id,
- cpu: this.params.cpu,
- memory: this.params.memory,
- bw: this.params.bw,
- flow: this.params.flow,
- peak_defence: this.params.peak_defence,
- customfield: this.upParams.customfield,
- };
- upgradeOrder(params)
+ }
+ if (this.isPackage) {
+ params.recommend_config_id = this.recommend_config_id
+ params.customfield = this.upParams.customfield
+ type = 'package'
+ } else {
+ type = 'custom'
+ params.cpu = this.params.cpu
+ params.memory = this.params.memory
+ params.bw = this.params.bw
+ params.flow = this.params.flow
+ params.peak_defence = this.params.peak_defence
+ params.customfield = this.upParams.customfield
+ }
+ upgradeOrder(type, params)
.then((res) => {
if (res.data.status === 200) {
this.$message.success(lang.common_cloud_text56);
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudList.js b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudList.js
similarity index 100%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudList.js
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/cloudList.js
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/mf_cloud.js b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/mf_cloud.js
similarity index 84%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/mf_cloud.js
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/mf_cloud.js
index 5bfd0a7a..c13764c2 100644
--- a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/js/mf_cloud.js
+++ b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/js/mf_cloud.js
@@ -1,5 +1,5 @@
-const template = document.getElementsByClassName('template')[0]
-Vue.prototype.lang = window.lang
+const template = document.getElementsByClassName("template")[0];
+Vue.prototype.lang = window.lang;
new Vue({
components: {
asideMenu,
@@ -8,12 +8,12 @@ new Vue({
mixins: [mixin],
mounted() {
this.getConfig();
- this.hasDiscount = this.addons_js_arr.includes('PromoCode')
- window.addEventListener('message', (event) => this.handelIframeBuy(event))
- },
- destroyed() {
-
+ this.hasDiscount = this.addons_js_arr.includes("PromoCode");
+ // 监听子页面想父页面的传参
+ window.addEventListener("message", (event) => this.handelIframeBuy(event));
},
+ updated() { },
+ destroyed() {},
data() {
return {
hasDiscount: false,
@@ -199,7 +199,8 @@ new Vue({
showPas: false,
showRepass: false,
isHide: true,
- levelNum: 0
+ levelNum: 0,
+ isCustom: false
}
},
filters: {
@@ -237,7 +238,12 @@ new Vue({
this.isChangeArea = false
const { country, countryName, city, curImage, version, curImageId,
cloudIndex, activeName, imageName, network_type, peak_defence, security_group_id,
- security_group_protocol, login_way } = this.backfill
+ security_group_protocol, login_way,
+ recommend_config_id,
+ groupName,
+ data_center_id
+ } = this.backfill
+ this.packageId = recommend_config_id
this.promo = temp.customfield
this.qty = temp.qty
this.position = temp.position
@@ -250,9 +256,10 @@ new Vue({
this.curImageId = curImageId
this.cloudIndex = cloudIndex
this.imageName = imageName
+ this.groupName = groupName;
this.netName = network_type === 'vpc' ? lang.mf_vpc : lang.mf_normal
if (network_type === 'vpc') {
- this.getVpcList()
+ this.getVpcList(data_center_id)
}
this.params.vpc.id = temp.config_options.vpc.id
const ips = temp.config_options.vpc.ips
@@ -370,8 +377,8 @@ new Vue({
return c + this.city
},
calcAreaList() {// 计算区域列表
- if (this.activeName === 'fast') {
- return
+ if (this.activeName === "fast" || this.isCustom) {
+ return;
}
const temp = this.dataList.filter(item => item.id === this.country * 1)[0]?.city.filter(item => item.name === this.city)[0]?.area || []
if (!this.isChangeArea) {
@@ -512,38 +519,58 @@ new Vue({
methods: {
// iframe buy
async handelIframeBuy(e) {
+ if (this.isUpdate || this.isInit) {
+ return
+ }
this.$refs.orderForm.validate(async (res) => {
if (res) {
- const bol = this.formatData()
+ const bol = this.formatData();
if (bol !== true) {
- return
+ return;
}
try {
const params = {
product_id: this.id,
config_options: {
- ...this.params,
+ ...JSON.parse(JSON.stringify(this.params)),
+ activeName: this.activeName,
+ country: this.country,
+ countryName: this.countryName,
+ city: this.city,
+ curImage: this.curImage,
+ curImageId: this.curImageId,
+ imageName: this.imageName,
+ version: this.version,
+ cloudIndex: this.cloudIndex,
+ login_way: this.login_way,
},
qty: this.qty,
- customfield: this.promo
- }
- if (this.baseConfig.free_disk_switch && this.activeName === 'custom') {
- params.config_options.data_disk.shift()
+ customfield: this.promo,
+ };
+ if (
+ this.baseConfig.free_disk_switch &&
+ this.activeName === "custom"
+ ) {
+ params.config_options.data_disk.shift();
}
- if (this.lineDetail.bill_type === 'bw') {
- delete params.flow
+ if (this.lineDetail.bill_type === "bw") {
+ delete params.flow;
} else {
- delete params.bw
+ delete params.bw;
}
- const postObj = { type: 'iframeBuy', params, price: this.calcTotalPrice }
- if (e.data.type === 'iframeBuy') {
- window.parent.postMessage(postObj, '*')
+ const postObj = {
+ type: "iframeBuy",
+ params,
+ price: this.calcTotalPrice,
+ };
+ if (e.data.type === "iframeBuy") {
+ window.parent.postMessage(postObj, "*");
}
} catch (error) {
- this.$message.error(error.data.msg)
+ this.$message.error(error.data.msg);
}
}
- })
+ });
},
changeNat(e) {
if (e) {
@@ -573,113 +600,125 @@ new Vue({
async getConfig() {
try {
const params = {
- id: this.id
- }
- if (this.activeName === 'fast') {
- params.scene = 'recommend'
+ id: this.id,
+ };
+ if (this.activeName === "fast") {
+ params.scene = "recommend";
+ } else {
+ this.isCustom = true
}
- const res = await getOrderConfig(params)
- const temp = res.data.data
+ const res = await getOrderConfig(params);
+ const temp = res.data.data;
// 通用数据处理
- this.dataList = temp.data_center
- this.resourceList = temp.resource_package
- this.baseConfig = temp.config
- if (!this.baseConfig.type) {
- this.$set(this.baseConfig, 'type', 'host')
- }
+ this.dataList = temp.data_center;
+ this.resourceList = temp.resource_package || [];
+ this.baseConfig = temp.config;
// 如果没有推荐配置,跳转到自定义,重新获取数据
if (this.dataList.length === 0) {
- this.activeName = 'custom'
- this.showFast = false
- this.getConfig()
- return
+ this.activeName = "custom";
+ this.showFast = false;
+ this.getConfig();
+ return;
}
// 初始化数据
- if (!this.isUpdate) { // 不是回填
+ if (!this.isUpdate) {
+ // 不是回填
this.params = {
- data_center_id: '',
- cpu: '',
+ data_center_id: "",
+ cpu: "",
memory: 1,
image_id: this.imageList[0]?.image[0]?.id,
system_disk: {
- size: '',
- disk_type: ''
+ size: "",
+ disk_type: "",
},
data_disk: [],
- backup_num: '',
- snap_num: '',
- line_id: '',
- bw: '',
- flow: '',
- peak_defence: '',
- ip_num: '',
- duration_id: '',
- network_type: this.baseConfig.support_normal_network ? 'normal' : 'vpc',
- name: '',
- ssh_key_id: '',
- security_group_id: '',
+ backup_num: "",
+ snap_num: "",
+ line_id: "",
+ bw: "",
+ flow: "",
+ peak_defence: "",
+ ip_num: "",
+ duration_id: "",
+ network_type: this.baseConfig.type !== "host" ? "normal"
+ : (this.baseConfig.support_normal_network? "normal": "vpc"),
+ name: "",
+ ssh_key_id: "",
+ security_group_id: "",
security_group_protocol: [],
- password: '',
- re_password: '',
+ password: "",
+ re_password: "",
vpc: {
- id: '',
- ips: '',
+ id: "",
+ ips: "",
},
- notes: '',
+ notes: "",
auto_renew: false,
- resource_package_id: this.resourceList[0]?.id || '',
+ resource_package_id: this.resourceList[0]?.id || "",
ip_mac_bind_enable: false,
nat_acl_limit_enable: false,
nat_web_limit_enable: false,
ipv6_num_enable: false,
- }
- this.qty = 1
- this.ressourceName = this.resourceList[0]?.name
- this.country = String(this.dataList[0]?.id)
- this.countryName = String(this.dataList[0]?.name)
- this.city = String(this.dataList[0]?.city[0]?.name)
- this.cloudIndex = 0
- this.plan_way = 0
- this.login_way = lang.auto_create
- this.createPassword()
+ };
+ this.qty = 1;
+ this.ressourceName = this.resourceList[0]?.name;
+ this.country = String(this.dataList[0]?.id);
+ this.countryName = String(this.dataList[0]?.name);
+ this.city = String(this.dataList[0]?.city[0]?.name);
+ this.cloudIndex = 0;
+ this.plan_way = 0;
+ this.login_way = lang.auto_create;
+ this.createPassword();
+ this.isCustom = false
} else {
// 回填数据
- this.params = this.backfill
- this.ressourceName = this.resourceList.filter(item => item.id === this.params.resource_package_id)[0]?.name
+ this.params = this.backfill;
+ if (this.baseConfig.free_disk_switch) {// 免费数据盘
+ this.params.data_disk.splice(0,0,{
+ disk_type: "",
+ size: this.baseConfig.free_disk_size,
+ });
+ }
+ this.ressourceName = this.resourceList.filter(
+ (item) => item.id === this.params.resource_package_id
+ )[0]?.name;
}
- this.totalPrice = 0.00
- this.isInit = true
+ this.totalPrice = 0.0;
+ this.isInit = true;
// 保存cpu,memory,system_disk,data_disk,config_limit
- this.cpuList = temp.cpu
- this.memoryList = temp.memory
- if (temp.memory.length > 0 && temp.memory[0].type !== 'radio') { // 范围的时候生成默认范围数组
+ this.cpuList = temp.cpu;
+ this.memoryList = temp.memory;
+ if (temp.memory.length > 0 && temp.memory[0].type !== "radio") {
+ // 范围的时候生成默认范围数组
this.memoryArr = temp.memory.reduce((all, cur) => {
- all.push(...this.createArr([cur.min_value, cur.max_value]))
- return all
- }, [])
+ all.push(...this.createArr([cur.min_value, cur.max_value]));
+ return all;
+ }, []);
}
if (this.memoryList.length > 0) {
- if (this.memoryList[0].type === 'radio') {
- this.memoryType = true
+ if (this.memoryList[0].type === "radio") {
+ this.memoryType = true;
} else {
- this.memoryType = false
+ this.memoryType = false;
}
}
- this.systemDiskList = temp.system_disk
- this.dataDiskList = temp.data_disk
- this.configLimitList = temp.config_limit
+ this.systemDiskList = temp.system_disk;
+ this.dataDiskList = temp.data_disk;
+ this.configLimitList = temp.config_limit;
// 处理存储
- this.handlerType(temp.system_disk, 'system')
- this.handlerType(temp.data_disk, 'data')
+ this.handlerType(temp.system_disk, "system");
+ this.handlerType(temp.data_disk, "data");
// fast 推荐配置
- if (this.activeName === 'fast') {
- this.handlerFast()
+ if (this.activeName === "fast") {
+ this.handlerFast();
} else {
- this.handlerCustom()
+ this.isCustom = false
+ this.handlerCustom();
}
} catch (error) {
- console.log('@@@', error)
+ console.log("@@@", error);
}
},
// 处理套餐配置
@@ -701,7 +740,6 @@ new Vue({
this.params.data_center_id = temp[0].data_center_id;
this.params.cpu = temp[0].cpu;
this.params.memory = temp[0].memory * 1 || 0;
- this.params.network_type = temp[0].network_type;
this.params.line_id = temp[0].line_id;
this.lineType = temp[0].bw ? "bw" : "flow";
this.params.bw = temp[0].bw;
@@ -728,87 +766,110 @@ new Vue({
},
// 切换自定义配置
handlerCustom() {
+ if (this.baseConfig.only_sale_recommend_config === 1) { // 仅购买套餐
+ return
+ }
if (!this.isUpdate) {
- this.storeList = []
+ this.createPassword();
+ this.storeList = [];
// 默认第一个系统盘类型
- this.params.system_disk.disk_type = this.systemType[0].value
- this.params.system_disk.size = this.systemDiskList[0].value || this.systemDiskList[0].min_value
- if (this.systemDiskList[0].type === 'radio') { // 单选
- this.systemNum = this.systemDiskList.filter(item => item.other_config.disk_type === this.params.system_disk.disk_type).reduce((all, cur) => {
- all.push({
- value: cur.value,
- label: cur.value
- })
- return all
- }, [])
+ this.params.system_disk.disk_type = this.systemType[0].value;
+ this.params.system_disk.size =
+ this.systemDiskList[0].value || this.systemDiskList[0].min_value;
+ if (this.systemDiskList[0].type === "radio") {
+ // 单选
+ this.systemNum = this.systemDiskList
+ .filter(
+ (item) =>
+ item.other_config.disk_type ===
+ this.params.system_disk.disk_type
+ )
+ .reduce((all, cur) => {
+ all.push({
+ value: cur.value,
+ label: cur.value,
+ });
+ return all;
+ }, []);
}
// 根据类型确定最大最小值
this.storeList.push({
type: this.systemDiskList[0].type,
name: lang.mf_system,
- disk_type: this.systemType[0].value || '',
- size: this.systemDiskList[0].value || this.systemDiskList[0].min_value,
+ disk_type: this.systemType[0].value || "",
+ size:
+ this.systemDiskList[0].value || this.systemDiskList[0].min_value,
min: this.systemDiskList[0].min_value,
max: this.systemDiskList[this.systemDiskList.length - 1].max_value,
- })
+ });
// 如果有免费数据盘
if (this.baseConfig.free_disk_switch) {
this.storeList.push({
min: this.baseConfig.free_disk_size,
max: this.baseConfig.free_disk_size,
- type: this.dataDiskList[0].type,
+ type: '',
name: lang.mf_tip37,
- disk_type: this.dataType[0].value,
- size: this.baseConfig.free_disk_size
- })
- this.params.data_disk.push({ // 提交的时候,根据 baseConfig.free_disk_switch 是否删除第一个数据盘
disk_type: '',
- size: this.baseConfig.free_disk_size
- })
+ size: this.baseConfig.free_disk_size,
+ });
+ this.params.data_disk.push({
+ // 提交的时候,根据 baseConfig.free_disk_switch 是否删除第一个数据盘
+ disk_type: "",
+ size: this.baseConfig.free_disk_size,
+ });
}
- this.createPassword()
// 默认选择cpu 内存
- this.params.cpu = this.cpuList[0]?.value
- this.cpuName = this.params.cpu + lang.mf_cores
- if (this.memoryList[0].type === 'radio') {
- this.params.memory = this.calaMemoryList[0]?.value * 1
+ this.params.cpu = this.cpuList[0]?.value;
+ this.cpuName = this.params.cpu + lang.mf_cores;
+ if (this.memoryList[0].type === "radio") {
+ this.params.memory = this.calaMemoryList[0]?.value * 1;
} else {
- this.params.memory = this.calaMemoryList[0] * 1
+ this.params.memory = this.calaMemoryList[0] * 1;
}
- this.memoryName = this.calaMemoryList[0]?.value + this.baseConfig.memory_unit
- } else { // 回填
- this.area_name = this.calcAreaList.filter(item => item.id === this.params.data_center_id)[0]?.name
- const temp = this.dataList.filter(item => item.id === this.country * 1)[0]?.city.filter(item => item.name === this.city)[0]?.area || []
- this.lineList = temp.filter(item => item.name === this.area_name)[0]?.line
- this.lineName = this.lineList.filter(item => item.id === this.params.line_id)[0]?.name
- this.cpuName = this.params.cpu + lang.mf_cores
- this.memoryName = this.params.memory * 1 + this.baseConfig.memory_unit
+ this.memoryName =
+ this.calaMemoryList[0]?.value + this.baseConfig.memory_unit;
+ } else {
+ // 回填
+ this.area_name = this.calcAreaList.filter(
+ (item) => item.id === this.params.data_center_id
+ )[0]?.name;
+ const temp =
+ this.dataList
+ .filter((item) => item.id === this.country * 1)[0]
+ ?.city.filter((item) => item.name === this.city)[0]?.area || [];
+
+ this.lineList = temp.filter(
+ (item) => item.name === this.area_name
+ )[0]?.line || [];
+ this.lineName = this.lineList.filter(
+ (item) => item.id === this.params.line_id
+ )[0]?.name;
+ this.cpuName = this.params.cpu + lang.mf_cores;
+ this.memoryName = this.params.memory * 1 + this.baseConfig.memory_unit;
// 处理存储
// 系统盘
- let arr = []
+ let arr = [];
arr.push({
type: this.systemDiskList[0].type,
name: lang.mf_system,
disk_type: this.params.system_disk.disk_type,
- size: this.params.system_disk.size
- })
- console.log('@@@@@', arr)
+ size: this.params.system_disk.size,
+ });
// 数据盘
if (this.params.data_disk.length > 0) {
- this.params.data_disk.forEach(item => {
+ this.params.data_disk.forEach((item) => {
arr.push({
min: this.dataDiskList[0].min_value,
max: this.dataDiskList[this.dataDiskList.length - 1].max_value,
type: this.dataDiskList[0].type,
name: lang.common_cloud_text1,
disk_type: item.disk_type,
- size: item.size
- })
- })
+ size: item.size,
+ });
+ });
}
- this.storeList = arr
+ this.storeList = arr;
}
-
},
/* 线路 */
changeLine(e) {
@@ -958,12 +1019,12 @@ new Vue({
}
},
// 获取vpc
- async getVpcList() {
+ async getVpcList(data_id) {
try {
this.vpcLoading = true
const res = await getVpc({
id: this.id,
- data_center_id: this.params.data_center_id,
+ data_center_id: data_id || this.params.data_center_id,
page: 1,
limit: 1000
})
@@ -1052,14 +1113,14 @@ new Vue({
type: this.dataDiskList[0].type,
name: lang.common_cloud_text1,
disk_type: this.dataType[0].value,
- size: this.dataDiskList[0].value || this.dataDiskList[0].min_value
- })
+ size: this.dataDiskList[0].value || this.dataDiskList[0].min_value,
+ });
// 处理params
this.params.data_disk.push({
disk_type: this.dataType[0].value,
- size: this.dataDiskList[0].value || this.dataDiskList[0].min_value
- })
- this.getCycleList()
+ size: this.dataDiskList[0].value || this.dataDiskList[0].min_value,
+ });
+ this.getCycleList();
},
// 切换数据盘类型
changeDataDisk(e, index) {
@@ -1287,10 +1348,14 @@ new Vue({
}
// 自动创建密码
if (this.login_way === lang.auto_create && !this.params.password) {
- return this.$message.warning(`${lang.placeholder_pre1}${lang.login_password}`)
+ this.createPassword()
+ // return this.$message.warning(`${lang.placeholder_pre1}${lang.login_password}`)
}
// 设置密码
if (this.login_way === lang.set_pas) {// 一个不满足都需要提示
+ if (this.isUpdate) {
+ this.changeInput(this.params.password)
+ }
if (this.hasLen && !this.hasAppoint && this.hasMust && !this.hasLine) {
} else {
document.getElementById('ssh').scrollIntoView({ behavior: "smooth" })
@@ -1309,15 +1374,16 @@ new Vue({
this.showSsh = true
return
}
- // 自动续费
- this.params.auto_renew = this.params.auto_renew ? 1 : 0
- // 其他配置
- this.params.ip_mac_bind_enable = this.params.ip_mac_bind_enable ? 1 : 0
- this.params.nat_acl_limit_enable = this.params.nat_acl_limit_enable ? 1 : 0
- this.params.nat_web_limit_enable = this.params.nat_web_limit_enable ? 1 : 0
- this.params.ipv6_num_enable = this.params.ipv6_num_enable ? 1 : 0
return true
},
+ formatSwitch (data) {
+ data.config_options.auto_renew = data.config_options.auto_renew ? 1 : 0
+ data.config_options.ip_mac_bind_enable = data.config_options.ip_mac_bind_enable ? 1 : 0
+ data.config_options.nat_acl_limit_enable = data.config_options.nat_acl_limit_enable ? 1 : 0
+ data.config_options.nat_web_limit_enable = data.config_options.nat_web_limit_enable ? 1 : 0
+ data.config_options.ipv6_num_enable = data.config_options.ipv6_num_enable ? 1 : 0
+ return data
+ },
// 立即购买
async submitOrder() {
this.$refs.orderForm.validate(async (res) => {
@@ -1330,7 +1396,7 @@ new Vue({
const params = {
product_id: this.id,
config_options: {
- ...this.params,
+ ...JSON.parse(JSON.stringify(this.params)),
},
qty: this.qty,
customfield: this.promo
@@ -1343,8 +1409,13 @@ new Vue({
} else {
delete params.bw
}
+ if (this.activeName === 'fast') {
+ params.config_options.recommend_config_id = this.packageId
+ }
+ // 处理自动续费,其他配置等
+ const _temp = this.formatSwitch(params)
// 直接传配置到结算页面
- sessionStorage.setItem('product_information', JSON.stringify(params))
+ sessionStorage.setItem('product_information', JSON.stringify(_temp))
location.href = `settlement.htm?id=${params.product_id}`
} catch (error) {
this.$message.error(error.data.msg)
@@ -1371,7 +1442,7 @@ new Vue({
const params = {
product_id: this.id,
config_options: {
- ...this.params,
+ ...JSON.parse(JSON.stringify(this.params)),
// 其他需要回显的页面数据
activeName: this.activeName,
country: this.country,
@@ -1382,7 +1453,8 @@ new Vue({
imageName: this.imageName,
version: this.version,
cloudIndex: this.cloudIndex,
- login_way: this.login_way
+ login_way: this.login_way,
+ groupName: this.groupName
},
qty: this.qty,
customfield: this.promo,
@@ -1395,7 +1467,11 @@ new Vue({
} else {
delete params.bw
}
- const res = await addToCart(params)
+ if (this.activeName === 'fast') {
+ params.config_options.recommend_config_id = this.packageId
+ }
+ const _temp = this.formatSwitch(params)
+ const res = await addToCart(_temp)
if (res.data.status === 200) {
this.cartDialog = true
const result = await getCart()
@@ -1420,7 +1496,7 @@ new Vue({
position: this.position,
product_id: this.id,
config_options: {
- ...this.params,
+ ...JSON.parse(JSON.stringify(this.params)),
// 其他需要回显的页面数据
activeName: this.activeName,
country: this.country,
@@ -1431,7 +1507,8 @@ new Vue({
imageName: this.imageName,
version: this.version,
cloudIndex: this.cloudIndex,
- login_way: this.login_way
+ login_way: this.login_way,
+ groupName: this.groupName
},
qty: this.qty,
customfield: this.promo,
@@ -1444,8 +1521,12 @@ new Vue({
} else {
delete params.bw
}
+ if (this.activeName === 'fast') {
+ params.config_options.recommend_config_id = this.packageId
+ }
this.dataLoading = true
- const res = await updateCart(params)
+ const _temp = this.formatSwitch(params)
+ const res = await updateCart(_temp);
this.$message.success(res.data.msg)
setTimeout(() => {
location.href = `shoppingCar.htm`
@@ -1536,6 +1617,9 @@ new Vue({
if (hasDuration) {
this.changeConfig()
}
+ if (this.activeName === 'fast') {
+ params.recommend_config_id = this.packageId
+ }
const res = await getDuration(params)
this.cycleList = res.data.data
this.params.duration_id = this.params.duration_id || this.cycleList[0]?.id
@@ -1558,6 +1642,9 @@ new Vue({
if (this.baseConfig.free_disk_switch && this.activeName === 'custom') {
params.config_options.data_disk.shift()
}
+ if (this.activeName === 'fast') {
+ params.config_options.recommend_config_id = this.packageId
+ }
const res = await calcPrice(params)
this.totalPrice = res.data.data.price
this.preview = res.data.data.preview
diff --git a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/product_detail.html b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/product_detail.html
similarity index 93%
rename from 10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/product_detail.html
rename to 10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/product_detail.html
index edfdc6c7..82df6bd9 100644
--- a/10.3.4/public/plugins/reserver/mf_cloud/template/clientarea/product_detail.html
+++ b/10.3.5/public/plugins/reserver/mf_cloud/template/clientarea/product_detail.html
@@ -402,7 +402,7 @@
-
+
{{lang.common_cloud_btn20}}
@@ -433,13 +433,13 @@
- {{lang.common_cloud_btn22}}
+ {{lang.common_cloud_btn22}}
{{lang.common_cloud_title3}}
- {{lang.common_cloud_title18}}
+ {{lang.common_cloud_title18}}
@@ -528,13 +528,12 @@
-
-
+
+
NAT{{lang.nat_acl}} ({{aclList.length}}/{{cloudData.nat_acl_limit}})
-
{{lang.invoice_text47}}{{lang.nat_acl}}
+
{{lang.invoice_text47}}{{lang.nat_acl}}
@@ -562,8 +561,7 @@
NAT{{lang.nat_web}} ({{webList.length}}/{{cloudData.nat_web_limit}})
-
{{lang.invoice_text47}}{{lang.nat_web}}
+
{{lang.invoice_text47}}{{lang.nat_web}}
@@ -585,7 +583,7 @@
-
+
@@ -833,7 +831,7 @@
{{commonData.currency_prefix + item.base_price}}
{{commonData.currency_prefix + item.price}}
-
+
{{commonData.currency_prefix + item.base_price}}
@@ -1140,7 +1138,8 @@
{{lang.common_cloud_btn16}}
-
+
+
@@ -1197,6 +1196,73 @@
+
+
+
+
{{lang.cur_config}}
+
+
+ {{recommend_config.name}}({{recommend_config.description}})
+
+
+
{{lang.mf_specs}}:{{recommend_config.cpu}}{{lang.mf_cores}}{{recommend_config.memory}}G
+
+
+ {{lang.mf_system}}:{{recommend_config.system_disk_size}}GB,{{recommend_config.system_disk_type}}
+
+
+ {{lang.common_cloud_text1}}:{{recommend_config.data_disk_size}}GB,{{recommend_config.data_disk_type}}
+
+
{{lang.mf_bw}}:{{recommend_config.bw}}M
+
+ {{lang.mf_flow}}:{{recommend_config.flow}}GB
+ {{lang.mf_flow}}:{{lang.mf_tip28}}
+
+
+ {{lang.mf_tip37}}:
+ {{configData.free_disk_size}}GB
+
+
+ {{lang.peak_defence}}:{{ recommend_config.peak_defence + 'G'}}
+
+
IP{{lang.shoppingCar_goodsNums}}:{{recommend_config.ip_num}}{{lang.common_cloud_title43}}
+
+
+
+
+
+
{{lang.can_upgrade}}
+
+
+ {{item.name}}({{item.description}})
+
+
+
{{lang.mf_specs}}:{{item.cpu}}{{lang.mf_cores}}{{item.memory}}G
+
+
+ {{lang.mf_system}}:{{item.system_disk_size}}GB,{{item.system_disk_type}}
+
+
+ {{lang.common_cloud_text1}}:{{item.data_disk_size}}GB,{{item.data_disk_type}}
+
+
{{lang.mf_bw}}:{{item.bw}}M
+
+ {{lang.mf_flow}}:{{item.flow}}GB
+ {{lang.mf_flow}}:{{lang.mf_tip28}}
+
+
+ {{lang.mf_tip37}}:
+ {{configData.free_disk_size}}GB
+
+
+ {{lang.peak_defence}}:{{ item.peak_defence + 'G'}}
+
+
IP{{lang.shoppingCar_goodsNums}}:{{item.ip_num}}{{lang.common_cloud_title43}}
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+