142 lines
6.1 KiB
C#
142 lines
6.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
|
|
using Zhaizj.Framework.Config;
|
|
using Zhaizj.Framework.Drawing;
|
|
using Zhaizj.Framework.Web;
|
|
using Zhaizj.Framework.Web.Mvc;
|
|
|
|
namespace Zhaizj.Framework {
|
|
|
|
/// <summary>
|
|
/// 系统路径
|
|
/// </summary>
|
|
/// <remarks>所有的路径末尾都有斜杠"/",以区别于没有斜杠作后缀的文件名</remarks>
|
|
public class SysPath {
|
|
|
|
private SysPath() { }
|
|
|
|
/// <summary>
|
|
/// 系统路径信息(全局缓存)
|
|
/// </summary>
|
|
public static SysPath Instance = new SysPath();
|
|
|
|
public String Root { get { return SystemInfo.RootPath; } }
|
|
|
|
//------------------------------------ 内部请求 ---------------------------------------------------
|
|
public String DiskStatic { get { return StaticPath.Instance.DiskStatic; } }
|
|
|
|
public String DiskSpaceSkin { get { return StaticPath.Instance.DiskSpaceSkin; } }
|
|
public String DiskGroupSkin { get { return StaticPath.Instance.DiskGroupSkin; } }
|
|
public String DiskSiteSkin { get { return StaticPath.Instance.DiskSiteSkin; } }
|
|
|
|
public String DiskJs { get { return StaticPath.Instance.DiskJs; } }
|
|
public String DiskImg { get { return StaticPath.Instance.DiskImg; } }
|
|
public String DiskCss { get { return StaticPath.Instance.DiskCss; } }
|
|
|
|
public String DiskUpload { get { return StaticPath.Instance.DiskUpload; } }
|
|
public String DiskPhoto { get { return StaticPath.Instance.DiskPhoto; } }
|
|
public String DiskAvatar { get { return StaticPath.Instance.DiskAvatar; ; } }
|
|
public String DiskGroupLogo { get { return StaticPath.Instance.DiskGroupLogo; } }
|
|
|
|
//------------------------------------ 外部请求(静态化) ---------------------------------------------------
|
|
|
|
public String Static { get { return StaticPath.Instance.Static; } }
|
|
public String Upload { get { return StaticPath.Instance.Upload; } }
|
|
|
|
public String Avatar { get { return StaticPath.Instance.Avatar; } }
|
|
public String AvatarGuest { get { return StaticPath.Instance.AvatarGuest; } }
|
|
|
|
public String Photo { get { return StaticPath.Instance.Photo; } }
|
|
public String GroupLogo { get { return StaticPath.Instance.GroupLogo; } }
|
|
|
|
public String SpaceSkin { get { return StaticPath.Instance.SpaceSkin; } }
|
|
public String GroupSkin { get { return StaticPath.Instance.GroupSkin; } }
|
|
public String SiteSkin { get { return StaticPath.Instance.SiteSkin; } }
|
|
|
|
public String Editor { get { return StaticPath.Instance.Editor; } }
|
|
public String Img { get { return StaticPath.Instance.Img; } }
|
|
public String ImgStar { get { return strUtil.Join( Img, "Star/" ); } }
|
|
public String Js { get { return StaticPath.Instance.Js; } }
|
|
public String Skin { get { return StaticPath.Instance.Skin; } }
|
|
public String Css { get { return StaticPath.Instance.Css; } }
|
|
|
|
|
|
/************************************* 方法 *********************************************/
|
|
|
|
public String GetPhotoOriginal( String relativeUrl ) {
|
|
if (strUtil.IsNullOrEmpty( relativeUrl )) return "";
|
|
if (relativeUrl.StartsWith( sys.Path.Photo )) return relativeUrl;
|
|
return strUtil.Join( sys.Path.Photo, relativeUrl );
|
|
}
|
|
|
|
public String GetPhotoThumb( String relativeUrl ) {
|
|
return GetPhotoThumb( relativeUrl, ThumbnailType.Small );
|
|
}
|
|
|
|
public String GetPhotoThumb( String relativeUrl, ThumbnailType ttype ) {
|
|
return Zhaizj.Framework.Drawing.Img.GetThumbPath( GetPhotoOriginal( relativeUrl ), ttype );
|
|
}
|
|
|
|
public String GetPhotoRelative( String originalUrl ) {
|
|
if (strUtil.IsNullOrEmpty( originalUrl )) return "";
|
|
if (originalUrl.StartsWith( sys.Path.Photo )) {
|
|
return strUtil.TrimStart( originalUrl, sys.Path.Photo ).TrimStart( '/' );
|
|
}
|
|
return originalUrl;
|
|
}
|
|
|
|
public String GetAvatarOriginal( String relativeUrl ) {
|
|
relativeUrl = processEmptyAvatar( relativeUrl );
|
|
if (relativeUrl.StartsWith( sys.Path.Avatar )) {
|
|
return Zhaizj.Framework.Drawing.Img.GetOriginalPath( relativeUrl );
|
|
}
|
|
else {
|
|
return Zhaizj.Framework.Drawing.Img.GetOriginalPath( sys.Path.Avatar + relativeUrl );
|
|
}
|
|
}
|
|
|
|
public String GetAvatarThumb( String relativeUrl ) {
|
|
return GetAvatarThumb( relativeUrl, ThumbnailType.Small );
|
|
}
|
|
|
|
public String GetAvatarThumb( String relativeUrl, ThumbnailType ttype ) {
|
|
String originalAvatar = GetAvatarOriginal( relativeUrl );
|
|
return Zhaizj.Framework.Drawing.Img.GetThumbPath( originalAvatar, ttype );
|
|
}
|
|
|
|
private String processEmptyAvatar( String relativeUrl ) {
|
|
if (strUtil.IsNullOrEmpty( relativeUrl )) return AvatarConstString;
|
|
return relativeUrl;
|
|
}
|
|
|
|
public String GetGroupLogoOriginal( String relativeUrl ) {
|
|
relativeUrl = processEmptyGroupLogo( relativeUrl );
|
|
if (relativeUrl.StartsWith( sys.Path.GroupLogo )) {
|
|
return Zhaizj.Framework.Drawing.Img.GetOriginalPath( relativeUrl );
|
|
}
|
|
else {
|
|
return Zhaizj.Framework.Drawing.Img.GetOriginalPath( sys.Path.GroupLogo + relativeUrl );
|
|
}
|
|
}
|
|
|
|
public String GetGroupLogoThumb( String relativeUrl ) {
|
|
return GetGroupLogoThumb( relativeUrl, ThumbnailType.Small );
|
|
}
|
|
|
|
public String GetGroupLogoThumb( String relativeUrl, ThumbnailType ttype ) {
|
|
String originalGroup = GetGroupLogoOriginal( relativeUrl );
|
|
return Zhaizj.Framework.Drawing.Img.GetThumbPath( originalGroup, ttype );
|
|
}
|
|
|
|
private String processEmptyGroupLogo( String relativeUrl ) {
|
|
if (strUtil.IsNullOrEmpty( relativeUrl )) return GroupLogoConstString;
|
|
return relativeUrl;
|
|
}
|
|
|
|
public static readonly String AvatarConstString = "face/guest.jpg";
|
|
public static readonly String GroupLogoConstString = "group.jpg";
|
|
}
|
|
|
|
} |