public async Task <ActionResult> Apply(Links links) { Uri uri = new Uri(links.Url); using (HttpClient client = new HttpClient() { BaseAddress = uri }) { client.DefaultRequestHeaders.UserAgent.Add(ProductInfoHeaderValue.Parse("Mozilla/5.0")); client.DefaultRequestHeaders.Referrer = Request.Url; return(await await client.GetAsync(uri.PathAndQuery).ContinueWith(async t => { if (t.IsFaulted || t.IsCanceled) { return ResultData(null, false, "添加失败!检测到您的网站疑似挂了,或者连接到你网站的时候超时,请检查下!"); } var res = await t; if (res.IsSuccessStatusCode) { var s = await res.Content.ReadAsStringAsync(); if (s.Contains(CommonHelper.GetSettings("Domain"))) { bool b = LinksBll.AddOrUpdateSaved(l => l.Url, links) > 0; return ResultData(null, b, b ? "添加成功!这可能有一定的延迟,如果没有看到您的链接,请稍等几分钟后刷新页面即可,如有疑问,请联系站长。" : "添加失败!这可能是由于网站服务器内部发生了错误,如有疑问,请联系站长。"); } return ResultData(null, false, $"添加失败!检测到您的网站上未将本站设置成友情链接,请先将本站主域名:{CommonHelper.GetSettings("Domain")}在您的网站设置为友情链接,并且能够展示后,再次尝试添加即可!"); } return ResultData(null, false, "添加失败!检测到您的网站疑似挂了!返回状态码为:" + res.StatusCode); })); } }
public ActionResult GetPageData(int page = 1, int size = 10) { List <Links> list = LinksBll.GetAll().OrderBy(p => p.Status).ThenByDescending(l => l.Id).Skip((page - 1) * size).Take(size).ToList(); var total = LinksBll.GetAll().Count(); var pageCount = Math.Ceiling(total * 1.0 / size).ToInt32(); return(PageResult(list, pageCount, total)); }
public ActionResult Toggle(int id, bool state) { Links link = LinksBll.GetById(id); link.Status = !state ? Status.Available : Status.Unavailable; bool b = LinksBll.UpdateEntitySaved(link); return(ResultData(null, b, b ? "切换成功!" : "切换失败!")); }
public ActionResult ToggleWhitelist(int id, bool state) { Links link = LinksBll.GetById(id); link.Except = !state; bool b = LinksBll.UpdateEntitySaved(link); return(ResultData(null, b, b ? "切换成功!" : "切换失败!")); }
public ActionResult Edit(Links model) { Links links = LinksBll.GetById(model.Id); links.Name = model.Name; links.Url = model.Url; bool b = LinksBll.UpdateEntitySaved(links); return(ResultData(null, b, b ? "保存成功" : "保存失败")); }
public ActionResult Index() { UserInfoOutputDto user = Session.GetByRedis <UserInfoOutputDto>(SessionKey.UserInfo); List <LinksOutputDto> list = LinksBll.LoadEntitiesNoTracking <LinksOutputDto>(l => l.Status == Status.Available).ToList(); if (user != null && user.IsAdmin) { return(View("Index_Admin", list)); } return(View(list)); }
/// <summary>在调用操作方法后调用。</summary> /// <param name="filterContext">有关当前请求和操作的信息。</param> protected override void OnActionExecuted(ActionExecutedContext filterContext) { base.OnActionExecuted(filterContext); if (filterContext.HttpContext.Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase) && filterContext.Result is ViewResult) { filterContext.Result = ResultData(null, false, "该URL仅支持Get请求方式", false, HttpStatusCode.MethodNotAllowed); return; } #region 准备页面数据模型 ViewBag.menus = MenuBll.LoadEntitiesFromL2CacheNoTracking <MenuOutputDto>(m => m.Status == Status.Available).OrderBy(m => m.Sort).ToList(); //菜单 PageFootViewModel model = new PageFootViewModel //页脚 { Links = LinksBll.LoadPageEntitiesFromCacheNoTracking <int, LinksOutputDto>(1, 40, out int _, l => l.Status == Status.Available, l => l.Id, false, 1).ToList(), Contacts = ContactsBll.LoadEntitiesFromL2CacheNoTracking <int, ContactsOutputDto>(l => l.Status == Status.Available, l => l.Id, false).ToList() }; ViewBag.Footer = model; #endregion } }
public ActionResult Add(Links links) { bool b = LinksBll.AddOrUpdateSaved(l => l.Url, links) > 0; return(b ? ResultData(null, message: "添加成功!") : ResultData(null, false, "添加失败!")); }
public ActionResult Delete(int id) { bool b = LinksBll.DeleteByIdSaved(id); return(ResultData(null, b, b ? "删除成功!" : "删除失败!")); }