文档管理系统
版本: 1.2 | 发布日期: 30/6/2023
# 搜索DMS文件
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://127.0.0.1:8080/jsf/rfws/dms/searchFile?query=hk&target=attr;tag;content&limit=10&offset=0&sortField=title&sortOrder=desc")
.get()
.addHeader("authorization", "Bearer OGFiZmU2ZTktMzYzMS00NjIwLWJhNGYtYWU2OGQyNTZhMmNi")
.addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
# HTTP 请求
GET http://127.0.0.1:8080/jsf/rfws/dms/searchFile?query=[Query String]&target=[search target]&limit=[limit size]&offset=[]&sortField=[The ordering field]&sortOrder=[sort order]
# 参数
名字 | 说明 | 默认 | 例子 |
---|---|---|---|
query | 查询字符串(即要搜索的字符串) | N/A (不为空) | Hk |
target | 你要搜索的部分,以冒号; 分隔。可用选项:
| N/A (不为空) | “attr;tag” |
limit | 要检索的记录数 | 1000 | 10 |
offset | 偏移量(注意,如果未定义限值,偏移量将无效)。 | 0 | 20 |
sortField | 排序字段。可用选项:title, lastModifyDate, createDate | lastModifyDate | title |
sortOrder | 排序顺序(注意,如果未定义 sortField,排序顺序将无效)。可用选项:asc, desc | desc | asc |
authorization | 必填. 通过 OAuth2 获取的访问令牌 string (Header) | ||
client_id | 必填. 在[授权应用列表]中注册时,由 aiM18 生成 string (Header) |
# 结果
如果 API 运行成功,响应状态码将是 200。 如果 API 运行失败,响应状态码将是 400,然后将返回 CheckMsg。你可以在响应头中,从关键字为 “error_info ”中获取一个 CheckMsg JSON 数组。
类型 | 位置 | 说明 |
---|---|---|
success | Body | JSON 数组 |
fail | Header(error_info) | CheckMsg |
成功示例:
[
{"lastModifyUser" : "admin",
"extension" : "png",
"needPassword" : "true",
"lastModifyUid" : "5",
"fileSize" : 125312.0,
"createUser" : "admin",
"id" : "35",
"title" : "untitled23452889",
"lastModifyDate" : "2016-12-02 17:57:26",
"tags":""},
{"lastModifyUser" : "test123",
"extension" : "doc",
"needPassword" : "true",
"lastModifyUid" : "1",
"fileSize" : 1755136.0,
"createUser" : "admin",
"id" : "33",
"title" : "task121179_hkas_interfacex",
"lastModifyDate" : "2017-03-10 17:57:26",
"tags":""},
}
]
输出参数:
参数名字 | 含义 |
---|---|
id | 文件ID |
title | 文件标题 |
extension | 文件扩展名 |
fileSize | 文件大小 |
tags | 文件标签 |
createUser | 创建文件的用户名 |
createUid | 创建文件的用户ID |
createDate | 文件的创建日期 |
lastModifyUser | 最后修改文件的用户名 |
lastModifyUid | 最后修改文件的用户ID |
lastModifyDate | 最后一次修改文件的日期 |
needPassword | 文件是否用密码加密 |
# 下载 DMS 文件
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://127.0.0.1:8080/jsf/rfws/dms/getFile?id=10")
.get()
.addHeader("authorization", "Bearer OGFiZmU2ZTktMzYzMS00NjIwLWJhNGYtYWU2OGQyNTZhMmNi")
.addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
# HTTP 请求
GET http://127.0.0.1:8080/jsf/rfws/dms/getFile?id=[Attachment ID]
# 参数
名字 | 类型 | 说明 |
---|---|---|
authorization | string (Header) | 必填. 通过 OAuth2 获取的访问令牌 |
client_id | string (Header) | 必填. 在[授权应用列表]中注册时,由 aiM18 生成 |
id | long (Query) | 必填. 附件ID |
password | string (Query) | 当文件使用密码加密时需要,附件密码 |
# 结果
如果 API 运行成功,响应状态码将是 200。 如果 API 运行失败,响应状态码将是 400,然后将返回 CheckMsg。你可以在响应头中,从关键字为 “error_info ”中获取一个 CheckMsg JSON 数组。
类型 | 位置 | 说明 |
---|---|---|
success | Body | 一个文件 |
fail | Header(error_info) | 一个CheckMsg |
# 传输文件密码的方法
请注意,附件模块支持对文件进行密码加密。如果用户想通过密码对文件进行加密或解密,为了安全起见,用户需要先对密码进行加密。我们的系统使用 AES 模式对网络服务传输的密码进行加密。
以下是代码示例:
private static Key aesKey = new SecretKeySpec("Mac02017Dms02017".getBytes(), "AES");
public static String encryptDmsTransferPassword(String password) {
try {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
// encrypt the text
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] encrypted = cipher.doFinal(password.getBytes());
return DatatypeConverter.printHexBinary(encrypted);
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
Last Updated: 2024/09/13, 09:57:11