php开发文档 会员收费1期
介绍
最新项目——会员收费,目的是要以更好的展现形式表现给用户,以及添加了新功能(会员机制)。
索引
流程图
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
上一篇: JS常见算法详解