当前位置: 首页 > news >正文

婚恋网站开发平台代理招商网站建设哪家不错

婚恋网站开发平台代理招商,网站建设哪家不错,网站建设江苏百拓,建设网站个人银行目录 一. 概要 二. 技术栈 三. 系统功能设计 3.1 功能模块 3.2 数据表设计 四. 具体实现 4.1 Qt 服务端 4.1.1 初始化 WebSocket 服务器 4.1.2 用户管理界面 4.2 微信小程序端 4.2.1 注册功能 4.2.2 登录功能 五. 运行效果 六. 源码下载 一. 概要 在物联网和智能设备…

目录

一. 概要

二. 技术栈

三. 系统功能设计

3.1 功能模块

 3.2 数据表设计

四. 具体实现

4.1 Qt 服务端

4.1.1 初始化 WebSocket 服务器

 4.1.2 用户管理界面

 4.2 微信小程序端

4.2.1 注册功能

 4.2.2 登录功能

五. 运行效果

六. 源码下载


一. 概要

在物联网和智能设备管理领域,用户管理系统是一个核心模块。本文将介绍如何通过 Qt 和 微信小程序实现一个用户管理系统,其中Qt服务端运行在嵌入式Linux设备IMX6ULL上,支持用户和运维人员的注册与登录功能,并将数据存储到开发板设备的SQLite 数据库中。通过 WebSocket 实现实时通信,确保数据的高效传输。支持微信小程序端和Qt服务端同时对用户的个人信息数据进行增删改查操作。在微信小程序注册时,将数据通过WebSocket写入到开发板的SQLite数据库中,在进行登陆时,通过WebSocket校验输入的用户名和密码与开发板SQLite数据库中的数据进行对比,当数据存在且正确是可登陆进系统。如下为IMX6ULL服务端:

                                                                IMX6ULL服务端

二. 技术栈

  • Qt服务端:用于开发桌面端管理界面,提供用户和运维人员数据的展示和管理功能。
  • 微信小程序:作为移动端入口,提供用户注册和登录界面,登录成功后跳转到对应的界面。
  • WebSocket:实现微信小程序与 Qt 服务端的实时通信,用于存储和校验开发板服务端数据库中的数据。
  • SQLite:轻量级数据库,用于存储用户信息。

三. 系统功能设计

3.1 功能模块

1. 用户注册:

  • 用户通过微信小程序填写用户名、密码和角色(用户或运维人员)。
  • 数据通过 WebSocket 发送到开发板Qt服务端,并存储到 SQLite 数据库。

2. 用户登录:

  • 用户通过微信小程序输入用户名和密码。
  • Qt服务端验证用户信息,返回登录结果。

3. 用户管理:

  • Qt服务端提供管理人员对用户和运维人员的个人信息进行增删改查等的操作。

 3.2 数据表设计

在 SQLite 中创建 users 表,存储用户信息,其中包括用户的id,用户名,用户密码,用户角色(用于标识用户和运维人员):

CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT,username TEXT NOT NULL UNIQUE,password TEXT NOT NULL,role TEXT NOT NULL
);

四. 具体实现

4.1 Qt 服务端

4.1.1 初始化 WebSocket 服务器

在Qt程序中创建一个WebSocket服务器,监听来自微信小程序的连接请求。以下为建立服务端的主要代码:

// WebSocketServer.h
class WebSocketServer : public QObject {Q_OBJECT
public:explicit WebSocketServer(quint16 port, QObject *parent = nullptr);~WebSocketServer();private slots:void onNewConnection();void onMessageReceived(const QString &message);private:QWebSocketServer *m_server;QList<QWebSocket *> m_clients;
};// WebSocketServer.cpp
WebSocketServer::WebSocketServer(quint16 port, QObject *parent): QObject(parent), m_server(new QWebSocketServer("UserManager", QWebSocketServer::NonSecureMode, this)) {if (m_server->listen(QHostAddress::Any, port)) {connect(m_server, &QWebSocketServer::newConnection, this, &WebSocketServer::onNewConnection);qDebug() << "WebSocket server started on port" << port;} else {qWarning() << "Failed to start WebSocket server";}
}void WebSocketServer::onNewConnection() {QWebSocket *client = m_server->nextPendingConnection();connect(client, &QWebSocket::textMessageReceived, this, &WebSocketServer::onMessageReceived);m_clients.append(client);qDebug() << "New client connected";
}void WebSocketServer::onMessageReceived(const QString &message) {QWebSocket *client = qobject_cast<QWebSocket *>(sender());if (client) {qDebug() << "Received message:" << message;// 处理消息并返回响应client->sendTextMessage("Message received");}
}
 4.1.2 用户管理界面

在用户和运维人员个人信息管理界面中,使用 QTableView 和 QSqlTableModel 实现用户信息的展示和管理。如下为对用户运维人员个人信息管理的主要逻辑代码段:

// MainWindow.cpp
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);// 初始化 WebSocket 服务器m_webSocketServer = new WebSocketServer(8080, this);// 初始化 SQLite 数据库QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "mainwindow_connection");db.setDatabaseName("user.db");if (!db.open()) {qWarning() << "无法打开数据库";return;}// 初始化表格模型m_model = new QSqlTableModel(this, db);m_model->setTable("users");m_model->select();ui->tableView->setModel(m_model);// 调整列宽和布局ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);// 连接按钮信号槽connect(ui->addButton, &QPushButton::clicked, this, &MainWindow::onAddUser);connect(ui->deleteButton, &QPushButton::clicked, this, &MainWindow::onDeleteUser);connect(ui->updateButton, &QPushButton::clicked, this, &MainWindow::onUpdateUser);connect(ui->refreshButton, &QPushButton::clicked, this, &MainWindow::onRefreshButtonClicked);
}

 4.2 微信小程序端

4.2.1 注册功能

通过 WebSocket 发送注册请求到 Qt 服务端。如下为register,注册逻辑主要实现代码段:

// register.js
Page({data: {username: '',password: '',role: '用户'},onRegister: function () {const { username, password, role } = this.data;const message = JSON.stringify({type: 'register',username,password,role});wx.connectSocket({url: 'ws://192.168.10.100:8080'});wx.onSocketOpen(() => {wx.sendSocketMessage({data: message});});wx.onSocketMessage((res) => {const response = JSON.parse(res.data);if (response.success) {wx.showToast({title: '注册成功',icon: 'success'});} else {wx.showToast({title: response.message,icon: 'none'});}});}
});
 4.2.2 登录功能

通过 WebSocket 发送登录请求到 Qt 服务端。如下为登录login.js的主要逻辑代码段。

// login.js
Page({data: {username: '',password: ''},onLogin: function () {const { username, password } = this.data;const message = JSON.stringify({type: 'login',username,password});wx.connectSocket({url: 'ws://192.168.10.100:8080'});wx.onSocketOpen(() => {wx.sendSocketMessage({data: message});});wx.onSocketMessage((res) => {const response = JSON.parse(res.data);if (response.success) {wx.showToast({title: '登录成功',icon: 'success'});} else {wx.showToast({title: response.message,icon: 'none'});}});}
});

五. 运行效果

首先完成对Linux端编写的Qt服务端代码经过交叉编译后通过scp命令挂载到ip为192.168.10.50的IMX6ULL嵌入式设备上,如下:

确保挂成功:

随后在微信小程序端进行用户的注册:

 同时在注册成功时通过WebSocket将个人数据写入到服务端的数据库中:

 注册成功后跳转到登陆界面,在登陆成功后跳转到用户界面:

对于运维人员的注册于登录亦是如此。 

六. 源码下载

Qt端源码Qt_Server,微信小程序端源码QtApp_demo2,源码已上传至我的gitee代码仓库,有需要请自取:

https://gitee.com/liu-jixwa/mytest

http://www.yayakq.cn/news/663358/

相关文章:

  • 想要去网站做友情链接怎么发邮件百度电脑版入口
  • 有什么网站做交流会专门做加盟的网站
  • 做境外旅游的网站北京最新新闻报道
  • 淘宝网站的建设wordpress页面上分页
  • 怎么做英文的网站苏州工业园区属于哪个区
  • 网站备案 备注关联性北京管理咨询公司
  • 自己做网站排名好吗网站域名在哪里看
  • 经典网站建设方案东莞网站seo技术
  • 网站开发的后台技术免费主机免费域名
  • 宁波网络营销平台网站建设和优化的步骤
  • 用dw制作网站建设网站建设的大公司排名
  • 网站推广和seo网络营销推广方法包括有哪些
  • 国内购物网站排名wordpress 视频播放插件
  • 多元 集团 网站建设方案永久个人自助建站
  • 深圳网站制作哪里好wordpress上站工具
  • 平面设计网站排行榜网站套用
  • 邢台企业做网站哪儿好温州网站排名优化公司哪家好
  • 网站正在建设中 模板网站快照工具
  • 创办网站要多少钱鄞州区优秀营销型网站建设首选
  • 购物网站制作流程在网站后台做网页
  • 中国建设银行网站首页下载东莞网站开发多少钱
  • 学院网站建设新闻简报电子商务网站名称
  • 网站的设计与开发的图片网站后台更新内容后
  • 贤邦网站建设app开发天津网站建设是什么
  • 专业提供网站建设服务的企业睢县房产网站建设
  • 自己做返利网站开发公司绩效考核
  • 白酒网站源码应用商店手机版下载
  • 江门网站制作网站百度站长app
  • 手机网站开发服务商新闻热点事件2024最新
  • 免费企业一键建站网站编程怎样自学