业务系统使用文档>开发文档>产品模块开发文档
controller (控制器目录)|--- home(前台控制器放此目录下)|--- admin(后台控制器放此目录下)|--- lang(语言)|--- zh-cn.php|--- DemoStyle.php (模块主文件)|--- route.php(路由)|--- hooks.php(钩子) 2. 钩子由hooks.php实现例如, 实现after_server_delete钩子add_hook('after_server_delete', function($param){// 具体处理}); 3.多语言使用lang_plugins('语言标识',$param=[])实现多语言; 4.路由,自定义方法注意:方法只有登录验证,其他鉴权需要开发者自己处理默认路由前台/console/v1/module/:module/:controller/:method 例如/console/v1/module/cloud/host/hard_off将会访问到cloud模块 controller/home/HostController的hardOff 方法 后台/admin/v1/module/:module/:controller/:method 例如/admin/v1/module/cloud/host/hard_off将会访问到cloud模块 controller/admin/HostController的hardOff 方法自定义路由,需要自己控制登录插件目录下定义route.php,下面举例工单插件路由前台路由:Route::group('console/v1',function (){Route::get('ticket', "\\addon\\idcsmart_ticket\\controller\\clientarea\\TicketController@ticketList")})->middleware(\app\http\middleware\ParamFilter::class)->middleware(\app\http\middleware\CheckHome::class); # 需要登录就使用此中间件后台路由:Route::group(DIR_ADMIN . '/v1',function (){ Route::get('ticket', "\\addon\idcsmart_ticket\controller\TicketController@ticketList");})->middleware(\app\http\middleware\ParamFilter::class)->middleware(\app\http\middleware\CheckAdmin::class); # 需要登录就使用此中间件 5. 系统方法和参数方法在模块主文件里实现参数定义:① 标准产品操作参数数组 ['host'=>$HostModel, 'client'=>$ClientModel, 'product'=>$ProductModel, 'server'=>$ServerModel, 'config_option'=>$ConfigOption];② 自定义参数 键名:['custom'=>’自定义数据’] 返回定义:ⅰ. 标准返回: 成功信息返回:['status'=>200, 'msg'=>'提示信息', 'data'=>[]]失败信息返回:['status'=>400, 'msg'=>'提示信息'] 方法以及说明:方法名称描述参数返回metaData配置无["display_name"=>"显示名称", "version"=>"1.0"]testConnect测试接口连接状态['server'=>$ServerModel]标准返回afterCreateFirstServer在使用模块创建第一个接口成功后调用,主要用于开发者自定义添加表无无afterDeleteLastServer删除使用模块的最后一个接口成功后调用,主要用于开发者删除自己添加的表无无createAccount产品开通标准产品操作参数标准返回suspendAccount产品暂停标准产品操作参数标准返回unsuspendAccount产品解除暂停标准产品操作参数标准返回terminateAccount删除产品标准产品操作参数标准返回renew续费订单完成后调用标准产品操作参数无changePackage升降级配置项订单完成后调用标准产品操作参数+自定义参数无changeProduct升降级商品订单完成后调用标准产品操作参+自定义参数无cartCalculatePrice商品价格计算,包含场景前台购物车,升降级产品,后台下单,升降级商品['product'=>$ProductModel,'custome'=>'自定义参数']['status'=>200, 'msg'=>提示信息,'data'=>['price'=>0.01, //首次价格'renew_price'=>0.01, //续费价格'billing_cycle'=>'周期名称','duration'=>30*24*3600, //周期时长'preview'=>[['name'=>'cpu', // 名称'value'=>'1核', // 值'price'=>'1.00' //价格] ] ]serverConfigOption后台商品切换接口输出['product'=>$ProductModel,]输出内容,支持模板clientArea前台产品内页输出标准产品操作参数输出内容,支持模板adminArea后台产品内页输出标准产品操作参数输出内容,支持模板clientProductConfigOption前台商品配置输出,购物车,单独订购,升降级商品时输出['product'=>$ProductModel,'tag'=>'价格显示标识']输出内容,支持模板adminProductConfigOption后台商品配置输出,新建订单,升降级商品时输出['product'=>$ProductModel,'tag'=>'价格显示标识']输出内容,支持模板afertSettle在结算之后调用,用于保存产品和 ProductModel 商品配置项的关联关系['custom'=>自定义参数,'host_id'=>产品ID,"product"=>$ProductModel]无durationPrice获取当前产品所有周期价格标准产品操作参数['status'=>200,'msg'=>提示信息,'data'=>[['price'=>0.01, //价格'billing_cycle'=>'周期名称','duration'=>30*24*3600, //周期时长]]allConfigOption获取商品所有配置项,该方法用于优惠码设置['product'=>$ProductModel]['status'=>200,'msg'=>提示信息,'data'=>[['name'=>'配置项名称','field'=>'字段名称,和订购时生成订单接收的参数一致','type'=>'dropdown',//下拉选择,暂时只支持这种,'option'=>[['name'=>'选项名称','value'=>'选项值']]] ] ]currentConfigOptioin获取当前产品配置项标准产品操作参数['status'=>200,'msg'=>提示信息,'data'=>['字段'=>'当前值',]]