// UserComponent.h
class UserComponent {
private:
string usernameField;
string passwordField;
string emailField;
string roleField;
Button registerButton;
public:
UserComponent();
void onRegisterClick();
};
// UserComponent.cpp
UserComponent::UserComponent() {
// 初始化组件
registerButton.setOnClickListener(this, &UserComponent::onRegisterClick);
}
void UserComponent::onRegisterClick() {
string username = usernameField.getText();
string password = passwordField.getText();
string email = emailField.getText();
string role = roleField.getText();
if (username.empty() || password.empty()) {
showError("用户名或密码不能为空");
} else {
sendRegisterRequest(username, password, email, role);
}
}
void sendRegisterRequest(string username, string password, string email, string role) {
// 发送注册请求到服务器
// 处理服务器响应
}
// LoginComponent.h
class LoginComponent {
private:
string usernameField;
string passwordField;
Button loginButton;
public:
LoginComponent();
void onLoginClick();
};
// LoginComponent.cpp
LoginComponent::LoginComponent() {
// 初始化组件
loginButton.setOnClickListener(this, &LoginComponent::onLoginClick);
}
void LoginComponent::onLoginClick() {
string username = usernameField.getText();
string password = passwordField.getText();
if (username.empty() || password.empty()) {
showError("用户名或密码不能为空");
} else {
sendLoginRequest(username, password);
}
}
void sendLoginRequest(string username, string password) {
// 发送登录请求到服务器
// 处理服务器响应
}
// ProblemComponent.h
class ProblemComponent {
private:
string titleField;
string descriptionField;
string categoryField;
string inputField;
string outputField;
Button createButton;
public:
ProblemComponent();
void onCreateClick();
};
// ProblemComponent.cpp
ProblemComponent::ProblemComponent() {
// 初始化组件
createButton.setOnClickListener(this, &ProblemComponent::onCreateClick);
}
void ProblemComponent::onCreateClick() {
string title = titleField.getText();
if (title.empty()) {
showError("题目标题不能为空");
} else {
sendCreateProblemRequest(title, descriptionField.getText(), categoryField.getText(), inputField.getText(), outputField.getText());
}
}
void sendCreateProblemRequest(string title, string description, string category, string input, string output) {
// 发送创建题目的请求到服务器
// 处理服务器响应
}
// ProblemBrowser.h
class ProblemBrowser {
private:
string filterCriteria;
string sortCriteria;
List problemList;
public:
ProblemBrowser();
void fetchProblems();
};
// ProblemBrowser.cpp
ProblemBrowser::ProblemBrowser() {
// 初始化组件
fetchProblems();
}
void ProblemBrowser::fetchProblems() {
// 根据筛选条件和排序条件查询题目列表
sendFetchProblemsRequest(filterCriteria, sortCriteria);
}
void sendFetchProblemsRequest(string filter, string sort) {
// 发送获取题目列表的请求到服务器
// 处理服务器响应
}
// CodeSubmitComponent.h
class CodeSubmitComponent {
private:
string problemIDField;
string codeField;
string languageField;
Button submitButton;
public:
CodeSubmitComponent();
void onSubmitClick();
};
// CodeSubmitComponent.cpp
CodeSubmitComponent::CodeSubmitComponent() {
// 初始化组件
submitButton.setOnClickListener(this, &CodeSubmitComponent::onSubmitClick);
}
void CodeSubmitComponent::onSubmitClick() {
string problemID = problemIDField.getText();
string code = codeField.getText();
string language = languageField.getText();
sendCodeSubmitRequest(problemID, code, language);
}
void sendCodeSubmitRequest(string problemID, string code, string language) {
// 发送代码提交请求到服务器
// 处理服务器响应并返回编译结果
}
// HistoryRecordComponent.h
class HistoryRecordComponent {
private:
string userIDField;
List recordList;
Button fetchButton;
public:
HistoryRecordComponent();
void onFetchClick();
};
// HistoryRecordComponent.cpp
HistoryRecordComponent::HistoryRecordComponent() {
// 初始化组件
fetchButton.setOnClickListener(this, &HistoryRecordComponent::onFetchClick);
}
void HistoryRecordComponent::onFetchClick() {
string userID = userIDField.getText();
sendFetchHistoryRequest(userID);
}
void sendFetchHistoryRequest(string userID) {
// 根据用户ID查询历史记录
// 处理服务器响应并返回历史提交记录
}