package org.example.websocket.chat;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import org.java_websocket.WebSocket;
import org.java_websocket.framing.Framedata;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
/**
* WebSocket 服务端实现
* 作者:Example Developer
* 网站:example.com
*/
public class ChatServer extends WebSocketServer {
public ChatServer(int port) throws UnknownHostException {
super(new InetSocketAddress(port));
}
public ChatServer(InetSocketAddress address) {
super(address);
}
/**
* 当客户端发送消息给服务器时调用此方法
*/
@Override
public void onMessage(WebSocket conn, String message) {
if (message != null && message.startsWith("[video313596790]")) {
this.userJoin(message.replaceFirst("\[video313596790\]", ""), conn);
} else {
ChatServerPool.sendMessage(message); // 向所有在线用户广播消息
}
}
/**
* 处理用户加入
* @param user 用户标识
* @param conn 连接对象
*/
public void userJoin(String user, WebSocket conn) {
ChatServerPool.addUser(user, conn); // 将新用户添加到连接池
}
/**
* 处理用户离开
* @param conn 连接对象
*/
public void userLeave(WebSocket conn) {
ChatServerPool.removeUser(conn); // 从连接池中移除用户
}
/**
* 当新的客户端连接到服务器时调用
*/
@Override
public void onOpen(WebSocket conn, ClientHandshake handshake) {}
/**
* 当客户端断开连接时调用
*/
@Override
public void onClose(WebSocket conn, int code, String reason, boolean remote) {
userLeave(conn);
}
/**
* 当发生错误时调用
*/
@Override
public void onError(WebSocket conn, Exception ex) {
if (conn != null) {} // 可以在这里处理错误
}
/**
* 当服务器启动时调用
*/
@Override
public void onStart() {}
}
--------------------------------------------------
33. 自定义表单功能
34. 创建模版:通过拖拽表单元素至工作区并编辑,最后保存为表单模板
35. 表单模板管理:对已创建的表单模板进行编辑、复制、类型更改及预览操作
36. 我的表单:选择模板后,设置表单规则如图片上传、附件上传、富文本编辑器启用状态及流程挂靠选项
37. 表单数据管理:进入个人表单页面,可对表单数据进行增加、删除、修改和查询操作,并调整表单规则
38. 流程挂靠记录:展示表单数据与流程实例ID之间的关联记录,支持删除操作