377 lines
15 KiB
Plaintext
377 lines
15 KiB
Plaintext
@using Hncore.Pass.Vpn.Domain
|
||
@using Hncore.Infrastructure.Extension
|
||
@using Hncore.Pass.Vpn.Service
|
||
@inject ProductService m_ProductService
|
||
@model List<ProductRouteEntity>
|
||
@{
|
||
var pid = this.Context.Request.GetInt("ProductId");
|
||
var product = ViewData["products"] as List<ProductEntity>;
|
||
var currentProduct = (await m_ProductService.GetById(pid)) ?? new ProductEntity();
|
||
var lineTotalCount = Model.Count;
|
||
var lineCount = Model.Where(m => m.Status == "正常").Count();
|
||
}
|
||
<div id="app">
|
||
<div class="quanjushousuo">
|
||
<p><input type="text" v-model="search_all_data" name="KeyWord" placeholder="输入地区/名称/服务器" id="KeyWord" /><button type="submit" v-on:click="search_all()" class="btnOrange">搜索全部</button></p>
|
||
<p><img src="~/m/img/shuju.png"> 实时总线路:{{ count }}条 <img src="~/m/img/shuju.png"> 实时可用线路:{{ use_count }}条</p>
|
||
|
||
</div>
|
||
|
||
<div class="zhilian">
|
||
<div class="item">
|
||
<span class="btnZhilian">
|
||
<a asp-index="" asp-controller="article" asp-route-Catalog="4"><img src="~/m/img/zhilian.png">直连教程</a>
|
||
</span>
|
||
</div>
|
||
<div class="item">
|
||
<p class="grayText" style="font-size: 25px;">线路表与账号必须为同一产品才能使用</p>
|
||
</div>
|
||
</div>
|
||
<div style="color: red;" v-if="product_id ==1|| product_id==2">
|
||
<p style="text-align:center;">
|
||
<span style="font-size: 20px;color:#FF0033;">{{search_field}}</span> 用服务器地址直连用户请注意:
|
||
</p>
|
||
<p>因电信联通机房限制此协议,会存在个别地区直连无法连接,电脑客户端和安卓APP不受影响。</p>
|
||
<p v-if="product_id ==1">解决方法:IP账号后边输入:@@特征码,例如您的IP账号为zx1234,要用sstp直连温州的,那账号框就输入:zx1234@zjwz,服务器输入任意一个全国混拨的服务器,则会连接到温州。</p>
|
||
<p v-if="product_id==2">解决方法:IP账号后边输入:@@特征码,例如您的IP账号为zx1234,要用sstp直连三亚的,那账号框就输入:zx1234@hnsy,服务器输入任意一个全国混拨的服务器,则会连接到三亚。</p>
|
||
</div>
|
||
|
||
<div style="color: red;text-align:center;font-size:20px;" v-if="product_id ==22">
|
||
<p>静态线路里面名称不带‘宽带’字样的线路ip是相对固定不变的。</p>
|
||
<p>只要线路名称里面带“宽带”两个字的是完全模拟家庭宽带网络的线路,和家庭宽度网络一样一般1-2天不等自动换一次ip</p>
|
||
</div>
|
||
|
||
<div class="lineBar"></div>
|
||
|
||
<div class="cpList">
|
||
<ul>
|
||
@foreach (var item in product.Where(m => m.Id != 3 && m.Id != 7 && m.Id != 9&& m.Id != 20&& m.Id != 21))
|
||
{
|
||
<li v-on:click="select_product(@item.Id)" id="product-@item.Id" class="item @(item.Id==pid?"cpActive":"")" a-pid="@item.Id" a-name="@item.Name">@item.Name</li>
|
||
}
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="dangqianshousuo">
|
||
<p>
|
||
<input type="hidden" name="ProductId" id="ProductId" value="@pid" />
|
||
<input type="text" v-model="search_product_data" name="KeyWord" placeholder="输入地区/名称/服务器" id="KeyWord" />
|
||
<button v-on:click="search_product()" type="submit" class="btnBlue">搜索当前</button>
|
||
</p>
|
||
</div>
|
||
|
||
<div class="daochu">
|
||
<div class="item">
|
||
<p><img src="~/m/img/miyao.png"> L2TP密钥:{{l2tp}}</p>
|
||
<p><img src="~/m/img/dk.png"> SSTP端口:{{sstp}}</p>
|
||
</div>
|
||
<div class="item">
|
||
<span v-on:click="export_data()"><img src="~/m/img/excel.png"> 导出Excel</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tableTit">
|
||
<div class="item">
|
||
地区
|
||
</div>
|
||
<div class="item">
|
||
<span v-if="product_id ==19">剩余拨数:</span>
|
||
<span v-else="product_id ==19">运营商:</span>
|
||
</div>
|
||
<div class="item">
|
||
服务器域名
|
||
</div>
|
||
<div class="item">
|
||
详情
|
||
</div>
|
||
</div>
|
||
|
||
<div class="cityData" v-for="site in table_data" :style="(site.online=='故障')?'color:#ec5656;':''">
|
||
<div class="item" v-if="site.online==null" style="color:#993399">{{site.city}}</div>
|
||
<div class="item" v-if="site.online!=null">{{site.city}}</div>
|
||
<div class="item">{{site.supply}}</div>
|
||
<div class="item">{{site.nasname}}</div>
|
||
<div class="item">
|
||
<button type="button" v-on:click="detail(site)" class="btnDetail">详情</button>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<!-- 弹窗详情 -->
|
||
<div class="layerTable">
|
||
<table border="0" cellspacing="0" cellpadding="0">
|
||
<tr>
|
||
<td>产品:</td>
|
||
<td>{{info.name}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td>城市:</td>
|
||
<td>{{info.city}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td v-if="product_id ==19">剩余拨数:</td>
|
||
<td v-else="product_id ==19">运营商:</td>
|
||
<td>{{info.supply}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td>服务器域名:</td>
|
||
<td>{{info.nasname}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td>IP量:</td>
|
||
<td>{{info.ip}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td>实时带宽:</td>
|
||
<td>{{info.daikuan}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td>维护状态:</td>
|
||
<td>{{info.online}}</td>
|
||
</tr>
|
||
<tr>
|
||
@* <td>负载状态:</td> *@
|
||
<td v-if="product_id ==1|| product_id==2">特征码:</td>
|
||
<td v-else="product_id ==1|| product_id==2">负载状态:</td>
|
||
<td>{{info.status}}</td>
|
||
</tr>
|
||
</table>
|
||
<div v-on:click="back()" class="back">
|
||
<img src="~/m/img/arrowback.png"> 返回列表
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
|
||
var app = new Vue({
|
||
el: '#app',
|
||
data: {
|
||
table_data: [],
|
||
search_all_data: '',
|
||
search_product_data:'',
|
||
product_id:0,
|
||
l2tp:'',
|
||
search_field:'',
|
||
sstp:'',
|
||
info: {},
|
||
count:'0',
|
||
use_count:'0',
|
||
},
|
||
computed: {
|
||
|
||
},
|
||
watch: {
|
||
|
||
},
|
||
created: function () {
|
||
this.select_product(0);
|
||
},
|
||
methods: {
|
||
select_product(ProductId){
|
||
this.product_id = ProductId;
|
||
let datalist = [];
|
||
let count = 0;
|
||
let use_count = 0;
|
||
$("li").removeClass("cpActive");
|
||
$("#product-"+ProductId).addClass("cpActive");
|
||
switch(ProductId){
|
||
case 2:
|
||
this.l2tp = '123';
|
||
this.search_field = '讯连IP';
|
||
this.sstp = '1500';
|
||
break;
|
||
case 4:
|
||
this.l2tp = '123456';
|
||
this.search_field = '金瑞IP';
|
||
this.sstp = '4438';
|
||
break;
|
||
case 5:
|
||
this.l2tp = '123';
|
||
this.search_field = '老鹰IP';
|
||
this.sstp = '4430';
|
||
break;
|
||
case 6:
|
||
this.l2tp = '123';
|
||
this.search_field = '先锋IP';
|
||
this.sstp = '6665';
|
||
break;
|
||
case 10:
|
||
this.l2tp = '88';
|
||
this.search_field = '无限-单窗口单ip';
|
||
this.sstp = '';
|
||
break;
|
||
case 13:
|
||
this.l2tp = '123456';
|
||
this.search_field = '极客IP';
|
||
this.sstp = '4433';
|
||
break;
|
||
case 17:
|
||
this.l2tp = '123456';
|
||
this.search_field = '西瓜IP';
|
||
this.sstp = '4433';
|
||
break;
|
||
case 14:
|
||
this.l2tp = '1234';
|
||
this.search_field = '天天IP';
|
||
this.sstp = '4430';
|
||
break;
|
||
case 15:
|
||
this.l2tp = '66';
|
||
this.search_field = '共享IP';
|
||
this.sstp = '888';
|
||
break;
|
||
case 16:
|
||
this.l2tp = '8899';
|
||
this.search_field = '实惠IP';
|
||
this.sstp = '不支持';
|
||
break;
|
||
case 1:
|
||
this.l2tp = '888888';
|
||
this.search_field = '强子IP';
|
||
this.sstp = '1500';
|
||
break;
|
||
case 8:
|
||
this.l2tp = '88';
|
||
this.search_field = '星星IP';
|
||
this.sstp = '6666';
|
||
break;
|
||
case 18:
|
||
this.l2tp = '8899';
|
||
this.search_field = '蘑菇IP';
|
||
this.sstp = '4430';
|
||
break;
|
||
case 22:
|
||
this.l2tp = '888888';
|
||
this.search_field = '火狐IP';
|
||
this.sstp = '5908';
|
||
break;
|
||
|
||
case 23:
|
||
this.l2tp = '888888';
|
||
this.search_field = '云牛IP';
|
||
this.sstp = '5908';
|
||
break;
|
||
case 25:
|
||
this.l2tp = '888888';
|
||
this.search_field = '强子静态IP';
|
||
this.sstp = '1500';
|
||
break;
|
||
}
|
||
$.ajax({
|
||
type: 'GET',
|
||
url: 'http://php-api.juip.com/script/linedata/display.php?product=' + ProductId,
|
||
dataType: "json",
|
||
async:false,
|
||
success: function (res) {
|
||
datalist = res.data;
|
||
count = res.count;
|
||
use_count = res.use_count;
|
||
}
|
||
});
|
||
this.table_data = datalist;
|
||
this.count = count;
|
||
this.use_count = use_count;
|
||
},
|
||
search_all(){
|
||
if(!this.search_all_data){
|
||
this.select_product(0);
|
||
return;
|
||
}
|
||
$.ajax({
|
||
type: 'GET',
|
||
url: 'http://php-api.juip.com/script/linedata/search.php?type=1&info=' + this.search_all_data,
|
||
dataType: "json",
|
||
async:false,
|
||
success: function (res) {
|
||
datalist = res.data;
|
||
}
|
||
});
|
||
this.table_data = datalist;
|
||
},
|
||
search_product(){
|
||
if(!this.search_product_data){
|
||
this.select_product(this.product_id);
|
||
return;
|
||
}
|
||
$.ajax({
|
||
type: 'GET',
|
||
url: 'http://php-api.juip.com/script/linedata/search.php?type=0&productid='+this.product_id+'&info=' + this.search_product_data,
|
||
dataType: "json",
|
||
async:false,
|
||
success: function (res) {
|
||
datalist = res.data;
|
||
}
|
||
});
|
||
this.table_data = datalist;
|
||
},
|
||
export_data(){
|
||
switch(this.product_id){
|
||
case 0:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/all.csv';
|
||
break;
|
||
case 2:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/xunlian.csv';
|
||
break;
|
||
case 4:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/jinrui.csv';
|
||
break;
|
||
case 5:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/laoying.csv';
|
||
break;
|
||
case 6:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/xianfeng.csv';
|
||
break;
|
||
case 10:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/wuxian.csv';
|
||
break;
|
||
case 13:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/jike.csv';
|
||
break;
|
||
case 17:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/xigua.csv';
|
||
break;
|
||
case 18:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
||
break;
|
||
case 14:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/tiantian.csv';
|
||
break;
|
||
case 15:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/gongxiang.csv';
|
||
break;
|
||
case 16:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/shihui.csv';
|
||
break;
|
||
case 1:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/qiangzi.csv';
|
||
break;
|
||
case 8:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/xingxing.csv';
|
||
break;
|
||
case 17:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/xigua.csv';
|
||
break;
|
||
case 18:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/mogu.csv';
|
||
break;
|
||
case 19:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/huohu.csv';
|
||
break;
|
||
case 25:
|
||
self.location.href='http://php-api.juip.com/script/linedata/data/download/qiangzijt.csv';
|
||
break;
|
||
}
|
||
},
|
||
detail(r){
|
||
$(".layerTable").show();
|
||
this.info= r;
|
||
},
|
||
back(){
|
||
$(".layerTable").hide();
|
||
}
|
||
}
|
||
})
|
||
</script>
|