抖店开放平台

抖店开放平台签名

    /**
     * 构造请求参数
     *
     * @param $params
     * @param $method
     *
     * @return array
     */
    protected function dealParams($params, $method)
    {
        if (empty($params)) {
            $param_json = '{}';
        } else {
            ksort($params);
            foreach ($params as &$value) {
                $value = str_replace(['&', '<', '>'], ['\u0026', '\u003c', '\u00ce'], $value);
            }
            $param_json = json_encode($params, 256);
            $param_json = str_replace("\\/", "/", $param_json);
        }

        return [
            'app_key' => $this->app_id,
            'access_token' => $this->token,
            'method' => $method,
            'param_json' => $param_json,
            'timestamp' => date('Y-m-d H:i:s'),
            'v' => 2,
        ];
    }


    /**
     * 生成签名
     *
     * @param $data
     *
     * @return string
     */
    public function createSign($data)
    {
        if (isset($data['sign_method'])) {
            unset($data['sign_method']);
        }

        if (isset($data['access_token'])) {
            unset($data['access_token']);
        }

        ksort($data);
        $str = '';
        foreach ($data as $key => $item) {
            $str .= $key . $item;
        }
        $str = $this->secret . $str . $this->secret;

        return md5($str);
    }


    /**
     * 批量解密接口
     *
     * @see https://op.jinritemai.com/docs/api-docs/15/509
     *
     * @param $param
     *
     * @return array
     */
    public function batchDecrypt($param)
    {
        $params = $this->dealParams($param, 'order.batchDecrypt');
        $params['sign'] = $this->createSign($params);
        $data = $this->request('GET', '/order/batchDecrypt', ['query' => $params]);

        return $this->dealReturn($data, '/order/batchDecrypt');
    }
本作品采用《CC 协议》,转载必须注明作者和本文链接
感谢阅读,有收获的话不妨点个赞:smiling_imp:
讨论数量: 2
if (isset($data['sign_method'])) {
    unset($data['sign_method']);
}

if (isset($data['access_token'])) {
    unset($data['access_token']);
}

我会替换成为

$data = array_filter($data, function ($key) {
    if (in_array($key, ['sign_method', 'access_token'])) {
        return false;
    }
    return true;
}, ARRAY_FILTER_USE_KEY);

个人习惯哈哈哈

2年前 评论
declandragon (楼主) 2年前
mojiajuzi 2年前
declandragon (楼主) 2年前

那么巧,最近我也在对接抖店。

2年前 评论
declandragon (楼主) 2年前
mojiajuzi 2年前
myhui0926 (作者) 2年前
mojiajuzi 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!