初始提交
This commit is contained in:
35
Host/Views/Shared/Components/Pager/Default.cshtml
Normal file
35
Host/Views/Shared/Components/Pager/Default.cshtml
Normal file
@@ -0,0 +1,35 @@
|
||||
@using Hncore.Infrastructure.Extension
|
||||
@model ViewComponents.PagerModel
|
||||
@{
|
||||
Model.PageIndex= Model.PageIndex == 0 ? 1 : Model.PageIndex;
|
||||
var q = this.Context.Request.Remove("PageIndex");
|
||||
if (string.IsNullOrEmpty(q))
|
||||
{
|
||||
q = "?";
|
||||
}
|
||||
else
|
||||
{
|
||||
q = "?"+ q + "&";
|
||||
}
|
||||
}
|
||||
|
||||
@if (Model.TotalPage > 1)
|
||||
{
|
||||
<ul class="pagination">
|
||||
@if (Model.PageIndex > 1)
|
||||
{
|
||||
string href = $"{q}PageIndex={Model.PageIndex - 1}";
|
||||
<li class="page-item"><a class="page-link" href="@href">上一页</a></li>
|
||||
}
|
||||
@for (var i = 1; i <= Model.TotalPage; i++)
|
||||
{
|
||||
<li class="page-item"><a class="page-link @(Model.PageIndex==i?"fenyeActive2":"")" href="@(q)PageIndex=@i">@i</a></li>
|
||||
|
||||
}
|
||||
@if (Model.PageIndex < Model.TotalPage)
|
||||
{
|
||||
string href = $"{q}PageIndex={Model.PageIndex + 1}";
|
||||
<li class="page-item"><a class="page-link" href="@href">下一页</a></li>
|
||||
}
|
||||
</ul>
|
||||
}
|
||||
68
Host/Views/Shared/Components/PayOk/Default.cshtml
Normal file
68
Host/Views/Shared/Components/PayOk/Default.cshtml
Normal file
@@ -0,0 +1,68 @@
|
||||
|
||||
<style>
|
||||
/* 支付成功弹窗开始 */
|
||||
.paylayer {
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
width: 360px;
|
||||
height: 500px;
|
||||
top: 50%;
|
||||
margin-top: -200px;
|
||||
left: 50%;
|
||||
margin-left: -180px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.plTop img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.plFour {
|
||||
background: #fff;
|
||||
margin: 0;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.plFour img {
|
||||
width: 90%;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.plClose {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
right: 10px;
|
||||
z-index: 999;
|
||||
}
|
||||
/* 支付成功弹窗结束 */
|
||||
</style>
|
||||
|
||||
<!-- 支付成功弹窗开始 -->
|
||||
<div class="paylayer">
|
||||
<img src="~/img/close.png" class="plClose">
|
||||
<div class="plTop">
|
||||
<img src="~/img/payBg.png">
|
||||
</div>
|
||||
<div class="row plFour">
|
||||
<div class="col-lg-6 text-center">
|
||||
<a asp-action="MyAccounts" asp-controller="User"> <img src="~/img/pl1.png"></a>
|
||||
</div>
|
||||
<div class="col-lg-6 text-center">
|
||||
<a asp-action="Index" asp-controller="LineList"> <img src="~/img/pl2.png"></a>
|
||||
</div>
|
||||
<div class="col-lg-6 text-center">
|
||||
<a asp-action="index" asp-controller="article" asp-route-Catalog="4"> <img src="~/img/pl3.png"></a>
|
||||
</div>
|
||||
<div class="col-lg-6 text-center">
|
||||
<a asp-action="soft" asp-controller="Product"> <img src="~/img/pl4.png"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(".plClose").on("click", function () { $(".paylayer").hide(); $(".popmask").hide() })
|
||||
function showPayOk() {
|
||||
$(".popmask").show()
|
||||
$(".paylayer").show();
|
||||
}
|
||||
</script>
|
||||
<!-- 支付成功弹窗结束 -->
|
||||
79
Host/Views/Shared/Components/PayWait/Default.cshtml
Normal file
79
Host/Views/Shared/Components/PayWait/Default.cshtml
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
<style>
|
||||
/* 支付等待弹窗开始 */
|
||||
.paywait {
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
width: 360px;
|
||||
height: 500px;
|
||||
top: 50%;
|
||||
margin-top: -200px;
|
||||
left: 50%;
|
||||
margin-left: -180px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.plTop img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.plFour {
|
||||
background: #fff;
|
||||
margin: 0;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.plFour img {
|
||||
width: 90%;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.plClose {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
right: 10px;
|
||||
z-index: 999;
|
||||
}
|
||||
.errorTip{
|
||||
margin-top:30px;
|
||||
color:red;
|
||||
}
|
||||
/* 支付等待弹窗结束 */
|
||||
</style>
|
||||
|
||||
<!-- 支付等待 -->
|
||||
<div class="paywait">
|
||||
<img src="~/img/close.png" class="plClose">
|
||||
<div class="plTop">
|
||||
<img src="~/img/paywait.png">
|
||||
</div>
|
||||
<div class="row plFour">
|
||||
<div class="col-lg-12 text-center loadingBox">
|
||||
<img src="~/img/loading.gif" style="width:100px;height:20px">
|
||||
<p>账号检测中请耐心等待</p>
|
||||
</div>
|
||||
<div class="col-lg-12 text-center errorTip">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
function showPayWait() {
|
||||
$(".popmask").show()
|
||||
$(".paywait").show();
|
||||
$(".loadingBox").show();
|
||||
$(".errorTip").text("");
|
||||
}
|
||||
function hidePayWait() {
|
||||
$(".popmask").hide()
|
||||
$(".paywait").hide();
|
||||
}
|
||||
function tipPayWait(info) {
|
||||
showPayWait();
|
||||
$(".loadingBox").hide();
|
||||
$(".errorTip").text(info)
|
||||
}
|
||||
$(".plClose").on("click", function () { hidePayWait() })
|
||||
</script>
|
||||
<!-- 支付等待弹窗结束 -->
|
||||
25
Host/Views/Shared/Error.cshtml
Normal file
25
Host/Views/Shared/Error.cshtml
Normal file
@@ -0,0 +1,25 @@
|
||||
@model ErrorViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Error";
|
||||
}
|
||||
|
||||
<h1 class="text-danger">Error.</h1>
|
||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
||||
|
||||
@if (Model.ShowRequestId)
|
||||
{
|
||||
<p>
|
||||
<strong>Request ID:</strong> <code>@Model.RequestId</code>
|
||||
</p>
|
||||
}
|
||||
|
||||
<h3>Development Mode</h3>
|
||||
<p>
|
||||
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
|
||||
</p>
|
||||
<p>
|
||||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
|
||||
It can result in displaying sensitive information from exceptions to end users.
|
||||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
|
||||
and restarting the app.
|
||||
</p>
|
||||
25
Host/Views/Shared/_CookieConsentPartial.cshtml
Normal file
25
Host/Views/Shared/_CookieConsentPartial.cshtml
Normal file
@@ -0,0 +1,25 @@
|
||||
@using Microsoft.AspNetCore.Http.Features
|
||||
|
||||
@{
|
||||
var consentFeature = Context.Features.Get<ITrackingConsentFeature>();
|
||||
var showBanner = !consentFeature?.CanTrack ?? false;
|
||||
var cookieString = consentFeature?.CreateConsentCookie();
|
||||
}
|
||||
|
||||
@if (showBanner)
|
||||
{
|
||||
<div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
Use this space to summarize your privacy and cookie use policy. <a asp-area="" asp-controller="Home" asp-action="Privacy">Learn More</a>.
|
||||
<button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString">
|
||||
<span aria-hidden="true">Accept</span>
|
||||
</button>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
var button = document.querySelector("#cookieConsent button[data-cookie-string]");
|
||||
button.addEventListener("click", function (event) {
|
||||
document.cookie = button.dataset.cookieString;
|
||||
}, false);
|
||||
})();
|
||||
</script>
|
||||
}
|
||||
544
Host/Views/Shared/_Layout.cshtml
Normal file
544
Host/Views/Shared/_Layout.cshtml
Normal file
@@ -0,0 +1,544 @@
|
||||
@using Hncore.Pass.BaseInfo.Response
|
||||
@using Hncore.Infrastructure.Serializer;
|
||||
@using Hncore.Pass.Vpn.Service
|
||||
@inject ProductService m_ProductService
|
||||
@{
|
||||
UserLoginModel user = null;
|
||||
if (this.Context.Request.Cookies.TryGetValue("userInfo", out string userCookie))
|
||||
{
|
||||
user = userCookie.FromJsonTo<UserLoginModel>();
|
||||
}
|
||||
var products = m_ProductService.Query(true).ToList();
|
||||
}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>聚IP JUIP.COM </title>
|
||||
<link rel="stylesheet" type="text/css" href="~/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/css/base.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/css/swiper.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/css/animate.min.css" />
|
||||
<link rel="Shortcut Icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||
<script src="~/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/jquery.qrcode.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
$.ajaxSetup({
|
||||
complete: function (XMLHttpRequest, textStatus) {
|
||||
console.log(XMLHttpRequest);
|
||||
//var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus");
|
||||
if (textStatus =="parsererror") {
|
||||
//如果超时就处理 ,指定要跳转的页面(比如登陆页)
|
||||
$(".mask").show();
|
||||
$(".main").show();
|
||||
$(".main").addClass("animated bounceInDown");
|
||||
}
|
||||
}
|
||||
});
|
||||
var loginCallback = null;
|
||||
var loginSuccess = null;
|
||||
$(function () {
|
||||
// 注册登录弹窗
|
||||
|
||||
$(".regLink").click(function () {
|
||||
$(".main").hide();
|
||||
$(".main_reg").show();
|
||||
});
|
||||
$(".loginLink").click(function () {
|
||||
$(".main_reg").hide();
|
||||
$(".main_find").hide();
|
||||
$(".main").show();
|
||||
});
|
||||
$(".findLink").click(function () {
|
||||
$(".main").hide();
|
||||
$(".main_find").show();
|
||||
});
|
||||
|
||||
$(".login").click(function () {
|
||||
$(".mask").show();
|
||||
$(".main").show();
|
||||
$(".main").addClass("animated bounceInDown");
|
||||
});
|
||||
$(".reg").click(function () {
|
||||
$(".mask").show();
|
||||
$(".main_reg").show();
|
||||
$(".main_reg").addClass("animated bounceInDown");
|
||||
});
|
||||
|
||||
$(".btnClose").click(function () {
|
||||
$(".main").addClass("animated bounceOutDown");
|
||||
$(".mask").hide();
|
||||
setTimeout(function () {
|
||||
$(".main").removeClass("animated bounceOutDown");
|
||||
$(".main").hide();
|
||||
}, 1000)
|
||||
});
|
||||
$(".regClose").click(function () {
|
||||
$(".main_reg").addClass("animated bounceOutDown");
|
||||
$(".mask").hide();
|
||||
$(".main_find").hide();
|
||||
setTimeout(function () {
|
||||
$(".main_reg").removeClass("animated bounceOutDown");
|
||||
$(".main_reg").hide();
|
||||
}, 1000)
|
||||
});
|
||||
$(".cpshow .item").click(function () {
|
||||
$(this).addClass("kuang");
|
||||
$(this).siblings().removeClass("kuang");
|
||||
$(this).find(".check").show();
|
||||
$(this).siblings().find(".check").hide();
|
||||
});
|
||||
$(".card .item").click(function () {
|
||||
$(this).addClass("kuang");
|
||||
$(this).siblings().removeClass("kuang");
|
||||
$(this).find(".cardCheck").show();
|
||||
$(this).siblings().find(".cardCheck").hide();
|
||||
});
|
||||
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="popmask"></div>
|
||||
<!-- sideBar -->
|
||||
<div class="sideBar">
|
||||
|
||||
<div class="item item_on_q">
|
||||
|
||||
<img src="~/img/qq.png" class="on_q"> <div class="kefu_tit">QQ</div>
|
||||
|
||||
<div class="side_q">
|
||||
<h4 style="border-bottom:1px solid #ccc;text-align:center;width:100%;padding:5px;">实时响应 在线时间8:00-24:00</h4>
|
||||
<div class="item">
|
||||
<a 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" target="_blank">
|
||||
<div class="ileft">
|
||||
<img src="~/img/q.png">
|
||||
</div>
|
||||
<div class="iright">
|
||||
<span>人工客服:售前</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a 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" target="_blank">
|
||||
<div class="ileft">
|
||||
<img src="~/img/q.png">
|
||||
</div>
|
||||
<div class="iright">
|
||||
<span>人工客服:售后</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item item_on_wx">
|
||||
<img src="~/img/weixin.png" class="on_wx"> <div class="kefu_tit">微信</div>
|
||||
<div class="side_kefu">
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist" style="padding-top: 10px;padding-left:10px">
|
||||
<li role="presentation" class="active"><a href="#xx" aria-controls="xx" role="tab" data-toggle="tab" style="border-color:#ccc">售前</a></li>
|
||||
<li role="presentation"><a href="#qq" aria-controls="qq" role="tab" data-toggle="tab" style="border-color:#ccc">售后</a></li>
|
||||
@*<li role="presentation"><a href="#ss" aria-controls="ss" role="tab" data-toggle="tab" style="border-color:#ccc">珊珊</a></li>
|
||||
<li role="presentation"><a href="#tt" aria-controls="tt" role="tab" data-toggle="tab" style="border-color:#ccc">兔兔</a></li>*@
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content" style="margin-top: 60px;">
|
||||
<div role="tabpanel" class="tab-pane active" id="xx">
|
||||
<img src="~/img/kf_sq.jpg">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane" id="qq">
|
||||
<img src="~/img/kf_sh.jpg">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>
|
||||
@*<div role="tabpanel" class="tab-pane" id="ss">
|
||||
<img src="~/img/w3.png">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane" id="tt">
|
||||
<img src="~/img/w4.png">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>*@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/img/gzh.png" class="on_gzh"><div class="kefu_tit">公众号</div>
|
||||
<div class="side_gzh">
|
||||
<p><img src="~/img/ewm.png"></p>
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
<p style="color:#f90">关注公众号可获取免费的到期提醒服务</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/img/tel.png" class="on_tel"><div class="kefu_tit">电话</div>
|
||||
<div class="side_tel">
|
||||
<p><b>400 800 9925</b></p>
|
||||
<p>实时接通</p>
|
||||
<p>电话值班时间 8:00-24:00</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="#top"><img src="~/img/top.png"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid nav nav_buy">
|
||||
<div class="row">
|
||||
<div class="col-lg-2 col-md-2 logo">
|
||||
<a href="#"><img src="~/img/logo.png"></a>
|
||||
</div>
|
||||
<div class="col-lg-10 col-md-10">
|
||||
<ul class="navList navList_buy pull-right">
|
||||
<li><a href="/">首页</a></li>
|
||||
<li><a href="/product/index">产品购买</a></li>
|
||||
<li><a href="/LineList/index">PPTP线路表</a></li>
|
||||
<li><a href="/product/soft">软件下载</a></li>
|
||||
<li><a href="/article/index?Catalog=1">资讯&帮助</a></li>
|
||||
<li><a href="/article/taobao">淘宝充值活动</a></li>
|
||||
<li>
|
||||
@if (user == null)
|
||||
{
|
||||
<button type="button" class="btn btn-primary reg">注册</button>
|
||||
<button type="button" class="btn btn-primary login">登录</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<img src="/img/account.png" onmouseover="$('.exitBox').show()">
|
||||
<div class="exitBox" onmouseleave="$('.exitBox').hide()">
|
||||
<div class="item">
|
||||
<a asp-action="index" asp-controller="user">个人中心</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a asp-action="LoginOut" asp-controller="user">退出登录</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@RenderBody()
|
||||
<!-- footer -->
|
||||
<div class="container-fluid footer">
|
||||
<div class="container">
|
||||
<div class="col-lg-3">
|
||||
<p class="cpTit">旗下产品</p>
|
||||
<ul class="cp">
|
||||
@foreach (var item in products)
|
||||
{
|
||||
<li><a asp-action="index" asp-controller="product" asp-route-id="@item.Id">@item.Name</a></li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<p class="cpTit">联系我们</p>
|
||||
<ul class="cp">
|
||||
<li>公司电话:400 800 9925</li>
|
||||
<li>工作时间: 8:00-24:00</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<p class="cpTit">商务合作</p>
|
||||
<ul class="cp">
|
||||
<li>电话/微信:18039519517</li>
|
||||
<li>QQ:508095081</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<p class="cpTit">公众号</p>
|
||||
<p class="ewm"><img src="~/img/ewm.png"></p>
|
||||
<p class="sao">关注公众号即可获取</p>
|
||||
<p class="sao">免费的到期提醒服务</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- copyright -->
|
||||
<div class="container-fluid copyr">
|
||||
<div class="container text-center">
|
||||
<p>
|
||||
聚IP仅提供IP服务,用户使用聚IP从事的任何行为均不代表聚IP的意志和观点,与聚IP的立场无关。严禁用户使用聚IP从事任何违法犯罪行为,
|
||||
产生的相关责任用户自负,对此聚IP不承担任何法律责任。
|
||||
</p>
|
||||
<p>
|
||||
版权所有 河南华连网络科技有限公司|<a href="http://www.beian.miit.gov.cn" target="_blank">豫ICP备17004061号-15</a>|增值电信业务经营许可证:B1-20190663
|
||||
</p>
|
||||
@*<p class="logoD"><img src="~/img/logogD.png"></p>*@
|
||||
<p class="logoD_"><img src="~/img/logogD.png"><a target="cyxyv" href="https://v.yunaq.com/certificate?domain=www.juip.com&from=label&code=90020"> <img src="https://aqyzmedia.yunaq.com/labels/label_sm_90020.png" style="width:70px;height:25px;"></a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- register -->
|
||||
<div class="mask"></div>
|
||||
<div class="main_reg" id="regBox" style="height: 580px">
|
||||
<img src="~/img/close.png" class="regClose">
|
||||
<div class="logoLogin">
|
||||
<img src="~/img/logoBlue.png">
|
||||
</div>
|
||||
<div class="award">
|
||||
<img src="~/img/award.png">
|
||||
</div>
|
||||
<div class="user">
|
||||
<img src="~/img/phone.png"><input type="text" id="username" value="" placeholder="请输入手机号码" />
|
||||
</div>
|
||||
<div class="pwd">
|
||||
<img src="~/img/password.png"><input type="password" id="password" value="" placeholder="请输入密码" />
|
||||
</div>
|
||||
<div class="yzm">
|
||||
<img src="~/img/yanzhengma.png"><input type="text" id="yanzhengma" value="" placeholder="请输入验证码" /><button class="btn btn-primary" onclick="getCode(this)">获取验证码</button>
|
||||
</div>
|
||||
<div class="user">
|
||||
<img src="~/img/phone.png"><input type="text" name="" id="wxhao" value="" placeholder="请输入微信号" />
|
||||
</div>
|
||||
<div class="user">
|
||||
<img src="~/img/phone.png"><input type="text" name="" id="qqhao" value="" placeholder="请输入QQ" />
|
||||
</div>
|
||||
|
||||
<p class="tixing">*手机号不是PPTP账号,请登录后开通PPTP账号*</p>
|
||||
<p class="tixing"><input type="checkbox" name="" id="" value="" />我同意<a href="#">聚IP JUIP.COM用户注册协议</a></p>
|
||||
<p class="denglu"><button type="button" class="btn btn-reg">注册</button></p>
|
||||
<p class="zhiyin grayText">已有账号?<a href="#" class="loginLink">立即登录</a></p>
|
||||
</div>
|
||||
<!-- login -->
|
||||
<div class="mask"></div>
|
||||
<div class="main" id="loginBox">
|
||||
<img src="~/img/close.png" class="btnClose">
|
||||
<div class="logoLogin">
|
||||
<img src="~/img/logoBlue.png">
|
||||
</div>
|
||||
<div class="award">
|
||||
<img src="~/img/award.png">
|
||||
</div>
|
||||
<div class="user">
|
||||
<img src="~/img/user.png"><input type="text" name="" id="rLogin_Name" value="" placeholder="请输入会员手机号码" />
|
||||
</div>
|
||||
<div class="pwd">
|
||||
<img src="~/img/password.png"><input type="password" name="" id="rLogin_Pwd" value="" placeholder="请输入密码" />
|
||||
</div>
|
||||
<div class="fuzhu">
|
||||
<div class="item">
|
||||
@*<input type="checkbox" name="" id="" value="" />自动登录*@
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="#" class="grayText findLink">忘记密码?</a>
|
||||
</div>
|
||||
</div>
|
||||
<p class="tixing">*手机号不是PPTP账号,请登录后开通PPTP账号*</p>
|
||||
<p class="denglu"><button type="button" class="btn btn-login">登录</button></p>
|
||||
<p class="zhiyin grayText">还没有账号?<a href="#" class="regLink">立即注册</a></p>
|
||||
</div>
|
||||
|
||||
<!-- findpwd -->
|
||||
<div class="mask"></div>
|
||||
<div class="main_find" id="FindBox">
|
||||
<img src="~/img/close.png" class="regClose">
|
||||
<div class="logoLogin">
|
||||
<img src="~/img/logoBlue.png">
|
||||
</div>
|
||||
<div class="award">
|
||||
<img src="~/img/award.png">
|
||||
</div>
|
||||
<div class="user">
|
||||
<img src="~/img/phone.png"><input type="text" id="fusername" value="" placeholder="请输入手机号码" />
|
||||
</div>
|
||||
<div class="pwd">
|
||||
<img src="~/img/password.png"><input type="password" id="fpassword" value="" placeholder="请输入新密码" />
|
||||
</div>
|
||||
<div class="yzm">
|
||||
<img src="~/img/yanzhengma.png"><input type="text" id="fyanzhengma" value="" placeholder="请输入验证码" /><button class="btn btn-primary" onclick="getFindCode(this)">获取验证码</button>
|
||||
</div>
|
||||
|
||||
<p class="tixing">*手机号不是PPTP账号,请登录后开通PPTP账号*</p>
|
||||
<p class="denglu"><button type="button" class="btn btn-reset">重置</button></p>
|
||||
<p class="zhiyin grayText">已有账号?<a href="#" class="loginLink">立即登录</a></p>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function login() {
|
||||
var name = $("#rLogin_Name").val()
|
||||
var pwd = $("#rLogin_Pwd").val()
|
||||
var data = { Logincode: name, Password: pwd, Code: 1 };
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/user/login',
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify(data),
|
||||
success: function (res) {
|
||||
console.log(res);
|
||||
if (res.Code == 10000) {
|
||||
try {
|
||||
var callback = loginCallback || loginSuccess;
|
||||
callback(res.Data)
|
||||
} catch (err) {
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
} else {
|
||||
alert(res.Message)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
var time = 60;
|
||||
function getCode(_self) {
|
||||
if (!timing(_self)) return;
|
||||
var name = $("#username").val()
|
||||
var url = '/user/SendPhoneCode?key=User_Code&phone=' + name;
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
success: function (res) {
|
||||
alert(res.Message)
|
||||
}
|
||||
});
|
||||
}
|
||||
function getFindCode(_self) {
|
||||
if (!timing(_self)) return;
|
||||
var name = $("#fusername").val()
|
||||
var url = '/user/SendPhoneCode?key=FindUser_Code&phone=' + name;
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
success: function (res) {
|
||||
alert(res.Message)
|
||||
}
|
||||
});
|
||||
}
|
||||
function timing(_self) {
|
||||
if (time != 60) return false
|
||||
var timerHandler = setInterval(function () {
|
||||
time--;
|
||||
if (time <= 1) {
|
||||
clearInterval(timerHandler);
|
||||
time = 60;
|
||||
$(_self).text("获取验证码")
|
||||
} else {
|
||||
$(_self).text(time + "s");
|
||||
}
|
||||
|
||||
}, 1000)
|
||||
return true;
|
||||
}
|
||||
function reg() {
|
||||
var name = $("#username").val()
|
||||
var pwd = $("#password").val()
|
||||
var code = $("#yanzhengma").val()
|
||||
if (name == '') { alert('手机号不能为空'); return; }
|
||||
if (code == '') { alert('验证码不能为空'); return; }
|
||||
var wx = $("#wxhao").val()
|
||||
var qq = $("#qqhao").val()
|
||||
var data = { Phone: name, Pwd: pwd, Code: code, Wx: wx, QQ: qq };
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/user/Regist',
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify(data),
|
||||
success: function (res) {
|
||||
console.log(res);
|
||||
if (res.Code == 10000) {
|
||||
window.location.reload();
|
||||
} else {
|
||||
alert(res.Message)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function reset() {
|
||||
var name = $("#fusername").val()
|
||||
var pwd = $("#fpassword").val()
|
||||
var code = $("#fyanzhengma").val()
|
||||
if (name == '') { alert('手机号不能为空'); return; }
|
||||
if (code == '') { alert('验证码不能为空'); return; }
|
||||
var data = { Phone: name, Pwd: pwd, Code: code };
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/user/FindPwd',
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify(data),
|
||||
success: function (res) {
|
||||
console.log(res);
|
||||
if (res.Code == 10000) {
|
||||
alert("重置成功,请登录");
|
||||
} else {
|
||||
alert(res.Message)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
$(function () {
|
||||
$(".btn-login").click(function () {
|
||||
login();
|
||||
})
|
||||
$(".btn-reg").click(function () {
|
||||
reg();
|
||||
})
|
||||
$(".btn-reset").click(function () {
|
||||
reset();
|
||||
})
|
||||
$("#loginBox").bind("keydown", function (e) {
|
||||
var theEvent = e || window.event;
|
||||
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
|
||||
if (code == 13) {
|
||||
login();
|
||||
}
|
||||
});
|
||||
$("#regBox").bind("keydown", function (e) {
|
||||
var theEvent = e || window.event;
|
||||
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
|
||||
if (code == 13) {
|
||||
reg();
|
||||
}
|
||||
});
|
||||
// 侧边栏
|
||||
//$(".on_q").click(function () {
|
||||
// $(".side_q").toggle();
|
||||
//});
|
||||
|
||||
$(".item_on_q").mouseover(function () {
|
||||
$(".side_q").stop().show();
|
||||
});
|
||||
$(".item_on_q").mouseleave(function () {
|
||||
$(".side_q").stop().hide();
|
||||
});
|
||||
|
||||
//$(".on_wx").click(function () {
|
||||
// $(".side_kefu").toggle();
|
||||
//});
|
||||
|
||||
$(".item_on_wx").mouseover(function () {
|
||||
$(".side_kefu").stop().fadeIn();
|
||||
});
|
||||
$(".item_on_wx").mouseleave(function () {
|
||||
$(".side_kefu").stop().fadeOut();
|
||||
});
|
||||
|
||||
$(".on_gzh").mouseover(function () {
|
||||
$(".side_gzh").stop().fadeIn();
|
||||
});
|
||||
$(".on_gzh").mouseleave(function () {
|
||||
$(".side_gzh").stop().fadeOut();
|
||||
});
|
||||
|
||||
$(".on_tel").mouseover(function () {
|
||||
$(".side_tel").stop().fadeIn();
|
||||
});
|
||||
$(".on_tel").mouseleave(function () {
|
||||
$(".side_tel").stop().fadeOut();
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
</script>
|
||||
<!-- WPA start -->
|
||||
<script id="qd28521381485d6faa97edf5ad07d7e159f6cb902af0" src="https://wp.qiye.qq.com/qidian/2852138148/5d6faa97edf5ad07d7e159f6cb902af0" charset="utf-8" async defer></script>
|
||||
<!-- WPA end -->
|
||||
@RenderSection("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
|
||||
89
Host/Views/Shared/_UserLayout.cshtml
Normal file
89
Host/Views/Shared/_UserLayout.cshtml
Normal file
@@ -0,0 +1,89 @@
|
||||
@using Hncore.Pass.BaseInfo.Response
|
||||
@using Hncore.Infrastructure.Serializer;
|
||||
@{
|
||||
UserLoginModel user = null;
|
||||
if (this.Context.Request.Cookies.TryGetValue("userInfo", out string userCookie))
|
||||
{
|
||||
user = userCookie.FromJsonTo<UserLoginModel>();
|
||||
}
|
||||
string currentPath = this.Context.Request.Path.ToString().ToLower();
|
||||
}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>聚IP JUIP.COM</title>
|
||||
<link rel="stylesheet" type="text/css" href="~/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/css/base.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/css/swiper.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/css/animate.min.css" />
|
||||
<link href="~/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
|
||||
<script src="~/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/moment-with-locales.js"></script>
|
||||
<script src="~/js/bootstrap-datetimepicker.min.js"></script>
|
||||
|
||||
<script src="~/js/vue.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/js/jquery.qrcode.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid nav nav_buy">
|
||||
<div class="row">
|
||||
<div class="col-lg-2 col-md-2 logo">
|
||||
<a href="#"><img src="~/img/logo.png"></a>
|
||||
</div>
|
||||
<div class="col-lg-10 col-md-10">
|
||||
<ul class="navList navList_buy pull-right">
|
||||
<li><a href="/">首页</a></li>
|
||||
<li><a href="/product/index">产品购买</a></li>
|
||||
<li><a href="/LineList/index" ">PPTP线路表</a></li>
|
||||
<li><a href="/product/soft">软件下载</a></li>
|
||||
<li><a href="/article/index">资讯&帮助</a></li>
|
||||
<li><a href="/article/taobao">淘宝充值活动</a></li>
|
||||
<li>
|
||||
<img src="/img/account.png" onmouseover="$('.exitBox').show()">
|
||||
<div class="exitBox" onmouseleave="$('.exitBox').hide()">
|
||||
<div class="item">
|
||||
<a asp-action="index" asp-controller="user">个人中心</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a asp-action="LoginOut" asp-controller="user">退出登录</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- main -->
|
||||
<div class="container-fluid clearMargin">
|
||||
<div class="col-lg-2 leftArea">
|
||||
<div class="leftBar">
|
||||
<div class="item @(currentPath=="/user/index"?"active_b":"")">
|
||||
<img src="~/img/p1.png"><a href="/user/index">个人中心</a>
|
||||
</div>
|
||||
<div class="item @(currentPath=="/user/myorders"?"active_b":"")">
|
||||
<img src="~/img/p2.png"><a href="/user/myorders">订单管理</a>
|
||||
</div>
|
||||
<div class="item @(currentPath=="/user/myrefundorders"?"active_b":"")">
|
||||
<img src="~/img/p3.png"><a href="/user/myrefundorders">退货订单管理</a>
|
||||
</div>
|
||||
<div class="item @(currentPath=="/user/myaccounts"?"active_b":"")">
|
||||
<img src="~/img/p4.png"><a href="/user/myaccounts">PPTP账号管理</a>
|
||||
</div>
|
||||
<div class="item @(currentPath=="/user/mycoupons"?"active_b":"")">
|
||||
<img src="~/img/p5.png"><a href="/user/mycoupons">我的优惠券</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-10 rightCon">
|
||||
@RenderBody()
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@RenderSection("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
|
||||
18
Host/Views/Shared/_ValidationScriptsPartial.cshtml
Normal file
18
Host/Views/Shared/_ValidationScriptsPartial.cshtml
Normal file
@@ -0,0 +1,18 @@
|
||||
<environment include="Development">
|
||||
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
|
||||
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"
|
||||
asp-fallback-src="~/lib/jquery-validation/dist/jquery.validate.min.js"
|
||||
asp-fallback-test="window.jQuery && window.jQuery.validator"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-F6h55Qw6sweK+t7SiOJX+2bpSAa3b/fnlrVCJvmEj1A=">
|
||||
</script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validation-unobtrusive/3.2.11/jquery.validate.unobtrusive.min.js"
|
||||
asp-fallback-src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"
|
||||
asp-fallback-test="window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-9GycpJnliUjJDVDqP0UEu/bsm9U+3dnQUH8+3W10vkY=">
|
||||
</script>
|
||||
</environment>
|
||||
Reference in New Issue
Block a user