[TOC] ## 基础套餐列表 ~~~[api] get:/v1/packages integer:page=1#当前页码 integer:limit=10#单页显示数量 boolean:enable#启用或禁用 integer:group#所属套餐组 integer:region_id#所属区域ID mine#设置时,只显示专属套餐 <<< 返回结果 { "code": 0, "count": 1, "data": [ { "backup_node_group": null, "backup_node_group_name": null, "before_exp_days_renew": 10, "buy_num_limit": -1, "cname_domain": "", "cname_hostname2": "", "cname_mode": "site", "create_at": null, "create_at2": "2021-12-19 16:47:05", "custom_cc_rule": 0, "des": "", "domain": 10, "enable": 1, "expire": null, "expire2": null, "groups": "11", "http_port": 10, "id": 647, "id_verify": 0, "month_price": 1, "name": "aa", "node_group_id": 833, "node_group_name": "aa", "owner": "", "quarter_price": 0, "region_id": 1098, "region_name": "test", "sort": 100, "stream_port": 0, "traffic": 100, "update_at": null, "websocket": 0, "year_price": 0 } ] } ~~~ ## 新增基础套餐 ~~~[api] post:/v1/packages *name#套餐名称 des#备注 *integer:region_id#区域ID *integer:node_group_id#线路组ID backup_node_group#备用线路组 cname_domain#cname域名ID cname_hostname2#cname主机名 cname_mode#默认为site,可选site,package。当为site时,每个网站单独一个cname地址,当为package时,每一个用户套餐分配一个cname地址 integer:traffic=0#限制的流量数,单位为G,默认0,当为-1时,表示不限制 bandwidth#带宽限制,可选单位为Mbps,Gbps,当为-1时,表示不限制 integer:connection#连接数限制,当为-1时,表示不限制 integer:domain=0#限制添加的域名数,默认为0,当为-1时,表示不限制 integer:http_port=0#网站监听的非标端口数量,即除80和443之外的端口数,默认为0,当为-1时,表示不限制 integer:stream_port=0#四层转发端口数,默认为0,当为-1时,表示不限制 boolean:custom_cc_rule#是否可以自定义cc规则,默认为False boolean:websocket#是否支持websocket,默认为False expire#套餐过期时间,即到期后,套餐不可购买,格式为2021-12-01 12:00:00 integer:buy_num_limit#限制同一个用户购买的套餐数量,-1为不限制 boolean:id_verify#是否需要实名认证,默认为False integer:before_exp_days_renew#限制当套餐剩余天数超过此值时,不允许续费,默认为-1不限制 integer:sort#排序,默认为100 owner#指定的用户才允许购买此套餐,填用户ID,多个以逗号分隔 *month_price#月付价格,单元为元 *quarter_price#季付价格,单元为元 *year_price#年付价格,单元为元 boolean:enable#启用或禁用,默认启用 *groups#所属的套餐组,多个以逗号分隔 <<< 返回结果 { "code":0, "data": "2", "msg": "套餐添加成功" } <<< 提交内容 { "name": "高防套餐", "region_id": 1, "node_group_id": 1, "month_price": 10, "quarter_price": 30, "year_price": 100, "groups": 1 } ~~~ ## 批量修改基础套餐 (数据格式为数组) ~~~[api] put:/v1/packages *integer:id#套餐ID name#套餐名称 des#备注 integer:region_id#区域ID integer:node_group_id#线路组ID backup_node_group#备用线路组 cname_domain#cname主域名,留空时,使用dns设置的主域名 cname_hostname2#cname主机名 cname_mode#默认为site,可选site,package。当为site时,每个网站单独一个cname地址,当为package时,每一个用户套餐分配一个cname地址 integer:traffic=0#限制的流量数,单位为G,默认0,当为-1时,表示不限制 integer:connection#连接数限制,当为-1时,表示不限制 integer:domain=0#限制添加的域名数,默认为0,当为-1时,表示不限制 integer:domain=0#限制添加的域名数,默认为0,当为-1时,表示不限制 integer:http_port=0#网站监听的非标端口数量,即除80和443之外的端口数,默认为0,当为-1时,表示不限制 integer:stream_port=0#四层转发端口数,默认为0,当为-1时,表示不限制 boolean:custom_cc_rule#是否可以自定义cc规则,默认为False boolean:websocket#是否支持websocket,默认为False expire#套餐过期时间,即到期后,套餐不可购买,格式为2021-12-01 12:00:00 integer:buy_num_limit#限制同一个用户购买的套餐数量,-1为不限制 boolean:id_verify#是否需要实名认证,默认为False integer:before_exp_days_renew#限制当套餐剩余天数超过此值时,不允许续费,默认为-1不限制 integer:sort#排序,默认为100 owner#指定的用户才允许购买此套餐,填用户ID,多个以逗号分隔 month_price#月付价格,单元为元 quarter_price#季付价格,单元为元 year_price#年付价格,单元为元 boolean:enable#启用或禁用,默认启用 groups#所属的套餐组,多个以逗号分隔 sync-item#需要同步数据到用户套餐的项目。当修改基础套餐时,不会同步到已售套餐,如果想同步,可以指定此项。支持同步的项目为name,node_group_id,cname_domain,cname_hostname2,cname_mode,traffic,domain,http_port,stream_port,custom_cc_rule,websocket,month_price,quarter_price,year_price。 <<< 返回结果 { "code":0, "data": "", "msg": "套餐修改成功" } <<< 提交内容 [{ "id": 1, "enable": 0 }, { "id": 2, "enable": 0 }] ~~~ ## 获取指定基础套餐 ~~~[api] get:/v1/packages/<套餐ID> <<< 返回结果 { "code": 0, "data": { "backup_node_group": null, "before_exp_days_renew": 10, "buy_num_limit": -1, "cname_domain": "", "cname_hostname2": "", "cname_mode": "site", "create_at": null, "custom_cc_rule": 0, "des": "", "domain": 10, "enable": 1, "expire": null, "http_port": 10, "id": 647, "id_verify": 0, "month_price": 1, "name": "aa", "node_group_id": 833, "owner": "", "quarter_price": 0, "region_id": 1098, "sort": 100, "stream_port": 0, "traffic": 100, "update_at": null, "websocket": 0, "year_price": 0 }, "msg": "" } ~~~ ## 修改指定基础套餐 ~~~[api] put:/v1/packages/<套餐ID> name#套餐名称 des#备注 integer:region_id#区域ID integer:node_group_id#线路组ID backup_node_group#备用线路组 cname_domain#cname主域名,留空时,使用dns设置的主域名 cname_hostname2#cname主机名 cname_mode#默认为site,可选site,package。当为site时,每个网站单独一个cname地址,当为package时,每一个用户套餐分配一个cname地址 integer:traffic=0#限制的流量数,单位为G,默认0,当为-1时,表示不限制 integer:domain=0#限制添加的域名数,默认为0,当为-1时,表示不限制 integer:http_port=0#网站监听的非标端口数量,即除80和443之外的端口数,默认为0,当为-1时,表示不限制 integer:stream_port=0#四层转发端口数,默认为0,当为-1时,表示不限制 boolean:custom_cc_rule#是否可以自定义cc规则,默认为False boolean:websocket#是否支持websocket,默认为False expire#套餐过期时间,即到期后,套餐不可购买,格式为2021-12-01 12:00:00 integer:buy_num_limit#限制同一个用户购买的套餐数量,-1为不限制 boolean:id_verify#是否需要实名认证,默认为False integer:before_exp_days_renew#限制当套餐剩余天数超过此值时,不允许续费,默认为-1不限制 integer:sort#排序,默认为100 owner#指定的用户才允许购买此套餐,填用户ID,多个以逗号分隔 month_price#月付价格,单元为元 quarter_price#季付价格,单元为元 year_price#年付价格,单元为元 boolean:enable#启用或禁用,默认启用 groups#所属的套餐组,多个以逗号分隔 sync-item#需要同步数据到用户套餐的项目。当修改基础套餐时,不会同步到已售套餐,如果想同步,可以指定此项。支持同步的项目为name,node_group_id,cname_domain,cname_hostname2,cname_mode,traffic,domain,http_port,stream_port,custom_cc_rule,websocket,month_price,quarter_price,year_price。 <<< 返回结果 { "code":0, "data": "", "msg": "套餐修改成功" } <<< 提交内容 { "name": "新套餐名称" } ~~~ ## 删除基础套餐 ~~~[api] delete:/v1/packages/<套餐ID,多个以逗号分隔> <<< 返回结果 { "code": 0, "data": "", "msg": "套餐删除成功" } ~~~