HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

uniapp使用i18n,踩坑记录

i18n 国际化

参考hello-i18n示例项目。存放语言包文件的的文件夹名称要为locale(和示例项目一致,locales都不行),语言包文件名称也要和示例项目保持一致(例如英文为en.json, 简中为zh-Hans.json),否则在pages.json内"%xxx%"占位不生效(在vue文件内$t()可以正常生成)

继续阅读 »

参考hello-i18n示例项目。存放语言包文件的的文件夹名称要为locale(和示例项目一致,locales都不行),语言包文件名称也要和示例项目保持一致(例如英文为en.json, 简中为zh-Hans.json),否则在pages.json内"%xxx%"占位不生效(在vue文件内$t()可以正常生成)

收起阅读 »

nvue中text标签无法自适应高度的问题

nvue

给父元素添加 justify-content: flex-start; 或者 align-items: flex-start;就可以了, 如何还是不行可以是用下面的方法

使用rich-text来解决, text标签是可以换行的, 但是没有办法撑开高度

// 数组
let arr = [
{
label: "账单编号",
value: [
{
name: "div",
attrs: {
style: "fontSize: 16px;color: #333333;line-height: 26px;",
},
text: _this.payInfo.checkInId,
},
],
},
]
// html
<view
class="similar-info-item"
v-for="(item, index) in _this.baseInfo"
key="index" >
<text class="label">{{ item.label }}:</text>
<view class="con">
<rich-text :nodes="item.value"></rich-text>
</view>
</view>
// css
.similar-info-item {
min-height: 26rpx;
display: flex;
flex-direction: row;
padding-left: 12px;
margin-bottom: 4px;
.label {
width: 90px;
font-size: 16px;
color: #333333;
line-height: 26px;
}
.con {
flex: 1;
line-height: 26rpx;
display: flex;
justify-content: center;
}
}
继续阅读 »

给父元素添加 justify-content: flex-start; 或者 align-items: flex-start;就可以了, 如何还是不行可以是用下面的方法

使用rich-text来解决, text标签是可以换行的, 但是没有办法撑开高度

// 数组
let arr = [
{
label: "账单编号",
value: [
{
name: "div",
attrs: {
style: "fontSize: 16px;color: #333333;line-height: 26px;",
},
text: _this.payInfo.checkInId,
},
],
},
]
// html
<view
class="similar-info-item"
v-for="(item, index) in _this.baseInfo"
key="index" >
<text class="label">{{ item.label }}:</text>
<view class="con">
<rich-text :nodes="item.value"></rich-text>
</view>
</view>
// css
.similar-info-item {
min-height: 26rpx;
display: flex;
flex-direction: row;
padding-left: 12px;
margin-bottom: 4px;
.label {
width: 90px;
font-size: 16px;
color: #333333;
line-height: 26px;
}
.con {
flex: 1;
line-height: 26rpx;
display: flex;
justify-content: center;
}
}
收起阅读 »

关于input、textarea在ios自带的输入法上快速输入时会自动失焦问题

iOS

设置属性ignoreCompositionEvent为false即可解决

设置属性ignoreCompositionEvent为false即可解决

解决邮箱无法接收验证码问题:添加白名单

注册 邮箱验证码

> 文档已迁移至新链接:https://uniapp.dcloud.net.cn/dev/faq/email.html
> 如有疑问,可以单独发贴咨询。

继续阅读 »

> 文档已迁移至新链接:https://uniapp.dcloud.net.cn/dev/faq/email.html
> 如有疑问,可以单独发贴咨询。

收起阅读 »

Uniapp cli项目引用UTS插件(基于uniapp x)的一些异常问题

uniapp插件 uniapp x uts插件

1.[plugin:uni:uts-uni_modules] compiler.compile is not a function

2.createUniXKotlinCompilerOnce is not a function

3.Definite Assignment Assertions is not supported.

我当前的环境:
HBuilderX版本:4.24
cli 的@dcloudio/uni-app版本: 3.0.0-4020420240722002

首先检查package.json中的@dcloudio/uni-uts-v1是否和别的@dcloudio/uni-xxx版本不一致,需要保持一致
如果有异常就执行下hx 菜单栏 -> 工具 -> 插件安装 -> 卸载重装uni-app(vue3),最好是让hx自动触发重新下载
上面的执行后还有问题可以尝试把uts相关的都删除重新安装一次,感觉像是有安装顺序的问题,我全部删除重新安装后就没问题了,不知道是啥原因造成的

#package.json的部分配置    
"devDependencies": {  
    "@dcloudio/types": "3.4.8",  
    "@dcloudio/uni-automator": "3.0.0-4020420240722002",  
    "@dcloudio/uni-cli-shared": "3.0.0-4020420240722002",  
    "@dcloudio/uni-stacktracey": "3.0.0-4020420240722002",  
    ###这个需要和其他的保持一样  
    "@dcloudio/uni-uts-v1": "3.0.0-4020420240722002",  
    ###  
    "@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002",  
   ...  
  },

https://ask.dcloud.net.cn/question/195186
https://ask.dcloud.net.cn/question/202241

继续阅读 »

1.[plugin:uni:uts-uni_modules] compiler.compile is not a function

2.createUniXKotlinCompilerOnce is not a function

3.Definite Assignment Assertions is not supported.

我当前的环境:
HBuilderX版本:4.24
cli 的@dcloudio/uni-app版本: 3.0.0-4020420240722002

首先检查package.json中的@dcloudio/uni-uts-v1是否和别的@dcloudio/uni-xxx版本不一致,需要保持一致
如果有异常就执行下hx 菜单栏 -> 工具 -> 插件安装 -> 卸载重装uni-app(vue3),最好是让hx自动触发重新下载
上面的执行后还有问题可以尝试把uts相关的都删除重新安装一次,感觉像是有安装顺序的问题,我全部删除重新安装后就没问题了,不知道是啥原因造成的

#package.json的部分配置    
"devDependencies": {  
    "@dcloudio/types": "3.4.8",  
    "@dcloudio/uni-automator": "3.0.0-4020420240722002",  
    "@dcloudio/uni-cli-shared": "3.0.0-4020420240722002",  
    "@dcloudio/uni-stacktracey": "3.0.0-4020420240722002",  
    ###这个需要和其他的保持一样  
    "@dcloudio/uni-uts-v1": "3.0.0-4020420240722002",  
    ###  
    "@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002",  
   ...  
  },

https://ask.dcloud.net.cn/question/195186
https://ask.dcloud.net.cn/question/202241

收起阅读 »

鸿蒙webview通信evalJS,不支持this.$scope.$getAppWebview().children()[0],需要使用使用uni.createWebviewContext

evalJS 鸿蒙next webview通信

APP往webview通过evalJS注入方法时
鸿蒙不支持this.$scope.$getAppWebview().children()[0] ,使用uni.createWebviewContext

//template  
<web-view id="webviewId" src="xxxxxx"></web-view>  
//javascript  

// #ifdef APP-HARMONY  
this.currentWebview = uni.createWebviewContext('webviewId', this);  
// #endif  
// #ifdef APP-PLUS  
this.currentWebview = this.$scope.$getAppWebview().children()[0];  
// #endif  
let token = uni.getStorageSync('token');  
let tenant = uni.getStorageSync('tenantCode');  
// 准备要传递的数据  
let dataToPass = JSON.stringify({  
    token: token  
});  
this.currentWebview.evalJS(`uniappReceiveData('${JSON.stringify({ token: token,tenant: tenant})}')`)
继续阅读 »

APP往webview通过evalJS注入方法时
鸿蒙不支持this.$scope.$getAppWebview().children()[0] ,使用uni.createWebviewContext

//template  
<web-view id="webviewId" src="xxxxxx"></web-view>  
//javascript  

// #ifdef APP-HARMONY  
this.currentWebview = uni.createWebviewContext('webviewId', this);  
// #endif  
// #ifdef APP-PLUS  
this.currentWebview = this.$scope.$getAppWebview().children()[0];  
// #endif  
let token = uni.getStorageSync('token');  
let tenant = uni.getStorageSync('tenantCode');  
// 准备要传递的数据  
let dataToPass = JSON.stringify({  
    token: token  
});  
this.currentWebview.evalJS(`uniappReceiveData('${JSON.stringify({ token: token,tenant: tenant})}')`)
收起阅读 »

关于hx安卓输入证书密码的故事

自有证书

前x:还记得不知道是多少年前了,那时候我还没老,还能coding,所以就喜欢折腾,把公司前程序员写的安卓原生客户端用uniapp实现了。
但是上架的时候发现一个问题,证书密码和别名密码原来是两个,但是hx只能输入一个,也就是hx里面这2个密码只能一致
这个时候头大了,只有把包名都改了,老用户全部得重新安装。
转眼间到了2025了,人也老了,hx正式版更新到了4.45,这个时候可以输入2个密码了!!!!
然人老手脚不便了,输不动了。吾与在座各位都习惯了只输入一个密码,输入2个太麻烦了。

总结:可以增加一个功能吗,别名密码那里勾选和证书密码一致?也就是我只想输入一次

继续阅读 »

前x:还记得不知道是多少年前了,那时候我还没老,还能coding,所以就喜欢折腾,把公司前程序员写的安卓原生客户端用uniapp实现了。
但是上架的时候发现一个问题,证书密码和别名密码原来是两个,但是hx只能输入一个,也就是hx里面这2个密码只能一致
这个时候头大了,只有把包名都改了,老用户全部得重新安装。
转眼间到了2025了,人也老了,hx正式版更新到了4.45,这个时候可以输入2个密码了!!!!
然人老手脚不便了,输不动了。吾与在座各位都习惯了只输入一个密码,输入2个太麻烦了。

总结:可以增加一个功能吗,别名密码那里勾选和证书密码一致?也就是我只想输入一次

收起阅读 »

切换音频播放时间节点与实际音频对应时间点内容有误差问题

本人已完美解决 有遇见相同问题的可以留言

本人已完美解决 有遇见相同问题的可以留言

uni-popup无法弹出 连接服务器超时,点击屏幕重试

uni-popup

浏览器的广告拦截插件会将uni-popup目录下的keypress.js识别为追踪器并将其拦截,导致报错
<DevToolsErrorMessage>
uni-popup.vue:3
GET /uni_modules/uni-popup/components/uni-popup/keypress.js net::ERR_BLOCKED_BY_CLIENT
</DevToolsErrorMessage>
并导致keypress.js无响应。
然后我就不清楚为啥了。
反正会导致提示 连接服务器超时,点击屏幕重试
关掉插件或加入白名单就解决了

继续阅读 »

浏览器的广告拦截插件会将uni-popup目录下的keypress.js识别为追踪器并将其拦截,导致报错
<DevToolsErrorMessage>
uni-popup.vue:3
GET /uni_modules/uni-popup/components/uni-popup/keypress.js net::ERR_BLOCKED_BY_CLIENT
</DevToolsErrorMessage>
并导致keypress.js无响应。
然后我就不清楚为啥了。
反正会导致提示 连接服务器超时,点击屏幕重试
关掉插件或加入白名单就解决了

收起阅读 »

video播放视频花屏

花屏 video

使用uniapp开发APP 用video播放视频时,出现了花屏现象,2个视频是存储在阿里云oss上的,一个视频播放花屏,一个视频播放正常
经过查看文档,增加了播放策略属性:play-strategy="1" 问题解决视频不再花屏

继续阅读 »

使用uniapp开发APP 用video播放视频时,出现了花屏现象,2个视频是存储在阿里云oss上的,一个视频播放花屏,一个视频播放正常
经过查看文档,增加了播放策略属性:play-strategy="1" 问题解决视频不再花屏

收起阅读 »