初始提交

This commit is contained in:
wanyongkang
2020-10-07 20:25:03 +08:00
commit d318014316
3809 changed files with 263103 additions and 0 deletions

View 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 += "&";
}
}
@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>
}

View 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>
<!-- 支付等待弹窗结束 -->

View File

@@ -0,0 +1,44 @@
@using Hncore.Pass.BaseInfo.Response
@using Hncore.Infrastructure.Serializer;
@using Hncore.Pass.BaseInfo.Service
@using Hncore.Infrastructure.Common
@using Microsoft.Extensions.Configuration
@using Hncore.Infrastructure.Extension
@inject IConfiguration m_Configuration
@inject UserService m_UserService
@{
var act = this.Context.Request.Get("act");
var WxAppId = m_Configuration["WxApps:AppID"];
var BaseUrl = m_Configuration["Service_BaseUrl"];
var requestUrl =this.Context.Request.GetUrl().UrlEncode();
UserLoginModel user = null;
Hncore.Pass.BaseInfo.Models.User userEntity = new Hncore.Pass.BaseInfo.Models.User();
if (this.Context.Request.Cookies.TryGetValue("userInfo", out string userCookie))
{
user = userCookie.FromJsonTo<UserLoginModel>();
userEntity = await m_UserService.GetById(user.Id);
}
}
@if (user == null)
{
<script>
function isWeiXin() {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger')!=-1) {
return true;
} else {
return false;
}
}
if (!isWeiXin() || "login" =="@act") {
window.location.href = "/User/WebLogin?redirect=@requestUrl";
} else {
window.location.href = "@(BaseUrl)User/MP_GetUserInfo?appid=@WxAppId&callbakUrl=@requestUrl";
}
</script>
}

View 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>

View 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>
}

View File

@@ -0,0 +1,226 @@
@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>();
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="yes" name="apple-touch-fullscreen" />
<meta content="telephone=no,email=no" name="format-detection" />
<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/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" />
<script src="~/m/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
<script src="~/js/vue.js"></script>
<script src="~/m/js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
<script src="~/m/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$.ajaxSetup({
complete: function (XMLHttpRequest, textStatus) {
console.log(textStatus);
//var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus");
if (textStatus == "parsererror") {
//如果超时就处理 ,指定要跳转的页面(比如登陆页)
window.location.href="/user/weblogin"
}
}
});
$(function () {
$(".btnNav").click(function () {
$(".mask").fadeIn();
console.log(1)
});
$(".btnClose").click(function () {
$(".mask").fadeOut();
console.log(2)
});
$(".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();
});
})
function isWeiXin() {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') != -1) {
return true;
} else {
return false;
}
}
</script>
</head>
<body>
<div class="popmask"></div>
<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:15px 0;">实时响应 在线时间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="mask">
<ul class="layNav">
<li><a href="/">首页</a></li>
<li><a asp-action="index" asp-controller="product">产品购买</a> </li>
<li><a asp-action="index" asp-controller="LineList" asp-route-Catalog="1">线路表</a> </li>
<li><a asp-action="soft" asp-controller="product">软件下载</a> </li>
<li><a asp-action="index" asp-controller="article">资讯&帮助</a></li>
<li><a asp-action="taobao" asp-controller="article">淘宝充值活动</a></li>
@if (user != null)
{
<li><a asp-action="index" asp-controller="user">个人中心</a></li>
<li><a asp-action="LoginOut" asp-controller="user">退出</a></li>
}
else
{
<li><a asp-action="WebLogin" asp-controller="user">登录</a></li>
}
<li><img src="~/m/img/close.png" class="btnClose"></li>
</ul>
</div>
<div class="mynav">
<div class="item">
<img src="~/m/img/back.png" onclick="history.go(-1)">
</div>
<div class="item mlogo">
<img src="~/m/img/logo.png">
</div>
<div class="item">
<img src="~/m/img/nav.png" class="btnNav">
</div>
</div>
@RenderBody()
@RenderSection("Scripts", required: false)
<!-- WPA start -->
<script id="qd28521381485d6faa97edf5ad07d7e159f6cb902af0" src="https://wp.qiye.qq.com/qidian/2852138148/5d6faa97edf5ad07d7e159f6cb902af0" charset="utf-8" async defer></script>
<!-- WPA end -->
</body>
</html>

View File

@@ -0,0 +1,84 @@
@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>();
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="yes" name="apple-touch-fullscreen" />
<meta content="telephone=no,email=no" name="format-detection" />
<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/swiper.min.css" />
<link rel="stylesheet" type="text/css" href="~/m/css/bootstrap.css" />
<link href="~/m/css/LCalendar.css" rel="stylesheet" />
<link rel="Shortcut Icon" href="/img/favicon.ico" type="image/x-icon" />
<script src="~/m/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
<script src="~/js/vue.js"></script>
<script src="~/m/js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
<script src="~/m/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$(".btnNav").click(function () {
$(".mask").fadeIn();
console.log(1)
});
$(".btnClose").click(function () {
$(".mask").fadeOut();
console.log(2)
})
})
</script>
</head>
<body>
<vc:redirecct-login></vc:redirecct-login>
<!-- 弹窗导航 -->
<div class="mask">
<ul class="layNav">
<li><a href="/">首页</a></li>
<li><a asp-action="index" asp-controller="product">产品购买</a> </li>
<li><a asp-action="index" asp-controller="LineList">线路表</a> </li>
<li><a asp-action="soft" asp-controller="product">软件下载</a> </li>
<li><a asp-action="index" asp-controller="article">资讯&帮助</a></li>
<li>
@if (user != null)
{
<a asp-action="index" asp-controller="user">个人中心</a>
}
else
{
<a asp-action="WebLogin" asp-controller="user">登录</a>
}
</li>
<li><img src="~/m/img/close.png" class="btnClose"></li>
</ul>
</div>
<div class="mynav">
<div class="item">
<img src="~/m/img/back.png" onclick="history.go(-1)">
</div>
<div class="item">
<img src="~/m/img/logo.png">
</div>
<div class="item">
<img src="~/m/img/nav.png" class="btnNav">
</div>
</div>
@RenderBody()
@RenderSection("Scripts", required: false)
</body>
</html>

View 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>