界面修改 上线极狐
This commit is contained in:
@@ -944,6 +944,40 @@ namespace Home.Controllers
|
||||
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
|
||||
var pro_type_flag_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) {
|
||||
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){
|
||||
if (pro_type_temp_qilindongtai ==1 && m.Id<1121) {
|
||||
package_temp.Add(m);
|
||||
@@ -1168,6 +1212,16 @@ namespace Home.Controllers
|
||||
if (pro_type_temp_liebao ==3 && m.Id>1103&&m.Id<1109) {
|
||||
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){
|
||||
if (pro_type_temp_qilindongtai ==1 && m.Id<1121) {
|
||||
package_temp.Add(m);
|
||||
|
||||
@@ -389,6 +389,11 @@
|
||||
this.search_field = '蘑菇IP';
|
||||
this.sstp = '4430';
|
||||
break;
|
||||
case 29:
|
||||
this.l2tp = '8899';
|
||||
this.search_field = '极狐IP';
|
||||
this.sstp = '4430';
|
||||
break;
|
||||
case 22:
|
||||
this.l2tp = '888888';
|
||||
this.search_field = '火狐IP';
|
||||
@@ -507,6 +512,9 @@
|
||||
case 18:
|
||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
||||
break;
|
||||
case 29:
|
||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/jihu.csv';
|
||||
break;
|
||||
case 14:
|
||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/tiantian.csv';
|
||||
break;
|
||||
|
||||
@@ -185,7 +185,11 @@
|
||||
<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>
|
||||
</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":"")">
|
||||
<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>
|
||||
@@ -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>
|
||||
</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){
|
||||
<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>
|
||||
@@ -517,7 +529,7 @@
|
||||
项目选择:
|
||||
</div>
|
||||
<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 v-for="item in game_list" :value="item.id">{{item.name}}</option>
|
||||
</select>
|
||||
@@ -1070,6 +1082,7 @@
|
||||
$(".type26").hide();
|
||||
$(".type6").hide();
|
||||
$(".type27").hide();
|
||||
$(".type29").hide();
|
||||
$("#package-89").show();
|
||||
$("#package-69").show();
|
||||
$("#package-70").show();
|
||||
@@ -1089,6 +1102,7 @@
|
||||
$(".type26").show();
|
||||
$(".type6").hide();
|
||||
$(".type27").hide();
|
||||
$(".type29").hide();
|
||||
|
||||
for (var i=1090;i<1097;i++){
|
||||
$("#package-"+i).show();
|
||||
@@ -1100,11 +1114,29 @@
|
||||
$(".lbgj").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 () {
|
||||
$(".type14").hide();
|
||||
$(".type26").hide();
|
||||
$(".type27").show();
|
||||
$(".type6").hide();
|
||||
$(".type29").hide();
|
||||
|
||||
for (var i=1115;i<1121;i++){
|
||||
$("#package-"+i).show();
|
||||
@@ -1122,6 +1154,7 @@
|
||||
$(".type26").hide();
|
||||
$(".type6").show();
|
||||
$(".type27").hide();
|
||||
$(".type29").hide();
|
||||
|
||||
$("#package-60").show();
|
||||
for (var i=22;i<27;i++){
|
||||
@@ -1160,6 +1193,19 @@
|
||||
$(".lbgj").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() {
|
||||
$(".ttgj").css('background-color','#FF9900');
|
||||
$(".ttzx").css('background-color','white');
|
||||
@@ -1192,6 +1238,22 @@
|
||||
$("#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() {
|
||||
$(".ttpt").css('background-color','#FF9900');
|
||||
$(".ttzx").css('background-color','white');
|
||||
@@ -1224,6 +1286,21 @@
|
||||
$("#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() {
|
||||
$(".qldt1").css('background-color','#FF9900');
|
||||
|
||||
@@ -403,9 +403,8 @@
|
||||
<p>《中华人民共和国网络安全法》第二十四条规定:<br>
|
||||
网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。</p>
|
||||
<p>1、为了你的帐号安全请勿使用他人手机号或身份信息</p>
|
||||
<p>2、聚IP承诺:用户的个人隐私数据仅与支付宝方面进行交互,本公司不调用及储存用户的实人认证数据,仅接收支付宝方面的实人认证结果!</p>
|
||||
<p>3、若您支付宝扫脸认证不成功,请联系客服</p>
|
||||
<p style="color: red;">4、若您支付宝扫脸认证已经成功,请点击下方已扫脸按钮</p>
|
||||
<p>2、聚IP承诺:用户的个人隐私数据仅与国家公安一所信息库比对,本公司不调用及储存用户的实人认证数据,仅接收公安一所方面的实人认证结果!</p>
|
||||
<p>3、若您扫脸认证不成功,请联系客服</p>
|
||||
</div>
|
||||
<tr>
|
||||
<td>真实姓名:</td>
|
||||
@@ -423,9 +422,9 @@
|
||||
|
||||
</div>
|
||||
</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="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>
|
||||
|
||||
@@ -708,7 +707,7 @@ var t1 = null;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'https://php-api.juip.com/api/test/aliverify',
|
||||
url: 'https://php-api.juip.com/realname/index/verify',
|
||||
dataType: "json",
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify(data),
|
||||
@@ -723,13 +722,7 @@ var t1 = null;
|
||||
return ;
|
||||
}
|
||||
if (res.Code == 10000) {
|
||||
$('#id-cert').hide();
|
||||
$('#verify-info').show();
|
||||
new QRCode(document.getElementById("qrcode"), {
|
||||
text: res.url,
|
||||
width : 500,
|
||||
height : 500
|
||||
});
|
||||
window.location.href=res.url;
|
||||
|
||||
} else {
|
||||
alert('请正确填写姓名和身份证号码。');
|
||||
|
||||
@@ -264,6 +264,11 @@
|
||||
<td onclick ='navigator.clipboard.writeText(8899);' >8899</td>
|
||||
<td>4430</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>极狐</td>
|
||||
<td onclick ='navigator.clipboard.writeText(8899);' >8899</td>
|
||||
<td>4430</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>麒麟</td>
|
||||
<td>123</td>
|
||||
@@ -466,6 +471,11 @@
|
||||
this.search_field = '蘑菇IP';
|
||||
this.sstp = '4430';
|
||||
break;
|
||||
case 29:
|
||||
this.l2tp = '8899';
|
||||
this.search_field = '极狐IP';
|
||||
this.sstp = '4430';
|
||||
break;
|
||||
case 22:
|
||||
this.l2tp = '888888';
|
||||
this.search_field = '火狐IP';
|
||||
@@ -610,6 +620,9 @@
|
||||
case 18:
|
||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
||||
break;
|
||||
case 29:
|
||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/jihu.csv';
|
||||
break;
|
||||
case 22:
|
||||
self.location.href='https://php-api.juip.com/script/linedata/data/download/huohu.csv';
|
||||
break;
|
||||
|
||||
@@ -296,6 +296,11 @@
|
||||
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>
|
||||
}
|
||||
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) {
|
||||
<div class="dropdown">
|
||||
<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>
|
||||
</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) { //不限速
|
||||
<div style="padding:10px 170px;">
|
||||
<ul class="nav nav-tabs nav-justified" style="margin:0 0 0 50px;cursor: pointer;">
|
||||
@@ -474,6 +495,9 @@
|
||||
@* @if(item.Product.Id == 18){
|
||||
<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){
|
||||
@@ -861,7 +885,7 @@
|
||||
项目选择:
|
||||
</div>
|
||||
<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 v-for="item in game_list" :value="item.id">{{item.name}}</option>
|
||||
</select>
|
||||
@@ -1510,6 +1534,20 @@
|
||||
$("#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() {
|
||||
$("#pkg89").hide();
|
||||
$("#pkg69").hide();
|
||||
@@ -1541,6 +1579,20 @@
|
||||
$("#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() {
|
||||
$("#pkg89").hide();
|
||||
$("#pkg69").hide();
|
||||
@@ -1572,6 +1624,20 @@
|
||||
$("#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() {
|
||||
$("#xfduxiang").removeClass("active");
|
||||
$("#xfgaoji").addClass("active");
|
||||
@@ -1844,6 +1910,17 @@
|
||||
for (var i=1;i<30;i++){
|
||||
$("#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) {
|
||||
$(".qilinjingtai").hide();
|
||||
$("#pkg60").show();
|
||||
|
||||
@@ -340,8 +340,8 @@
|
||||
<p>《中华人民共和国网络安全法》第二十四条规定:<br>
|
||||
网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。</p>
|
||||
<p style="color:red;">1、为了你的帐号安全请勿使用他人手机号或身份信息</p>
|
||||
<p>2、聚IP承诺:用户的个人隐私数据仅与支付宝方面进行交互,本公司不调用及储存用户的实人认证数据,仅接收支付宝方面的实人认证结果!</p>
|
||||
<p>3、若您支付宝扫脸认证不成功,请联系客服</p>
|
||||
<p>2、聚IP承诺:用户的个人隐私数据仅与国家公安一所信息库比对,本公司不调用及储存用户的实人认证数据,仅接收公安一所方面的实人认证结果!</p>
|
||||
<p>3、若您扫脸认证不成功,请联系客服</p>
|
||||
<div class="form-group">
|
||||
<label>真实姓名:</label>
|
||||
<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>
|
||||
</p>
|
||||
</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="yes" style="padding-top:10px" class="text-center"><a type="button" class="btn btn-primary" href="javascript:location.reload();" ">实名扫脸结束后请点击</a></div>
|
||||
<script>
|
||||
|
||||
function realname(){
|
||||
@@ -390,7 +391,7 @@
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'https://php-api.juip.com/api/test/aliverify',
|
||||
url: 'https://php-api.juip.com/realname/index/verify',
|
||||
dataType: "json",
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify(data),
|
||||
@@ -412,12 +413,13 @@
|
||||
if (res.Code == 10000) {
|
||||
$('#id-cert').hide();
|
||||
$('#verify-info').show();
|
||||
$('#yes').show();
|
||||
new QRCode(document.getElementById("qrcode_s"), {
|
||||
text: res.url,
|
||||
width : 300,
|
||||
height : 300
|
||||
});
|
||||
t1 = window.setInterval(get_verify_res,1500);
|
||||
// t1 = window.setInterval(get_verify_res,1500);
|
||||
|
||||
} else {
|
||||
alert('请正确填写姓名和身份证号码。');
|
||||
@@ -490,7 +492,7 @@
|
||||
<div class="col-lg-6 accoutLeft">
|
||||
<p>
|
||||
@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 {
|
||||
<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>
|
||||
<script type="text/javascript" src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/qrcodejs/1.0.0/qrcode.min.js"></script>
|
||||
<script>
|
||||
|
||||
$('#yes').hide();
|
||||
var t1 = null;
|
||||
|
||||
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 };
|
||||
if (product.GroupNO == "g20")
|
||||
agent = new AgentClient20Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
||||
if (product.GroupNO == "g21")
|
||||
agent = new AgentClient21Service(m_HttpClientFactory) { ClientName = product.GroupNO };
|
||||
agent.Product = product;
|
||||
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。");
|
||||
}
|
||||
|
||||
|
||||
if (packageEntity.ProductId == 17)
|
||||
{
|
||||
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "本产品升级更新中,暂无法开通,请先开通其他产品使用。更新后产品为极狐IP,280个城市,网速超快,且有赠送活动,计划于6月21日晚上线");
|
||||
}
|
||||
// if (productEntity.Status == 0)
|
||||
// {
|
||||
// return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "产品不存在或者下架");
|
||||
|
||||
Reference in New Issue
Block a user