介紹
最新項目——會員收費,目的是要以更好的展現形式表現給使用者,以及添加了新功能(會員機制)。
索引
流程圖
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