Введение
На основе Rust Axum был создан веб-фреймворк для разработки серверной части приложения с базовыми функциями авторизации, пользователями, кешированием, проверкой и генерацией кода.
Axum — это проект веб-фреймворка на Rust, который используется для создания веб-приложений.
Проект
Архитектура программного обеспечения
План разработки
Что уже сделано
Использование
Перед началом работы необходимо установить среду разработки Rust и следовать инструкциям на официальном сайте. Если вы используете WebSocket, откройте порт 20003. В противном случае соединение не будет установлено.
Фреймворк
Административный аккаунт: admin/123456. Тестовый аккаунт: lixingdong1/123456.
Общественный аккаунт
Регулярно публикуются видео с практическими примерами и исходный код.
Участие и вклад
String 348040933@qq.com. Группа для общения: 435604279.
Спасибо автору Ribatis!
Примечание
Код постоянно обновляется, поэтому рекомендуется регулярно обновлять его.
Журнал обновлений
27 июля 2022 года: завершена разработка однопользовательского чата WebSocket.
///ws 默认端口20003
///默认连接地址
///access_token 是登录以后的token
///ws://127.0.0.1:20003/?access_token=xxxxxxxx
///链接如果没有token的话会链接不上
30 мая 2022 года: определены события макросов. Разработчикам не нужно беспокоиться о том, как отправлять и запускать события, достаточно настроить ответные сценарии в базе данных.
///api_operation event_bus触发器
/// #[api_operation("result=false")] 返回值为Result类型 默认是true false
/// #[api_operation("return=true")] 是否传递返回值 到jsRuntime里面 默认是不开启的
/// #[api_operation("result=false|return=true")]多参数同时使用
#[api_operation]
pub async fn nav() -> impl IntoResponse {
let request_model = get_local().unwrap();
let vo = get_user_menu_list(request_model.uid().clone().to_string(), request_model.super_admin().clone(), request_model.agency_code().clone()).await;
vo
}
16 мая 2022 года: разработана площадка для игр JavaScript.
//获取数据字典
let data = Cassie.getAllDict();
for(let i=0;i<data.length;i++){
console.log("name:"+data[i].dict_name);
//获取系统配置
let data = Cassie.getConfig();
console.log(data.redis_url);
//根据id获取用户
let data = Cassie.getUserById("1");
console.log(data);
//获取当前登录用户
let request_model = request_context.request_model;
let data = Cassie.getUserById(request_model.uid+"");
console.log(data);
25 апреля 2022 года: разработка WeChat.
//微信小程序授权登录开发完成
//添加模块 cassie_devtools
17 апреля 2022 года: добавлен механизм правил.
//js动态脚本解析 添加自定义v8引擎
//添加模块 cassie_engine
//添加模块 cassie_ops
6 апреля 2022 года: добавлены функции входа в систему и ведения журнала операций.
//добавить функцию входа в журнал
//добавить функциональность журнала операций
//создать объект события журнала
let event = CassieEvent::LogOperation {
operation: Some(action.clone()),
request_uri: Some(path.clone()),
ip: None,
creator_name,
request_params: None,
request_method: Some(action.clone()),
request_time: Some(start.elapsed().as_millis().to_string()),
status,
};
//опубликовать событие
fire_event(event).await;
```````````````````````````````````````````````````````````````` **APPLICATION_CONTEXT.get::<SharedPharos<CassieEvent>>();**
pharos.notify(CassieEvent::Log {}).await;
**2022.3.31**
Завершена разработка с учётом требований к многопользовательскому режиму.
Конфигурация application.yml:
tenant:
enable: true // Включить многопользовательский режим.
column: "agency_code" // Поле для идентификации пользователя.
ignore_table: // Игнорировать таблицы:
- "sys_log_login"
**2022.3.29**
Переработана структура пакета.
Заменены способы реализации кэша и thread_local.
**2022.3.18**
Реализована функция динамической формы.
В MongoDB конфигурация application.yml имеет вид:
mongodb_url: "mongodb://localhost:27017"
1. Определены бизнес-группы.
2. Определены столбцы для хранения в MySQL.
3. Значения хранятся в MongoDB.
4. Формы разделены на from и table.
5. entity_id — это идентификатор бизнеса.
**2022.2.22**
Выполнена регистрация и проверка пульса в Nacos.
Конфигурация application.yml в Nacos:
nacos_server: "http://127.0.0.1:8848/nacos"
application_name: "cassie_admin"
**2022.2.15**
1. Обновлён скрипт инициализации прав Casbin.
2. Добавлен способ проверки ресурса resource/:id.
3. Частичный рефакторинг кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )