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

uniapp 小程序AP配网

一、TCPSocket.js 封装TCP协议

class socket {constructor() {this.connection = {};}// 创建一个TCP实例establish(monitor) {this.connection = wx.createTCPSocket();this.connection.connect({ address: "000.000.0.0", port: 6800 });}// 发送消息connect(message) {this.connection.onConnect(() => {this.connection.write(message);});}// 监听端口函数onMessage(success, failure) {this.connection.onMessage((res) => {success(res)});this.connection.onError((err) => {failure(err);});}// 关闭搜索事件TCPclose() {setTimeout(() => {// 3S后,关闭socketthis.connection.close(() => {console.log("TCP关闭");});}, 3000);}
}
const TCPSocket = new socket();
export default TCPSocket;

 二、vue文件中使用TCP

<template><view class="zai-box"><view class="container"><text class="textName">{{ wifiSSID }}</text><input type="text" placeholder="请输入WLAN密码" v-model="password" /></view><buttonclass="loginButton":loading="loadingWIfi":disabled="JSON.stringify(password.length) < 8 || loadingWIfi"@click="settiing">{{ loadingWIfi ? "连接中" : "连接" }}</button></view>
</template><script>
import TCP from "@/common/util/TCPSocket.js";
export default {data() {return {wifiSSID: "WIFI name",password: "",isFirst: true,wifiCountInterval: null,wifiCountDown: 0,loadingWIfi: false,};},onHide() {this.clearInterval();},methods: {settiing() {this.loadingWIfi = true;this.onConfirm();},onConfirm() {this.wifiCountDown = 60;this.startSMSTimer();if (this.isFirst) {// TCP实例创建// 连接端口TCP.establish();this.isFirst = false;}// 请求设备上报状态this.udpsend();// 开始监听TCP.onMessage((res) => {if (!res) return;// 关闭TCP连接TCP.TCPclose();console.log(res) // 查看返回数据},(err) => {// debugconsole.log(err, "err");});},udpsend() {const msgData = {event: "network",data: {ssid: this.wifiSSID,password: this.password,},};TCP.connect(JSON.stringify(msgData));},startSMSTimer() {this.wifiCountInterval = setInterval(() => {this.wifiCountDown--;if (this.wifiCountDown <= 0) {clearInterval(this.wifiCountInterval);this.wifiCountInterval = null;// 响应超过60秒后的操作// ........}}, 1000);},clearInterval() {if (this.wifiCountInterval) {clearInterval(this.wifiCountInterval);this.wifiCountInterval = null;}},},
};
</script><style scoped>
.zai-box {padding: 0;margin: 0;
}.container {padding: 30rpx;margin: 0 0 20rpx;font-size: 28rpx;color: #20212b;background-color: #fff;text-align: left;font-weight: 400;
}.loginButton {font-size: 36rpx;width: 690rpx;color: #fff;background-color: #00a0e9;border-radius: 44rpx;margin: 60rpx auto 0;border: none;
}.loginButton[disabled] {color: #fff;background-color: #dfdfdf;
}button::after {border: none;
}.textName {display: block;font-size: 28rpx;font-weight: 500;color: #20212b;margin-bottom: 30rpx;
}
</style>

相关文章:

uniapp 小程序AP配网

一、TCPSocket.js 封装TCP协议 class socket {constructor() {this.connection {};}// 创建一个TCP实例establish(monitor) {this.connection wx.createTCPSocket();this.connection.connect({ address: "000.000.0.0", port: 6800 });}// 发送消息connect(messag…...

Stable Diffusion ———LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo等版本之间关系现原理详解

一、简介 2021年5月&#xff0c;OpenAI发表了《扩散模型超越GANs》的文章&#xff0c;标志着扩散模型&#xff08;Diffusion Models&#xff0c;DM&#xff09;在图像生成领域开始超越传统的GAN模型&#xff0c;进一步推动了DM的应用。 然而&#xff0c;早期的DM直接作用于像…...

GESP5级T1真题 [202309] 因数分解——O(sqrt(n))的时间复杂度,值得一看

描述 每个正整数都可以分解成素数的乘积&#xff0c;例如&#xff1a;62*3、2022 *5 现在&#xff0c;给定一个正整数N&#xff0c;请按要求输出它的因数分解式。 输入描述 输入第一行&#xff0c;包含一个正整数N。约定2<N<10^12 输出描述 输出一行&#xff0c;为N…...

Stable Diffusion 3报告

报告链接&#xff1a;https://stability.ai/news/stable-diffusion-3-research-paper 文章目录 要点表现架构细节通过重新加权改善整流流量Scaling Rectified Flow Transformer Models灵活的文本编码器RF相关论文 要点 发布研究论文&#xff0c;深入探讨Stable Diffuison 3的…...

一个足球粉丝该怎么建个个人博客?

做一个个人博客第一步该怎么做&#xff1f; 好多零基础的同学们不知道怎么迈出第一步。 那么&#xff0c;就找一个现成的模板学一学呗&#xff0c;毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题&#xff0c;那就是&#xff0c;那些模板都&#xff0c;太&#xff01;…...

缩放算法优化步骤详解

添加链接描述 背景 假设数据存放在在unsigned char* m_pData 里面&#xff0c;宽和高分别是&#xff1a;m_nDataWidth m_nDataHeight 给定缩放比例&#xff1a;fXZoom fYZoom&#xff0c;返回缩放后的unsigned char* dataZoom 这里采用最简单的缩放算法即&#xff1a; 根据比…...

[axios]使用指南

axios使用指南 Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中。 axios 安装 npm安装 $ npm install axios 使用cdn <script src"https://unpkg.com/axios/dist/axios.min.js"></script> axios API axios(config)…...

HTML5基础2

drag 可以把拖放事件拆分成4个步骤 设置元素为可拖放。为了使元素可拖动&#xff0c;把 draggable 属性设置为 true 。 <img draggable"true"> 拖动什么。ondragstart 和 setData() const dragestart (ev)>{ev.dataTransfer.setData(play,ev.target.id)} …...

数据结构与算法-希尔排序

引言 在计算机科学中&#xff0c;数据结构和算法是构建高效软件系统的基石。而排序算法作为算法领域的重要组成部分&#xff0c;一直在各种应用场景中发挥着关键作用。今天我们将聚焦于一种基于插入排序的改进版本——希尔排序&#xff08;Shell Sort&#xff09;&#xff0c;深…...

蓝桥杯算法错题记录

这里写目录标题 本文还在跟新&#xff0c;最新更新时间24/3/91. nextInt () next() nextLine() 的注意事项2 . 转换数据类型int ,string,charint -> string , charstring -> int ,charchar -> int , string 进制转换十六进制转化为10 进制 最大公约数 本文还在跟新&am…...

【Python 图像处理 PIL 系列 13 -- PIL 及 Image.convert 函数介绍】

文章目录 Python PIL 介绍PIL 使用介绍PIL convert 介绍PIL convert 使用示例 Python PIL 介绍 PIL 是 Python Image Library 的简称。PIL 库中提供了诸多用来处理图片的模块&#xff0c;可以对图片做类似于 PS&#xff08;Photoshop&#xff09; 的编辑。比如&#xff1a;改变…...

使用docker datascience-notebook进行数据分析

Jupyter/datascience-notebook 简介 jupyter/datascience-notebook 是 Docker Hub 上可用的 Docker 镜像&#xff1a;https://hub.docker.com/。该镜像提供了一个开箱即用的环境&#xff0c;用于数据科学任务&#xff0c;包括&#xff1a; Jupyter Notebook: 一个基于 Web 的…...

VR全景技术在VR看房中有哪些应用,能带来哪些好处

引言&#xff1a; 随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在房地产行业中的应用也越来越广泛。其中&#xff0c;VR全景技术在VR看房中的运用尤为突出。今天&#xff0c;让我们一起深入探讨VR全景技术在VR看房中的应用及其带来的种种好处。 一、…...

Winform窗体随着屏幕的DPI缩放,会引起窗体变形及字体变形,superTabControl标签字体大小不匹配

一、前言 superTabControl做的浏览器标签(cefsharp)在缩放比例(125%,150%时字体不协调) 物联网浏览器,定制浏览器,多媒体浏览器(支持H264)参考栏目文章即可 二、配置参数 app.manifest参数 dpiAware =true <application xmlns="urn:schemas-microsoft-c…...

java网络编程 01 IP,端口,域名,TCP/UDP, InetAddress

01.IP 要想让网络中的计算机能够互相通信&#xff0c;必须为计算机指定一个标识号&#xff0c;通过这个标识号来指定要接受数据的计算机和识别发送的计算机&#xff0c;而IP地址就是这个标识号&#xff0c;也就是设备的标识。 ip地址组成&#xff1a; ip地址分类&#xff1a;…...

第十篇 - 如何利用人工智能技术做好营销流量整形管理?(Traffic Shaping)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市​​​​​​​。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先…...

npm ERR! errno -13具体问题处理

npm ERR! errno -13具体问题处理 出现问题的报错 npm ERR! code EACCES npm ERR! syscall open npm ERR! path /Users/xxxx/.npm/_cache/index-v5/c6/06/xxxxx npm ERR! errno -13 npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! …...

【Python】3. 基础语法(2) -- 语句篇

顺序语句 默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的. print("1") print("2") print("3")执行结果一定为 “123”, 而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码, 我们称为 顺序语句. 这个顺序是很关…...

IPsec VPN之安全联盟

一、何为安全联盟 IPsec在两个端点建立安全通信&#xff0c;此时这两个端点被称为IPsec对等体。安全联盟&#xff0c;即SA&#xff0c;是指通信对等体之间对某些要素的约定&#xff0c;定义了两个对等体之间要用何种安全协议、IP报文的封装方式、加密和验证算法。SA是IPsec的基…...

012集——显示高考天数倒计时——vba实现

以下代码实现高考倒计时&#xff1a; Sub 高考倒计时() 高考日期 CDate("06,07," & Year(Date)) If Date > 高考日期 Then高考日期 CDate("06-07-" & Year(Date) 1) End If 年月日 Year(Date) & "年" & Month(Date) &am…...

有哪些适合继续教育学生的AI论文写作工具?求真实推荐

继续教育&#xff08;成教、函授、自考&#xff09;同学大多在职上班、时间碎片化、论文基础弱、预算有限、需要快速过查重 低 AI 痕迹、贴合实践案例&#xff0c;不用复杂科研&#xff0c;只求高效、合规、低成本、顺利毕业。本文全部为真实实测体验&#xff0c;严格按照你要…...

Bootstrap中.d-none类在不同分辨率下的高级用法

.d-none 单独使用会在所有尺寸下隐藏元素&#xff0c;因其含 !important 会覆盖无 !important 的响应式显示类&#xff1b;正确做法是避免混用&#xff0c;改用纯响应式组合如 .d-md-block .d-lg-flex。为什么 .d-none 在某些断点下不生效&#xff1f;Bootstrap 的 .d-none 是个…...

【Java实战】告别繁琐!用poi-tl轻松玩转Word模板动态渲染与数据导出

1. 为什么我们需要poi-tl&#xff1f; 每次遇到要导出Word报告的需求&#xff0c;我就头疼。早些年用Apache POI直接操作Word文档&#xff0c;那代码写得叫一个酸爽——动不动就是几十行代码就为了插个表格&#xff0c;改个样式还得研究半天底层XML结构。后来试过Freemarker&am…...

保姆级教程:用Unlocker 4.2.4在VMware Workstation 17上成功安装macOS Sonoma

在VMware Workstation 17上安装macOS Sonoma的完整实践指南 想在Windows或Linux系统上体验最新的macOS Sonoma&#xff1f;VMware Workstation 17配合Unlocker 4.2.4补丁可以帮你实现这个愿望。本文将带你一步步完成从环境准备到系统安装的全过程&#xff0c;解决你可能遇到的…...

Ubuntu 16.04下解决‘software-properties-common’依赖地狱:从Python3缺失到Shell环境修复的完整排雷记录

Ubuntu 16.04依赖问题深度解析&#xff1a;从Python3缺失到系统环境修复 当你在Ubuntu 16.04上执行sudo apt-get install software-properties-common时&#xff0c;可能会遇到一系列令人头疼的依赖问题。这不仅仅是简单的软件包缺失&#xff0c;而往往反映了更深层次的系统环境…...

50元搞定远程开机:米家智能插座+BIOS设置保姆级教程(附休眠模式小技巧)

50元实现远程开机&#xff1a;智能插座BIOS设置全攻略 远程办公和数字游民生活方式的兴起&#xff0c;让远程控制电脑成为刚需。但传统方案要么价格昂贵&#xff0c;要么设置复杂。今天分享一个成本仅50元、稳定性极高的解决方案——智能插座配合BIOS设置&#xff0c;让你随时随…...

从串联到全桥:一张图看懂开关电源四大拓扑怎么选(含设计实例)

从串联到全桥&#xff1a;开关电源四大拓扑实战选型指南 电源工程师的桌面上总摆着几本翻烂的参考书&#xff0c;而最常被折角的那页必定是拓扑结构对比图。记得刚入行时&#xff0c;我的导师在实验室白板上画下四个方框&#xff1a;"选错拓扑就像给跑车装拖拉机引擎——…...

LaTeX Beamer进阶玩法:手把手教你定制专属高校/实验室主题模板(以清华、上交模板为例)

LaTeX Beamer进阶玩法&#xff1a;手把手教你定制专属高校/实验室主题模板 第一次站在学术会议讲台上时&#xff0c;我盯着投影仪上那套千篇一律的Beamer默认模板&#xff0c;突然意识到一个问题&#xff1a;为什么顶尖高校的教授们总能拿出那些让人眼前一亮的幻灯片&#xff1…...

保姆级教程:用Java搞定西门子S7-1200/1500 PLC数据读写(附完整代码)

工业级Java与西门子S7-1200/1500 PLC通信实战指南 在工业自动化领域&#xff0c;西门子S7系列PLC凭借其稳定性和高性能成为生产线控制的核心设备。当企业需要将生产数据整合到MES系统或工业物联网平台时&#xff0c;如何用Java高效稳定地读写PLC数据就成为关键问题。不同于传统…...

从零到一:CLRNet车道线检测算法在Tusimple数据集上的实战部署与效果验证

1. 环境准备与依赖安装 第一次接触CLRNet时&#xff0c;我也被官方文档里密密麻麻的依赖项吓了一跳。但实际操作下来发现&#xff0c;只要按步骤来&#xff0c;半小时就能搞定环境。我的测试平台是Ubuntu 20.04 LTS&#xff0c;配了张RTX 3090显卡。这里分享几个容易踩坑的细节…...