| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | <?phpnamespace app\api\controller;use app\common\controller\Api;use app\common\library\RsaUtil;use app\common\library\Wechat;/** * 示例接口 */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()    {        $a = '我要反馈一';        $b = mb_substr($a,0,12) . ((mb_strlen($a) > 12) ? '...' : '');        echo $b;    }    /**     * 无需登录的接口     *     */    public function test1()    {        $this->success('返回成功', ['action' => 'test1']);    }    /**     * 需要登录的接口     *     */    public function test2()    {        $this->success('返回成功', ['action' => 'test2']);    }    public function send_minimsg(){        $config = config('wxMiniProgram');        $wechat = new Wechat($config['appid'],$config['secret']);        //活动开始        $template_id = $config['mini_msgid_order'];        $data = [            'thing4' => ['value' => '活动名称'],            'thing6' => ['value' => '活动地址'],            'date5'  => ['value' => '2025-06-27 14:00'],            'thing7' => ['value' => '明天开始,不要迟到哦'],        ];        $rs = $wechat->send($template_id,'odWcF7sjejGL7d-0DuCmbmbcH1yA',$data);        dump($rs);        //意见反馈        $template_id = $config['mini_msgid_feedback'];        $data = [            'thing4' => ['value' => '动画视频功能'],            'thing5' => ['value' => '无法上传'],            'thing6' => ['value' => '已经处理完毕了'],        ];        $rs = $wechat->send($template_id,'odWcF7sjejGL7d-0DuCmbmbcH1yA',$data);        dump($rs);    }    /**     * 需要登录且需要验证有相应组的权限     *     */    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);    }}
 |