简介
Rscms内容管理系统,使用AI生成创意文档,图片,视频;
一键发布内容到各大平台:小红书,今日头条,微信公众号,抖音
一秒完成上线
AI生成创意图片与文案 使用AI生成产品文案,公司文案,文章翻译
多语种支持
同时匹配pc端和手机端,微信公众号
支持使用md文件做为数据源
支持多种数据库 sqlite mysql sqlserver oracle
内置md编辑器编辑内容
下载
部署
数据库
支持的数据库有:mysql
,sqlserver
,sqlite
默认使用Sqlite数据库,rscms0.db
是空库,rscms.db
是示例库
通过appsettings.json
文件,修改节点Database
变更数据库类型,需要手动创建名称rscms
的数据库
上传
上传文件接口为api/storage/local
上传的文件保存在wwwroot
目录下 public
文件夹中
部署步骤
1.首先打开数据库,创建名称为rscms
的库
2.windows系统
双击RsCms.WebApi.exe
即运行RsCms系统
3.其它系统,下载相应压缩包
使用
浏览器访问https://localhost:6688
访问主页 浏览器访问https://localhost:6688/rscms/index.html
后台管理
ui开发
支持的UI框架ASP.NET Core Blazor,ASP.NET Core Razor Pages ,ASP.NET Core MVC,详情可以参考官方文档。
通过visual studio2022
创建asp.net core web
项目,修改项目输出类型为类库
,开始编写UI,你只需要懂html,css,js和循环,条件判断这些知识即可进行开发
类库编译后替换项目同名文件即可生效
Razor Pages
Razor Pages项目
目录结构
.
├── Pages # 视图目录
│ └── Shared # 共享的页面存放位置
│ └── _Layout.cshtml #布局页
│ └── Page1.cshtml # 页面
│ └── _ViewImports.cshtml # 项目命名空间
│ └── _ViewStart.cshtml # 起始页
├── Models # 常用业务实体
├── i18n # 国际化
Razor视图
Razor页面:文件名以.cshtml结尾
页面(带@page
)和组件(不带@page
),两者区别在于页面有路由,可以直接通过 URI 访问,一般放在 Pages 文件夹中;而组件,作为一个部件,必须嵌入其它组件中,在页面中显示,一般放到 Shared 文件夹中,供多个页面共享、复用。 可通过url访问的页面文件放到Pages文件夹中,可共享,复用的放到Shared文件夹中
视图优先级
/Pages/Header.cshtml
/Pages/Shared/Header.cshtml
/Views/Shared/Header.cshtml
page指令用来自定义路由,网页的url由它来定义,用方如下
@page "/" //通过 http://xx.com/访问
@page "/products/{id}" //通过 http://xx.com/products/xx 访问
@page "/products/{id:int}/{category?}" //通过 http://xx.com/products/123/abc 访问 这里的问号表示该参数可以为空
@{
//实例:获取路由参数
@page "/news/{page?}"
var pageParam = RouteData.Values["page"] as string; //无page时,pageParam="/News"
int page = pageParam == "/News" ? 1 : Convert.ToInt32(pageParam);
//实例:获取请求参数
var culture=Request.Query["culture"].ToString();
}
当html代码中己使用了@
符号,在Razor中可以用@@
代替
子页面
页面可重用的部分,放在Shared文件夹中
父页面调用子页面的方式
@{
await Html.RenderPartialAsync("childPage");
}
_ViewImports.cshtml
项目命名空间
@using Microsoft.AspNetCore.Mvc.Localization
@using RsCms.UI
@namespace RsCms.UI.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject IViewLocalizer L
_ViewStart.cshtml
起始页
@{
Layout = "_Layout"; // 引用布局页 布局文件真实文件位置 Pages/Shared/_Layout.cshtml
}
页面逻辑
//获取路由参数
var id=Model.RouteData.Values["id"]
//逻辑判断
@if(true)
{
html代码
}
//偱环
@for(var i=0;i<10;i++)
{
}
//遍历
@foreach(var item in DemoModel)
{
}
//方法
@functions{
//这里写c#代码
}
//页面重复的部分可以使用组件代替,创建Razor组件以_开头的命令的razor类型文件
创建到Shared文件夹
//页面之间传参
//添加母版页没有的js代码
@section js{
<script></script>
}
//添加母版页没有的css代码
@section css{
<style></style>
}
国际化
RsCms.UI
项目i18n文件夹
下创建多语言,
@L["home"] //视图页这样调用 home是json文件中定义的key名称
资源名称 | 圆点或路径命名 |
---|---|
Pages.Index.en-US.json | 点 |
Pages/Index/en-US.json | 路径 |
是选择使用圆点还是路径命名约定,具体取决于你想如何组织资源文件。
home: false editLink: false #是否在底部显示编辑页面 lang: zh-CN title: RsCms内容管理系统 description: Rscms使用AI生成创意文档,图片,视频;一秒完成上线,一键发布内容到各大平台:小红书,今日头条,微信公众号,抖音
处理HTTP方法
Models文件夹中ApiHelper
定义了CMS常用功能
//获取导航信息
Task<SiteNavigateModel[]> GetNavigateAsync();
//获取站点信息
Task<SiteInfoModel>GetSiteInfoAsync();
//获取文章信息
Task<ArticleModel> GetArticleAsync(string id);
//按短语获取文章信息
Task<ArticleModel> GetArticleBySlugAsync(string slug);
//分页查指定tag下的文章
Task<PageData<ArticleItemModel>> PageArticleByTagAsync(int page,int pageSize,string tag);
//查询指定组的设置信息
Task<SettingsDto[]> GetSettingsListAsync (string groupName);
AI
AI需要申请Token后,才能使用,步骤如下: 访问 https://localhost:6688/rscms/index.html
点击--设置--Token设置-->申请Token
关于作者
微信: runsoft1024