介紹
最新項目——會員收費,目的是要以更好的展現形式表現給用戶,以及添加了新功能(會員機制)。
索引
流程圖
1> 展示界面
2> 獲取折扣價格
接口說明
http請求腳本(curl或socket)
測試數據
流程圖
其中裡面的demo:是通過url進行展現,裡面的mst是參數,通過不同的參數進行展現。如:http://www.demo.com/?mst=1表示參數為1的demo樣式。
展示界面(4種情況)
獲取折扣價格
接口說明
1、開通高級會員
psid=2
pstype=101
2、開通會員
psid=1
pstype=101
3、[會員/高級會員]價格信息
wiki地址:http://wiki.1verge.net/projects:premium:v2:product_rules_api#根據會員等級id獲取等級信息
4、[是否是會員]
wiki地址:http://wiki.1verge.net/projects:premium:v2:verify_center_api#獲取當前會員等級
5、[折扣信息]
wiki地址:http://wiki.1verge.net/projects:premium:v2:operation_api#根據用戶id_服務id_服務類型_服務周期數_獲得當前用戶可以享受的折扣策略
6、可包月節目+有權觀看+高級會員則顯示“您是高級會員,可免費觀看此節目”
7、僅包月節目+有權觀看+高級會員提示“續費”
8、除6以外+有權觀看則顯示“截止日期”
可以在Premium.class.php中list_shows_by_pkgid函數下面繼續封裝調用函數
http請求腳本(curl或socket)
復制代碼 代碼如下:
<?php
function httpRequest($url, $hostName, array $params){
$postParams = array();
foreach ($params as $key=>$val) {
$post_params[] = $key.'='.rawurlencode($val);
}
$postString = implode('&', $post_params);
$result = '';
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: ' . $hostName));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'DEMO.COM PREMIUM PHP5 Client ver: ' . phpversion());
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
$result = curl_exec($ch);
curl_close($ch);
} else {
$context = array('http' => array('method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded' . "\r\n".
'Host: '.$hostName . "\r\n".
'User-Agent: TEST.COM BC Test PHP5 Client ver: ' . phpversion() . "\r\n".
'Content-length: ' . strlen($postString),
'content' => $postString));
$contextId = stream_context_create($context);
$handle = fopen($url, 'r', false, $contextId);
if ($handle) {
while (!feof($handle)) $result .= fgets($sock, 4096);
fclose($handle);
}
}
return $result;
}
測試數據
1、點播信息節目ID:1e390718b72311df97c0.html
2、vip用戶ID:123350942
3、普通用戶ID:106738702
有權觀看的節目ID:cbfb035e962411de83b1.html