src/SSCMS.Web/Controllers/Admin/Settings/Sites/SitesUrlController.Submit.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SSCMS.Configuration;
using SSCMS.Core.Utils;
using SSCMS.Utils;

namespace SSCMS.Web.Controllers.Admin.Settings.Sites
{
    public partial class SitesUrlController
    {
        [HttpPost, Route(Route)]
        public async Task<ActionResult<SubmitResult>> Submit([FromBody] SubmitRequest request)
        {
            if (!await _authManager.HasAppPermissionsAsync(MenuUtils.AppPermissions.SettingsSitesUrl))
            {
                return Unauthorized();
            }

            if (!string.IsNullOrEmpty(request.SeparatedWebUrl) && !request.SeparatedWebUrl.EndsWith("/"))
            {
                request.SeparatedWebUrl = request.SeparatedWebUrl + "/";
            }

            if (!string.IsNullOrEmpty(request.SeparatedApiUrl) && !request.SeparatedApiUrl.EndsWith("/"))
            {
                request.SeparatedApiUrl = request.SeparatedApiUrl + "/";
            }
            if (StringUtils.EndsWithIgnoreCase(request.SeparatedApiUrl, "/api/"))
            {
                request.SeparatedApiUrl =
                    StringUtils.ReplaceEndsWithIgnoreCase(request.SeparatedApiUrl, "/api/", string.Empty);
            }
            if (!string.IsNullOrEmpty(request.SeparatedApiUrl) && !request.SeparatedApiUrl.EndsWith("/"))
            {
                request.SeparatedApiUrl = request.SeparatedApiUrl + "/";
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            site.IsSeparatedWeb = request.IsSeparatedWeb;
            site.SeparatedWebUrl = request.SeparatedWebUrl;

            site.IsSeparatedAssets = request.IsSeparatedAssets;
            site.SeparatedAssetsUrl = request.SeparatedAssetsUrl;
            site.AssetsDir = request.AssetsDir;

            site.IsSeparatedApi = request.IsSeparatedApi;
            site.SeparatedApiUrl = request.SeparatedApiUrl;

            await _siteRepository.UpdateAsync(site);
            await _authManager.AddSiteLogAsync(request.SiteId, "修改站点访问地址");

            var sites = await _siteRepository.GetSitesWithChildrenAsync(0, async x => new
            {
                Web = await _pathManager.GetSiteUrlAsync(x, false),
                Assets = await _pathManager.GetAssetsUrlAsync(x),
                Api = _pathManager.GetApiHostUrl(x, Constants.ApiPrefix)
            });

            return new SubmitResult
后面还有 6 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。