1 元数据(metadata)和代码(code)
2 ============================
3 源码结构
4 ===============================
5 │ sscms.sln Visual Studio 项目文件
6 │
7 ├─src/SS.CMS 接口、基础类
8 ├─src/SS.CMS.Cli 命令行工具
9 ├─src/SS.CMS.Core CMS核心代码
10 ├─src/SS.CMS.Web CMS App
11 └─tests 测试
12 ============================
13 系统目录
14 ==============================
15 .
16 ├── log (运行日志目录)
17 ├── assets (后台资源文件目录)
18 ├── wwwroot (网站对外访问目录)
19 │ ├── SiteFiles (站群公用文件)
20 │ │ ├── Administrators (管理员文件夹)
21 │ │ ├── Users (用户文件夹)
22 │ │ ├── SiteTemplates (站点模板)
23 │ │ ├── TemporaryFiles (临时文件)
24 │ │ └── database.sqlite (本地数据库,可选)
25 │ │
26 │ ├── ** (子站点文件夹)
27 │ └── index.html (默认页)
28 │
29 ├── appsettings.json (.NET Core APP 配置文件)
30 ├── sscms.exe (SSCMS 主程序)
31 ├── sscms.json (SSCMS 配置文件)
32 └── web.config (非IIS部署可以删除)
33 ================================
34 站点目录
35 =========================
36 .
37 └── siteDir (站点目录)
38 ├── Template (站点模板)
39 │ └── Content (站点内容模板)
40 │
41 ├── T_系统首页模板.html (站点首页模板)
42 └── index.html (站点首页)
43 ===============================
44 -Solution Items
45 -src
46 --Datory
47 --SSCMS 类库
48 ---Plugins
49 ----IPlugin.cs
50 --SSCMS.Cli 类库
51 ---Abstractions 抽象概念
52 --SSCMS.Core 类库
53 --Plugins
54 ---Plugin.cs
55 --SSCMS.Web 控制台应用程序
56 ---Program.cs
57 -tests
58
59 obj\Debug\net6.0\SSCMS.Web.xml
60
61
62 重要记录:
63 使用了Serilog框架记录日志
64 https://jwt.io/
65 ————————————————————————————————————
66 Quartz.NET托管服务轻松实现作业调度
67 ————————————————————————————————————
68 Mono 跨平台的 .NET 运行环境
69 Quartz是一个开源的任务调度框架
70 McMaster命令行工具库
71 Datory 基于 Dapper 及 SqlKata 的通用数据库操作库,支持SqlServer、MySql、PostgreSql以及SQLite。
72 YamlDotNet 一个用于YAML的.NET 库
73 .NET缓存框架CacheManager
74 Senparc.CO2NET 公共基础库
75 微型 ORM 直接将数据库与 C# 对象映射的对象关係映射器。
76 Tokens.Jwt
77 FluentScheduler一个简单的任务调度框架 定时任务 https://github.com/fluentscheduler/FluentScheduler
78 Senparc.Weixin SDK 微信SDK https://sdk.weixin.senparc.com/
79 HtmlAgilityPack; 敏捷的HTML解析器 https://html-agility-pack.net/
80 https://dotnetfiddle.net/PRrnVc 类似http://jsfiddle.net
81 using SixLabors; 跨平台图形应用程序https://sixlabors.com/
82 Newtonsoft 操作json的开源工具库 是json处理封装类 https://github.com/JamesNK/Newtonsoft.Json
83 ===================
84 ————常用命名空间———namespace—————————————————————————————
85 using System;
86 using System.Net.Http;
87 using System.Collections.Generic;
88 using System.Linq;
89 using System.Threading.Tasks;
90 using SqlKata;
91 using SSCMS.Enums;
92 using SSCMS.Models;
93 using SSCMS.Utils;
94 ————————————————————————————
95 using FluentScheduler;
96 using Microsoft.AspNetCore.Antiforgery;反射
97 using Microsoft.AspNetCore.Authentication;认证
98 using Microsoft.AspNetCore.Http;浏览器
99 -----------------------
100 =====微信SDK========
101 using Senparc.Weixin;
102 using Senparc.Weixin.Exceptions;
103 using Senparc.Weixin.MP;
104 using Senparc.Weixin.MP.Containers;
105 using Senparc.Weixin.MP.Helpers;
106 using Senparc.Weixin.MP.AdvancedAPIs;
107 using Senparc.Weixin.MP.AdvancedAPIs.GroupMessage;
108 using Senparc.Weixin.MP.CommonAPIs;
109 using Senparc.Weixin.MP.Entities.Menu;
110 using Senparc.Weixin.MP.AdvancedAPIs.User;
111 =============
112 using System.IdentityModel.Tokens.Jwt;
113 ===================
114 using SixLabors.Fonts; 跨平台图形应用程序https://sixlabors.com/
115 using SixLabors.ImageSharp;
116 using SixLabors.ImageSharp.Drawing.Processing;
117 using SixLabors.ImageSharp.Formats.Png;
118 using SixLabors.ImageSharp.PixelFormats;
119 using SixLabors.ImageSharp.Processing;
120 ================
121 using Newtonsoft.Json;
122 using Newtonsoft.Json.Converters;
123 ============
124 using HtmlAgilityPack;
125 using System.Security.Claims;安全
126 using Microsoft.IdentityModel.Tokens;模型识别
127 using Dapper;
128 using Datory;
129 using Datory.Utils;
130 using TableInfo = SSCMS.Cli.Core.TableInfo;
131 Microsoft.AspNetCore.Hosting 命名空间
132 using Microsoft.Extensions.Configuration;命令行配置扩展。添加命令行方法
133 using Microsoft.Extensions.Hosting; 主机。创建默认生成器方法
134 using SSCMS.Configuration; CMS配置扩展。
135 using SSCMS.Core.Utils; CMS核心工具类。
136 using System.Runtime.Loader;提供 System.Runtime.Loader.AssemblyLoadContext 类,该类提供用于加载程序集的成员。
137 using Newtonsoft.Json.Converters; 转换器
138 using Datory.Annotations;注释
139 using System;
140 using System.IO;文件读写
141 using System.Security.Cryptography;密码相关
142 using System.Text;文本相关
143 using Microsoft.AspNetCore.Mvc;
144 using System.Linq; 类和接口支持使用查询的 语言集成查询 (LINQ)
145 System.Collections.Generic; 公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。系统通用 命名空间包含接口和类
146 using Newtonsoft.Json;
147 using SqlKata; https://www.nuget.org/packages/SqlKata/
148 using SSCMS.Models;模型
149 using System.Threading.Tasks;线程,任务
150 using SSCMS.Services;
151 using Quartz.Impl;
152 using System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。
153 using System.Reflection;系统反射
154 using CacheManager.Core;.NET缓存框架CacheManager
155 using Microsoft.Extensions.Configuration;扩展配置,
156 using Microsoft.Extensions.DependencyInjection; 服务集合
157 using Microsoft.Extensions.DependencyInjection.Extensions;依赖性注入
158 using SSCMS.Dto;
159 using SSCMS.Enums;
160 using SSCMS.Models;
161 using SSCMS.Services;
162 using Mono.Options;
163 using Quartz;
164 using McMaster.Extensions.CommandLineUtils;命令行工具库
165 using YamlDotNet.Serialization;一个用于YAML的.NET 库
166 using YamlDotNet.Serialization.NamingConventions;一个用于YAML的.NET 库
167 using Mono.Options;
168 using Mono.Options;
169 using Semver;语义版本控制
170 using System.Reflection;装配件反射
171 using Newtonsoft.Json.Linq;命名空间提供了用于实现 LINQ to JSON 的类。https://www.newtonsoft.com/json/help/html/N_Newtonsoft_Json_Linq.htm
172 using System.Runtime.InteropServices;运行时交互
173 using System.Collections.Specialized; 表示可通过键或索引访问的键/值对的集合。 https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.specialized.ordereddictionary?redirectedfrom=MSDN&view=net-6.0
174 -----------------------------
175 =======STL=======
176 using SSCMS.Core.StlParser.StlElement;
177 using SSCMS.Core.StlParser.Utility;
178 ===============
179 using ICSharpCode.SharpZipLib.Zip;实现在线压缩和解压缩
180 using SixLabors.ImageSharp; 图像处理,2D 图形 API
181 using SixLabors.ImageSharp.Processing;图像处理,2D 图形 API
182 =============
183 using System;
184
185 using System.Collections.Specialized;表示可通过键或索引访问的键/值对的集合。
186 using System.Threading.Tasks;
187 using Datory;
188 using SqlKata;
189 using SSCMS.Enums;
190 using SSCMS.Models;
191 using SSCMS.Services;
192
193 ------------待看---------
194 using System;数据类型转换、方法参数操作、数学计算、远程和本地程序调用等
195 using System.Collections.Generic;泛型集合接口和类。
196 using System.IO;
197 using System.Linq;
198 using System.Net;
199 using System.Reflection;反射
200 using System.Text;
201 using System.Threading.Tasks;
202 using Microsoft.Extensions.Configuration;
203 using Microsoft.Extensions.DependencyInjection;
204 using SSCMS.Cli.Core;
205 using SSCMS.Cli.Extensions;
206 using SSCMS.Core.Extensions;
207 using SSCMS.Core.Plugins.Extensions;
208 using SSCMS.Utils;
209 using Serilog;
210 using SSCMS.Cli.Abstractions;
211 using SSCMS.Configuration;
212 ===============
213 using Datory;
214
215 appsettings.json