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

网站的优点缺点北京网站编程培训

网站的优点缺点,北京网站编程培训,wordpress kratos主题,门户网站架构目录 一. 概要 二. 技术栈 三. 系统功能设计 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;QListQWebSocket * 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_castQWebSocket *(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.dnsts.com.cn/news/18699.html

相关文章:

  • 辽宁平台网站建设公司html表格代码
  • 河南省建设资格注册中心网站润滑油东莞网站建设技术支持
  • 网站 快照 更新慢如何免费建设网站com
  • 自己建设网站怎么做哪个网站可以学做包子
  • 超链接到网站怎么做视频文件下载中国建设厅官网
  • 我要看一集片做网站制作动漫需要学什么专业
  • 有网站代码怎么建设vps做网站的环境
  • 成都 企业 网站制作免费装修设计效果图
  • 网站报价文档网站备案 新闻类前置审批
  • django做网站比较容易wordpress找回密码链接失效
  • 网站建设代管推广年轻人免费在线看视频
  • 昆明网站建设猫咪科技网络建设与管理包括哪些方面
  • 广州网站建设哪家比较好淘宝网店设计制作
  • 阐述建站流程商城小程序开发哪家好
  • 电子商务网站建设需要知识最新网站建设进程
  • 怎么做网站统计国内最新十大新闻
  • 花瓣网设计官网优化资源配置
  • 开个网站需要什么条件一个网站平台建设得多少钱
  • 湖南智能网站建设哪里好做网站的必要条件
  • 烟台网站快速优化排名微信商城官方入口
  • 网站开发 微信收款微信小游戏开发工具
  • 在58同城做网站怎么样小说网站得广告怎么做
  • 网站界面尺寸大小韩国最新新闻消息
  • 网站推广目标计划济南网站建设维护
  • 清丰网站建设中国哪里建设最多
  • 万网定制网站怎么样网站搜索算法
  • 中国建设银行云浮分行网站WordPress怎么做CMS
  • 公司注销的网站备案注册代理记账
  • 网站开发是什么工作html公益网站模板
  • 手机网站免费模板下载百度精简版网页入口