@microi.net/cli 5.1.8 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +6 -6
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server.js +85 -85
- package/scripts/microi-cli.js +2 -2
- package/scripts/microi-skills.meta.json +216 -201
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +17 -17
- package/skills/README.md +2 -1
- package/skills/ai-engine/SKILL.md +7 -2
- package/skills/app-store/SKILL.md +81 -81
- package/skills/job-engine/SKILL.md +1 -1
- package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +1 -1
- package/skills/microi-docs-coverage/references/capability-map.md +1 -0
- package/skills/microi-form-layout/SKILL.md +191 -191
- package/skills/microi-frontend-sdk/SKILL.md +189 -182
- package/skills/microi-left-right-layout/SKILL.md +2 -0
- package/skills/microi-sso/SKILL.md +82 -0
- package/skills/microi-sso/references/acceptance.md +49 -0
- package/skills/microi-sso/references/configuration-and-security.md +53 -0
- package/skills/microi-sso/references/inbound.md +53 -0
- package/skills/microi-sso/references/outbound.md +39 -0
- package/skills/microi-ui/SKILL.md +11 -7
- package/skills/microi.v8.js +5 -2
- package/skills/module-engine/SKILL.md +184 -180
- package/skills/module-engine/references/module-config.md +4 -2
- package/skills/ui-design/SKILL.md +34 -30
- package/skills/v8-crud-api/SKILL.md +2 -2
- package/skills/v8-debugging/SKILL.md +3 -1
- package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +3 -2
- package/skills/v8-security/SKILL.md +69 -69
- package/skills/v8-table-event/SKILL.md +1 -1
- package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +1 -1
- package/skills/v8-utilities/references/server-api-index.md +135 -135
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
# 后端 V8 API 索引
|
|
2
|
-
|
|
3
|
-
本索引对应接口引擎和后端表单事件。专项 API 的完整模板仍以相应 Skill 为准。
|
|
4
|
-
|
|
5
|
-
## 请求与执行上下文
|
|
6
|
-
|
|
7
|
-
| API/变量 | 说明 |
|
|
8
|
-
|---|---|
|
|
9
|
-
| `V8.Param`、`V8.Header` | URL、Form、JSON 参数与请求头 |
|
|
10
|
-
| `V8.CurrentUser` | 当前可信用户;匿名接口可能为空 |
|
|
11
|
-
| `V8.OsClient` | 当前租户 |
|
|
12
|
-
| `V8.SysConfig` | 系统配置;可能含敏感项,不直接返回 |
|
|
13
|
-
| `V8.OsClientModel`、`V8.ClientModel` | 租户配置兼容别名;严禁泄露连接串/密钥 |
|
|
14
|
-
| `V8.Form`、`V8.OldForm` | 后端表单事件的新旧数据 |
|
|
15
|
-
| `V8.FormSubmitAction` | `Add/Upt/Del` |
|
|
16
|
-
| `V8.EventName`、`V8.InvokeType` | 事件名与 Server/Client 调用来源 |
|
|
17
|
-
| `V8.TableModel`、`V8.TableData` | 当前表模型/行数据 |
|
|
18
|
-
| `V8.RowIndex`、`V8.CacheData`、`V8.NotSaveField` | DataFilter 等事件上下文 |
|
|
19
|
-
| `V8.LineValue`、`V8.NextNodeId`、`V8.WF` | 工作流路线与节点上下文 |
|
|
20
|
-
| `V8.FilesByteBase64` | 上传文件 Base64 字典 |
|
|
21
|
-
| `V8.Limits` | 当前 Jint 资源预算与调用深度 |
|
|
22
|
-
| `V8.Action` | 服务器全局 V8 自定义方法 |
|
|
23
|
-
|
|
24
|
-
## 调用、数据与异步
|
|
25
|
-
|
|
26
|
-
| API | 说明 |
|
|
27
|
-
|---|---|
|
|
28
|
-
| `V8.ApiEngine.Run(...)` | 同步调用接口引擎 |
|
|
29
|
-
| `await V8.ApiEngine.RunAsync(...)` | 请求内异步调用接口引擎 |
|
|
30
|
-
| `V8.FormEngine.*` | 表单 CRUD,见 `v8-crud-api` |
|
|
31
|
-
| `await V8.FormEngine.GetTableDataAsync(...)` | 请求内异步查列表 |
|
|
32
|
-
| `V8.Db`、`V8.DbRead`、`V8.DbTrans` | 主库、只读库、共享事务 |
|
|
33
|
-
| `V8.DbTrans.FromSql(sql)` | 在平台提供的共享事务内执行参数化 SQL |
|
|
34
|
-
| `V8.Dbs`、`V8.Dbs.Open(...)` | 已配置的扩展数据库 |
|
|
35
|
-
| `V8.MongoDb.*` | MongoDB CRUD |
|
|
36
|
-
| `V8.DataSourceEngine` | 当前租户数据源引擎对象 |
|
|
37
|
-
| `V8.DataSourceEngine.Run(...)`、`V8.DataSourceEngine.RunAsync(...)` | 同步/请求内异步运行数据源 |
|
|
38
|
-
| `V8.ModuleEngine` | 后端模块模型能力;不能绕过用户模块权限 |
|
|
39
|
-
| `V8.ModuleEngine.GetTableData(...)` | 按 `ModuleEngineKey` 应用模块关联表配置查询 |
|
|
40
|
-
|
|
41
|
-
接口引擎返回后宿主上下文会释放。只在真实 `*Async` 方法上使用 `await`;
|
|
42
|
-
脱离请求的工作使用后台任务、Job、MQ 或 outbox。
|
|
43
|
-
|
|
44
|
-
## V8.Method
|
|
45
|
-
|
|
46
|
-
| API | 说明 |
|
|
47
|
-
|---|---|
|
|
48
|
-
| `V8.Method.NewGuid()`、`V8.Method.NewUlid()` | 生成标识 |
|
|
49
|
-
| `V8.Method.GetTimestamp()` | Unix 秒时间戳 |
|
|
50
|
-
| `V8.Method.GetCurrentToken(token,osClient)` | 读取当前 Token 对象;不透传前端 |
|
|
51
|
-
| `V8.Method.RefreshLoginUser(userId,osClient)` | 刷新用户登录缓存 |
|
|
52
|
-
| `V8.Method.ClearUserLoginInfo(userId,osClient)` | 管理员吊销用户全部终端 Token |
|
|
53
|
-
| `V8.Method.GetDirectTableGrantPolicies()` | 读取平台表直连授权策略;仅供可信角色表单事件做最终校验 |
|
|
54
|
-
| `V8.Method.ConsumeIdentityVerificationTicket({Ticket,Purpose,ActionHash})` | 按当前 DiyToken 用户、租户、用途和操作摘要原子消费一次性 Passkey/TOTP/人脸票据 |
|
|
55
|
-
| `V8.Method.GetPrivateFileUrl({FilePathName})` | 签发当前租户短期私有文件代理地址 |
|
|
56
|
-
| `V8.Method.Upload(options)` | 受配额限制的上传 |
|
|
57
|
-
| `V8.Method.AddSysLog(options)` | 结构化系统日志 |
|
|
58
|
-
| `V8.Method.ParseWhere(where)` | 兼容旧 Where 转换 |
|
|
59
|
-
| `V8.Method.UpdateBackgroundTask(options)` | 上报已提交单位的后台任务进度 |
|
|
60
|
-
| `V8.Method.RefreshExtensionDatabases(osClient?)` | 配置表提交后刷新全节点 `V8.Dbs` |
|
|
61
|
-
|
|
62
|
-
管理员维护、备份、清库、缓存连接管理等低层方法即使可见,也不能暴露为普通
|
|
63
|
-
或匿名业务 API。
|
|
64
|
-
|
|
65
|
-
## Base64 与加密
|
|
66
|
-
|
|
67
|
-
```javascript
|
|
68
|
-
var encoded = V8.Base64.StringToBase64('吾码');
|
|
69
|
-
var decoded = V8.Base64.Base64ToString(encoded);
|
|
70
|
-
|
|
71
|
-
var des = V8.EncryptHelper.DESEncode('legacy-value');
|
|
72
|
-
var plain = V8.EncryptHelper.DESDecode(des);
|
|
73
|
-
var sha1 = V8.EncryptHelper.SHA1('legacy-value');
|
|
74
|
-
var sha256 = V8.EncryptHelper.SHA256('text');
|
|
75
|
-
var sha512 = V8.EncryptHelper.SHA512('text');
|
|
76
|
-
var hex = V8.EncryptHelper.Sha256Hex('text');
|
|
77
|
-
var signature = V8.EncryptHelper.HmacSha256(secretFromConfig, payload);
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
`V8.EncryptHelper` 是后端加密/摘要帮助对象。完整入口:
|
|
81
|
-
`V8.EncryptHelper.MD5Encrypt`、`V8.EncryptHelper.SHA1`、
|
|
82
|
-
`V8.EncryptHelper.SHA256`、`V8.EncryptHelper.SHA512`、
|
|
83
|
-
`V8.EncryptHelper.Sha256Hex`、`V8.EncryptHelper.HmacSha256`、
|
|
84
|
-
`V8.EncryptHelper.AESEncrypt`、`V8.EncryptHelper.AESDecrypt`、
|
|
85
|
-
`V8.EncryptHelper.DESEncode`、`V8.EncryptHelper.DESDecode`。
|
|
86
|
-
|
|
87
|
-
DES 只用于明确要求取回原文的兼容业务秘密;保存和显示都在可信后端完成,列表掩码、独立授权、`no-store` 且审计不含明文。登录密码不使用摘要或可逆加密的新设计,完整分级见 `v8-security/SKILL.md`。
|
|
88
|
-
|
|
89
|
-
MD5/SHA1 仅为兼容摘要;任何摘要都不能直接作为新密码存储方案。AES/DES/HMAC
|
|
90
|
-
密钥从受控配置读取,不硬编码、不写日志、不返回客户端。
|
|
91
|
-
|
|
92
|
-
## 内置与自定义扩展
|
|
93
|
-
|
|
94
|
-
`V8.Alipay`、`V8.AlipayV3`、`V8.WeChat`、`V8.Alidns`、`V8.System`、
|
|
95
|
-
`V8.Image` 和 `V8.Tcp` 由当前 `Microi.V8Engine/V8Extend.cs` 注册。扩展可被裁剪或二次
|
|
96
|
-
开发,调用前以目标部署源码和编辑器定义为准。
|
|
97
|
-
|
|
98
|
-
- `V8.Alipay.CreatePay(...)` 创建支付宝支付参数;
|
|
99
|
-
`V8.Alipay.Test22(...)` 是历史诊断方法,不能作为生产业务接口。
|
|
100
|
-
- `V8.WeChat` 当前包含签名、授权头与 AES-GCM 解密等微信支付帮助方法。
|
|
101
|
-
- 自定义扩展通过 `V8ExtensionRegistry.Register(name,factory)` 注册为
|
|
102
|
-
`V8.<name>`;不要把某个客户的扩展名写成全平台标准能力。
|
|
103
|
-
|
|
104
|
-
支付/微信/DNS 扩展必须只读取当前租户受控凭据,调用前校验权限、金额、订单状态、
|
|
105
|
-
幂等键和回调签名;私钥、Secret 和原始签名材料不得进入日志或响应。
|
|
106
|
-
|
|
107
|
-
## 其它后端扩展
|
|
108
|
-
|
|
109
|
-
| 能力 | API |
|
|
110
|
-
|---|---|
|
|
111
|
-
| 缓存 | `V8.Cache.Set/Get/Remove/Exists/KeyExist/HashSet/HashGet/HashGetAll/HashDelete/HashIncrement` |
|
|
112
|
-
| HTTP | `V8.Http.Get/Post/Patch`、`GetResponse/PostResponse/PatchResponse` 及真实 `*Async` 版本 |
|
|
113
|
-
| TCP | `V8.Tcp.Send/SendAsync/SendAndReceive/SendAndReceiveAsync`;原始字节与出站安全见 `v8-tcp-integration` |
|
|
114
|
-
| 图片 | `V8.Image.Create/Merge/Overlay/Watermark/Resize/Crop/Rotate/Flip/Draw/Convert/GetInfo/CreateQRCode` |
|
|
115
|
-
| Office | `V8.Office.ExportExcel/ExcelToList/ExportWord/ExportPowerPoint/SendEmail` |
|
|
116
|
-
| OCR | `await V8.OCR.Recognize({...})`;服务端租户配置与调用参数隔离,详见 `ocr-engine` |
|
|
117
|
-
| 文件 | `V8.HDFS`、`V8.Method.Upload/GetPrivateFileUrl` |
|
|
118
|
-
| MQ | `V8.MQ.SendMsg` |
|
|
119
|
-
| 短信 | `V8.Sms.Send` |
|
|
120
|
-
| 翻译 | `V8.TranslateEngine.Translate` 与语言缓存方法 |
|
|
121
|
-
| 爬虫 | `V8.Spider` |
|
|
122
|
-
| 主机监控 | `V8.System`,仅管理员/运维 |
|
|
123
|
-
| 工作流 | `V8.WFEngine`、事件中的 `V8.WF` |
|
|
124
|
-
|
|
125
|
-
## 全局函数与 CLR 边界
|
|
126
|
-
|
|
127
|
-
| 函数 | 说明 |
|
|
128
|
-
|---|---|
|
|
129
|
-
| `DateNow(format)` | 当前时间字符串 |
|
|
130
|
-
| `DateFormat(value,format)` | 格式化日期 |
|
|
131
|
-
| `DateAdd(value,unit,amount,format)` | 日期加减 |
|
|
132
|
-
| `console.log/error/warn/info` | 服务端日志,必须脱敏限长 |
|
|
133
|
-
|
|
134
|
-
平台能力优先使用 `V8.*`。不要依赖任意全局 `System` CLR 访问;平台还存在
|
|
135
|
-
`V8.System` 主机监控对象,两者不是一回事。
|
|
1
|
+
# 后端 V8 API 索引
|
|
2
|
+
|
|
3
|
+
本索引对应接口引擎和后端表单事件。专项 API 的完整模板仍以相应 Skill 为准。
|
|
4
|
+
|
|
5
|
+
## 请求与执行上下文
|
|
6
|
+
|
|
7
|
+
| API/变量 | 说明 |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `V8.Param`、`V8.Header` | URL、Form、JSON 参数与请求头 |
|
|
10
|
+
| `V8.CurrentUser` | 当前可信用户;匿名接口可能为空 |
|
|
11
|
+
| `V8.OsClient` | 当前租户 |
|
|
12
|
+
| `V8.SysConfig` | 系统配置;可能含敏感项,不直接返回 |
|
|
13
|
+
| `V8.OsClientModel`、`V8.ClientModel` | 租户配置兼容别名;严禁泄露连接串/密钥 |
|
|
14
|
+
| `V8.Form`、`V8.OldForm` | 后端表单事件的新旧数据 |
|
|
15
|
+
| `V8.FormSubmitAction` | `Add/Upt/Del` |
|
|
16
|
+
| `V8.EventName`、`V8.InvokeType` | 事件名与 Server/Client 调用来源 |
|
|
17
|
+
| `V8.TableModel`、`V8.TableData` | 当前表模型/行数据 |
|
|
18
|
+
| `V8.RowIndex`、`V8.CacheData`、`V8.NotSaveField` | DataFilter 等事件上下文 |
|
|
19
|
+
| `V8.LineValue`、`V8.NextNodeId`、`V8.WF` | 工作流路线与节点上下文 |
|
|
20
|
+
| `V8.FilesByteBase64` | 上传文件 Base64 字典 |
|
|
21
|
+
| `V8.Limits` | 当前 Jint 资源预算与调用深度 |
|
|
22
|
+
| `V8.Action` | 服务器全局 V8 自定义方法 |
|
|
23
|
+
|
|
24
|
+
## 调用、数据与异步
|
|
25
|
+
|
|
26
|
+
| API | 说明 |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `V8.ApiEngine.Run(...)` | 同步调用接口引擎 |
|
|
29
|
+
| `await V8.ApiEngine.RunAsync(...)` | 请求内异步调用接口引擎 |
|
|
30
|
+
| `V8.FormEngine.*` | 表单 CRUD,见 `v8-crud-api` |
|
|
31
|
+
| `await V8.FormEngine.GetTableDataAsync(...)` | 请求内异步查列表 |
|
|
32
|
+
| `V8.Db`、`V8.DbRead`、`V8.DbTrans` | 主库、只读库、共享事务 |
|
|
33
|
+
| `V8.DbTrans.FromSql(sql)` | 在平台提供的共享事务内执行参数化 SQL |
|
|
34
|
+
| `V8.Dbs`、`V8.Dbs.Open(...)` | 已配置的扩展数据库 |
|
|
35
|
+
| `V8.MongoDb.*` | MongoDB CRUD |
|
|
36
|
+
| `V8.DataSourceEngine` | 当前租户数据源引擎对象 |
|
|
37
|
+
| `V8.DataSourceEngine.Run(...)`、`V8.DataSourceEngine.RunAsync(...)` | 同步/请求内异步运行数据源 |
|
|
38
|
+
| `V8.ModuleEngine` | 后端模块模型能力;不能绕过用户模块权限 |
|
|
39
|
+
| `V8.ModuleEngine.GetTableData(...)` | 按 `ModuleEngineKey` 应用模块关联表配置查询 |
|
|
40
|
+
|
|
41
|
+
接口引擎返回后宿主上下文会释放。只在真实 `*Async` 方法上使用 `await`;
|
|
42
|
+
脱离请求的工作使用后台任务、Job、MQ 或 outbox。
|
|
43
|
+
|
|
44
|
+
## V8.Method
|
|
45
|
+
|
|
46
|
+
| API | 说明 |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `V8.Method.NewGuid()`、`V8.Method.NewUlid()` | 生成标识 |
|
|
49
|
+
| `V8.Method.GetTimestamp()` | Unix 秒时间戳 |
|
|
50
|
+
| `V8.Method.GetCurrentToken(token,osClient)` | 读取当前 Token 对象;不透传前端 |
|
|
51
|
+
| `V8.Method.RefreshLoginUser(userId,osClient)` | 刷新用户登录缓存 |
|
|
52
|
+
| `V8.Method.ClearUserLoginInfo(userId,osClient)` | 管理员吊销用户全部终端 Token |
|
|
53
|
+
| `V8.Method.GetDirectTableGrantPolicies()` | 读取平台表直连授权策略;仅供可信角色表单事件做最终校验 |
|
|
54
|
+
| `V8.Method.ConsumeIdentityVerificationTicket({Ticket,Purpose,ActionHash})` | 按当前 DiyToken 用户、租户、用途和操作摘要原子消费一次性 Passkey/TOTP/人脸票据 |
|
|
55
|
+
| `V8.Method.GetPrivateFileUrl({FilePathName})` | 签发当前租户短期私有文件代理地址 |
|
|
56
|
+
| `V8.Method.Upload(options)` | 受配额限制的上传 |
|
|
57
|
+
| `V8.Method.AddSysLog(options)` | 结构化系统日志 |
|
|
58
|
+
| `V8.Method.ParseWhere(where)` | 兼容旧 Where 转换 |
|
|
59
|
+
| `V8.Method.UpdateBackgroundTask(options)` | 上报已提交单位的后台任务进度 |
|
|
60
|
+
| `V8.Method.RefreshExtensionDatabases(osClient?)` | 配置表提交后刷新全节点 `V8.Dbs` |
|
|
61
|
+
|
|
62
|
+
管理员维护、备份、清库、缓存连接管理等低层方法即使可见,也不能暴露为普通
|
|
63
|
+
或匿名业务 API。
|
|
64
|
+
|
|
65
|
+
## Base64 与加密
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
var encoded = V8.Base64.StringToBase64('吾码');
|
|
69
|
+
var decoded = V8.Base64.Base64ToString(encoded);
|
|
70
|
+
|
|
71
|
+
var des = V8.EncryptHelper.DESEncode('legacy-value');
|
|
72
|
+
var plain = V8.EncryptHelper.DESDecode(des);
|
|
73
|
+
var sha1 = V8.EncryptHelper.SHA1('legacy-value');
|
|
74
|
+
var sha256 = V8.EncryptHelper.SHA256('text');
|
|
75
|
+
var sha512 = V8.EncryptHelper.SHA512('text');
|
|
76
|
+
var hex = V8.EncryptHelper.Sha256Hex('text');
|
|
77
|
+
var signature = V8.EncryptHelper.HmacSha256(secretFromConfig, payload);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`V8.EncryptHelper` 是后端加密/摘要帮助对象。完整入口:
|
|
81
|
+
`V8.EncryptHelper.MD5Encrypt`、`V8.EncryptHelper.SHA1`、
|
|
82
|
+
`V8.EncryptHelper.SHA256`、`V8.EncryptHelper.SHA512`、
|
|
83
|
+
`V8.EncryptHelper.Sha256Hex`、`V8.EncryptHelper.HmacSha256`、
|
|
84
|
+
`V8.EncryptHelper.AESEncrypt`、`V8.EncryptHelper.AESDecrypt`、
|
|
85
|
+
`V8.EncryptHelper.DESEncode`、`V8.EncryptHelper.DESDecode`。
|
|
86
|
+
|
|
87
|
+
DES 只用于明确要求取回原文的兼容业务秘密;保存和显示都在可信后端完成,列表掩码、独立授权、`no-store` 且审计不含明文。登录密码不使用摘要或可逆加密的新设计,完整分级见 `v8-security/SKILL.md`。
|
|
88
|
+
|
|
89
|
+
MD5/SHA1 仅为兼容摘要;任何摘要都不能直接作为新密码存储方案。AES/DES/HMAC
|
|
90
|
+
密钥从受控配置读取,不硬编码、不写日志、不返回客户端。
|
|
91
|
+
|
|
92
|
+
## 内置与自定义扩展
|
|
93
|
+
|
|
94
|
+
`V8.Alipay`、`V8.AlipayV3`、`V8.WeChat`、`V8.Alidns`、`V8.System`、
|
|
95
|
+
`V8.Image` 和 `V8.Tcp` 由当前 `Microi.V8Engine/V8Extend.cs` 注册。扩展可被裁剪或二次
|
|
96
|
+
开发,调用前以目标部署源码和编辑器定义为准。
|
|
97
|
+
|
|
98
|
+
- `V8.Alipay.CreatePay(...)` 创建支付宝支付参数;
|
|
99
|
+
`V8.Alipay.Test22(...)` 是历史诊断方法,不能作为生产业务接口。
|
|
100
|
+
- `V8.WeChat` 当前包含签名、授权头与 AES-GCM 解密等微信支付帮助方法。
|
|
101
|
+
- 自定义扩展通过 `V8ExtensionRegistry.Register(name,factory)` 注册为
|
|
102
|
+
`V8.<name>`;不要把某个客户的扩展名写成全平台标准能力。
|
|
103
|
+
|
|
104
|
+
支付/微信/DNS 扩展必须只读取当前租户受控凭据,调用前校验权限、金额、订单状态、
|
|
105
|
+
幂等键和回调签名;私钥、Secret 和原始签名材料不得进入日志或响应。
|
|
106
|
+
|
|
107
|
+
## 其它后端扩展
|
|
108
|
+
|
|
109
|
+
| 能力 | API |
|
|
110
|
+
|---|---|
|
|
111
|
+
| 缓存 | `V8.Cache.Set/Get/Remove/Exists/KeyExist/HashSet/HashGet/HashGetAll/HashDelete/HashIncrement` |
|
|
112
|
+
| HTTP | `V8.Http.Get/Post/Patch`、`GetResponse/PostResponse/PatchResponse` 及真实 `*Async` 版本 |
|
|
113
|
+
| TCP | `V8.Tcp.Send/SendAsync/SendAndReceive/SendAndReceiveAsync`;原始字节与出站安全见 `v8-tcp-integration` |
|
|
114
|
+
| 图片 | `V8.Image.Create/Merge/Overlay/Watermark/Resize/Crop/Rotate/Flip/Draw/Convert/GetInfo/CreateQRCode` |
|
|
115
|
+
| Office | `V8.Office.ExportExcel/ExcelToList/ExportWord/ExportPowerPoint/SendEmail` |
|
|
116
|
+
| OCR | `await V8.OCR.Recognize({...})`;服务端租户配置与调用参数隔离,详见 `ocr-engine` |
|
|
117
|
+
| 文件 | `V8.HDFS`、`V8.Method.Upload/GetPrivateFileUrl` |
|
|
118
|
+
| MQ | `V8.MQ.SendMsg` |
|
|
119
|
+
| 短信 | `V8.Sms.Send` |
|
|
120
|
+
| 翻译 | `V8.TranslateEngine.Translate` 与语言缓存方法 |
|
|
121
|
+
| 爬虫 | `V8.Spider` |
|
|
122
|
+
| 主机监控 | `V8.System`,仅管理员/运维 |
|
|
123
|
+
| 工作流 | `V8.WFEngine`、事件中的 `V8.WF` |
|
|
124
|
+
|
|
125
|
+
## 全局函数与 CLR 边界
|
|
126
|
+
|
|
127
|
+
| 函数 | 说明 |
|
|
128
|
+
|---|---|
|
|
129
|
+
| `DateNow(format)` | 当前时间字符串 |
|
|
130
|
+
| `DateFormat(value,format)` | 格式化日期 |
|
|
131
|
+
| `DateAdd(value,unit,amount,format)` | 日期加减 |
|
|
132
|
+
| `console.log/error/warn/info` | 服务端日志,必须脱敏限长 |
|
|
133
|
+
|
|
134
|
+
平台能力优先使用 `V8.*`。不要依赖任意全局 `System` CLR 访问;平台还存在
|
|
135
|
+
`V8.System` 主机监控对象,两者不是一回事。
|