1 下载淘宝客SDK;因为应用不同SDK不同。登录后,创建应用,淘宝客的应用在 其他->其他 属于联盟合作网站。
创建应用后就可以下载淘宝客的SDK了。
2 thinkphp 5.1.31 vendor 引入我试了不起作用,只好放在 extend里面了。然后就是引入了。
贴代码:
<?php
namespace app\index\controller;
use app\index\controller\Base;
use think\Request;
use think\Db;
use think\facade\Session;
use think\facade\Config;
use think\cache\driver\Redis;
use think\facade\Hook;
require '../extend/tbk/TopSdk.php';
class Index extends Base
{
public function index()
{
$page = request()->param('page') >0 ? request()->param('page'):1;
$pageSize = 20;
//设计redis的 key
//今日特惠+分类路径+排序+分页+分页数 jrth_4094_1_100
$redis_key = 'jrth_4094_'.$page.'_'.$pageSize;
$redis = new Redis();
if($redis->get($redis_key)==false){
$appkey = Config::get('app.tbk.appkey');
$secret = Config::get('app.tbk.secret');
$c = new \TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$c->format = 'json';
$req = new \TbkDgOptimusMaterialRequest;
$req->setPageSize("20");
$req->setAdzoneId(Config::get('app.tbk.adzoneid_rjth'));
$req->setPageNo($page);
$req->setMaterialId("4094");
$resp = $c->execute($req);
//接口数据处理 对象转数组存入redis
$result_list = (array)$resp->result_list;
$arr_list = (array)$result_list['map_data'];
foreach ($arr_list as $key => $value) {
$arr_list[$key] = (array)$value;
$arr_list[$key]['yongjin'] = intval($arr_list[$key]['zk_final_price']) * $arr_list[$key]['commission_rate']/100 * 0.8;
$arr_list[$key]['yongjin'] = round($arr_list[$key]['yongjin'],2);
}
$redis_time_out = 300;//缓存时间5分钟
$redis->set($redis_key,serialize($arr_list),$redis_time_out);
}
$results = $redis->get($redis_key);
$this->assign('list', unserialize($results));
$this->assign('page', $page);
return $this->fetch();
}