V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  0xD800  ›  全部回复第 1 页 / 共 3 页
回复总数  57
1  2  3  
1 小时 34 分钟前
回复了 whnoob 创建的主题 Java SpringBoot 整合 Camunda, 自定义表单问题
你的 taskForm 是用 camunda 的 form 吗? bpmn.io 的那个 form 定义?
14 小时 34 分钟前
回复了 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 接口)
14 小时 41 分钟前
回复了 huage 创建的主题 NVIDIA 获得了一张 RTX4060TI 16GB,怎么样发挥它的价值?
帮我测试下 转码速度是多少,我的 1050Ti,转码一个文件的速度是 4.9
14 小时 42 分钟前
回复了 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 是的👍
22 天前
回复了 0xD800 创建的主题 Java 分享一个 Java 中非常糟糕的 API 设计
@miaotaizi 上面的翻译代码其实是 AI 给我的,我 debug 看了,改动不大我都准备自己改下了
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5017 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 03:29 · PVG 11:29 · LAX 20:29 · JFK 23:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.