123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use app\common\library\RsaUtil;
- /**
- * 示例接口
- */
- class Demo extends Api
- {
- //如果$noNeedLogin为空表示所有接口都需要登录才能请求
- //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
- //如果接口已经设置无需登录,那也就无需鉴权了
- //
- // 无需登录的接口,*表示全部
- protected $noNeedLogin = ['*'];
- // 无需鉴权的接口,*表示全部
- protected $noNeedRight = ['*'];
- /**
- * 测试方法
- *
- * @ApiTitle (测试名称)
- * @ApiSummary (测试描述信息)
- * @ApiMethod (POST)
- * @ApiRoute (/api/demo/test/id/{id}/name/{name})
- * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
- * @ApiParams (name="id", type="integer", required=true, description="会员ID")
- * @ApiParams (name="name", type="string", required=true, description="用户名")
- * @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
- * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
- * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
- * @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
- * @ApiReturn ({
- 'code':'1',
- 'msg':'返回成功'
- })
- */
- public function test()
- {
- $this->success('success');
- }
- /**
- * 无需登录的接口
- *
- */
- public function test1()
- {
- $this->success('返回成功', ['action' => 'test1']);
- }
- /**
- * 需要登录的接口
- *
- */
- public function test2()
- {
- $this->success('返回成功', ['action' => 'test2']);
- }
- /**
- * 需要登录且需要验证有相应组的权限
- *
- */
- public function test3()
- {
- $this->send_score(1, 1);
- }
- public function send_score($score, $grade_id)
- {
- $url = 'http://apip-gateway-nrouter-saas-gn-C.month.sdc.cs.icbc:8081/api/mybank/farm/farmplatf/updateVillagerIntegral/V1';
- $biz_content = [
- 'fSeqNo' => createUniqueNo('fseq', $grade_id),
- 'corpCode' => 'xingfulishequ',
- 'mobilePhone' => $this->auth->mobile,
- 'integralValue' => $score,
- 'integralType' => '',
- /* 'remark1' => '',
- 'remark2' => '',
- 'remark3' => '',
- 'remark4' => '',
- 'remark5' => '',
- 'remark6' => '',
- 'remark7' => '',*/
- ];
- $public_key = APP_PATH.'/common/certs/icbc/public_key.pem';
- $private_key = APP_PATH.'/common/certs/icbc/private_key.pem';
- $rsautil = new RsaUtil($public_key,$private_key);
- $sign = $rsautil->publicEncrypt(json_encode($biz_content));
- dump($sign);
- $data = [
- 'app_id' => '10000000000004096993',
- 'msg_id' => createUniqueNo('msg', $grade_id),
- 'format' => 'json',
- 'charset' => 'UTF-8',
- // 'encrypt_type'=> 'AES',
- 'sign_type' => 'RSA',
- 'sign' => $sign,
- 'timestamp' => date('Y-m-d H:i:s'),
- // 'ca' => '',
- 'biz_content' => $biz_content,
- ];
- $rs = curl_post($url, json_encode($data, JSON_UNESCAPED_UNICODE));
- //dump($rs);
- }
- }
|