InjectUtil.Container.Resolve<AuthUtil>().GetToken()
Использование FastAllowAnonymousAttribute для пометки определённого API как доступного для анонимного доступа в обычных классах, требующих аутентификации с помощью токена:
Использование FastSQLInjectionAttribute для включения защиты от SQL-инъекций в классах и методах:
Создание класса обработки сообщений, который наследуется от FastDefaultMessageHandler:
Пометка класса обработки с помощью MessageChanelAttribute и указание ChannelName:
Переопределение методов CustomHandle (для обработки сообщения) и CheckMessageIsConsume (для подтверждения потребления сообщения):
Отправка сообщения с помощью метода MessageCenter.GetInstance().SendMessage, где класс сущности, отправляемый в сообщении, должен соответствовать типу, десериализованному в методе CustomHandle:
Пример:
[MessageChanelAttribute(ChannelName = "Login")]
public class LoginLog : FastDefaultMessageHandler
{
public override void CustomHandle(Message.Design.Message Message)
{
Frame_LoginLog LogEntity = JsonConvert.DeserializeObject<Frame_LoginLog>(Message.MessageBody.MessageJsonContent);
@DBUtil.Insert(LogEntity);
base.CustomHandle(Message);
}
public override bool CheckMessageIsConsume(Message.Design.Message Message)
{
Frame_LoginLog LogEntity = JsonConvert.DeserializeObject<Frame_LoginLog>(Message.MessageBody.MessageJsonContent);
DBRow Row = new DBRow("Frame_LoginLog", "RowGuid", LogEntity.RowGuid);
if (Row.IsExist())
{
return true;
}
else
{
return false;
}
}
}
Использование технологии динамического рендеринга Mustache.js для создания настраиваемых и разделённых элементов домашней страницы, которые можно настроить в системе — элемент управления. Необходимо настроить путь к шаблону и URL данных шаблона. Если элемент включён, он будет отображаться на главной странице:
Разработка шаблонов на основе примера FastExecutor/Element/NoticeTemplate.html:
<div class="cellheadcontainer">
<span class="celltitletext">{{elementtitle}}</span>
<div class="celltitleop">
<a style="color:white" class="morebtn" onclick="OpenMore('{{elementmoreurl}}')">更多</a>
</div>
</div>
<div class="cellcontentcontainer">
{{#data}}
<div class="notciecell" onclick="OpenDetail('{{title}}')">
<div class="noticeleft">
<span class="noticetitle noticeindex">{{index}}</span>
<span class="noticetitle">{{title}}</span>
</div>
<div class="noticeright">
<span class="noticetip">{{publishuname}}</span>
<span class="noticetip">{{publishdate}}</span>
</div>
</div>
{{/data}}
</div>
<script>
var noticeid = "{{elementid}}";
function OpenMore(url) {
OpenTopDialog('noticlelist', '消息通知列表', url, 600, 800, BindNotcieList)
}
function BindNotcieList() {
CommonRefresh(noticeid);
}
function OpenDetail(title) {
OpenTopDialog('noticledetail', '消息详情', "Frame/Demo/NoticeDetail", 600, 800, BindNotcieList, title)
}
</script>
Все ключи JSON в шаблоне могут быть использованы с помощью синтаксиса Mustache в файле шаблона. Пример метода CommonRefresh в Index — это метод упаковки для обновления данных указанного элемента. Он может использоваться для обработки событий после завершения данных. В файле шаблона также можно определить пользовательские стили и JavaScript для повышения гибкости настройки элементов.
Использование компонента задачи Quartz.net для реализации настраиваемого шаблона управления задачами в системе управления — модуль управления задачами:
Задачи включают циклические задачи и задачи, выраженные с помощью Corn. Также необходимо привязать класс выполнения задачи, указав полный путь класса. Класс выполнения задачи должен наследовать от FastJob и переопределять метод ExecuteJob. Пример: FastExecutor.ORG.Demo.DemoJob. Базовый класс FastJob также предоставляет методы ведения журнала для задач, которые могут быть легко использованы. Система автоматически классифицирует журналы на основе идентификатора задачи.
public class DemoJob : FastJob
{
public override void ExecuteJob()
{
try
{
LogJob("DemoJob正在执行!!!!!");
}
catch (Exception e)
{
LogJob(string.Format("DemoJob执行发生异常,异常信息", e.Message));
}
}
}
Управление бэкендом — управление данными проекта — платформа управления данными проекта (DMP) (все таблицы проектов используют DMP для управления):
Добавить таблицу данных.
Добавить структуру таблицы, определить соответствующие типы параметров и выбрать элементы управления.
Выберите «Создать код» в списке структур таблиц, чтобы создать код для добавления, редактирования, списка страниц и т. д. Эти файлы должны быть помещены в соответствующие папки проекта.
Обычно сгенерированный код DB просто переписывает метод генерации первичного ключа. Вы можете переписать любой метод в DB. Сгенерированный код контроллера заменит общий шаблон контроллера.
Если сгенерированного кода DB недостаточно, вы можете создать свой собственный метод. Однако вам нужно объявить класс DB в контроллере, а не использовать базовый класс. Пример кода:
[AutoWired]
public DB_User @DB_User;
JObject Params = GetParams();
string DisplayName
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )