手机端页面修改

This commit is contained in:
“wanyongkang”
2023-08-26 17:31:44 +08:00
parent ebe53896fe
commit a4b0f2e5c5
22 changed files with 1312 additions and 848 deletions

View File

@@ -64,9 +64,24 @@ namespace Home.Controllers
return View(ret);
}
[HttpGet]
public async Task<IActionResult> Info(int id)
{
var prev = await m_ArticleServce.Query(m => m.Id < id).OrderByDescending(m => m.Id).FirstOrDefaultAsync();
var ret = await m_ArticleServce.GetById(id);
var next = await m_ArticleServce.Query(m => m.Id > id).OrderBy(m => m.Id).FirstOrDefaultAsync();
return View(new ArticleInfoMode()
{
Prev = prev,
Info = ret,
Next = next
});
}
[HttpGet]
public async Task<ApiResult> Info(int id)
public async Task<ApiResult> Infoapi(int id)
{
var prev = await m_ArticleServce.Query(m => m.Id < id).OrderByDescending(m => m.Id).FirstOrDefaultAsync();
var ret = await m_ArticleServce.GetById(id);

View File

@@ -527,20 +527,23 @@ namespace Home.Controllers
try
{
var ordereNo = sArray["out_trade_no"];
var order = await m_ProductOrderService.GetOrderByNo(ordereNo);
if (order.OrderState == OrderStatus.Complete|| order.OrderState == OrderStatus.PayOk)
{
await Response.WriteAsync("success");
return;
}
var trade_status = sArray["trade_status"];
if (trade_status == "TRADE_SUCCESS") {
var order = await m_ProductOrderService.GetOrderByNo(ordereNo);
if (order.OrderState == OrderStatus.Complete|| order.OrderState == OrderStatus.PayOk)
{
await Response.WriteAsync("success");
return;
}
order.OrderState = OrderStatus.PayOk;
order.TradeNo = sArray["trade_no"];
order.UpdateTime = DateTime.Now;
await m_ProductOrderService.Update(order);
await m_ProductOrderService.ProcessOrderAccount(order);
order.OrderState = OrderStatus.PayOk;
order.TradeNo = sArray["trade_no"];
order.UpdateTime = DateTime.Now;
await m_ProductOrderService.Update(order);
await m_ProductOrderService.ProcessOrderAccount(order);
Console.WriteLine(Request.Form["trade_status"]);
Console.WriteLine(Request.Form["trade_status"]);
}
await Response.WriteAsync("success");
}catch(Exception ex)
@@ -733,7 +736,7 @@ namespace Home.Controllers
{
var product = new ProductEntity();
var package = new ProductPackageEntity();
if (id==1034||id==1040){
if (id==1034||id==1040||id==89){
package = await m_ProductPackageService.Query(m => m.Id == id).FirstOrDefaultAsync();
product = await m_ProductService.GetById(package.ProductId);
} else {

View File

@@ -1239,21 +1239,24 @@ namespace Home.Controllers
try
{
var ordereNo = sArray["out_trade_no"];
var order = await m_ChargeService.GetOrderByNo(ordereNo);
if (order.OrderState == UOrderStatus.Complete || order.OrderState == UOrderStatus.PayOk)
{
await Response.WriteAsync("success");
return;
var trade_status = sArray["trade_status"];
if (trade_status == "TRADE_SUCCESS") {
var order = await m_ChargeService.GetOrderByNo(ordereNo);
if (order.OrderState == UOrderStatus.Complete || order.OrderState == UOrderStatus.PayOk)
{
await Response.WriteAsync("success");
return;
}
order.OrderState = UOrderStatus.PayOk;
order.TradeNo = sArray["trade_no"];
order.UpdateTime = DateTime.Now;
await m_ChargeService.Update(order);
await m_ChargeService.ProcessOrderAccount(order);
Console.WriteLine(Request.Form["trade_status"]);
}
order.OrderState = UOrderStatus.PayOk;
order.TradeNo = sArray["trade_no"];
order.UpdateTime = DateTime.Now;
await m_ChargeService.Update(order);
await m_ChargeService.ProcessOrderAccount(order);
Console.WriteLine(Request.Form["trade_status"]);
await Response.WriteAsync("success");
}
catch (Exception ex)
@@ -1409,7 +1412,6 @@ namespace Home.Controllers
public async Task<IActionResult> OnLine(int productId,string account)
{
var data= await m_agentService.OnLine(productId, account);
return View(data.Data);
}
}

View File

@@ -1,68 +1,156 @@
@using Hncore.Pass.Vpn.Domain
@using Hncore.Infrastructure.Data
@using Hncore.Infrastructure.Extension
@using ViewComponents
@model PageData<ArticleEntity>
@{
var type = this.Context.Request.GetInt("Catalog");
var type = this.Context.Request.GetInt("Catalog");
}
<div class="quanjushousuo">
<form asp-action="Search" asp-controller="Article" method="get">
<p><input type="text" name="KeyWord" placeholder="请输入问题关键词" /><button type="submit" class="btnOrange">搜索全部</button></p>
<p class="hot">搜索热词:<span>账号无法登录</span><span>如何充值</span></p>
</form>
</div>
<div class="jiaocheng">
<div class="item">
<p><a asp-action="info" asp-controller="article" asp-route-id="3"><img src="~/m/img/ios.png"></a></p>
<p>苹果手机教程</p>
</div>
<div class="item">
<p><a asp-action ="info" asp-controller="article" asp-route-id="4"><img src="~/m/img/az.png"></a></p>
<p>安卓手机教程</p>
</div>
<div class="item">
<p><a asp-action="info" asp-controller="article" asp-route-id="5"><img src="~/m/img/mnq.png"></a></p>
<p>安卓模拟器教程</p>
</div>
<div class="item">
<p><a asp-action="info" asp-controller="article" asp-route-id="6"><img src="~/m/img/pc.png"></a></p>
<p>windows电脑教程</p>
</div>
<div class="item">
<p><a asp-action="info" asp-controller="article" asp-route-id="21"><img src="~/img/pc.png"></a></p>
<p>MAC电脑教程</p>
</div>
<div class="item">
<p><a asp-action="info" asp-controller="article" asp-route-id="10"><img src="~/img/pc.png"></a></p>
<p>软路由教程</p>
</div>
</div>
<div class="newsList">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="@(type==1?"active":"")"><a href="?Catalog=1">聚IP头条</a></li>
<li role="presentation" class="@(type==2?"active":"")"><a href="?Catalog=2">优惠活动</a></li>
<li role="presentation" class="@(type==3?"active":"")"><a href="?Catalog=3">常见问题</a></li>
<li role="presentation" class="@(type==4?"active":"")"><a href="?Catalog=4">新手教程</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="home">
<ul class="news">
@foreach (var item in Model.List)
{
<li><a asp-action="info" asp-controller="article" asp-route-id="@item.Id">@item.Title</a><span>@item.CreateTime.ToString("yyyy.MM.dd")</span></li>
}
<div id="app" class="container-fluid" style="color: #fff;background:#39516b;font-size:1.5em;">
<div class="container" style="padding: 20px;">
<div class="navhelp col-md-3 text-center" style="height:auto;width:100%;margin:3em 0 0.5em 0;padding:10px;">
<div>
<div class="input-group">
<input type="text" placeholder="请输入搜索内容" style="height:4em;" v-model="help_search" class="form-control">
<span class="input-group-btn" style="height:4em;">
<a class="btn btn-default" :href="'?KeyWord='+help_search" style="background:rgb(57, 81, 107);height:4em;color:white;line-height:3em;" type="button">搜索全部</a>
</span>
</div><!-- /input-group -->
</div>
<hr style="color: white;padding:0 ;margin:1em 0 0 0;">
<ul class="nav nav-tabs nav-justified" style="background:#39516b;">
<li id="notice5"><a href="?Catalog=5" style="font-size:0.7em;padding-left:0;padding-right:0;color:white">公告中心</a></li>
<li id="notice4"><a href="?Catalog=4" style="font-size:0.7em;padding-left:0;padding-right:0;color:white">直连教程</a></li>
<li id="notice3"><a href="?Catalog=3" style="font-size:0.7em;padding-left:0;padding-right:0;color:white">常见售后</a></li>
<li id="notice1"><a href="?Catalog=1" style="font-size:0.7em;padding-left:0;padding-right:0;color:white">其他帮助</a></li>
<li id="notice2"><a href="?Catalog=2" style="font-size:0.7em;padding-left:0;padding-right:0;color:white">优惠活动</a></li>
<li id="notice6"><a href="?Catalog=6" style="font-size:0.7em;padding-left:0;padding-right:0;color:white">代理合作</a></li>
</ul>
</div>
@*<div role="tabpanel" class="tab-pane" id="profile">2</div>
<div role="tabpanel" class="tab-pane" id="messages">3</div>
<div role="tabpanel" class="tab-pane" id="settings">4</div>*@
</div>
<section class=" col-md-9" style="color: #0777ff;background:#263238;margin-left:5px;height: 80vh;overflow:auto; text-center;" >
<div id="help_info">
<div class="tab-content listcon" >
<div role="tabpanel" class="tab-pane active" id="home">
@if (type == 4) {
<div style="font-size:0.7em">
<p style="padding:0;margin:0;">*请优先选择客户端连接 <a style="color:#0777ff;" href="/product/soft"><<<下载客户端>>></a></p>
<p style="padding:0;margin:0;">*无对应客户端时,可通过线路表直连支持所有设备</p>
</div>
}
<ul class="listUl">
@foreach (var item in Model.List)
{
<li>
<a style="color: aliceblue;" href="#" v-on:click="help_info(@item.Id)">
<div class="newsTit">
<div class="item" >
<div style="padding: 10px;margin:0;width:100%;;color:white;border-bottom:1px solid white;height:1.7em;">
<div class=" col-sm-8" style="overflow:hidden;height:1.5em;"> @item.Title</div>
<div class=" col--4">@item.CreateTime.ToString("yyyy.MM.dd")</div>
</div>
</div>
</div>
</a>
</li>
}
</ul>
</div>
@* 详细内容 *@
<div role="tabpanel" class="tab-pane active text-center" id="detail" style="display:none;">
<ul class="breadcrumb text-left" style="background:rgb(38, 50, 56);">
<li><a :href="'?Catalog='+title.id" style="color:#ccc">{{title.value1}}</a></li>
<li class="active" style="color:white">{{title.value2}}</li>
</ul>
<div v-if="detail_id == 3" style="text-align: center;">
<h1>视频教程</h1>
<video controls="controls" height="500" name="media"><source src="http://mp4.juip.com/%E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA%E6%95%99%E7%A8%8B.mp4" type="video/mp4"></video>
</div>
<div v-if="detail_id == 4" style="text-align: center;">
<h1>视频教程</h1>
<video controls="controls" height="500" name="media"><source src="http://mp4.juip.com/%E5%AE%89%E5%8D%93%E6%89%8B%E6%9C%BA%E6%95%99%E7%A8%8B.mp4" type="video/mp4"></video>
</div>
<div v-if="detail_id == 5" style="text-align: center;">
<h1>视频教程</h1>
<video controls="controls" height="500" name="media"><source src="http://mp4.juip.com/%E6%A8%A1%E6%8B%9F%E5%99%A8%E6%95%99%E7%A8%8B.mp4" type="video/mp4"></video>
</div>
<div v-if="detail_id == 56" style="text-align: center;">
<h1>视频教程</h1>
<video controls="controls" height="500" name="media"><source src="http://mp4.juip.com/wjjc.mp4" type="video/mp4"></video>
</div>
<div id="content" style="background:white;">
</div>
<div>
<div class="row">
<div class="col-lg-6 text-left">
上一条:<a href="#" v-on:click="help_info(prev.Id)">{{prev.Title}}</a>
</div>
<div class="col-lg-6 text-right">
下一条:<a href="#" v-on:click="help_info(next.Id)">{{next.Title}}</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
<hr style="color: white;padding:0;margin:0;">
<script src="~/js/vue.js"></script>
<script type="text/javascript">
var title_list = [' ','其他帮助','优惠活动','常见售后','直连教程','公告中心'];
var app = new Vue({
el: '#app',
data: {
detail_id:0,
title:{
id:'123',
value1:'',
value2:'',
},
prev:{},
next:{},
help_search:''
},
computed: {
},
watch: {
},
created: function () {
$("#notice"+@type).addClass("active");
},
methods: {
help_info(id) {
var that=this;
this.detail_id = id;
$("#home").hide();
$("#detail").show();
$.ajax({
type: 'GET',
url: '/article/infoapi?id=' + id,
dataType: "json",
success: function (res) {
$("#content").html(res.Data.Info.Content)
that.title.id = res.Data.Info.CatalogId
that.title.value1 = title_list[that.title.id]
that.title.value2 = res.Data.Info.Title
that.prev = res.Data.Prev?res.Data.Prev:''
that.next = res.Data.Next?res.Data.Next:''
}
});
}
}
})
</script>

View File

@@ -37,6 +37,12 @@
<video controls="controls" height="70%" name="media"><source src="http://mp4.juip.com/%E6%A8%A1%E6%8B%9F%E5%99%A8%E6%95%99%E7%A8%8B.mp4" type="video/mp4"></video>
</div>
}
@if(@Model.Info.Id == 56){
<div class="container" style="text-align: center;">
<h1 style="font-size: 2em;">视频教程</h1>
<video controls="controls" height="70%" name="media"><source src="http://mp4.juip.com/wjjc.mp4" type="video/mp4"></video>
</div>
}
<p class="dtime grayText">@Model.Info.CreateTime.ToString("yyyy.MM.dd")</p>
<p class="dcon">
@Html.Raw(Model.Info.Content)

View File

@@ -36,14 +36,12 @@
position: fixed;
width: 90%;
height: auto;
left: 27%;
left: 30%;
top: 27%;
margin-left: -200px;
margin-top: -160px;
z-index: 3;
background: #fff;
border-radius: 10px;
box-shadow: 0px 6px 8px 6px #ccc;
display: flex;
flex-direction: row;
flex-wrap: wrap;
@@ -90,7 +88,12 @@
</div>
<div class="banner">
<div class="banner text-center" style="color:white;">
<div style="padding:2em;line-height:2em;">
<p style="font-size:2em;">聚集优质IP产品 尽在聚IP</p>
<p style="font-size:1em;">覆盖500+城市超2000个服务器亿量级IP</p>
<p style="font-size:1em;">旗下有蘑菇、老鹰、云牛、西瓜、天天、强子、讯连、极客、无极、火狐等十几种优质动态、静态、单窗口等IP产品</p>
</div>
<div class="buttonList">
<div class="item">
<a asp-action="soft" asp-controller="product"> <button type="button" class="btnBlue">客户端下载</button></a>
@@ -104,47 +107,10 @@
</div>
</div>
<div class="titProducts">
<p>PRODUCTS</p>
<p>产品介绍</p>
</div>
<div class="conProducts">
<!-- Swiper -->
<div class="swiper-container">
<div class="swiper-wrapper">
@foreach (var item in Model.Where(m => m.Sort != 1000))
{
<div class="swiper-slide">
<div class="productCard">
@*<div class="item">
<img src="@P(item.Image)" />
</div>*@
<div class="item pName">
@item.Name
</div>
<div class="item">
@item.Profile
</div>
<div class="item showLine">
<a asp-action="index" asp-controller="linelist" asp-route-ProductId="@item.Id">查看线路表→</a>
</div>
<div class="item">
<a asp-action="index" asp-controller="product" asp-route-id="@item.Id"><button type="button" class="btnBlue">测试与购买</button></a>
</div>
</div>
</div>
}
</div>
<!-- Add Arrows -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
</div>
<div class="youshi">
<!-- Swiper -->
<div class="swiper-container-youshi">
<h3 class="text-center" style="padding-bottom:1em;color:white;font-size:2em;">聚IP优势</h3>
<div class="swiper-wrapper">
<div class="swiper-slide" style="background-image:url(./m/img/youshi-bg.png)">
<div class="youshiList">
@@ -155,7 +121,7 @@
全网产品最多IP库最大
</div>
<div class="item">
旗下有强子IP老鹰IP先锋IP星星IP等十几种动态IP多产品组合畅享IP库翻倍,可用IP超1亿
旗下有蘑菇、老鹰、云牛、西瓜、天天、强子、讯连、极客、无极、火狐等十几种优质动态、静态、单窗口等IP产品,多产品组合畅享ip翻倍,可用ip超1亿
</div>
</div>
</div>
@@ -168,7 +134,7 @@
全设备全协议支持
</div>
<div class="item">
支持安卓iOS电脑windowslinux等系统。支持IPL2TPSSTP等协议
支持安卓、IOS、MAC、windows、Linux、软路由、模拟器、虚拟机等支持PPTP、L2TPSSTP等协议
</div>
</div>
</div>
@@ -181,7 +147,7 @@
用户独享宽带
</div>
<div class="item">
一号一拨绝不超拨快速切换平均带宽6-10兆最高可达50
一号一拨绝不超拨快速切换平均带宽6-10兆最高可达
</div>
</div>
</div>
@@ -191,10 +157,10 @@
<img src="~/m/img/y4.png">
</div>
<div class="item">
价低质优免费测试
价低质优免费测试
</div>
<div class="item">
全自营机房一手资源价低质优量大可联系客服获取最低价
全自营机房一手资源价低质优量大可联系客服获取最低价
</div>
</div>
</div>
@@ -204,10 +170,10 @@
<img src="~/m/img/y5.png">
</div>
<div class="item">
专属产品定制
专属产品定制
</div>
<div class="item">
支持定制独立服务器,可针对特定的项目需求定制专用产品
支持定制独立服务器、可根据项目需求定制专用产品
</div>
</div>
</div>
@@ -220,7 +186,7 @@
专业的服务团队
</div>
<div class="item">
资深售前售后1对1指导7*24小时实时响应竭诚为您服务
资深客服一对一指导、实时在线、竭诚为您服务
</div>
</div>
</div>
@@ -230,63 +196,11 @@
</div>
</div>
<div class="map">
</div>
<div class="use">
</div>
<div class="titProducts">
<p>INFORMATION</p>
<p>教程&帮助</p>
</div>
<div class="newsList">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">聚IP头条</a></li>
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">常见问题</a></li>
<li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">新手教程</a></li>
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">优惠活动</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="home">
<ul class="news">
@foreach (var item in articleNews)
{
<li><a asp-action="info" asp-controller="article" asp-route-id="@item.Id"><span>@item.CreateTime.ToString("yyyy.MM.dd")</span>@item.Title</a></li>
}
</ul>
</div>
<div role="tabpanel" class="tab-pane" id="profile">
<ul class="news">
@foreach (var item in activityNews)
{
<li><a asp-action="info" asp-controller="article" asp-route-id="@item.Id"><span>@item.CreateTime.ToString("yyyy.MM.dd")</span>@item.Title</a></li>
}
</ul>
</div>
<div role="tabpanel" class="tab-pane" id="messages">
<ul class="news">
@foreach (var item in QANews)
{
<li><a asp-action="info" asp-controller="article" asp-route-id="@item.Id"><span>@item.CreateTime.ToString("yyyy.MM.dd")</span>@item.Title</a></li>
}
</ul>
</div>
<div role="tabpanel" class="tab-pane" id="settings">
<ul class="news">
@foreach (var item in helpsNews)
{
<li><a asp-action="info" asp-controller="article" asp-route-id="@item.Id"><span>@item.CreateTime.ToString("yyyy.MM.dd")</span>@item.Title</a></li>
}
</ul>
</div>
</div>
</div>
<div class="qixia">
<p>旗下产品</p>
@@ -299,6 +213,7 @@
</div>
<div class="linkus" style="display: block;">
<div class="item">
<p>联系我们</p>
<li>客服电话400 800 9925</li>
<li>客服QQ800101003</li><br>
<li>客户经理: </li><br>
@@ -323,7 +238,7 @@
<div style="font-size: 15px;">
<p style="margin-top: 0px;text-align:center;width:100%;margin-bottom: 10px;color:red;background-color:#FFFF00;">公告</p>
<p style="margin-top: 0px;text-align:center;width:100%;margin-bottom: 10px;color:red;">公告</p>
<div style="color: red;text-align:center;">
<p>杜绝电信诈骗及任何违法行为</p>
@@ -338,7 +253,7 @@
</div>
<p >
<a style="margin-left: 200%;margin-top:20px;cursor:pointer;font-size:25px;" onclick="know()" type="button" class="btn btn-primary" >我知道了</a>
<a style="margin-left: 200%;margin-top:20px;cursor:pointer;font-size:25px;background:#0777ff;" onclick="know()" type="button" class="btn btn-primary" >我知道了</a>
</p>
</div>

View File

@@ -10,23 +10,152 @@
var lineTotalCount = Model.Count;
var lineCount = Model.Where(m => m.Status == "正常").Count();
}
<div id="loading">
<div class="loader">
<div class="loader-inner">
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
</div>
</div>
</div>
<style>
.loader {
background: #000;
background: radial-gradient(#222, #000);
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 99999;
}
.loader-inner {
bottom: 0;
height: 60px;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap {
animation:
spin 2000ms cubic-bezier(.175, .885, .32, 1.275) infinite
;
box-sizing: border-box;
height: 50px;
left: 0;
overflow: hidden;
position: absolute;
top: 0;
transform-origin: 50% 100%;
width: 100px;
}
.loader-line {
border: 4px solid transparent;
border-radius: 100%;
box-sizing: border-box;
height: 100px;
left: 0;
margin: 0 auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap:nth-child(1) { animation-delay: -50ms; }
.loader-line-wrap:nth-child(2) { animation-delay: -100ms; }
.loader-line-wrap:nth-child(3) { animation-delay: -150ms; }
.loader-line-wrap:nth-child(4) { animation-delay: -200ms; }
.loader-line-wrap:nth-child(5) { animation-delay: -250ms; }
.loader-line-wrap:nth-child(1) .loader-line {
border-color: hsl(0, 80%, 60%);
height: 90px;
width: 90px;
top: 7px;
}
.loader-line-wrap:nth-child(2) .loader-line {
border-color: hsl(60, 80%, 60%);
height: 76px;
width: 76px;
top: 14px;
}
.loader-line-wrap:nth-child(3) .loader-line {
border-color: hsl(120, 80%, 60%);
height: 62px;
width: 62px;
top: 21px;
}
.loader-line-wrap:nth-child(4) .loader-line {
border-color: hsl(180, 80%, 60%);
height: 48px;
width: 48px;
top: 28px;
}
.loader-line-wrap:nth-child(5) .loader-line {
border-color: hsl(240, 80%, 60%);
height: 34px;
width: 34px;
top: 35px;
}
@@keyframes spin {
0%, 15% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
</style>
<style>
table,table tr th,td {
border:1px solid #ccc;
}
</style>
<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 style="padding:5.5em 0 0.5em 0;background:rgb(57, 81, 107);color:white;text-align:center;">
<p style="padding: 3px;margin:0;">*线路表和账号必须为同一产品才能使用。</p>
<p style="padding: 3px;margin:0;">*请优先选择客户端连接 <a style="color:#0777ff;" href="/product/soft"><<<下载客户端>>></a> </p>
<p style="padding: 3px;margin:0;">*无对应客户端时,可通过线路表直连支持所有设备<a style="color:#0777ff;" href="/article/index"><<<教程&帮助>>></a></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 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 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> 用服务器地址直连用户请注意:
@@ -41,23 +170,15 @@
<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" />
<span style="background:rgb(74, 113, 155);color:white;padding: 0.6em 0 0.6em 0.6em;background:#1b379d;">{{search_field}}
<input type="text" v-model="search_product_data" name="KeyWord" placeholder="输入地区/名称/服务器" id="KeyWord" />
<button v-on:click="search_product()" type="submit" class="btnBlue">搜索当前</button>
</span>
<button style="width:auto;padding: 0 1em;" v-on:click="search_product()" type="submit" class="btnBlue">搜索</button>
</p>
<p><img src="~/m/img/shuju.png"> 实时总线路:{{ count }}条 <img src="~/m/img/shuju.png"> 实时可用线路:{{ use_count }}条</p>
</div>
<div class="daochu">
@@ -70,32 +191,26 @@
</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>
<table class="table table-striped xianluTable" style="margin-bottom: 10px;">
<tr>
<th>地区</th>
<th v-if="product_id ==19">剩余拨数</th>
<th v-else="product_id ==19">运营商</th>
<th>服务器域名</th>
<th style="width:3em;">详情</th>
<th>操作</th>
</tr>
<tr v-for="site in table_data" :style="(site.online=='故障')?'color:#ec5656;':''">
<td colspan="5" v-if="!site.nasname" style="color:#339933;font-weight:bold;text-align:center;">{{site.city}}</td>
<td v-if="site.nasname">{{site.city}}</td>
<td v-if="site.nasname">{{site.supply}}</td>
<td v-if="site.nasname">{{site.nasname}}</td>
<td v-if="site.nasname">{{site.online}}</td>
<td v-if="site.nasname"><button type="button" v-on:click="detail(site)" class="btnDetail">详情</button></td>
</tr>
</table>
<!-- 弹窗详情 -->
@@ -144,6 +259,12 @@
</div>
<script type="text/javascript">
$(function(){
setTimeout(function(){
$("#loading").hide();
},500);
});
var app = new Vue({
el: '#app',
@@ -153,7 +274,7 @@
search_product_data:'',
product_id:0,
l2tp:'',
search_field:'',
search_field:'全部',
sstp:'',
info: {},
count:'0',

View File

@@ -25,321 +25,201 @@
var baseUrl = m_Configuration["BaseInfoUrl"];
Func<string, string> P = (path) => $"{baseUrl}{path}";
}
@* <div class="cpBanner">
<img src="~/m/img/cpBanner.png">
</div> *@
<div class="cpBanner" style="background-image: url(/img/acBanner_1.png?11231);background-repeat:round;background-size:auto auto;height:360px;">
<div class="row" style="color:white;width:calc(100vw-1px);text-align:center;padding-top:10px;">
<div class="col-md-8 " style="padding-top:1.5%;">
<h2 >十余种全网知名旗舰产品低价热销</h2>
<h1 style="font-size:45px;">淘宝动态IP销量排名NO.1</h1>
<h4 style="color: #e45b4b;">已完美对接淘宝、淘宝付款后、金额将自动充值到您的会员余额中</h4>
<a target="_blank" href="https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.45e51debbIPZJ7&ft=t&id=644774449094"><h4 style="color: #e45b4b;">欢迎淘宝下单每次下单都会随机赠送优惠券最低54元<br>优惠券支持所有套餐!<span style="color:#FFFF00;">点击去淘宝店铺付款&nbsp;<span class="glyphicon glyphicon-arrow-right"></span></span></h4></a>
</div>
<div class="col-md-3 col-md-offset-1" style="padding-top:2%;">
<h1>需求<span style="color: red;font-size:49px;">五个</span>以上</h1>
<h2>联系客服设置优惠价</h2>
<a target="_blank" href="https://admin.qidian.qq.com/template/blue/mp/menu/qr-code-jump.html?linkType=0&env=ol&kfuin=2852138148&fid=299&key=f377ec024ca45115a03a7632c7bda230&cate=1&source=&isLBS=&isCustomEntry=&type=16&ftype=1&_type=wpa&qidian=true"><h3 style="color: #e45b4b;">>>>联系客服<<<</h3></a>
<div id="loading">
<div class="loader">
<div class="loader-inner">
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
</div>
</div>
</div>
<div class="cpNav">
<style>
.loader {
background: #000;
background: radial-gradient(#222, #000);
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 99999;
}
.loader-inner {
bottom: 0;
height: 60px;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap {
animation:
spin 2000ms cubic-bezier(.175, .885, .32, 1.275) infinite
;
box-sizing: border-box;
height: 50px;
left: 0;
overflow: hidden;
position: absolute;
top: 0;
transform-origin: 50% 100%;
width: 100px;
}
.loader-line {
border: 4px solid transparent;
border-radius: 100%;
box-sizing: border-box;
height: 100px;
left: 0;
margin: 0 auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap:nth-child(1) { animation-delay: -50ms; }
.loader-line-wrap:nth-child(2) { animation-delay: -100ms; }
.loader-line-wrap:nth-child(3) { animation-delay: -150ms; }
.loader-line-wrap:nth-child(4) { animation-delay: -200ms; }
.loader-line-wrap:nth-child(5) { animation-delay: -250ms; }
.loader-line-wrap:nth-child(1) .loader-line {
border-color: hsl(0, 80%, 60%);
height: 90px;
width: 90px;
top: 7px;
}
.loader-line-wrap:nth-child(2) .loader-line {
border-color: hsl(60, 80%, 60%);
height: 76px;
width: 76px;
top: 14px;
}
.loader-line-wrap:nth-child(3) .loader-line {
border-color: hsl(120, 80%, 60%);
height: 62px;
width: 62px;
top: 21px;
}
.loader-line-wrap:nth-child(4) .loader-line {
border-color: hsl(180, 80%, 60%);
height: 48px;
width: 48px;
top: 28px;
}
.loader-line-wrap:nth-child(5) .loader-line {
border-color: hsl(240, 80%, 60%);
height: 34px;
width: 34px;
top: 35px;
}
@@keyframes spin {
0%, 15% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
</style>
<div class="cpBanner" style="background:#03162a;display:none;">
<div class="row" style="color:white;width:calc(100vw-1px);">
<div class="col-md-12 text-center" style="padding:2% ;">
<h4>需求五个以上、可联系右侧客服设置优惠价</h4>
<p>动态IP销量排名NO.1<br>
十余种全网知名旗舰产品低价热销、
节点多、稳定、靠谱、单人单线
</p>
</div>
</div>
</div>
<div class="cpNav" style="margin-top:4.7em;">
<div class="item">
<ul class="nav nav-tabs cpName" role="tablist">
<li >
<a style="color:#0098fb"><span class="glyphicon glyphicon-arrow-down"></span>动态独享IP<span class="glyphicon glyphicon-arrow-down"></span></a>
<ul class="nav nav-tabs cpName" role="tablist" style="margin-top:calc(26vh);">
<li>
<a style="color:#0098fb;border:1px solid #99CCFF"><span class="glyphicon glyphicon-arrow-down"></span>动态独享IP<span class="glyphicon glyphicon-arrow-down"></span></a>
</li>
@foreach (var item in Model)
{
if(item.Product.Id == 18) {
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;"><span style="color: red;font-weight:bold;">送 </span>@item.Product.Name<span style="color: #f64e3d;font-weight:bold;float:right;padding-right: 5px;">8折</span></a>
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF"><span style="color: red;font-weight:bold;">送 </span>@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" id="p14" role="tab" data-toggle="tab" style="font-size: 25px;">@item.Product.Name</a>
<a href="#@item.Product.Id" id="p14" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name</a>
</li>
}
else if(item.Product.Id == 22) {
<li >
<a style="color:#0098fb"><span class="glyphicon glyphicon-arrow-down"></span>静态IP<span class="glyphicon glyphicon-arrow-down"></span></a>
<a style="color:#0098fb;border:1px solid #99CCFF"><span class="glyphicon glyphicon-arrow-down"></span>静态IP<span class="glyphicon glyphicon-arrow-down"></span></a>
</li>
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;">@item.Product.Name </a>
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name </a>
</li>
}
else if(item.Product.Id == 21) {
<li >
<a style="color:#0098fb"><span class="glyphicon glyphicon-arrow-down"></span>单窗口单IP<span class="glyphicon glyphicon-arrow-down"></span></a>
<a style="color:#0098fb;border:1px solid #99CCFF"><span class="glyphicon glyphicon-arrow-down"></span>单窗口单IP<span class="glyphicon glyphicon-arrow-down"></span></a>
</li>
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;">@item.Product.Name </a>
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name </a>
</li>
} else {
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;">@item.Product.Name </a>
<a href="#@item.Product.Id" role="tab" data-toggle="tab" style="font-size: 25px;border:1px solid #99CCFF">@item.Product.Name </a>
</li>
}
}
</ul>
</div>
<script>
$("#select-7").on('click',function(){
alert('请注意无尽IP仅供电脑端使用');
});
$("#select-19").on('click',function(){
alert('本产品为独享每个账号对应一个宽带拨号永不超载保证了网速及稳定性。使用时只需设置这个唯一的服务器1.hhip.vip在账号列表中点击切换地区即可任意组合自己需要的地区。本产品灵活便捷欢迎选购');
});
</script>
<div class="item">
<div class="tab-content">
@foreach (var item in Model)
{
<div role="tabpanel" class="tab-pane @(item.Product.Id==defaultProduct.Id?"active":"")" id="@item.Product.Id">
<p class="texing">@item.Product.Name</p>
<ul class="texingList">
@foreach (var str in item.Product.ContentLine)
{
<li>·@str</li>
}
</ul>
<script>
<div style="fonft-size:1.2em;float:left;position: relative;top: calc(-2vh);left: -47%;height:calc(26vh);line-height:1.2em;width:calc(100vw);overflow:hidden;background:rgb(57, 81, 107);color:#FFFFFF;">
<p class="texing text-center" style="color:#009933;border:none;">@item.Product.Name 简介</p>
<hr>
<ul class="texingList" style="padding-bottom:0;">
@foreach (var str in item.Product.ContentLine)
{
<li style="padding:5px;">·@str</li>
}
</ul>
$(".p_type").hide();
$("#p14").click(function () {
$(".type14").show();
for (var i=1034;i<1046;i++){
$("#package-"+i).hide();
}
});
function ttzhizun() {
$("#package-89").show();
$("#package-69").show();
$("#package-70").show();
$("#package-71").show();
$("#package-1022").show();
$("#package-1023").show();
for (var i=1034;i<1046;i++){
$("#package-"+i).hide();
}
$(".ttzx").css('background-color','#FF9900');
$(".ttgj").css('background-color','white');
$(".ttpt").css('background-color','white');
}
function ttgaoji() {
$(".ttgj").css('background-color','#FF9900');
$(".ttzx").css('background-color','white');
$(".ttpt").css('background-color','white');
$("#package-89").hide();
$("#package-69").hide();
$("#package-70").hide();
$("#package-71").hide();
$("#package-1022").hide();
$("#package-1023").hide();
for (var i=1040;i<1046;i++){
$("#package-"+i).hide();
}
for (var i=1034;i<1040;i++){
$("#package-"+i).show();
}
}
function ttputong() {
$(".ttpt").css('background-color','#FF9900');
$(".ttzx").css('background-color','white');
$(".ttgj").css('background-color','white');
$("#package-89").hide();
$("#package-69").hide();
$("#package-70").hide();
$("#package-71").hide();
$("#package-1022").hide();
$("#package-1023").hide();
for (var i=1040;i<1046;i++){
$("#package-"+i).show();
}
for (var i=1034;i<1040;i++){
$("#package-"+i).hide();
}
}
var wjdxtype = 1;
function wjdxphone() {
$("#dxaz").css('background-color','#FF9900');
$("#dxdn").css('background-color','white');
wjdxtype = 1;
for (var i=1048;i<1051;i++){
$("#package-"+i).show();
}
for (var i=1051;i<1060;i++){
$("#package-"+i).hide();
}
}
wjdxphone();
function wjdxpc() {
$("#dxaz").css('background-color','white');
$("#dxdn").css('background-color','#FF9900');
wjdxtype = 2;
for (var i=1048;i<1054;i++){
$("#package-"+i).hide();
}
for (var i=1057;i<1060;i++){
$("#package-"+i).hide();
}
for (var i=1054;i<1057;i++){
$("#package-"+i).show();
}
}
function wjdxpt() {
$("#dxpt").css('background-color','#FF9900');
$("#dxgj").css('background-color','white');
if (wjdxtype == 1) {
for (var i=1051;i<1060;i++){
$("#package-"+i).hide();
}
for (var i=1048;i<1051;i++){
$("#package-"+i).show();
}
} else if (wjdxtype == 2) {
for (var i=1048;i<1054;i++){
$("#package-"+i).hide();
}
for (var i=1054;i<1057;i++){
$("#package-"+i).show();
}
for (var i=1057;i<1060;i++){
$("#package-"+i).hide();
}
}
}
function wjdxgj() {
$("#dxpt").css('background-color','white');
$("#dxgj").css('background-color','#FF9900');
if (wjdxtype == 1) {
for (var i=1048;i<1051;i++){
$("#package-"+i).hide();
}
for (var i=1051;i<1054;i++){
$("#package-"+i).show();
}
for (var i=1054;i<1060;i++){
$("#package-"+i).hide();
}
} else if (wjdxtype == 2) {
for (var i=1048;i<1057;i++){
$("#package-"+i).hide();
}
for (var i=1057;i<1060;i++){
$("#package-"+i).show();
}
}
}
//1 安卓、苹果 2 pc
var wjgxtype = 1;
function wjgxphone() {
$("#gxaz").css('background-color','#FF9900');
$("#gxdn").css('background-color','white');
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 1;
for (var i=1060;i<1063;i++){
$("#package-"+i).show();
}
for (var i=1063;i<1072;i++){
$("#package-"+i).hide();
}
}
wjgxphone();
function wjgxpc() {
$("#gxaz").css('background-color','white');
$("#gxdn").css('background-color','#FF9900');
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 2;
for (var i=1060;i<1066;i++){
$("#package-"+i).hide();
}
for (var i=1069;i<1072;i++){
$("#package-"+i).hide();
}
for (var i=1066;i<1069;i++){
$("#package-"+i).show();
}
}
function wjgxpt() {
$("#gxpt").css('background-color','#FF9900');
$("#gxgj").css('background-color','white');
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
if (wjgxtype == 1) {
for (var i=1060;i<1063;i++){
$("#package-"+i).show();
}
for (var i=1063;i<1072;i++){
$("#package-"+i).hide();
}
} else if (wjgxtype == 2) {
for (var i=1060;i<1066;i++){
$("#package-"+i).hide();
}
for (var i=1066;i<1069;i++){
$("#package-"+i).show();
}
for (var i=1069;i<1072;i++){
$("#package-"+i).hide();
}
}
}
function wjgxgj() {
$("#gxpt").css('background-color','white');
$("#gxgj").css('background-color','#FF9900');
$("#wjgxgd").addClass("active");
$("#wjgxpt").removeClass("active");
if (wjgxtype == 1) {
for (var i=1060;i<1063;i++){
$("#package-"+i).hide();
}
for (var i=1063;i<1066;i++){
$("#package-"+i).show();
}
for (var i=1066;i<1072;i++){
$("#package-"+i).hide();
}
} else if (wjgxtype == 2) {
for (var i=1060;i<1069;i++){
$("#package-"+i).hide();
}
for (var i=1069;i<1072;i++){
$("#package-"+i).show();
}
}
}
</script>
<p style="color: #ec6e58;font-size:30px;font-weight: bold;background-color:#FFFF00">
需求5个以上可以联系客服设置优惠价;
开通后有任何问题可无理由退款,并支持自助提现
退款规则:购买价格-使用天数*天卡价格
</p>
<p class=" text-center" style="color:#FF9933">需求五个以上、可联系右侧客服设置优惠价</p>
</div>
<div style="margin-top:calc(2vh);">
<div class="p_type @("type"+item.Product.Id)" style="padding-top: 10px;">
<button type="button" onclick="ttzhizun()" class="btn btn-default btn-lg ttzx" style="background-color: #FF9900;font-size:1.5em;">尊享版</button>
<button type="button" onclick="ttgaoji()" class="btn btn-default btn-lg ttgj" style="background-color: white;font-size:1.5em;">高级版</button>
<button type="button" onclick="ttputong()" class="btn btn-default btn-lg ttpt" style="background-color: white;font-size:1.5em;">普通版</button>
<button type="button" onclick="ttzhizun()" class="btn btn-default btn-lg ttzx" style="background-color: #FF9900;font-size:1.3em;">尊享版-不限速</button>
<button type="button" onclick="ttgaoji()" class="btn btn-default btn-lg ttgj" style="background-color: white;font-size:1.3em;">高级版-限速4M</button><br>
<button type="button" onclick="ttputong()" class="btn btn-default btn-lg ttpt" style="background-color: white;font-size:1.3em;margin-top:10px;">普通版-限速2M</button>
</div>
@if (item.Product.Id == 20) {
@@ -367,12 +247,12 @@
@foreach (var package in item.Packages.Where(m => m.Status == 1&&(m.TenantId==1157||m.TenantId==9999||m.TenantId==10000)).OrderBy(m => m.TenantId))
{
if (package.IsTest == 1)
if (package.IsTest == 1 &&package.Id != 89&&package.Id != 1034&&package.Id != 1040)
{
<a asp-action="test" id="@("package-"+package.Id)" asp-controller="product" asp-route-id="@package.ProductId">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="card color_2">
<div class="item">
<p>@package.Name</p>
<p style="font-size: 35px;color:#FFFF00;">@package.Name</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
</div>
@@ -388,7 +268,7 @@
{
@if(package.Price == 0.1M){
<a asp-action="buy" id="@("package-"+package.Id)" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="card color_2">
<div class="item">
<p style="font-size: 35px;color:#FFFF00;">@package.Name 首单</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
@@ -401,10 +281,24 @@
</div>
</div>
</a>
}
} else if((package.Id == 89||package.Id == 1034||package.Id == 1040)&&package.IsTest==1){
<a asp-action="test" id="@("package-"+package.Id)" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_2">
<div class="item">
<p style="font-size: 35px;color:#FFFF00;">@package.Name</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>0.00</span></p>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
}
else {
<a asp-action="buy" id="@("package-"+package.Id)" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="card color_2">
<div class="item">
<p style="font-size: 35px;color:#FFFF00;">@package.Name</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
@@ -424,8 +318,253 @@
}
}
}
</div>
</div>
}
</div>
</div>
</div>
<script>
$(function(){
setTimeout(function(){
$("#loading").hide();
},500);
});
$(".p_type").hide();
$("#p14").click(function () {
$(".type14").show();
$("#package-89").show();
$("#package-69").show();
$("#package-70").show();
$("#package-71").show();
$("#package-1022").show();
$("#package-1023").show();
for (var i=1034;i<1046;i++){
$("#package-"+i).hide();
}
});
function ttzhizun() {
$("#package-89").show();
$("#package-69").show();
$("#package-70").show();
$("#package-71").show();
$("#package-1022").show();
$("#package-1023").show();
for (var i=1034;i<1046;i++){
$("#package-"+i).hide();
}
$(".ttzx").css('background-color','#FF9900');
$(".ttgj").css('background-color','white');
$(".ttpt").css('background-color','white');
}
function ttgaoji() {
$(".ttgj").css('background-color','#FF9900');
$(".ttzx").css('background-color','white');
$(".ttpt").css('background-color','white');
$("#package-89").hide();
$("#package-69").hide();
$("#package-70").hide();
$("#package-71").hide();
$("#package-1022").hide();
$("#package-1023").hide();
for (var i=1040;i<1046;i++){
$("#package-"+i).hide();
}
for (var i=1034;i<1040;i++){
$("#package-"+i).show();
}
}
function ttputong() {
$(".ttpt").css('background-color','#FF9900');
$(".ttzx").css('background-color','white');
$(".ttgj").css('background-color','white');
$("#package-89").hide();
$("#package-69").hide();
$("#package-70").hide();
$("#package-71").hide();
$("#package-1022").hide();
$("#package-1023").hide();
for (var i=1040;i<1046;i++){
$("#package-"+i).show();
}
for (var i=1034;i<1040;i++){
$("#package-"+i).hide();
}
}
var wjdxtype = 1;
function wjdxphone() {
$("#dxaz").css('background-color','#FF9900');
$("#dxdn").css('background-color','white');
$("#dxpt").css('background-color','#FF9900');
$("#dxgj").css('background-color','white');
wjdxtype = 1;
for (var i=1048;i<1051;i++){
$("#package-"+i).show();
}
for (var i=1051;i<1060;i++){
$("#package-"+i).hide();
}
}
wjdxphone();
function wjdxpc() {
$("#dxaz").css('background-color','white');
$("#dxdn").css('background-color','#FF9900');
$("#dxpt").css('background-color','#FF9900');
$("#dxgj").css('background-color','white');
wjdxtype = 2;
for (var i=1048;i<1054;i++){
$("#package-"+i).hide();
}
for (var i=1057;i<1060;i++){
$("#package-"+i).hide();
}
for (var i=1054;i<1057;i++){
$("#package-"+i).show();
}
}
function wjdxpt() {
$("#dxpt").css('background-color','#FF9900');
$("#dxgj").css('background-color','white');
if (wjdxtype == 1) {
for (var i=1051;i<1060;i++){
$("#package-"+i).hide();
}
for (var i=1048;i<1051;i++){
$("#package-"+i).show();
}
} else if (wjdxtype == 2) {
for (var i=1048;i<1054;i++){
$("#package-"+i).hide();
}
for (var i=1054;i<1057;i++){
$("#package-"+i).show();
}
for (var i=1057;i<1060;i++){
$("#package-"+i).hide();
}
}
}
function wjdxgj() {
$("#dxpt").css('background-color','white');
$("#dxgj").css('background-color','#FF9900');
if (wjdxtype == 1) {
for (var i=1048;i<1051;i++){
$("#package-"+i).hide();
}
for (var i=1051;i<1054;i++){
$("#package-"+i).show();
}
for (var i=1054;i<1060;i++){
$("#package-"+i).hide();
}
} else if (wjdxtype == 2) {
for (var i=1048;i<1057;i++){
$("#package-"+i).hide();
}
for (var i=1057;i<1060;i++){
$("#package-"+i).show();
}
}
}
//1 安卓、苹果 2 pc
var wjgxtype = 1;
function wjgxphone() {
$("#gxaz").css('background-color','#FF9900');
$("#gxdn").css('background-color','white');
$("#gxpt").css('background-color','#FF9900');
$("#gxgj").css('background-color','white');
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 1;
for (var i=1060;i<1063;i++){
$("#package-"+i).show();
}
for (var i=1063;i<1072;i++){
$("#package-"+i).hide();
}
}
wjgxphone();
function wjgxpc() {
$("#gxaz").css('background-color','white');
$("#gxdn").css('background-color','#FF9900');
$("#gxpt").css('background-color','#FF9900');
$("#gxgj").css('background-color','white');
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 2;
for (var i=1060;i<1066;i++){
$("#package-"+i).hide();
}
for (var i=1069;i<1072;i++){
$("#package-"+i).hide();
}
for (var i=1066;i<1069;i++){
$("#package-"+i).show();
}
}
function wjgxpt() {
$("#gxpt").css('background-color','#FF9900');
$("#gxgj").css('background-color','white');
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
if (wjgxtype == 1) {
for (var i=1060;i<1063;i++){
$("#package-"+i).show();
}
for (var i=1063;i<1072;i++){
$("#package-"+i).hide();
}
} else if (wjgxtype == 2) {
for (var i=1060;i<1066;i++){
$("#package-"+i).hide();
}
for (var i=1066;i<1069;i++){
$("#package-"+i).show();
}
for (var i=1069;i<1072;i++){
$("#package-"+i).hide();
}
}
}
function wjgxgj() {
$("#gxpt").css('background-color','white');
$("#gxgj").css('background-color','#FF9900');
$("#wjgxgd").addClass("active");
$("#wjgxpt").removeClass("active");
if (wjgxtype == 1) {
for (var i=1060;i<1063;i++){
$("#package-"+i).hide();
}
for (var i=1063;i<1066;i++){
$("#package-"+i).show();
}
for (var i=1066;i<1072;i++){
$("#package-"+i).hide();
}
} else if (wjgxtype == 2) {
for (var i=1060;i<1069;i++){
$("#package-"+i).hide();
}
for (var i=1069;i<1072;i++){
$("#package-"+i).show();
}
}
}
</script>

View File

@@ -6,19 +6,14 @@
var baseUrl = m_Configuration["BaseInfoUrl"];
Func<string, string> P = (path) => $"{baseUrl}{path}";
}
<div class="container-fluid softBg">
<div class="container">
<div class="container-fluid" style="padding:0;">
<div class="text-center" style="padding:6em 0 0.5em 0;background:#39516b;color: white;">
<div class="row">
<div class="col-sm-4">
</div>
<div class="col-sm-4 text-center">
<p class="simg"><img src="~/img/img_soft.png"></p>
<p class="sintro">软件和账户必须为同一产品才能使用</p>
</div>
<div class="col-sm-4 text-right">
<a href="#" class="jiaocheng">使用教程→</a>
</div>
<h3>软件下载</h3>
<p>*软件和账户必须为同一产品才能使用</p>
<p>*下载和使用电脑客户端时请关闭杀毒如360电脑管家</p>
<p>*无对应客户端时,可通过线路表直连支持所有设备<br><a style="color:#0777ff;" href="/LineList/index"><<< IP线路表 >>></a><a style="color:#0777ff;" href="/article/index"><<<教程&帮助>>></a></p>
</div>
</div>
</div>
@@ -27,40 +22,39 @@
<div class="softList">
@foreach (var item in Model.Where(m=>m.Sort!=1000 && m.Id!=12 && m.Id!=21 && m.OnLine==1).OrderBy(m => m.Sort))
{
<div class="item">
<div class="item" style="width:100%;">
@*<p><img src="@P(item.Image)"></p>*@
@if (item.Id != 20){
<p>@item.Name</p>
<p><a href="@item.SimulatorDownloadUrl"> <button type="button" class="btnBlue">SSTP客户端下载</button></a></p>
<p><a href="@item.SimulatorDownloadUrl"> <button type="button" style="width:90%;" class="btnBlue">SSTP客户端下载</button></a></p>
}
@if (!string.IsNullOrEmpty(item.DroidDownloadUrl)){
<p>@item.Name</p>
<p><a href="@item.DroidDownloadUrl"> <button type="button" class="btnBlue">安卓APP</button></a></p>
<p><a href="@item.DroidDownloadUrl"> <button type="button" style="width:90%;" class="btnBlue">安卓APP</button></a></p>
<br>
} else if (item.Id == 20) {
<p>无极</p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E6%97%A0%E6%9E%81%E5%AE%89%E5%8D%93-%E5%85%B1%E4%BA%AB%E7%8B%AC%E4%BA%AB%E9%80%9A%E7%94%A8.apk"> <button type="button" class="btnBlue">无极安卓共享独享通用</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E6%97%A0%E6%9E%81%E5%AE%89%E5%8D%93-%E5%85%B1%E4%BA%AB%E7%8B%AC%E4%BA%AB%E9%80%9A%E7%94%A8.apk"> <button type="button" style="width:90%;" class="btnBlue">无极安卓共享独享通用</button></a></p>
<p><a href="https://apps.apple.com/cn/app/jie-zou-da-shi/id1448657437"> <button type="button" class="btnBlue">ios客户端</button></a></p>
<p><a href="https://apps.apple.com/cn/app/jie-zou-da-shi/id1448657437"> <button style="width:90%;" type="button" class="btnBlue">ios客户端</button></a></p>
}
</div>
}
<div class="item" style="height: auto;">
<div class="item" style="height: auto;width:100%;">
@*<p><img src="@P(item.Image)"></p>*@
<p>代理商专用客户端</p>
<p><a href="http://mp4.juip.com/%E8%A5%BF%E7%93%9CIP%20-%20%E4%BB%A3%E7%90%86%E7%89%88.zip"> <button type="button" class="btnBlue">西瓜IP-电脑版</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%A5%BF%E7%93%9CIP%E5%AE%89%E5%8D%93%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button type="button" class="btnBlue">西瓜IP-安卓</button></a></p><br>
<p><a href="http://mp4.juip.com/%E6%9E%81%E5%AE%A2IP%E4%BB%A3%E7%90%86%E7%89%88%203.5.rar"> <button type="button" class="btnBlue">极客IP-电脑版</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E6%9E%81%E5%AE%A2IP%E5%AE%89%E5%8D%93%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button type="button" class="btnBlue">极客IP-安卓</button></a></p><br>
<p><a href="http://mp4.juip.com/%E8%A5%BF%E7%93%9CIP%20-%20%E4%BB%A3%E7%90%86%E7%89%88.zip"> <button style="width:90%;" type="button" class="btnBlue">西瓜IP-电脑版</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%A5%BF%E7%93%9CIP%E5%AE%89%E5%8D%93%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button style="width:90%;" type="button" class="btnBlue">西瓜IP-安卓</button></a></p><br>
<p><a href="http://mp4.juip.com/%E6%9E%81%E5%AE%A2IP%E4%BB%A3%E7%90%86%E7%89%88%203.5.rar"> <button style="width:90%;" type="button" class="btnBlue">极客IP-电脑版</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E6%9E%81%E5%AE%A2IP%E5%AE%89%E5%8D%93%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button style="width:90%;" type="button" class="btnBlue">极客IP-安卓</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%AE%AF%E8%BF%9EIP%E7%94%B5%E8%84%91%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.rar"> <button type="button" class="btnBlue">迅连IP-电脑版</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%AE%AF%E8%BF%9EIP%E5%AE%89%E5%8D%93%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button type="button" class="btnBlue">讯连IP-安卓端</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E5%BC%BA%E5%AD%90IP%E7%94%B5%E8%84%91%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.rar"> <button type="button" class="btnBlue">强子IP-电脑版</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E5%BC%BA%E5%AD%90IP%E5%AE%89%E5%8D%93%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button type="button" class="btnBlue">强子IP-安卓端</button></a></p>
<p><a href="http://app.cn98.net:8000/huohupubnet.apk"> <button type="button" class="btnBlue">火狐IP-安卓端</button></a></p>
<p><a href="http://app.ipsoft168.com:8000/yunniupubdtip.apk"> <button type="button" class="btnBlue">云牛IP-安卓端</button></a></p>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E6%98%9F%E6%98%9FIP%E7%94%B5%E8%84%91%E7%AB%AF-4.10%E4%BB%A3%E7%90%86%E7%89%88.rar"> <button type="button" class="btnBlue">星星IP-电脑端</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%98%91%E8%8F%87IP-2-17.zip"> <button type="button" class="btnBlue">蘑菇IP-电脑端</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%AE%AF%E8%BF%9EIP%E7%94%B5%E8%84%91%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.rar"> <button style="width:90%;" type="button" class="btnBlue">迅连IP-电脑版</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%AE%AF%E8%BF%9EIP%E5%AE%89%E5%8D%93%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button style="width:90%;" type="button" class="btnBlue">讯连IP-安卓端</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E5%BC%BA%E5%AD%90IP%E7%94%B5%E8%84%91%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.rar"> <button style="width:90%;" type="button" class="btnBlue">强子IP-电脑版</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E5%BC%BA%E5%AD%90IP%E5%AE%89%E5%8D%93%E7%AB%AF-%E4%BB%A3%E7%90%86%E7%89%88.apk"> <button style="width:90%;" type="button" class="btnBlue">强子IP-安卓端</button></a></p><br>
<p><a href="http://app.cn98.net:8000/huohupubnet.apk"> <button style="width:90%;" type="button" class="btnBlue">火狐IP-安卓端</button></a></p><br>
<p><a href="http://app.ipsoft168.com:8000/yunniupubdtip.apk"> <button style="width:90%;" type="button" class="btnBlue">云牛IP-安卓端</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E6%98%9F%E6%98%9FIP%E7%94%B5%E8%84%91%E7%AB%AF-4.10%E4%BB%A3%E7%90%86%E7%89%88.rar"> <button style="width:90%;" type="button" class="btnBlue">星星IP-电脑端</button></a></p><br>
<p><a href="http://wuxinxikehuduan.image.qiangzipptp.top/%E8%98%91%E8%8F%87IP-2-17.zip"> <button style="width:90%;" type="button" class="btnBlue">蘑菇IP-电脑端</button></a></p><br>
</div>
</div>

View File

@@ -49,11 +49,10 @@
<div class="kArea">
<div class="cpKuang">
<div class="item">
<p><img src="@P(Model.Product.Image)"></p>
<p>@Model.Product.Name</p>
<p style="line-height:3.5em;font-weight:bold;font-size:1.5em;">@Model.Product.Name</p>
</div>
<div class="item">
<p class="kaci">@Model.Package.Name</p>
<p class="kaci" style="font-size:1.5em;">@Model.Package.Name</p>
<p class="grayText">@(Model.Package.DayPrice)元/天</p>
<p class="grayText">@Model.Package.Profile</p>
</div>
@@ -64,7 +63,6 @@
</div>
<div class="chongxin">
<div class="item redText">
*请确认好所需产品,买错产品换货将产生费用
</div>
<div class="item">
<a asp-action="index" asp-controller="product"><button type="button" class="btnBlue">返回重新选择</button></a>

View File

@@ -17,7 +17,7 @@
userEntity = await m_UserService.GetById(user.Id);
}
var randomPwd = ValidateCodeHelper.MakeNumCode(3).ToLower();
var randomAccount1 = ValidateCodeHelper.MakeCharCode(2).ToLower() + ValidateCodeHelper.MakeNumCode(4).ToLower();
var randomAccount1 = ValidateCodeHelper.MakeCharCode(3).ToLower() + ValidateCodeHelper.MakeNumCode(4).ToLower();
@* while (m_AccountService.Exist(m => m.Account == randomAccount1))
{
randomAccount1 = ValidateCodeHelper.MakeCharCode(2).ToLower() + ValidateCodeHelper.MakeNumCode(4).ToLower();
@@ -85,12 +85,11 @@
<div class="kArea">
<div class="cpKuang">
<div class="item">
<p><img src="/@Model.Product.Image"></p>
<p>@Model.Product.Name</p>
<p style="line-height:3.5em;font-weight:bold;font-size:1.5em;">@Model.Product.Name</p>
</div>
<div class="item">
<p class="kaci">@Model.Package.Name</p>
<p class="grayText">@(Model.Package.DayPrice)元/天</p>
<p class="kaci" style="font-size:1.5em;">@Model.Package.Name</p>
<p class="grayText">@(Math.Round(Model.Package.Price/Model.Package.DayCount,2))元/天</p>
<p class="grayText">@Model.Package.Profile</p>
</div>
<div class="item">
@@ -108,10 +107,12 @@
</div>
<div class="chongxin">
<div class="item redText">
*请确认好所需产品,买错产品换货将产生费用
@if (Model.Package.Name == "天卡")
@if (Model.Package.ProductId == 20 || Model.Package.ProductId == 21)
{
<p class="item redText" style="text-align:center">*天卡不支持退款,请谨慎购买</p>
<p>*无极不支持退款,请先开天卡测试</p>
} else {
<p>*请确认好产品套餐,换货将产生费用</p>
}
</div>
@@ -132,27 +133,27 @@
}
<div class="conDan">
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4;" style="text-align:right;">
IP账号
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="text" v-model="OneBuyModel.Account" />
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
IP账号密码
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="text" v-model="OneBuyModel.Pwd" v-on:blur="checkOnePwd" />
</div>
</div>
@if (Model.Package.IsTest == 0) {
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
连接数:
</div>
<div v-if="OnePayAmount != 0.1" class="col-sm-7 col-xs-7">
<div v-if="OnePayAmount != 0.1" class="col-sm-8 col-xs-8">
<div class="jiajian">
<div class="item" v-on:click="OneBuyModel.ConnectCount>1&&OneBuyModel.ConnectCount--">
-
@@ -166,15 +167,15 @@
</div>
</div>
</div>
<div v-if="OnePayAmount == 0.1" class="col-sm-7 col-xs-7">
<div v-if="OnePayAmount == 0.1" class="col-sm-8 col-xs-8">
1
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
选择优惠券:
</div>
<div class="col-sm-7 col-xs-7 select">
<div class="col-sm-8 col-xs-8 select">
<select class="chooseYhq" v-model="OneBuyModel.CouponId">
<option value="volvo">选择优惠券</option>
<option v-for="item in Coupons" :value="item.Id">{{item.Name}}</option>
@@ -183,19 +184,19 @@
</div>
}
<div class="row" v-if="@userEntity.is_agent == 1">
<div class="col-sm-5 col-xs-5">
<div class="row" v-if="@userEntity.is_agent == 1" style="text-align:right;">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
代理下会员号:
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="text" v-model="OneBuyModel.phone"/>
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
余额:
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<div class="">
当前账户余额<span class="blueText">@(userEntity.RestAmount)</span>元
<a href="/User/Index">前往充值</a>
@@ -204,10 +205,10 @@
</div>
</div>
<div class="row" v-if="showPayType">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
支付方式:
</div>
<div class="col-sm-7 col-xs-7 pay">
<div class="col-sm-8 col-xs-8 pay">
<div class="radio" v-on:click="OneBuyModel.OPayType=100">
<input id="zhifubaopay_s1" name="OPayType" type="radio" v-model="OneBuyModel.OPayType" checked value="100">
<label for="zhifubaopay_s1" class="radio-label"><img src="~/m/img/zfb.png"> 支付宝支付</label>
@@ -224,30 +225,29 @@
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
总金额:
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<span>{{OneTotalAmount}}</span>元
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
应付款:
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<span class="yingfu" style="font-size: 35px;font-weight: bold;">{{OnePayAmount}}</span>元
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<p>{{auto_discount_text}}</p>
</div>
</div>
<p class="grayText songquan">淘宝每次下单获得优惠券</p>
<p class="redText songquan">{{Tip}}</p>
<div class="ok">
<button type="button" class="btnPay pay-botton" v-on:click="onePay">确认支付</button>
@@ -257,50 +257,50 @@
<p class="shuoming">批量注册的账号会使用【账号前缀】+【开始数】+【个数】顺序进行注册,</p>
<p class="shuoming">如:注册账号前缀为【user】开始数为【2】个数为【10】则注册的账号为user2user3user4....user11</p>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
IP账号前缀
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="text" v-on:input="changeAccountCount()" v-model="MoreBuyModel.Account" />
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
IP开始号
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="number" v-on:input="changeAccountCount()" v-model="MoreBuyModel.MinPostfix" />
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
IP注册个数
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="number" v-on:input="changeAccountCount()" v-model="MoreBuyModel.MaxPostfix" />
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
即将生成的账号:
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<p class="jinggao">{{acount_list}}</p>
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
IP账号密码
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="text" v-model="MoreBuyModel.Pwd" />
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
连接数:
</div>
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
<div class="jiajian">
<div class="item" @@click="MoreBuyModel.ConnectCount>1&&MoreBuyModel.ConnectCount--">
-
@@ -313,15 +313,15 @@
</div>
</div>
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
@*<span class="quanxian">超过10个请联系客服开通</span>*@
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
选择优惠券:
</div>
<div class="col-sm-7 col-xs-7 select">
<div class="col-sm-8 col-xs-8 select">
<select class="chooseYhq" v-model="MoreBuyModel.CouponId">
<option value="volvo">选择优惠券</option>
<option v-for="item in Coupons" :value="item.Id">{{item.Name}}</option>
@@ -329,19 +329,19 @@
</div>
</div>
<div class="row" v-if="@userEntity.is_agent == 1">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
代理下会员号:
</div>
<div class="col-sm-7 col-xs-7 shuru">
<div class="col-sm-8 col-xs-8 shuru">
<input type="text" v-model="MoreBuyModel.phone"/>
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
余额:
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<div class="">
当前账户余额<span class="blueText">@(userEntity.RestAmount)</span>元
<a href="/User/Index">前往充值</a>
@@ -350,10 +350,10 @@
</div>
</div>
<div class="row" v-if="showPayType">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
支付方式:
</div>
<div class="col-sm-7 col-xs-7 pay">
<div class="col-sm-8 col-xs-8 pay">
<div class="radio" v-on:click="MoreBuyModel.OPayType=100">
<input id="zhifubaopay_s" name="radio" type="radio" value="100" checked v-model="MoreBuyModel.OPayType">
<label for="zhifubaopay_s" class="radio-label"><img src="~/m/img/zfb.png"> 支付宝支付</label>
@@ -370,29 +370,28 @@
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
总金额:
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<span>{{MoreTotalAmount}}</span>元
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
应付款:
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<span class="yingfu">{{MorePayAmount}}</span>元
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
<div class="col-sm-4 col-xs-4" style="text-align:right;">
</div>
<div class="col-sm-7 col-xs-7">
<div class="col-sm-8 col-xs-8">
<p>{{auto_discount_text}}</p>
</div>
</div>
<p class="grayText songquan">淘宝每次下单获得优惠券</p>
<p class="redText songquan">{{Tip}}</p>
<div class="ok">
<button type="button" class="btnPay pay-botton" @@click="morePay">确认支付</button>

View File

@@ -45,7 +45,7 @@
<meta name="Description" Content="聚IP提供动态代理ip、电脑换ip软件、自动换ip软件、sstp、pptp及L2TP代理服务全国多个城市几十种动态ip任您选择高品质ip资源期待与您合作。">
<title>动态代理ip_电脑换ip软件_自动换ip软件_sstp_pptp_L2TP-聚IP</title>
}
<link rel="stylesheet" type="text/css" href="~/m/css/base.css" />
<link rel="stylesheet" type="text/css" href="~/m/css/base.css?id=11" />
<link rel="stylesheet" type="text/css" href="~/m/css/swiper.min.css" />
<link rel="stylesheet" type="text/css" href="~/m/css/bootstrap.css" />
<link rel="Shortcut Icon" href="/img/favicon.ico" type="image/x-icon" />

View File

@@ -20,7 +20,7 @@
<meta content="maximum-dpr=2" name="flexible" />
<title>聚IP JUIP.COM-产品购买</title>
<link rel="stylesheet" type="text/css" href="~/m/css/base.css" />
<link rel="stylesheet" type="text/css" href="~/m/css/base.css?id=11" />
<link rel="stylesheet" type="text/css" href="~/m/css/swiper.min.css" />
<link rel="stylesheet" type="text/css" href="~/m/css/bootstrap.css" />
<link href="~/m/css/LCalendar.css" rel="stylesheet" />

View File

@@ -76,7 +76,7 @@
}
@foreach (var item in Model)
{
<div class="accout_tit"><span class="lineBar"></span>#@(Model.IndexOf(item)+1) <button class="btnXq" onclick="killout(@item.Id)">强制离线</button> </div>
<div class="accout_tit"><span class="lineBar"></span>#@(Model.IndexOf(item)+1) <button class="btnXq" onclick="killout(@productId,@item.Id)">强制离线</button> </div>
<div class="model">
<div class="item">
账号:
@@ -97,7 +97,7 @@
@item.OnlineTime
</div>
<div class="item">
服务器Ip
服务器ip
</div>
<div class="item">
@item.ServerIP
@@ -133,7 +133,7 @@
var that = this;
$.ajax({
type: 'GET',
url: '/api/course/v1/productaccount/KillOut?productId=@productId&id=' + id,
url: '/api/course/v1/productaccount/KillOut?productId='+productId+'&id=' + JSON.stringify(id),
success: function (res) {
if (res.Code == 10000) {
alert("操作成功");

View File

@@ -25,6 +25,10 @@
</li>
<li class="navhelp-item">
<a href="?Catalog=2"><span>优惠活动</span></a>
</li>
<li class="navhelp-item">
<a href="?Catalog=6"><span>代理合作</span></a>
</li>
</ul>
</div>
<section class=" col-md-9" style="color: #0777ff;background:#263238;margin-left:5px;height: 80vh;overflow:auto; text-center;" >
@@ -39,6 +43,12 @@
</span>
</div><!-- /input-group -->
</div>
@if (type == 4) {
<div>
<p style="padding:0;margin:0;">*请优先选择客户端连接 <a style="color:#0777ff;" href="/product/soft"><<<下载客户端>>></a></p>
<p style="padding:0;margin:0;">*无对应客户端时,可通过线路表直连支持所有设备</p>
</div>
}
<ul class="listUl">
@foreach (var item in Model.List)
{
@@ -136,7 +146,7 @@ var title_list = [' ','其他帮助','优惠活动','常见售后','直连教程
$("#detail").show();
$.ajax({
type: 'GET',
url: '/article/info?id=' + id,
url: '/article/infoapi?id=' + id,
dataType: "json",
success: function (res) {
$("#content").html(res.Data.Info.Content)

View File

@@ -13,6 +13,126 @@
var lineTotalCount = Model.Count;
var lineCount = Model.Where(m=>m.Status== "正常").Count();
}
<div id="loading">
<div class="loader">
<div class="loader-inner">
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
</div>
</div>
</div>
<style>
.loader {
background: #000;
background: radial-gradient(#222, #000);
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 99999;
}
.loader-inner {
bottom: 0;
height: 60px;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap {
animation:
spin 2000ms cubic-bezier(.175, .885, .32, 1.275) infinite
;
box-sizing: border-box;
height: 50px;
left: 0;
overflow: hidden;
position: absolute;
top: 0;
transform-origin: 50% 100%;
width: 100px;
}
.loader-line {
border: 4px solid transparent;
border-radius: 100%;
box-sizing: border-box;
height: 100px;
left: 0;
margin: 0 auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap:nth-child(1) { animation-delay: -50ms; }
.loader-line-wrap:nth-child(2) { animation-delay: -100ms; }
.loader-line-wrap:nth-child(3) { animation-delay: -150ms; }
.loader-line-wrap:nth-child(4) { animation-delay: -200ms; }
.loader-line-wrap:nth-child(5) { animation-delay: -250ms; }
.loader-line-wrap:nth-child(1) .loader-line {
border-color: hsl(0, 80%, 60%);
height: 90px;
width: 90px;
top: 7px;
}
.loader-line-wrap:nth-child(2) .loader-line {
border-color: hsl(60, 80%, 60%);
height: 76px;
width: 76px;
top: 14px;
}
.loader-line-wrap:nth-child(3) .loader-line {
border-color: hsl(120, 80%, 60%);
height: 62px;
width: 62px;
top: 21px;
}
.loader-line-wrap:nth-child(4) .loader-line {
border-color: hsl(180, 80%, 60%);
height: 48px;
width: 48px;
top: 28px;
}
.loader-line-wrap:nth-child(5) .loader-line {
border-color: hsl(240, 80%, 60%);
height: 34px;
width: 34px;
top: 35px;
}
@@keyframes spin {
0%, 15% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
</style>
<style>
.blueLine img {
display: inline !important;
@@ -134,6 +254,13 @@
<script src="~/js/vue.js"></script>
<script type="text/javascript">
$(function(){
setTimeout(function(){
$("#loading").hide();
},500);
});
var app = new Vue({
el: '#app',
data: {

View File

@@ -48,6 +48,9 @@
height: 90px;
padding: 15px;
}
.active {
background:#0777ff;
}
.clear {
clear: both;
}
@@ -251,34 +254,8 @@
}
else if(item.Product.Id == 14) {
<div class="dropdown">
<button type="button" class="btn dropdown-toggle" style="width: 99%;height:100%;background:white;padding:0;" id="dropdownMenu1" data-toggle="dropdown"><div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name</div>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="ttzhizun()" style="color: #FF9900;">尊享版-不限速</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="ttgaoji()" style="color: #FFCC00;">高级版-限速4M</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="ttputong()" style="color: #CCCC66;">普通版-限速2M</a>
</li>
</ul>
</div>
}
else if(item.Product.Id == 20) {
<div class="dropdown">
<button type="button" class="btn dropdown-toggle" style="width: 99%;height:100%;background:white;padding:0;" id="dropdownMenu2" data-toggle="dropdown"><div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name<span style="color: #0777ff;font-weight:bold;float:right;padding-right: 5px;"></span></div>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="wjdxpc()" style="color: #FFCC00;">电脑</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="wjdxphone()" style="color: #FF9900;">安卓/苹果</a>
</li>
</ul>
<div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name</div>
</div>
}
else if(item.Product.Id == 22) {
@@ -299,19 +276,13 @@
else if(item.Product.Id == 21) {
<div style="background-color: #ccc;color:#0098fb" disabled="disabled"><span class="glyphicon glyphicon-arrow-down"></span>单窗口单IP<span class="glyphicon glyphicon-arrow-down"></span></div>
<div class="dropdown">
<button type="button" class="btn dropdown-toggle" style="width: 99%;height:100%;background:white;padding:0;border-bottom: 1px dashed #0777ff;" id="dropdownMenu2" data-toggle="dropdown"><div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name<span style="color: #0777ff;font-weight:bold;float:right;padding-right: 5px;"></span></div>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="wjgxpc()" style="color: #FFCC00;">电脑</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" onclick="wjgxphone()" style="color: #FF9900;">安卓/苹果</a>
</li>
</ul>
<div style="background-color: #ccc;color:#0098fb" disabled="disabled">
<span class="glyphicon glyphicon-arrow-down"></span>单窗口单IP<span class="glyphicon glyphicon-arrow-down"></span>
</div>
<div style="font-size: 18px;" class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">
@item.Product.Name<span style="color: #0777ff;font-weight:bold;float:right;padding-right: 5px;"></span>
</div>
}
else {
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id">@item.Product.Name </div>
@@ -320,7 +291,7 @@
</div>
</div>
<div class="right">
<div class="right" style="height:auto;">
<div class="contentNew">
@foreach (var item in Model)
{
@@ -372,16 +343,40 @@
</div>
</div>
@if(item.Product.Id == 14) { //不限速
<div style="padding-top:10px;">
<ul class="nav nav-tabs nav-justified" style="margin:0 0 0 50px;cursor: pointer;">
<li id="tabttzx" style="border:1px solid #ccc" class="active">
<a onclick="ttzhizun()" style="color: #009966;width:350px;background:rgba(0,0,0,0)">尊享版-不限速</a>
</li>
<li style="border:1px solid #ccc" id="tabttgj">
<a onclick="ttgaoji()" style="color: #009966;width:350px;background:rgba(0,0,0,0)">高级版-限速4M</a>
</li>
<li style="border:1px solid #ccc" id="tabttpt">
<a onclick="ttputong()" style="color: #009966;width:350px;background:rgba(0,0,0,0)">普通版-限速2M</a>
</li>
</ul>
</div>
}
@if(item.Product.Id == 20){
<p class="youhuiNew" style="color: #0066CC;margin:0;padding:0;">购买后请联系客服授权登录<br>仅电脑支持单窗口单ip手机端为全局代理需求几个窗口就买几个连接数</p>
<p style="text-align:center;color:#0066CC;margin:0;" data-toggle="modal" data-target="#myModal"><a>点击查看各版本区别</a></p>
<div style="padding-top:10px;">
<div style="padding:5px 270px;">
<ul class="nav nav-tabs nav-justified" style="margin-top:0;">
<li id="wjdxpt" class="active"><a style="width: 570px;" onclick="wjdxpt()">普通版-5兆</a></li>
<li id="wjdxgd"><a style="width: 570px;" onclick="wjdxgj()">高端版-10兆</a></li>
<li id="tabwjdxpc" style="border:1px solid #ccc" class="active">
<a onclick="wjdxpc()" style="color: #FF9900;width:300px;background:rgba(0,0,0,0)">电脑</a>
</li>
<li id="tabwjdxsj" style="border:1px solid #ccc">
<a onclick="wjdxphone()" style="color: #FF9900;width:300px;background:rgba(0,0,0,0)">安卓/苹果</a>
</li>
</ul>
</div>
<div style="padding-top:10px;padding:0 270px;">
<ul class="nav nav-tabs nav-justified" style="margin-top:0;">
<li id="wjdxpt" style="border:1px solid #ccc" class="active"><a style="width: 300px;color: #009966;background:rgba(0,0,0,0)" onclick="wjdxpt()">普通版-5兆</a></li>
<li id="wjdxgd" style="border:1px solid #ccc"><a style="width: 300px;color: #009966;background:rgba(0,0,0,0)" onclick="wjdxgj()">高端版-10兆</a></li>
</ul>
</div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
@@ -403,12 +398,25 @@
@if(item.Product.Id == 21){
<p class="youhuiNew" style="color: #0066CC;margin:0;padding:0;">购买后请联系客服授权登录<br>仅电脑支持单窗口单ip手机端为全局代理需求几个窗口就买几个连接数</p>
<p style="text-align:center;color:#0066CC;margin:0;" data-toggle="modal" data-target="#myModals"><a>点击查看各版本区别</a></p>
<div style="padding-top:10px;">
<div style="padding-top:10px;padding:5px 270px;">
<ul class="nav nav-tabs nav-justified" style="margin-top:0;">
<li id="wjgxpt" class="active"><a style="width: 570px;" onclick="wjgxpt()">普通版</a></li>
<li id="wjgxgd"><a style="width: 570px;" onclick="wjgxgj()">极速版</a></li>
<li id="tabwjgxpc" style="border:1px solid #ccc" class="active">
<a onclick="wjgxpc()" style="color: #FF9900;width:300px;background:rgba(0,0,0,0)">电脑</a>
</li>
<li id="tabwjgxsj" style="border:1px solid #ccc">
<a onclick="wjgxphone()" style="color: #FF9900;width:300px;background:rgba(0,0,0,0)">安卓/苹果</a>
</li>
</ul>
</div>
<div style="padding-top:10px;padding:0 270px;">
<ul class="nav nav-tabs nav-justified" style="margin-top:0;">
<li id="wjgxpt" class="active" style="border:1px solid #ccc"><a style="width: 300px;color: #009966;background:rgba(0,0,0,0)" onclick="wjgxpt()">普通版</a></li>
<li id="wjgxgd" style="border:1px solid #ccc"><a style="width: 300px;color: #009966;background:rgba(0,0,0,0)" onclick="wjgxgj()">极速版</a></li>
</ul>
</div>
<div class="modal fade" id="myModals" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="width: 1250px;">
<div class="modal-content">
@@ -428,138 +436,138 @@
@*<p class="text-center nameSmall">—<span>@item.Product.Name</span>—</p>*@
<div class="card" style="margin-top:30px;">
<div style="display: flex;margin: 0 auto;">
<div style="display: flex;margin: 0 auto;">
@if(item.Product.TenantId == 1157 && item.Product.Content=="0" && item.Product.Id != 14){
<div class="item packageitem" a-test="true" id="@("pkgtest"+item.Product.Id)" a-pkg-id="@item.Product.Id">
<p><span class="price">免费</span></p>
<p class="yuanjia" style="color: #FF9900;text-decoration:none;"><span>@restStatus</span></p>
<p>@restTimes</p>
<div class="pkgNameCard">
<p class="tianka" style="font-size:17px;color:white;">测试卡</p>
<p class="qixian">使用期限:1小时</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
@foreach (var package in item.Packages.Where(m => (m.IsTest == 0 && m.Status == 1) || (m.ProductId==14 && m.Status == 1) ).OrderBy(m => m.TenantId))
{
@if(package.Title != "0"){
<style>
.packageitem-@package.Id{
position: relative;
}
.packageitem-@package.Id::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.2rem solid #0777ff;
border-right-color: transparent;
content: "@package.Title 折";
box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000;
}
.packageitem-@package.Id::after {
content: "";
position: absolute;
top: 2.1875rem;
left: -0.5rem;
border: 0.25rem solid #0777ff;
border-left-color: transparent;
border-bottom-color: transparent;
}
</style>
}
@if(package.Price == 0.1M){
<div class="item packageitem packageitem1" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#FF9933">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else if(package.ProductId == 18 && package.Title=="0"){
<div class="item packageitem packageitem2" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#0777ff">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else if(package.Title!="0"){
<div class="item packageitem packageitem-@package.Id" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if((package.Id == 64||package.Id == 1004)&&package.Price<60){
<p><span class="price">60.00</span>元</p>
} else {
<p><span class="price">@package.Price</span>元</p>
}
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#0777ff">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}else if((package.Id == 89||package.Id == 1034||package.Id == 1040)&&package.IsTest==1){
<div class="item packageitem" a-test="true" id="@("pkg"+package.Id)" a-pkg-id="@item.Product.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
@if(item.Product.TenantId == 1157 && item.Product.Content=="0" && item.Product.Id != 14){
<div class="item packageitem" a-test="true" id="@("pkgtest"+item.Product.Id)" a-pkg-id="@item.Product.Id">
<p><span class="price">免费</span></p>
<p class="yuanjia" style="color: #FF9900;text-decoration:none;"><span>@restStatus</span></p>
<p>@restTimes</p>
<div class="pkgNameCard">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="tianka" style="font-size:17px;color:white;">测试卡</p>
<p class="qixian">使用期限:1小时</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else {
<div class="item " id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if((package.Id == 64||package.Id == 1004)&&package.Price<60){
<p><span class="price">60.00</span>元</p>
} else {
@foreach (var package in item.Packages.Where(m => (m.IsTest == 0 && m.Status == 1) || (m.ProductId==14 && m.Status == 1) ).OrderBy(m => m.TenantId))
{
@if(package.Title != "0"){
<style>
.packageitem-@package.Id{
position: relative;
}
.packageitem-@package.Id::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.2rem solid #0777ff;
border-right-color: transparent;
content: "@package.Title 折";
box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000;
}
.packageitem-@package.Id::after {
content: "";
position: absolute;
top: 2.1875rem;
left: -0.5rem;
border: 0.25rem solid #0777ff;
border-left-color: transparent;
border-bottom-color: transparent;
}
</style>
}
@if(package.Price == 0.1M){
<div class="item packageitem packageitem1" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
}
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#0777ff">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#FF9933">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else if(package.ProductId == 18 && package.Title=="0"){
<div class="item packageitem packageitem2" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#0777ff">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else if((package.Id == 89||package.Id == 1034||package.Id == 1040)&&package.IsTest==1){
<div class="item packageitem" a-test="true" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">使用期限:1小时</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else if(package.Title!="0"){
<div class="item packageitem packageitem-@package.Id" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if((package.Id == 64||package.Id == 1004)&&package.Price<60){
<p><span class="price">60.00</span>元</p>
} else {
<p><span class="price">@package.Price</span>元</p>
}
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#0777ff">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else {
<div class="item " id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if((package.Id == 64||package.Id == 1004)&&package.Price<60){
<p><span class="price">60.00</span>元</p>
} else {
<p><span class="price">@package.Price</span>元</p>
}
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#0777ff">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
}
}
</div>
</div>
</div>
<div style="margin-left:26%">
<div style="border: 1px dashed #ccc;margin-top:30px;width:50%;margin-left: 63px;background-color:#0777ff">
@@ -672,6 +680,9 @@
$("#pkg71").show();
$("#pkg1022").show();
$("#pkg1023").show();
$("#tabttzx").addClass("active");
$("#tabttgj").removeClass("active");
$("#tabttpt").removeClass("active");
for (var i=1034;i<1046;i++){
$("#pkg"+i).hide();
}
@@ -683,6 +694,9 @@
$("#pkg71").hide();
$("#pkg1022").hide();
$("#pkg1023").hide();
$("#tabttzx").removeClass("active");
$("#tabttgj").addClass("active");
$("#tabttpt").removeClass("active");
for (var i=1040;i<1046;i++){
$("#pkg"+i).hide();
}
@@ -697,6 +711,9 @@
$("#pkg71").hide();
$("#pkg1022").hide();
$("#pkg1023").hide();
$("#tabttzx").removeClass("active");
$("#tabttgj").removeClass("active");
$("#tabttpt").addClass("active");
for (var i=1040;i<1046;i++){
$("#pkg"+i).show();
}
@@ -710,6 +727,8 @@
function wjdxphone() {
$("#wjdxgd").removeClass("active");
$("#wjdxpt").addClass("active");
$("#tabwjdxsj").addClass("active");
$("#tabwjdxpc").removeClass("active");
wjdxtype = 1;
for (var i=1048;i<1051;i++){
$("#pkg"+i).show();
@@ -722,6 +741,8 @@
function wjdxpc() {
$("#wjdxgd").removeClass("active");
$("#wjdxpt").addClass("active");
$("#tabwjdxsj").removeClass("active");
$("#tabwjdxpc").addClass("active");
wjdxtype = 2;
for (var i=1048;i<1054;i++){
$("#pkg"+i).hide();
@@ -782,6 +803,8 @@
//1 安卓、苹果 2 pc
var wjgxtype = 1;
function wjgxphone() {
$("#tabwjgxsj").addClass("active");
$("#tabwjgxpc").removeClass("active");
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 1;
@@ -794,6 +817,8 @@
}
function wjgxpc() {
$("#tabwjgxsj").removeClass("active");
$("#tabwjgxpc").addClass("active");
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 2;
@@ -865,12 +890,12 @@
alert('请注意无尽IP仅供电脑端使用');
}
if (pid == 14) {
$("#pkg89").hide();
$("#pkg69").hide();
$("#pkg70").hide();
$("#pkg71").hide();
$("#pkg1022").hide();
$("#pkg1023").hide();
$("#pkg89").show();
$("#pkg69").show();
$("#pkg70").show();
$("#pkg71").show();
$("#pkg1022").show();
$("#pkg1023").show();
for (var i=1034;i<1046;i++){
$("#pkg"+i).hide();
}
@@ -878,11 +903,37 @@
$("#p"+i).removeClass("on");
}
} else if (pid == 20||pid == 21){
for (var i=1048;i<1072;i++){
$("#pkg"+i).hide();
if (pid ==20) {
$("#wjdxgd").removeClass("active");
$("#wjdxpt").addClass("active");
$("#tabwjdxsj").removeClass("active");
$("#tabwjdxpc").addClass("active");
wjdxtype = 2;
for (var i=1048;i<1054;i++){
$("#pkg"+i).hide();
}
for (var i=1057;i<1060;i++){
$("#pkg"+i).hide();
}
for (var i=1054;i<1057;i++){
$("#pkg"+i).show();
}
}
for (var i=1;i<30;i++){
$("#p"+i).removeClass("on");
if (pid ==21) {
$("#tabwjgxsj").removeClass("active");
$("#tabwjgxpc").addClass("active");
$("#wjgxgd").removeClass("active");
$("#wjgxpt").addClass("active");
wjgxtype = 2;
for (var i=1060;i<1066;i++){
$("#pkg"+i).hide();
}
for (var i=1069;i<1072;i++){
$("#pkg"+i).hide();
}
for (var i=1066;i<1069;i++){
$("#pkg"+i).show();
}
}
} else {
$("#p14").removeClass("on");
@@ -894,7 +945,6 @@
$(".card .item").click(function () {
currentPkgId = $(this).attr('a-pkg-id');
console.log(isTest);
if ($(this).attr('a-test')){
isTest = true;
} else {
@@ -919,7 +969,6 @@
} else {
window.location.href = "Buy?id=" + currentPkgId;
}
console.log(isTest);
})
$(".testLogin").click(function () {
loginCallback = testLoginSuccess;

View File

@@ -59,7 +59,7 @@
<p style="padding-top: 40px; font-size: 25px; font-weight: bold; color: #ee7a69;">@Model.Product.Name</p>
</div>
<div class="item">
<p class="sname">@Model.Package.Name</p>
<p class="sname" style="font-size:1.5em;">@Model.Package.Name</p>
<p class="sprice">0元</p>
<p class="stime">@Model.Package.Profile</p>

View File

@@ -92,39 +92,33 @@
<div class="container-fluid top">
<div class="container" style="padding-top: 20px;">
<div class="row">
<div class="col-lg-3 text-center">
<div class="col-lg-3 text-right">
当前已选产品:
</div>
<div class="col-lg-6">
<div class="selectCard">
<div class="item">
<p style="padding-top: 40px; font-size: 25px; font-weight: bold; color: #ee7a69;">@Model.Product.Name</p>
</div>
<div class="item">
<p class="sname" style="font-size: 1.2em;margin-top:0.5em">@Model.Package.Name</p>
<p class="sprice">@(Model.Package.DayPrice)元/天</p>
<p class="stime">@Model.Package.Profile</p>
<div class="col-lg-6" >
<div>
<div style="float:left; font-size: 25px; font-weight: bold; color: #ee7a69;"><span style="color:black;">
@Model.Product.Name - @Model.Package.Name </span> &nbsp;
</div>
<div class="item">
@if(Model.Package.Price < 60 && (Model.Package.Id == 64||Model.Package.Id == 1004)){
<p class="zongjia"><span>60.00</span>元</p>
<div style="float:right;">¥60.00</div>
} else {
@if (Model.Package.IsTest == 0) {
<p class="zongjia"><span>@Model.Package.Price</span>元</p>
<div style="float:right;">¥@Model.Package.Price 元</div>
} else {
<p class="zongjia"><span>1.0</span>元</p>
<div style="float:right;">¥1.0元</div>
}
}
</div>
</div>
</div>
<p class="tishi tishika" style="text-align:center">*请务必选好所需商品,换货会产生费用</p>
<br><br>
<p class="tishi tishika" style="text-align:left;padding:0;">*请务必选好所需商品,换货会产生费用</p>
@if (Model.Package.Name == "天卡")
{
<p class="tishi " style="text-align:center">*天卡不支持退款,请谨慎购买</p>
}
{
<p class="tishi " style="text-align:left">*天卡不支持退款,请谨慎购买</p>
}
</div>
<div class="col-lg-3">
<div class="col-lg-3 ">
<a href="javascript:history.go(-1)">返回重新选择》</a>
</div>
</div>

View File

@@ -66,29 +66,31 @@
<div class="container-fluid top">
<div class="container">
<div class="row">
<div class="col-lg-3 text-center">
<div class="col-lg-3 text-right" style="padding-top:20px;">
当前已选产品:
</div>
<div class="col-lg-6">
<div class="selectCard">
<div class="item">
<p style="padding-top: 40px; font-size: 25px; font-weight: bold; color: #ee7a69;">@Model.Product.Name</p>
</div>
<div class="item">
<p class="sname" style="font-size: 1.2em;">@Model.Package.Name</p>
<p class="sprice">@(Model.Package.DayPrice)元/天</p>
<p class="stime">@Model.Package.Profile</p>
<div class="col-lg-6" style="padding-top:20px;">
<div>
<div style="float:left; font-size: 25px; font-weight: bold; color: #ee7a69;"><span style="color:black;">
@Model.Product.Name - @Model.Package.Name </span> &nbsp;
</div>
<div class="item">
@if(Model.Package.Price < 60 && (Model.Package.Id == 64||Model.Package.Id == 1004)){
<p class="zongjia"><span>60.00</span>元</p>
<div style="float:right;">¥60.00</div>
} else {
<p class="zongjia"><span>@Model.Package.Price</span>元</p>
@if (Model.Package.IsTest == 0) {
<div style="float:right;">¥@Model.Package.Price 元</div>
} else {
<div style="float:right;">¥1.0元</div>
}
}
</div>
</div>
</div>
<p class="tishi tishika" style="text-align:center">*请务必选好所需商品,换货会产生费用</p>
<br><br>
<p class="tishi tishika" style="text-align:left;padding:0;">*请务必选好所需商品,换货会产生费用</p>
@if (Model.Package.Name == "天卡")
{
<p class="tishi " style="text-align:left">*天卡不支持退款,请谨慎购买</p>
}
</div>
<div class="col-lg-3">
<a href="javascript:history.go(-1)">返回重新选择》</a>

View File

@@ -29,7 +29,7 @@ body {
}
.banner {
background: url(../img/banner.png) no-repeat left top;
background: url(http://mp4.juip.com/banner.png?id=1) no-repeat left top;
background-size: cover;
height: 6.133333rem;
position: relative;
@@ -132,8 +132,8 @@ body {
}
.youshi {
background: url(../img/youshi.png) no-repeat left top;
background-size: 100%;
background: url(../../img/youshi.png) left top;
background-size: 100% 100%;
height: 9.6rem;
position: relative;
}
@@ -161,7 +161,7 @@ body {
}
.swiper-container-youshi {
padding-top: 2.426666rem;
padding-top: 1.426666rem;
}
.swiper-container-youshi .swiper-slide {
@@ -253,7 +253,7 @@ body {
}
.linkus .item {
width: 50%;
width: 100%;
}
.linkus .item p:first-child {
@@ -555,13 +555,13 @@ body {
float: none !important;
text-align: center;
margin-bottom: 0px !important;
height: 1.466666rem !important;
line-height: 1.466666rem !important;
height: 1.2rem !important;
line-height: 1.2rem !important;
}
.cpName li a {
height: 1.466666rem !important;
line-height: 1.466666rem !important;
height: 1.2rem !important;
line-height: 1.2rem !important;
padding: 0 !important;
border-radius: 0px !important;
}

View File

@@ -174,6 +174,8 @@ namespace Hncore.Pass.Vpn.Domain
Help = 4,
[DisplayName("公告中心")]
Notice = 5,
[DisplayName("代理合作")]
Agnet = 6,
}
public enum PayChannel