HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

【待验证】h5打包到服务器打开显示:连接服务器超时,点击屏幕重试

h5
// manifest.json  
{  
    "h5" : {  
        "async" : {  
            "timeout" : 60000  // 页面 js 加载超时时间(超时后展示 error 对应的组件)  
    }  
    }  
}
继续阅读 »
// manifest.json  
{  
    "h5" : {  
        "async" : {  
            "timeout" : 60000  // 页面 js 加载超时时间(超时后展示 error 对应的组件)  
    }  
    }  
}
收起阅读 »

个人开发者承接app、小程序、网页外包,全职外包接单

小程序 外包 uniapp

全职在家承接外包,多年外包经验,个人开发者,绝对实惠靠谱,有很多款线上应用(度是自己开发的,自己独立完成,可查)

可做商城类,社交类,工具类,任务平台类,mes 类,扫码收银/分账交易类 等,除了游戏和带颜色的,其他度可以开发

可承接安卓/IOS、各个端的小程序、H5网页、PC网页开发,从前端到后端,我全度会,一条龙服务

掌握技术
前端:uniapp 、uniappx、vue
后端:Golang 、php

有需要开发的并能看得上我的请联系我哈

vx:wu1020yt

继续阅读 »

全职在家承接外包,多年外包经验,个人开发者,绝对实惠靠谱,有很多款线上应用(度是自己开发的,自己独立完成,可查)

可做商城类,社交类,工具类,任务平台类,mes 类,扫码收银/分账交易类 等,除了游戏和带颜色的,其他度可以开发

可承接安卓/IOS、各个端的小程序、H5网页、PC网页开发,从前端到后端,我全度会,一条龙服务

掌握技术
前端:uniapp 、uniappx、vue
后端:Golang 、php

有需要开发的并能看得上我的请联系我哈

vx:wu1020yt

收起阅读 »

专为在线教育、知识付费、视频娱乐、新闻媒体等行业提供H5、小程序、APP开发服务

公司拥有专业技术团队,配备前后端技术开发人员,是您首选的合作服务商。
公司专为在线教育、知识付费、视频娱乐、新闻媒体等行业提供网站、小程序、APP开发服务!
公司主要软件有:知识付费系统AI题库系统头条媒体系统短视频系统小商城系统
我们秉承用心服务,专业专注原则,致力于为用户提供安全省心的解决方案;为用户搭建更专业、更省钱的网络服务平台!

咨询合作微信:yddapps,服务电话:400-811-9102

继续阅读 »

公司拥有专业技术团队,配备前后端技术开发人员,是您首选的合作服务商。
公司专为在线教育、知识付费、视频娱乐、新闻媒体等行业提供网站、小程序、APP开发服务!
公司主要软件有:知识付费系统AI题库系统头条媒体系统短视频系统小商城系统
我们秉承用心服务,专业专注原则,致力于为用户提供安全省心的解决方案;为用户搭建更专业、更省钱的网络服务平台!

咨询合作微信:yddapps,服务电话:400-811-9102

收起阅读 »

uniapp js @touchend无效 无法监听到touchend 触摸停止时无法检测到

uniapp js @touchend无效 无法监听到touchend 触摸停止时无法检测到

在UniApp的开发过程中,不少开发者会遇到 @touchend 事件无法正常监听的情况,即触摸停止时无法检测到相应的回调触发。笔者在项目实践中,也深陷此问题的困扰,经过反复调试与探索,总结出一系列有效的处理方案,现将经验分享如下。如果你在开发过程中遇到类似问题,也欢迎访问我的技术交流网站 5555api.com,与众多开发者共同探讨解决方案;同时,luanqing.net 上也整理了大量UniApp开发技巧和疑难问题解答,可供大家参考学习。

问题现象与规律

实际开发中,在使用 <view> 标签绑定 @touchend 事件时,出现了奇特的规律:当快速触摸并释放时,@touchend 事件能够正常回调;但一旦长按超过一定时间(约1秒),该事件便无法触发。此外,还存在一种偶发情况,即间隔一次触摸操作,@touchend 事件也会出现无法回调的现象。这种不稳定的表现,给开发带来了极大的困扰,严重影响了功能的正常实现。

常规处理方案尝试

阻止默认长按行为

最初,考虑到可能是系统默认的长按行为对 @touchend 事件产生了干扰,于是在 @touchstart 事件的处理函数中添加 e.preventDefault() 代码,试图阻止默认的长按行为,从而确保 @touchend 事件能够正常触发。然而,实际测试发现,这种方法并不能解决问题,长按状态下 @touchend 事件依旧无法回调。在 5555api.com 的技术论坛中,也有不少开发者分享了类似的尝试经历,可见该问题的普遍性。

定时器模拟 @touchend 事件

既然常规的阻止默认行为无效,便尝试通过定时器来模拟 @touchend 事件。在 @touchstart 事件触发时,启动一个定时器,设置一个合理的最大长按时间(例如10秒),当定时器计时结束时,手动调用 @touchend 事件的处理函数。同时,在 @touchend@touchcancel 事件的处理函数中,及时清除定时器,以避免重复触发。虽然这种方式在一定程度上能够解决长按无法触发 @touchend 的问题,但仍然存在一些局限性,比如无法精准模拟真实的触摸结束场景,并且增加了代码的复杂性。在 luanqing.net 的UniApp开发教程板块中,有关于定时器应用的详细讲解,感兴趣的开发者可以深入学习。

最终解决方案:使用 <button> 标签替代 <view> 标签

经过多次尝试和探索,最终发现使用 <button> 标签替代 <view> 标签绑定 @touchend 事件,可以成功触发该事件。<button> 标签作为原生的交互元素,其触摸事件的处理机制与 <view> 有所不同,能够更稳定地监听到触摸停止的操作。将原本绑定在 <view> 上的触摸事件转移到 <button> 上后,无论是快速触摸释放还是长按操作,@touchend 事件都能正常回调,有效地解决了之前遇到的问题。

在使用 <button> 标签时,还可以通过设置 typesizeplain 等属性,对按钮的样式和行为进行定制,以满足项目的具体需求。例如:

<button v-if="mode == 'voice'" class="input ml8 mr8 uni_flex_col_center"   
        @touchstart.prevent="startRecord"  
        @touchend.prevent="endRecord"  
        @touchmove.prevent="moveRecord"  
        @touchcancel.prevent="cancelRecord"  
        :class="{'recording': isRecording, 'cancel': isCancel}"  
        type="primary" size="mini" plain>  
    <view class="voice-waves" v-if="isRecording">  
        <view class="wave-item" v-for="(item, index) in 12" :key="index"></view>  
    </view>  
    <text v-if="!isRecording">{{ recordTip }}</text>  
</button>

总结与建议

在UniApp开发中遇到 @touchend 事件无法监听的问题时,不要局限于一种解决方案,可以从阻止默认行为、模拟事件等角度进行尝试。如果常规方法无法解决,不妨考虑更换标签类型,利用原生交互元素的特性来实现稳定的触摸事件监听。同时,在开发过程中,要善于总结问题出现的规律,通过反复测试和调试,找到最适合项目需求的解决方案。

想要获取更多UniApp开发技巧和实战案例,欢迎访问 5555api.comluanqing.net ,这里不仅有丰富的技术文章,还有活跃的开发者社区,助力你在技术道路上不断前行!

继续阅读 »

uniapp js @touchend无效 无法监听到touchend 触摸停止时无法检测到

在UniApp的开发过程中,不少开发者会遇到 @touchend 事件无法正常监听的情况,即触摸停止时无法检测到相应的回调触发。笔者在项目实践中,也深陷此问题的困扰,经过反复调试与探索,总结出一系列有效的处理方案,现将经验分享如下。如果你在开发过程中遇到类似问题,也欢迎访问我的技术交流网站 5555api.com,与众多开发者共同探讨解决方案;同时,luanqing.net 上也整理了大量UniApp开发技巧和疑难问题解答,可供大家参考学习。

问题现象与规律

实际开发中,在使用 <view> 标签绑定 @touchend 事件时,出现了奇特的规律:当快速触摸并释放时,@touchend 事件能够正常回调;但一旦长按超过一定时间(约1秒),该事件便无法触发。此外,还存在一种偶发情况,即间隔一次触摸操作,@touchend 事件也会出现无法回调的现象。这种不稳定的表现,给开发带来了极大的困扰,严重影响了功能的正常实现。

常规处理方案尝试

阻止默认长按行为

最初,考虑到可能是系统默认的长按行为对 @touchend 事件产生了干扰,于是在 @touchstart 事件的处理函数中添加 e.preventDefault() 代码,试图阻止默认的长按行为,从而确保 @touchend 事件能够正常触发。然而,实际测试发现,这种方法并不能解决问题,长按状态下 @touchend 事件依旧无法回调。在 5555api.com 的技术论坛中,也有不少开发者分享了类似的尝试经历,可见该问题的普遍性。

定时器模拟 @touchend 事件

既然常规的阻止默认行为无效,便尝试通过定时器来模拟 @touchend 事件。在 @touchstart 事件触发时,启动一个定时器,设置一个合理的最大长按时间(例如10秒),当定时器计时结束时,手动调用 @touchend 事件的处理函数。同时,在 @touchend@touchcancel 事件的处理函数中,及时清除定时器,以避免重复触发。虽然这种方式在一定程度上能够解决长按无法触发 @touchend 的问题,但仍然存在一些局限性,比如无法精准模拟真实的触摸结束场景,并且增加了代码的复杂性。在 luanqing.net 的UniApp开发教程板块中,有关于定时器应用的详细讲解,感兴趣的开发者可以深入学习。

最终解决方案:使用 <button> 标签替代 <view> 标签

经过多次尝试和探索,最终发现使用 <button> 标签替代 <view> 标签绑定 @touchend 事件,可以成功触发该事件。<button> 标签作为原生的交互元素,其触摸事件的处理机制与 <view> 有所不同,能够更稳定地监听到触摸停止的操作。将原本绑定在 <view> 上的触摸事件转移到 <button> 上后,无论是快速触摸释放还是长按操作,@touchend 事件都能正常回调,有效地解决了之前遇到的问题。

在使用 <button> 标签时,还可以通过设置 typesizeplain 等属性,对按钮的样式和行为进行定制,以满足项目的具体需求。例如:

<button v-if="mode == 'voice'" class="input ml8 mr8 uni_flex_col_center"   
        @touchstart.prevent="startRecord"  
        @touchend.prevent="endRecord"  
        @touchmove.prevent="moveRecord"  
        @touchcancel.prevent="cancelRecord"  
        :class="{'recording': isRecording, 'cancel': isCancel}"  
        type="primary" size="mini" plain>  
    <view class="voice-waves" v-if="isRecording">  
        <view class="wave-item" v-for="(item, index) in 12" :key="index"></view>  
    </view>  
    <text v-if="!isRecording">{{ recordTip }}</text>  
</button>

总结与建议

在UniApp开发中遇到 @touchend 事件无法监听的问题时,不要局限于一种解决方案,可以从阻止默认行为、模拟事件等角度进行尝试。如果常规方法无法解决,不妨考虑更换标签类型,利用原生交互元素的特性来实现稳定的触摸事件监听。同时,在开发过程中,要善于总结问题出现的规律,通过反复测试和调试,找到最适合项目需求的解决方案。

想要获取更多UniApp开发技巧和实战案例,欢迎访问 5555api.comluanqing.net ,这里不仅有丰富的技术文章,还有活跃的开发者社区,助力你在技术道路上不断前行!

收起阅读 »

华为mate60 rs 鸿蒙next系统在hbuilder4.6.1中打包到鸿蒙连接不上的问题

鸿蒙next

问题:

华为mate60 rs 鸿蒙next系统在hbuilder4.6.1中打包到鸿蒙连接不上的问题

解决方式:

连接手机弹出USB连接方式的时候,选择仅充电,别选传输文件或者传输图片,希望能帮到碰到此问题的小伙伴。

问题:

华为mate60 rs 鸿蒙next系统在hbuilder4.6.1中打包到鸿蒙连接不上的问题

解决方式:

连接手机弹出USB连接方式的时候,选择仅充电,别选传输文件或者传输图片,希望能帮到碰到此问题的小伙伴。

uniCloud.importObject引入云对象,非自定义loading请求的时候加载能否添加遮罩

通过uniCloud.importObject引入云对象,如果不配置{custom:true}的话,请求云对象的时候会自动有加载loading,但是没有mask遮罩,自定义使用的时候uni.showLoading({mask:true})可以这样配置,这样用户不会误触,那么引入云对象该如何配置?

继续阅读 »

通过uniCloud.importObject引入云对象,如果不配置{custom:true}的话,请求云对象的时候会自动有加载loading,但是没有mask遮罩,自定义使用的时候uni.showLoading({mask:true})可以这样配置,这样用户不会误触,那么引入云对象该如何配置?

收起阅读 »

vue3.5+electron35+deepseek-v3+arco搭建桌面版AI模板

2025最新跨平台AI落地实战:基于Vue3.5+Electron35+DeepSeek+Vite6+ArcoDesign从0-1打造一款高性能桌面AI流式对话模板。

前段时间有分享两个vue3+deepseek实战mobile版和PC版智能ai对话模板。
Vue3-DeepSeek-Chat流式AI对话|vite6+vant4+deepseek智能ai聊天助手
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果

使用技术

  • 编码工具:VScode
  • 技术框架:vite^6.2.0+vue^3.5.13+vue-router^4.5.0
  • 大模型ai框架:DeepSeek-V3-0324 + OpenAI
  • 跨平台框架:electron^35.1.2
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态插件:pinia^3.0.1
  • 会话缓存:pinia-plugin-persistedstate^4.2.0
  • 高亮插件:highlight.js^11.11.1
  • markdown解析:markdown-it

项目结构框架

electron-deepseek客户端AI系统已经发布到我的原创作品集,感谢支持!
electron35+deepseek+vite6桌面端AI流式聊天对话

整个项目使用最新跨平台框架Electron35和Vite6构建项目模板,接入最新DeepSeek-v3聊天大模型框架。

目前该项目已经正式完结,想要了解更多技术实现细节,可以看看下面这篇分享文章。

Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板

作者:xiaoyan2017
链接: https://segmentfault.com/a/1190000046461214
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

继续阅读 »

2025最新跨平台AI落地实战:基于Vue3.5+Electron35+DeepSeek+Vite6+ArcoDesign从0-1打造一款高性能桌面AI流式对话模板。

前段时间有分享两个vue3+deepseek实战mobile版和PC版智能ai对话模板。
Vue3-DeepSeek-Chat流式AI对话|vite6+vant4+deepseek智能ai聊天助手
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果

使用技术

  • 编码工具:VScode
  • 技术框架:vite^6.2.0+vue^3.5.13+vue-router^4.5.0
  • 大模型ai框架:DeepSeek-V3-0324 + OpenAI
  • 跨平台框架:electron^35.1.2
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态插件:pinia^3.0.1
  • 会话缓存:pinia-plugin-persistedstate^4.2.0
  • 高亮插件:highlight.js^11.11.1
  • markdown解析:markdown-it

项目结构框架

electron-deepseek客户端AI系统已经发布到我的原创作品集,感谢支持!
electron35+deepseek+vite6桌面端AI流式聊天对话

整个项目使用最新跨平台框架Electron35和Vite6构建项目模板,接入最新DeepSeek-v3聊天大模型框架。

目前该项目已经正式完结,想要了解更多技术实现细节,可以看看下面这篇分享文章。

Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板

作者:xiaoyan2017
链接: https://segmentfault.com/a/1190000046461214
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

收起阅读 »

什么时候能支持设置网络访问代理功能?

Hbuilder X什么时候能支持设置网络访问代理功能?让我们这些内网开发者也能丝滑使用起来?

Hbuilder X什么时候能支持设置网络访问代理功能?让我们这些内网开发者也能丝滑使用起来?

关于uniapp vue2项目 使用地图和定位模块踩的坑和解决方案

高德地图 百度地图 uniapp

在写uniapp vue2项目时需要写考勤相关的功能,在定位和地图踩了很多坑,在此记录分享一下踩坑记录和解决方案

一、关于我使用下来 百度、高德、腾讯 踩的坑

系统定位不在我的选择范围内,此处没有讨论,有经验的可以在评论区补充。

  1. 百度
    HBuilder X(4.28.2024092502) 这个版本前我一直使用百度地图 百度定位,其中会有偶发的定位偏移问题,这个问题有人在社群反馈但一直未解决【百度地图定位偏移问题(可点击)】。HBuilder X(4.28.2024092502) 移除了百度地图和百度定位,加上定位偏移问题很突出,决定更换运营商。

  1. 高德
    更换成高德地图和定位后,地图显示正常,定位在ios端使用uni.getLocation获取慢(大概要用10s),这个问题我在社群反馈单一直为解决【高德定位ios端获取慢问题(可点击)】。最近(2025.4.15)重新尝试发现高德定位在安卓端连address都不能返回详细地址了,不满足需求,所以决定再次更换运营商。

  2. 腾讯
    更换成腾讯地图和定位后,弹出问题:打包时未添加maps模块,这个问题有人在社群反馈已找到原因(maps仅支持vue3项目)但未解决【腾讯地图报错未添加maps模块(可点击)】。大bug,不满足需求。

二、我的解决方案

首先我得到的结论:

  1. 百度地图未来版本已不支持,所以排除百度地图和百度定位。
  2. 高德地图好用,但高德定位获取地址有问题。
  3. 腾讯定位好用,但腾讯地图报错。

思考后尝试用高德地图 腾讯定位,在HBuilder X(4.57)下打包后地图可以正常显示,定位可以正常获取地址。此问题暂时解决。

继续阅读 »

在写uniapp vue2项目时需要写考勤相关的功能,在定位和地图踩了很多坑,在此记录分享一下踩坑记录和解决方案

一、关于我使用下来 百度、高德、腾讯 踩的坑

系统定位不在我的选择范围内,此处没有讨论,有经验的可以在评论区补充。

  1. 百度
    HBuilder X(4.28.2024092502) 这个版本前我一直使用百度地图 百度定位,其中会有偶发的定位偏移问题,这个问题有人在社群反馈但一直未解决【百度地图定位偏移问题(可点击)】。HBuilder X(4.28.2024092502) 移除了百度地图和百度定位,加上定位偏移问题很突出,决定更换运营商。

  1. 高德
    更换成高德地图和定位后,地图显示正常,定位在ios端使用uni.getLocation获取慢(大概要用10s),这个问题我在社群反馈单一直为解决【高德定位ios端获取慢问题(可点击)】。最近(2025.4.15)重新尝试发现高德定位在安卓端连address都不能返回详细地址了,不满足需求,所以决定再次更换运营商。

  2. 腾讯
    更换成腾讯地图和定位后,弹出问题:打包时未添加maps模块,这个问题有人在社群反馈已找到原因(maps仅支持vue3项目)但未解决【腾讯地图报错未添加maps模块(可点击)】。大bug,不满足需求。

二、我的解决方案

首先我得到的结论:

  1. 百度地图未来版本已不支持,所以排除百度地图和百度定位。
  2. 高德地图好用,但高德定位获取地址有问题。
  3. 腾讯定位好用,但腾讯地图报错。

思考后尝试用高德地图 腾讯定位,在HBuilder X(4.57)下打包后地图可以正常显示,定位可以正常获取地址。此问题暂时解决。

收起阅读 »

IM 即时通讯SDK 包括支持uniappx

即时通信 IM

全栈自研的云IM SDK 包括支持uniappx,w+18515882406

全栈自研的云IM SDK 包括支持uniappx,w+18515882406