DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: l_hx
今日帖子: 4
在线用户: 5
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/3 9:20:01
标题:
OneDelphi,叫兽开源免费的三层中间件,支持MVC及传统DataSet框架 浏览:855
加入我的收藏
楼主: OneDelphi是叫兽(FLM)QQ:378464060基于Delphi IDE开发的三层中间件,开源免费,支持MVC及传统DataSet框架,使用的是Mormot2的HTTP通讯

MVC基础功能看OneServer->httpServer->Controller->Demo下的单元代码
对接uniapp查看OneServer->OneUniDemo下的单元代码
// 注册到路由 DemoController.initialization部份,路由如何注册 // 注意,路由名称 不要一样,否则会判定已注册过,跳过

// 多例模式注册 OneHttpRouterManage.GetInitRouterManage().AddHTTPPoolWork('DemoA',TDemoController, 100, CreateNewDemoController);

// 单例模式注册 OneHttpRouterManage.GetInitRouterManage().AddHTTPSingleWork('DemoB',TDemoController, 100, CreateNewDemoController);

// 方法注册 OneHttpRouterManage.GetInitRouterManage().AddHTTPEvenWork('DemoEven',HelloWorldEven, 10);

传统的DataSet模式先安装OneClient->Package里面的控件(记得引用LIB路径)
代码示例请查看OneClient->ClientDemo
目前传统客户端基本已完成;
1.数据打开保存,执行DML执行存储过程-对应Demo->OneClientDemo.dproj
2.客户端事务自由控制-对应Demo->OneCleintDemoCustTran.dproj
3.多个数据批量打开,批量保存-对应Demo->OneCleintDemoDatas.dproj
4.客户端post,get请求-对应Demo->OneCleintDemoPostGet.dproj
5.异步打开数据及保存-对应Demo->OneCleintDemoAsync.dproj
6.虚拟文件上传下载-对应Demo->OneClientDemoVirtualFile.dproj
7.大文件上传下载-对应Demo->OneClientDemoVirtualFile.dproj

github托管代码
https://github.com/xenli/OneDelphi.git
https://github.com/xenli/OneDelphi.git
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/3 9:25:30
1楼: 另外我录制了一期oneDelphi对接uniapp的视频,需要的可以看看,大佬请划过,不喜勿喷;
第一次录视频,前几集声音有点小,就这样看吧。

视频地址:点我进入B站
https://space.bilibili.com/344699795
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 yaoyl (云里雾里) ★☆☆☆☆ -
盒子活跃会员
2023/3/3 10:12:24
2楼: 感谢分享!
----------------------------------------------
Delphi老菜鸟~
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/3 15:34:35
3楼: 难得在 B 站做了那么多 Delphi 开发的视频,楼主精神值得鼓励!
----------------------------------------------
-
作者:
男 doersoft (yixsys.com) ★☆☆☆☆ -
普通会员
2023/3/4 8:03:53
4楼: 支持,顶`
----------------------------------------------
delphi|vue|golang yixsys|yixerp|mes|srm
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/7 11:28:34
5楼: mORMot2正式版已经发布,可以下载替换了。
下载地址
https://github.com/synopse/mORMot2

This version 2 replaces mORMot 1.18 which is now in maintainance-only mode. Consider using mORMot 2 for any new or maintainable project.
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/7 11:33:53
6楼:
按此在新窗口浏览图片

叫兽用AB压测了下,暂没发现什么问题。
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 uhjiok123 (三樱椒) ▲▲▲△△ -
普通会员
2023/3/7 11:55:40
7楼: @6楼,  mORMot2 更新了什么呀,找了半天没找到他的更新日志。
----------------------------------------------
菜鸟
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/7 14:39:05
8楼:
@6楼,  mORMot2 更新了什么呀,找了半天没找到他的更新日志。



@uhjiok123 (三樱椒) 请查看mORMot2的官方说明

Coming From Version 2
Why Rewrite a Working Solution?
The mORMot framework stayed in revision 1.18 for years, and is was time for a full refactoring.

The main refactoring points tried to better follow SOLID principles:

Switch to a more rigorous versioning policy, with regular releases;
Split main big units (, ) into smaller scope-refined units;SynCommons.pasmORMot.pas
OS- or compiler- specific code separated to ease evolution;
Rename confusing types, e.g. into , into ...;TSQLRecordTOrmTSQLRestTRest
Favor composition over inheritance, e.g. class split into proper REST/ORM/SOA classes - and folders;TRest
Circumvent compiler internal errors on Delphi, e.g. changed untyped const/var changed into pointers, or reduced the units size;
Full rewrite of the whole RTTI, JSON and REST cores, for better efficiency and maintainability;
Optimization of the framework kernel, using AVX2 if available;asm
New features like OpenSSL, libdeflate or QuickJS support;
New asynchronous HTTP and WebSockets servers, with optional HTTPS/TLS support via Let's Encrypt;
Introduce modern syntax like generics or enumerators - but optional for compatibility.
We therefore created a whole new project and repository, since switching to version 2 induced some backward uncompatible changes. New unit names were used, to avoid unexpected collision issues during migration, or if 1.18 is to remain installed for a compatibility project.

Upgrade In Practice
Quick Steps when upgrading from a previous 1.18 revision:

Note all units where split and renamed, and some breaking changes introduced for enhanced features, therefore a direct update is not possible - nor wanted

Switch to a new folder, e.g. #\lib2 instead of #\lib

Download latest 2.# revision files as stated just above

Change your references to mORMot units:

All unit names changed, to avoid collision between versions;
Look at the samples to see the main useful units.
Consult the documentation about breaking changes from 1.18, mainly:
Units refactoring (see point 4 above);
Types renamed in mode;PUREMORMOT2
Delphi 5-6 and Kylix compatibility removed;
BigTable, LVCL, RTTI-UI deprecated.
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/13 15:31:48
9楼: OneDelphi更新日志

**********2023-03-13**********
服务端:
  1.主要增加OneFastCleint相关对接单元
  2.增加TOneTokenManage.TokenTimeOutSec Token失效时间功能处理
  3.增加 ZTManageController开放获取账套信息
  4.以及一些优化修正
客户端:
  1.OneCleint包控件TOneDataSet增加
          跟据SQL检测某个字段是否重复
     function CheckRepeat(QSQL: string; QParamValues: array of Variant; QSourceValue: string): boolean;
     执行DML语句,update,insert,delete语句,依托于DataSet但不会影响本身DataSet任何东东
          function ExecDMLSQL(QSQL: string; QParamValues: array of Variant; QMustOneAffected: boolean = true): boolean;
          及一些功能增加
          2.TOneConnection
          //验证失败回调事件,比如回调登陆界面
          FTokenFailCallBack
          获取账套信息能力
          function OneGetZTList(Var QErrMsg: string): TList<TZTInfo>;
          function OneGetZTStringList(Var QErrMsg: string): TStringList;
          //功能扩展
          function GetResultBytes(const QUrl: string): TOneResultBytes;
          及一些功能增加和修正
          3.OneFastClient
          是的,一个快速开发
有的东东我增加了,我忘了大体功能或什么的。。。不在以上描述,自已对比大体代码
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/13 15:32:19
10楼: git地址
https://github.com/xenli/OneDelphi.git
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/16 11:24:29
11楼: *2023-03-16
服务端:
1.增加UrlPath风格的请求,单元示例 DemoUrlPathController
// 请求 url xxxx/DemoUrlPath/OnePathTest/flm123
function OnePathTest(id: string): string;
// 请求 url xxxx/DemoUrlPath/OnePathTest/flm123/18
function OnePathTest2(id: string; age: integer): string;
2. OneHttpRouterManage中的类TOneRouterItem改成TOneRouterWorkItem

客户端: 1.OneClientConnect post数据增加zlib压缩,以及zlib解压
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 inbreak (入侵) ★☆☆☆☆ -
盒子活跃会员
2023/3/16 20:02:26
12楼: 顶。
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
男 xenli (流浪) ▲▲▲△△ -
普通会员
2023/3/22 13:29:44
13楼: 更新日志

**********2023-03-22**********
服务端:
  1.增加FastApi功能,无需写任何一句代码只需写SQL,即可获取相关账套数据
  支持SQL查询数据,支持存储过程,格式如下
  接口单元:OneFastApiController
  接口地址:http://127.0.0.1:9090/OneServer/FastApi/DoFastApi
  apiCode:FastApi接口代码
  apiData:FastApi请求数据,只能是Json对象或数组
  apiParam:FastApi请求条件参数,只能是Json数组
  {
      "apiCode":"TEST",  
      "apiData":{},
      "apiParam":{"FBillID":"1AAE0AFFE4E649E7A5EE8E0899AFB81C"}
  }

客户端:
  1.OneFastClient增加FastApi设置界面
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
作者:
女 google220 (google220) ▲▲▲▲▲ -
普通会员
2023/3/22 22:37:40
14楼: 深圳delphi码奴,用起。
----------------------------------------------
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行53.22266毫秒 RSS