V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  0xD800  ›  全部回复第 1 页 / 共 3 页
回复总数  58
1  2  3  
1 小时 12 分钟前
回复了 whnoob 创建的主题 Java SpringBoot 整合 Camunda, 自定义表单问题
@whnoob 这个我不太清楚他们的集成机制了,也许是用 FormService ,然后内部约定一些变量规则。具体得看文档或者源码啦
5 小时 1 分钟前
回复了 whnoob 创建的主题 Java SpringBoot 整合 Camunda, 自定义表单问题
你的 taskForm 是用 camunda 的 form 吗? bpmn.io 的那个 form 定义?
18 小时 1 分钟前
回复了 whnoob 创建的主题 Java SpringBoot 整合 Camunda, 自定义表单问题
从后端视角来看,需要表单的有两个接口:
发起流程:startProcessInstanceXX
审核流程:taskService.complete

参数都是 Map<String, Object>,也就是表单形式无所谓,你只需要前端把这个 Map<String, Object>传给你,你再传给流程引擎(Camunda)即可。

举例子:
具体业务要求可能会有表单字段的权限控制,不同节点展现的表单不一样。

此时可以基于 bpmnjs 扩展设计器,在 userTask 上绑定表单标识,然后前端通过表单标识来决定渲染哪个表单即可。

实际运作流程:

1. 流程管理员配置好流程图和启动表单及各个用户任务的表单后
2. 普通业务员发起流程
2.1 通过流程标识去获取启动表单,
2.2 输入表单内容,并提交发起流程接口(runtimeService.startProcessInstanceByXX)
3. 审批人查询待办获取到任务后,通过 taskId 和 processInstanceId 拿到该 userTask 绑定的表单
4. 审批人输入表单内容后提交审批( taskService.complete 接口)
18 小时 9 分钟前
回复了 huage 创建的主题 NVIDIA 获得了一张 RTX4060TI 16GB,怎么样发挥它的价值?
帮我测试下 转码速度是多少,我的 1050Ti,转码一个文件的速度是 4.9
18 小时 9 分钟前
回复了 huage 创建的主题 NVIDIA 获得了一张 RTX4060TI 16GB,怎么样发挥它的价值?
卖我就行
2 天前
回复了 0xD800 创建的主题 编程 请教各位 V 友,我应该配什么电脑好?
#1 挺不错的 刚刚搜了一千块钱,买个 8G 内存,256 硬盘 应该够用了
7 天前
回复了 mdcaqr 创建的主题 iPhone iPhone12pm 76%电池需要更换吗
我的 XSMax 五年了 76 健康度,懒得换。
12 天前
回复了 gongxuanzhang 创建的主题 程序员 在一个群里被恶心坏了
。。。这种没质量的群 赶紧退吧
支持 silk 吗 把 silk 转 pcm 的
我用 deepin ,之前的机械装了 windows ,后面加了固态就在固态装了 deepin ,丝滑
21 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
解决方案如下:

// 指定一个自定义的 Provider
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1", new PBEProvider());

// PBEProvider
public class PBEProvider extends Provider {
public PBEProvider() {
super("PBEProvider", 1.0, "MyProvider v1.0: Custom SecretKeyFactorySpi Implementation");
put("SecretKeyFactory.PBKDF2WithHmacSHA1", PBESecretKeyFactorySpi.class.getName());
}
}

// PBESecretKeyFactorySpi
public class PBESecretKeyFactorySpi extends SecretKeyFactorySpi {

String prfAlgo = "HmacSHA1";

@Override
protected SecretKey engineGenerateSecret(KeySpec spec) throws InvalidKeySpecException {
if (spec instanceof PBEKeySpec pksp) {
return new PBKDF2KeyImpl(pksp, this.prfAlgo);
} else {
throw new InvalidKeySpecException("Unsupported KeySpec");
}
}
// ...省略其他方法
}


// 自己实现一个 PBKDF2KeyImpl
// 重写 getPasswdBytes 方法
// 将每个 byte 直接转成 char 传入,然后再强转还原 byte[]即可
private static byte[] getPasswordBytes(char[] passwd) {
byte[] result = new byte[passwd.length];

for (int i = 0; i < passwd.length; i++) {
result[i] = (byte) passwd[i];
}

return result;
}


其中遇到一个问题,JDK 的 PBKDF2KeyImpl 里面有 CleanFactory ,搜了下好像是清理用的,我没处理这个直接注释了。
21 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@DefoliationM #43 很遗憾 不行的。。。
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@Rache1 说到这个我其实还是会点,至少对填充方式,一些数论基础,RSA 加解密原理,ECC 加解密原理都是熟悉的。
不过 IV 之类的了解还挺少,用的不多,我觉得也不难吧。

填充算法也简单。
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@yusheng88 #37
回复:
1. 上面有朋友发了 CPython 的实现,password 是允许字节流的
2. PBKDF 定义没看,但是可以参考#21 的回复,规范定义是字节流,只是建议用 ASCII 或 UTF8 序列
3. JDK 的类库我是研究了才发现这个奇葩的设计的呢

所以您有什么更好的解决方案吗?请指教。
另外我英文水平不是很好,无法直接阅读上面那些规范,自然不愿意去细读,那个网页的排版也差。
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@0o0O0o0O0o 哈哈 我并不是死磕,而是翻译代码的时候发现这个设计很奇葩,居然只允许用 char[],我用过其他的加密库都是允许传 byte[],这个操作我确实无法理解。😁
我开源过一个能满足基本 OA 的,就是代码写得很一般,你可以参考下:
演示地址: https://admin.l1yp.com/
前端: https://github.com/L1yp/van
后端: https://github.com/L1yp/van-app
,写得真的挺一般的,参考一二即可,也非常欢迎找我交流,知无不言~
支持,虽然我可能看不懂,但是表示支持😁
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@pkoukk #34 哈哈 挺无语的
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@geelaw 是的,输入法的问题,我想打的是嗝屁了
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@zzl22100048 是的👍
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4933 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 06:56 · PVG 14:56 · LAX 23:56 · JFK 02:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.