-
-
- - {{lang.captcha_setting}} - -
- - {{lang.captcha_manage}} - -
diff --git a/10.2.2/app/common/logic/ResModuleLogic.php b/10.2.2/app/common/logic/ResModuleLogic.php deleted file mode 100644 index 554da021..00000000 --- a/10.2.2/app/common/logic/ResModuleLogic.php +++ /dev/null @@ -1,1081 +0,0 @@ -upstreamProduct = $upstreamProduct; - } - - /** - * 时间 2022-05-27 - * @title 获取模块列表 - * @desc 获取模块列表 - * @author hh - * @version v1 - * @return string [].name - 模块名称 - * @return string [].display_name - 模块显示名称 - */ - public function getModuleList(): array - { - $modules = []; - if(is_dir($this->path)){ - if($handle = opendir($this->path)){ - while(($file = readdir($handle)) !== false){ - if($file != '.' && $file != '..' && is_dir($this->path . $file) && preg_match('/^[a-z][a-z0-9_]{0,99}$/', $file)){ - if($ImportModule = $this->importModule($file)){ - if(method_exists($ImportModule, 'metaData')){ - $metaData = call_user_func([$ImportModule, 'metaData']); - $modules[] = [ - 'name'=>$file, - 'display_name'=>$metaData['display_name'] ?: $file, - ]; - }else{ - $modules[] = [ - 'name'=>$file, - 'display_name'=>$file, - ]; - } - } - } - } - closedir($handle); - } - } - return $modules; - } - - /** - * 时间 2022-05-27 - * @title 测试连接 - * @desc 测试连接 - * @author hh - * @version v1 - * @param ServerModel ServerModel - 接口模型 - * @return int status - 200=连接成功,400=连接失败 - * @return string msg - 信息 - */ - // public function testConnect(ServerModel $ServerModel): array - // { - // $module = $ServerModel['module']; - // if($ImportModule = $this->importModule($module)){ - // if(method_exists($ImportModule, 'testConnect')){ - // // 获取模块通用参数 - // $res = call_user_func([$ImportModule, 'testConnect'], ['server'=>$ServerModel]); - // $res = $this->formatResult($res, lang('module_test_connect_success'), lang('module_test_connect_fail')); - // }else{ - // $res['status'] = 400; - // $res['msg'] = lang('undefined_test_connect_function'); - // } - // }else{ - // $res['status'] = 400; - // $res['msg'] = lang('module_file_is_not_exist'); - // } - // return $res; - // } - - /** - * 时间 2022-05-16 - * @title 产品开通 - * @desc 产品开通 - * @author hh - * @version v1 - * @param HostModel $HostModel - 产品模型 - * @return array - * @return int status - 状态,200=成功,400=失败 - * @return string msg - 信息 - */ - public function createAccount(HostModel $HostModel): array - { - $id = $HostModel->id; - - $UpstreamHostModel = new UpstreamHostModel(); - $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - if (empty($upstreamHost)) { - return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - } - $apiId = $this->upstreamProduct['supplier_id']; - # 检查是否可以登录 - $res = idcsmart_api_login($apiId,true); - if ($res['status']==200){ - $upstreamInfo = json_decode($upstreamHost['upstream_info'],true)??[]; - if (!empty($upstreamInfo['token'])){ - $token = $upstreamInfo['token']; - $url = $upstreamInfo['url']; - }else{ - $token = md5(rand_str(16).time().$id); - $url = configuration('website_url'); //request()->domain() . request()->rootUrl(); 服务器定时任务走cli模式,获取的是本地localhost - $upstreamHost->save([ - 'upstream_info' => json_encode(['token'=>$token,'url'=>$url]) - ]); - } - - $clearCartData = [ - 'downstream_url' => $url, - 'downstream_token' => $token, - 'downstream_host_id' => $id, - 'downstream_client_id' => $HostModel['client_id'], - ]; - - $enable = PluginModel::where('name', 'IdcsmartSubAccount')->where('module', 'addon')->where('status',1)->find(); - if(!empty($enable) && class_exists('addon\idcsmart_sub_account\model\IdcsmartSubAccountHostModel')){ - // 是否是子账户 - $IdcsmartSubAccountHostModel = IdcsmartSubAccountHostModel::where('host_id', $id)->find(); - if(!empty($IdcsmartSubAccountHostModel)){ - $IdcsmartSubAccountModel = IdcsmartSubAccountModel::find($IdcsmartSubAccountHostModel['addon_idcsmart_sub_account_id']); - if(!empty($IdcsmartSubAccountModel)){ - $clearCartData['downstream_client_id'] = $IdcsmartSubAccountModel['client_id']; - } - } - } - # 清空购物车(检查是否已下单) - $res = idcsmart_api_curl($apiId,'/console/v1/cart',$clearCartData,30,'DELETE'); - if ($res['status']==200){ - if (isset($res['data']['order_id']) && $res['data']['order_id']){ # 已在上游下单,但未支付 - /*$creditData = [ - 'id' => $res['data']['order_id']??0, - 'use' => 1 - ];*/ - # 使用余额 - //$res = idcsmart_api_curl($apiId,'/console/v1/credit',$creditData,30,'POST'); - //if ($res['status']==200){ - $payData = [ - 'id' => $res['data']['order_id']??0, - 'gateway' => 'credit' - ]; - # 支付 - $res = idcsmart_api_curl($apiId,'/console/v1/pay',$payData,30,'POST'); - //} - }else{ - $cartData = [ - 'product_id' => $this->upstreamProduct['upstream_product_id'], - 'qty' => 1, - 'config_options' => json_decode($upstreamHost['upstream_configoption'],true) - ]; - # 加入购物车 - $res = idcsmart_api_curl($apiId,'/console/v1/cart',$cartData,30,'POST'); - if ($res['status']==200){ - $settleCartData = $clearCartData; - $settleCartData['positions'] = [0]; # 取第一个,只有一个 - $settleCartData['downstream_client_id'] = $clearCartData['downstream_client_id']; - # 结算 - $res = idcsmart_api_curl($apiId,'/console/v1/cart/settle',$settleCartData,30,'POST'); - if ($res['status']==200){ - $upstreamHost->save([ - 'upstream_host_id' => $res['data']['host_ids'][0]??0, - ]); - if ($res['data']['amount']>0){ // 处理需要支付的 - /*$creditData = [ - 'id' => $res['data']['order_id']??0, - 'use' => 1 - ];*/ - # 使用余额 - //$res = idcsmart_api_curl($apiId,'/console/v1/credit',$creditData,30,'POST'); - //if ($res['status']==200){ - $payData = [ - 'id' => $res['data']['order_id']??'', - 'gateway' => 'credit' - ]; - # 支付 - $res = idcsmart_api_curl($apiId,'/console/v1/pay',$payData,30,'POST'); - //} - } - } - } - } - } - } - - return $res; - } - - /** - * 时间 2022-05-16 - * @title 产品暂停 - * @desc 产品暂停 - * @author hh - * @version v1 - * @param HostModel $HostModel - 产品模型 - * @return array - * @return int status - 状态,200=成功,400=失败 - * @return string msg - 信息 - */ - public function suspendAccount(HostModel $HostModel, $param = []): array - { - $id = $HostModel->id; - - $UpstreamHostModel = new UpstreamHostModel(); - $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - if (empty($upstreamHost)) { - return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - } - - $apiId = $this->upstreamProduct['supplier_id']; - - $suspendData = [ - 'suspend_type' => $param['suspend_type']??'downstream', - 'suspend_reason' => $param['suspend_reason']??'代理商暂停' - ]; - - $res = idcsmart_api_curl($apiId,"/console/v1/host/{$upstreamHost['upstream_host_id']}/module/suspend",$suspendData,30,'POST'); - - return $res; - } - - /** - * 时间 2022-05-16 - * @title 产品解除暂停 - * @desc 产品解除暂停 - * @author hh - * @version v1 - * @param HostModel $HostModel - 产品模型 - * @return array - * @return int status - 状态,200=成功,400=失败 - * @return string msg - 信息 - */ - public function unsuspendAccount(HostModel $HostModel): array - { - $id = $HostModel->id; - - $UpstreamHostModel = new UpstreamHostModel(); - $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - if (empty($upstreamHost)) { - return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - } - - $apiId = $this->upstreamProduct['supplier_id']; - - $res = idcsmart_api_curl($apiId,"/console/v1/host/{$upstreamHost['upstream_host_id']}/module/unsuspend",[],30,'POST'); - - return $res; - } - - /** - * 时间 2022-05-16 - * @title 产品删除 - * @desc 产品删除 - * @author hh - * @version v1 - * @param HostModel $HostModel - 产品模型 - * @return array - * @return int status - 状态,200=成功,400=失败 - * @return string msg - 信息 - */ - public function terminateAccount(HostModel $HostModel): array - { - $id = $HostModel->id; - - $UpstreamHostModel = new UpstreamHostModel(); - $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - if (empty($upstreamHost)) { - return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - } - - $apiId = $this->upstreamProduct['supplier_id']; - - // TODO - $terminateData = [ - 'host_id' => $upstreamHost['upstream_host_id'], - 'suspend_reason' => '代理商删除', - 'type' => 'Immediate' - ]; - - $res = idcsmart_api_curl($apiId,"/console/v1/refund",$terminateData,30,'POST'); - - return $res; - } - - /** - * 时间 2022-05-16 - * @title 续费订单支付后调用 - * @desc 续费订单支付后调用 - * @author hh - * @version v1 - * @param HostModel $HostModel - 产品模型 - */ - public function renew(HostModel $HostModel) - { - $id = $HostModel['id']; - - $UpstreamHostModel = new UpstreamHostModel(); - $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - if (empty($upstreamHost)) { - return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - } - - $apiId = $this->upstreamProduct['supplier_id']; - - $renewData = [ - 'billing_cycle' => $HostModel['billing_cycle_name']??'' - ]; - - $res = idcsmart_api_curl($apiId,"/console/v1/host/{$upstreamHost['upstream_host_id']}/renew",$renewData,30,'POST'); - if ($res['status']==200){ - if ($res['code']=='Unpaid'){ # 未支付 - $creditData = [ - 'id' => $res['data']['id']??0, - 'use' => 1 - ]; - # 使用余额 - $res = idcsmart_api_curl($apiId,'/console/v1/credit',$creditData,30,'POST'); - if ($res['status']==200){ - $payData = [ - 'id' => $res['data']['id'], - 'gateway' => 'credit' - ]; - # 支付 - $res = idcsmart_api_curl($apiId,'/console/v1/pay',$payData,30,'POST'); - } - } - unset($res['code']); - } - - return $res; - } - - /** - * 时间 2022-05-26 - * @title 升降级配置项完成后调用 - * @desc 升降级配置项完成后调用 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @param mixed params - 自定义参数 - */ - public function changePackage(HostModel $HostModel, $params) - { - if($ImportModule = $this->importModule()){ - if(method_exists($ImportModule, 'changePackage')){ - // 获取模块通用参数 - $moduleParams = $HostModel->getModuleParams(); - $moduleParams['custom'] = $params; - $res = call_user_func([$ImportModule, 'changePackage'], $moduleParams); - } - } - // 不需要返回 - } - - /** - * 时间 2022-06-01 - * @title 升降级商品完成后调用 - * @desc 升降级商品完成后调用 - * @author hh - * @version v1 - * @param HostModel HostModel - 已经关联新商品的产品模型 - * @param mixed params - 自定义参数 - */ - // public function changeProduct(HostModel $HostModel, $params) - // { - // if($ImportModule = $this->importModule()){ - // if(method_exists($ImportModule, 'changeProduct')){ - // // 获取模块通用参数 - // $moduleParams = $HostModel->getModuleParams(); - // $moduleParams['custom'] = $params; - // $res = call_user_func([$ImportModule, 'changeProduct'], $moduleParams); - // } - // } - // // 不需要返回 - // } - - /** - * 时间 2022-05-26 - * @title 购物车价格计算 - * @desc 购物车价格计算 - * @author hh - * @version v1 - * @param ProductModel $ProductModel - 产品模型 - * @param mixed $params [] 自己定义的参数 - * @param string scene - 场景(buy=验证所有参数,cal_price=价格计算) - * @return int status - 状态(200=成功,400=失败) - * @return array data - 购物车数据 - * @return float data.price - 配置项金额 - * @return string data.billing_cycle - 周期名称 - * @return int data.duration - 周期时长 - * @return string data.description - 订单子项描述 - * @return string data.content - 购物车配置显示,支持模板 - * @return string data.preview[].name - 名称 - * @return string data.preview[].value - 值 - * @return string data.preview[].price - 价格 - */ - public function cartCalculatePrice($ProductModel, $params = [], $qty=1) - { - $apiId = $this->upstreamProduct['supplier_id']; - - $upstreamProductId = $this->upstreamProduct['upstream_product_id']; - - $res = idcsmart_api_curl($apiId,"/console/v1/product/{$upstreamProductId}/config_option", ['config_options'=>$params],30,'POST'); - if ($res['status']==200){ - $res['data']['profit'] = bcmul($res['data']['price'] ?? 0, ($this->upstreamProduct['profit_percent']/100), 2); - $res['data']['price'] = bcadd($res['data']['price'] ?? 0, $res['data']['profit'], 2); - $res['data']['renew_price'] = bcmul($res['data']['renew_price']??0,(1+$this->upstreamProduct['profit_percent']/100),2); - $res['data']['base_price'] = bcmul($res['data']['base_price']??0,(1+$this->upstreamProduct['profit_percent']/100),2); - - $description = ''; - foreach($res['data']['preview'] as $k=>$v){ - if($v['price']>0){ - $v['price'] = bcmul($v['price'],(1+$this->upstreamProduct['profit_percent']/100),2); - $res['data']['preview'][$k]['price'] = $v['price']; - } - $description .= $v['name'].': '.$v['value'].',价格:'.$v['price']."\r\n"; - } - $res['data']['description'] = $description; - $res['data']['content'] = $description; - } - return $res; - } - - /** - * 时间 2022-05-16 - * @title 后台商品接口配置输出 - * @desc 后台商品接口配置输出 - * @author hh - * @version v1 - * @param HostModel $HostModel - 产品模型 - * @return string - */ - /*public function serverConfigOption($module, ProductModel $ProductModel) - { - $res = ''; - // 模块调用 - // if($ImportModule = $this->importModule()){ - // if(method_exists($ImportModule, 'serverConfigOption')){ - // // 获取模块通用参数 - // $res = call_user_func([$ImportModule, 'serverConfigOption'], ['product'=>$ProductModel]); - // $res = $this->formatTemplate($res); - // } - // } - return $res; - }*/ - - /** - * 时间 2022-05-16 - * @title 产品列表页内容 - * @desc 产品列表页内容 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return string - */ - public function hostList($module, $params): string - { - $res = ''; - // 模块调用 - if($ImportModule = $this->importModule($module)){ - if(method_exists($ImportModule, 'hostList')){ - // 获取模块通用参数 - $this->upstreamProduct['res_module'] = $module; - $res = call_user_func([$ImportModule, 'hostList'], $params); - $res = $this->formatTemplate($res); - } - } - return $res; - } - - /** - * 时间 2022-05-16 - * @title 产品前台内页输出 - * @desc 产品前台内页输出 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return string - */ - public function clientArea(HostModel $HostModel): string - { - $res = ''; - // 模块调用 - // $module = $HostModel->getModule(); - if($ImportModule = $this->importModule()){ - if(method_exists($ImportModule, 'clientArea')){ - // 获取模块通用参数 - $params = $HostModel->getModuleParams(); - $res = call_user_func([$ImportModule, 'clientArea'], $params); - $res = $this->formatTemplate($res); - } - } - return $res; - // $id = $HostModel['id']; - - // $UpstreamHostModel = new UpstreamHostModel(); - // $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - // if (empty($upstreamHost)) { - // return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - // } - - // $apiId = $this->upstreamProduct['supplier_id']; - - // $res = idcsmart_api_curl($apiId,"/console/v1/host/{$upstreamHost['upstream_host_id']}/view",[],30,'GET'); - - // return $res; - } - - /** - * 时间 2022-05-16 - * @title 产品后台内页输出 - * @desc 产品后台内页输出 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return string - */ - public function adminArea(HostModel $HostModel): string - { - // $id = $HostModel['id']; - - // $UpstreamHostModel = new UpstreamHostModel(); - // $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - // if (empty($upstreamHost)) { - // return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - // } - - // $apiId = $this->upstreamProduct['supplier_id']; - - // $res = idcsmart_api_curl($apiId,"/console/v1/host/{$upstreamHost['upstream_host_id']}/view",[],30,'GET'); - $res = ''; - return $res; - } - - /** - * 时间 2022-05-30 - * @title 前台商品配置页面 - * @desc 前台商品配置输出,购物车,单独订购,升降级商品 - * @author hh - * @version v1 - * @param ProductModel ProductModel - 产品模型 - * @return string - */ - public function clientProductConfigOption(ProductModel $ProductModel, $tag = ''): string - { - $res = ''; - if($ImportModule = $this->importModule()){ - if(method_exists($ImportModule, 'clientProductConfigOption')){ - // 获取模块通用参数 - $res = call_user_func([$ImportModule, 'clientProductConfigOption'], ['product'=>$ProductModel, 'tag'=>$tag]); - $res = $this->formatTemplate($res); - } - } - return $res; - // $apiId = $this->upstreamProduct['supplier_id']; - - // $upstreamProductId = $this->upstreamProduct['upstream_product_id']; - - // $res = idcsmart_api_curl($apiId,"/console/v1/product/{$upstreamProductId}/config_option",['tag'=>$tag],30,'GET'); - // if ($res['status']==200){ - // return $res['data']['content']??''; - // } - - // return ''; - } - - /** - * 时间 2022-05-31 - * @title 后台商品配置页面 - * @desc 后台商品配置输出,新建订单,升降级商品 - * @author hh - * @version v1 - * @param ProductModel ProductModel - 产品模型 - * @return string - */ - /*public function adminProductConfigOption(ProductModel $ProductModel, $tag = ''): string - { - $apiId = $this->upstreamProduct['supplier_id']; - - $upstreamProductId = $this->upstreamProduct['upstream_product_id']; - - $res = idcsmart_api_curl($apiId,"/console/v1/product/{$upstreamProductId}/config_option",['tag'=>$tag],30,'GET'); - - return $res; - }*/ - - /** - * 时间 2022-05-31 - * @title 前台产品升降级配置输出 - * @desc 前台产品升降级配置输出 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return string - */ - /*public function clientChangeConfigOption(HostModel $HostModel): string - { - $res = ''; - if($ImportModule = $this->importModule()){ - if(method_exists($ImportModule, 'clientChangeConfigOption')){ - // 获取模块通用参数 - $params = $HostModel->getModuleParams(); - $res = call_user_func([$ImportModule, 'clientChangeConfigOption'], $params); - $res = $this->formatTemplate($res); - } - } - return $res; - }*/ - - /** - * 时间 2022-05-31 - * @title 后台产品升降级配置输出(暂时未用) - * @desc 后台产品升降级配置输出 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return string - */ - // public function adminChangeConfigOption(HostModel $HostModel): string - // { - // $res = ''; - // if($ImportModule = $this->importModule()){ - // if(method_exists($ImportModule, 'adminChangeConfigOption')){ - // // 获取模块通用参数 - // $params = $HostModel->getModuleParams(); - // $res = call_user_func([$ImportModule, 'adminChangeConfigOption'], $params); - // $res = $this->formatTemplate($res); - // } - // } - // return $res; - // } - - /** - * 时间 2022-05-31 - * @title 升降级配置项计算价格(暂时未用) - * @desc 升降级配置项计算价格 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @param array params - 产品模型 - * @return array - */ - // public function changeConfigOptionCalculatePrice(HostModel $HostModel, $params): array - // { - // $result = []; - // if($ImportModule = $this->importModule()){ - // if(method_exists($ImportModule, 'changeConfigOptionCalculatePrice')){ - // // 获取模块通用参数 - // $result = call_user_func([$ImportModule, 'changeConfigOptionCalculatePrice'], ['host'=>$HostModel, 'product'=>ProductModel::find($HostModel['product_id']), 'custom'=>$params]); - // // TODO 是否判断返回/格式化 - - // } - // } - // if(empty($result)){ - // $result = [ - // 'status'=>400, - // 'msg'=>lang('module_file_is_not_exist'), - // ]; - // } - // return $result; - // } - - /** - * 时间 2022-05-30 - * @title 在结算之后调用 - * @desc 在结算之后调用,通常是验证参数,并保存参数 - * @author hh - * @version v1 - * @param ProductModel ProductModel - 商品模型 - * @param int hostId - 产品ID - * @param array params - 自定义参数 - */ - public function afterSettle($ProductModel, $hostId, $params): void - { - if($ImportModule = $this->importModule()){ - if(method_exists($ImportModule, 'afterSettle')){ - call_user_func([$ImportModule, 'afterSettle'], ['product'=>$ProductModel, 'host_id'=>$hostId, 'custom'=>$params]); - } - } - } - - /** - * 时间 2022-05-16 - * @title 自定义后台方法 - * @desc 自定义后台方法 - * @author hh - * @version v1 - * @param string module - 模块名称 - * @return mixed params - 自定义参数 - */ - // public function customAdminFunction($module, $params) - // { - // $res = []; - // // 验证模块格式是否正确 - // if(!$this->checkModule($module)){ - // $res['status'] = 400; - // $res['msg'] = '模块格式错误'; - // return json($res); - // } - // $controller = $params['controller'] ?? ''; - // $method = $params['method'] ?? ''; - // if(empty($controller) || empty($method)){ - // $res['status'] = 400; - // $res['msg'] = '模块格式错误'; - // return json($res); - // } - // $controller = parse_name($controller.'_controller', 1); - // $method = parse_name($method, 1, false); - - // $class = '\reserver\\'.$module.'\\controller\\admin\\'.$controller; - // if(class_exists($class)){ - // $class = new $class(); - - // if(method_exists($class, $method)){ - // $res = call_user_func([$class, $method], $params); - // }else{ - // $res['status'] = 400; - // $res['msg'] = '模块或方法不存在'; - // $res = json($res); - // } - // }else{ - // $res['status'] = 400; - // $res['msg'] = '模块或方法不存在'; - // $res = json($res); - // } - // // if($this->importModule($module)){ - // // // 执行模块操作 - // // $func = $module . '_CustomAdminFunction'; - // // if(function_exists($func)){ - // // $res = call_user_func($func, $params); - // // $res = $this->formatResult($res); - // // } - // // } - // // if(empty($res)){ - // // $res['status'] = 400; - // // $res['msg'] = '模块或方法不存在'; - // // } - // return $res; - // } - - /** - * 时间 2022-06-08 - * @title 自定义前台方法 - * @desc 自定义前台方法 - * @author hh - * @version v1 - * @param string $module - 模块名称 - * @param mixed $params - POST的其他参数 - * @return array - */ - // public function customClientFunction($module, $params) - // { - // $res = []; - // // 验证模块格式是否正确 - // if(!$this->checkModule($module)){ - // $res['status'] = 400; - // $res['msg'] = '模块格式错误'; - // return json($res); - // } - // $controller = $params['controller'] ?? ''; - // $method = $params['method'] ?? ''; - // if(empty($controller) || empty($method)){ - // $res['status'] = 400; - // $res['msg'] = '模块格式错误'; - // return json($res); - // } - // $controller = parse_name($controller.'_controller', 1); - // $method = parse_name($method, 1, false); - - // $class = '\reserver\\'.$module.'\\controller\\home\\'.$controller; - // if(class_exists($class)){ - // $class = new $class(); - - // if(method_exists($class, $method)){ - // $res = call_user_func([$class, $method], $params); - // }else{ - // $res['status'] = 400; - // $res['msg'] = '模块或方法不存在'; - // $res = json($res); - // } - // }else{ - // $res['status'] = 400; - // $res['msg'] = '模块或方法不存在'; - // $res = json($res); - // } - // return $res; - // } - - /** - * 时间 2022-06-02 - * @title 获取当前产品所有周期价格 - * @desc 获取当前产品所有周期价格 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return int status - 状态码(200=成功,400=失败) - * @return string msg - 提示信息 - * @return array data - 数据 - * @return float data[].price - 金额 - * @return string data[].billing_cycle - 周期名称 - * @return int data[].duration - 周期时长(秒) - */ - public function durationPrice(HostModel $HostModel) - { - $id = $HostModel['id']; - - $UpstreamHostModel = new UpstreamHostModel(); - $upstreamHost = $UpstreamHostModel->where('host_id', $id)->find(); - if (empty($upstreamHost)) { - return ['status' => 400, 'msg' => lang('upstream_host_is_not_exist')]; - } - - $apiId = $this->upstreamProduct['supplier_id']; - - $res = idcsmart_api_curl($apiId,"/console/v1/host/{$upstreamHost['upstream_host_id']}/renew",[],30,'GET'); - - if ($res['status']==200){ - $result = [ - 'status' => 200, - 'msg' => $res['msg'], - 'data' => [ - ] - ]; - foreach ($res['data']['host'] as $item){ - $item['profit'] = bcmul($item['price'], ($this->upstreamProduct['profit_percent']/100), 2); - $item['price'] = bcadd($item['price'], $item['profit'], 2); - $result['data'][] = $item; - } - return $result; - } - - return $res; - } - - /** - * 时间 2022-06-16 - * @title 获取商品所有配置项 - * @desc 获取商品所有配置项 - * @author hh - * @version v1 - * @param ProductModel ProductModel - 商品模型 - * @return array - */ - /*public function allConfigOption(ProductModel $ProductModel) - { - $apiId = $this->upstreamProduct['supplier_id']; - - $upstreamProductId = $this->upstreamProduct['upstream_product_id']; - - $res = idcsmart_api_curl($apiId,"/api/v1/product/{$upstreamProductId}/all_config_option",[],30,'GET'); - - return $res; - }*/ - - /** - * 时间 2022-08-04 - * @title 获取当前产品配置项 - * @desc 获取当前产品配置项 - * @author hh - * @version v1 - * @param HostModel HostModel - 产品模型 - * @return int status - 状态码(200=成功,400=失败) - * @return string msg - 提示信息 - * @return array data - 数据 - */ - /*public function currentConfigOption(HostModel $HostModel) - { - $res = []; - if($ImportModule = $this->importModule()){ - if(method_exists($ImportModule, 'currentConfigOption')){ - // 获取模块通用参数 - $moduleParams = $HostModel->getModuleParams(); - $res = call_user_func([$ImportModule, 'currentConfigOption'], $moduleParams); - // TODO 验证返回 - } - } - // if(empty($res)){ - // $res = ['status'=>400, 'msg'=>'module_file_is_not_exist']; - // } - return $res; - }*/ - - /** - * 时间 2023-01-30 - * @title 获取商品最低周期价格 - * @desc 获取商品最低周期价格 - * @author hh - * @version v1 - * @param int productId - 商品ID - * @return float price - 价格 - * @return string cycle - 周期 - * @return ProductModel product - ProductModel实例 - */ - // public function getPriceCycle($productId) - // { - // $res = [ - // 'price' => null, - // 'cycle' => null - // ]; - // $ProductModel = ProductModel::findOrEmpty($productId); - - // $module = $ProductModel->getModule(); - // if($ImportModule = $this->importModule($module)){ - // if(method_exists($ImportModule, 'getPriceCycle')){ - // $moduleRes = call_user_func([$ImportModule, 'getPriceCycle'], ['product'=>$ProductModel]); - // if(isset($moduleRes['price']) && is_numeric($moduleRes['price'])){ - // $res['price'] = $moduleRes['price']; - // } - // if(isset($moduleRes['cycle'])){ - // $res['cycle'] = $moduleRes['cycle']; - // } - // } - // } - // $res['product'] = $ProductModel; - // return $res; - // } - - - public function downloadResource($ProductModel){ - $apiId = $this->upstreamProduct['supplier_id']; - - $res = idcsmart_api_curl($apiId, sprintf('api/v1/product/%d/resource', $this->upstreamProduct['upstream_product_id']), [] ,30, 'GET'); - return $res; - } - - - - - /** - * 时间 2022-06-08 - * @title 验证模块名称是否正确 - * @desc 验证模块名称是否正确 - * @author hh - * @version v1 - * @param string $module - 模块名称 - * @return bool - */ - protected function checkModule($module){ - return (bool)preg_match('/^[a-z][a-z0-9_]{0,99}$/', $module); - } - - /** - * 时间 2022-05-16 - * @title 引入商品模块文件 - * @desc 引入商品模块文件 - * @author hh - * @version v1 - * @param string module - 模块类型 - * @return bool|object - - false=没有对应类,object=成功实例化模块类 - */ - protected function importModule($module = null) - { - $module = $module ?? $this->upstreamProduct['res_module']; - if(!empty($module)){ - $className = parse_name($module, 1); - - $class = '\reserver\\'.$module.'\\'.$className; - - if(class_exists($class)){ - return new $class(); - } - } - return false; - } - - /** - * 时间 2022-05-26 - * @title 格式化文本返回 - * @desc 格式化文本返回 - * @author hh - * @version v1 - * @param string $module 模块名称 - * @param mixed $res 模块返回 - * @return string - */ - private function formatTemplate($res = null): string - { - $html = ''; - $module = $module ?? $this->upstreamProduct['res_module']; - if(is_array($res)){ - // 认为是使用模板的方式来输出内容,格式大概如下 - // [ - // 'template'=>'abc.html', - // 'vars'=>[ - // 'aaaa'=>'bbb' - // ] - // ] - $template_file = $this->path . $module . '/' . $res['template']; - if(file_exists($template_file)){ - $PluginModel=new PluginModel(); - $addons = $PluginModel->plugins('addon')['list']; - - $vars = isset($res['vars']) && !empty($res['vars']) && is_array($res['vars']) ? $res['vars'] : []; - $vars['addons'] = $addons; - - View::assign($vars); - // 调用方法变量 - $html = View::fetch($template_file); - }else{ - $html = lang('module_cannot_find_template_file'); - } - }else if(is_string($res)){ - $html = $res; - }else{ - $html = (string)$res; - } - return $html; - } - - /** - * 时间 2022-05-13 - * @title 格式化系统操作返回 - * @desc 格式化系统操作返回 - * @author hh - * @version v1 - * @param mixed res - 操作返回 required - * @param string successMsg - 成功返回没有提示信息时,会用该信息提示 - * @param string failMsg - 失败返回没有提示信息时,会用该信息提示 - * @return array - */ - private function formatResult($res, $successMsg = '', $failMsg = ''): array - { - $result = []; - // 不兼容原来的老模块写法,都必须按标准返回 - if(is_array($res)){ - $result = $res; - - if($result['status'] === 400){ - $result['msg'] = $result['msg'] ?? ($failMsg ?: lang('module_operate_fail')); - }else if($result['status'] === 200){ - $result['msg'] = $result['msg'] ?? ($successMsg ?: lang('module_operate_success')); - }else{ - $result = []; - $result['status'] = 400; - $result['msg'] = lang('module_res_format_error'); - } - }else{ - $result = []; - $result['status'] = 400; - $result['msg'] = lang('module_res_format_error'); - // 原模块返回判断(废弃) - // if($res === null || $res == 'success' || $res == 'ok'){ - // $result['status'] = 200; - // $result['msg'] = '操作成功'; - // }else{ - // $result['status'] = 400; - // $result['msg'] = (string)$res; - // } - } - return $result; - } - - -} - - - diff --git a/10.2.2/app/common/model/SupplierModel.php b/10.2.2/app/common/model/SupplierModel.php deleted file mode 100644 index da3fc63c..00000000 --- a/10.2.2/app/common/model/SupplierModel.php +++ /dev/null @@ -1,265 +0,0 @@ - 'int', - 'name' => 'string', - 'url' => 'string', - 'username' => 'string', - 'token' => 'string', - 'secret' => 'string', - 'contact' => 'string', - 'notes' => 'string', - 'create_time' => 'int', - 'update_time' => 'int', - ]; - - # 供应商列表 - public function supplierList($param) - { - $param['keywords'] = $param['keywords'] ?? ''; - $param['orderby'] = isset($param['orderby']) && in_array($param['orderby'], ['id']) ? 'a.'.$param['orderby'] : 'a.id'; - - $where = function (Query $query) use ($param){ - if (!empty($param['keywords'])){ - $query->where('a.name|a.url','like',"%{$param['keywords']}%"); - } - }; - $count = $this->alias('a') - ->field('a.id') - ->where($where) - ->count(); - - - - $list = $this->alias('a') - ->field('a.id,a.name,a.url') - ->where($where) - ->group('a.id') - ->limit($param['limit']) - ->page($param['page']) - ->order($param['orderby'], $param['sort']) - ->select() - ->toArray(); - $supplierId = array_column($list, 'id'); - $productNum = UpstreamProductModel::field('COUNT(id) num,supplier_id')->whereIn('supplier_id', $supplierId)->group('supplier_id')->select()->toArray();; - $productNum = array_column($productNum, 'num', 'supplier_id'); - $hostNum = UpstreamHostModel::field('COUNT(id) num,supplier_id')->whereIn('supplier_id', $supplierId)->group('supplier_id')->select()->toArray();; - $hostNum = array_column($hostNum, 'num', 'supplier_id'); - - foreach ($list as $key => $value) { - $list[$key]['host_num'] = $hostNum[$value['id']] ?? 0; - $list[$key]['product_num'] = $productNum[$value['id']] ?? 0; - } - - return ['list' => $list, 'count' => $count]; - } - - # 供应商详情 - public function indexSupplier($id) - { - $supplier = $this->field('id,name,url,username,token,secret,contact,notes')->find($id); - if(empty($supplier)){ - return (object)[]; - } - $supplier['token'] = aes_password_decode($supplier['token']); - $supplier['secret'] = aes_password_decode($supplier['secret']); - return $supplier; - } - - # 添加供应商 - public function createSupplier($param) - { - - $this->startTrans(); - try{ - $supplier = $this->create([ - 'name' => $param['name'], - 'url' => $param['url'], - 'username' => $param['username'], - 'token' => aes_password_encode($param['token']), - 'secret' => aes_password_encode(str_replace("\r\n", "\n", $param['secret'])), - 'contact' => $param['contact'] ?? '', - 'notes' => $param['notes'] ?? '', - 'create_time' => time(), - ]); - - # 记录日志 - active_log(lang('log_create_supplier',['{admin}'=>request()->admin_name,'{name}'=>$param['name']]), 'supplier', $supplier->id); - $this->commit(); - }catch (\Exception $e){ - $this->rollback(); - return ['status'=>400, 'msg'=>lang('create_fail')]; - } - - return ['status'=>200, 'msg'=>lang('create_success')]; - } - - # 编辑供应商 - public function updateSupplier($param) - { - $supplier = $this->find($param['id']); - if(empty($supplier)){ - return ['status' => 400, 'msg' => lang('supplier_is_not_exist')]; - } - $supplier = $supplier->toArray(); - $token = aes_password_decode($supplier['token']); - $secret = aes_password_decode($supplier['secret']); - unset($supplier['token'],$supplier['secret']); - # 日志描述 - $logDescription = log_description($supplier,$param,'supplier'); - if($token!=$param['token']){ - $logDescription = $logDescription.','.lang('log_supplier_token'); - } - if($secret!=$param['secret']){ - $logDescription = $logDescription.','.lang('log_supplier_secret'); - } - $logDescription = ltrim(',', $logDescription); - - $this->startTrans(); - try{ - $this->update([ - 'name' => $param['name'], - 'url' => $param['url'], - 'username' => $param['username'], - 'token' => aes_password_encode($param['token']), - 'secret' => aes_password_encode(str_replace("\r\n", "\n", $param['secret'])), - 'contact' => $param['contact'] ?? '', - 'notes' => $param['notes'] ?? '', - 'update_time' => time(), - ], ['id' => $param['id']]); - - # 记录日志 - active_log(lang('log_update_supplier',['{admin}'=>request()->admin_name,'{name}'=>$param['name'],'{description}'=>$logDescription]),'supplier',$supplier['id']); - $this->commit(); - }catch (\Exception $e){ - $this->rollback(); - return ['status'=>400,'msg'=>lang('update_fail')]; - } - - return ['status'=>200,'msg'=>lang('update_success')]; - } - - # 删除供应商 - public function deleteSupplier($id) - { - $supplier = $this->find($id); - if(empty($supplier)){ - return ['status' => 400, 'msg' => lang('supplier_is_not_exist')]; - } - $productCount = UpstreamProductModel::where('supplier_id', $id)->count(); - if($productCount>0){ - return ['status' => 400, 'msg' => lang('cannot_delete_supplier')]; - } - - $this->startTrans(); - try{ - $this->destroy($id); - - # 记录日志 - active_log(lang('log_delete_supplier',['{admin}'=>request()->admin_name,'{name}'=>$supplier['name']]),'supplier',$supplier->id); - $this->commit(); - }catch (\Exception $e){ - $this->rollback(); - return ['status'=>400,'msg'=>lang('delete_fail')]; - } - - return ['status'=>200,'msg'=>lang('delete_success')]; - } - - # 检查供应商接口连接状态 - public function supplierStatus($id) - { - $supplier = $this->find($id); - if(empty($supplier)){ - return ['status' => 400, 'msg' => lang('supplier_is_not_exist')]; - } - // 从上游商品详情拉取 - $UpstreamLogic = new UpstreamLogic(); - $res = $UpstreamLogic->upstreamApiAuth(['url' => $supplier['url'], 'username' => $supplier['username'], 'password' => aes_password_decode($supplier['token'])]); - if($res['status']==400){ - return ['status'=>400,'msg'=>$res['msg']]; - } - return ['status'=>200,'msg'=>lang('success_message')]; - } - - # 获取供应商商品列表 - public function supplierProduct($id) - { - $supplier = $this->find($id); - if(empty($supplier)){ - return ['list' => [], 'count' => 0]; - } - // 从上游商品详情拉取 - $UpstreamLogic = new UpstreamLogic(); - $res = $UpstreamLogic->upstreamProductList(['url' => $supplier['url']]); - return $res; - } - - public function apiAuth($api_id,$force) - { - $this->startTrans(); - - try{ - $path='api/v1/auth'; - - $supplier = $this->where('id',$api_id)->find(); - if (empty($supplier)){ - throw new \Exception(lang('supplier_is_not_exist')); - } - $url = rtrim($supplier['url'],'/'); - - $key = 'api_auth_login_' . AUTHCODE . '_' . $api_id; - - $jwt = idcsmart_cache($key); - - if (empty($jwt) || $force){ - - $apiUrl = $url . '/' . $path; - - $data = [ - 'username' => $supplier['username'], - 'password' => aes_password_decode($supplier['token']) - ]; - - $result = curl($apiUrl,$data); - if ($result['http_code']!=200){ - idcsmart_cache($key,null); - throw new \Exception($result['content']??"api_auth_fail"); - } - $result = json_decode($result['content'], true); - - if($result['status'] == 200){ - $jwt = $result['data']['jwt']; - - idcsmart_cache($key,$jwt,2*3600); - }else{ - throw new \Exception($result['msg']??"api_auth_fail"); - } - } - - $this->commit(); - }catch (\Exception $e){ - $this->rollback(); - - return ['status'=>400,'msg'=>$e->getMessage()]; - } - - return ['status'=>200,'msg'=>lang('success_message'),'data'=>['jwt'=>$jwt,'url'=>$url]]; - } -} \ No newline at end of file diff --git a/10.2.2/public/admin/template/default/captcha.php b/10.2.2/public/admin/template/default/captcha.php deleted file mode 100644 index 31e9291e..00000000 --- a/10.2.2/public/admin/template/default/captcha.php +++ /dev/null @@ -1,111 +0,0 @@ -{include file="header"} - - -
{{lang.order_new + lang.withdraw}}
-{{lang.withdrawal_source}}
-{{lang.withdrawal_way}}
-{{lang.withdrawal_process}}
-{{lang.min_money_limit}}
-{{lang.max_money_limit}}
-{{lang.withdrawal_cycle_limit}}
-{{lang.commission}}
-暂无活动
-2022-12-21
-Apache Kafka Connect - 远程代码执行漏洞预警
-2023年2月9日
-2022年12月9日
-2022年11月2日
-2022年9月22日
-2022年7月19日
-2023年9月22日
-2023年7月8日
-2023年4月24日
-2023年1月12日
-2022年12月30日
-网站开发、测试环境、媒体网站、资讯应用、企业网站、博客论坛等。
- -采购服务器成本较高,初始投入成本高。
-后期运维过于专业,缺乏专业人才。
-访问量不定时激增,传统服务器无法负荷,扩容成本高且造成资源浪费。
-轻量型云服务器,即开即用,一次性投入成本低,经济实惠。
-云服务器可弹性调整配置规格,秒级交付,灵活应对流量激增。
-多重安全防护,无需专人运维,有效保障业务安全稳定运行。
-手游、端游、在线直播、在线教育等应用。
- -对服务器性能要求极高,设备采购与维护成本过高。
-传统服务器会造成卡顿、掉线等严重问题,影响用户体验。
-根据业务情况灵活选配高性能资源配置,灵活实惠。
-提供高I/O能力和快速的数据交换处理能力,给用户高清流畅的使用体验。
-秒杀应用、抢红包应用、优惠券发放应用、电商网站、票务网站等。
- -数据量大,要求快速地数据交换与处理,对服务器性能要求较高,设备采购成本高。
-促销期间访问流量暴增,系统响应慢,产品状态更新不及时,造成大量用户投诉。
-性能均衡的计算、内存与网络服务能力,在节省成本的同时提供有力的服务支撑。
-灵活调整实例数量,实现访问量高低峰时期的无缝转换。
-视频网站、设计素材网站、资源下载应用、网盘应用等。
- -涉及海量静态数据,网页加载速度慢,用户体验差。
-业务数据量不断增大,对计算资源需求较大,带来成本压力。
-存储容量做到低成本、高可靠性,实现高清流畅的浏览体验。
-海量计算资源随开随用,弹性扩容,轻松适应不断增长的业务需求。
-超算中心、数据分析等高性能计算场景,数据处理量大,对服务器的计算性能、稳定性、实时性等要求很高。
- -独占资源
-独占计算资源,无资源争抢。
-强劲性能
-全新硬件设备,提供强大计算能力。
-无虚拟化损失
-机器无虚拟化开销,用户使用全部计算能力。
-某些关键的数据库业务不能部署在虚拟机上,必须通过资源专享、网络隔离、性能有保障的物理裸机承载。
- -安全隔离
-CPU、内存、磁盘、网络等计算资源完全隔离。
-高数据可靠
-可根据业务需求随时扩容。
-金融、证券等行业对业务部署的合规性,以及某些客户对数据安全有极高的要求。
- -安全合规
-用户独享物理隔离的计算资源。
-专线接入
-专线网络保障数据传输安全稳定。
-搜索词“服务"
-号码隐私保护服务PNS 号码隐私保护服务(Privacy Number Service,简称PNS)为用户或企业分配隐私号码, - 保证通话过程中号码信息不被泄露。并可通过隐私号对通话进行录音,提升服务安全性及服务质量。同时可在信息隔离的使用场景中,做流量的监控。(Privacy Number Service,简称PNS)为用户或企业分配隐私号码,保证通话过程中号码信息不被泄露。并可通过隐私号对通话进行录音,提升服务安全性及服务质量。同时
-号码隐私保护服务PNS 号码隐私保护服务(Privacy Number Service,简称PNS)为用户或企业分配隐私号码, - 保证通话过程中号码信息不被泄露。并可通过隐私号对通话进行录音,提升服务安全性及服务质量。同时可在信息隔离的使用场景中,做流量的监控。(Privacy Number Service,简称PNS)为用户或企业分配隐私号码,保证通话过程中号码信息不被泄露。并可通过隐私号对通话进行录音,提升服务安全性及服务质量。同时
-2022-12-21
-2022-12-21
-{{lang.user_tip}}
+ {{moment(item.create_time * 1000).format('YYYY-MM-DD HH:mm:ss')}} + {{item.admin_name}} +
+{{loadingText}}
+ +{{item.id}}-{{item.username}}
@@ -44,10 +42,10 @@- {{lang.optional_config}} -
- +{{item.billing_cycle}}
+{{currency_prefix}}{{item.price}}
+{{lang.user}}
- -{{lang.tailorism}}
- -{{lang.product}}
- -{{lang.tip10}}
{{ lang.basic_info }}
{{lang.sign_pay}}
{{moment(orderDetail.create_time * 1000).format('YYYY-MM-DD HH:mm')}}
++ + {{moment(orderDetail.pay_time * 1000).format('YYYY-MM-DD HH:mm')}} + + + {{moment(orderDetail.create_time * 1000).format('YYYY-MM-DD HH:mm')}} + +
{{orderDetail.gateway}}
{{ lang.basic_info }}
{{ lang.connect }}
{{optTitle}}
-{{optTitle}}
-尊敬的主题云用户:
\n您好!国外安全研究团队披露在polkit的pkexec程序中存在一处权限提升漏洞。(CVE-2021-4034,亦称PwnKit)。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2021-4034
\n攻击者可以通过在其默认配置中利用此漏洞实现用任何非特权用户获取易受攻击主机的完全root权限,目前漏洞POC/EXP已公开,风险较高。
\n【影响范围】
\n该漏洞影响2009年5月至今所有polkit版本。由于polkit是系统的预装工具,所有存在polkit的linux系统均受影响。
\n【修复方案】
\n目前RedHat、Ubuntu、Debian、SUSE等各大Linux厂商均已发布补丁版本修复了该漏洞,请受影响的用户升级到安全版本。
\n尊敬的主题云用户:
\n您好! Apache APISIX官方发布安全通告,披露了 APISIX batch-requests 插件存在远程代码执行漏洞,漏洞编号CVE-2022-24112。可导致攻击者远程执行任意代码等危害。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-24112
\n攻击者可以滥用batch-requests插件发送特制请求,并借此来绕过Admin API的IP限制,如绕过 IP 黑白名单限制。或者当用户使用 Apache APISIX 默认配置时(启用 Admin API ,使用默认 Admin Key 且没有额外分配管理端口),攻击者可以通过 batch-requests 插件调用 Admin API ,导致远程代码执行。
\n【影响范围】
\n影响版本:
\nApache APISIX < 2.12.1
\nApache APISIX < 2.10.4 (LTS versions)
\n【修复方案】
\n官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,酌情升级至安全版本。
\nhttps://github.com/apache/apisix/releases/tag/2.12.1
\nhttps://github.com/apache/apisix/releases/tag/2.10.4
\n注:修复漏洞前请将资料备份,并进行充分测试。
\n【参考链接】
\nhttps://apisix.apache.org/zh/blog/2022/02/11/cve-2022-24112/
\nhttps://nvd.nist.gov/vuln/detail/CVE-2022-24112
\n尊敬的主题云用户:
\n您好! 近日, Linux Kernel 被披露出存在本地提权漏洞,漏洞编号CVE-2022-0847。可导致linux本地提权等危害。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-0847
\n攻击者通过利用此漏洞,可以覆盖任意可读文件中的数据,导致可将普通权限的用户提升至root权限。目前POC、 EXP已公开,风险较高。
\n【影响范围】
\n主题云提供的云服务不受漏洞影响,请您及时安排自检内部自行搭建的环境并做好安全加固。
\n影响版本:
\n5.8 <= Linux kernel < 5.16.11 / 5.15.25 / 5.10.102
\n【修复方案】
\n目前Kernel官方已提供安全版本修复了该漏洞,请受影响的用户及时升级至安全版本:https://www.kernel.org/
\n【参考链接】
\nhttps://access.redhat.com/security/cve/cve-2022-0847
\nhttps://dirtypipe.cm4all.com/
\nhttps://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9d2231c5d74e13b2a0546fee6737ee4446017903
\n尊敬的主题云用户:
\n您好!Spring官方发布安全公告,披露Spring Framework存在缺陷,导致运行在JDK 9及以上版本的环境上存在一处远程代码执行漏洞(CVE-2022-22965),该漏洞可导致远程写入、执行任意代码。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-22965
\n据官方说明,目前已被泄漏的漏洞利用主要影响在 JDK 9+ 上运行的 Spring MVC 和 Spring WebFlux 应用程序。漏洞的成功利用需要应用程序作为 WAR 部署在 Tomcat 上运行。
\n【影响范围】
\n影响版本:
\nSpring Framework 5.3.x < 5.3.18
\nSpring Framework 5.2.x < 5.2.20
\n并且使用了JDK版本 >= 9
\n(其他Spring Framework低版本均有可能受影响)
\n【修复方案】
\n目前官方已发布安全版本,建议受影响的用户升级Spring Framework至安全版本:
\nhttps://github.com/spring-projects/spring-framework/tags
\n【参考链接】
\nhttps://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
\nhttps://tanzu.vmware.com/security/cve-2022-22965
\n尊敬的主题云用户:
\n您好!Atlassian官方发布安全公告,披露Atlassian Jira Seraph 存在身份验证绕过漏洞(CVE-2022-0540),为避免您的业务受影响建议您及时开展安全自查,如在受影响范围,请及时更新修复,避免被外部攻击者入侵。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-0540
\nJira是一个缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件。Jira Seraph是Jira 和 Jira Service Management 在 Web 身份验证的框架,未经身份验证的远程攻击者可利用Jira Seraph中的该漏洞,通过发送特制的 HTTP 请求绕过身份验证。
\n【影响范围】
\n受影响的Jira版本:
\nJira < 8.13.18
\nJira 8.14.x、8.15.x、8.16.x、8.17.x、8.18.x、8.19.x
\nJira 8.20.x < 8.20.6
\nJira 8.21.x
\n受影响的Jira Service Management版本:
\nJira Service Management < 4.13.18
\nJira Service Management 4.14.x、4.15.x、4.16.x、4.17.x、4.18.x、4.19.x
\nJira Service Management 4.20.x < 4.20.6
\nJira Service Management 4.21.x
\n【修复方案】
\n目前官方已发布漏洞补丁及修复版本,请受影响的用户酌情升级至安全版本。
\n【参考链接】
\nhttps://nvd.nist.gov/vuln/detail/CVE-2022-0540
\nhttps://jira.atlassian.com/browse/JSDSERVER-11224
\nhttps://confluence.atlassian.com/jira/jira-security-advisory-2022-04-20-1115127899.html
\n尊敬的主题云用户:
\n您好! Atlassian官方发布安全通告,披露了Confluence Server 和 Confluence Data Center中存在的一个远程代码执行漏洞,漏洞编号CVE-2022-26134。可导致攻击者无需身份验证远程执行任意代码等危害。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-26134
\nJAtlassian Confluence是一个专业的企业知识管理与协同软件,可用于构建企业wiki,据官方描述,该漏洞由于Confluence Server 和 Data Center 版本中存在 OGNL表达式注入导致,可导致攻击者在未经身份验证的情况下,通过发送恶意请求,注入执行任意代码。
\n【影响范围】
\n影响版本:
\nAtlassian Confluence Server and Data Center >= 1.3.0
\nAtlassian Confluence Server and Data Center < 7.4.17
\nAtlassian Confluence Server and Data Center < 7.13.7
\nAtlassian Confluence Server and Data Center < 7.14.3
\nAtlassian Confluence Server and Data Center < 7.15.2
\nAtlassian Confluence Server and Data Center < 7.16.4
\nAtlassian Confluence Server and Data Center < 7.17.4
\nAtlassian Confluence Server and Data Center < 7.18.1
\n【修复方案】
\n目前官方已发布漏洞补丁及修复版本,请受影响的用户酌情升级至安全版本:
\nhttps://www.atlassian.com/software/confluence/download-archives
\n【参考链接】
\nhttps://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html
\n尊敬的主题云用户:
\n您好! 近日,Apache Spark官方发布安全公告,披露在Apache Spark特定版本中存在一处命令注入漏洞(CVE-2022-33891)。Apache Spark UI具有ACL机制,当开启ACL后,攻击者可利用漏洞冒充任意用户进行任意命令注入并执行。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-33891
\nApache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架。
\nApache Spark UI 中可通过配置选项 spark.acls.enable 启用 ACL 。这些身份验证过滤器会检查用户是否具有查看或修改应用程序的访问权限。如果启用ACL,则 HttpSecurityFilter 中的代码路径可允许攻击者冒充任意用户。该功能可根据他们的输入创建一个 Unix shell 命令并执行,最终导致执行任意命令。
\n【影响范围】
\nApache Spark =< 3.0.3
\nApache Spark 3.1.1 - 3.1.2
\nApache Spark 3.2.0 - 3.2.1
\n【修复方案】
\n目前,官方已发布新版本修复了该漏洞,请受影响的用户升级到安全版本:
\nhttps://github.com/apache/spark/tags
\n【参考链接】
\nhttps://spark.apache.org/security.html
\n尊敬的主题云用户:
\n您好! 近日, Linux kernel 被披露出存在本地提权漏洞,漏洞编号CVE-2022-2588,可导致攻击者权获得root权限等危害。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-2588
\n漏洞由于在Linux kernel 的 net/sched/cls_route.c 过滤器实现的 route4_change 中存在 use-after-free 缺陷导致,若被本地经过身份认证的攻击者利用,可能会导致系统崩溃、权限提升等。
\n【影响范围】
\n影响版本
\nLinux kernel >= v2.6.12-rc2
\n【修复方案】
\n目前官方已在高版本中修复了该漏洞,请受影响的用户升级至安全版本:
\nhttps://www.kernel.org/
\n【参考链接】
\nhttps://github.com/Markakd/CVE-2022-2588
\n\n
https://access.redhat.com/security/cve/cve-2022-2588
\n尊敬的主题云用户:
\n您好! OpenSSL官方发布安全公告,披露在3.0.x版本中存在两处高危的缓冲区溢出漏洞(CVE-2022-3602、CVE-2022-3786),可导致拒绝服务等危害,在特定的情况下可能会导致远程代码执行。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-3602、CVE-2022-3786
\nOpenSSL 是一个安全套接字层密码库,通常用于加密和安全通信。本次两处漏洞,都是由于OpenSSL 中X.509 证书验证时存在缺陷,攻击者可以通过制作恶意电子邮件地址触发缓冲区溢出,成功利用漏洞可导致拒绝服务或潜在的远程代码执行。
\n【影响范围】
\n影响版本
\n3.0.0 <= OpenSSL < =3.0.6
\n【修复方案】
\n您可以使用 “openssl version” 或 “openssl version -a” 命令即可查看当前安装的openssl的版本。如使用版本受到漏洞潜在威胁,请尽快升级至安全版本:
\nhttps://www.openssl.org/source/
\n【参考链接】
\nhttps://www.openssl.org/news/secadv/20221101.txt
\nhttps://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/
\n尊敬的主题云用户:
\n您好!近日,Xstream官方发布安全公告,披露在1.4.20之前的版本中存在一处高风险级别的拒绝服务漏(CVE-2022-41966),目前漏洞细节已于POC公开,风险较高。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2022-41966
\n本漏洞允许远程攻击者通过操纵已处理的输入流触发堆栈溢出,致使应用程序终止,从而导致拒绝服务。
\n【影响范围】
\n影响版本
\nXStream < 1.4.20
\n【修复方案】
\n目前官方已在高版本中修复了该漏洞,请受影响的用户升级至安全版本:
\nhttp://x-stream.github.io/download.html
\n【参考链接】
\nhttps://x-stream.github.io/CVE-2022-41966.html
\nhttps://github.com/x-stream/xstream/security/advisories/GHSA-j563-grx4-pjpv
\n尊敬的主题云用户:
\n您好!近日,Apache Kafka官方发布安全公告,披露在Apache Kafka特定版本中存在一处远程代码执行漏洞(CVE-2023-25194),目前POC已公开,风险较高。
\n【漏洞评级】
\n高风险
\n【漏洞描述】
\nCVE-2023-25194
\nApache Kafka 是一个分布式数据流处理平台,Kafka Connect 是一种工具,用于在 Apache Kafka 和其他数据系统之间以可扩展且可靠的方式传输数据。当通过 Kafka Connect REST API 配置连接器时,经过身份验证的攻击者可以通过修改连接器的Kafka 客户端属性配置进行JNDI注入攻击,最终可导致在目标服务器上执行任意代码。
\n【影响范围】
\n影响版本
\nApache Kafka 2.3.0 - 3.3.2
\n【修复方案】
\n目前,官方已发布新版本修复了该漏洞,请受影响的用户升级到安全版本:
\nhttps://github.com/apache/Kafka/tags
\n【参考链接】
\nhttps://kafka.apache.org/cve-list
\nhttps://lists.apache.org/thread/rn8vn4d9dbxc6817c5wz1dhhoshp1s25
\n尊敬的主题云用户
\n您好!
\n2022虎年将至,值此新春佳节来临之际,主题云全体员工祝您虎年大吉!
\n根据国家春节放假规定并结合我司实际经营情况,主题云春节放假时间为:2022年1月31日至2月6日。
\n放假期间,我们将继续为您提供7*24不间断工单以及全国客服热线电话支持,持续为您的云端业务保驾护航,同时也请您关注一下业务:
\n1.账号、计费注意事项
\n(1)按量计费(后付费)资源:请您务必关注主题云账户余额,提前充值,防止长假期间发生欠费停服。
\n(2)包年包月(预付费)资源:请您务必关注包年包月资源的到期时间,提前进行续费,避免到期停服。
\n2.发票审核及邮寄:
\n为降低春节期间发票邮寄后丢失的风险,我们将在1月27日17:00进行放假前最后一次邮寄,此后申请的发票将于2月7日正式上班后尽快发出。
\n感谢您的信任与支持,祝您新春快乐、事业顺心、身体健康、万事如意!
\n主题云
\n2022年1月25日
\n尊敬的主题云用户:
\n您好!
\n为给您提供更好的服务体验,主题云计划将在2022年2月19日晚22:00-23:00对会员中心系统进行服务升级,升级期间不影响您的业务正常运行,但该时间段可能无法进行充值、续费等操作,请您关注账户余额以及各项服务到期时间,如有需要请提前做好准备。如在升级期间遇到问题,可提交工单或拨打主题云24小时客服热线,感谢您的理解与支持。
\n主题云
\n2022年2月17 日
\n尊敬的主题云用户:
\n您好!2022年五一假期将近,主题云祝您五一快乐!根据国家相关规定并结合我司实际经营情况,现将主题云五一放假安排公布如下:
\n·放假时间
\n2022年4月30日至5月4日
\n·假期服务通道
\n自助服务:您可以在主题云的帮助文档中快速找到大部分问题的解决方案。
\n提交工单:专业工程师将根据您的诉求尽快排查并予以解决。
\n客服热线:如果事出紧急,您可以直接拨打主题云官方客服热线,售后工程师24小时在线。
\n·充值与续费
\n所有线上服务正常运行不受影响,放假期间仍然可以正常充值与续费。
\n·发票与合同
\n为降低五一期间寄送丢失等风险,我们将在4月29日17:00暂停邮寄纸质发票与纸质合同,5月5日09:00恢复。五一放假期间,您可以正常申请并获得电子发票与电子合同。
\n感谢您对主题云的信赖与支持,祝您节日愉快!
\n主题云
\n2022年4月25日
\n尊敬的主题云用户:
\n我们于2022年6月8日更新了服务等级协议,更新后的服务等级协议将于2022年7月1日生效。
\n请您在使用或继续使用我们的产品与服务前仔细阅读和充分理解协议内容,并在同意全部内容后使用或继续使用本公司产品与服务。
\n感谢您的支持与信赖。
\n主题云
\n2022年6月8日
\n尊敬的主题云用户:
\n盛世华诞,举国同庆!主题云热烈庆祝中华人民共和国成立73周年,祝您国庆快乐!根据国家相关规定并结合我司实际经营情况,现将主题云国庆放假安排公布如下:
\n·放假时间
\n2022年10月1日至10月7日
\n·假期服务通道
\n自助服务:您可以在主题云的帮助文档中快速找到大部分问题的解决方案。
\n提交工单:专业工程师将根据您的诉求尽快排查并予以解决。
\n客服热线:如果事出紧急,您可以直接拨打主题云官方客服热线,售后工程师24小时在线。
\n·充值与续费
\n所有线上服务正常运行不受影响,放假期间仍然可以正常充值与续费。
\n·发票与合同
\n为降低国庆期间寄送丢失等风险,我们将在9月30日17:00暂停邮寄纸质发票与纸质合同,10月8日09:00恢复。国庆放假期间,您可以正常申请并获得电子发票与电子合同。
\n感谢您对主题云的信赖与支持,祝您节日愉快!
\n主题云
\n2022年9月27日
\n尊敬的主题云用户:
\n主题云的“元旦大促”促销将于2023年1月1日零点正式开始,并于当天晚间23:59:59结束。
\n无论您是购新还是续费,凡在此时间段购买云服务器的顾客都将享受以下优惠:
\n1.当您选择5年时长,您将享受2.5折优惠;
\n2.当您选择3年时长,您将享受5折优惠;
\n3.当您选择2年时长,您将享受6折优惠;
\n4.当您选择的时长在1年以内,您将享受8折优惠;
\n我们真诚地希望每位客户都能得到最实惠的价格,但因各地区的云服务器实例有限,希望有需求的客户提前下单,避免资源不足。
\n主题云
\n2022年12月30日
\n尊敬的主题云用户:
\n虎年辞旧岁,兔年迎新春!2023年新春佳节将至,主题云全体员工恭祝您新春快乐、兔年大吉!同时附上主题云春节期间(2023年1月21日至1月27日)的服务安排,请您了解并提前做好相关安排。
\n·服务通道
\n自助服务:您可以在主题云的帮助文档中快速找到大部分问题的解决方案。
\n提交工单:专业工程师将根据您的诉求尽快排查并予以解决。
\n客服热线:如果事出紧急,您可以直接拨打主题云官方客服热线,售后工程师24小时在线为您服务。
\n·充值与续费
\n所有线上服务正常运行不受影响,放假期间仍然可以正常充值与续费。
\n·发票与合同
\n为降低春节期间邮件丢失风险,我们将在1月15日17:00暂停邮寄纸质发票与纸质合同,1月28日09:00恢复。春节放假期间,您可以正常申请并获得电子发票与电子合同。
\n感谢您对主题云的信赖与支持,祝您节日愉快!
\n主题云
\n2023年1月23日
\n尊敬的主题云用户:
\n您好!五一假期将近,主题云提前祝您五一快乐!根据国家相关规定并结合我司实际经营情况,现将主题云五一放假安排公布如下:
\n·放假时间
\n2022年4月29日至5月3日
\n·假期服务通道
\n自助服务:您可以在主题云的帮助文档中快速找到大部分问题的解决方案。
\n提交工单:专业工程师将根据您的诉求尽快排查并予以解决。
\n客服热线:如果事出紧急,您可以直接拨打主题云官方客服热线,售后工程师24小时在线。
\n·充值与续费
\n所有线上服务正常运行不受影响,放假期间仍然可以正常充值与续费。
\n·发票与合同
\n为降低五一期间寄送丢失等风险,我们将在4月28日17:00暂停邮寄纸质发票与纸质合同,5月4日09:00恢复。五一放假期间,您可以正常申请并获得电子发票与电子合同。
\n感谢您对主题云的信赖与支持,祝您节日愉快!
\n主题云
\n2023年4月24日
\n尊敬的主题云用户:
\n为优化交易支付系统,我团队计划于2023年7月10日凌晨01:00-02:00对交易支付系统进行升级。升级期间订单交易系统对外停服,涉及订单的操作将无法进行,请您尽量避开此时间段进行资源创建、下单、续费、充值、提现、开票、申请合同等操作,请广大新老客户提前做好相关准备工作。
\n由此给您带来的不便我们深表歉意,感谢您的信赖与支持!
\n主题云
\n2023年7月8日
\n尊敬的主题云用户:
\n您好!中秋国庆双节将至,主题云提前祝您中秋安康、国庆快乐!根据国家相关规定并结合我司实际经营情况,现将主题云中秋国庆放假安排公布如下:
\n·放假时间
\n2023年9月29日至10月6日
\n·假期服务通道
\n自助服务:您可以在主题云的帮助文档中快速找到大部分问题的解决方案。
\n提交工单:专业工程师将根据您的诉求尽快排查并予以解决。
\n客服热线:如果事出紧急,您可以直接拨打主题云官方客服热线,售后工程师24小时在线。
\n·充值与续费
\n所有线上服务正常运行不受影响,放假期间仍然可以正常充值与续费。
\n·发票与合同
\n为降低国庆期间寄送丢失等风险,我们将在9月28日17:00暂停邮寄纸质发票与纸质合同,10月7日09:00恢复。国庆放假期间,您可以正常申请并获得电子发票与电子合同。
\n感谢您对主题云的信赖与支持,祝您节日愉快!
\n主题云
\n2023年9月22日
\n隐私政策
\n\n
前言
\n智简魔方官方网站(www.idcsmart.com,以下简称“本网站”)由重庆顺戴网络科技有限公司(以下简称“本公司”或“我们”)运营并向您提供服务或产品(以下简称“本服务”),我们深知隐私对您的重要性,并充分尊重您的隐私。在您注册并使用本服务之前,请您仔细阅读《隐私政策》(以下简称本政策)。
\n您使用或继续使用本服务,都表示您同意我们按照本政策收集、使用、储存和分享您的信息。若您未使用我们提供的相应的产品或服务,我们不会收集相对应的信息。
\n一、本政策的适用范围
\n1.1 本政策适用于我们通过智简魔方官网提供的一切服务。当您使用我们任何单项服务时,您同意接受本隐私政策,在此情况下特定条款与本政策条款同时对您产生效力。
\n1.2本政策不适用于其他第三方向您提供的服务。例如,智简魔方商城里其他开发商提供的插件或服务,通过智简魔方社区获得的产品或服务等。
\n1.3需要特别说明的是,若您通过我们的技术服务为您的用户再提供服务,因您的业务数据属于您所有,您应当另行与您的用户签订隐私政策等协议。
\n二、我们如何收集的信息
\n为更好地为您提供服务,我们可能会通过您的主动提交、自动识别等方式获取各种必要信息:
\n2.1 账号管理
\n在您使用用户账号时,需收集您的用户名、手机号码、邮箱地址和账号信息(账号名、账号ID及密码、密钥)。
\n2.2 实名认证
\n在您通过身份证件实名认证时,需收集您的姓名、身份证件、照片。您也可以通过您的脸部图像进行实名认证,此时需收集您的姓名、身份证件以及生物识别特征(静态或动态的面部特征)。
\n2.3 地址管理
\n在您使用地址管理服务时,需收集您的收件人姓名、详细地址、邮政编码、手机号码。
\n2.4 支持与服务
\n当您联系我们、使用服务或向我们寻求技术支持时,如提交工单,需收集您的用户名、邮箱、手机号码、您所需要的帮助、通话录音、服务记录信息,以及相关的商业信息(公司名称、所在行业、您的职位等)。
\n2.5 备案管理
\n当您使用备案管理服务时,需收集您的姓名、身份证件。
\n2.6 购买
\n当您在本网站购买任何服务或产品时,需收集您的订单信息、交易信息(您所购买的商品或服务信息、您应支付的货款金额及支付方式、订单号、收货人姓名、收货地址、手机号码等)。
\n2.7 财务管理
\n在您使用财务管理服务(如资金管理、发票管理服务)时,需收集您的账单信息、支付信息(银行账户、银行卡号、银行流水)及发票信息。
\n2.8 访问记录
\n当您访问或使用本服务时,我们需要获取并自动记录您的浏览记录、访问日期和时间、浏览器信息(包括但不限于字体和类型)以及网络链接信息(包括但不限于IP地址、端口、网络协议)。
\n三、我们如何使用您的信息
\n3.1 身份识别
\n当您使用、登录和管理账号时,我们需要通过您的账号名、密码、手机号码等关键信息来确认您的身份。
\n3.2 响应您的互动需求
\n当您访问并通过本网站发出购买、咨询、建议等互动请求时,我们会通过您的相关信息帮助您正确地使用、享受本网站的各项产品与服务,并维护、改进这些服务。
\n3.3 推荐
\n在您同意的情况下,向您发送您可能感兴趣的产品或服务。
\n3.4风险识别
\n进行身份验证,并综合判断您的账户风险、检测及防范安全事件,监控用户账户活动异常、多端登录、流量异常、或非法内容识别,从而保护您、其他用户,或我方及关联方的合法权益。
\n3.5 特殊情况
\n维护公共利益的特殊情况下,我们将有权使用您的个人信息而无需征得您的同意,该特殊情况包括:
\n(1)与国家安全、国防安全直接相关;
\n(2)与公共安全、公共卫生、重大公共利益直接相关;
\n(3)与犯罪侦查、起诉、审判和判决执行直接相关;
\n(4)出于维护您或其他个人的生命、财产重大合法权益但又很难得到您或其他个人本人同意;
\n(5)所收集个人信息时您本人自行向社会公开的;
\n(6)其他法律法规规定的情形。
\n3.6 其他
\n若我们将信息用于本政策未载明的其他用途,或者将基于特定目的收集而来的信息用于其他目的时,会事先征求您的同意。
\n四、我们如何共享、转让、披露您的信息
\n4.1共享
\n我们不会与其他组织或个人共享您的信息,但以下情况除外:
\n(1)在获取您明确同意情况下的共享。获得您的明确同意后,我们会向您同意的第三方共享您的信息;
\n(2)法定情形下的共享。根据适用的法律法规、法律程序、诉讼/仲裁、政府的强制命令、监管要求而需要共享您的信息;
\n(3)您自行公开的或者我们能从其他合法公开渠道获取到您的个人信息。
\n4.2转让
\n我们不会将您的信息转让给其他组织或个人,但以下情况除外:
\n(1)在获取明确同意的情况下转让:获得您的明确同意后,我们会向其他方转让您的个人信息;
\n(2)在我公司发生合并、收购或破产清算情形,或其他涉及合并、收购或破产清算情形时,如涉及到个人信息转让,我们会要求新的持有您个人信息的公司、组织继续受本政策的约束,否则我们将要求该公司、组织和个人重新向您征求授权同意。
\n4.3 披露
\n就以下情形,我们可能向第三方披露您的信息:
\n(1)根据适用法律法规或基于您的个人选择,需要披露的信息。
\n(2)为保护本网站及关联用户、社会公众的权利或财产而必须公开的。例如,当我们认为披露对于防止或保护网络威胁、欺诈、人身伤害或财务损失是必要的或适当的,或当它与涉嫌或实际非法活动的调查有关的。
\n4.4 共享、转让、披露个人信息时事先征得授权同意的例外
\n以下情形中,共享、转让、公开披露您的个人信息无需事先征得您的授权同意:
\n(1)与国家安全、国防安全有关的;
\n(2)与公共安全、公共卫生、重大公共利益有关的;
\n(3)与犯罪侦查、起诉、审判和判决执行有关的;
\n(4)出于维护您或其他个人的生命、财产重大合法权益但又很难得到本人同意的;
\n(5)您自行向社会公众公开的个人信息;
\n(6)从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开渠道;
\n(7)法律法规规定的其他情形。
\n我们对所有的请求都进行了慎重的审查,确保其具备合法依据,所有数据在法律允许的范围内尽可能保持透明,且仅限于执法部门因特定调查目的且有合法权利获取的数据。
\n五、我们如何保护和保留您的个人信息
\n5.1 我们将通过以下措施保护您的个人信息
\n(1)只收集服务相关的必要信息,确保个人信息收集的最小化;
\n(2)使用加密技术确保信息传输和存储的机密性;
\n(3)建设围绕数据生命周期的数据安全管理体系,明确安全事件、安全漏洞的分级标准及对应的应急响应团队;
\n(4)设置严格的访问权限控制与监控机制,要求所有可能接触到您的信息的工作人员均需履行相应的保密义务;
\n(5)我们会举办安全和隐私保护培训课程,加强员工对客户个人信息保护的认识。
\n5.2我们如何保留您的个人信息
\n我们将会在本政策所述目的所需的期限内保留您的个人信息,除非按照法律要求需要延长保留期,保留期可能会基于不同的处理目的以及服务而有所差异。
\n例如,我们会根据《电子商务法》规定保存您的交易信息,保存期为自交易完成之日起不少于三年;我们将会按照《网络安全法》等相关法律法规规定保存您的注册信息,保存期为您注销帐号后六个月。
\n六、如何访问和管理您的个人信息
\n6.1 访问
\n您可以登录智简魔方网站(www.idcsmart.com)“控制台-个人中心”查看您的个人信息。
\n6.2 变更或完善
\n当您的个人信息发生变更或您发现我们处理的关于您的个人信息有错误时,您可以对您的个人信息进行更正和补充。
\n6.3 删除
\n在以下情形中,您可以向我们提出删除个人信息的请求:
\n(1)如果我们处理个人信息的行为违反法律法规;
\n(2)如果我们收集、使用您的个人信息,却未征得您的明确同意;
\n(3)如果我们处理个人信息的行为严重违反了与您的约定;
\n(4)如果您不再使用我们的产品或服务,或您主动注销了账号;
\n(5)如果我们永久不再为您提供产品或服务.
\n6.4 注销
\n您可以在“控制台”提交账号注销申请。账号注销后将无法恢复,请您谨慎操作。
\n当您注销账户停止服务时,依据相关法律法规、规章制度、客户服务需求,在您注销账号后的6个月内我们将继续保留您的用户信息,6个月后将删除您的用户信息。若删除个人信息从技术上难以实现的,我们会进行匿名化处理,或停止除存储和采取必要的安全保护措施之外的处理,法律法规另有规定的除外。
\n七、未成年人保护
\n我们主要面向成年人提供产品与服务,如您为未成年人,请您与您的父母或监护人仔细阅读本政策,并在征得您的父母或监护人同意的前提下使用本服务并向我们提供相关信息。
\n对于经父母或监护人同意使用我们的产品或服务而收集未成年人个人信息的情况,我们只会在法律法规允许、父母或监护人明确同意或者保护未成年人所必要的情况下使用、共享、转让或披露此信息。
\n八、更新与修订
\n我们有权修改本隐私政策并在修订生效前通过本平台公告或以其他适当方式通知您。
\n如果您不接受更新后的隐私政策,请停止继续使用我们的产品或服务。若您继续使用我们的服务,需点击确认新的隐私政策,表示接受修订后的本网站隐私政策的约束,并同意我们按照最新版本的隐私政策收集和使用您的个人信息。
\n九、如何联系我们
\n如果您对本政策内容有任何疑问和意见,或者您认为个人信息权利可能收到侵害,或者发现侵害个人信息权利的线索希望投诉举报,可通过以下方式联系我们:
\n\n','','',0,1,2,1,1673233806,0); -insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (2,1,'服务协议','\n\n\n\n\n用户协议
\n智简魔方官方网站(www.idcsmart.com,以下简称“本网站”)的所有服务(以下简称“本服务”),由重庆顺戴网络科技有限公司(以下简称“本公司”或者“我们”)创建和运营。在您选择使用本网站提供的产品和服务前,请您务必先仔细阅读、充分理解本协议各条款内容(下称“本协议”)。
\n本协议由您和本公司签订,一旦您完成“同意条款并注册”或开始以其他的方式使用本网站服务,即表示您已经阅读并同意接受本协议的约束,如您不同意本协议的约束或其中任何条款的约定,您应该不再进行下一步或停止注册程序。
\n我们再次提示您审慎阅读、充分理解本协议各条款内容,需要您特别注意的条款将以加粗或其他醒目形式提醒注意。您对本协议的同意即视为您已知悉并同意本协议全部条款并且您保证能够完全遵守本协议。
\n一、总则
\n1.1您确认:在您注册成为本网站用户以接受本服务之前,您已充分阅读、理解并接受本协议的全部内容,一旦您选择“同意”并完成注册开启流程或使用本服务, 即表示您同意遵循本协议之所有约定。
\n1.2您同意:我们可以根据外部环境或业务运营策略变化适时修订更新本协议内容,并以在本网站公告的方式予以公布,无需另行单独通知您;若您在本协议内容公告变更后继续使用本服务的, 表示您已充分阅读、理解并接受修改后的协议内容,也将遵循修改后的协议内容使用本服务;若您不同意修改后的协议内容,您应停止使用本服务。
\n1.3您声明:在您同意接受本协议并注册成为本网站用户时,您是具有法律规定的完全民事权利能力和民事行为能力,能够独立承担民事责任的自然人、法人或其他组织;本协议内容不受您所属国家或地区法律的排斥。
\n不具备前述条件的,您应立即终止注册或停止使用本服务。
\n二、本服务简介
\n本服务向注册用户提供IDC基础业务管理系统,及IDC行业解决方案等互联网技术服务和网络服务。
\n本网站所提供的相关服务说明详见www.idcsmart.com相关产品及服务介绍。
\n三、本网站账户
\n3.1注册相关
\n在使用本服务前,您必须先行注册,取得我们提供给您的本网站账户(以下简称“该账户”),您同意并保证:
\n3.1.1
\n您所填写的用户信息是真实、准确、完整、及时的,并且没有任何引人误解或者虚假的陈述,且保证本网站可以通过您所填写的联系方式与您取得联系。
\n3.1.2
\n您应根据本网站对于相关服务的要求及时提供相应的身份证明等资料,否则本网站有权拒绝向您提供相关服务。
\n3.1.3
\n您承诺将及时更新您的用户信息,以维持该账户信息的有效性。
\n3.1.4
\n如果您提供的资料或信息包含有不正确、不真实的信息,本网站保留取消您会员资格并随时结束为您提供服务的权利。
\n3.1.5
\n您应对您的本网站账户负责,只有您本人可以使用您的本网站账户,该账户不可转让、不可赠与、不可继承。
\n3.1.6
\n以代理人身份代理其他自然人或者单位进行注册,您必须向本网站提供代理人和被代理人的详细资料和信息及授权书面文件,未向本网站提供上述资料信息及文件的,本网站将视注册者为会员。
\n3.2账户安全
\n3.2.1
\n我们通过您的用户名和密码识别您的指示,请您妥善保管您的用户名和密码,对于因密码泄露所致的损失,由您自行承担。您保证不向其他任何人泄露该账户及密码,亦不使用其他任何人的本网站账户及密码。
\n3.2.2
\n如您发现有他人冒用或盗用您的账户及密码或任何其他未经合法授权之情形时,应立即以有效方式通知我们,要求我们暂停相关服务。同时,您理解我们对您的请求采取行动需要合理期限,在此之前,我们对已执行的指令及(或)所导致的您的损失不承担任何责任。
\n四、本网站服务使用守则
\n为有效保障您使用本服务的合法权益,您理解并同意接受以下规则:
\n4.1 服务前提
\n您在使用本服务过程中,本协议内容、网页上出现的关于交易操作的提示或我们发送到您手机的信息(短信或电话等)内容是您使用本服务的相关规则,您使用本服务即表示您同意接受本服务的相关规则。您了解并同意我们单方修改服务的相关规则,而无须征得您的同意,服务规则应以您使用服务时的页面提示(或发送到该手机的短信或电话等)为准,您同意并遵照服务规则是您使用本服务的前提。
\n4.2 服务通知
\n我们可能会以电子邮件(或发送到您手机的短信或电话等)方式通知您服务进展情况以及提示您进行下一步的操作,但我们不保证您能够收到或者及时收到该邮件(或发送到该手机的短信或电话等),且不对此承担任何后果。因此,在服务过程中您应当及时登录到本网站查看和进行交易操作。因您没有及时查看和对服务状态进行修改或确认或未能提交相关申请而导致的任何纠纷或损失,我们不负任何责任。
\n4.3 身份审核
\n在您注册成为本网站用户时,您授权我们可以通过向第三者审核您的身份和资格,并取得您使用本服务的相关资料。
\n4.4 服务费用
\n在您使用本服务时,我们有权依照相应的服务收费介绍、订单及/或相关协议向您收取服务费用。我们拥有制订及调整服务费之权利,具体服务费用以您使用本服务时本网站上所列之收费方式公告,或您与我们达成的其他书面协议为准。
\n五、 您的权利和义务
\n5.1
\n您有权利拥有自己在本网站的用户名和密码,并有权利使用自己的用户名和密码随时登录本网站的会员专区。
\n5.2
\n您有权利享受本网站提供的互联网技术和信息服务,并有权利在接受本网站提供的服务时获得本网站的技术支持、咨询等服务,服务内容详见本网站相关产品介绍。
\n5.3
\n您保证不会利用技术或其他手段破坏及扰乱本网站以及本网站其他客户的网站。
\n5.4
\n您应尊重本网站及其他第三方的知识产权和其他合法权利,并保证在发生侵犯上述权益的违法事件时尽力保护本网站及其股东、雇员、合作伙伴等免于因该等事件受到影响或损失;本网站保留您侵犯本网站合法权益时终止向您提供服务并不退还任何款项的权利。
\n5.5
\n对由于您向本网站提供的联络方式有误以及您用于接受本网站邮件的电子邮箱安全性、稳定性不佳而导致的一切后果,您应自行承担责任,包括但不限于因您未能及时收到本网站的相关通知而导致的后果和损失。
\n5.6
\n您保证您使用本网站服务时将遵从国家、地方法律法规、行业惯例和社会公共道德,不会利用本网站提供的服务进行存储、发布、传播如下信息和内容:
\n(1)违反国家法律法规政策的任何内容(信息);
\n(2)违反国家规定的政治宣传和/或新闻信息;
\n(3)涉及国家秘密和/或安全的信息;
\n(4)封建迷信和/或淫秽、色情、下流的信息或教唆犯罪的信息;
\n(5)博彩有奖、赌博游戏;违反国家民族和宗教政策的信息;防碍互联网运行安全的信息;
\n(6)侵害他人合法权益的信息和/或其他有损于社会秩序、社会治安、公共道德的信息或内容。
\n您同时承诺不得为他人发布上述不符合国家规定和/或本服务条款约定的信息内容提供任何便利,包括但不限于设置URL、BANNER链接等。
\n您同意本网站有权在您违反上述约定时有权终止向您提供服务并不予退还任何款项,因您上述行为给本网站造成损失的,您应予赔偿。
\n六、 本网站的权利和义务
\n6.1
\n本网站应根据您选择的服务以及交纳款项的情况向您提供合格的网络技术和信息服务。
\n6.2
\n本网站承诺对您的资料采取对外保密措施,不向第三方披露您的资料,不授权第三方使用您的资料,除非:
\n(1)依据本协议条款或者您与本网站之间其他服务协议、合同、在线条款等规定可以提供;
\n(2)行政、司法等职权部门要求本网站提供;
\n(3)您同意本网站向第三方提供;
\n(4)本网站解决举报事件、提起诉讼而提交的;
\n(5)本网站为防止严重违法行为或涉嫌犯罪行为发生而采取必要合理行动所必须提交的;
\n(6)本网站为向您提供产品、服务、信息而向第三方提供的,包括本网站通过第三方的技术及服务向您提供产品、服务、信息的情况。
\n七、 隐私及其他个人信息的保护
\n一旦您同意本协议或使用本服务,您即同意我们按照以下条款来使用和披露您的个人信息。
\n7.1 用户名和密码
\n在您注册为本网站用户时,我们会要求您绑定手机号码和设置密码来识别您的身份,以便在您丢失密码时用以确认您的身份。您仅可通过您设置的密码来使用该账户,如果您泄漏了密码,您可能会丢失您的个人识别信息,并可能导致对您不利的法律后果。该账户和密码因任何原因受到潜在或现实危险时,您应该立即和我们取得联系,在我们采取行动前,我们对此不负任何责任。
\n7.2 注册信息
\n您注册该账户时应向我们提供您的真实姓名、地址、国籍、手机号码和电子邮件地址,您还可以选择来填写相关附加信息(包括但不限于您公司所在的省份和城市、时区和邮政编码、传真号码、个人主页和您的职务)。为有针对性地向您提供新的服务和机会,您了解并同意我们及其关联公司或您登录的其他网站将通过您的电子邮件地址或手机号码通知您这些信息。
\n7.3 手机信息
\n您应保护好您的手机,一旦您手机出借、被盗、遗失或被他人窥视等,均可能引起您本网站账户相关个人信息之外泄,本网站对此不承担任何责任。
\n7.4 银行账户信息
\n若我们所提供的服务需要您提供您的银行账户信息,在您提供相应信息后,我们将严格履行相关保密约定。
\n7.5 登陆记录
\n为了保障您使用本服务的安全以及不断改进服务质量,我们将记录并保存您登录和使用本服务的相关信息,但我们承诺不将此类信息提供给任何第三方 (除双方另有约定或法律法规另有规定及我们关联公司外)。
\n7.6 广告
\n我们可能会向您发送我们认为您感兴趣的营销推广。如您不愿接收这些信息,可以通过手机短信中提供的退订方式进行退订。
\n7.7 手机和存储的服务信息
\n为了更好地为您提供服务,我们有可能自动从您的智能终端(包括手机、电脑和电视等)和浏览器上收集和存储您的软件信息、硬件信息。
\n7.8 外部链接
\n本网站含有到其他网站的链接,但我们对其他网站的隐私保护措施不负任何责任。我们可能在任何需要的时候增加商业伙伴或共用品牌的网站。
\n7.9 安全
\n我们仅按现有技术提供相应的安全措施来使我们掌握的信息不丢失、不被滥用和变造。这些安全措施包括向其他服务器备份数据和对用户密码加密。尽管有这些安全措施,但我们不保证这些信息的绝对安全。
\n八、 系统中断或故障
\n系统因下列状况无法正常运作,使您无法使用各项服务时,我们不承担损害赔偿责任,该状况包括但不限于:
\n(1)我们在本网站公告之系统停机维护期间;
\n(2)电信设备出现故障不能进行数据传输的;
\n(3)因台风、地震、海啸、洪水、停电、战争、恐怖袭击等不可抗力之因素,造成我们系统障碍不能执行业务的;
\n(4)由于黑客攻击、电信部门技术调整或故障、网站升级、银行方面的问题等原因而造成的服务中断或者延迟。
\n九、 责任范围及责任限制
\n9.1
\n我们仅对本协议中列明的责任承担范围负责。
\n9.2
\n本网站用户信息是由您本人自行提供的,我们无法保证该信息之准确、及时和完整,您应对您的判断承担全部责任。
\n9.3
\n我们不对本服务提供任何形式的保证,包括但不限于以下事项:
\n(1)本服务符合您的需求;
\n(2)本服务不受干扰、及时提供或免于出错;
\n(3)您经由本服务购买或取得之任何产品、服务、资讯或其他资料符合您的期望。
\n9.4
\n本服务的合作单位,所提供的服务品质及内容由该合作单位自行负责。
\n9.5
\n您经由本服务的使用下载或取得任何资料,应由您自行考量且自负风险,因资料下载而导致您电脑或手机系统的任何损坏或资料流失,您应负完全责任。
\n9.6
\n您自我们及我们工作人员或经由本服务取得的建议和资讯,无论其为书面或口头形式,均不构成我们对本服务的保证。
\n9.7
\n在法律允许的情况下,我们对于与本协议有关或由本协议引起的任何间接的、惩罚性的、特殊的、派生的损失(包括业务损失、收益损失、利润损失、使用数据或其他经济利益的损失),不论是如何产生的,也不论是由对本协议的违约(包括违反保证)还是由侵权造成的,均不负有任何责任,即使事先已被告知此等损失的可能性。 另外即使本协议规定的排他性救济没有达到其基本目的,也应排除我们对上述损失的责任。
\n9.8
\n除本协议另有规定外,在任何情况下,我们对本协议所承担的违约赔偿责任总额不超过向您收取的当次服务费用总额。
\n十、 完整协议
\n本协议由本协议条款与本网站公示的各项规则组成,相关名词可互相引用参照,如有不同理解,以本协议条款为准。
\n您对本协议理解和认同,您即对本协议所有组成部分的内容理解并认同,一旦您使用本服务,您和我们即受本协议所有组成部分的约束。
\n本协议部分内容被有管辖权的法院认定为违法的,不因此影响其他内容的效力。
\n十一、商标、知识产权的保护
\n11.1
\n本网站上所有内容,包括但不限于著作、图片、档案、资讯、资料、网站架构、网站画面的安排、网页设计,均由我们或我们关联企业依法拥有其知识产权, 包括但不限于商标权、专利权、著作权、商业秘密等。
\n11.2
\n非经我们或我们关联企业书面同意,任何人不得擅自使用、修改、复制、公开传播、改变、散布、发行或公开发表本网站程序或内容。
\n11.3
\n尊重知识产权是您应尽的义务,如有违反,您应承担损害赔偿责任。
\n十二、 法律适用与管辖
\n本协议的效力、解释、变更、执行与争议解决均适用中华人民共和国法律。
\n因本协议产生的争议,均应依照中华人民共和国法律予以处理,并提交重庆市渝中区人民法院审判。
\n十三、其他
\n13.1一方免予追究另一方一次或多次未履行本协议义务相关责任的,不得被解释为对任何随后的违反协议或不履行本协议责任的不予追究。一方于另一方违约后继续履行本协议的,不得被视为对另一方违约责任的免于追究。
\n13.2您对服务的任何部分或本协议的任何部分的意见及建议可通过客户服务部门与我们联系。
\n13.3请点击www.idcsmart.com查看我们的客服联系方式。
\n\n','','',0,1,2,1,1673233827,0); -insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (3,2,'如何注册账号','\n\n\n\n\n如果您想获得我们为您提供的任何产品或服务,我们建议您先注册会员,以便我们为您提供更多服务资源。
\n\n
操作步骤
\n①在智简魔方官方网站,点击右上角 “控制台” ,进入会员中心登录页面。
\n图1
\n
\n
②如上图(图1),点击 “立即注册” 进入注册页面。(已有账号请直接登录,参见 如何登录会员中心 。)
\n图2
\n③您可以选择 “电子邮箱” 或 “手机号码” 作为注册账号。
\n·电子邮箱注册
\nⅰ. 输入您的电子邮箱,点击 “获取验证码” ,收到验证码邮件后请及时填入验证码。
\n图3
\n
ⅱ. 输入6 - 32位密码,并再次输入以确认密码。
\n图4
\n
ⅲ. 勾选 “ 完成注册后将自动登录,登录即代表您已同意《服务协议》和《隐私协议》 ” ,点击 “确认并登录” ,系统将自动跳转至会员中心。
\n图5
\n
·手机号码注册
\nⅰ. 切换为 “手机号码” 注册。
\n图6
\n
ⅱ. 输入手机号码,点击 “获取验证码” ,并填入验证码。
\n图7
\n
ⅲ. 输入6 - 32位密码,并再次输入以确认密码,勾选 “ 完成注册后将自动登录,登录即代表您已同意《服务协议》和《隐私协议》 ” ,点击 “确认并登录” ,系统将自动跳转至会员中心。
\n图8
\n
\n\n','','',0,1,8,1,1673313504,1673314111); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (1,1,'隐私协议','\n\n\n\n\n
隐私政策
\n\n
前言
\n智简魔方官方网站(www.idcsmart.com,以下简称“本网站”)由重庆顺戴网络科技有限公司(以下简称“本公司”或“我们”)运营并向您提供服务或产品(以下简称“本服务”),我们深知隐私对您的重要性,并充分尊重您的隐私。在您注册并使用本服务之前,请您仔细阅读《隐私政策》(以下简称本政策)。
\n您使用或继续使用本服务,都表示您同意我们按照本政策收集、使用、储存和分享您的信息。若您未使用我们提供的相应的产品或服务,我们不会收集相对应的信息。
\n一、本政策的适用范围
\n1.1 本政策适用于我们通过智简魔方官网提供的一切服务。当您使用我们任何单项服务时,您同意接受本隐私政策,在此情况下特定条款与本政策条款同时对您产生效力。
\n1.2本政策不适用于其他第三方向您提供的服务。例如,智简魔方商城里其他开发商提供的插件或服务,通过智简魔方社区获得的产品或服务等。
\n1.3需要特别说明的是,若您通过我们的技术服务为您的用户再提供服务,因您的业务数据属于您所有,您应当另行与您的用户签订隐私政策等协议。
\n二、我们如何收集的信息
\n为更好地为您提供服务,我们可能会通过您的主动提交、自动识别等方式获取各种必要信息:
\n2.1 账号管理
\n在您使用用户账号时,需收集您的用户名、手机号码、邮箱地址和账号信息(账号名、账号ID及密码、密钥)。
\n2.2 实名认证
\n在您通过身份证件实名认证时,需收集您的姓名、身份证件、照片。您也可以通过您的脸部图像进行实名认证,此时需收集您的姓名、身份证件以及生物识别特征(静态或动态的面部特征)。
\n2.3 地址管理
\n在您使用地址管理服务时,需收集您的收件人姓名、详细地址、邮政编码、手机号码。
\n2.4 支持与服务
\n当您联系我们、使用服务或向我们寻求技术支持时,如提交工单,需收集您的用户名、邮箱、手机号码、您所需要的帮助、通话录音、服务记录信息,以及相关的商业信息(公司名称、所在行业、您的职位等)。
\n2.5 备案管理
\n当您使用备案管理服务时,需收集您的姓名、身份证件。
\n2.6 购买
\n当您在本网站购买任何服务或产品时,需收集您的订单信息、交易信息(您所购买的商品或服务信息、您应支付的货款金额及支付方式、订单号、收货人姓名、收货地址、手机号码等)。
\n2.7 财务管理
\n在您使用财务管理服务(如资金管理、发票管理服务)时,需收集您的账单信息、支付信息(银行账户、银行卡号、银行流水)及发票信息。
\n2.8 访问记录
\n当您访问或使用本服务时,我们需要获取并自动记录您的浏览记录、访问日期和时间、浏览器信息(包括但不限于字体和类型)以及网络链接信息(包括但不限于IP地址、端口、网络协议)。
\n三、我们如何使用您的信息
\n3.1 身份识别
\n当您使用、登录和管理账号时,我们需要通过您的账号名、密码、手机号码等关键信息来确认您的身份。
\n3.2 响应您的互动需求
\n当您访问并通过本网站发出购买、咨询、建议等互动请求时,我们会通过您的相关信息帮助您正确地使用、享受本网站的各项产品与服务,并维护、改进这些服务。
\n3.3 推荐
\n在您同意的情况下,向您发送您可能感兴趣的产品或服务。
\n3.4风险识别
\n进行身份验证,并综合判断您的账户风险、检测及防范安全事件,监控用户账户活动异常、多端登录、流量异常、或非法内容识别,从而保护您、其他用户,或我方及关联方的合法权益。
\n3.5 特殊情况
\n维护公共利益的特殊情况下,我们将有权使用您的个人信息而无需征得您的同意,该特殊情况包括:
\n(1)与国家安全、国防安全直接相关;
\n(2)与公共安全、公共卫生、重大公共利益直接相关;
\n(3)与犯罪侦查、起诉、审判和判决执行直接相关;
\n(4)出于维护您或其他个人的生命、财产重大合法权益但又很难得到您或其他个人本人同意;
\n(5)所收集个人信息时您本人自行向社会公开的;
\n(6)其他法律法规规定的情形。
\n3.6 其他
\n若我们将信息用于本政策未载明的其他用途,或者将基于特定目的收集而来的信息用于其他目的时,会事先征求您的同意。
\n四、我们如何共享、转让、披露您的信息
\n4.1共享
\n我们不会与其他组织或个人共享您的信息,但以下情况除外:
\n(1)在获取您明确同意情况下的共享。获得您的明确同意后,我们会向您同意的第三方共享您的信息;
\n(2)法定情形下的共享。根据适用的法律法规、法律程序、诉讼/仲裁、政府的强制命令、监管要求而需要共享您的信息;
\n(3)您自行公开的或者我们能从其他合法公开渠道获取到您的个人信息。
\n4.2转让
\n我们不会将您的信息转让给其他组织或个人,但以下情况除外:
\n(1)在获取明确同意的情况下转让:获得您的明确同意后,我们会向其他方转让您的个人信息;
\n(2)在我公司发生合并、收购或破产清算情形,或其他涉及合并、收购或破产清算情形时,如涉及到个人信息转让,我们会要求新的持有您个人信息的公司、组织继续受本政策的约束,否则我们将要求该公司、组织和个人重新向您征求授权同意。
\n4.3 披露
\n就以下情形,我们可能向第三方披露您的信息:
\n(1)根据适用法律法规或基于您的个人选择,需要披露的信息。
\n(2)为保护本网站及关联用户、社会公众的权利或财产而必须公开的。例如,当我们认为披露对于防止或保护网络威胁、欺诈、人身伤害或财务损失是必要的或适当的,或当它与涉嫌或实际非法活动的调查有关的。
\n4.4 共享、转让、披露个人信息时事先征得授权同意的例外
\n以下情形中,共享、转让、公开披露您的个人信息无需事先征得您的授权同意:
\n(1)与国家安全、国防安全有关的;
\n(2)与公共安全、公共卫生、重大公共利益有关的;
\n(3)与犯罪侦查、起诉、审判和判决执行有关的;
\n(4)出于维护您或其他个人的生命、财产重大合法权益但又很难得到本人同意的;
\n(5)您自行向社会公众公开的个人信息;
\n(6)从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开渠道;
\n(7)法律法规规定的其他情形。
\n我们对所有的请求都进行了慎重的审查,确保其具备合法依据,所有数据在法律允许的范围内尽可能保持透明,且仅限于执法部门因特定调查目的且有合法权利获取的数据。
\n五、我们如何保护和保留您的个人信息
\n5.1 我们将通过以下措施保护您的个人信息
\n(1)只收集服务相关的必要信息,确保个人信息收集的最小化;
\n(2)使用加密技术确保信息传输和存储的机密性;
\n(3)建设围绕数据生命周期的数据安全管理体系,明确安全事件、安全漏洞的分级标准及对应的应急响应团队;
\n(4)设置严格的访问权限控制与监控机制,要求所有可能接触到您的信息的工作人员均需履行相应的保密义务;
\n(5)我们会举办安全和隐私保护培训课程,加强员工对客户个人信息保护的认识。
\n5.2我们如何保留您的个人信息
\n我们将会在本政策所述目的所需的期限内保留您的个人信息,除非按照法律要求需要延长保留期,保留期可能会基于不同的处理目的以及服务而有所差异。
\n例如,我们会根据《电子商务法》规定保存您的交易信息,保存期为自交易完成之日起不少于三年;我们将会按照《网络安全法》等相关法律法规规定保存您的注册信息,保存期为您注销帐号后六个月。
\n六、如何访问和管理您的个人信息
\n6.1 访问
\n您可以登录智简魔方网站(www.idcsmart.com)“控制台-个人中心”查看您的个人信息。
\n6.2 变更或完善
\n当您的个人信息发生变更或您发现我们处理的关于您的个人信息有错误时,您可以对您的个人信息进行更正和补充。
\n6.3 删除
\n在以下情形中,您可以向我们提出删除个人信息的请求:
\n(1)如果我们处理个人信息的行为违反法律法规;
\n(2)如果我们收集、使用您的个人信息,却未征得您的明确同意;
\n(3)如果我们处理个人信息的行为严重违反了与您的约定;
\n(4)如果您不再使用我们的产品或服务,或您主动注销了账号;
\n(5)如果我们永久不再为您提供产品或服务.
\n6.4 注销
\n您可以在“控制台”提交账号注销申请。账号注销后将无法恢复,请您谨慎操作。
\n当您注销账户停止服务时,依据相关法律法规、规章制度、客户服务需求,在您注销账号后的6个月内我们将继续保留您的用户信息,6个月后将删除您的用户信息。若删除个人信息从技术上难以实现的,我们会进行匿名化处理,或停止除存储和采取必要的安全保护措施之外的处理,法律法规另有规定的除外。
\n七、未成年人保护
\n我们主要面向成年人提供产品与服务,如您为未成年人,请您与您的父母或监护人仔细阅读本政策,并在征得您的父母或监护人同意的前提下使用本服务并向我们提供相关信息。
\n对于经父母或监护人同意使用我们的产品或服务而收集未成年人个人信息的情况,我们只会在法律法规允许、父母或监护人明确同意或者保护未成年人所必要的情况下使用、共享、转让或披露此信息。
\n八、更新与修订
\n我们有权修改本隐私政策并在修订生效前通过本平台公告或以其他适当方式通知您。
\n如果您不接受更新后的隐私政策,请停止继续使用我们的产品或服务。若您继续使用我们的服务,需点击确认新的隐私政策,表示接受修订后的本网站隐私政策的约束,并同意我们按照最新版本的隐私政策收集和使用您的个人信息。
\n九、如何联系我们
\n如果您对本政策内容有任何疑问和意见,或者您认为个人信息权利可能收到侵害,或者发现侵害个人信息权利的线索希望投诉举报,可通过以下方式联系我们:
\n\n','','',0,1,3,1,1673233806,0); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (2,1,'服务协议','\n\n\n\n\n用户协议
\n智简魔方官方网站(www.idcsmart.com,以下简称“本网站”)的所有服务(以下简称“本服务”),由重庆顺戴网络科技有限公司(以下简称“本公司”或者“我们”)创建和运营。在您选择使用本网站提供的产品和服务前,请您务必先仔细阅读、充分理解本协议各条款内容(下称“本协议”)。
\n本协议由您和本公司签订,一旦您完成“同意条款并注册”或开始以其他的方式使用本网站服务,即表示您已经阅读并同意接受本协议的约束,如您不同意本协议的约束或其中任何条款的约定,您应该不再进行下一步或停止注册程序。
\n我们再次提示您审慎阅读、充分理解本协议各条款内容,需要您特别注意的条款将以加粗或其他醒目形式提醒注意。您对本协议的同意即视为您已知悉并同意本协议全部条款并且您保证能够完全遵守本协议。
\n一、总则
\n1.1您确认:在您注册成为本网站用户以接受本服务之前,您已充分阅读、理解并接受本协议的全部内容,一旦您选择“同意”并完成注册开启流程或使用本服务, 即表示您同意遵循本协议之所有约定。
\n1.2您同意:我们可以根据外部环境或业务运营策略变化适时修订更新本协议内容,并以在本网站公告的方式予以公布,无需另行单独通知您;若您在本协议内容公告变更后继续使用本服务的, 表示您已充分阅读、理解并接受修改后的协议内容,也将遵循修改后的协议内容使用本服务;若您不同意修改后的协议内容,您应停止使用本服务。
\n1.3您声明:在您同意接受本协议并注册成为本网站用户时,您是具有法律规定的完全民事权利能力和民事行为能力,能够独立承担民事责任的自然人、法人或其他组织;本协议内容不受您所属国家或地区法律的排斥。
\n不具备前述条件的,您应立即终止注册或停止使用本服务。
\n二、本服务简介
\n本服务向注册用户提供IDC基础业务管理系统,及IDC行业解决方案等互联网技术服务和网络服务。
\n本网站所提供的相关服务说明详见www.idcsmart.com相关产品及服务介绍。
\n三、本网站账户
\n3.1注册相关
\n在使用本服务前,您必须先行注册,取得我们提供给您的本网站账户(以下简称“该账户”),您同意并保证:
\n3.1.1
\n您所填写的用户信息是真实、准确、完整、及时的,并且没有任何引人误解或者虚假的陈述,且保证本网站可以通过您所填写的联系方式与您取得联系。
\n3.1.2
\n您应根据本网站对于相关服务的要求及时提供相应的身份证明等资料,否则本网站有权拒绝向您提供相关服务。
\n3.1.3
\n您承诺将及时更新您的用户信息,以维持该账户信息的有效性。
\n3.1.4
\n如果您提供的资料或信息包含有不正确、不真实的信息,本网站保留取消您会员资格并随时结束为您提供服务的权利。
\n3.1.5
\n您应对您的本网站账户负责,只有您本人可以使用您的本网站账户,该账户不可转让、不可赠与、不可继承。
\n3.1.6
\n以代理人身份代理其他自然人或者单位进行注册,您必须向本网站提供代理人和被代理人的详细资料和信息及授权书面文件,未向本网站提供上述资料信息及文件的,本网站将视注册者为会员。
\n3.2账户安全
\n3.2.1
\n我们通过您的用户名和密码识别您的指示,请您妥善保管您的用户名和密码,对于因密码泄露所致的损失,由您自行承担。您保证不向其他任何人泄露该账户及密码,亦不使用其他任何人的本网站账户及密码。
\n3.2.2
\n如您发现有他人冒用或盗用您的账户及密码或任何其他未经合法授权之情形时,应立即以有效方式通知我们,要求我们暂停相关服务。同时,您理解我们对您的请求采取行动需要合理期限,在此之前,我们对已执行的指令及(或)所导致的您的损失不承担任何责任。
\n四、本网站服务使用守则
\n为有效保障您使用本服务的合法权益,您理解并同意接受以下规则:
\n4.1 服务前提
\n您在使用本服务过程中,本协议内容、网页上出现的关于交易操作的提示或我们发送到您手机的信息(短信或电话等)内容是您使用本服务的相关规则,您使用本服务即表示您同意接受本服务的相关规则。您了解并同意我们单方修改服务的相关规则,而无须征得您的同意,服务规则应以您使用服务时的页面提示(或发送到该手机的短信或电话等)为准,您同意并遵照服务规则是您使用本服务的前提。
\n4.2 服务通知
\n我们可能会以电子邮件(或发送到您手机的短信或电话等)方式通知您服务进展情况以及提示您进行下一步的操作,但我们不保证您能够收到或者及时收到该邮件(或发送到该手机的短信或电话等),且不对此承担任何后果。因此,在服务过程中您应当及时登录到本网站查看和进行交易操作。因您没有及时查看和对服务状态进行修改或确认或未能提交相关申请而导致的任何纠纷或损失,我们不负任何责任。
\n4.3 身份审核
\n在您注册成为本网站用户时,您授权我们可以通过向第三者审核您的身份和资格,并取得您使用本服务的相关资料。
\n4.4 服务费用
\n在您使用本服务时,我们有权依照相应的服务收费介绍、订单及/或相关协议向您收取服务费用。我们拥有制订及调整服务费之权利,具体服务费用以您使用本服务时本网站上所列之收费方式公告,或您与我们达成的其他书面协议为准。
\n五、 您的权利和义务
\n5.1
\n您有权利拥有自己在本网站的用户名和密码,并有权利使用自己的用户名和密码随时登录本网站的会员专区。
\n5.2
\n您有权利享受本网站提供的互联网技术和信息服务,并有权利在接受本网站提供的服务时获得本网站的技术支持、咨询等服务,服务内容详见本网站相关产品介绍。
\n5.3
\n您保证不会利用技术或其他手段破坏及扰乱本网站以及本网站其他客户的网站。
\n5.4
\n您应尊重本网站及其他第三方的知识产权和其他合法权利,并保证在发生侵犯上述权益的违法事件时尽力保护本网站及其股东、雇员、合作伙伴等免于因该等事件受到影响或损失;本网站保留您侵犯本网站合法权益时终止向您提供服务并不退还任何款项的权利。
\n5.5
\n对由于您向本网站提供的联络方式有误以及您用于接受本网站邮件的电子邮箱安全性、稳定性不佳而导致的一切后果,您应自行承担责任,包括但不限于因您未能及时收到本网站的相关通知而导致的后果和损失。
\n5.6
\n您保证您使用本网站服务时将遵从国家、地方法律法规、行业惯例和社会公共道德,不会利用本网站提供的服务进行存储、发布、传播如下信息和内容:
\n(1)违反国家法律法规政策的任何内容(信息);
\n(2)违反国家规定的政治宣传和/或新闻信息;
\n(3)涉及国家秘密和/或安全的信息;
\n(4)封建迷信和/或淫秽、色情、下流的信息或教唆犯罪的信息;
\n(5)博彩有奖、赌博游戏;违反国家民族和宗教政策的信息;防碍互联网运行安全的信息;
\n(6)侵害他人合法权益的信息和/或其他有损于社会秩序、社会治安、公共道德的信息或内容。
\n您同时承诺不得为他人发布上述不符合国家规定和/或本服务条款约定的信息内容提供任何便利,包括但不限于设置URL、BANNER链接等。
\n您同意本网站有权在您违反上述约定时有权终止向您提供服务并不予退还任何款项,因您上述行为给本网站造成损失的,您应予赔偿。
\n六、 本网站的权利和义务
\n6.1
\n本网站应根据您选择的服务以及交纳款项的情况向您提供合格的网络技术和信息服务。
\n6.2
\n本网站承诺对您的资料采取对外保密措施,不向第三方披露您的资料,不授权第三方使用您的资料,除非:
\n(1)依据本协议条款或者您与本网站之间其他服务协议、合同、在线条款等规定可以提供;
\n(2)行政、司法等职权部门要求本网站提供;
\n(3)您同意本网站向第三方提供;
\n(4)本网站解决举报事件、提起诉讼而提交的;
\n(5)本网站为防止严重违法行为或涉嫌犯罪行为发生而采取必要合理行动所必须提交的;
\n(6)本网站为向您提供产品、服务、信息而向第三方提供的,包括本网站通过第三方的技术及服务向您提供产品、服务、信息的情况。
\n七、 隐私及其他个人信息的保护
\n一旦您同意本协议或使用本服务,您即同意我们按照以下条款来使用和披露您的个人信息。
\n7.1 用户名和密码
\n在您注册为本网站用户时,我们会要求您绑定手机号码和设置密码来识别您的身份,以便在您丢失密码时用以确认您的身份。您仅可通过您设置的密码来使用该账户,如果您泄漏了密码,您可能会丢失您的个人识别信息,并可能导致对您不利的法律后果。该账户和密码因任何原因受到潜在或现实危险时,您应该立即和我们取得联系,在我们采取行动前,我们对此不负任何责任。
\n7.2 注册信息
\n您注册该账户时应向我们提供您的真实姓名、地址、国籍、手机号码和电子邮件地址,您还可以选择来填写相关附加信息(包括但不限于您公司所在的省份和城市、时区和邮政编码、传真号码、个人主页和您的职务)。为有针对性地向您提供新的服务和机会,您了解并同意我们及其关联公司或您登录的其他网站将通过您的电子邮件地址或手机号码通知您这些信息。
\n7.3 手机信息
\n您应保护好您的手机,一旦您手机出借、被盗、遗失或被他人窥视等,均可能引起您本网站账户相关个人信息之外泄,本网站对此不承担任何责任。
\n7.4 银行账户信息
\n若我们所提供的服务需要您提供您的银行账户信息,在您提供相应信息后,我们将严格履行相关保密约定。
\n7.5 登陆记录
\n为了保障您使用本服务的安全以及不断改进服务质量,我们将记录并保存您登录和使用本服务的相关信息,但我们承诺不将此类信息提供给任何第三方 (除双方另有约定或法律法规另有规定及我们关联公司外)。
\n7.6 广告
\n我们可能会向您发送我们认为您感兴趣的营销推广。如您不愿接收这些信息,可以通过手机短信中提供的退订方式进行退订。
\n7.7 手机和存储的服务信息
\n为了更好地为您提供服务,我们有可能自动从您的智能终端(包括手机、电脑和电视等)和浏览器上收集和存储您的软件信息、硬件信息。
\n7.8 外部链接
\n本网站含有到其他网站的链接,但我们对其他网站的隐私保护措施不负任何责任。我们可能在任何需要的时候增加商业伙伴或共用品牌的网站。
\n7.9 安全
\n我们仅按现有技术提供相应的安全措施来使我们掌握的信息不丢失、不被滥用和变造。这些安全措施包括向其他服务器备份数据和对用户密码加密。尽管有这些安全措施,但我们不保证这些信息的绝对安全。
\n八、 系统中断或故障
\n系统因下列状况无法正常运作,使您无法使用各项服务时,我们不承担损害赔偿责任,该状况包括但不限于:
\n(1)我们在本网站公告之系统停机维护期间;
\n(2)电信设备出现故障不能进行数据传输的;
\n(3)因台风、地震、海啸、洪水、停电、战争、恐怖袭击等不可抗力之因素,造成我们系统障碍不能执行业务的;
\n(4)由于黑客攻击、电信部门技术调整或故障、网站升级、银行方面的问题等原因而造成的服务中断或者延迟。
\n九、 责任范围及责任限制
\n9.1
\n我们仅对本协议中列明的责任承担范围负责。
\n9.2
\n本网站用户信息是由您本人自行提供的,我们无法保证该信息之准确、及时和完整,您应对您的判断承担全部责任。
\n9.3
\n我们不对本服务提供任何形式的保证,包括但不限于以下事项:
\n(1)本服务符合您的需求;
\n(2)本服务不受干扰、及时提供或免于出错;
\n(3)您经由本服务购买或取得之任何产品、服务、资讯或其他资料符合您的期望。
\n9.4
\n本服务的合作单位,所提供的服务品质及内容由该合作单位自行负责。
\n9.5
\n您经由本服务的使用下载或取得任何资料,应由您自行考量且自负风险,因资料下载而导致您电脑或手机系统的任何损坏或资料流失,您应负完全责任。
\n9.6
\n您自我们及我们工作人员或经由本服务取得的建议和资讯,无论其为书面或口头形式,均不构成我们对本服务的保证。
\n9.7
\n在法律允许的情况下,我们对于与本协议有关或由本协议引起的任何间接的、惩罚性的、特殊的、派生的损失(包括业务损失、收益损失、利润损失、使用数据或其他经济利益的损失),不论是如何产生的,也不论是由对本协议的违约(包括违反保证)还是由侵权造成的,均不负有任何责任,即使事先已被告知此等损失的可能性。 另外即使本协议规定的排他性救济没有达到其基本目的,也应排除我们对上述损失的责任。
\n9.8
\n除本协议另有规定外,在任何情况下,我们对本协议所承担的违约赔偿责任总额不超过向您收取的当次服务费用总额。
\n十、 完整协议
\n本协议由本协议条款与本网站公示的各项规则组成,相关名词可互相引用参照,如有不同理解,以本协议条款为准。
\n您对本协议理解和认同,您即对本协议所有组成部分的内容理解并认同,一旦您使用本服务,您和我们即受本协议所有组成部分的约束。
\n本协议部分内容被有管辖权的法院认定为违法的,不因此影响其他内容的效力。
\n十一、商标、知识产权的保护
\n11.1
\n本网站上所有内容,包括但不限于著作、图片、档案、资讯、资料、网站架构、网站画面的安排、网页设计,均由我们或我们关联企业依法拥有其知识产权, 包括但不限于商标权、专利权、著作权、商业秘密等。
\n11.2
\n非经我们或我们关联企业书面同意,任何人不得擅自使用、修改、复制、公开传播、改变、散布、发行或公开发表本网站程序或内容。
\n11.3
\n尊重知识产权是您应尽的义务,如有违反,您应承担损害赔偿责任。
\n十二、 法律适用与管辖
\n本协议的效力、解释、变更、执行与争议解决均适用中华人民共和国法律。
\n因本协议产生的争议,均应依照中华人民共和国法律予以处理,并提交重庆市渝中区人民法院审判。
\n十三、其他
\n13.1一方免予追究另一方一次或多次未履行本协议义务相关责任的,不得被解释为对任何随后的违反协议或不履行本协议责任的不予追究。一方于另一方违约后继续履行本协议的,不得被视为对另一方违约责任的免于追究。
\n13.2您对服务的任何部分或本协议的任何部分的意见及建议可通过客户服务部门与我们联系。
\n13.3请点击www.idcsmart.com查看我们的客服联系方式。
\n\n','','',0,1,3,1,1673233827,0); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (3,2,'如何注册账号','\n\n\n\n\n如果您想获得我们为您提供的任何产品或服务,我们建议您先注册会员,以便我们为您提供更多服务资源。
\n\n
操作步骤
\n①在智简魔方官方网站,点击右上角 “控制台” ,进入会员中心登录页面。
\n图1
\n
\n
②如上图(图1),点击 “立即注册” 进入注册页面。(已有账号请直接登录,参见 如何登录会员中心 。)
\n图2
\n③您可以选择 “电子邮箱” 或 “手机号码” 作为注册账号。
\n·电子邮箱注册
\nⅰ. 输入您的电子邮箱,点击 “获取验证码” ,收到验证码邮件后请及时填入验证码。
\n图3
\n
ⅱ. 输入6 - 32位密码,并再次输入以确认密码。
\n图4
\n
ⅲ. 勾选 “ 完成注册后将自动登录,登录即代表您已同意《服务协议》和《隐私协议》 ” ,点击 “确认并登录” ,系统将自动跳转至会员中心。
\n图5
\n
·手机号码注册
\nⅰ. 切换为 “手机号码” 注册。
\n图6
\n
ⅱ. 输入手机号码,点击 “获取验证码” ,并填入验证码。
\n图7
\n
ⅲ. 输入6 - 32位密码,并再次输入以确认密码,勾选 “ 完成注册后将自动登录,登录即代表您已同意《服务协议》和《隐私协议》 ” ,点击 “确认并登录” ,系统将自动跳转至会员中心。
\n图8
\n
\n\n','','',0,0,8,1,1673313504,1673314111); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (4,2,'如何登录会员中心','\n\n\n\n\n
完成会员注册后,您可以随时登录会员中心。会员注册请参见 如何注册会员 。
\n·验证码登录
\n·密码登录
\n\n
操作步骤
\n1.验证码登录
\n注意: “验证码” 登录仅适用于手机号码注册用户,如果您使用的是电子邮箱注册,请选择 “密码登录” 。
\n①进入会员中心登录页面
\n②输入您注册时提交的手机号码,并点击 “获取验证码” 。
\n图1
\n③手机收到验证码短信后,输入手机验证码并勾选“ 阅读并同意《服务协议》和《隐私协议》 ”,点击 “登录” 即可成功登录会员中心。
\n图2
\n
2.密码登录
\n“密码登录” 适用于所有注册用户。
\n①在登录页面,点击下方 “密码登录” 。
\n图3
\n
②如果您注册时使用的是手机号码,请选择 “手机号码” 登录;如果您使用电子邮箱注册。请选择 “电子邮箱” 登录。
\n图4
\n
ⅲ. 如上图(图4),当您使用手机号码作为注册账户时,请直接输入注册号码、密码,勾选 “ 阅读并同意《服务协议》和《隐私协议》 ” ,点击 “登录” 即可。
\n图5
\n
ⅳ. 输入账号密码后,您可以勾选 “记住密码” 。
\n图6
\n
ⅴ. 下次登录直接选中该账号密码,勾选 “ 阅读并同意《服务协议》和《隐私协议》 ” ,点击 “登录” 即可。
\n图7
\n
\n\n','','',0,1,3,1,1673341058,0); -insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (5,2,'忘记密码怎么办','\n\n\n\n\n
如果您在登录会员中心时,忘记登录密码,可使用手机号验证码登录,也可以点击 “忘记密码” 重新设置密码并登录。
\n·验证码登录
\n·忘记密码
\n\n
操作步骤
\n1.验证码登录
\n请参见 如何登录会员中心 。
\n2.忘记密码
\n①进入会员中心登录页,点击 “忘记密码” 。
\n图1
\n
②请根据您的账号类型选择 “电子邮箱” 或 “手机号码” 进行接下来的操作。
\n图2
\n
③输入您的账号(电子邮箱/手机号码),点击 “获取验证码” 并输入验证码。
\n图3
\n
④输入新密码并再次确认密码。
\n图4
\n
⑤勾选 “阅读并同意 《服务协议》 和 《隐私协议》 ” ,点击“确认并登录”即可直接登录会员中心。
\n图5
\n
如何修改登录密码
\n您可以在会员中心登录页通过“忘记密码”功能修改登录密码,具体操作请参见 忘记密码怎么办 。如果您已登录会员中心,可以在 “账户信息” 中修改密码,具体操作请见下文:
\n\n
操作步骤
\n①登录会员中心后,点击 “账户信息”(您可以通过下图中的两种方式查看账户信息) 。
\n图1
\n
②查看账户详情
\n图2
\n
③在下方 “账户信息” 栏中,点击 “密码” 右侧的 “” 。
图3
\n
④在弹窗页面输入原始密码后,再输入新密码即可。
\n图4
\n
⑤如果您忘记了原始密码,请点击 “验证码修改”
\n图5
\n
\n
⑥使用注册账号(电子邮件/手机号码)获取验证码,重新设置密码。
\n图6
\n
\n\n','','',0,1,2,1,1673341264,1673344922); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (5,2,'忘记密码怎么办','\n\n\n\n\n
如果您在登录会员中心时,忘记登录密码,可使用手机号验证码登录,也可以点击 “忘记密码” 重新设置密码并登录。
\n·验证码登录
\n·忘记密码
\n\n
操作步骤
\n1.验证码登录
\n请参见 如何登录会员中心 。
\n2.忘记密码
\n①进入会员中心登录页,点击 “忘记密码” 。
\n图1
\n
②请根据您的账号类型选择 “电子邮箱” 或 “手机号码” 进行接下来的操作。
\n图2
\n
③输入您的账号(电子邮箱/手机号码),点击 “获取验证码” 并输入验证码。
\n图3
\n
④输入新密码并再次确认密码。
\n图4
\n
⑤勾选 “阅读并同意 《服务协议》 和 《隐私协议》 ” ,点击“确认并登录”即可直接登录会员中心。
\n图5
\n
如何修改登录密码
\n您可以在会员中心登录页通过“忘记密码”功能修改登录密码,具体操作请参见 忘记密码怎么办 。如果您已登录会员中心,可以在 “账户信息” 中修改密码,具体操作请见下文:
\n\n
操作步骤
\n①登录会员中心后,点击 “账户信息”(您可以通过下图中的两种方式查看账户信息) 。
\n图1
\n
②查看账户详情
\n图2
\n
③在下方 “账户信息” 栏中,点击 “密码” 右侧的 “” 。
图3
\n
④在弹窗页面输入原始密码后,再输入新密码即可。
\n图4
\n
⑤如果您忘记了原始密码,请点击 “验证码修改”
\n图5
\n
\n
⑥使用注册账号(电子邮件/手机号码)获取验证码,重新设置密码。
\n图6
\n
\n\n','','',0,0,2,1,1673341264,1673344922); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (7,2,'如何退出登录','\n\n\n\n\n
您在使用会员中心各项服务时,可以随时退出会员登录。
\n\n
操作步骤
\n①点击会员中心页面右上角头像
\n图1
\n
②在悬浮框内点击 “退出登录” 即可。
\n图2
\n
\n
\n\n','','',0,1,2,1,1673341318,0); -insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (8,3,'如何修改账号','\n\n\n\n\n
当您完成注册后,如果手机号码或邮箱等注册信息发生变更,可以在 账户信息 页面修改账号。如原账号(手机号码/邮箱)已不能使用,请联系商务或提交工单,具体操作请参见 如何提交工单 。
\n·修改手机号码
\n·修改邮箱
\n\n
修改账号
\n1.修改手机号码
\n①在会员中心点击 “账户信息” ,在 “手机” 栏点击“” 。
图1
\n
②如下图所示,在弹窗中点击 “获取验证码” 后输入正确的验证码,点击 “验证” 完成身份验证,以确保您的账户安全。
\n\n
图2
\n
③完成验证后,在接下来的弹窗中输入新的手机号码,点击 “获取验证码” 后输入验证码点击 “验证” 即可完成修改。
\n图3
\n
2.修改邮箱
\n①在 账户信息 页面,点击 邮箱 栏的“”,可修改邮箱地址。
图4
\n
②如下图所示,弹窗页面点击 “获取验证码” ,并输入验证码以完成身份验证。
\n图5
\n
\n
③输入新的邮箱地址,并点击 “获取验证码” 进行验证即可成功修改。
\n图6
\n
实名认证是为了进一步核实您的注册信息,避免身份被盗用等潜在的不安全因素,为了保护您的账户安全与合法权益,请您在使用我们的服务前先进行 实名认证 。
\n·个人认证
\n·企业认证
\n\n
操作步骤
\n①点击 账户信息 进入账户信息页面
\n图1
\n
②点击 “未认证” 提示,进入实名认证界面,根据您的账户使用主体与实际情况,选择 个人认证 或 企业认证 。
\n图2
\n
②您也可以点击左上角LOGO进入个人中心,在基础信息栏右侧直接选择 “个人认证” 或 “企业认证” 。
\n图3
\n
·个人认证
\nⅰ. 如果您的账号归属于您个人所有,请选择 个人认证 ,选择 “认证方式” 后,点击 “下一步” 。
\n图4
\n
ⅱ. 如下图,在跳转页面根据字段提示填写实名信息,完成后点击 “下一步” 。
\n图5
\n
\n
ⅲ. 在跳转页面确认信息无误后,根据页面提示进行实名认证。如下图,需使用支付宝扫码认证。
\n图6
\n
\n
·企业认证
\nⅰ. 如果您的账户属于企业所有,请选择 “企业认证”并点击 “下一步” 。
\n\n
图7
\n
ⅱ. 在跳转页面根据字段提示填写企业信息。
\n图8
\n
\n
ⅲ. 确认企业信息无误后,点击 “下一步” ,并在跳转页面根据提示完成企业认证。
\n图9
\n
当您完成注册后,如果手机号码或邮箱等注册信息发生变更,可以在 账户信息 页面修改账号。如原账号(手机号码/邮箱)已不能使用,请联系商务或提交工单,具体操作请参见 如何提交工单 。
\n·修改手机号码
\n·修改邮箱
\n\n
修改账号
\n1.修改手机号码
\n①在会员中心点击 “账户信息” ,在 “手机” 栏点击“” 。
图1
\n
②如下图所示,在弹窗中点击 “获取验证码” 后输入正确的验证码,点击 “验证” 完成身份验证,以确保您的账户安全。
\n\n
图2
\n
③完成验证后,在接下来的弹窗中输入新的手机号码,点击 “获取验证码” 后输入验证码点击 “验证” 即可完成修改。
\n图3
\n
2.修改邮箱
\n①在 账户信息 页面,点击 邮箱 栏的“”,可修改邮箱地址。
图4
\n
②如下图所示,弹窗页面点击 “获取验证码” ,并输入验证码以完成身份验证。
\n图5
\n
\n
③输入新的邮箱地址,并点击 “获取验证码” 进行验证即可成功修改。
\n图6
\n
实名认证是为了进一步核实您的注册信息,避免身份被盗用等潜在的不安全因素,为了保护您的账户安全与合法权益,请您在使用我们的服务前先进行 实名认证 。
\n·个人认证
\n·企业认证
\n\n
操作步骤
\n①点击 账户信息 进入账户信息页面
\n图1
\n
②点击 “未认证” 提示,进入实名认证界面,根据您的账户使用主体与实际情况,选择 个人认证 或 企业认证 。
\n图2
\n
②您也可以点击左上角LOGO进入个人中心,在基础信息栏右侧直接选择 “个人认证” 或 “企业认证” 。
\n图3
\n
·个人认证
\nⅰ. 如果您的账号归属于您个人所有,请选择 个人认证 ,选择 “认证方式” 后,点击 “下一步” 。
\n图4
\n
ⅱ. 如下图,在跳转页面根据字段提示填写实名信息,完成后点击 “下一步” 。
\n图5
\n
\n
ⅲ. 在跳转页面确认信息无误后,根据页面提示进行实名认证。如下图,需使用支付宝扫码认证。
\n图6
\n
\n
·企业认证
\nⅰ. 如果您的账户属于企业所有,请选择 “企业认证”并点击 “下一步” 。
\n\n
图7
\n
ⅱ. 在跳转页面根据字段提示填写企业信息。
\n图8
\n
\n
ⅲ. 确认企业信息无误后,点击 “下一步” ,并在跳转页面根据提示完成企业认证。
\n图9
\n
如果您需要更多人来共同管理与维护线上业务,可通过设置 子账户 精细分配操作权限与产品权限。
\n\n
操作步骤
\n①点击 “子账户管理” ,进入子账户列表。
\n图1
\n
②点击左上角 “新增子账户”
\n图2
\n
③在跳转页面根据字段提示填写子账户信息,并配置管理权限,点击 “保存” 即可。
\n图3
\n
\n\n','','',0,1,1,1,1673341759,0); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (11,3,'如何创建API','\n\n\n\n\n
我们为您提供便捷高效的API调用接口。
\n\n
操作步骤
\n①点击 “安全中心” ,选择 “API” 。
\n图1
\n
②点击页面左上角 “创建API” ,在弹窗页面填写API名称,点击 “提交” 即可。
\n图2
\n
③系统自动生成API关键信息。
\n注意:为保证数据安全,我们不会存储您的原始密钥,请务必妥善保存Token信息。
\n图3
\n
④保存关键信息后,请勾选下方提示并点击 “我已保存” 即可。
\n图4
\n
\n\n','','',0,1,1,1,1673341855,0); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (12,3,'如何设置IP白名单','\n\n\n\n\n
如果您希望只允许指定IP地址可以进行API调用,可开启 IP白名单 功能。
\n\n
注意事项
\n在开启IP白名单之前,请先创建API,具体操作请参见 如何创建API 。
\n\n
操作步骤
\n①点击 “安全中心” ,在 “API” 页面可查看已有API。
\n图1
\n
②如上图(图1)所示,选择对应的API接口,在 “IP白名单” 一列点击 “设置” 。
\n③如果该接口未开启IP白名单功能,请先 “开启” ,再填入允许访问的IP地址,点击 “提交” 即可。
\n图2
\n
④设置成功后,将仅允许白名单内的IP地址可进行API调试。
\n\n\n','','',0,1,1,1,1673341917,0); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (13,3,'如何创建SSH密钥','\n\n\n\n\n
SSH密钥对,是通过加密算法生成一对密钥,分为公钥和私钥。相较于传统的用户名和密码认证方式,SSH密钥无需输入密码、便于远程登录、没有暴力破解威胁,更安全可靠。
\n\n
操作步骤
\n①点击 “安全中心” ,选择 “SSH密钥” 。
\n图1
\n
②点击页面左上角 “创建密钥” 。
\n图2
\n
③根据弹窗提示填写密钥名称、公钥,点击“提交” 即可。
\n图3
\n
\n\n','','',0,1,1,1,1673341983,0); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (14,3,'如何查看操作日志','\n\n\n\n\n
当您对某项操作有疑问,或想追溯某项操作时,可查看 操作日志 。
\n\n
操作步骤
\n在 会员中心 点击 账户信息 ,切换至 操作日志 即可查看该账户的所有操作记录。
\n图1
\n如果您需要查看远程调用操作记录,可在安全中心查看 API日志 。
\n\n
操作步骤
\n①登入会员中心,点击 “安全中心” 。
\n图1
\n
②在安全中心页面选择 “API日志” ,可查看API调用记录。
\n图2
\n
您可以在我们的官网购买您需要的任何产品或服务,也可以在 会员中心 - 订购产品 页面选购。
\n\n
操作步骤
\n①在 会员中心 ,点击 订购产品 查看所有产品与服务。
\n图1
\n
②选购产品。您可以通过以下方式找到您心仪的产品:
\n·直接选购
\n在 订购产品 页面直接选择你需要的产品。
\n·分类筛选
\n您可以在上方复选框内选择产品分类,点击 “查询” 进行筛选。
\n·关键词搜索
\n直接在搜索框内输入关键词,点击 “查询” 进行筛选。
\n图2
\n
③选好意向产品后,点击 购买 进入产品详情页。
\n图3
\n
④在产品详情页根据使用需求选择配置。
\n图4
\n
⑤如上图(图4),在右侧 “配置预览” 中确认产品选配信息,选择 “购买数量” ,点击 “立即购买” 。(如果您拥有优惠码,可点击 “使用优惠码” 并输入优惠码获得产品优惠。)
\n图5
\n
⑥点击 “立即购买” 后,请在支付页面核对商品信息。
\n图6
\n
⑦确认订单无误后,请勾选 “已阅读并同意 《服务协议》 和 《隐私协议》 ” ,点击 “提交订单” 。(如果您拥有代金券,可点击 “使用代金券” 获得产品优惠。)
\n图7
\n
⑧在支付弹窗选择支付方式并完成支付。
\n图8
\n
⑨勾选“使用余额支付”,可直接使用当前账户余额支付。
\n图9
\n
如果您购买的产品即将到期,我们会提前向您发送到期提醒与续费通知,如果您希望继续使用我们的产品与服务,可在产品详情页进行产品续费,或开通“自动续费”功能,系统将自动扣款续期。
\n·手动续费
\n·自动续费
\n\n
操作步骤
\n1.手动续费
\n①在会员中心,点击进入已购产品列表。如下图(图1),点击 “云服务器” 进入已购云服务器列表。
\n图1
\n
②选择需要续费的产品,点击进入产品详情页。
\n\n
图2
\n
③在产品详情页的 “支付信息” 栏中,可查看 “下次续费金额” ,点击 “续费”
\n图3
\n
④在弹窗页面完成续费。您还可以选择“使用代金券”或“使用优惠码”完成支付。
\n图4
\n
2.自动续费
\n①您也可以在产品详情页“支付信息栏”中,一键开通 “自动续费” 功能。
\n图5
\n
②在弹窗页面确认产品信息,点击“提交”即可开通自动续费功能。
\n图6
\n
③开通自动续费功能后,我们将在您账户余额充足的情况下自动扣费,不再为您发送续费通知。
\n\n','','',0,1,1,1,1673342443,0); -insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (18,4,'如何申请产品停用','\n\n\n\n\n如果您不希望继续使用已购买的产品,可申请停用,我们支持您选择 “立即停用” 或 “到期停用” 。
\n\n
操作步骤
\n①登录会员中心,进入对应产品详情页,点击右上角 “申请停用” 。
\n图1
\n
②在弹窗中确认产品信息,填写 “停用原因” ,停用时间选择 “立即” 或 “到期” ,点击 “确认停用” 即可。
\n图2
\n
③如果您选择 “立即停用” ,我们将在申请当天24点后自动为您停用对应产品及服务。如果您希望继续使用该产品,可在当天24点之前 “取消停用”。
\n图3
\n
④如果您选择 “到期停用” ,产品状态将变更为 “待停用” ,我们将在到期时间后自动停用并删除该产品信息。如果您之后希望继续使用该产品,可在到期停用前点击 “取消停用” 。
\n图4
\n
我们会不定期在网站发布优惠活动信息,您可以直接在活动页面领取代金券,也可以在“财务信息”模块查看并领取代金券。
\n·领取代金券
\n·查看已领取的代金券
\n\n
操作步骤
\n1.领取代金券
\n①通过官网活动页面领取代金券。
\n②登录会员中心,点击 “财务信息” ,选择 “我的代金券” 。
\n图1
\n
③点击左上角 “我要领券” ,可查看当前可领取的代金券。
\n图2
\n
⑤在领券页面点击 “立即领取” ,即可领取对应的代金券。
\n图3
\n
2.查看代金券
\n③领取代金券后,“我的代金券” 页面将展示您已领取的代金券信息。
\n图4
\n
\n\n','','',0,1,1,1,1673342631,0); -insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (20,5,'如何申请开具发票','\n\n\n\n\n
您在我们官网上购买任何商品或服务,都可以申请开具发票。您可以在付款后申请开具发票,也可以在与我们达成合作意向后申请预开发票。
\n\n
注意事项
\n在申请开具发票之前,请先设置发票抬头与收件地址。具体操作请参见 如何设置发票抬头 、如何设置收件地址 。
\n\n
操作步骤
\n①登入 “会员中心” ,点击 “发票管理” ,选择 “发票列表” 。
\n图1
\n
②点击左上角 “发票申请” 。
\n图2
\n
③在跳转页面,您可以选择 “后开票” 或 “预开票” 。
\n后开票:已支付货款,确认收货后需要开具的发票。
\n预开票:未支付货款,生成订单后需要在付款前开具的发票。
\n图3
\n
\n
④勾选需要开具发票的产品后,点击左上角 “开具发票” 。
\n图4
\n
⑤在弹窗页面根据字段提示填写相关信息,点击 “确认支付” 即可。
\n图5
\n
⑥在 “发票列表” 可查看已提交的发票申请与进度。
\n图6
\n
在申请开具发票之前,您需要先设置发票抬头。
\n\n
操作步骤
\n1.设置发票抬头
\n①登入 “会员中心” ,点击 “发票管理” ,选择 “发票设置” 。
\n图1
\n
②在 “发票抬头” 一栏,点击右侧 “添加” 可添加发票抬头信息。
\n图2
\n
③根据弹窗字段提示填写抬头信息即可。
\n·公司
\n如果购买主体为政企单位,抬头类型请选择 “公司”,并根据字段提示填写公司开票信息。
\n图3
\n
·个人
\n如果您是以个人名义购买,抬头类型请选择 “个人” 。
\n图4
\n
当您申请开具纸质发票或电子发票时,您需要提前设置收件地址与电子邮箱。
\n\n
操作步骤
\n①登入 “会员中心” ,点击 “发票管理” ,选择 “发票设置” 。
\n图1
\n
②点击 “收件地址” 右上角 “添加” 添加收货地址。
\n图2
\n
③在弹窗页面根据字段提示填入地址。
\n·纸质发票
\n当您收件类型选择 “纸质发票” 时,需填入收件人姓名、详细地址、电话等收件信息。
\n如果您填入的地址为常用地址,可勾选 “设为默认地址” 。
\n图3
\n
·电子发票
\n当收件类型为 “电子发票” 时,您只需填入对应的邮箱地址即可。
\n图4
\n
我们建议您先充值再消费,以享受充值优惠、自动续费等专属权益。我们支持您使用支付宝、微信支付、线下支付、Easy payment Usdt、支付宝网页支付、支付宝国际支付、OCGC支付等支付方式。
\n·在个人中心充值
\n·在余额记录充值
\n\n
操作步骤
\n1.在个人中心充值
\n①点击左上角LOGO进入个人中心。
\n图1
\n
②在 “统计” 模块点击 “充值” 。
\n图2
\n
③在弹窗页面选择充值方式并填写充值金额。
\n图3
\n
④点击充值金额右侧 “提交” 并根据提示完成付款。
\n图4
\n
2.在余额记录充值
\n①点击 “财务信息” ,选择 “余额记录” ,可查看当前余额及余额记录。
\n图5
\n
②点击右上角 “充值” 。
\n图6
\n
③根据弹窗提示选择支付方式、填写支付金额,点击提交并完成支付。
\n图7
\n
当您在使用我们的产品与服务时,您遇到任何选购或使用问题,都可以通过 提交工单 向我们寻求帮助,专业技术工程师将竭诚为您服务。
\n\n
操作步骤
\n①进入会员中心后,点击 工单中心 。
\n图1
\n
②在如图1的工单系统页面,点击 新建工单 。
\n图2
\n
③在跳转页面根据您的需求选择工单类型并填写您遇到的问题,点击 “发送” 提交您的需求。
\n图3
\n
当您提交工单后,可以在 “工单中心” 中查看并管理工单。提交工单请参见 如何提交工单 。
\n\n
操作步骤
\n①进入会员中心后,点击 工单中心 ,可查看工单信息及处理状态。
\n图1
\n
②点击右侧操作栏,可进行回复、催单、关闭等操作。
\n图2
\n
·回复
\nⅰ. 直接点击右侧操作栏 “” ,或鼠标移至操作栏 “
” ,在悬浮框内选择 “回复” 。
ⅱ. 在跳转页面可查看工单信息与过往沟通记录。
\n图3
\n
ⅲ.在下方对话框输入文字,点击发送即可进行回复。
\n图4
\n
·催单
\nⅰ.在工单信息列表,鼠标移至操作栏 “” ,在悬浮框内选择 “催单” 即可。
图5
\n
·关闭
\n如果您的问题已经解决或不再需要我们为您提供技术支持,您可以在悬浮框内点击 “关闭” 直接关闭订单。
\n图6
\n
或点击 “”,在跳转页面确认工单详情后,点击右上角 “关闭工单” 。
图7
\n
Cooike政策
\n欢迎来到{网站名称}。
\n本Cookie政策(以下简称 “本政策”)解释{网站名称}如何在{网站域名地址}和包含或引用此Cookie政策的所有产品和服务(以下简称“本服务”)中使用Cookie及类似的技术。
\n就我们如何处理您的个人数据,请见我们的隐私政策。
\nCookie是访问网站时放置在您的计算机或移动设备上的小型数据文件。Cookie 的内容只能由创建它的服务器检索或读取,包含在您访问某些网址时下载到您的浏览器或设备的少量信息。您之后每次访问这些原始网址时,Cookie会被发送至这些网址或者识别该Cookie的另一网址。Cookie具有多种不同功能,例如为您带来高效的页面浏览体验、记住您的偏好,以及改善您的整体浏览体验。
\nCookie在您设备中的保留时长各不相同。有些Cookie为“会话Cookie”,也就是仅当您的浏览器或应用程序开启时,它们才存在。您一旦关闭浏览器或应用程序,它们便会自动删除。另一些Cookie则为“永久性Cookie”,也就是在您的浏览器或应用程序关闭后,它们仍会存在。在您随后开启并再次使用该服务时,其可用Cookie识别您的设备。
\nCookie服务于不同的目的,例如为您带来高效的页面浏览体验、记住您的偏好,以及改善您的整体浏览体验。
\n我们在网站上使用统计分析Cookie,用于收集关于您使用服务的信息,包括您的单次或多次访问,这些Cookie帮助我们了解服务是如何运行、使用的。如果拟选择不允许与这些服务相关的Cookie,则您可能无法使用该等服务或该等服务的某些功能。
\n举例而言,这些Cookie允许我们:
\n• 更深入了解{网站名称}的访客,从而便于我们改善网站内容的呈现方式;
\n• 收集关于{网站名称}的技术性及用户信息,例如用户使用的浏览器、最常访问的网站部分,或者用户访问网站的方式(例如来自第三方网站的链接)
\n·通过衡量发生的任何错误,以及进行研究和诊断来完善产品/服务,从而改善{网站名称}。
\n您有权选择在本网站选择是否接受Cookie政策,此外,大多数浏览器允许您删除或拒绝Cookie,您可以按照浏览器设置中的说明实现启用或禁用Cookie。但请注意,如果您选择拒绝安装Cookies,则可能无法使用{网站名称}的完整功能。
\n除Cookie之外,我们可能会使用其他技术来自动收集信息,如浏览器网络存储。
\n我们可能会使用浏览器网络存储(包括通过HTML5),也称为本地存储对象,从而达到与Cookie类似的目的。浏览器Web存储可以存储比Cookie更多的数据量。您的网络浏览器可能提供清除浏览器网络存储的功能。
\n我们可能会不时或者出于其他运营、法律或监管原因更新本政策,以反映我们在实际操作和服务方面的变更。本政策顶部的日期表示最近更新的时间。
\n\n
\n\n','ooike政策','',0,0,0,1,1678268694,1678268954); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (15,3,'如何查看API日志','\n\n\n\n\n
如果您需要查看远程调用操作记录,可在安全中心查看 API日志 。
\n\n
操作步骤
\n①登入会员中心,点击 “安全中心” 。
\n图1
\n
②在安全中心页面选择 “API日志” ,可查看API调用记录。
\n图2
\n
您可以在我们的官网购买您需要的任何产品或服务,也可以在 会员中心 - 订购产品 页面选购。
\n\n
操作步骤
\n①在 会员中心 ,点击 订购产品 查看所有产品与服务。
\n图1
\n
②选购产品。您可以通过以下方式找到您心仪的产品:
\n·直接选购
\n在 订购产品 页面直接选择你需要的产品。
\n·分类筛选
\n您可以在上方复选框内选择产品分类,点击 “查询” 进行筛选。
\n·关键词搜索
\n直接在搜索框内输入关键词,点击 “查询” 进行筛选。
\n图2
\n
③选好意向产品后,点击 购买 进入产品详情页。
\n图3
\n
④在产品详情页根据使用需求选择配置。
\n图4
\n
⑤如上图(图4),在右侧 “配置预览” 中确认产品选配信息,选择 “购买数量” ,点击 “立即购买” 。(如果您拥有优惠码,可点击 “使用优惠码” 并输入优惠码获得产品优惠。)
\n图5
\n
⑥点击 “立即购买” 后,请在支付页面核对商品信息。
\n图6
\n
⑦确认订单无误后,请勾选 “已阅读并同意 《服务协议》 和 《隐私协议》 ” ,点击 “提交订单” 。(如果您拥有代金券,可点击 “使用代金券” 获得产品优惠。)
\n图7
\n
⑧在支付弹窗选择支付方式并完成支付。
\n图8
\n
⑨勾选“使用余额支付”,可直接使用当前账户余额支付。
\n图9
\n
如果您购买的产品即将到期,我们会提前向您发送到期提醒与续费通知,如果您希望继续使用我们的产品与服务,可在产品详情页进行产品续费,或开通“自动续费”功能,系统将自动扣款续期。
\n·手动续费
\n·自动续费
\n\n
操作步骤
\n1.手动续费
\n①在会员中心,点击进入已购产品列表。如下图(图1),点击 “云服务器” 进入已购云服务器列表。
\n图1
\n
②选择需要续费的产品,点击进入产品详情页。
\n\n
图2
\n
③在产品详情页的 “支付信息” 栏中,可查看 “下次续费金额” ,点击 “续费”
\n图3
\n
④在弹窗页面完成续费。您还可以选择“使用代金券”或“使用优惠码”完成支付。
\n图4
\n
2.自动续费
\n①您也可以在产品详情页“支付信息栏”中,一键开通 “自动续费” 功能。
\n图5
\n
②在弹窗页面确认产品信息,点击“提交”即可开通自动续费功能。
\n图6
\n
③开通自动续费功能后,我们将在您账户余额充足的情况下自动扣费,不再为您发送续费通知。
\n\n','','',0,0,2,1,1673342443,0); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (18,4,'如何申请产品停用','\n\n\n\n\n如果您不希望继续使用已购买的产品,可申请停用,我们支持您选择 “立即停用” 或 “到期停用” 。
\n\n
操作步骤
\n①登录会员中心,进入对应产品详情页,点击右上角 “申请停用” 。
\n图1
\n
②在弹窗中确认产品信息,填写 “停用原因” ,停用时间选择 “立即” 或 “到期” ,点击 “确认停用” 即可。
\n图2
\n
③如果您选择 “立即停用” ,我们将在申请当天24点后自动为您停用对应产品及服务。如果您希望继续使用该产品,可在当天24点之前 “取消停用”。
\n图3
\n
④如果您选择 “到期停用” ,产品状态将变更为 “待停用” ,我们将在到期时间后自动停用并删除该产品信息。如果您之后希望继续使用该产品,可在到期停用前点击 “取消停用” 。
\n图4
\n
我们会不定期在网站发布优惠活动信息,您可以直接在活动页面领取代金券,也可以在“财务信息”模块查看并领取代金券。
\n·领取代金券
\n·查看已领取的代金券
\n\n
操作步骤
\n1.领取代金券
\n①通过官网活动页面领取代金券。
\n②登录会员中心,点击 “财务信息” ,选择 “我的代金券” 。
\n图1
\n
③点击左上角 “我要领券” ,可查看当前可领取的代金券。
\n图2
\n
⑤在领券页面点击 “立即领取” ,即可领取对应的代金券。
\n图3
\n
2.查看代金券
\n③领取代金券后,“我的代金券” 页面将展示您已领取的代金券信息。
\n图4
\n
\n\n','','',0,0,2,1,1673342631,0); +insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (20,5,'如何申请开具发票','\n\n\n\n\n
您在我们官网上购买任何商品或服务,都可以申请开具发票。您可以在付款后申请开具发票,也可以在与我们达成合作意向后申请预开发票。
\n\n
注意事项
\n在申请开具发票之前,请先设置发票抬头与收件地址。具体操作请参见 如何设置发票抬头 、如何设置收件地址 。
\n\n
操作步骤
\n①登入 “会员中心” ,点击 “发票管理” ,选择 “发票列表” 。
\n图1
\n
②点击左上角 “发票申请” 。
\n图2
\n
③在跳转页面,您可以选择 “后开票” 或 “预开票” 。
\n后开票:已支付货款,确认收货后需要开具的发票。
\n预开票:未支付货款,生成订单后需要在付款前开具的发票。
\n图3
\n
\n
④勾选需要开具发票的产品后,点击左上角 “开具发票” 。
\n图4
\n
⑤在弹窗页面根据字段提示填写相关信息,点击 “确认支付” 即可。
\n图5
\n
⑥在 “发票列表” 可查看已提交的发票申请与进度。
\n图6
\n
在申请开具发票之前,您需要先设置发票抬头。
\n\n
操作步骤
\n1.设置发票抬头
\n①登入 “会员中心” ,点击 “发票管理” ,选择 “发票设置” 。
\n图1
\n
②在 “发票抬头” 一栏,点击右侧 “添加” 可添加发票抬头信息。
\n图2
\n
③根据弹窗字段提示填写抬头信息即可。
\n·公司
\n如果购买主体为政企单位,抬头类型请选择 “公司”,并根据字段提示填写公司开票信息。
\n图3
\n
·个人
\n如果您是以个人名义购买,抬头类型请选择 “个人” 。
\n图4
\n
当您申请开具纸质发票或电子发票时,您需要提前设置收件地址与电子邮箱。
\n\n
操作步骤
\n①登入 “会员中心” ,点击 “发票管理” ,选择 “发票设置” 。
\n图1
\n
②点击 “收件地址” 右上角 “添加” 添加收货地址。
\n图2
\n
③在弹窗页面根据字段提示填入地址。
\n·纸质发票
\n当您收件类型选择 “纸质发票” 时,需填入收件人姓名、详细地址、电话等收件信息。
\n如果您填入的地址为常用地址,可勾选 “设为默认地址” 。
\n图3
\n
·电子发票
\n当收件类型为 “电子发票” 时,您只需填入对应的邮箱地址即可。
\n图4
\n
我们建议您先充值再消费,以享受充值优惠、自动续费等专属权益。我们支持您使用支付宝、微信支付、线下支付、Easy payment Usdt、支付宝网页支付、支付宝国际支付、OCGC支付等支付方式。
\n·在个人中心充值
\n·在余额记录充值
\n\n
操作步骤
\n1.在个人中心充值
\n①点击左上角LOGO进入个人中心。
\n图1
\n
②在 “统计” 模块点击 “充值” 。
\n图2
\n
③在弹窗页面选择充值方式并填写充值金额。
\n图3
\n
④点击充值金额右侧 “提交” 并根据提示完成付款。
\n图4
\n
2.在余额记录充值
\n①点击 “财务信息” ,选择 “余额记录” ,可查看当前余额及余额记录。
\n图5
\n
②点击右上角 “充值” 。
\n图6
\n
③根据弹窗提示选择支付方式、填写支付金额,点击提交并完成支付。
\n图7
\n
当您在使用我们的产品与服务时,您遇到任何选购或使用问题,都可以通过 提交工单 向我们寻求帮助,专业技术工程师将竭诚为您服务。
\n\n
操作步骤
\n①进入会员中心后,点击 工单中心 。
\n图1
\n
②在如图1的工单系统页面,点击 新建工单 。
\n图2
\n
③在跳转页面根据您的需求选择工单类型并填写您遇到的问题,点击 “发送” 提交您的需求。
\n图3
\n
当您提交工单后,可以在 “工单中心” 中查看并管理工单。提交工单请参见 如何提交工单 。
\n\n
操作步骤
\n①进入会员中心后,点击 工单中心 ,可查看工单信息及处理状态。
\n图1
\n
②点击右侧操作栏,可进行回复、催单、关闭等操作。
\n图2
\n
·回复
\nⅰ. 直接点击右侧操作栏 “” ,或鼠标移至操作栏 “
” ,在悬浮框内选择 “回复” 。
ⅱ. 在跳转页面可查看工单信息与过往沟通记录。
\n图3
\n
ⅲ.在下方对话框输入文字,点击发送即可进行回复。
\n图4
\n
·催单
\nⅰ.在工单信息列表,鼠标移至操作栏 “” ,在悬浮框内选择 “催单” 即可。
图5
\n
·关闭
\n如果您的问题已经解决或不再需要我们为您提供技术支持,您可以在悬浮框内点击 “关闭” 直接关闭订单。
\n图6
\n
或点击 “”,在跳转页面确认工单详情后,点击右上角 “关闭工单” 。
图7
\n
Cooike政策
\n欢迎来到{网站名称}。
\n本Cookie政策(以下简称 “本政策”)解释{网站名称}如何在{网站域名地址}和包含或引用此Cookie政策的所有产品和服务(以下简称“本服务”)中使用Cookie及类似的技术。
\n就我们如何处理您的个人数据,请见我们的隐私政策。
\nCookie是访问网站时放置在您的计算机或移动设备上的小型数据文件。Cookie 的内容只能由创建它的服务器检索或读取,包含在您访问某些网址时下载到您的浏览器或设备的少量信息。您之后每次访问这些原始网址时,Cookie会被发送至这些网址或者识别该Cookie的另一网址。Cookie具有多种不同功能,例如为您带来高效的页面浏览体验、记住您的偏好,以及改善您的整体浏览体验。
\nCookie在您设备中的保留时长各不相同。有些Cookie为“会话Cookie”,也就是仅当您的浏览器或应用程序开启时,它们才存在。您一旦关闭浏览器或应用程序,它们便会自动删除。另一些Cookie则为“永久性Cookie”,也就是在您的浏览器或应用程序关闭后,它们仍会存在。在您随后开启并再次使用该服务时,其可用Cookie识别您的设备。
\nCookie服务于不同的目的,例如为您带来高效的页面浏览体验、记住您的偏好,以及改善您的整体浏览体验。
\n我们在网站上使用统计分析Cookie,用于收集关于您使用服务的信息,包括您的单次或多次访问,这些Cookie帮助我们了解服务是如何运行、使用的。如果拟选择不允许与这些服务相关的Cookie,则您可能无法使用该等服务或该等服务的某些功能。
\n举例而言,这些Cookie允许我们:
\n• 更深入了解{网站名称}的访客,从而便于我们改善网站内容的呈现方式;
\n• 收集关于{网站名称}的技术性及用户信息,例如用户使用的浏览器、最常访问的网站部分,或者用户访问网站的方式(例如来自第三方网站的链接)
\n·通过衡量发生的任何错误,以及进行研究和诊断来完善产品/服务,从而改善{网站名称}。
\n您有权选择在本网站选择是否接受Cookie政策,此外,大多数浏览器允许您删除或拒绝Cookie,您可以按照浏览器设置中的说明实现启用或禁用Cookie。但请注意,如果您选择拒绝安装Cookies,则可能无法使用{网站名称}的完整功能。
\n除Cookie之外,我们可能会使用其他技术来自动收集信息,如浏览器网络存储。
\n我们可能会使用浏览器网络存储(包括通过HTML5),也称为本地存储对象,从而达到与Cookie类似的目的。浏览器Web存储可以存储比Cookie更多的数据量。您的网络浏览器可能提供清除浏览器网络存储的功能。
\n我们可能会不时或者出于其他运营、法律或监管原因更新本政策,以反映我们在实际操作和服务方面的变更。本政策顶部的日期表示最近更新的时间。
\n\n
\n\n','ooike政策','',0,0,1,1,1678268694,1678268954); insert into `idcsmart_addon_idcsmart_help`(`id`,`addon_idcsmart_help_type_id`,`title`,`content`,`keywords`,`attachment`,`hidden`,`index_hidden`,`read`,`admin_id`,`create_time`,`update_time`) values (27,1,'法律声明','\n\n\n\n\n
\n
法律声明
\n{网站名称}官网(网址:{网站域名地址},以下简称 “本网站” )由{公司名称}(以下简称 “我们” )创设。
\n{网站名称}所有用户及用户代表的实体(以下均统称为 “您” )访问或使用本网站,说明已阅读、理解本法律声明,并无保留、限制地同意受其约束,且同意遵守所有适用的法律法规的规定。
\n我们有权自行确定在任何时间通过本网站公布更正、修改、更新的法律声明,您对本网站的继续使用构成您对本《法律声明》的同意。
\n本网站所载的所有材料或内容受版权法的保护,所有版权由{网站名称}以及第三方资源合作方所有,但注明引用其他方的内容除外。未经{网站名称}或第三方事先书面许可,任何人不得将本网站上的任何内容以任何方式进行复制、修改、传播、经销、翻印、播放、拆解、反向工程、反编译、以超级链路连接或传送、以镜像法载入其他服务器上、存储于信息检索系统或者其他任何的使用。任何未经授权使用本网站内容的商用行为都将违反《中华人民共和国著作权法》和其他法律法规以及有关国际公约的规定。
\n{网站名称}的Logo、“{网站名称}”“{网站名称}文档”等文字、图形及其组合,以及我们的其他标识、产品和服务名称均为我们在中国或其他国家的商标,未经我们书面授权,任何人不得以任何方式使用{网站名称}名称及{网站名称}的商标、标记。
\n3.1您可在匿名的状态下访问本网站并获取信息。但本网站部分服务需要您注册并登录{网站名称}账号后才能够提供。而由于云服务与网络服务、网络安全等密切关联,因此任何个人和组织在网站注册后,若如从事经营性互联网服务,均需按网站要求主动提供完整、真实的个人或企业/组织信息以备审核。
\n3.2如果您希望使用本网站需注册后才能够提供的服务,需同意以下事项:根据{网站名称}页面提示提供您真实、正确、最新及完整的资料,并及时更新登记资料,确保其为真实、正确、最新及完整的资料。
\n3.3本网站将采取合理的安全手段保护您已存储的个人信息,除非根据法律或政府的强制性规定,在未得到您的许可之前,不会将你的任何个人信息提供给任何无关的第三方(包括公司或个人)。
\n3.4您应知悉:本网站可能会应法律之要求公开个人资料,或者因善意确信这样的做法对于下列各项有其必要性:
\n·符合法律或遵守适用于本网站的法律、法规和规章制度;
\n·保护用户权利或财产;
\n·在紧急的情况下,为了保护本网站及其用户个人或公众安全。
\n本网站可能包含由第三方网站予以维护的链接或参考资料,这些链接仅用于为用户提供方便。我们无法对与{网站名称}相链接的第三方网站内容或可用性予以控制或对其负责,我们不对所链接网站的内容及安全性负责。如果您决定访问任何与本网站相链接的第三方网站,则应完全自行承担相应风险并对使用第三方链接和参考承担全部责任。
\n任何有意向与本网站建立链接的第三方均须事先通过书面形式将其链接意图知会{网站名称}。未经我们事先以书面允许,任何使用者不得通过其网站与本网站进行链接。
\n本网站所发布的信息中可能没有包含与本网站业务有关的最新信息。您同意,在法律允许的最大范围内,我们在任何情况下均不为本网站上任何内容的准确性、及时性、完整性和可靠性以及使用这些内容可能得出的任何结果负责或承担责任。 另外,{网站名称}会在不事先通知您的情况下,根据业务运营判断对本网站内容进行追加、变更、改正、删除、中断/中止等操作。无论任何情况下,{公司名称}拥有对{网站名称}产品及服务的最终解释权。
\n在法律允许的范围内,{网站名称}在此声明,不承担任何用户或任何人士就使用或未能使用本网站所提供的信息或任何链接或项目所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿(包括但不限于收益、预期利润的损失或失去的业务、未实现预期的节省)。 除非{网站名称}另行书面同意,在适用法允许的范围内,我们不对本网站的资料承担任何责任,不论该责任因何原因引起或者基于何种侵权理论。
\n5.1如因系统维护或升级的需要而需暂停网络服务,我们将尽可能事先进行公告。
\n5.2如发生下列任何一种情形,本网站有权随时中断或终止向用户提供网络服务而无需通知用户,并拒绝用户于现在和未来使用本网站所提供的全部或任何部分服务:
\n·用户提供任何错误、不实、过时或不完整或具误导性的资料,或者本网站有理由怀疑前述资料为错误、不实、过时或不完整或具误导性的;
\n·用户违反本协议中规定的使用规则;
\n· 除上述情形外,本网站同时保留在不事先通知用户的情况下随时中断或终止部分或全部网络服务的权利,对于所有服务的中断或终止而造成的任何损失,本公司无需对用户或任何第三方承担任何责任。
\n7.1本网站将有权随时修改本协议的有关条款,一旦本协议的内容发生变动,我们将会通过适当方式向您提示修改内容。
\n7.2如果不同意我们对本协议相关条款所做的修改,您有权停止使用网络服务。如果您继续使用网络服务,则视为您接受本公司对本协议相关条款所做的修改。
\n您同意,与您访问或使用本网站相关的所有事项,应根据中华人民共和国法律解释、理解和管辖。任何有关本网站和网站声明的争议,应由{网站名称}所在地有管辖权的人民法院管辖。
\n\n','法律声明','',0,0,0,1,1678268868,1678268970); /*Table structure for table `idcsmart_addon_idcsmart_help_type` */ @@ -388,6 +453,92 @@ CREATE TABLE `idcsmart_addon_idcsmart_renew_auto` ( /*Data for the table `idcsmart_addon_idcsmart_renew_auto` */ +/*Table structure for table `idcsmart_addon_idcsmart_security_group` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_security_group`; + +CREATE TABLE `idcsmart_addon_idcsmart_security_group` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '安全组ID', + `client_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID', + `type` varchar(20) NOT NULL DEFAULT 'host' COMMENT '类型', + `name` varchar(100) NOT NULL DEFAULT '' COMMENT '安全组名称', + `description` varchar(1000) NOT NULL DEFAULT '' COMMENT '描述', + `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `client_id` (`client_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='安全组表'; + +/*Data for the table `idcsmart_addon_idcsmart_security_group` */ + +/*Table structure for table `idcsmart_addon_idcsmart_security_group_host_link` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_security_group_host_link`; + +CREATE TABLE `idcsmart_addon_idcsmart_security_group_host_link` ( + `addon_idcsmart_security_group_id` int(11) NOT NULL DEFAULT '0' COMMENT '安全组ID', + `host_id` int(11) NOT NULL DEFAULT '0' COMMENT '产品ID', + KEY `host_id` (`host_id`), + KEY `addon_idcsmart_security_group_id` (`addon_idcsmart_security_group_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='安全组产品关联表'; + +/*Data for the table `idcsmart_addon_idcsmart_security_group_host_link` */ + +/*Table structure for table `idcsmart_addon_idcsmart_security_group_link` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_security_group_link`; + +CREATE TABLE `idcsmart_addon_idcsmart_security_group_link` ( + `addon_idcsmart_security_group_id` int(11) NOT NULL DEFAULT '0' COMMENT '安全组ID', + `server_id` int(11) NOT NULL DEFAULT '0' COMMENT '接口ID', + `security_id` int(11) NOT NULL DEFAULT '0' COMMENT '云系统安全组ID', + KEY `server_id` (`server_id`), + KEY `addon_idcsmart_security_group_id` (`addon_idcsmart_security_group_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='安全组外部关联表'; + +/*Data for the table `idcsmart_addon_idcsmart_security_group_link` */ + +/*Table structure for table `idcsmart_addon_idcsmart_security_group_rule` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_security_group_rule`; + +CREATE TABLE `idcsmart_addon_idcsmart_security_group_rule` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '安全组规则ID', + `addon_idcsmart_security_group_id` int(11) NOT NULL DEFAULT '0' COMMENT '安全组ID', + `description` varchar(1000) NOT NULL DEFAULT '' COMMENT '描述', + `direction` enum('in','out') NOT NULL DEFAULT 'in' COMMENT '规则方向', + `protocol` varchar(255) NOT NULL DEFAULT '' COMMENT '协议all,tcp,udp,icmp', + `port` varchar(255) NOT NULL DEFAULT '' COMMENT '端口范围', + `ip` varchar(255) NOT NULL DEFAULT '' COMMENT '授权IP', + `lock` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否锁定', + `start_ip` varchar(50) NOT NULL DEFAULT '' COMMENT '起始IP', + `end_ip` varchar(50) NOT NULL DEFAULT '' COMMENT '结束IP', + `start_port` int(11) NOT NULL DEFAULT '0' COMMENT '起始端口', + `end_port` int(11) NOT NULL DEFAULT '0' COMMENT '结束端口', + `priority` int(11) NOT NULL DEFAULT '0' COMMENT '优先级', + `action` varchar(20) NOT NULL DEFAULT '' COMMENT '授权策略,accept允许,drop拒绝', + `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `addon_idcsmart_security_group_id` (`addon_idcsmart_security_group_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='安全组规则表'; + +/*Data for the table `idcsmart_addon_idcsmart_security_group_rule` */ + +/*Table structure for table `idcsmart_addon_idcsmart_security_group_rule_link` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_security_group_rule_link`; + +CREATE TABLE `idcsmart_addon_idcsmart_security_group_rule_link` ( + `addon_idcsmart_security_group_rule_id` int(11) NOT NULL DEFAULT '0' COMMENT '安全组规则ID', + `server_id` int(11) NOT NULL DEFAULT '0' COMMENT '接口ID', + `security_rule_id` int(11) NOT NULL DEFAULT '0' COMMENT '云系统安全组规则ID', + KEY `server_id` (`server_id`), + KEY `addon_idcsmart_security_group_rule_id` (`addon_idcsmart_security_group_rule_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='安全组规则外部关联表'; + +/*Data for the table `idcsmart_addon_idcsmart_security_group_rule_link` */ + /*Table structure for table `idcsmart_addon_idcsmart_ssh_key` */ DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_ssh_key`; @@ -604,6 +755,52 @@ CREATE TABLE `idcsmart_addon_idcsmart_ticket_type_admin_link` ( insert into `idcsmart_addon_idcsmart_ticket_type_admin_link`(`ticket_type_id`,`admin_id`) values (1,2); +/*Table structure for table `idcsmart_addon_idcsmart_vpc` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_vpc`; + +CREATE TABLE `idcsmart_addon_idcsmart_vpc` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'VPC ID', + `client_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID', + `module_idcsmart_cloud_data_center_id` int(11) NOT NULL DEFAULT '0' COMMENT '云模块数据中心ID', + `name` varchar(100) NOT NULL DEFAULT '' COMMENT '名称', + `ip` varchar(100) NOT NULL DEFAULT '' COMMENT 'IP', + `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `client_id` (`client_id`), + KEY `module_idcsmart_cloud_data_center_id` (`module_idcsmart_cloud_data_center_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='VPC表'; + +/*Data for the table `idcsmart_addon_idcsmart_vpc` */ + +/*Table structure for table `idcsmart_addon_idcsmart_vpc_host_link` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_vpc_host_link`; + +CREATE TABLE `idcsmart_addon_idcsmart_vpc_host_link` ( + `addon_idcsmart_vpc_id` int(11) NOT NULL DEFAULT '0' COMMENT 'VPC ID', + `host_id` int(11) NOT NULL DEFAULT '0' COMMENT '产品ID', + KEY `addon_idcsmart_vpc_id` (`addon_idcsmart_vpc_id`), + KEY `host_id` (`host_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='VPC产品关联表'; + +/*Data for the table `idcsmart_addon_idcsmart_vpc_host_link` */ + +/*Table structure for table `idcsmart_addon_idcsmart_vpc_link` */ + +DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_vpc_link`; + +CREATE TABLE `idcsmart_addon_idcsmart_vpc_link` ( + `addon_idcsmart_vpc_id` int(11) NOT NULL DEFAULT '0' COMMENT 'VPC ID', + `server_id` int(11) NOT NULL DEFAULT '0' COMMENT '接口ID', + `vpc_network_id` int(111) NOT NULL DEFAULT '0' COMMENT '云系统VPC网络ID', + KEY `addon_idcsmart_vpc_id` (`addon_idcsmart_vpc_id`), + KEY `server_id` (`server_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='VPC外部关联表'; + +/*Data for the table `idcsmart_addon_idcsmart_vpc_link` */ + /*Table structure for table `idcsmart_addon_idcsmart_withdraw` */ DROP TABLE IF EXISTS `idcsmart_addon_idcsmart_withdraw`; @@ -727,7 +924,7 @@ CREATE TABLE `idcsmart_addon_promo_code` ( /*Data for the table `idcsmart_addon_promo_code` */ -insert into `idcsmart_addon_promo_code`(`id`,`code`,`type`,`value`,`status`,`client_type`,`start_time`,`end_time`,`max_times`,`used`,`single_user_once`,`upgrade`,`host_upgrade`,`renew`,`loop`,`cycle_limit`,`cycle`,`notes`,`delete_time`,`create_time`,`update_time`) values (1,'lxq2oneHy','percent','98.00',1,'all',1673352123,1676030523,1,0,0,0,0,0,0,0,'','',0,1673352163,0); +insert into `idcsmart_addon_promo_code`(`id`,`code`,`type`,`value`,`status`,`client_type`,`start_time`,`end_time`,`max_times`,`used`,`single_user_once`,`upgrade`,`host_upgrade`,`renew`,`loop`,`cycle_limit`,`cycle`,`notes`,`delete_time`,`create_time`,`update_time`) values (1,'lxq2oneHy','percent','98.00',0,'all',1673352123,1676030523,1,0,0,0,0,0,0,0,'','',0,1673352163,1680242622); /*Table structure for table `idcsmart_addon_promo_code_log` */ @@ -809,7 +1006,7 @@ CREATE TABLE `idcsmart_admin` ( /*Data for the table `idcsmart_admin` */ -insert into `idcsmart_admin`(`id`,`nickname`,`name`,`password`,`email`,`status`,`last_login_time`,`last_login_ip`,`last_action_time`,`create_time`,`update_time`,`phone_code`,`phone`) values (1,'admin123456','admin123456','###45f85ca3037d9da53b5fa79bb3a62fb7','admin@domain.com',1,0,'',0,1673436349,0,86,'18888888888'); +insert into `idcsmart_admin`(`id`,`nickname`,`name`,`password`,`email`,`status`,`last_login_time`,`last_login_ip`,`last_action_time`,`create_time`,`update_time`,`phone_code`,`phone`) values (1,'admin123456','admin123456','###e7d97dcfc10525acf51bcc80091d5a50','admin@domain.com',1,1680230039,'14.104.80.127',1680245191,1678261329,1678261329,86,'18888888888'); insert into `idcsmart_admin`(`id`,`nickname`,`name`,`password`,`email`,`status`,`last_login_time`,`last_login_ip`,`last_action_time`,`create_time`,`update_time`,`phone_code`,`phone`) values (2,'管理员-示例','管理员-示例','###f58c6ddb8d5a566b67424d2db1f4ea87','xxx@yyy.com',1,0,'',0,1673416785,0,86,'18888888888'); /*Table structure for table `idcsmart_admin_login` */ @@ -899,7 +1096,7 @@ CREATE TABLE `idcsmart_auth` ( `module` varchar(100) NOT NULL DEFAULT '' COMMENT '插件模块路径,如:gateway支付接口/sms短信接口/mail邮件接口/addon插件', `plugin` varchar(100) NOT NULL DEFAULT '' COMMENT '插件', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8mb4 COMMENT='权限表'; +) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=utf8mb4 COMMENT='权限表'; /*Data for the table `idcsmart_auth` */ @@ -1020,6 +1217,8 @@ insert into `idcsmart_auth`(`id`,`title`,`url`,`order`,`parent_id`,`module`,`pl insert into `idcsmart_auth`(`id`,`title`,`url`,`order`,`parent_id`,`module`,`plugin`) values (127,'auth_plugin_addon_ticket_reply','',127,125,'addon','IdcsmartTicket'); insert into `idcsmart_auth`(`id`,`title`,`url`,`order`,`parent_id`,`module`,`plugin`) values (128,'auth_plugin_addon_ticket_download','',128,125,'addon','IdcsmartTicket'); insert into `idcsmart_auth`(`id`,`title`,`url`,`order`,`parent_id`,`module`,`plugin`) values (129,'子账户管理','',129,0,'addon','IdcsmartSubAccount'); +insert into `idcsmart_auth`(`id`,`title`,`url`,`order`,`parent_id`,`module`,`plugin`) values (130,'魔方云管理','',130,0,'addon','IdcsmartCloud'); +insert into `idcsmart_auth`(`id`,`title`,`url`,`order`,`parent_id`,`module`,`plugin`) values (131,'公告中心','',131,0,'addon','IdcsmartAnnouncement'); /*Table structure for table `idcsmart_auth_link` */ @@ -1258,6 +1457,8 @@ insert into `idcsmart_auth_link`(`auth_id`,`admin_role_id`) values (126,1); insert into `idcsmart_auth_link`(`auth_id`,`admin_role_id`) values (127,1); insert into `idcsmart_auth_link`(`auth_id`,`admin_role_id`) values (128,1); insert into `idcsmart_auth_link`(`auth_id`,`admin_role_id`) values (129,1); +insert into `idcsmart_auth_link`(`auth_id`,`admin_role_id`) values (130,1); +insert into `idcsmart_auth_link`(`auth_id`,`admin_role_id`) values (131,1); /*Table structure for table `idcsmart_auth_rule` */ @@ -1644,6 +1845,23 @@ CREATE TABLE `idcsmart_client_login` ( `jwt_key` varchar(255) NOT NULL DEFAULT '' COMMENT 'jwt的签发密钥', KEY `client_login_ip` (`client_id`,`last_login_ip`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*Table structure for table `idcsmart_client_record` */ +DROP TABLE IF EXISTS `idcsmart_client_record`; + +CREATE TABLE `idcsmart_client_record` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户信息记录ID', + `client_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID', + `admin_id` int(11) NOT NULL DEFAULT '0' COMMENT '管理员ID', + `content` text NOT NULL COMMENT '内容', + `attachment` text NOT NULL COMMENT '附件', + `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `client_id` (`client_id`), + KEY `admin_id` (`admin_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息记录'; + +/*Data for the table `idcsmart_client_record` */ /*Table structure for table `idcsmart_clientarea_auth` */ @@ -1866,16 +2084,16 @@ insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_ti insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('recharge_open','1',0,0,'启用充值'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('recharge_min','1',0,0,'单笔最小金额'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('task','0',0,0,'任务队列锁'); -insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('system_version','10.2.2',0,0,'系统版本'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('system_version','10.2.5',0,0,'系统版本'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('send_sms','Idcsmart',0,0,'默认短信发送国内接口'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('send_sms_global','Idcsmart',0,0,'默认短信发送国际接口'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('send_email','Smtp',0,0,'默认邮件发送接口'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock','0',0,0,'定时任务锁'); -insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_last_time','1673753641',0,0,'定时任务最后执行时间'); -insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_day_last_time','1673695861',0,0,'每天执行一次定时任务最后执行时间'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_last_time','1680245162',0,0,'定时任务最后执行时间'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_day_last_time','1680242622',0,0,'每天执行一次定时任务最后执行时间'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('task_time','1661490817',0,0,'队列执行时长,然后程序结束'); -insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_five_minute_last_time','1673753641',0,0,'每五分钟执行一次定时任务最后执行时间'); -insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_start_time','1673753641',0,0,'定时任务开始执行时间'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_five_minute_last_time','1680245162',0,0,'每五分钟执行一次定时任务最后执行时间'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_lock_start_time','1680245221',0,0,'定时任务开始执行时间'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_due_suspend_swhitch','1',0,0,'产品到期暂停开关 1开启,0关闭'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_due_suspend_day','2',0,0,'产品到期暂停X天后暂停'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('cron_due_unsuspend_swhitch','1',0,0,'财务原因产品暂停后付款自动解封开关 1开启,0关闭'); @@ -1915,6 +2133,13 @@ insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_ti insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('website_name','智简魔方V10业务管理系统',1678261329,1678261329,'网站名称'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('terms_service_url','http://v10-2.jf.idcsmart.com/agreement.html?id=2',1678261329,1678261329,'服务条款地址'); insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('terms_privacy_url','http://v10-2.jf.idcsmart.com/agreement.html?id=1',1678261329,1678261329,'隐私条款地址'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('icp_info','ICP信息:XXXXXXX',0,0,'ICP信息'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('icp_info_link','https://beian.miit.gov.cn/',0,0,'ICP信息跳转链接'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('public_security_network_preparation','公安网备:XXXXXXX',0,0,'公安网备'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('public_security_network_preparation_link','https://beian.miit.gov.cn/',0,0,'公安网备跳转链接'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('telecom_appreciation','电信增值:XXXXXXX',0,0,'电信增值'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('copyright_info','版权信息:XXXXXXX',0,0,'版权信息'); +insert into `idcsmart_configuration`(`setting`,`value`,`create_time`,`update_time`,`description`) values ('official_website_logo','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI4AAAAfCAYAAAAxx/XuAAAAAXNSR0IArs4c6QAAHIJJREFUeF7lfGmUZFWV9d73vRhyzoiMzJqrsgpQP8VGsW0R6G4UBUc+FbpbQRRpRpV2grZVtHEAZBCRSWRocAAUp0/Br0EQHEEUR9QGhKqsImvIyiEycorpvbt7nReRWWmRVVlIufpHv7Vq1ap4073v7nvOPufsUwSAPwKZDrR3xUhlCdF+29uHQAWoVyYxVdoPqO7h811/d3cn0/WMXV8ru4iTkzMhoIXuH2j8Hjf/pPuBJ81l3jXRTs+Ye5fUynK57IOpqak04Hd+V/MZfmVnZ0cqG6fsfLXsYjc5Ob3Q2HbxTpfP59s7vXcLzcVLVAb5gOH+AZQFAkC+Vnd6JJ6uD6WCwOa54DHhnB8bG5vCAmPfxS3hio6OrnSLD+28aqnqwPj4xO7u5zDQUUHnoQ7BWwQeSCi9h4v6lC4TWCP0S4/48xlM/LgPsInt9lje0VHItmTeAXB/ABT9ZsHfD7jyQjfK+3pdweMVP7K1K8y/SGTrzte52McR/NbqSOnhIWB69vzKzs58Opt+J8DngrIPOAXhDk89eZxe1chpc0o8ngjWgXCCRoj4+x5u7pmzz54d15aRkfUA6vb7ulyuC+nwBEjdIiM2AP8nB+E7BL6MQEGgA1WD8CiEB0HuevPJl1D3N68vFksADJiphTaRvSwC6JZ0LQsQ/jPlnpEMwOkPcbl+Y1wqbdt5I8xuAm5C9/8NwI8B3BdQC8C/iMUBJIAzgv+9gz48jdIPFrE84dqengMZ8hoQq5MJCRGIKmTbz8Zpz7SF4KxVsF3yH1E9vitMuRsBrmpeUzPcJc+gnMTNgM6fGhq5d7gBYLeyL7d/hsGXRfZDyXOnCUwCyCaL1nhXDUQF0qiHvuoQ/AuIpc3rJ9l4VsuTr0dJXl+YFL8wMjJiz0R/d3e/y4TfIrAM0OMC10tMQMUGcAM1Fj1jE20gihJUh1ixrzF7XRNtZqSS+wGNVMvVT26ZnBzr7W3ra0PmeXBMrPaCR+xbXOAOAvgmkB2QxiXcJsb37rxJbRP4CJs4iO7bCR4GsG33+39vnE0+/hSgr80gev9+mBre1VP7gSz78n8LBG8m1dnADQJCfaA7gMmC2iL63wjc3tyx0x7+Nl/HQ2E6+A6BfgkzAn5MaMZ2Hoh9KKwU8F8APuaHRu6uAS7bV3g9yEtI9EGaFHCbgCkSr4Cwgg2z/0eA90gaAZkFdQrBfON6fVvgtANeLWBZczyPAfihwI0+rt83MDL+AGzMQNjf0/OCIMWvSeiAcL2PdSuDuBL7MCSw1AV+mc3Zx26rgG2Bi6I4cvXYuYhxnHVBkJp3HcGgFNX9hsC5uo/j2qaxMXs3+3vzL3EuuABA325X0Byj0EkykOQJ+2406/mntIAqEe5WbkZ+BlDGLNbegMbiz5AtwKMAjlyB4qbdXB/2d3evjMOwEAQKkv3mXdpRB8Hx/QB6AIzC6wIv/lTO16IISrFWqpNxOsjclQAHeqIe4Q0BOeikTjqcLOLkZOGBn9Xq/k1hHE+7dPguOJwIoIPC1jjGO6pRtCGbDV5L8AwABQAjgi6Pa7o3TLsTCfyjgDaImz38SapE24NM6i0gTwDVBWEc4K1xpfa5jaXSVqNCzYXIrCvkXo4guMYsFIAb7FoRq2j/JtYAyR87NkLYKKBM6HHvsdWRLwLROXsdZa6So4B+L7E2z+JM7gQcEmoTYC6cibsTdstlnrQ+s8AZRK64+GL/2VcQYIYNYM5zgRogdNhyjG/c1ZON32RasueQOhREYmYppJOFAgrNnWG8YCSxYmxwB0ibY+kjgQtuagAHA2L9sA1bxzf2d3d3u2z4LgjvBtBFYIOvRi8tOVfsDt2xJJ+tZBE0UCtXb9g8OVlc0t5eaG3LHuWIZyauQ3gijnSnC3mIE54pIvDUNlbir9S9n3RhuDRM8SiAfSCEmNsr3n9ry+ioWYCEkJs1xZKeIx3c1Uh2Oq+Gjx8D3UoCKz25P4nnN6aDXznodxI2A3jMw4848Xl03EfAASQPgJKNNSDoR4TbIvktqPub1heLk/NdlQMNNEcReA1Ioy8/97GugzOA79kx56o2o/vf9+yWP+cqmjsx33mQuZYdT1gcOMkiZ4LTJHcgKeMNBVLPhNCV7JaGCTU0xiC2SXhUDU4yFEW6LpVyt+4OOCS7Z0E1MxmVW1uy59JhnYiapB/4SvS5TaVScXVXVy7Mpk8D1OtAespTmoGYEZFEVCRiNYi2WVNHoE1C4ED7oeIj/9Mpjt4zMpKMLwEOe/OvoQsut+u99++vRv6elpCH07mzBNZBGFGVWRFIWQ9cC1+5tRSly7kgOFQhLnKNb2EuyDjAVhAzHrqxWom/vHV8/InZ8cyS47hQyIeB/s2BJySgJL8Yl2sXk9wj41HiuIrFxGpG3IDu/j8HEjvf41HxHmE5RNgkaMmsuzLgaQJOJ2iTbB6LA8c+6OquLrsnx7R7ZkB3IshXEMgILCb8A1pq5BHEZkhXex//58xMfWu2PWwLmf6eAQfQYN3HbwwCDdKzEwjMHZ1IsnMWOPVpP5nKpj9A4I0iWwg8XFP09sHtxd+v7OlZmk7xywBXPuXvJBmwMgQfi+rxezeOjT1oZL5QKHS0B/jngDxbQj2Wf3sU6eeZkP8GukNJ/FrCIQkehLvptE5iOWLlQ4r8eBi0vIPAayH3qFkmQcZLHmYzOouh8waGRn85G8HNjnttX9sSovVKOLwKkhdwO4Fve+hJkeCCc5UqUSX6+eDERJF7z+KoDPiftGDydzlgwiKBDejuTgPvEvhugt1PETjM5dDZle45jOJpJJ6X8AHij97jWjlsDoVTBL4YSZ7DwINby/X4+ozkXDa8A+AaSOYetoGJmzBXY0S7E0wipY2oxkesLxa39Pd2708XngmyB95Piv4bZRRvS5U7M5nW1EmSy+0JcAgfiYwpBUoiVbyaNN7hLyzWdPXY2NhEEoqnAuNU74ZQ8YhOh68/QJd+oZMLIs9SEFi0ZakbDsbOpwNhublR53xV4r4CR4zzEK5XkKP3YxFRCun6anX/2GCxaOR/bhPbs1YVCstTAb5E4hAJRsIXJsC7mCiporwun9ToF7m3OE4z6tgG4MoWFG/KA6WnCZx0/5L8gU58s0gjjSGk7YJumZmp/bqWSlVzwGqkgjeDeHYzX1EU9EBc1z1BGPwr3K4jCXpJxGB5uvKhbVNTo8vzLSsyYethDmz1ULnmaz/dPDI5sKrQWgiZPdSBRmJ3e8ix7iM9XqlW17e0ypHpw4HwkiT4IC71legzA+Pj4/O5FoHp2PuTSHjCHUQy46WYZNk8HT1jSSGc3w9wL7VNkiy4cBfEAQQwq+QgWdjuRIaSRlWLrrd3zR/wmq6utUE29V0A+zRd/Z4mCY0SNHNi/EU18sdYVLVgFnaxj7TweRlZfQSITtmKyZ/1oLvt6ViclZ2duXQ2/UoC7fY+L29WY0JMOIBtabMgXTGZtsROjMRm1zw0BYdu2727moeHZip1/4OtxaKRznCn6GO79/H7J2Lc1xng4B3h7JPyRglTAJBOmA5Vkse1pchf2zk2VpsjwGYR5wHHeFMqmz5T0DtAFqNIx4SBXg7ytAaH4zikG0FYAs9YVBawIIEvoZIE7aMSvgo2SC3BdsC/GnT7JiADNlXq/jVbxsaM58wecykAc7uS7F57x6LEmB7tcngNlQDuCQso9jJwEuM6BvgLZlC6OkS3exrAwYp8fmUm5b4xl8gjYog7lwr+TIxrsBbrjYOjo5vnRzkklkrY5uFPQzX+ATLB31v0k/z+5LwRBLYSMF7SmixGEyAYH6/sCjjGNcDWy0i81si8fP11dOHrLNoz0g5pS+Tjkxy1JQGG2AEGx5E4DmRa0n0RdG6g2CJKxAwKIfghkgcbp5ofSc77ONk1fT2vDMirACwB8DgRvz6uanCxD+jCsA8BLgF5uLl9i1L3OnAEjRO6tAZ8xgb0dICzdln3Gir1/YTkSnURj0N4fGffvdjEFzovYHt5unL2tqmp4T0FTpLHkc5VpPvkXC3ZJsCy0Ok6kMv3FDj9vb1LndNnLZdFYItXdPR84AioEvoD1CgrGPkFsYxKwGvBmlmJDWxmisWEhK+F0E3SLQScPyHkSe5Jd3tfPnlgeNroxW6PufGSr5gHnNyGxW7cxXkz0R0EugTOuYS/FHAklShca67AkxOR9wG8z6eca1H45GLmonPycXVgePwPVkbYU+DsLYtjC0GnzxF4KcHf1RmfFMIds8PiYMRLn3SWoW44Q+MXR4DuCEIpEQ9R+jx805U5dIl8K4XngkwtBBzjVcwEZxK02l9K8l8rz1TPso2z2LdaEDhb0D2boWx404QrxGn7e+cHWlIhQNDcacoDwVsFWE4gKQk0d4dZnMtqwKf3psWZv5uN9C1tb+9tact+gsTfW5Jxsck/+bwGa/Wn6KqUcLhRAOW52pcUmhuzhNqeWpzZ6AbAXwP4fiXGWdlQrwN4ejNPVQJ4M4BJwbcRbIXwQjj+NWG1NvyB0O1qFlQJb4m9I0m3dlccpxmKXwGHV0OyjPFlvhZ9emcCvdB3XBA48y88B3Cnor1HcAcKbl7CLindKkA8VsPkgxGgdnQe7hGcB+A5gGUh56AzTuCqFugis6d7y1U9PeDI1CItgHos49x0MTsyyvMyubvnOCp66Wp6/UrOQuyEmPYRNAD37Slw1uVyq5EO7gZguaE7Z6rRe7Ih1rgwsGRpFt6oE+tWABV1JIBeiFkyiZ7MGt1N4mGAVdKlBL+EQpuIaYiWwBzZOaqaH4oDnIi9zp7WyE3Dw4urFOYsJHnEnKuaBxxuRXshRnga4I4n0DF7jo3yb0nQzYK/0upEDsGnACNL8yvqVofiY0R8xjKUvj+A7ta9CRxCV3hVrtD26VIZCIJ8Pp919RYlBeTdHC7OEJZYc+eA6E2KeMQjM9X4FVuLxU176qogDEv+HMH/GD5I+IcPtCIEvwByxc7AcX09rwLdlUmeaV5UNcvdjKQmVWg/866B4enxXC6XaYvjABnkU0wdRMdTAL4QFkkRJXoMyOl+Sb9UHb+PndvkyAOCQJdASEn4LIFtceQ3bBwb+0WzNpZ8mJ1C8W1AfMr6oeJd86/ZFSVZ2du5T8alrxN5EKRNqMUm9WgcvwHaetD1agd3noxo/UnRU1WAP6mjclYADTlkreh3EoD8jhpUIpsYBvxVRHzlckyOPM08DuaTYynJbt4GxLctpHnZHW7olZbj891cuIsReNxcq9Y+PjgxMbanwFHiqjgKWrKzIdMgFEJPdlWR9y6dTZ9Axw9KiCRdXIr8NZYAXNnbua8VYSHlCF5Zr9QutvLGvkCm0tu5Ks30cWhEUKsarommQ7oN4hMkTmlYTH4+rsffDFLBGxx0uoCi97o4CHiChx6anqx8Yvv09FDzu8yvxq8AOFDz1SMHhyesfrbbdIzplMLW1ElOfG+T094V+/JpCXDuBcJ1aD0ghczFHjiY4DwxV5KaXk9E7yNwnxC+DIC5qDU7wDWrtdHtMfwHb0Bp4BzAP13gLM/nV2VT7nZYoi8p+8CkEU8u9e8JwTGzlJQZNCPpm74SXbqxVLIiq7cFiwu5IxiElzX0NdimOPqXki/+wARhpDsXZO+ir5EmAP5HZaZyU9iaPiAF9wkA+wm6H4g/uH6oaGTcre3tfrFz4Q1WpRZ4har1K6fHx6OOJT0HgTgV4osamzLJ/D7COL7UR7pf6cDAf6kVaCX+lPS/ErgOwnJa1Vp8WMSzBMzUFZ9rJZOmGjKztlA4ggEvs5obiD9Ua/4Nm8fGFgvF0+uW9PwdwE8lJTbi0TiOP5IaLt5j24YbkF2dQfYjAI9uEN3ZSvYOK1JD/XMBglUhgss9cCDBpMDX3HUmpvoN4c8cxfj9+5vgyeLFp1dy2KGSo+aVKxZdvl1f4CEPDdci3b5lbMwSf7MCsNTanp7nM3Cnw94ljiv2n90wOvrrlSaoyud70hm/y2Ti7AurVeez0oQpqpgKjqPjISauIv0Xa0OjPxlMSDVS63p6nocQpwNMm36oNDR2R9uS3OqUguNNtJZsXFkmWQN1X7+lqVasr+3peV5jjJYklJUeak0xl0li7LVR8m9hIvL16zaNlH5r4Essam/+MNIdSzBLxA/Vq/EVZuV29zXz+XxnV8Dj6XiogMgr+sZkNP69sTFMcBAdPYR7G+DeA2DpQlZEiM+OUYtTyJ4N8B+QZHLnwGUffxDQR2cw/rX9kOg7kuPpAsd25+50uU8VQo7UZFiMh4cXtFqZpe3tndmWlqBSLsfbpqZsHnuqjd55KHP65fIM/QLPSt5lm9ZPTc0MNyxpavb9yWbkjOqVoD44MWHjmE16zo1xd3NfYPxcDrTE7e3tra3inmiKm8+fm8fMDJWampocbAjRxC3oOlpwH14gOrLB/tZD76uj/l8ZhMcvDC4UAd0co3b+Ksxs3SFz3CvAearYWOx6i/52l3le7Pxiz/9fc56bkfs1wGc0Ksw7rIjpOwic71G8JUT7Uo/wPIHPSYqNcwfrgv9tDfWPb8T071+y06LsDYuzLpfrqJIdca1W3TY1Ndb02aZxyM65kDIQhWE9FcfTJl7aSZ0f9Hd3W4TYrbRbrmpsmdLiplLJ6kCJfsbeEXnfw0ywFNXYpJrj887/rwHDU5moAccIWFP8bbfOCbX/X4z4Y0OY2NwFhJ3oKkTwc7wmuRKQQ70aojI63QRNCxCMA64NiOpo68wi9U6B1j3wVGUVSHxs6E4h8Q8Cf1adqXx0y+SkZVOz6wq5wxEE54AsUIpFbJZ0Z7WuL87jL+GqJblnpRS8Ac70K1ajYQnwNxVr/rPFYnFiaXt7oa2t5VQB/wTIALadwlfH6vE1xUaXwP/kEfT3tvXW40zIsbHRWTfxPzmg2XcvUKtKNMHbBFwl+Icd9ryoSCDwUJ/ATAA/bNpymUwRtGLePDH8Hgm5kGSH2zOfcuLhHrpB1fhiy3TmcrmufDo8Q9R7qESFNykm2t0pSF+KKtFFZjFW9XWtTbnwQsiZKMoIpHU7mDbm2mLNX1UsFqv9iYSTF1voC2ibEWNL8k1r5EvN5JhFnpl8Pp9OpVJxW60WGqMsFovTK4GUOjparcdpgT6kYF0u1z5Tr6dr6XS1W+I4qbGxMSPIszqZhMPZYlg1vbwEwdBQQ2FnNGdNV1d/kE1Zza9PiM/d0Mi7GMdY7Mis7Oxsq3sfNjnU/Eg0tbqrq936wSozjFOTk9MDO7TQc3N1zqkzjt3sXM0yr+jo6Aic8/ZtFwKO6QRs4ONKlAp7fjT0nElZ3zQGUSNBIANM6055oUU1x3ZnM9v5BQDP9sCFUzGut/aSZr/Vx0G8ntJ35f1XEATHJqo4YlO55l9p0Y3S4TsJnYGGHPRqMf4JFfyV4vi31nHQ392dna3fkIwh/+ko9r8uu9qD27dPWw3HW0QS9HQd7IPU8xsyBy51FCPvv+es+yHgS+i1dXqmdvW8uk+4emn7MwK1WMXbaMBDjmyRNFOv1r/1RKk0YC53rrcKvoXCIxGVQyW+d2OptKkXaGnrKxzniI82Be3X18q1T1jeaTcrwnW5XKdSfBHJV0nMk7hjemjkW0PATD6f72gP9Fcp517pwX0ADQm4p1Qb/X6xmAQ1mTWFJFXwAlBVijk6KJa+64H2kHg9hMk4Ll9mrsoQnvrL9VPtPM0kxH8M0MsW6XLAqq6ufVLZ9B0GPg+dPjA0eqftuP7etqV0LdcQeKEl0KqRvyHj8HI5XmC9TaYXSThPiFsA7C/p5mpdF24ZG9tWKBSyIyMjtuOr/d3dXUE6NGCdKrIAr2ERP4liXPzEyMhvzDKs6OjoyWQzZ8PhaLOoAkNavpgctYyutceI2Ko4PnnDcPGnZi32yedX+pQ734qYjXJMUuOy3NhgHFXeuHF06hHbUav6utalmP4miWVJyw2wpRpXT988MvnY0vb2ntbWzIUkjxHpCP28FuHYJ0ZGEqnFQscSoK21r+dokv9KcKkoA/+tUbl+abVUqjXOubOSUkajimSy1icURx9YP1K8e3VXV0uYDc8CeFwDE6afVihyxMRitEw3uN3Dn2nAeRDgc4w37LlteVpXVgDdnULt5D7stqSf6i8UDgkCfMlyCDXFRw1uL/4usQLWzJYN74TQIe/fVa9Gv8q0ZN4GGAC03pJbJh9FJrhLYg+9v2i6XL0hzk6VM9WO9ObJSSuj2WKm+nu7n+Nc+FYQJhhbK3EM0kXjkb/OsrzzQPq3JluFEgCYkNx26EMAXkxgPI5x3MDIyH0rgTBc0nuUoy5KZA7AvWq0ujwD4KPlWnSUlTlsd68r5F7GILhGiboRVwP+t5Mau9NcpLnj7nR4BqF3Nt97gfWADexwVdadGcxzM1hVaF2eClrNQh9kPWBGN6JafP8TxeIjqwqtvc1zBwPchiQpiVfZ96R0QTHS1Z1BtdW5FpN7HGYdFQYuAs9t9MLhPgKHm9Yb0jtNOnoagDPZmNw8kvy0wLHAzQnptpT9BsF/3GH868sb+YsFj9lOAOfcZwQOz/vgSddl2gW3wbLBwkc82UfKdkkbxWtUiy6vB0GbWRwKBwJ4UPRfkDUdeq4uz1QuMreyHGjNFgovFf0SumBfa7CDUPPef7A8PHartQgnNZ6W1B0U2kF9CHIvAPR6D3zHCz8MiQsBlmuV2pFPlEqP75vPdyptAn2+n6D3Xp+l9YKBL5Q15/nyqaaBsXdn+nqOoeO51tZb8zwNw8ODswQ4kUGkw/c6h7d54f/Ll/99VjuTWJbe3IF06Bqv84cGcPuISfE0E9xlDYSQ/hNx/cL1oxOWrZ5Zl8ut2nEOP0RSJMU/mgpC8B+eHhr7SlL7SwW3ATKh14WE1glm8fBDH8efD1xwtQHN++h1XI+2JVmkjhPcmwAtwzxtzVOFzgIcZ14dRDFhjWu60SH66jJMjs7P+ez8LouougOeDudOA/FL+Zm3b9ie1F4y6wqFlyHgFYQKAsasdxuJqMl/GzV/yfpicdBCbKWddQOcSjBnaXhzcxJ+NDNTed/Q1NT2eVzJyihtTNR1/hcRotM3DZVMp+RW9fQcmAp5M4FaHOnEIORJAg7z1HVONGnmx6zLolbXsaYmXAm0pHp7X0uHT5JakRRGrRMjkdXoK5WZ2jmbJydHjd8oHb7DQScm0WC59hH7ffY7JH1lrZnzHfhSD3/9eM1f2YzyglW53P9JpYNPmyg+rsXv2zQ2ZiCI1xRalwVBi7U+H9Ik4A9Gdf9uO7+m0Npn5wi+uNkL3Uxu+l9G1Hs3bRt7eHVX15owm/qOjSGWPzEkjxX4SkK3eK+H6Nx5IIrlanx0UnIYALpCtK0Csvs5JGqyP+tI/CH8MoFZB22L4KaDZl+3t14hVP5YwfTGfQHrs95tcc2A05niCQ48AsLPomr9ckuR28IEfflXORecbH1FSnIx1suNe2p1//V5obhbns+vyITuDEe8AeRKQRsU66pJ8UYj2UuWoK0N+X8i+G6ArQIeoI+/FA8X7226hNTqvtzfBAzOgjAEj0sYWE+SngXgeguGBLzREY9WpqvnNxeeK3t6lqdTPJviMZI2GqmWBQvS16c8brF3N/rGUtavdbAXbp/9ffbDJ/8JQkvmrMa7dOX6odEfzWayrYbXknJXAPxdeaby6WaKIunXCvp6XgHi46Lbh9AD5Zp/i2mP5wq55AcAWsfIBKS7fIxrMDLywAAQ9y/Jv4BwHyQ0EUc4Nwjd8YKeDe9vEjHhmGzi9dXp6nn/DeWiVx7u5pCwAAAAAElFTkSuQmCC',0,0,'官网LOGO'); /*Table structure for table `idcsmart_consult` */ @@ -1931,10 +2156,12 @@ CREATE TABLE `idcsmart_consult` ( `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`id`), KEY `client_id` (`client_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='方案咨询'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='方案咨询'; /*Data for the table `idcsmart_consult` */ +insert into `idcsmart_consult`(`id`,`client_id`,`matter`,`contact`,`company`,`phone`,`email`,`create_time`) values (1,1,'示例-电商方案','示例用户','XXX','18888888888','test@test.com',1680241063); + /*Table structure for table `idcsmart_country` */ DROP TABLE IF EXISTS `idcsmart_country`; @@ -2429,52 +2656,10 @@ CREATE TABLE `idcsmart_menu` ( KEY `nav_id` (`nav_id`), KEY `parent_id` (`parent_id`), KEY `menu_type` (`menu_type`) -) ENGINE=InnoDB AUTO_INCREMENT=2354 DEFAULT CHARSET=utf8mb4 COMMENT='导航菜单表'; +) ENGINE=InnoDB AUTO_INCREMENT=2398 DEFAULT CHARSET=utf8mb4 COMMENT='导航菜单表'; /*Data for the table `idcsmart_menu` */ -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2287,'admin','system','用户管理','[]','','user',1,0,'','',0,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2288,'admin','system','用户列表','[]','client.html','',2,2287,'','',1,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2289,'admin','plugin','用户工单','[]','plugin/idcsmart_ticket/index.html','',52,2287,'','',2,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2290,'admin','plugin','实名认证','[]','','',47,2287,'','',3,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2291,'admin','plugin','退款管理','[]','plugin/idcsmart_refund/index.html','',39,2287,'','',4,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2292,'admin','system','业务管理','[]','','view-module',3,0,'','',5,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2293,'admin','system','订单管理','[]','order.html','',4,2292,'','',6,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2294,'admin','system','产品管理','[]','host.html','',5,2292,'','',7,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2295,'admin','system','交易流水','[]','transaction.html','',6,2292,'','',8,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2296,'admin','plugin','提现管理','[]','','',48,2292,'','',9,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2297,'admin','plugin','文件下载','[]','plugin/idcsmart_file_download/index.html','',40,2292,'','',10,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2298,'admin','system','商品管理','[]','','cart',7,0,'','',11,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2299,'admin','system','商品管理','[]','product.html','',8,2298,'','',12,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2300,'admin','system','接口管理','[]','server.html','',9,2298,'','',13,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2301,'admin','system','接口分组','[]','server_group.html','',10,2298,'','',14,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2302,'admin','plugin','优惠码','[]','plugin/promo_code/index.html','',43,2298,'','',15,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2303,'admin','system','系统设置','[]','','setting',11,0,'','',16,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2304,'admin','system','系统设置','[]','configuration_system.html','',12,2303,'','',17,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2305,'admin','system','管理员设置','[]','admin.html','',13,2303,'','',18,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2306,'admin','system','验证码设置','[]','configuration_security.html','',14,2303,'','',19,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2307,'admin','system','货币设置','[]','configuration_currency.html','',15,2303,'','',20,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2308,'admin','system','导航管理','[]','navigation.html','',29,2303,'','',21,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2309,'admin','system','模板管理','[]','template.html','',37,2303,'','',22,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2310,'admin','system','系统接口','[]','','folder-open',17,0,'','',23,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2311,'admin','system','短信通知','[]','notice_sms.html','',18,2310,'','',24,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2312,'admin','system','邮件通知','[]','notice_email.html','',19,2310,'','',25,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2313,'admin','system','发送设置','[]','notice_send.html','',20,2310,'','',26,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2314,'admin','system','支付接口','[]','gateway.html','',16,2310,'','',27,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2315,'admin','system','上下游管理','[]','menu7','fork',32,0,'','',28,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2316,'admin','system','上游订单管理','[]','upstream_order.html','',34,2315,'','',29,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2317,'admin','system','供应商管理','[]','supplier_list.html','',33,2315,'','',30,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2318,'admin','system','上游产品管理','[]','upstream_product.html','',35,2315,'','',31,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2319,'admin','system','上游商品管理','[]','upstream_goods.html','',36,2315,'','',32,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2320,'admin','system','管理','[]','','precise-monitor',21,0,'','',33,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2321,'admin','system','任务','[]','task.html','',22,2320,'','',34,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2322,'admin','system','日志','[]','log_system.html','',23,2320,'','',35,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2323,'admin','system','自动化','[]','cron.html','',24,2320,'','',36,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2324,'admin','custom','站务管理','[]','#','folder-add',0,0,'','',37,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2325,'admin','plugin','新闻中心','[]','plugin/idcsmart_news/index.html','',44,2324,'','',38,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2326,'admin','plugin','帮助中心','[]','','',49,2324,'','',39,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2327,'admin','system','插件','[]','','control-platform',25,0,'','',40,1678262392); -insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2328,'admin','system','插件列表','[]','plugin.html','',26,2327,'','',41,1678262392); insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2341,'home','system','订购产品','[]','','icon-a-7',30,0,'','[]',0,1678264175); insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2342,'home','module','云服务器','[]','','icon-a-6',0,0,'common_cloud','[]',1,1678264175); insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2343,'home','module','独立服务器','[]','','icon-a-6',0,0,'idcsmart_dcim','[]',2,1678264175); @@ -2488,6 +2673,49 @@ insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`ic insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2351,'home','plugin','资源中心','[]','plugin/21/source.html','icon-a-17',46,0,'','[]',10,1678264175); insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2352,'home','plugin','工单中心','[]','plugin/27/ticket.html','icon-a-18',53,0,'','[]',11,1678264175); insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2353,'home','plugin','子账户管理','[]','plugin/28/childAccount.html','icon-shimingjiekou',54,0,'','',12,1678264175); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2355,'admin','system','用户管理','[]','','user',1,0,'','',0,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2356,'admin','system','用户列表','[]','client.html','',2,2355,'','',1,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2357,'admin','plugin','用户工单','[]','plugin/idcsmart_ticket/index.html','',52,2355,'','',2,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2358,'admin','plugin','实名认证','[]','','',47,2355,'','',3,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2359,'admin','plugin','退款管理','[]','plugin/idcsmart_refund/index.html','',39,2355,'','',4,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2360,'admin','system','业务管理','[]','','view-module',3,0,'','',5,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2361,'admin','system','订单管理','[]','order.html','',4,2360,'','',6,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2362,'admin','system','产品管理','[]','host.html','',5,2360,'','',7,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2363,'admin','system','交易流水','[]','transaction.html','',6,2360,'','',8,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2364,'admin','plugin','提现管理','[]','','',48,2360,'','',9,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2365,'admin','plugin','文件下载','[]','plugin/idcsmart_file_download/index.html','',40,2360,'','',10,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2366,'admin','system','商品管理','[]','','cart',7,0,'','',11,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2367,'admin','system','商品管理','[]','product.html','',8,2366,'','',12,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2368,'admin','system','接口管理','[]','server.html','',9,2366,'','',13,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2369,'admin','system','接口分组','[]','server_group.html','',10,2366,'','',14,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2370,'admin','plugin','优惠码','[]','plugin/promo_code/index.html','',43,2366,'','',15,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2371,'admin','system','系统设置','[]','','setting',11,0,'','',16,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2372,'admin','system','系统设置','[]','configuration_system.html','',12,2371,'','',17,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2373,'admin','system','管理员设置','[]','admin.html','',13,2371,'','',18,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2374,'admin','system','验证码设置','[]','configuration_security.html','',14,2371,'','',19,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2375,'admin','system','货币设置','[]','configuration_currency.html','',15,2371,'','',20,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2376,'admin','system','导航管理','[]','navigation.html','',29,2371,'','',21,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2377,'admin','system','主题云管理','[]','template.html','',37,2371,'','',22,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2378,'admin','system','系统接口','[]','','folder-open',17,0,'','',23,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2379,'admin','system','短信通知','[]','notice_sms.html','',18,2378,'','',24,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2380,'admin','system','邮件通知','[]','notice_email.html','',19,2378,'','',25,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2381,'admin','system','发送设置','[]','notice_send.html','',20,2378,'','',26,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2382,'admin','system','支付接口','[]','gateway.html','',16,2378,'','',27,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2383,'admin','system','上下游管理','[]','menu7','fork',32,0,'','',28,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2384,'admin','system','供应商管理','[]','supplier_list.html','',33,2383,'','',29,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2385,'admin','system','上游订单管理','[]','upstream_order.html','',34,2383,'','',30,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2386,'admin','system','上游产品管理','[]','upstream_product.html','',35,2383,'','',31,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2387,'admin','system','上游商品管理','[]','upstream_goods.html','',36,2383,'','',32,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2388,'admin','system','管理','[]','','precise-monitor',21,0,'','',33,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2389,'admin','system','任务','[]','task.html','',22,2388,'','',34,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2390,'admin','system','日志','[]','log_system.html','',23,2388,'','',35,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2391,'admin','system','自动化','[]','cron.html','',24,2388,'','',36,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2392,'admin','custom','站务管理','[]','#','folder-add',0,0,'','',37,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2393,'admin','plugin','新闻中心','[]','plugin/idcsmart_news/index.html','',44,2392,'','',38,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2394,'admin','plugin','帮助中心','[]','','',49,2392,'','',39,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2395,'admin','plugin','公告中心','[]','','',55,2392,'','',40,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2396,'admin','system','插件','[]','','control-platform',25,0,'','',41,1680240035); +insert into `idcsmart_menu`(`id`,`type`,`menu_type`,`name`,`language`,`url`,`icon`,`nav_id`,`parent_id`,`module`,`product_id`,`order`,`create_time`) values (2397,'admin','system','插件列表','[]','plugin.html','',26,2396,'','',42,1680240035); /*Table structure for table `idcsmart_module_common_cloud_backup_config` */ @@ -3210,7 +3438,7 @@ CREATE TABLE `idcsmart_module_mf_cloud_disk_limit` ( PRIMARY KEY (`id`), KEY `product_id` (`product_id`), KEY `range` (`min_value`,`max_value`) -) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COMMENT='性能限制表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='性能限制表'; /*Data for the table `idcsmart_module_mf_cloud_disk_limit` */ @@ -3277,7 +3505,7 @@ CREATE TABLE `idcsmart_module_mf_cloud_host_link` ( /*Data for the table `idcsmart_module_mf_cloud_host_link` */ -insert into `idcsmart_module_mf_cloud_host_link`(`id`,`host_id`,`rel_id`,`data_center_id`,`image_id`,`backup_num`,`snap_num`,`power_status`,`ip`,`vpc_network_id`,`config_data`,`ssh_key_id`,`password`,`create_time`,`update_time`) values (2,15,7707,1,309,0,0,'on','10.15.11.91',0,'{\"duration\":{\"id\":37,\"product_id\":4,\"name\":\"\\u6708\",\"num\":1,\"unit\":\"month\",\"create_time\":1678245930},\"data_center\":{\"id\":1,\"product_id\":4,\"country_id\":44,\"city\":\"\\u5317\\u4eac\",\"area\":\"\\u5317\\u4eac\",\"cloud_config\":\"node\",\"cloud_config_id\":101,\"order\":0,\"create_time\":1678246231},\"cpu\":{\"value\":1,\"price\":\"18.00\",\"other_config\":{\"advanced_cpu\":\"\",\"cpu_limit\":\"\",\"ipv6_num\":\"\"}},\"memory\":{\"value\":1,\"price\":\"18.00\"},\"image\":{\"id\":309,\"product_id\":4,\"image_group_id\":9,\"name\":\"CentOS-6.8.1607-x64\",\"charge\":0,\"price\":\"0.00\",\"enable\":1,\"rel_image_id\":281},\"system_disk\":{\"value\":30,\"price\":\"30.00\",\"other_config\":{\"disk_type\":\"\"}},\"data_disk\":[{\"value\":30,\"price\":\"30.00\",\"other_config\":{\"disk_type\":\"\"}}],\"line\":{\"id\":1,\"data_center_id\":1,\"name\":\"\\u793a\\u4f8b\\u7ebf\\u8def\",\"bill_type\":\"bw\",\"bw_ip_group\":\"\",\"defence_enable\":1,\"defence_ip_group\":\"\",\"ip_enable\":1,\"create_time\":1678246279},\"bw\":{\"value\":100,\"price\":\"10.00\",\"other_config\":{\"in_bw\":\"\",\"advanced_bw\":\"\"}},\"defence\":{\"value\":1,\"price\":\"16.00\"},\"network_type\":\"normal\"}',0,'W/RlGjLttak6wnGdMhevWA==',1678263157,0); +insert into `idcsmart_module_mf_cloud_host_link`(`id`,`host_id`,`rel_id`,`data_center_id`,`image_id`,`backup_num`,`snap_num`,`power_status`,`ip`,`vpc_network_id`,`config_data`,`ssh_key_id`,`password`,`create_time`,`update_time`) values (2,15,7707,1,309,0,0,'fault','10.15.11.91',0,'{\"duration\":{\"id\":37,\"product_id\":4,\"name\":\"\\u6708\",\"num\":1,\"unit\":\"month\",\"create_time\":1678245930},\"data_center\":{\"id\":1,\"product_id\":4,\"country_id\":44,\"city\":\"\\u5317\\u4eac\",\"area\":\"\\u5317\\u4eac\",\"cloud_config\":\"node\",\"cloud_config_id\":101,\"order\":0,\"create_time\":1678246231},\"cpu\":{\"value\":1,\"price\":\"18.00\",\"other_config\":{\"advanced_cpu\":\"\",\"cpu_limit\":\"\",\"ipv6_num\":\"\"}},\"memory\":{\"value\":1,\"price\":\"18.00\"},\"image\":{\"id\":309,\"product_id\":4,\"image_group_id\":9,\"name\":\"CentOS-6.8.1607-x64\",\"charge\":0,\"price\":\"0.00\",\"enable\":1,\"rel_image_id\":281},\"system_disk\":{\"value\":30,\"price\":\"30.00\",\"other_config\":{\"disk_type\":\"\"}},\"data_disk\":[{\"value\":30,\"price\":\"30.00\",\"other_config\":{\"disk_type\":\"\"}}],\"line\":{\"id\":1,\"data_center_id\":1,\"name\":\"\\u793a\\u4f8b\\u7ebf\\u8def\",\"bill_type\":\"bw\",\"bw_ip_group\":\"\",\"defence_enable\":1,\"defence_ip_group\":\"\",\"ip_enable\":1,\"create_time\":1678246279},\"bw\":{\"value\":100,\"price\":\"10.00\",\"other_config\":{\"in_bw\":\"\",\"advanced_bw\":\"\"}},\"defence\":{\"value\":1,\"price\":\"16.00\"},\"network_type\":\"normal\"}',0,'W/RlGjLttak6wnGdMhevWA==',1678263157,0); /*Table structure for table `idcsmart_module_mf_cloud_image` */ @@ -3651,7 +3879,7 @@ CREATE TABLE `idcsmart_module_mf_dcim_host_link` ( /*Data for the table `idcsmart_module_mf_dcim_host_link` */ -insert into `idcsmart_module_mf_dcim_host_link`(`id`,`host_id`,`rel_id`,`data_center_id`,`image_id`,`power_status`,`ip`,`config_data`,`password`,`create_time`,`update_time`) values (2,16,8,1,31,'on','10.99.10.61','{\"duration\":{\"id\":1,\"product_id\":5,\"name\":\"\\u6708\",\"num\":1,\"unit\":\"month\",\"create_time\":1678247737},\"data_center\":{\"id\":1,\"product_id\":5,\"country_id\":44,\"city\":\"\\u5317\\u4eac\",\"area\":\"\\u5317\\u4eac\",\"order\":0,\"create_time\":1678247969},\"model_config\":{\"id\":1,\"product_id\":5,\"name\":\"IPMI-\\u793a\\u4f8b\",\"group_id\":1,\"cpu\":\"8888TEST\",\"cpu_param\":\"64\\u6838\\u5fc3\",\"memory\":\"256G\",\"disk\":\"200GB SSD\",\"create_time\":1678247942,\"update_time\":0,\"price\":\"600.00\"},\"image\":{\"id\":31,\"product_id\":5,\"image_group_id\":2,\"name\":\"CentOS-5.8-x86_64\",\"charge\":0,\"price\":\"0.00\",\"enable\":1,\"rel_image_id\":70},\"line\":{\"id\":1,\"data_center_id\":1,\"name\":\"\\u793a\\u4f8b\\u7ebf\\u8def\",\"bill_type\":\"bw\",\"bw_ip_group\":\"\",\"defence_enable\":1,\"defence_ip_group\":\"\",\"create_time\":1678248030},\"bw\":{\"value\":100,\"price\":\"10.00\",\"other_config\":{\"in_bw\":\"\"}},\"ip\":{\"value\":1,\"price\":\"18.00\"}}','Xcfqv8jQdGxLPYDPY02kDw==',1678263179,0); +insert into `idcsmart_module_mf_dcim_host_link`(`id`,`host_id`,`rel_id`,`data_center_id`,`image_id`,`power_status`,`ip`,`config_data`,`password`,`create_time`,`update_time`) values (2,16,8,1,31,'fault','10.99.10.61','{\"duration\":{\"id\":1,\"product_id\":5,\"name\":\"\\u6708\",\"num\":1,\"unit\":\"month\",\"create_time\":1678247737},\"data_center\":{\"id\":1,\"product_id\":5,\"country_id\":44,\"city\":\"\\u5317\\u4eac\",\"area\":\"\\u5317\\u4eac\",\"order\":0,\"create_time\":1678247969},\"model_config\":{\"id\":1,\"product_id\":5,\"name\":\"IPMI-\\u793a\\u4f8b\",\"group_id\":1,\"cpu\":\"8888TEST\",\"cpu_param\":\"64\\u6838\\u5fc3\",\"memory\":\"256G\",\"disk\":\"200GB SSD\",\"create_time\":1678247942,\"update_time\":0,\"price\":\"600.00\"},\"image\":{\"id\":31,\"product_id\":5,\"image_group_id\":2,\"name\":\"CentOS-5.8-x86_64\",\"charge\":0,\"price\":\"0.00\",\"enable\":1,\"rel_image_id\":70},\"line\":{\"id\":1,\"data_center_id\":1,\"name\":\"\\u793a\\u4f8b\\u7ebf\\u8def\",\"bill_type\":\"bw\",\"bw_ip_group\":\"\",\"defence_enable\":1,\"defence_ip_group\":\"\",\"create_time\":1678248030},\"bw\":{\"value\":100,\"price\":\"10.00\",\"other_config\":{\"in_bw\":\"\"}},\"ip\":{\"value\":1,\"price\":\"18.00\"}}','Xcfqv8jQdGxLPYDPY02kDw==',1678263179,0); /*Table structure for table `idcsmart_module_mf_dcim_image` */ @@ -3863,7 +4091,7 @@ CREATE TABLE `idcsmart_nav` ( `plugin` varchar(100) NOT NULL DEFAULT '' COMMENT '插件', PRIMARY KEY (`id`) USING BTREE, KEY `parent_id` (`parent_id`) -) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='默认导航表'; +) ENGINE=InnoDB AUTO_INCREMENT=58 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='默认导航表'; /*Data for the table `idcsmart_nav` */ @@ -3891,7 +4119,7 @@ insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`, insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (22,'admin','nav_task','task.html','',21,23,'',''); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (23,'admin','nav_log','log_system.html','',21,24,'',''); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (24,'admin','nav_auto','cron.html','',21,25,'',''); -insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (25,'admin','nav_plugin','','control-platform',0,81,'',''); +insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (25,'admin','nav_plugin','','control-platform',0,86,'',''); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (26,'admin','nav_plugin_list','plugin.html','',25,27,'',''); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (27,'home','nav_finance_info','finance.html','icon-a-4',0,1,'',''); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (28,'home','nav_account_info','account.html','icon-a-20',0,2,'',''); @@ -3920,6 +4148,9 @@ insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`, insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (52,'admin','nav_plugin_addon_idcsmart_ticket','plugin/idcsmart_ticket/index.html','',25,77,'addon','IdcsmartTicket'); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (53,'home','nav_plugin_addon_ticket_list','plugin/27/ticket.html','',0,78,'addon','IdcsmartTicket'); insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (54,'home','nav_plugin_addon_idcsmart_sub_account','plugin/28/childAccount.html','',0,80,'addon','IdcsmartSubAccount'); +insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (55,'admin','nav_plugin_addon_idcsmart_announcement','plugin/idcsmart_announcement/index.html','',25,83,'addon','IdcsmartAnnouncement'); +insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (56,'home','nav_plugin_addon_idcsmart_announcement','plugin/30/announcement.html','',0,84,'addon','IdcsmartAnnouncement'); +insert into `idcsmart_nav`(`id`,`type`,`name`,`url`,`icon`,`parent_id`,`order`,`module`,`plugin`) values (57,'home','nav_plugin_addon_idcsmart_announcement_source','plugin/30/source.html','',0,85,'addon','IdcsmartAnnouncement'); /*Table structure for table `idcsmart_notice_setting` */ @@ -3965,14 +4196,14 @@ insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name` insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (21,'admin_order_amount','','Idcsmart',40,'Idcsmart',19,1,'Idcsmartmail',20,1); insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (22,'order_pay','','Idcsmart',41,'Idcsmart',20,1,'Idcsmartmail',21,1); insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (23,'order_recharge','','Idcsmart',42,'Idcsmart',21,1,'Idcsmartmail',22,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (27,'host_renew','产品续费','Idcsmart',0,'Idcsmart',0,1,'Smtp',26,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (28,'client_create_refund','产品退款申请','Idcsmart',0,'Idcsmart',0,1,'Smtp',27,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (29,'client_refund_success','产品退款成功','Idcsmart',0,'Idcsmart',0,1,'Smtp',28,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (30,'admin_refund_reject','产品退款驳回','Idcsmart',0,'Idcsmart',0,1,'Smtp',29,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (31,'client_refund_cancel','产品取消请求','Idcsmart',0,'Idcsmart',0,1,'Smtp',30,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (32,'client_create_ticket','客户新增工单','Idcsmart',0,'Idcsmart',0,1,'Smtp',31,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (33,'client_close_ticket','客户关闭工单','Idcsmart',0,'Idcsmart',0,1,'Smtp',32,1); -insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (34,'admin_reply_ticket','管理员回复工单','Idcsmart',0,'Idcsmart',0,1,'Smtp',33,1); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (27,'host_renew','产品续费','',0,'',0,0,'',26,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (28,'client_create_refund','产品退款申请','',0,'',0,0,'',27,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (29,'client_refund_success','产品退款成功','',0,'',0,0,'',28,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (30,'admin_refund_reject','产品退款驳回','',0,'',0,0,'',29,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (31,'client_refund_cancel','产品取消请求','',0,'',0,0,'',30,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (32,'client_create_ticket','客户新增工单','',0,'',0,0,'',31,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (33,'client_close_ticket','客户关闭工单','',0,'',0,0,'',32,0); +insert into `idcsmart_notice_setting`(`id`,`name`,`name_lang`,`sms_global_name`,`sms_global_template`,`sms_name`,`sms_template`,`sms_enable`,`email_name`,`email_template`,`email_enable`) values (34,'admin_reply_ticket','管理员回复工单','',0,'',0,0,'',33,0); /*Table structure for table `idcsmart_order` */ @@ -3995,27 +4226,29 @@ CREATE TABLE `idcsmart_order` ( `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', `refund_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '退款金额', + `admin_id` int(11) NOT NULL DEFAULT '0' COMMENT '管理员ID', PRIMARY KEY (`id`), KEY `client_id` (`client_id`), KEY `type` (`type`), KEY `status` (`status`), KEY `amount` (`amount`), - KEY `pay_time` (`pay_time`) + KEY `pay_time` (`pay_time`), + KEY `admin_id` (`admin_id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='订单表'; /*Data for the table `idcsmart_order` */ -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (1,1,'new','Paid','98.00','0.00','0.00',1,'','','',1672800159,0,1672740687,1672800159,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (2,1,'new','Paid','294.00','0.00','0.00',1,'','','',1672800270,0,1672800240,1672800270,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (3,1,'new','Paid','588.00','0.00','0.00',1,'','','',1672800272,0,1672800258,1672800272,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (4,1,'new','Paid','1688.00','0.00','0.00',1,'','','',1672800862,0,1672800529,1672800862,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (5,1,'new','Paid','5064.00','0.00','0.00',1,'','','',1672800864,0,1672800544,1672800864,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (6,1,'new','Paid','10128.00','0.00','0.00',1,'','','',1672800866,0,1672800557,1672800866,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (10,1,'new','Paid','156.00','0.00','0.00',1,'','','',1672817539,0,1672817484,1672817539,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (11,1,'new','Paid','468.00','0.00','0.00',1,'','','',1672817541,0,1672817497,1672817541,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (12,1,'new','Paid','936.00','0.00','0.00',1,'','','',1672817543,0,1672817510,1672817543,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (15,1,'new','Unpaid','122.00','0.00','122.00',1,'AliPayDmf','支付宝','',0,0,1678263157,0,'0.00'); -insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`) values (16,1,'new','Unpaid','628.00','0.00','628.00',1,'AliPayDmf','支付宝','',0,0,1678263179,0,'0.00'); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (1,1,'new','Paid','98.00','0.00','0.00',1,'','','',1672800159,0,1672740687,1672800159,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (2,1,'new','Paid','294.00','0.00','0.00',1,'','','',1672800270,0,1672800240,1672800270,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (3,1,'new','Paid','588.00','0.00','0.00',1,'','','',1672800272,0,1672800258,1672800272,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (4,1,'new','Paid','1688.00','0.00','0.00',1,'','','',1672800862,0,1672800529,1672800862,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (5,1,'new','Paid','5064.00','0.00','0.00',1,'','','',1672800864,0,1672800544,1672800864,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (6,1,'new','Paid','10128.00','0.00','0.00',1,'','','',1672800866,0,1672800557,1672800866,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (10,1,'new','Paid','156.00','0.00','0.00',1,'','','',1672817539,0,1672817484,1672817539,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (11,1,'new','Paid','468.00','0.00','0.00',1,'','','',1672817541,0,1672817497,1672817541,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (12,1,'new','Paid','936.00','0.00','0.00',1,'','','',1672817543,0,1672817510,1672817543,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (15,1,'new','Unpaid','122.00','0.00','122.00',1,'AliPayDmf','支付宝','',0,0,1678263157,0,'0.00',0); +insert into `idcsmart_order`(`id`,`client_id`,`type`,`status`,`amount`,`credit`,`amount_unpaid`,`upgrade_refund`,`gateway`,`gateway_name`,`notes`,`pay_time`,`due_time`,`create_time`,`update_time`,`refund_amount`,`admin_id`) values (16,1,'new','Unpaid','628.00','0.00','628.00',1,'AliPayDmf','支付宝','',0,0,1678263179,0,'0.00',0); /*Table structure for table `idcsmart_order_item` */ @@ -4136,30 +4369,31 @@ CREATE TABLE `idcsmart_plugin` ( PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `name` (`name`), KEY `status` (`status`) -) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='插件表'; +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='插件表'; /*Data for the table `idcsmart_plugin` */ -insert into `idcsmart_plugin`(`id`,`status`,`name`,`title`,`url`,`author`,`author_url`,`version`,`description`,`config`,`module`,`order`,`help_url`,`create_time`,`update_time`) values (1,1,'TpCaptcha','thinkphp图形验证','','智简魔方','','1.0','thinkphp图形验证','{\"module_name\":\"\\u56fe\\u5f62\\u9a8c\\u8bc1\",\"captcha_width\":\"250\",\"captcha_height\":\"61\",\"captcha_length\":\"5\",\"code_set\":\"1234567890ABCD\"}','captcha',0,'',1662529067,1662539097); -insert into `idcsmart_plugin`(`id`,`status`,`name`,`title`,`url`,`author`,`author_url`,`version`,`description`,`config`,`module`,`order`,`help_url`,`create_time`,`update_time`) values (2,1,'Idcsmart','智简魔方','','智简魔方','','1.0','智简魔方官方短信平台接口','{\"api\":\"xxxxx\",\"key\":\"yyyyyyy\",\"sign\":\"\\u667a\\u7b80\\u9b54\\u65b9\",\"global_api\":\"\",\"global_key\":\"\",\"global_sign\":\"\"}','sms',0,'https://my.idcsmart.com/goods.html?id=337',1662529067,1673339059); -insert into `idcsmart_plugin`(`id`,`status`,`name`,`title`,`url`,`author`,`author_url`,`version`,`description`,`config`,`module`,`order`,`help_url`,`create_time`,`update_time`) values (3,1,'Smtp','Smtp','','智简魔方','','1.0','Smtp','{\"charset\":\"utf-8\",\"port\":\"465\",\"host\":\"smtp.xxxx.yyyy.com\",\"username\":\"xxxxx@yyyyy.com\",\"password\":\"yyyyyyyyyy\",\"smtpsecure\":\"ssl\",\"fromname\":\"\\u667a\\u7b80\\u9b54\\u65b9\",\"systememail\":\"xxxx@yyyyy.com\"}','mail',0,'',1654076586,1673575305); -insert into `idcsmart_plugin`(`id`,`status`,`name`,`title`,`url`,`author`,`author_url`,`version`,`description`,`config`,`module`,`order`,`help_url`,`create_time`,`update_time`) values (5,1,'AliPayDmf','支付宝当面付插件','','智简魔方','','1.0','支付宝当面付插件','{\"module_name\":\"\\u652f\\u4ed8\\u5b9d\",\"app_id\":\"xxxxx\",\"merchant_private_key\":\"yyyy\",\"alipay_public_key\":\"zzzzzzz\",\"mode\":\"online\"}','gateway',0,'',1654076586,1673339102); -insert into `idcsmart_plugin`(`id`,`status`,`name`,`title`,`url`,`author`,`author_url`,`version`,`description`,`config`,`module`,`order`,`help_url`,`create_time`,`update_time`) values (10,1,'Idcsmartmail','智简魔方','','智简魔方','','1.0','智简魔方官方邮件平台接口','{\"api\":\"xxxxxx\",\"key\":\"yyyyyyy\",\"from\":\"zjmf\",\"from_name\":\"\\u667a\\u7b80\\u9b54\\u65b9\"}','mail',0,'https://my.idcsmart.com/goods.html?id=922',1672739067,1673339032); -insert into `idcsmart_plugin`(`id`,`status`,`name`,`title`,`url`,`author`,`author_url`,`version`,`description`,`config`,`module`,`order`,`help_url`,`create_time`,`update_time`) values (11,1,'UserCustom','线下支付','','智简魔方','','1.0','线下支付','{\"module_name\":\"\\u7ebf\\u4e0b\\u652f\\u4ed8\",\"seller_id\":\"XXXXX\\u94f6\\u884c, or missing
. Bailing hydration and performing " + + "full client-side render." + ); + } + } + // either not server-rendered, or hydration failed. + // create an empty node and replace it + oldVnode = emptyNodeAt(oldVnode); + } + + // replacing existing element + var oldElm = oldVnode.elm; + var parentElm = nodeOps.parentNode(oldElm); + + // create new node + createElm( + vnode, + insertedVnodeQueue, + // extremely rare edge case: do not insert if old element is in a + // leaving transition. Only happens when combining transition + + // keep-alive + HOCs. (#4590) + oldElm._leaveCb ? null : parentElm, + nodeOps.nextSibling(oldElm) + ); + + // update parent placeholder node element, recursively + if (isDef(vnode.parent)) { + var ancestor = vnode.parent; + var patchable = isPatchable(vnode); + while (ancestor) { + for (var i = 0; i < cbs.destroy.length; ++i) { + cbs.destroy[i](ancestor); + } + ancestor.elm = vnode.elm; + if (patchable) { + for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) { + cbs.create[i$1](emptyNode, ancestor); + } + // #6513 + // invoke insert hooks that may have been merged by create hooks. + // e.g. for directives that uses the "inserted" hook. + var insert = ancestor.data.hook.insert; + if (insert.merged) { + // start at index 1 to avoid re-invoking component mounted hook + for (var i$2 = 1; i$2 < insert.fns.length; i$2++) { + insert.fns[i$2](); + } + } + } else { + registerRef(ancestor); + } + ancestor = ancestor.parent; + } + } + + // destroy old node + if (isDef(parentElm)) { + removeVnodes(parentElm, [oldVnode], 0, 0); + } else if (isDef(oldVnode.tag)) { + invokeDestroyHook(oldVnode); + } + } + } + + invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch); + return vnode.elm; + }; + } + + /* */ + + var directives = { + create: updateDirectives, + update: updateDirectives, + destroy: function unbindDirectives(vnode) { + updateDirectives(vnode, emptyNode); + }, + }; + + function updateDirectives(oldVnode, vnode) { + if (oldVnode.data.directives || vnode.data.directives) { + _update(oldVnode, vnode); + } + } + + function _update(oldVnode, vnode) { + var isCreate = oldVnode === emptyNode; + var isDestroy = vnode === emptyNode; + var oldDirs = normalizeDirectives$1( + oldVnode.data.directives, + oldVnode.context + ); + var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context); + + var dirsWithInsert = []; + var dirsWithPostpatch = []; + + var key, oldDir, dir; + for (key in newDirs) { + oldDir = oldDirs[key]; + dir = newDirs[key]; + if (!oldDir) { + // new directive, bind + callHook$1(dir, "bind", vnode, oldVnode); + if (dir.def && dir.def.inserted) { + dirsWithInsert.push(dir); + } + } else { + // existing directive, update + dir.oldValue = oldDir.value; + dir.oldArg = oldDir.arg; + callHook$1(dir, "update", vnode, oldVnode); + if (dir.def && dir.def.componentUpdated) { + dirsWithPostpatch.push(dir); + } + } + } + + if (dirsWithInsert.length) { + var callInsert = function () { + for (var i = 0; i < dirsWithInsert.length; i++) { + callHook$1(dirsWithInsert[i], "inserted", vnode, oldVnode); + } + }; + if (isCreate) { + mergeVNodeHook(vnode, "insert", callInsert); + } else { + callInsert(); + } + } + + if (dirsWithPostpatch.length) { + mergeVNodeHook(vnode, "postpatch", function () { + for (var i = 0; i < dirsWithPostpatch.length; i++) { + callHook$1(dirsWithPostpatch[i], "componentUpdated", vnode, oldVnode); + } + }); + } + + if (!isCreate) { + for (key in oldDirs) { + if (!newDirs[key]) { + // no longer present, unbind + callHook$1(oldDirs[key], "unbind", oldVnode, oldVnode, isDestroy); + } + } + } + } + + var emptyModifiers = Object.create(null); + + function normalizeDirectives$1(dirs, vm) { + var res = Object.create(null); + if (!dirs) { + // $flow-disable-line + return res; + } + var i, dir; + for (i = 0; i < dirs.length; i++) { + dir = dirs[i]; + if (!dir.modifiers) { + // $flow-disable-line + dir.modifiers = emptyModifiers; + } + res[getRawDirName(dir)] = dir; + dir.def = resolveAsset(vm.$options, "directives", dir.name, true); + } + // $flow-disable-line + return res; + } + + function getRawDirName(dir) { + return ( + dir.rawName || dir.name + "." + Object.keys(dir.modifiers || {}).join(".") + ); + } + + function callHook$1(dir, hook, vnode, oldVnode, isDestroy) { + var fn = dir.def && dir.def[hook]; + if (fn) { + try { + fn(vnode.elm, dir, vnode, oldVnode, isDestroy); + } catch (e) { + handleError( + e, + vnode.context, + "directive " + dir.name + " " + hook + " hook" + ); + } + } + } + + var baseModules = [ref, directives]; + + /* */ + + function updateAttrs(oldVnode, vnode) { + var opts = vnode.componentOptions; + if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) { + return; + } + if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) { + return; + } + var key, cur, old; + var elm = vnode.elm; + var oldAttrs = oldVnode.data.attrs || {}; + var attrs = vnode.data.attrs || {}; + // clone observed objects, as the user probably wants to mutate it + if (isDef(attrs.__ob__)) { + attrs = vnode.data.attrs = extend({}, attrs); + } + + for (key in attrs) { + cur = attrs[key]; + old = oldAttrs[key]; + if (old !== cur) { + setAttr(elm, key, cur); + } + } + // #4391: in IE9, setting type can reset value for input[type=radio] + // #6666: IE/Edge forces progress value down to 1 before setting a max + /* istanbul ignore if */ + if ((isIE || isEdge) && attrs.value !== oldAttrs.value) { + setAttr(elm, "value", attrs.value); + } + for (key in oldAttrs) { + if (isUndef(attrs[key])) { + if (isXlink(key)) { + elm.removeAttributeNS(xlinkNS, getXlinkProp(key)); + } else if (!isEnumeratedAttr(key)) { + elm.removeAttribute(key); + } + } + } + } + + function setAttr(el, key, value) { + if (el.tagName.indexOf("-") > -1) { + baseSetAttr(el, key, value); + } else if (isBooleanAttr(key)) { + // set attribute for blank value + // e.g. + if (isFalsyAttrValue(value)) { + el.removeAttribute(key); + } else { + // technically allowfullscreen is a boolean attribute for