界面修改 上线极狐
This commit is contained in:
@@ -944,6 +944,40 @@ namespace Home.Controllers
|
|||||||
return View(model);
|
return View(model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//0 无状态 1:尊享 2:高级 3:普通
|
||||||
|
var pro_type_flag_jihu = 0;
|
||||||
|
var pro_type_temp_jihu = 0;
|
||||||
|
if (productId == 29) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
accountList.ForEach(m => {
|
||||||
|
|
||||||
|
|
||||||
|
if (m.PackageId<1193) {
|
||||||
|
pro_type_flag_jihu = 1;
|
||||||
|
}
|
||||||
|
if (m.PackageId>1192&&m.PackageId<1199) {
|
||||||
|
pro_type_flag_jihu = 2;
|
||||||
|
}
|
||||||
|
if (m.PackageId>1199&&m.PackageId<1205) {
|
||||||
|
pro_type_flag_jihu = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pro_type_temp_jihu==0){
|
||||||
|
pro_type_temp_jihu = pro_type_flag_jihu;
|
||||||
|
}
|
||||||
|
if (pro_type_temp_jihu!=pro_type_flag_jihu){
|
||||||
|
ViewBag.errorTip = "不同类型不能同时续费";
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
if (ViewBag.errorTip == "不同类型不能同时续费"){
|
||||||
|
return View(model);
|
||||||
|
}
|
||||||
|
}
|
||||||
//0 无状态 1:1m 5m 3:10m 4:20m
|
//0 无状态 1:1m 5m 3:10m 4:20m
|
||||||
var pro_type_flag_qilindongtai = 0;
|
var pro_type_flag_qilindongtai = 0;
|
||||||
var pro_type_temp_qilindongtai = 0;
|
var pro_type_temp_qilindongtai = 0;
|
||||||
@@ -1096,6 +1130,16 @@ namespace Home.Controllers
|
|||||||
if (pro_type_temp_liebao ==3 && m.Id>1103&&m.Id<1109) {
|
if (pro_type_temp_liebao ==3 && m.Id>1103&&m.Id<1109) {
|
||||||
package_temp.Add(m);
|
package_temp.Add(m);
|
||||||
}
|
}
|
||||||
|
}else if(m.ProductId == 29){
|
||||||
|
if (pro_type_temp_jihu ==1 && m.Id<1193) {
|
||||||
|
package_temp.Add(m);
|
||||||
|
}
|
||||||
|
if (pro_type_temp_jihu ==2 && m.Id>1192&&m.Id<1199) {
|
||||||
|
package_temp.Add(m);
|
||||||
|
}
|
||||||
|
if (pro_type_temp_jihu ==3 && m.Id>1199&&m.Id<1205) {
|
||||||
|
package_temp.Add(m);
|
||||||
|
}
|
||||||
}else if(m.ProductId == 27){
|
}else if(m.ProductId == 27){
|
||||||
if (pro_type_temp_qilindongtai ==1 && m.Id<1121) {
|
if (pro_type_temp_qilindongtai ==1 && m.Id<1121) {
|
||||||
package_temp.Add(m);
|
package_temp.Add(m);
|
||||||
@@ -1168,6 +1212,16 @@ namespace Home.Controllers
|
|||||||
if (pro_type_temp_liebao ==3 && m.Id>1103&&m.Id<1109) {
|
if (pro_type_temp_liebao ==3 && m.Id>1103&&m.Id<1109) {
|
||||||
package_temp.Add(m);
|
package_temp.Add(m);
|
||||||
}
|
}
|
||||||
|
}else if(m.ProductId == 29){
|
||||||
|
if (pro_type_temp_jihu ==1 && m.Id<1193) {
|
||||||
|
package_temp.Add(m);
|
||||||
|
}
|
||||||
|
if (pro_type_temp_jihu ==2 && m.Id>1192&&m.Id<1199) {
|
||||||
|
package_temp.Add(m);
|
||||||
|
}
|
||||||
|
if (pro_type_temp_jihu ==3 && m.Id>1199&&m.Id<1205) {
|
||||||
|
package_temp.Add(m);
|
||||||
|
}
|
||||||
}else if(m.ProductId == 27){
|
}else if(m.ProductId == 27){
|
||||||
if (pro_type_temp_qilindongtai ==1 && m.Id<1121) {
|
if (pro_type_temp_qilindongtai ==1 && m.Id<1121) {
|
||||||
package_temp.Add(m);
|
package_temp.Add(m);
|
||||||
|
|||||||
@@ -389,6 +389,11 @@
|
|||||||
this.search_field = '蘑菇IP';
|
this.search_field = '蘑菇IP';
|
||||||
this.sstp = '4430';
|
this.sstp = '4430';
|
||||||
break;
|
break;
|
||||||
|
case 29:
|
||||||
|
this.l2tp = '8899';
|
||||||
|
this.search_field = '极狐IP';
|
||||||
|
this.sstp = '4430';
|
||||||
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
this.l2tp = '888888';
|
this.l2tp = '888888';
|
||||||
this.search_field = '火狐IP';
|
this.search_field = '火狐IP';
|
||||||
@@ -507,6 +512,9 @@
|
|||||||
case 18:
|
case 18:
|
||||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
self.location.href='https://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
||||||
break;
|
break;
|
||||||
|
case 29:
|
||||||
|
self.location.href='https://php-api.juip.com/script/linedata/data/download/jihu.csv';
|
||||||
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/tiantian.csv';
|
self.location.href='https://php-api.juip.com/script/linedata/data/download/tiantian.csv';
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -185,7 +185,11 @@
|
|||||||
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
|
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
|
||||||
<a href="#@item.Product.Id" class="click_product" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">超快</span></a>
|
<a href="#@item.Product.Id" class="click_product" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">超快</span></a>
|
||||||
</li>
|
</li>
|
||||||
} else if(item.Product.Id == 14) {
|
} else if(item.Product.Id == 29) {
|
||||||
|
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
|
||||||
|
<a href="#@item.Product.Id" class="click_product" id="p29" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">超快</span></a>
|
||||||
|
</li>
|
||||||
|
}else if(item.Product.Id == 14) {
|
||||||
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
|
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
|
||||||
<a href="#@item.Product.Id" class="click_product" id="p14" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name</a>
|
<a href="#@item.Product.Id" class="click_product" id="p14" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name</a>
|
||||||
</li>
|
</li>
|
||||||
@@ -267,6 +271,14 @@
|
|||||||
<button type="button" onclick="lbputong()" class="btn btn-default btn-lg lbpt" style="background-color: white;font-size:1.3em;margin-top:10px;">普通版-限速2M</button>
|
<button type="button" onclick="lbputong()" class="btn btn-default btn-lg lbpt" style="background-color: white;font-size:1.3em;margin-top:10px;">普通版-限速2M</button>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if (item.Product.Id == 29){
|
||||||
|
<div class="p_type @("type"+item.Product.Id)" style="padding-top: 10px;">
|
||||||
|
<button type="button" onclick="jhzhizun()" class="btn btn-default btn-lg jhzx" style="background-color: #FF9900;font-size:1.3em;">尊享版-不限速</button>
|
||||||
|
<button type="button" onclick="jhgaoji()" class="btn btn-default btn-lg jhgj" style="background-color: white;font-size:1.3em;">高级版-限速6M</button><br>
|
||||||
|
<button type="button" onclick="jhputong()" class="btn btn-default btn-lg jhpt" style="background-color: white;font-size:1.3em;margin-top:10px;">普通版-限速2M</button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
@if (item.Product.Id == 27){
|
@if (item.Product.Id == 27){
|
||||||
<div class="p_type @("type"+item.Product.Id)" style="padding-top: 10px;">
|
<div class="p_type @("type"+item.Product.Id)" style="padding-top: 10px;">
|
||||||
<button type="button" onclick="qldt1()" class="btn btn-default btn-lg qldt1" style="background-color: #FF9900;font-size:1.3em;float:left;margin:5px;">2M</button>
|
<button type="button" onclick="qldt1()" class="btn btn-default btn-lg qldt1" style="background-color: #FF9900;font-size:1.3em;float:left;margin:5px;">2M</button>
|
||||||
@@ -517,7 +529,7 @@
|
|||||||
项目选择:
|
项目选择:
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-9">
|
<div class="col-sm-9">
|
||||||
<select class="form-control selectpicker" data-live-search="true" v-model="qilin.game_id" @@change="select_game" style="height:30px;font-size:15px;">
|
<select class="form-control selectpicker" id="gameselect" data-live-search="true" v-model="qilin.game_id" @@change="select_game" style="height:30px;font-size:15px;">
|
||||||
<option value="0">-请选择项目-</option>
|
<option value="0">-请选择项目-</option>
|
||||||
<option v-for="item in game_list" :value="item.id">{{item.name}}</option>
|
<option v-for="item in game_list" :value="item.id">{{item.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -1070,6 +1082,7 @@
|
|||||||
$(".type26").hide();
|
$(".type26").hide();
|
||||||
$(".type6").hide();
|
$(".type6").hide();
|
||||||
$(".type27").hide();
|
$(".type27").hide();
|
||||||
|
$(".type29").hide();
|
||||||
$("#package-89").show();
|
$("#package-89").show();
|
||||||
$("#package-69").show();
|
$("#package-69").show();
|
||||||
$("#package-70").show();
|
$("#package-70").show();
|
||||||
@@ -1089,6 +1102,7 @@
|
|||||||
$(".type26").show();
|
$(".type26").show();
|
||||||
$(".type6").hide();
|
$(".type6").hide();
|
||||||
$(".type27").hide();
|
$(".type27").hide();
|
||||||
|
$(".type29").hide();
|
||||||
|
|
||||||
for (var i=1090;i<1097;i++){
|
for (var i=1090;i<1097;i++){
|
||||||
$("#package-"+i).show();
|
$("#package-"+i).show();
|
||||||
@@ -1100,11 +1114,29 @@
|
|||||||
$(".lbgj").css('background-color','white');
|
$(".lbgj").css('background-color','white');
|
||||||
$(".lbpt").css('background-color','white');
|
$(".lbpt").css('background-color','white');
|
||||||
});
|
});
|
||||||
|
$("#p29").click(function () {
|
||||||
|
$(".type14").hide();
|
||||||
|
$(".type29").show();
|
||||||
|
$(".type6").hide();
|
||||||
|
$(".type27").hide();
|
||||||
|
$(".type26").hide();
|
||||||
|
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#package-"+i).show();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1205;i++){
|
||||||
|
$("#package-"+i).hide();
|
||||||
|
}
|
||||||
|
$(".jhzx").css('background-color','#FF9900');
|
||||||
|
$(".jhgj").css('background-color','white');
|
||||||
|
$(".jhpt").css('background-color','white');
|
||||||
|
});
|
||||||
$("#p27").click(function () {
|
$("#p27").click(function () {
|
||||||
$(".type14").hide();
|
$(".type14").hide();
|
||||||
$(".type26").hide();
|
$(".type26").hide();
|
||||||
$(".type27").show();
|
$(".type27").show();
|
||||||
$(".type6").hide();
|
$(".type6").hide();
|
||||||
|
$(".type29").hide();
|
||||||
|
|
||||||
for (var i=1115;i<1121;i++){
|
for (var i=1115;i<1121;i++){
|
||||||
$("#package-"+i).show();
|
$("#package-"+i).show();
|
||||||
@@ -1122,6 +1154,7 @@
|
|||||||
$(".type26").hide();
|
$(".type26").hide();
|
||||||
$(".type6").show();
|
$(".type6").show();
|
||||||
$(".type27").hide();
|
$(".type27").hide();
|
||||||
|
$(".type29").hide();
|
||||||
|
|
||||||
$("#package-60").show();
|
$("#package-60").show();
|
||||||
for (var i=22;i<27;i++){
|
for (var i=22;i<27;i++){
|
||||||
@@ -1160,6 +1193,19 @@
|
|||||||
$(".lbgj").css('background-color','white');
|
$(".lbgj").css('background-color','white');
|
||||||
$(".lbpt").css('background-color','white');
|
$(".lbpt").css('background-color','white');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function jhzhizun() {
|
||||||
|
$(".jhzx").css('background-color','#FF9900');
|
||||||
|
$(".jhgj").css('background-color','white');
|
||||||
|
$(".jhpt").css('background-color','white');
|
||||||
|
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#package-"+i).show();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1205;i++){
|
||||||
|
$("#package-"+i).hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
function ttgaoji() {
|
function ttgaoji() {
|
||||||
$(".ttgj").css('background-color','#FF9900');
|
$(".ttgj").css('background-color','#FF9900');
|
||||||
$(".ttzx").css('background-color','white');
|
$(".ttzx").css('background-color','white');
|
||||||
@@ -1192,6 +1238,22 @@
|
|||||||
$("#package-"+i).show();
|
$("#package-"+i).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function jhgaoji() {
|
||||||
|
$(".jhzx").css('background-color','white');
|
||||||
|
$(".jhgj").css('background-color','#FF9900');
|
||||||
|
$(".jhpt").css('background-color','white');
|
||||||
|
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#package-"+i).hide();
|
||||||
|
}
|
||||||
|
for (var i=1199;i<1205;i++){
|
||||||
|
$("#package-"+i).hide();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1199;i++){
|
||||||
|
$("#package-"+i).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
function ttputong() {
|
function ttputong() {
|
||||||
$(".ttpt").css('background-color','#FF9900');
|
$(".ttpt").css('background-color','#FF9900');
|
||||||
$(".ttzx").css('background-color','white');
|
$(".ttzx").css('background-color','white');
|
||||||
@@ -1224,6 +1286,21 @@
|
|||||||
$("#package-"+i).hide();
|
$("#package-"+i).hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function jhputong() {
|
||||||
|
$(".jhpt").css('background-color','#FF9900');
|
||||||
|
$(".jhzx").css('background-color','white');
|
||||||
|
$(".jhgj").css('background-color','white');
|
||||||
|
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#package-"+i).hide();
|
||||||
|
}
|
||||||
|
for (var i=1199;i<1205;i++){
|
||||||
|
$("#package-"+i).show();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1199;i++){
|
||||||
|
$("#package-"+i).hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function qldt1() {
|
function qldt1() {
|
||||||
$(".qldt1").css('background-color','#FF9900');
|
$(".qldt1").css('background-color','#FF9900');
|
||||||
|
|||||||
@@ -403,9 +403,8 @@
|
|||||||
<p>《中华人民共和国网络安全法》第二十四条规定:<br>
|
<p>《中华人民共和国网络安全法》第二十四条规定:<br>
|
||||||
网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。</p>
|
网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。</p>
|
||||||
<p>1、为了你的帐号安全请勿使用他人手机号或身份信息</p>
|
<p>1、为了你的帐号安全请勿使用他人手机号或身份信息</p>
|
||||||
<p>2、聚IP承诺:用户的个人隐私数据仅与支付宝方面进行交互,本公司不调用及储存用户的实人认证数据,仅接收支付宝方面的实人认证结果!</p>
|
<p>2、聚IP承诺:用户的个人隐私数据仅与国家公安一所信息库比对,本公司不调用及储存用户的实人认证数据,仅接收公安一所方面的实人认证结果!</p>
|
||||||
<p>3、若您支付宝扫脸认证不成功,请联系客服</p>
|
<p>3、若您扫脸认证不成功,请联系客服</p>
|
||||||
<p style="color: red;">4、若您支付宝扫脸认证已经成功,请点击下方已扫脸按钮</p>
|
|
||||||
</div>
|
</div>
|
||||||
<tr>
|
<tr>
|
||||||
<td>真实姓名:</td>
|
<td>真实姓名:</td>
|
||||||
@@ -423,9 +422,9 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<h1 id="verify-info" style="display:none;padding: 2em;font-size:30px">请截图此页面,进入支付宝扫码验证<br>请勿关闭此页面,扫脸验证完成后请返回此页面,<span style="color: red;">点击已扫脸按钮</span>,则认证成功<br>若扫脸后仍未认证成功,请联系客服</h1>
|
<h1 id="verify-info" style="display:none;padding: 2em;font-size:30px">请截图此页面,进入微信扫码验证<br>请勿关闭此页面,扫脸验证完成后请返回此页面,<span style="color: red;">点击已扫脸按钮</span>,则认证成功<br>若扫脸后仍未认证成功,请联系客服</h1>
|
||||||
<div style="padding: 0 100px;text-align: center;"><div id="qrcode"></div></div>
|
<div style="padding: 0 100px;text-align: center;"><div id="qrcode"></div></div>
|
||||||
<div style="margin-top: 10px;text-align: center;"><button onclick="get_verify_res()" type="button" class="btnXq" style="width: auto;padding: 0 10px;font-size:1.2em;">已扫脸请点击这里</button></div>
|
<!-- <div style="margin-top: 10px;text-align: center;"><button onclick="get_verify_res()" type="button" class="btnXq" style="width: auto;padding: 0 10px;font-size:1.2em;">已扫脸请点击这里</button></div> -->
|
||||||
@* <div style="padding: 0 100px;text-align: center;"><button style="font-size:50px;" onclick="get_verify_res()" type="button" class="btn">我已扫脸点击这里</button></div> *@
|
@* <div style="padding: 0 100px;text-align: center;"><button style="font-size:50px;" onclick="get_verify_res()" type="button" class="btn">我已扫脸点击这里</button></div> *@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -708,7 +707,7 @@ var t1 = null;
|
|||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
url: 'https://php-api.juip.com/api/test/aliverify',
|
url: 'https://php-api.juip.com/realname/index/verify',
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
data: JSON.stringify(data),
|
data: JSON.stringify(data),
|
||||||
@@ -723,13 +722,7 @@ var t1 = null;
|
|||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
if (res.Code == 10000) {
|
if (res.Code == 10000) {
|
||||||
$('#id-cert').hide();
|
window.location.href=res.url;
|
||||||
$('#verify-info').show();
|
|
||||||
new QRCode(document.getElementById("qrcode"), {
|
|
||||||
text: res.url,
|
|
||||||
width : 500,
|
|
||||||
height : 500
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
alert('请正确填写姓名和身份证号码。');
|
alert('请正确填写姓名和身份证号码。');
|
||||||
|
|||||||
@@ -264,6 +264,11 @@
|
|||||||
<td onclick ='navigator.clipboard.writeText(8899);' >8899</td>
|
<td onclick ='navigator.clipboard.writeText(8899);' >8899</td>
|
||||||
<td>4430</td>
|
<td>4430</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>极狐</td>
|
||||||
|
<td onclick ='navigator.clipboard.writeText(8899);' >8899</td>
|
||||||
|
<td>4430</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>麒麟</td>
|
<td>麒麟</td>
|
||||||
<td>123</td>
|
<td>123</td>
|
||||||
@@ -466,6 +471,11 @@
|
|||||||
this.search_field = '蘑菇IP';
|
this.search_field = '蘑菇IP';
|
||||||
this.sstp = '4430';
|
this.sstp = '4430';
|
||||||
break;
|
break;
|
||||||
|
case 29:
|
||||||
|
this.l2tp = '8899';
|
||||||
|
this.search_field = '极狐IP';
|
||||||
|
this.sstp = '4430';
|
||||||
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
this.l2tp = '888888';
|
this.l2tp = '888888';
|
||||||
this.search_field = '火狐IP';
|
this.search_field = '火狐IP';
|
||||||
@@ -610,6 +620,9 @@
|
|||||||
case 18:
|
case 18:
|
||||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
self.location.href='https://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
||||||
break;
|
break;
|
||||||
|
case 29:
|
||||||
|
self.location.href='https://php-api.juip.com/script/linedata/data/download/jihu.csv';
|
||||||
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/huohu.csv';
|
self.location.href='https://php-api.juip.com/script/linedata/data/download/huohu.csv';
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -296,6 +296,11 @@
|
|||||||
if(item.Product.Id == 18) {
|
if(item.Product.Id == 18) {
|
||||||
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">超快</span></div>
|
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">超快</span></div>
|
||||||
}
|
}
|
||||||
|
else if(item.Product.Id == 29) {
|
||||||
|
<div class="dropdown">
|
||||||
|
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">超快</span></div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
else if(item.Product.Id == 14) {
|
else if(item.Product.Id == 14) {
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name</div>
|
<div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name</div>
|
||||||
@@ -439,6 +444,22 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if(item.Product.Id == 29) { //不限速
|
||||||
|
<div style="padding-top:10px;">
|
||||||
|
<ul class="nav nav-tabs nav-justified" style="margin:0 0 0 50px;cursor: pointer;">
|
||||||
|
<li id="tabjhzx" style="border:1px solid #ccc" class="active">
|
||||||
|
<a onclick="jhzhizun()" style="color: #009966;width:350px;background:rgba(0,0,0,0)">尊享版-不限速</a>
|
||||||
|
</li>
|
||||||
|
<li style="border:1px solid #ccc" id="tabjhgj">
|
||||||
|
<a onclick="jhgaoji()" style="color: #009966;width:350px;background:rgba(0,0,0,0)">高级版-限速6M</a>
|
||||||
|
</li>
|
||||||
|
<li style="border:1px solid #ccc" id="tabjhpt">
|
||||||
|
<a onclick="jhputong()" style="color: #009966;width:350px;background:rgba(0,0,0,0)">普通版-限速2M</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
@if(item.Product.Id == 6) { //不限速
|
@if(item.Product.Id == 6) { //不限速
|
||||||
<div style="padding:10px 170px;">
|
<div style="padding:10px 170px;">
|
||||||
<ul class="nav nav-tabs nav-justified" style="margin:0 0 0 50px;cursor: pointer;">
|
<ul class="nav nav-tabs nav-justified" style="margin:0 0 0 50px;cursor: pointer;">
|
||||||
@@ -474,6 +495,9 @@
|
|||||||
@* @if(item.Product.Id == 18){
|
@* @if(item.Product.Id == 18){
|
||||||
<p class="youhuiNew" style="color: #0066CC;margin:0;padding:0;">蘑菇IP双十一活动:周卡送3天,月卡送10天,双月卡送一个月,不限制账号个数。截止时间:11月20日。</p>
|
<p class="youhuiNew" style="color: #0066CC;margin:0;padding:0;">蘑菇IP双十一活动:周卡送3天,月卡送10天,双月卡送一个月,不限制账号个数。截止时间:11月20日。</p>
|
||||||
} *@
|
} *@
|
||||||
|
@if(item.Product.Id == 17){
|
||||||
|
<p class="youhuiNew" style="color: #0066CC;margin:0;padding:0;">本产品升级更新中,暂无法开通,请先开通其他产品使用。更新后产品为极狐IP,280个城市,网速超快,且有赠送活动,计划于6月21日晚上线。</p>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@if(item.Product.Id == 20){
|
@if(item.Product.Id == 20){
|
||||||
@@ -861,7 +885,7 @@
|
|||||||
项目选择:
|
项目选择:
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<select class="form-control selectpicker" data-live-search="true" v-model="qilin.game_id" @@change="select_game" style="height:30px;font-size:15px;">
|
<select class="form-control selectpicker" id="gameselect" data-live-search="true" v-model="qilin.game_id" @@change="select_game" style="height:30px;font-size:15px;">
|
||||||
<option value="0">-请选择项目-</option>
|
<option value="0">-请选择项目-</option>
|
||||||
<option v-for="item in game_list" :value="item.id">{{item.name}}</option>
|
<option v-for="item in game_list" :value="item.id">{{item.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -1510,6 +1534,20 @@
|
|||||||
$("#pkg"+i).hide();
|
$("#pkg"+i).hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function jhzhizun() {
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#pkg"+i).show();
|
||||||
|
}
|
||||||
|
$("#tabjhzx").addClass("active");
|
||||||
|
$("#tabjhgj").removeClass("active");
|
||||||
|
$("#tabjhpt").removeClass("active");
|
||||||
|
|
||||||
|
for (var i=1193;i<1205;i++){
|
||||||
|
$("#pkg"+i).hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
function ttgaoji() {
|
function ttgaoji() {
|
||||||
$("#pkg89").hide();
|
$("#pkg89").hide();
|
||||||
$("#pkg69").hide();
|
$("#pkg69").hide();
|
||||||
@@ -1541,6 +1579,20 @@
|
|||||||
$("#pkg"+i).show();
|
$("#pkg"+i).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function jhgaoji() {
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#pkg"+i).hide();
|
||||||
|
}
|
||||||
|
$("#tabjhzx").removeClass("active");
|
||||||
|
$("#tabjhgj").addClass("active");
|
||||||
|
$("#tabjhpt").removeClass("active");
|
||||||
|
for (var i=1199;i<1205;i++){
|
||||||
|
$("#pkg"+i).hide();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1199;i++){
|
||||||
|
$("#pkg"+i).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
function ttputong() {
|
function ttputong() {
|
||||||
$("#pkg89").hide();
|
$("#pkg89").hide();
|
||||||
$("#pkg69").hide();
|
$("#pkg69").hide();
|
||||||
@@ -1572,6 +1624,20 @@
|
|||||||
$("#pkg"+i).hide();
|
$("#pkg"+i).hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function jhputong() {
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#pkg"+i).hide();
|
||||||
|
}
|
||||||
|
$("#tabjhzx").removeClass("active");
|
||||||
|
$("#tabjhgj").removeClass("active");
|
||||||
|
$("#tabjhpt").addClass("active");
|
||||||
|
for (var i=1199;i<1205;i++){
|
||||||
|
$("#pkg"+i).show();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1199;i++){
|
||||||
|
$("#pkg"+i).hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
function xfgaoji() {
|
function xfgaoji() {
|
||||||
$("#xfduxiang").removeClass("active");
|
$("#xfduxiang").removeClass("active");
|
||||||
$("#xfgaoji").addClass("active");
|
$("#xfgaoji").addClass("active");
|
||||||
@@ -1844,6 +1910,17 @@
|
|||||||
for (var i=1;i<30;i++){
|
for (var i=1;i<30;i++){
|
||||||
$("#p"+i).removeClass("on");
|
$("#p"+i).removeClass("on");
|
||||||
}
|
}
|
||||||
|
} else if (pid == 29) {
|
||||||
|
$(".qilinjingtai").hide();
|
||||||
|
for (var i=1187;i<1193;i++){
|
||||||
|
$("#pkg"+i).show();
|
||||||
|
}
|
||||||
|
for (var i=1193;i<1205;i++){
|
||||||
|
$("#pkg"+i).hide();
|
||||||
|
}
|
||||||
|
for (var i=1;i<30;i++){
|
||||||
|
$("#p"+i).removeClass("on");
|
||||||
|
}
|
||||||
} else if (pid == 6) {
|
} else if (pid == 6) {
|
||||||
$(".qilinjingtai").hide();
|
$(".qilinjingtai").hide();
|
||||||
$("#pkg60").show();
|
$("#pkg60").show();
|
||||||
|
|||||||
@@ -340,8 +340,8 @@
|
|||||||
<p>《中华人民共和国网络安全法》第二十四条规定:<br>
|
<p>《中华人民共和国网络安全法》第二十四条规定:<br>
|
||||||
网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。</p>
|
网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。</p>
|
||||||
<p style="color:red;">1、为了你的帐号安全请勿使用他人手机号或身份信息</p>
|
<p style="color:red;">1、为了你的帐号安全请勿使用他人手机号或身份信息</p>
|
||||||
<p>2、聚IP承诺:用户的个人隐私数据仅与支付宝方面进行交互,本公司不调用及储存用户的实人认证数据,仅接收支付宝方面的实人认证结果!</p>
|
<p>2、聚IP承诺:用户的个人隐私数据仅与国家公安一所信息库比对,本公司不调用及储存用户的实人认证数据,仅接收公安一所方面的实人认证结果!</p>
|
||||||
<p>3、若您支付宝扫脸认证不成功,请联系客服</p>
|
<p>3、若您扫脸认证不成功,请联系客服</p>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>真实姓名:</label>
|
<label>真实姓名:</label>
|
||||||
<input type="text" id="real-name-name" class="form-control" placeholder="请输入真实姓名" >
|
<input type="text" id="real-name-name" class="form-control" placeholder="请输入真实姓名" >
|
||||||
@@ -356,8 +356,9 @@
|
|||||||
<button type="button" class="btn btn-danger quxiao" style="margin-left:20px;" onclick="$('.real-name').hide()">取消</button>
|
<button type="button" class="btn btn-danger quxiao" style="margin-left:20px;" onclick="$('.real-name').hide()">取消</button>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
<h3 id="verify-info" style="display:none;text-align: center;">请打开 支付宝 扫码进行认证,若扫脸后仍未认证成功,请联系客服</h3>
|
<h3 id="verify-info" style="display:none;text-align: center;">请打开 微信 扫码进行认证,若扫脸后仍未认证成功,请联系客服</h3>
|
||||||
<div id="qrcode_s" style="text-align: center;padding-left:323px;"></div>
|
<div id="qrcode_s" style="text-align: center;padding-left:323px;"></div>
|
||||||
|
<div id="yes" style="padding-top:10px" class="text-center"><a type="button" class="btn btn-primary" href="javascript:location.reload();" ">实名扫脸结束后请点击</a></div>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
function realname(){
|
function realname(){
|
||||||
@@ -390,7 +391,7 @@
|
|||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
url: 'https://php-api.juip.com/api/test/aliverify',
|
url: 'https://php-api.juip.com/realname/index/verify',
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
data: JSON.stringify(data),
|
data: JSON.stringify(data),
|
||||||
@@ -412,12 +413,13 @@
|
|||||||
if (res.Code == 10000) {
|
if (res.Code == 10000) {
|
||||||
$('#id-cert').hide();
|
$('#id-cert').hide();
|
||||||
$('#verify-info').show();
|
$('#verify-info').show();
|
||||||
|
$('#yes').show();
|
||||||
new QRCode(document.getElementById("qrcode_s"), {
|
new QRCode(document.getElementById("qrcode_s"), {
|
||||||
text: res.url,
|
text: res.url,
|
||||||
width : 300,
|
width : 300,
|
||||||
height : 300
|
height : 300
|
||||||
});
|
});
|
||||||
t1 = window.setInterval(get_verify_res,1500);
|
// t1 = window.setInterval(get_verify_res,1500);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
alert('请正确填写姓名和身份证号码。');
|
alert('请正确填写姓名和身份证号码。');
|
||||||
@@ -490,7 +492,7 @@
|
|||||||
<div class="col-lg-6 accoutLeft">
|
<div class="col-lg-6 accoutLeft">
|
||||||
<p>
|
<p>
|
||||||
@if(Model.UserModel.is_verify == 0){
|
@if(Model.UserModel.is_verify == 0){
|
||||||
<a onclick="$('.real-name').show()" style="color:blue;font-size:20px;float:right;cursor: pointer;">实名认证</a>
|
<a onclick="$('.real-name').show();" style="color:blue;font-size:20px;float:right;cursor: pointer;">实名认证</a>
|
||||||
} else {
|
} else {
|
||||||
<span style="color:#339933;font-size:20px;float:right;">已认证<span class="glyphicon glyphicon-ok"></span></span>
|
<span style="color:#339933;font-size:20px;float:right;">已认证<span class="glyphicon glyphicon-ok"></span></span>
|
||||||
}
|
}
|
||||||
@@ -675,6 +677,8 @@
|
|||||||
<div id="aliPayBox" style="display:none"></div>
|
<div id="aliPayBox" style="display:none"></div>
|
||||||
<script type="text/javascript" src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/qrcodejs/1.0.0/qrcode.min.js"></script>
|
<script type="text/javascript" src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/qrcodejs/1.0.0/qrcode.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
$('#yes').hide();
|
||||||
var t1 = null;
|
var t1 = null;
|
||||||
|
|
||||||
function ready( callback ) {
|
function ready( callback ) {
|
||||||
|
|||||||
404
Services/Hncore.Pass.Vpn/Service/AgentClient21Service.cs
Normal file
404
Services/Hncore.Pass.Vpn/Service/AgentClient21Service.cs
Normal file
@@ -0,0 +1,404 @@
|
|||||||
|
using AngleSharp.Html.Parser;
|
||||||
|
using Hncore.Infrastructure.Common;
|
||||||
|
using Hncore.Infrastructure.Extension;
|
||||||
|
using Hncore.Infrastructure.Serializer;
|
||||||
|
using Hncore.Infrastructure.WebApi;
|
||||||
|
using Hncore.Pass.Vpn.Model;
|
||||||
|
using Hncore.Pass.Vpn.Request.Product;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Text;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.IO;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
namespace Hncore.Pass.Vpn.Service
|
||||||
|
{
|
||||||
|
public class AgentClient21Service:AgentClientBaseService
|
||||||
|
{
|
||||||
|
string LoginUrl { get; set; } = "api/login";
|
||||||
|
string LoginCodeUrl { get; set; } = "main/imgcode.html";
|
||||||
|
string RefrushTokenUrl { get; set; } = "agent/index.html";
|
||||||
|
string SingleAddUrl { get; set; } = "api/agent/AddAccount?apikey=80cf4f64e990b78a9fc5eb&";
|
||||||
|
string SingleReAddUrl { get; set; } = "api/agent/updateAccount?apikey=80cf4f64e990b78a9fc5eb&";
|
||||||
|
string MuiltAddUrl { get; set; } = "agent/memberMuiltAdd.html";
|
||||||
|
string RefundUrl { get; set; } = "api/agent/refund?apikey=80cf4f64e990b78a9fc5eb&";
|
||||||
|
string UpdateUrl = "api/agent/updateAccount?apikey=80cf4f64e990b78a9fc5eb&";//agent/memberUpdate/id/1155709.html
|
||||||
|
string OnlineUrl { get; set; } = "api/agent/getOnlineList?apikey=80cf4f64e990b78a9fc5eb&";
|
||||||
|
string KIllUrl { get; set; } = "api/agent/disconnect?apikey=80cf4f64e990b78a9fc5eb&";
|
||||||
|
string searchAccountUrl = "api/agent/getAccountInfo?apikey=80cf4f64e990b78a9fc5eb&";
|
||||||
|
string searchTestAccountUrl = "api/numberSingle/";
|
||||||
|
string DeleteUrl { get; set; } = "api/number/refund";//1160862.html";
|
||||||
|
string is_exist { get; set; } = "api/agent/exist?apikey=80cf4f64e990b78a9fc5eb&";//1160862.html";
|
||||||
|
IHttpClientFactory m_HttpClientFactory;
|
||||||
|
public AgentClient21Service(IHttpClientFactory httpClientFactory):base(httpClientFactory)
|
||||||
|
{
|
||||||
|
m_HttpClientFactory = httpClientFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task<int> RefrushStatus()
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
public override async Task<(byte[], string)> GetCode()
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient(false);
|
||||||
|
if (this.LoginUrl.NotHas()) return (null, "");
|
||||||
|
var getResp = await client.GetAsync(this.LoginUrl);
|
||||||
|
var cookie = this.GetCookie(getResp, "PHPSESSID");
|
||||||
|
if (cookie.Has())
|
||||||
|
{
|
||||||
|
client.DefaultRequestHeaders.Add("Cookie", cookie);
|
||||||
|
var ret = await client.GetByteArrayAsync(this.LoginCodeUrl + "?t=" + DateTime.Now.Millisecond);
|
||||||
|
return (ret, cookie);
|
||||||
|
}
|
||||||
|
return (null, "");
|
||||||
|
}
|
||||||
|
public override async Task<ApiResult> Login(AgentLoginRequest request)
|
||||||
|
{
|
||||||
|
return new ApiResult(request.Key);
|
||||||
|
}
|
||||||
|
public override bool CheckAccount(int productId,List<string> accounts)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新开
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="packageId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <param name="pwd"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<ApiResult> NewAccount(string packageKey, string account, string pwd, int connCount = 1, int accountType = 1, int payCount = 1)
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
|
||||||
|
string[] arrStr = packageKey.Split('-');
|
||||||
|
var taocan = arrStr[0];
|
||||||
|
var limit = arrStr[1];
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var url = this.SingleAddUrl + "type=one&username="+account+"&pass="+pwd+"&taocan="+taocan+"&connect="+connCount.ToString()+"&limit="+limit;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
if (status =="10000")
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_SUCCESS);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "开户失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "开户失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新开
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="packageId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <param name="pwd"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<ApiResult> NewMuiltAccount(string packageKey, string account, string pwd, int connCount = 1, int accountType = 1,int startNum=0, int endNum=1 )
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
var map = new Dictionary<string, string>(){};
|
||||||
|
|
||||||
|
|
||||||
|
if(packageKey == "test"){
|
||||||
|
map = new Dictionary<string, string>(){
|
||||||
|
{"group","test" },
|
||||||
|
{"number",account },
|
||||||
|
{"password",pwd },
|
||||||
|
{"body","api"},
|
||||||
|
{"mobile","13073735878"}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
map = new Dictionary<string, string>(){
|
||||||
|
{"group","single" },
|
||||||
|
{"number",account },
|
||||||
|
{"password",pwd },
|
||||||
|
{"connect",connCount.ToString()},
|
||||||
|
{"interval","1"},
|
||||||
|
{"type",packageKey},
|
||||||
|
{"body","api"},
|
||||||
|
{"mobile","13073735878"}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var title = GetOpTitle("NewAccount", account);
|
||||||
|
LogHelper.Info(title, map.ToJson());
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var resp = await client.PostAsForm(this.SingleAddUrl, map);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["status"].ToString();
|
||||||
|
if (status =="400")
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_SUCCESS);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogHelper.Error(title, content);
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "开户失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.Error(title, ex.Message);
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "开户失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 续费
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="productId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <param name="pwd"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount, int payCount = 1)
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
string[] arrStr = packageKey.Split('-');
|
||||||
|
var taocan = arrStr[0];
|
||||||
|
var limit = arrStr[1];
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var url = this.SingleReAddUrl + "type=rebuy&username="+account+"&taocan="+taocan;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
if (status =="10000")
|
||||||
|
{
|
||||||
|
return new ApiResult(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "续费失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return new ApiResult(ResultCode.C_INVALID_ERROR, "续费失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 删除账号
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="productId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<bool> DeleteAccount(string account)
|
||||||
|
{
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 得到账号信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="productId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<ApiResult<OriginAccountModel>> GetAccountInfo(string account,bool isTest=false)
|
||||||
|
{
|
||||||
|
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
var url = this.searchAccountUrl + "account="+account;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
var data = jo["data"];
|
||||||
|
if (status =="10000")
|
||||||
|
{
|
||||||
|
var trData = new OriginAccountModel
|
||||||
|
{
|
||||||
|
Id = "",
|
||||||
|
Account = data["username"].ToString(),
|
||||||
|
Pwd = data["pass"].ToString(),
|
||||||
|
AccountType = "",
|
||||||
|
Package = "",
|
||||||
|
ConnectCount = "",
|
||||||
|
RegistTime = data["create_time"].ToString(),
|
||||||
|
EndTime = data["expire_time"].ToString(),
|
||||||
|
RestTime = "",
|
||||||
|
Amount = "",
|
||||||
|
Remark = "",
|
||||||
|
};
|
||||||
|
return new ApiResult<OriginAccountModel>(trData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ApiResult<OriginAccountModel>(ResultCode.C_INVALID_ERROR, "没有查询到信息");
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 修改账号密码
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="productId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <param name="pwd"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<bool> UpdateAccountPwd(string account, string pwd)
|
||||||
|
{
|
||||||
|
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var url = this.UpdateUrl + "type=update_pass&username="+account+"&pass="+pwd;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
if (status =="10000")
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 退款
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="packageId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<ApiResult> Refund(string account, string packageKey, int days)
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
var url = this.RefundUrl + "username=" + account;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
|
||||||
|
return new ApiResult(1);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 是否在线
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="productId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<ApiResult<List<OriginAccountOnlineModel>>> OnLine(string account)
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
var url = this.OnlineUrl + "account="+account;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
var retData = new List<OriginAccountOnlineModel>();
|
||||||
|
if (status =="10000")
|
||||||
|
{
|
||||||
|
if(jo.ContainsKey("data")){
|
||||||
|
foreach (var tr in jo["data"])
|
||||||
|
{
|
||||||
|
JObject jsondata = (JObject)JsonConvert.DeserializeObject(tr.ToJson());
|
||||||
|
|
||||||
|
var trData = new OriginAccountOnlineModel
|
||||||
|
{
|
||||||
|
Account = account,
|
||||||
|
ServerIP = jsondata["serveip"].ToString(),
|
||||||
|
LoginTime = jsondata["start_time"].ToString(),
|
||||||
|
OnlineTime = jsondata["online_time"].ToString(),
|
||||||
|
LoginIP = jsondata["userip"].ToString(),
|
||||||
|
UpStream = jsondata["upbite"].ToString(),
|
||||||
|
DownStream = jsondata["downbite"].ToString(),
|
||||||
|
Id= jsondata["id"].ToString(),
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
retData.Add(trData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new ApiResult<List<OriginAccountOnlineModel>>(retData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ApiResult<List<OriginAccountOnlineModel>>(ResultCode.C_INVALID_ERROR, "查询失败");
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 踢号
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="productId"></param>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<bool> KillOut( string id)
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var url = this.KIllUrl + "id="+id;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
if (status =="10000")
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否存在
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<bool> Exist(string account)
|
||||||
|
{
|
||||||
|
var client = CreateHttpClient();
|
||||||
|
var url = this.is_exist + "username=" + account;
|
||||||
|
var resp = await client.GetAsync(url);
|
||||||
|
var content = await resp.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
|
||||||
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||||||
|
var status = jo["code"].ToString();
|
||||||
|
if (status == "-10000")
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -83,6 +83,8 @@ namespace Hncore.Pass.Vpn.Service
|
|||||||
agent = new AgentClient19Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
agent = new AgentClient19Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
||||||
if (product.GroupNO == "g20")
|
if (product.GroupNO == "g20")
|
||||||
agent = new AgentClient20Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
agent = new AgentClient20Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
||||||
|
if (product.GroupNO == "g21")
|
||||||
|
agent = new AgentClient21Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
||||||
agent.Product = product;
|
agent.Product = product;
|
||||||
return agent;
|
return agent;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -251,6 +251,12 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
|
|||||||
{
|
{
|
||||||
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "因极客和西瓜产品完全一样,为方便管理,只保留西瓜IP,如需使用极客IP,可直接购买西瓜IP。");
|
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "因极客和西瓜产品完全一样,为方便管理,只保留西瓜IP,如需使用极客IP,可直接购买西瓜IP。");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (packageEntity.ProductId == 17)
|
||||||
|
{
|
||||||
|
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "本产品升级更新中,暂无法开通,请先开通其他产品使用。更新后产品为极狐IP,280个城市,网速超快,且有赠送活动,计划于6月21日晚上线");
|
||||||
|
}
|
||||||
// if (productEntity.Status == 0)
|
// if (productEntity.Status == 0)
|
||||||
// {
|
// {
|
||||||
// return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "产品不存在或者下架");
|
// return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "产品不存在或者下架");
|
||||||
|
|||||||
Reference in New Issue
Block a user