AssetController.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Winsoft.GOV.XF.WebApi.WXCore.Services;
  7. using Senparc.Weixin.Entities;
  8. using Microsoft.Extensions.Options;
  9. using Microsoft.Extensions.Logging;
  10. using Winsoft.GOV.XF.WebApi.WXCore.Models;
  11. using Senparc.Weixin.MP.CoreMvcExtension;
  12. using Winsoft.GOV.XF.WebApi.WXCore.Filters;
  13. // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
  14. namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
  15. {
  16. [Route("api/[controller]")]
  17. public class AssetController : BaseController
  18. {
  19. UsersService _usersService;
  20. BundlesService _bundlesService;
  21. AssetsService _assetsService;
  22. public AssetController(IOptions<SenparcWeixinSetting> senparcWeixinSetting,
  23. ILoggerFactory loggerFactory, UsersService usersService,
  24. BundlesService bundlesService, AssetsService assetsService) : base(senparcWeixinSetting, loggerFactory)
  25. {
  26. _usersService = usersService;
  27. _bundlesService = bundlesService;
  28. _assetsService = assetsService;
  29. }
  30. // GET api/values/5
  31. [HttpGet("{id}")]
  32. public string Get(int id)
  33. {
  34. return "value";
  35. }
  36. [HttpGet("byBundleId/{id}")]
  37. [Produces(typeof(IEnumerable<Asset>))]
  38. [WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]
  39. [WXOAuthCheck(appId: null, oauthCallbackUrl: "api/Auth")]
  40. public async Task<IActionResult> GetByBundleId(string id)
  41. {
  42. IEnumerable<Asset> list = await _assetsService.GetByBundleId(id);
  43. if (list == null)
  44. list = new List<Asset>();
  45. return Ok(list);
  46. }
  47. }
  48. }