From 26744eae20fd56fd6983de6367b29360664ae3d1 Mon Sep 17 00:00:00 2001 From: wanyongkang <937888580@qq.com> Date: Mon, 9 Nov 2020 11:02:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=92=8C=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Host/Controllers/LineListController.cs | 30 ++ Host/Views.Mobile/LineList/Index.cshtml | 292 ++++++++++++++------ Host/Views.Mobile/LineList/Index2.cshtml | 173 ++++++++++++ Host/Views.Mobile/Product/Index.cshtml | 6 +- Host/Views.Mobile/Product/ReBuyIndex.cshtml | 17 +- Host/Views/LineList/Index.cshtml | 262 ++++++++++++++---- Host/Views/LineList/Index2.cshtml | 134 +++++++++ Host/Views/Product/Index.cshtml | 16 +- Host/Views/Product/ReBuyIndex.cshtml | 44 ++- 9 files changed, 821 insertions(+), 153 deletions(-) create mode 100644 Host/Views.Mobile/LineList/Index2.cshtml create mode 100644 Host/Views/LineList/Index2.cshtml diff --git a/Host/Controllers/LineListController.cs b/Host/Controllers/LineListController.cs index 45b481f..83e69d8 100644 --- a/Host/Controllers/LineListController.cs +++ b/Host/Controllers/LineListController.cs @@ -52,6 +52,36 @@ namespace Home.Controllers var ret = await m_ProductRouteService.Query(exp).OrderBy(m=>m.Sort).ToListAsync(); + var products = await m_ProductService.Query(m=>m.OnLine == 1).OrderBy(m=>m.Sort).ToListAsync(); + ViewData["products"] = products; + return View(ret); + } + + public async Task Index2([FromQuery]LineSearchModel request) + { + request = request ?? new LineSearchModel(); + Expression> exp =null; + + if (request.ProductId > 0) + { + exp = m => m.ProductId == request.ProductId; + } + + if (request.KeyWord.Has()) + { + Expression> filterExpr = m => + m.Province.Contains(request.KeyWord) + || m.City.Contains(request.KeyWord) + || m.Name.Contains(request.KeyWord) + || m.ServerUrl.Contains(request.KeyWord); + if (exp == null) + exp = filterExpr; + else exp=exp.And(filterExpr); + } + + var ret = await m_ProductRouteService.Query(exp).OrderBy(m=>m.Sort).ToListAsync(); + + var products = await m_ProductService.Query(m=>m.OnLine == 1).OrderBy(m=>m.Sort).ToListAsync(); ViewData["products"] = products; return View(ret); diff --git a/Host/Views.Mobile/LineList/Index.cshtml b/Host/Views.Mobile/LineList/Index.cshtml index a2fd643..f064e2c 100644 --- a/Host/Views.Mobile/LineList/Index.cshtml +++ b/Host/Views.Mobile/LineList/Index.cshtml @@ -10,13 +10,11 @@ var lineTotalCount = Model.Count; var lineCount = Model.Where(m => m.Status == "正常").Count(); } - +
-
-

+

实时总线路:@(lineTotalCount)条 实时可用线路:@(lineCount)条

所有线路均支持:【电脑/安卓/苹果】【PPTP/L2TP/SSTP】

-
@@ -26,8 +24,8 @@
- @*

已购产品:老鹰b组

*@

线路表与账号必须为同一产品才能使用

+ 查看老版本服务器
@@ -37,28 +35,26 @@
    @foreach (var item in product.Where(m => m.Id != 3 && m.Id != 7 && m.Id != 9)) { -
  • @item.Name
  • +
  • @item.Name
  • }
-

- - + +

-
-

L2TP密钥:@currentProduct.L2TPPwd

-

SSTP端口:@currentProduct.SSTPPort

+

L2TP密钥:{{l2tp}}

+

SSTP端口:{{sstp}}

- 导出Excel + 导出Excel
@@ -77,96 +73,228 @@ -@foreach (var group in Model.GroupBy(m => m.Province)) -{ -

@group.Key

- @foreach (var item in group) - { -
-
- @item.City -
-
- @item.Name -
-
- @item.ServerUrl -
-
- -
-
- } -} +
+
{{site.city}}
+
{{site.city}}
+
{{site.supply}}
+
{{site.nasname}}
+
+ +
+
+ +
+ + + + - + - + - - - - - + - + - - - + + + + + + + + + + +
产品:{{info.name}}
城市:{{info.city}}
运营商:{{info.supply}}
服务器域名:
实时带宽:{{info.nasname}}
IP量:{{info.ip}}
状态:
实时带宽:{{info.daikuan}}
维护状态:{{info.online}}
负载状态:{{info.status}}
-
+
返回列表
- +
diff --git a/Host/Views.Mobile/LineList/Index2.cshtml b/Host/Views.Mobile/LineList/Index2.cshtml new file mode 100644 index 0000000..85b3ead --- /dev/null +++ b/Host/Views.Mobile/LineList/Index2.cshtml @@ -0,0 +1,173 @@ +@using Hncore.Pass.Vpn.Domain +@using Hncore.Infrastructure.Extension +@using Hncore.Pass.Vpn.Service +@inject ProductService m_ProductService +@model List +@{ + var pid = this.Context.Request.GetInt("ProductId"); + var product = ViewData["products"] as List; + var currentProduct = (await m_ProductService.GetById(pid)) ?? new ProductEntity(); + var lineTotalCount = Model.Count; + var lineCount = Model.Where(m => m.Status == "正常").Count(); +} + +
+
+

+

实时总线路:@(lineTotalCount)条 实时可用线路:@(lineCount)条

+

所有线路均支持:【电脑/安卓/苹果】【PPTP/L2TP/SSTP】

+
+
+ +
+
+ + 直连教程 + +
+
+ @*

已购产品:老鹰b组

*@ +

线路表与账号必须为同一产品才能使用

+ 查看新版本服务器 +
+
+ +
+ +
+
    + @foreach (var item in product.Where(m => m.Id != 3 && m.Id != 7 && m.Id != 9)) + { +
  • @item.Name
  • + } +
+
+ +
+
+

+ + + +

+
+
+ +
+
+

L2TP密钥:@currentProduct.L2TPPwd

+

SSTP端口:@currentProduct.SSTPPort

+
+
+ 导出Excel +
+
+ +
+
+ 地区 +
+
+ 运营商 +
+
+ 服务器域名 +
+
+ 详情 +
+
+ +@foreach (var group in Model.GroupBy(m => m.Province)) +{ +

@group.Key

+ @foreach (var item in group) + { +
+
+ @item.City +
+
+ @item.Name +
+
+ @item.ServerUrl +
+
+ +
+
+ } +} + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
城市:
运营商:
服务器域名:
实时带宽:
IP量:
状态:
+
+ 返回列表 +
+
+ + + diff --git a/Host/Views.Mobile/Product/Index.cshtml b/Host/Views.Mobile/Product/Index.cshtml index d68245a..3fb70d2 100644 --- a/Host/Views.Mobile/Product/Index.cshtml +++ b/Host/Views.Mobile/Product/Index.cshtml @@ -33,7 +33,7 @@ @foreach (var package in Model.Packages.Where(m=>m.IsTest==0&&m.Status==1)) { - @if(package.Id == 86){ + @if(package.Id == 86||package.Id == 47||package.Id == 49){
@@ -67,7 +67,20 @@
- } else if(package.Id == 88) { + } else if(package.Id == 3 || package.Id == 6){ + +
+
+

@package.Name 送7天

+

@(package.DayPrice)元/天

+

@package.Profile

+
+
+

¥@package.Price

+
+
+
+ } else if(package.Id != 88) {
diff --git a/Host/Views/LineList/Index.cshtml b/Host/Views/LineList/Index.cshtml index fef8d4c..815ae9b 100644 --- a/Host/Views/LineList/Index.cshtml +++ b/Host/Views/LineList/Index.cshtml @@ -1,4 +1,6 @@ -@using Hncore.Pass.Vpn.Domain + + +@using Hncore.Pass.Vpn.Domain @using Hncore.Infrastructure.Extension @using Hncore.Pass.Vpn.Service @inject ProductService m_ProductService @@ -16,23 +18,22 @@ display: inline !important; } +
@@ -46,11 +47,15 @@
-

*线路表和账号必须为同一产品才能使用。@*(已购产品:老鹰b组)*@

+

*****公告*****

+

*聚IP商城全线服务器都已更新,可显示实时维护状态及服务器负载情况*

+
*查看老版本服务器* +

*温馨提示:请尽量使用新版服务器,老版服务器将于12月1号停止维护*

+

*线路表和账号必须为同一产品才能使用。

@foreach (var item in product.Where(m => m.Id != 3 && m.Id != 7 && m.Id != 9)) { -
+
@item.Name
} @@ -60,74 +65,211 @@
-

L2TP密钥:@currentProduct.L2TPPwd

-

SSTP端口:@currentProduct.SSTPPort

+

L2TP密钥:{{l2tp}}

+

SSTP端口:{{sstp}}

- 搜索范围:@currentProduct.Name + 搜索范围:{{search_field}}
-
- - - 导出Excel -
+ + + 导出Excel +
-
+
- - - - - - - - + + + + + + + + - @foreach (var group in Model.GroupBy(m => m.Province)) - { - - @foreach (var item in group) - { - - - - - - - - - - - } - } - + + + + + + + + + + +
产品城市 运营商 服务器域名 实时带宽 IP量 状态 线路说明产品城市运营商服务器域名IP量实时带宽维护状态负载状态
@group.Key
@item.ProductName@item.City@item.Name@item.ServerUrl@item.BandWidth@item.IpRemark@item.Status评分★★★★★
{{site.name}}{{site.city}}{{site.city}}{{site.supply}}{{site.nasname}}{{site.ip}}{{site.daikuan}}{{site.online}}{{site.status}}
+
+ diff --git a/Host/Views/LineList/Index2.cshtml b/Host/Views/LineList/Index2.cshtml new file mode 100644 index 0000000..978af82 --- /dev/null +++ b/Host/Views/LineList/Index2.cshtml @@ -0,0 +1,134 @@ +@using Hncore.Pass.Vpn.Domain +@using Hncore.Infrastructure.Extension +@using Hncore.Pass.Vpn.Service +@inject ProductService m_ProductService +@model List +@{ + var pid = this.Context.Request.GetInt("ProductId"); + var product = ViewData["products"] as List; + var currentProduct =(await m_ProductService.GetById(pid)) ?? new ProductEntity(); + + var lineTotalCount = Model.Count; + var lineCount = Model.Where(m=>m.Status== "正常").Count(); +} + +
+
+
+
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+ +
+
+

实时总线路:@(lineTotalCount)条实时可用线路:@(lineCount)条 所有线路均支持:【电脑/安卓/苹果】【PPTP/L2TP/SSTP】

+
+
+
+
+ +
+ *返回新版本服务器* +

*线路表和账号必须为同一产品才能使用。@*(已购产品:老鹰b组)*@

+
+ @foreach (var item in product.Where(m => m.Id != 3 && m.Id != 7 && m.Id != 9)) + { +
+ @item.Name +
+ } +
+
+ +
+
+
+

L2TP密钥:@currentProduct.L2TPPwd

+

SSTP端口:@currentProduct.SSTPPort

+
+
+ 搜索范围:@currentProduct.Name +
+
+
+ + + + 导出Excel +
+ +
+
+
+ +
+ + + + + + + + + + + + @foreach (var group in Model.GroupBy(m => m.Province)) + { + + @foreach (var item in group) + { + + + + + + + + + + + } + } + + +
产品城市 运营商 服务器域名 实时带宽 IP量 状态 线路说明
@group.Key
@item.ProductName@item.City@item.Name@item.ServerUrl@item.BandWidth@item.IpRemark@item.Status评分★★★★★
+
+ diff --git a/Host/Views/Product/Index.cshtml b/Host/Views/Product/Index.cshtml index 3b40853..f058c51 100644 --- a/Host/Views/Product/Index.cshtml +++ b/Host/Views/Product/Index.cshtml @@ -222,7 +222,7 @@
@if(item.Product.Id == 5){ -

新开账号或续费,1个月赠送10天,2个月赠送1个月,(每个账号限参加一次,活动截止时间2020年11月25日)

+

月卡赠送10天,双月卡赠送1个月,新开和续费都有赠送,活动截止时间2020年11月25日。
(同一个IP账号仅限一次,每位会员不限账号数量,您可购买多个IP账号都有赠送)

} @if(item.Product.Id == 14){ -

新开账号,1个月赠送7天,2个月赠送1个月,(仅限新开账号,续费帐号不赠送,同一用户不限制参加活动的账号数量,活动截止时间2020年12月1日)

+

月卡赠送7天,双月卡赠送1个月,仅限新开账号,续费帐号不赠送,活动截止时间2020年12月1日。
(同一个IP账号仅限一次,每位会员不限账号数量,您可购买多个IP账号都有赠送)

+ } + @if(item.Product.Id == 1){ +

月卡赠送7天,季卡赠送1个月,新开和续费都有赠送,活动截止时间2020年11月15日
(同一个IP账号不限次数,您可对同一账号多次续费都有赠送,每位会员不限账号数量,您可购买多个IP账号都有赠送)

+ } + @if(item.Product.Id == 2){ +

月卡赠送7天,季卡赠送1个月,新开和续费都有赠送,活动截止时间2020年11月15日
(同一个IP账号不限次数,您可对同一账号多次续费都有赠送,每位会员不限账号数量,您可购买多个IP账号都有赠送)

} @*

@item.Product.Name

*@
@foreach (var package in item.Packages.Where(m => m.IsTest == 0 && m.Status == 1)) { - @if(package.Id == 86||package.Id == 88){ + @if(package.Id == 86||package.Id == 88||package.Id == 47||package.Id == 49){
@@ -305,7 +311,7 @@
- } else if(package.Id == 71) { + } else if(package.Id == 71||package.Id == 3||package.Id == 6) {

@package.Price

diff --git a/Host/Views/Product/ReBuyIndex.cshtml b/Host/Views/Product/ReBuyIndex.cshtml index 58232d1..8cd5ebc 100644 --- a/Host/Views/Product/ReBuyIndex.cshtml +++ b/Host/Views/Product/ReBuyIndex.cshtml @@ -95,6 +95,35 @@ border-bottom-color: transparent; } + .packageitem19{ + position: relative; + } + .packageitem19::before { + position: absolute; + top: 0.3rem; + left: -0.5rem; + z-index: 1; + padding-right: 0.625rem; + font-weight: bold; + line-height: 0px; + color: white; + height: 0px; + border: 1.0rem solid #f64e3d; + border-right-color: transparent; + content: "免费送七天"; + box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000; + } + + .packageitem19::after { + content: ""; + position: absolute; + top: 2.1875rem; + left: -0.5rem; + border: 0.25rem solid #f64e3d; + border-left-color: transparent; + border-bottom-color: transparent; + } +
@@ -127,7 +156,7 @@
@foreach (var package in Model.Packages.Where(m => m.IsTest == 0 && m.Status == 1)) { - @if(package.Id == 86){ + @if(package.Id == 86||package.Id == 47||package.Id == 49){
@@ -153,6 +182,19 @@
+ } else if(package.Id == 3 || package.Id == 6) { +
+ +

@package.Price

+

原价:@package.LinePrice

+

@(Math.Round(package.Price/package.DayCount,2))元/天

+
+

@package.Name

+

@package.Profile

+
+ +
+ } else if(package.Id != 88) {