发表日期: 2021-03-27 12:52:37 浏览次数:141
资兴企业微信公众号小程序开发公司、资兴企业网页设计方案、资兴做网站开发价格、资兴微信公众号制作运营报价明细表、资兴网站设计公司费用、资兴网站推广大概需要多少钱
资兴市,湖南省辖县级市,由郴州市代管,位于湖南省东南部。因唐代旧县治位于资兴江畔(今东江湖)而得名,是郴商的发源地之一。资兴市地处湘江流域耒水的上游,在罗霄山脉西麓、茶永盆地南端,为湘、粤、赣三省交汇处。东邻桂东县、株洲市炎陵县,南接汝城县、宜章县,西连苏仙区,北抵永兴、安仁县。总面积2746.79平方公里。 [1]
2017年,资兴市实现地区生产总值362.51亿元,按可比价格计算,增长8.3%。其中,第一产业增加值26.95亿元,增长4.2%;第二产业增加值223.59亿元,增长6.9%;第三产业增加值111.97亿元,增长12.5%。三次产业结构为7.4:61.7:30.9。 [2] 资兴市名优特产主要有杨梅、东江鱼、狗脑贡茶等;风景名胜主要有东江湖、寿佛寺、回龙山等。资兴市下辖2乡9镇2街道;户籍总人口37.85万人,常住人口34.97万人(2017年)。2017年10月,被住建部命名为国家园林城市。2018年11月,被科技部确定为首批创新型县(市), [3] 入选中国县级市全面小康指数前100名。第三批“绿水青山就是金山银山”实践创新基地。 [4]
2019年3月6日,中央宣传部、财政部、文化和旅游部、国家文物局《中央宣传部 财政部 文化和旅游部 国家文物局关于公布《革命文物保护利用片区分县名单(第一批)》的通知》资兴市名列其中。 [5]
2020年6月,经中央依法治国委入选为第一批全国法治政府建设示范地区和项目名单。 [6] 2020年度真抓实干成效明显,被湖南省人民政府公布为推动高质量发展成效明显的县市区,给予100万元标准奖励。
浮点 float
浮点型,类似整型的配置,此处略。
布尔值 boolean
布尔值,主要是可以对一些字符串转换成布尔值,如ok,true,success,on,yes,以及会被PHP解析成true的字符串,都会转换成TRUE。如通常的“是否记住我”参数,可配置成:
array('name' => 'is_remember_me', 'type' => 'boolean', 'default' => TRUE)复制代码则以下参数,最终服务端会作为TRUE接收。
?is_remember_me=ok?is_remember_me=true?is_remember_me=success?is_remember_me=on?is_remember_me=yes?is_remember_me=1复制代码
日期 date
日期可以按自己约定的格式传递,默认是作为字符串,此时不支持范围检测。例如配置注册时间:
array('name' => 'register_date', 'type' => 'date')复制代码对应地,register_date=2015-01-31 10:00:00则会被获取到为:"2015-01-31 10:00:00"。
当需要将字符串的日期转换成时间戳时,可追加配置选项'format' => 'timestamp',则配置成:
array('name' => 'register_date', 'type' => 'date', 'format' => 'timestamp')复制代码则上面的参数再请求时,则会被转换成:1422669600。
此时作为时间戳,还可以添加范围检测,如限制时间范围在31号当天:
array('name' => 'register_date', 'type' => 'date', 'format' => 'timestamp', 'min' => 1422633600, 'max' => 1422719999)复制代码当配置的最小值或最大值为字符串的日期时,会自动先转换成时间戳再进行检测比较。如可以配置成:
array('name' => 'register_date', ... ... 'min' => '2015-01-31 00:00:00', 'max' => '2015-01-31 23:59:59')复制代码数组 array
很多时候在接口进行批量获取时,都需要提供一组参数,如多个ID,多个选项。这时可以使用数组来进行配置。如:
array('name' => 'uids', 'type' => 'array', 'format' => 'explode', 'separator' => ',')复制代码这时接口参数&uids=1,2,3则会被转换成:
array ( 0 => '1', 1 => '2', 2 => '3', )复制代码
如果设置了默认值,那么默认值会从字符串,根据相应的format格式进行自动转换。如:
array( ... ... 'default' => '4,5,6')复制代码
那么在未传参数的情况下,自动会得到:
array ( 0 => '4', 1 => '5', 2 => '6', )复制代码
又如接口需要使用JSON来传递整块参数时,可以这样配置:
array('name' => 'params', 'type' => 'array', 'format' => 'json')复制代码对应地,接口参数¶ms={"username":"test","password":"123456"}则会被转换成:
array ( 'username' => 'test', 'password' => '123456', )复制代码
温馨提示:使用JSON传递参数时,建议使用POST方式传递。若使用GET方式,须注意参数长度不应超过浏览器最大限制长度,以及URL编码问。
若使用JSON格式时,设置了默认值为:
array( ... ... 'default' => '{"username":"dogstar","password":"xxxxxx"}')复制代码那么在未传参数的情况下,会得到转换后的:
array ( 'username' => 'dogstar', 'password' => 'xxxxxx', )复制代码
特别地,当配置成了数组却未指定格式format时,接口参数会转换成只有一个元素的数组,如接口参数:&name=test,会转换成:
array ( 0 => 'test' )复制代码
枚举 enum
在需要对接口参数进行范围限制时,可以使用此枚举型。如对于性别的参数,可以这样配置:
array('name' => 'sex', 'type' => 'enum', 'range' => array('female', 'male'))复制代码当传递的参数不合法时,如&sex=unknow,则会被拦截,返回失败:
"msg": "非法请求:参数sex应该为:female/male,但现在sex = unknow"复制代码
关于枚举类型的配置,这里需要特别注意配置时,应尽量使用字符串的值。 因为通常而言,接口通过GET/POST方式获取到的参数都是字符串的,而如果配置规则时指定范围用了整型,会导致底层规则验证时误判。例如接口参数为&type=N,而接口参数规则为:
array('name' => 'type', 'type' => 'enum', 'range' => array(0, 1, 2))复制代码则会出现以下这样的误判:
var_dump(in_array('N', array(0, 1, 2))); // 结果为true,因为 'N' == 0复制代码为了避免这类情况发生,应该使用使用字符串配置范围值,即可这样配置:
array('name' => 'type', 'type' => 'enum', 'range' => array(`0`, `1`, `2`))复制代码文件 file
在需要对上传的文件进行过滤、接收和处理时,可以使用文件类型,如:
array(
'name' => 'upfile',
'type' => 'file',
'min' => 0,
'max' => 1024 * 1024,
'range' => array('image/jpeg', 'image/png') ,
'ext' => array('jpeg', 'png'))复制代码其中,min和max分别对应文件大小的范围,单位为字节;range为允许的文件类型,使用数组配置,且不区分大小写。
如果成功,返回的值对应的是$_FILES["upfile"],即会返回:
array( 'name' => ..., // 被上传文件的名称 'type' => ..., // 被上传文件的类型 'size' => ..., // 被上传文件的大小,以字节计 'tmp_name' => ..., // 存储在服务器的文件的临时副本的名称)复制代码
对应的是:
$_FILES["upfile"]["name"] - 被上传文件的名称
$_FILES["upfile"]["type"] - 被上传文件的类型
$_FILES["upfile"]["size"] - 被上传文件的大小,以字节计
$_FILES["upfile"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["upfile"]["error"] - 由文件上传导致的错误代码
参考:以上内容来自W3School,文件上传时请使用表单上传,并enctype 属性使用"multipart/form-data"。更多请参考PHP 文件上传。
若需要配置默认值default选项,则也应为一数组,且其格式应类似如上。
其中,ext是对文件后缀名进行验证,当如果上传文件后缀名不匹配时将抛出异常。文件扩展名的过滤可以类似这样进行配置:
单个后缀名 - 数组形式
'ext' => array('jpg')复制代码单个后缀名 - 字符串形式
'ext' => 'jpg'复制代码
多个后缀名 - 数组形式
'ext' => array('jpg', 'jpeg', 'png', 'bmp')复制代码多个后缀名 - 字符串形式(以英文逗号分割)
'ext' => 'jpg,jpeg,png,bmp'复制代码
回调 callable/callback
当需要利用已有函数进行自定义验证时,可采用回调参数规则,如配置规则:
array('name' => 'version', 'type' => 'callable', 'callback' => 'Common_Request_Version::formatVersion')复制代码然后,回调时将调用下面这个新增的类函数:
// $ vim ./Shop/Common/Request/Version.php<?phpclass Common_Request_Version {
public static function formatVersion($value, $rule) {
if (count(explode('.', $value)) < 3) {
throw new PhalApi_Exception_BadRequest('版本号格式错误');
}
return $value;
}}复制代码温馨提示:回调函数的签名为:
function format($value, $rule, $params),第一个为参数原始值,第二个为所配置的规则,第三个可选参数为配置规则中的params选项。最后应返回转换后的参数值。

资兴企业微信公众号小程序开发公司、资兴企业网页设计方案、资兴做网站开发价格、资兴微信公众号制作运营报价明细表、资兴网站设计公司费用、资兴网站推广大概需要多少钱