99 lines
2.9 KiB
C#
99 lines
2.9 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using VOL.Business.IServices;
|
|
using VOL.Business.IServices.Activity;
|
|
using VOL.Core.Filters;
|
|
using VOL.Core.ManageUser;
|
|
using VOL.Core.Utilities;
|
|
using VOL.Model;
|
|
using VOL.Model.Norm.Request;
|
|
using VOL.Model.Norm.Response;
|
|
using VOL.Core.Extensions;
|
|
|
|
namespace VOL.WebApi.Controllers.Business
|
|
{
|
|
/// <summary>
|
|
/// 公众号文章管理
|
|
/// </summary>
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
[ApiExplorerSettings(GroupName = "v3")]
|
|
public class ArticlesController : ControllerBase
|
|
{
|
|
#region 初始化
|
|
|
|
private readonly IG_ArticleService _articleService;
|
|
private readonly IServiceProvider _serviceProvider;
|
|
public ArticlesController(IG_ArticleService articleService, IServiceProvider serviceProvider)
|
|
{
|
|
_articleService = articleService;
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 公众号文章列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet(nameof(GetArticlePageList))]
|
|
public async Task<PageDataDto<ArticleListModel>> GetArticlePageList(ArticlePageListParam paramDto)
|
|
{
|
|
return await _articleService.GetArticlePageList(paramDto);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 文章详情
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
[HttpGet(nameof(GetArticleDetails))]
|
|
public async Task<ArticleDetailsModel> GetArticleDetails(int id)
|
|
{
|
|
return await _articleService.GetArticleDetails(id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增文章
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
[HttpPost(nameof(AddArticle))]
|
|
public async Task<WebResponseContent> AddArticle([FromBody] ArticleAddParam model)
|
|
{
|
|
return await _articleService.AddArticle(model);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除文章
|
|
/// </summary>
|
|
/// <param name="id">文章ID</param>
|
|
/// <returns></returns>
|
|
[HttpGet(nameof(DeleteArticle))]
|
|
public async Task<WebResponseContent> DeleteArticle(int id)
|
|
{
|
|
return await _articleService.DeleteArticle(id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上传文章封面图片
|
|
/// </summary>
|
|
/// <param name="file"></param>
|
|
/// <returns></returns>
|
|
[HttpPost(nameof(UploadImage))]
|
|
public string UploadImage(IFormFile file)
|
|
{
|
|
var timeStampString = DateTime.Now.ToUnixTimeStamp();
|
|
var prefix = $"Upload/Articles/";
|
|
|
|
var url = ALiYunOss.Upload(file, prefix, timeStampString);
|
|
|
|
return url;
|
|
}
|
|
}
|
|
} |