小米营销App投放--php

文档地址:

https://api.e.mi.com/doc.html#/1.0.0-mdtag9b26f-omd/document-f0283649125f62138db43c6f5fc25686

class Xiaomi
{
/********这里的具体账号自己填**********/
    public $encrypt_key = '';
    public $sign_key = '';
    public $appId = '';
    public $customerId = '';
    public $url = 'http://trail.e.mi.com/global/log';


    public function callback($request, $ua, $ip)
    {
        try{
            list($t1, $t2) = explode(' ', microtime());
            $str_time = sprintf('%u', (floatval($t1) + floatval($t2)) * 1000);
            $params = [
                'imei' => (isset($request['imei']) && $request['imei']) ? md5($request['imei']) : '',
                'oaid' => (isset($request['ou_id']) && $request['ou_id']) ? $request['ou_id'] : '',
                'conv_time' => $str_time,
                'client_ip' => $ip,
                'ua' => $ua
            ];
            if(!$params['imei']){
                unset($params['imei']);
            }
            if(!$params['oaid']){
                unset($params['oaid']);
            }
            $queryString = http_build_query($params);
            $property = $this->sign_key . '&' . urlencode($queryString);
            $signature = md5($property);

            $baseData = $queryString . '&sign=' . urlencode($signature);

            $info = $this->mima($baseData);

            $queryParams = [
                'appId' => $this->appId,
                'info' => $info,
                'conv_type' => 'APP_ACTIVE_NEW',
                'customer_id' => $this->customerId,
            ];
           $this->request($queryParams);
        }catch(\Exception $e){
           dd('error');
        }

    }

    public function request($queryParams)
    {
        $url = $this->url . '?' . http_build_query($queryParams);
        $client = new Client();
        $response = $client->get($url);
        $data = $response->getBody()->getContents();
         dd($data);
    }

    public function jiajiemi($q)
    {
        $crytxt = '';
        for ($i = 0; $i < strlen($q); $i++) {
            $m = $i % strlen($this->encrypt_key);
            $crytxt .= $q[$i] ^ $k[$m];
        }
        return $crytxt;

    }

    public function mima($q)
    {
        $str = $this->jiajiemi($q);
        return base64_encode($str);
    }

Base64(simple_xor{base_data, encrypt_key}),这个地方有点难,调用上面mima()解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值