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月,OpenAI发表了《扩散模型超越GANs》的文章,标志着扩散模型(Diffusion Models,DM)在图像生成领域开始超越传统的GAN模型,进一步推动了DM的应用。 然而,早期的DM直接作用于像…...
GESP5级T1真题 [202309] 因数分解——O(sqrt(n))的时间复杂度,值得一看
描述 每个正整数都可以分解成素数的乘积,例如:62*3、2022 *5 现在,给定一个正整数N,请按要求输出它的因数分解式。 输入描述 输入第一行,包含一个正整数N。约定2<N<10^12 输出描述 输出一行,为N…...
Stable Diffusion 3报告
报告链接:https://stability.ai/news/stable-diffusion-3-research-paper 文章目录 要点表现架构细节通过重新加权改善整流流量Scaling Rectified Flow Transformer Models灵活的文本编码器RF相关论文 要点 发布研究论文,深入探讨Stable Diffuison 3的…...
一个足球粉丝该怎么建个个人博客?
做一个个人博客第一步该怎么做? 好多零基础的同学们不知道怎么迈出第一步。 那么,就找一个现成的模板学一学呗,毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题,那就是,那些模板都,太!…...
缩放算法优化步骤详解
添加链接描述 背景 假设数据存放在在unsigned char* m_pData 里面,宽和高分别是:m_nDataWidth m_nDataHeight 给定缩放比例:fXZoom fYZoom,返回缩放后的unsigned char* dataZoom 这里采用最简单的缩放算法即: 根据比…...
[axios]使用指南
axios使用指南 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 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个步骤 设置元素为可拖放。为了使元素可拖动,把 draggable 属性设置为 true 。 <img draggable"true"> 拖动什么。ondragstart 和 setData() const dragestart (ev)>{ev.dataTransfer.setData(play,ev.target.id)} …...
数据结构与算法-希尔排序
引言 在计算机科学中,数据结构和算法是构建高效软件系统的基石。而排序算法作为算法领域的重要组成部分,一直在各种应用场景中发挥着关键作用。今天我们将聚焦于一种基于插入排序的改进版本——希尔排序(Shell Sort),深…...
蓝桥杯算法错题记录
这里写目录标题 本文还在跟新,最新更新时间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 库中提供了诸多用来处理图片的模块,可以对图片做类似于 PS(Photoshop) 的编辑。比如:改变…...
使用docker datascience-notebook进行数据分析
Jupyter/datascience-notebook 简介 jupyter/datascience-notebook 是 Docker Hub 上可用的 Docker 镜像:https://hub.docker.com/。该镜像提供了一个开箱即用的环境,用于数据科学任务,包括: Jupyter Notebook: 一个基于 Web 的…...
VR全景技术在VR看房中有哪些应用,能带来哪些好处
引言: 随着科技的不断发展,虚拟现实(VR)技术在房地产行业中的应用也越来越广泛。其中,VR全景技术在VR看房中的运用尤为突出。今天,让我们一起深入探讨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 要想让网络中的计算机能够互相通信,必须为计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,而IP地址就是这个标识号,也就是设备的标识。 ip地址组成: ip地址分类:…...
第十篇 - 如何利用人工智能技术做好营销流量整形管理?(Traffic Shaping)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司
IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先…...
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在两个端点建立安全通信,此时这两个端点被称为IPsec对等体。安全联盟,即SA,是指通信对等体之间对某些要素的约定,定义了两个对等体之间要用何种安全协议、IP报文的封装方式、加密和验证算法。SA是IPsec的基…...
012集——显示高考天数倒计时——vba实现
以下代码实现高考倒计时: Sub 高考倒计时() 高考日期 CDate("06,07," & Year(Date)) If Date > 高考日期 Then高考日期 CDate("06-07-" & Year(Date) 1) End If 年月日 Year(Date) & "年" & Month(Date) &am…...
有哪些适合继续教育学生的AI论文写作工具?求真实推荐
继续教育(成教、函授、自考)同学大多在职上班、时间碎片化、论文基础弱、预算有限、需要快速过查重 低 AI 痕迹、贴合实践案例,不用复杂科研,只求高效、合规、低成本、顺利毕业。本文全部为真实实测体验,严格按照你要…...
Bootstrap中.d-none类在不同分辨率下的高级用法
.d-none 单独使用会在所有尺寸下隐藏元素,因其含 !important 会覆盖无 !important 的响应式显示类;正确做法是避免混用,改用纯响应式组合如 .d-md-block .d-lg-flex。为什么 .d-none 在某些断点下不生效?Bootstrap 的 .d-none 是个…...
【Java实战】告别繁琐!用poi-tl轻松玩转Word模板动态渲染与数据导出
1. 为什么我们需要poi-tl? 每次遇到要导出Word报告的需求,我就头疼。早些年用Apache POI直接操作Word文档,那代码写得叫一个酸爽——动不动就是几十行代码就为了插个表格,改个样式还得研究半天底层XML结构。后来试过Freemarker&am…...
保姆级教程:用Unlocker 4.2.4在VMware Workstation 17上成功安装macOS Sonoma
在VMware Workstation 17上安装macOS Sonoma的完整实践指南 想在Windows或Linux系统上体验最新的macOS Sonoma?VMware Workstation 17配合Unlocker 4.2.4补丁可以帮你实现这个愿望。本文将带你一步步完成从环境准备到系统安装的全过程,解决你可能遇到的…...
Ubuntu 16.04下解决‘software-properties-common’依赖地狱:从Python3缺失到Shell环境修复的完整排雷记录
Ubuntu 16.04依赖问题深度解析:从Python3缺失到系统环境修复 当你在Ubuntu 16.04上执行sudo apt-get install software-properties-common时,可能会遇到一系列令人头疼的依赖问题。这不仅仅是简单的软件包缺失,而往往反映了更深层次的系统环境…...
50元搞定远程开机:米家智能插座+BIOS设置保姆级教程(附休眠模式小技巧)
50元实现远程开机:智能插座BIOS设置全攻略 远程办公和数字游民生活方式的兴起,让远程控制电脑成为刚需。但传统方案要么价格昂贵,要么设置复杂。今天分享一个成本仅50元、稳定性极高的解决方案——智能插座配合BIOS设置,让你随时随…...
从串联到全桥:一张图看懂开关电源四大拓扑怎么选(含设计实例)
从串联到全桥:开关电源四大拓扑实战选型指南 电源工程师的桌面上总摆着几本翻烂的参考书,而最常被折角的那页必定是拓扑结构对比图。记得刚入行时,我的导师在实验室白板上画下四个方框:"选错拓扑就像给跑车装拖拉机引擎——…...
LaTeX Beamer进阶玩法:手把手教你定制专属高校/实验室主题模板(以清华、上交模板为例)
LaTeX Beamer进阶玩法:手把手教你定制专属高校/实验室主题模板 第一次站在学术会议讲台上时,我盯着投影仪上那套千篇一律的Beamer默认模板,突然意识到一个问题:为什么顶尖高校的教授们总能拿出那些让人眼前一亮的幻灯片࿱…...
保姆级教程:用Java搞定西门子S7-1200/1500 PLC数据读写(附完整代码)
工业级Java与西门子S7-1200/1500 PLC通信实战指南 在工业自动化领域,西门子S7系列PLC凭借其稳定性和高性能成为生产线控制的核心设备。当企业需要将生产数据整合到MES系统或工业物联网平台时,如何用Java高效稳定地读写PLC数据就成为关键问题。不同于传统…...
从零到一:CLRNet车道线检测算法在Tusimple数据集上的实战部署与效果验证
1. 环境准备与依赖安装 第一次接触CLRNet时,我也被官方文档里密密麻麻的依赖项吓了一跳。但实际操作下来发现,只要按步骤来,半小时就能搞定环境。我的测试平台是Ubuntu 20.04 LTS,配了张RTX 3090显卡。这里分享几个容易踩坑的细节…...
