Toggle navigation
Toggle navigation
This project
Loading...
Sign in
wangshusheng
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to dashboard
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
于良
9 years ago
Commit
9e7081031c103b62867201504676dfb94c758fed
1 parent
dcaec63c
逛接口升级
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
177 additions
and
27 deletions
library/Api/Yohobuy.php
library/LibModels/Wap/Guang/DetailData.php
library/LibModels/Wap/Guang/ListData.php
library/LibModels/Wap/Guang/OptData.php
library/LibModels/Wap/Guang/PlusstarData.php
library/Api/Yohobuy.php
View file @
9e70810
...
...
@@ -23,11 +23,11 @@ class Yohobuy
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
//java API
const
API_URL
=
'http://apih5.yoho.cn/'
;
const
API_URL2
=
'http://apih5.yoho.cn/'
;
const
SERVICE_URL
=
'http://serviceh5.yoho.cn/'
;
const
YOHOBUY_URL
=
'http://www.yohobuy.com/'
;
const
API_OLD
=
'http://api2.open.yohobuy.com/'
;
// const API_URL = 'http://apih5.yoho.cn/';
// const API_URL2 = 'http://apih5.yoho.cn/';
// const SERVICE_URL = 'http://serviceh5.yoho.cn/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://api2.open.yohobuy.com/';
// const API_URL = 'http://api.yoho.cn/';
// const API_URL2 = 'http://api.yoho.cn/';
...
...
@@ -44,10 +44,13 @@ class Yohobuy
/* 测试环境 java API*/
// const API_URL = 'http://testapi.yoho.cn:28078/'; // 'http://devapi.yoho.cn:58078/';
// const DEV_API_URL = 'http://devapi.yoho.cn:58078/';
// const SERVICE_URL = 'http://testservice.yoho.cn:28077/'; // 'http://devservice.yoho.cn:58077/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://test2.open.yohobuy.com/';
const
API_URL
=
'http://devapi.yoho.cn:58078/'
;
const
DEV_API_URL
=
'http://devapi.yoho.cn:58078/'
;
const
SERVICE_URL
=
'http://testservice.yoho.cn:28077/'
;
// 'http://devservice.yoho.cn:58077/';
const
DEV_SERVICE_URL
=
'http://devservice.yoho.cn:58077/'
;
const
PRD_SERVICE_URL
=
'http://serviceh5.yoho.cn/'
;
const
YOHOBUY_URL
=
'http://www.yohobuy.com/'
;
const
API_OLD
=
'http://test2.open.yohobuy.com/'
;
/* 测试环境 php API*/
// const API_URL = 'http://test2.open.yohobuy.com/';
...
...
@@ -71,6 +74,7 @@ class Yohobuy
'iphone'
=>
'a85bb0674e08986c6b115d5e3a4884fa'
,
'ipad'
=>
'ad9fcda2e679cf9229e37feae2cdcf80'
,
'web'
=>
'0ed29744ed318fd28d2c07985d3ba633'
,
'h5'
=>
'fd4ad5fcfa0de589ef238c0e7331b585'
,
);
/**
...
...
library/LibModels/Wap/Guang/DetailData.php
View file @
9e70810
...
...
@@ -5,6 +5,7 @@ namespace LibModels\Wap\Guang;
use
Api\Yohobuy
;
use
Configs\CacheConfig
;
use
Plugin\Cache
;
use
Api\Sign
;
/**
* 逛资讯详情相关的数据模型
...
...
@@ -45,7 +46,17 @@ class DetailData
// 先尝试获取一级缓存(master), 有数据则直接返回.
$cached
=
Cache
::
get
(
$key
,
'master'
);
if
(
!
empty
(
$cached
))
{
$article
=
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
,
'getArticle'
,
array
(
$id
,
$clientType
),
false
,
1000
);
// $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1000);
// 获取资讯
$param
=
Yohobuy
::
param
();
$param
[
'article_id'
]
=
$id
;
$param
[
'client_type'
]
=
$clientType
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$result
=
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
.
'getArticle'
,
$param
);
$article
=
$result
[
'data'
];
if
(
isset
(
$article
[
'pageViews'
]))
{
$cached
[
'getArticle'
][
'pageViews'
]
=
$article
[
'pageViews'
];
}
...
...
@@ -54,7 +65,20 @@ class DetailData
}
// 获取资讯
$article
=
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
,
'getArticle'
,
array
(
$id
,
$clientType
),
false
,
1500
);
// $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1500);
// ksort($article);
// file_put_contents('../../../../../../Desktop/app/o/getArticle.txt', var_export($article, true));
// 获取资讯
$param
=
Yohobuy
::
param
();
$param
[
'article_id'
]
=
$id
;
$param
[
'client_type'
]
=
$clientType
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$result
=
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
.
'getArticle'
,
$param
);
$article
=
$result
[
'data'
];
// file_put_contents('../../../../../../Desktop/app/n/getArticle3.txt', var_export($article, true));
if
(
!
isset
(
$article
[
'author_id'
]))
{
// 再尝试获取二级缓存(slave), 有数据则直接返回.
$cached
=
Cache
::
get
(
$key
,
'slave'
);
...
...
@@ -65,31 +89,89 @@ class DetailData
}
$result
[
'getArticle'
]
=
$article
;
// 获取作者信息
$param
=
Yohobuy
::
param
();
$param
[
'author_id'
]
=
$article
[
'author_id'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$urlList
[
'getAuthor'
]
=
Yohobuy
::
httpBuildQuery
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_AUTHOR
.
'getAuthor'
,
$param
);
// 获取资讯内容
$param
=
Yohobuy
::
param
();
$param
[
'article_id'
]
=
$id
;
$param
[
'client_type'
]
=
$clientType
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$urlList
[
'getArticleContent'
]
=
Yohobuy
::
httpBuildQuery
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
.
'getArticleContent'
,
$param
);
// 获取资讯相关的品牌
$param
=
Yohobuy
::
param
();
$param
[
'article_id'
]
=
$id
;
$param
[
'client_type'
]
=
$clientType
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$urlList
[
'getBrand'
]
=
Yohobuy
::
httpBuildQuery
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
.
'getBrand'
,
$param
);
// 获取资讯相关的其它资讯
if
(
isset
(
$article
[
'tag'
]))
{
$param
=
Yohobuy
::
param
();
$param
[
'article_id'
]
=
$id
;
$param
[
'client_type'
]
=
$clientType
;
$param
[
'tags'
]
=
$article
[
'tag'
];
$param
[
'offset'
]
=
0
;
$param
[
'limit'
]
=
3
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$urlList
[
'getOtherArticle'
]
=
Yohobuy
::
httpBuildQuery
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
.
'getOtherArticle'
,
$param
);
}
$multiResult
=
Yohobuy
::
getMulti
(
$urlList
,
array
());
$result
[
'getAuthor'
]
=
$multiResult
[
'getAuthor'
];
$result
[
'getArticleContent'
]
=
$multiResult
[
'getArticleContent'
];
$result
[
'getBrand'
]
=
$multiResult
[
'getBrand'
];
$result
[
'getOtherArticle'
]
=
$multiResult
[
'getOtherArticle'
];
// var_dump($urlList);
// file_put_contents('../../../../../../Desktop/app/n/getAuthor.txt', var_export($result['getAuthor'], true));
// file_put_contents('../../../../../../Desktop/app/n/getArticleContent.txt', var_export($result['getArticleContent'], true));
// file_put_contents('../../../../../../Desktop/app/n/getBrand.txt', var_export($result['getBrand'], true));
// file_put_contents('../../../../../../Desktop/app/n/getOtherArticle.txt', var_export($result['getOtherArticle'], true));
/*
// 获取作者信息
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_AUTHOR, 'getAuthor', array($article['author_id'], $clientType), function ($retval) use (&$result) {
$result['getAuthor'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getAuthor.txt', var_export($retval, true));
});
// 获取资讯内容
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
$result['getArticleContent'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getArticleContent.txt', var_export($retval, true));
});
// 获取资讯相关的品牌
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
$result['getBrand'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getBrand.txt', var_export($retval, true));
});
// 获取资讯相关的其它资讯
if (isset($article['tag'])) {
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getOtherArticle', array($article['tag'], $id, 0, 3, $clientType), function ($retval) use (&$result) {
$result['getOtherArticle'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getOtherArticle.txt', var_export($retval, true));
});
}
// 调用发起请求
Yohobuy::yarConcurrentLoop();
*/
if
(
USE_CACHE
)
{
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
if
(
empty
(
$result
))
{
...
...
@@ -181,7 +263,15 @@ class DetailData
*/
public
static
function
intro
(
$id
)
{
return
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
,
'getArticleContent'
,
array
(
$id
,
'h5'
));
$param
=
Yohobuy
::
param
();
$param
[
'article_id'
]
=
$id
;
$param
[
'client_type'
]
=
'h5'
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$result
=
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_PACKAGE_ARTICLE
.
'getArticleContent'
,
$param
);
return
$result
[
'data'
];
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, 'h5'));
}
}
...
...
library/LibModels/Wap/Guang/ListData.php
View file @
9e70810
...
...
@@ -118,7 +118,13 @@ class ListData
$result
=
array
();
if
(
is_numeric
(
$id
))
{
$result
=
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_AUTHOR
,
'getAuthor'
,
array
(
$id
),
3600
);
// 缓存1小时
// $result = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
$param
=
Yohobuy
::
param
();
$param
[
'author_id'
]
=
$id
;
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$article
=
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_AUTHOR
.
'getAuthor'
,
$param
,
3600
);
$result
=
$article
[
'data'
];
}
return
$result
;
...
...
library/LibModels/Wap/Guang/OptData.php
View file @
9e70810
...
...
@@ -3,6 +3,7 @@
namespace
LibModels\Wap\Guang
;
use
Api\Yohobuy
;
use
Api\Sign
;
/**
* 逛操作相关的数据模型
...
...
@@ -26,11 +27,17 @@ class OptData
*/
public
static
function
favoriteBrand
(
$uid
,
$id
,
$opt
=
'ok'
)
{
if
(
$opt
==
'ok'
)
{
return
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
'guang/service/v2/favorite/'
,
'toggleBrand'
,
array
(
$uid
,
$id
));
}
else
{
return
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
'guang/service/v2/favorite/'
,
'toggleBrand'
,
array
(
$uid
,
$id
));
}
$param
=
Yohobuy
::
param
();
$param
[
'uid'
]
=
$uid
;
$param
[
'id'
]
=
$id
;
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
return
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
'guang/service/v2/favorite/toggleBrand'
,
$param
);
// if ($opt == 'ok') {
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
// } else {
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
// }
}
/**
...
...
@@ -43,10 +50,19 @@ class OptData
*/
public
static
function
favoriteProduct
(
$uid
,
$skn
,
$opt
=
'ok'
)
{
$param
=
Yohobuy
::
param
();
$param
[
'uid'
]
=
$uid
;
$param
[
'productSkn'
]
=
$skn
;
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
if
(
$opt
===
'cancel'
)
{
return
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
'shops/service/v1/favorite/'
,
'addUidProductFav'
,
array
(
$uid
,
$skn
));
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'addUidProductFav', array($uid, $skn));
return
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
'shops/service/v1/favorite/addUidProductFav'
,
$param
);
}
else
{
return
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
'shops/service/v1/favorite/'
,
'delUidProductFav'
,
array
(
$uid
,
$skn
));
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'delUidProductFav', array($uid, $skn));
return
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
'shops/service/v1/favorite/delUidProductFav'
,
$param
);
}
}
...
...
library/LibModels/Wap/Guang/PlusstarData.php
View file @
9e70810
...
...
@@ -23,6 +23,7 @@ class PlusstarData
const
URI_BRANDLIST
=
'guang/api/v3/plustar/getlist'
;
const
URI_BRANDINFO_PLUSSTAR
=
'guang/service/v3/plustar/'
;
// 'guang/service/v3/plustar/'
const
URI_BRANDINFO_PLUSSTAR_NEW
=
'guang/api/v1/plustar/'
;
const
URI_BRANDINFO_FAVORITE
=
'shops/service/v1/favorite/'
;
const
URI_BRANDINFO_ARTICLE
=
'guang/service/v1/article/'
;
...
...
@@ -139,17 +140,35 @@ class PlusstarData
if
(
!
empty
(
$cached
))
{
// 判断用户是否已收藏
if
(
$isUidOk
)
{
$getUidBrandFav
=
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_BRANDINFO_FAVORITE
,
'getUidBrandFav'
,
array
(
$uid
,
$cached
[
'getBrandInfo'
][
'data'
][
'brand_id'
]),
false
,
1000
);
// $getUidBrandFav = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $cached['getBrandInfo']['data']['brand_id']), false, 1000);
$param
=
Yohobuy
::
param
();
$param
[
'uid'
]
=
$uid
;
$param
[
'brandId'
]
=
$cached
[
'getBrandInfo'
][
'data'
][
'brand_id'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$getUidBrandFav
=
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_BRANDINFO_FAVORITE
.
'getUidBrandFav'
,
$param
);
// file_put_contents('../../../../../../Desktop/app/n/getUidBrandFav.txt', var_export($getUidBrandFav, true));
if
(
isset
(
$getUidBrandFav
[
'code'
])
&&
$getUidBrandFav
[
'code'
]
==
200
)
{
$cached
[
'getUidBrandFav'
]
=
true
;
}
}
return
$cached
;
}
}
// 品牌详情信息
$brandInfo
=
Yohobuy
::
yarClient
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_BRANDINFO_PLUSSTAR
,
'getBrandInfo'
,
array
(
array
(
'id'
=>
$id
)),
3600
);
// 缓存1小时
// $brandInfo = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR, 'getBrandInfo', array(array('id' => $id)), 3600); // 缓存1小时
// file_put_contents('../../../../../../Desktop/app/o/getbrandinfo.txt', var_export($brandInfo, true));
// 品牌详情信息
$param
=
Yohobuy
::
param
();
$param
[
'id'
]
=
$id
;
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$brandInfo
=
Yohobuy
::
get
(
Yohobuy
::
DEV_SERVICE_URL
.
self
::
URI_BRANDINFO_PLUSSTAR_NEW
.
'getbrandinfo'
,
$param
,
3600
);
// file_put_contents('../../../../../../Desktop/app/n/getbrandinfo.txt', var_export($brandInfo, true));
if
(
!
isset
(
$brandInfo
[
'data'
][
'brand_id'
]))
{
// 再尝试获取二级缓存(master), 有数据则直接返回.
$cached
=
Cache
::
get
(
$key
,
'slave'
);
...
...
@@ -161,6 +180,20 @@ class PlusstarData
$result
[
'getBrandInfo'
]
=
$brandInfo
;
}
// 相关资讯列表 (3篇)
$result
[
'getArticleByBrand'
]
=
array
();
$param
=
Yohobuy
::
param
();
$param
[
'brand_id'
]
=
$brandInfo
[
'data'
][
'brand_id'
];
$param
[
'udid'
]
=
$udid
;
$param
[
'limit'
]
=
3
;
$param
[
'client_type'
]
=
$clientType
;
$param
[
'private_key'
]
=
Yohobuy
::
$privateKeyList
[
'h5'
];
$param
[
'client_secret'
]
=
Sign
::
getSign
(
$param
);
$article
=
Yohobuy
::
get
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_BRANDINFO_ARTICLE
.
'getArticleByBrand'
,
$param
);
$result
[
'getArticleByBrand'
]
=
empty
(
$article
[
'data'
])
?
array
()
:
$article
[
'data'
];
// file_put_contents('../../../../../../Desktop/app/n/getArticleByBrand.txt', var_export($result['getArticleByBrand'], true));
// // 是否收藏店铺
// if ($isUidOk) {
// Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $brandInfo['data']['brand_id']), function($retval) use(&$result) {
...
...
@@ -168,10 +201,11 @@ class PlusstarData
// });
// }
// 相关资讯列表 (3篇)
$result
[
'getArticleByBrand'
]
=
array
();
Yohobuy
::
yarConcurrentCall
(
Yohobuy
::
SERVICE_URL
.
self
::
URI_BRANDINFO_ARTICLE
,
'getArticleByBrand'
,
array
(
$brandInfo
[
'data'
][
'brand_id'
],
3
,
$udid
),
function
(
$retval
)
use
(
&
$result
)
{
$result
[
'getArticleByBrand'
]
=
empty
(
$retval
)
?
array
()
:
$retval
;
});
// $result['getArticleByBrand'] = array();
// Yohobuy::yarConcurrentCall(Yohobuy::PRD_SERVICE_URL . self::URI_BRANDINFO_ARTICLE, 'getArticleByBrand', array($brandInfo['data']['brand_id'], 3, $udid), function($retval) use(&$result) {
// $result['getArticleByBrand'] = empty($retval) ? array() : $retval;
// file_put_contents('../../../../../../Desktop/app/o/getArticleByBrand.txt', var_export($retval, true));
// });
// 新品到着列表 (6篇)
$result
[
'getNewProduct'
]
=
array
();
...
...
@@ -229,7 +263,7 @@ class PlusstarData
}
while
(
false
);
// 调用发起请求
Yohobuy
::
yarConcurrentLoop
();
//
Yohobuy::yarConcurrentLoop();
if
(
USE_CACHE
)
{
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
...
...
Please
register
or
login
to post a comment