界面修改

This commit is contained in:
“wanyongkang”
2023-07-21 17:28:29 +08:00
parent 03056ebe33
commit 93dc25f8e3
6 changed files with 52 additions and 262 deletions

View File

@@ -242,7 +242,7 @@
@*新布局*@
<p class="text-center tit"><img src="~/img/titi_choose.png"></p>
<div class="main-page">
<div class="left" style="width: 175px;margin-top:calc(10vh);">
<div class="left" style="width: 175px;">
<div class="nav-back" style="width: 175px;"></div>
<div class="nav" style="width:175px;">
<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>
@@ -334,10 +334,27 @@
<p class="productName">@item.Product.Name</p>
<p style=" border-bottom: 2px solid #fff;font-size:16px;">@(string.Join("|",item.Packages.Select(m=>m.Name)))</p>
</div>
<div class="col-lg-8" style="height:200px;padding-top:30px">
<div class="col-lg-8" style="height:200px;padding-top:30px">
@{var i = 1;}
@foreach (var str in item.Product.ContentLine)
{
if ( @item.Product.Id == 22 || @item.Product.Id == 23) {
if (i == @item.Product.ContentLine.Count()-1) {
break;
}
} else {
if (i == @item.Product.ContentLine.Count()) {
break;
}
}
<p>@str</p>
i=i+1;
}
@if ( @item.Product.Id == 22 || @item.Product.Id == 23) {
<p style="color: #FFFF00;">@item.Product.ContentLine[@item.Product.ContentLine.Count()-2]</p>
<p style="color: #FFFF00;">@item.Product.ContentLine[@item.Product.ContentLine.Count()-1]</p>
} else {
<p style="color: #FFFF00;">@item.Product.ContentLine[@item.Product.ContentLine.Count()-1]</p>
}
<div class="row" style="text-align: right; position: absolute; right: 50px; bottom: 10px;">
@if (user == null)
@@ -355,141 +372,7 @@
</div>
</div>
</div>
@* <p class="youhuiNew" style="padding:0;margin:0;color:white;background-color:#FF0033;">一毛钱活动:不分新老用户都可参加!</p> *@
@* @if(item.Product.Id == 5){
<br>
} *@
@if(item.Product.Id == 13||item.Product.Id == 17){
<p class="youhuiNew" style="color: #0066CC;">本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
@* <div style="text-align:center;cursor:pointer;padding: 0px;margin:0px;font-size:15px;font-weight:bold;color:red;" title="目前公布要停的地区为:
长春,芜湖,西宁,贵阳,南宁,中卫,
兰州,武汉,西安,郑州,长沙,成都,
南昌,福州,昆明,海口,杭州,沈阳,
哈尔滨,乌鲁木齐,呼和浩特,青岛,
济南,苏州,南京,徐州,上海,深圳,重庆">购买须知本产品以下地区屏蔽微信和QQ上海,深圳,重庆...<span
data-container="body" data-toggle="popover" data-placement="auto top"
data-content="目前公布要停的地区为:
长春,芜湖,西宁,贵阳,南宁,中卫,兰州,武汉,西安,郑州,长沙,成都,南昌,福州,昆明,海口,杭州,沈阳,哈尔滨,乌鲁木齐,呼和浩特,青岛,济南,苏州,南京,徐州,上海,深圳,重庆" style="color: #000000;">查看详细地区 </span>
</div> *@
}
@if(item.Product.Id == 18){
<p class="youhuiNew" style="color: #FF9900;">周卡送1天月卡送5天<br>新开和续费都可参加您可对同一账号多次续费都有赠送每位会员不限账号数量您可购买多个IP账号都有赠送<br>新产品上线全新IP池</p>
<p class="youhuiNew" style="color: #0066CC;padding:0;margin:0;">本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
@* <div style="text-align:center;cursor:pointer;padding: 0px;margin:0px;font-size:15px;font-weight:bold;color:red;" title="目前公布要停的地区为:
南京,重庆,六盘水,遵义,海口,无锡,常州,苏州,
铁岭,葫芦岛,抚顺,大连,辽源,通化,
宿迁,宁德,金华,池州">购买须知本产品以下地区屏蔽微信和QQ南京,海口...<span
data-container="body" data-toggle="popover" data-placement="auto top"
data-content="目前公布要停的地区为:
南京,六盘水,遵义,海口,无锡,常州,苏州,
铁岭,葫芦岛,抚顺,大连,辽源,通化,
宿迁,宁德,金华,池州" style="color: #000000;">查看详细地区 </span>
</div> *@
}
@if(item.Product.Id == 8||item.Product.Id == 7){
<p class="youhuiNew" style="color: #0066CC;">因业务调整,本产品停止新开及续费,未到期账号可正常使用</p>
}
@if(item.Product.Id == 14){
<p class="youhuiNew">购买须知本产品解除屏蔽QQ微信需联系在线客服<br>购买需选择左侧天天产品类型</p>
}
@if(item.Product.Id == 1 || item.Product.Id == 25){
<p class="youhuiNew" style="color: #0066CC;">本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
@* <div style="text-align:center;cursor:pointer;padding:5px;font-size:15px;font-weight:bold;color:red;" >购买须知本产品域名出现问题点击查看服务器ip地址<span
data-container="body" data-toggle="popover" data-placement="auto top"
data-content="强子1混播 122.228.64.103
强子2混播 222.242.147.43
强子3混播 61.187.241.67
强子4混播 122.228.64.101
强子5混播 61.187.241.67
强子6混播 122.228.64.102
强子7混播 61.187.240.176
强子8混播 113.219.4.23
单地区用以上混播ip + 特征码连接如您的IP账号为zx1234要直连温州的那账号框就输入zx1234@zjwz。
" style="color: #000000;">查看详细地区 </span>
</div> *@
}
<script>
$(function () {
$("[data-toggle='popover']").popover();
});
</script>
@if(item.Product.Id == 2){
<p class="youhuiNew" style="color: #0066CC;">本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
@* <div style="text-align:center;cursor:pointer;padding:5px;font-size:15px;font-weight:bold;color:red;" >购买须知本产品域名出现问题点击查看服务器ip地址<span
data-container="body" data-toggle="popover" data-placement="auto top"
data-content="讯连1混播 122.228.64.99
讯连2混播 61.187.186.42
单地区用以上混播ip + 特征码连接如您的IP账号为zx1234要直连温州的那账号框就输入zx1234@zjwz。
" style="color: #000000;">查看详细地区 </span>
</div> *@
}
@if(item.Product.Id == 22 ||item.Product.Id == 23 ){
<p class="youhuiNew">购买须知本产品目前所有地区QQ微信仅限于登录游戏账号 云南以及非大陆地区禁用</p>
}
@if(item.Product.Id == 5){
<p class="youhuiNew">购买须知本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
}
@if(item.Product.Id == 19){
<p class="youhuiNew" style="color: #0066CC;">本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
<p class="youhuiNew" style="padding: 0px;margin:0px;">本产品为独享,每个账号对应一个宽带拨号,永不超载,保证了网速及稳定性。<br>使用时只需设置这个唯一的服务器1.hhip.vip在账号列表中点击切换地区即可任意组合自己需要的地区<br><span style="color: #000000;">切记一定要指定一下地区,不然会没有网络</span>
</p>
@* <div style="text-align:center;cursor:pointer;padding: 0px;margin:0px;font-size:15px;font-weight:bold;color:red;" title="目前公布要停的地区为:
北京,上海,广州,深圳,重庆,浙江全省,安徽全省,
成都,徐州,南京,宿迁,福州,三明,南平,南昌,赣州,萍乡,
鄂尔多斯,包头,呼和浩特,韶关,东莞,烟台,滨州,青岛,
黄冈,武汉,邯郸,唐山,石家庄,曲靖,昆明,郑州,西安,
长沙,长春,兰州,哈尔滨,太原,运城,晋中,南宁,西宁,中卫">购买须知本产品以下地区屏蔽微信和QQ北京,上海,广州,深圳,重庆,浙江全省,安徽全省...<span
data-container="body" data-toggle="popover" data-placement="auto top"
data-content="目前公布要停的地区为:
北京,上海,广州,深圳,重庆,浙江全省,安徽全省,
成都,徐州,南京,宿迁,福州,三明,南平,南昌,赣州,萍乡,
鄂尔多斯,包头,呼和浩特,韶关,东莞,烟台,滨州,青岛,
黄冈,武汉,邯郸,唐山,石家庄,曲靖,昆明,郑州,西安,
长沙,长春,兰州,哈尔滨,太原,运城,晋中,南宁,西宁,中卫" style="color: #000000;">查看详细地区 </span>
</div> *@
}
@if(item.Product.Id == 6){
<div style="text-align:center;cursor:pointer;padding: 0px;margin:0px;font-size:15px;font-weight:bold;color:red;" ><span
data-container="body" data-toggle="popover" data-placement="auto top"
data-content="微信qq不可用
广东:韶关、肇庆、珠海、云浮、阳江,茂名,东莞、佛山,珠海、中山,汕头
江西: 吉安,新余
直辖市:天津、北京
江苏:扬州、杭州、本溪,常州、泰州,连云港
湖南:怀化、郴州、株洲、长沙、湘潭、吉首
四川:乐山,阿坝,资阳,德阳,内江、绵阳
安徽:池州,淮南,铜陵
浙江:丽水、舟山、湖州、徐州、温州
山东:济南,烟台、淄博、威海、莱芜,滨州
甘肃:武威
河北:保定、承德、
贵州:遵义、六盘水
内蒙古:兴安盟
辽宁:抚顺、铁岭
福建:宁德、福州
------------------------------------------------------------------------------------------------------------
微信qq可用
内蒙古:通辽
四川:成都,雅安,遂宁,攀枝花
宁夏:石嘴山,
山东:枣庄,青岛
广东:广州
江苏:镇江,淮安
江西:宜春
河北:唐山
河南:信阳,濮阳
浙江:衢州,金华
海南:三亚
湖北:黄冈,黄石,襄阳,荆门
福建:泉州,漳州,三明,厦门,莆田
辽宁:营口,葫芦岛,鞍山
陕西:延安,西安
青海:黄南
黑龙江:哈尔滨
" style="color: #000000;">点击查看屏蔽微信QQ的地区 </span>
</div>
}

View File

@@ -439,124 +439,21 @@
border-bottom-color: transparent;
}
</style>
@if(package.Id == 88||package.Id == 101||package.Id == 103){
<div class="item packageitem packageitem-@package.Id" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else if(package.Id == 1018){
<div class="item packageitem packageitem-@package.Id" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
@* else if(package.Id == 34){
<div class="item packageitem packageitem10" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} *@
else if(package.Id==105){
<div class="item packageitem packageitem-@package.Id" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
@* else if(package.Id == 19) {
<div class="item packageitem packageitem19" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} *@
@* else if(package.Id == 63||package.Id == 64||package.Id == 65||package.Id == 66||package.Id == 67||package.Id == 13||package.Id == 14||package.Id == 15||package.Id == 16) {
<div class="item packageitem packageitem4" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} *@
else if(package.Id == 1||package.Id == 1002||package.Id == 1003||package.Id == 4||package.Id == 7||package.Id == 12||package.Id == 17||package.Id == 22||package.Id == 27||package.Id == 32||package.Id == 37||package.Id == 42||package.Id == 62||package.Id == 69||package.Id == 73||package.Id == 80) {
<div class="item packageitem packageitem-@package.Id" 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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else if(package.Id != 88) {
<div class="item packageitem " id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
@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:#f64e3d">
<p class="tianka" style="font-size:17px;">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
}
<img src="~/img/check.png" class="cardCheck">
</div>
@* <div class="item packageitem" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>

View File

@@ -23,7 +23,6 @@ namespace Hncore.Pass.Vpn.Job
{
Task.Run(async () => { await Execute(serviceProvider); });
}
private static async Task Execute(IServiceProvider serviceProvider)
{
var doing = false;
@@ -35,7 +34,6 @@ namespace Hncore.Pass.Vpn.Job
{
break;
}
LogHelper.Trace("开始过期提醒");
doing = true;
try
{
@@ -86,18 +84,30 @@ namespace Hncore.Pass.Vpn.Job
var userInfo = userInfos.FirstOrDefault(m => m.Id == account.UserId);
if (wxUsers != null && wxUsers.Count > 0)
{
var remark = "请及时续费,以免影响您使用。";
if(tip=="已经过期一天"){
remark = "续费价更优请登录官网juip.com联系客服咨询更低价格现有十几款IP产品总有一款适合您。";
}
var title_remark = "请登录juip.com查看具体的到期账号";
if(tip=="今天过期"){
title_remark = "您有IP账号将于今天到期请点击查看详情";
} else if(tip=="还有一天过期"){
title_remark = "您有IP账号将于明天到期请点击查看详情";
} else {
title_remark = "您有IP账号已到期1天请点击查看详情";
}
var wxUser = wxUsers.FirstOrDefault(m => m.UserId == account.UserId);
if (wxUser != null && wxUser.Openid.Has())
{
var msg = new TemplateMPModel();
msg.first = new TemplateDataItem($"尊敬的用户您好,你的账户{tip}");
msg.Url = "www.juip.com";
msg.Url = "http://www.juip.com/user/myaccounts";
msg.template_id = "ltm4OfRDoxgdRG4EC8NMzX-NrkfHUz8aGz33TXSbP44";
msg.Items.Add(new TemplateDataItem("请登录juip.com查看具体的到期账号"));
msg.Items.Add(new TemplateDataItem(title_remark));
msg.Items.Add(new TemplateDataItem(userInfo.Phone));
msg.Items.Add(new TemplateDataItem("动态IP账号服务"));
msg.Items.Add(new TemplateDataItem("IP账号服务"));
msg.Items.Add(new TemplateDataItem(account.EndTime.Value.ToString("yyyy-MM-dd hh:mm:ss")));
msg.remark = new TemplateDataItem("请登录官网juip.com点击个人中心查看需要续费的动态ip账号");
msg.remark = new TemplateDataItem(remark);
await TemplateApi.SendTemplateMessageAsync(wxUser.Appid, wxUser.Openid, Wx.Open.Enums.ChannelType.MP, msg);
}
}
@@ -110,7 +120,7 @@ namespace Hncore.Pass.Vpn.Job
} else if(tip=="还有一天过期"){
ret = AliSmsService.Send("SMS_199222107", new { date = account.EndTime.Value.ToString("yyyy-MM-dd hh:mm:ss") }, "聚IP商城", userInfo.Phone);
} else {
ret = AliSmsService.Send("SMS_462015488", new { date = account.EndTime.Value.ToString("yyyy-MM-dd hh:mm:ss") }, "聚IP商城", userInfo.Phone);
ret = AliSmsService.Send("SMS_461965526", new { date = account.EndTime.Value.ToString("yyyy-MM-dd hh:mm:ss") }, "聚IP", userInfo.Phone);
}
// var ret = AliSmsService.Send("SMS_193505090", new { date = account.EndTime.Value.ToString("yyyy-MM-dd hh:mm:ss") }, "聚IP商城", userInfo.Phone);
}

View File

@@ -124,7 +124,7 @@ namespace Hncore.Pass.Vpn.Service
//主要是用来定时执行的
public async Task<List<ProductAccountEntity>> GetExpireingAccountsTime(int day)
{
var sql = $"select * from product_account WHERE DATEDIFF(EndTime,now())=1 AND `PackageName` NOT LIKE '天卡' AND `PackageName` NOT LIKE '测试卡' GROUP BY UserId";
var sql = $"select * from product_account WHERE DATEDIFF(EndTime,now())={day} AND `PackageName` NOT LIKE '天卡' AND `PackageName` NOT LIKE '测试卡' GROUP BY UserId";
// var sql = $"select * from product_account where DATEDIFF(EndTime,now())={day} AND PackageName!='测试卡' AND PackageName!='天卡' GROUP BY UserId";
return this.m_DbContext.SqlQuery<ProductAccountEntity>(sql);
}

View File

@@ -56,7 +56,7 @@ namespace Hncore.Pass.Vpn.Service
{
var resp = new ProductWithPackageResponse();
resp.Product = p.MapTo<ProductResponse>();
resp.Packages = packages.Where(m => m.ProductId == p.Id && m.Status == 1).ToList();
resp.Packages = packages.Where(m => m.ProductId == p.Id).ToList();
respList.Add(resp);
});
return respList;

View File

@@ -63,7 +63,7 @@ namespace Hncore.Pass.Vpn
applicationLifetime.ApplicationStarted.Register(() =>
{
// OrderAccountJob.Start(_IServiceProvider);
RefrushStatusJob.Start(_IServiceProvider);
//RefrushStatusJob.Start(_IServiceProvider);
// ChargeTryJob.Start(_IServiceProvider);
ExpireTipJob.Start(_IServiceProvider);
});