HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

nview-ui这个插件,在HBuilder升级到最新版3.6.14.20221216后,会造成编译到支付宝小程序报错的bug,白屏加载不出首页

诸如此类错误,详细请看截图
Function(...) is not a function
Function("r", "regeneratorRuntime = r")(runtime);
但是不影响手机预览。。。
但是手机鱼预览ios正常,android手机也是白屏出不来。
再补充一点,回退到上个版本就正常了!!!

继续阅读 »

诸如此类错误,详细请看截图
Function(...) is not a function
Function("r", "regeneratorRuntime = r")(runtime);
但是不影响手机预览。。。
但是手机鱼预览ios正常,android手机也是白屏出不来。
再补充一点,回退到上个版本就正常了!!!

收起阅读 »

uniapp 自定义app 退出提示 和 隐藏APP至后台

uniapp

自定义退出

默人情况下,uniapp APP 会在 第一次按退出时, 提示 “APPName:再按一次退出应用”,其中 APPName是配置的应用名称,“再按一次退出应用”是国际化自定义的内容。
在连续两次按退出 后,才会退出应用。

如果想自定义退出提示语和退出方式,可以在 onBackPress 页面生命周期中定义

// #ifdef APP-PLUS  
onBackPress(() => {  

 // 自定义退出弹框  
  // uni.showModal({  
  //   title: '提示',  
  //   content: '是否退出uni-app?',  
  //   success: function(res) {  
  //       if (res.confirm) {  
  //           // 直接退出当前应用  
  //           plus.runtime.quit()  
  //       } else if (res.cancel) {  
  //           console.log('用户点击取消')  
  //       }    
  //   }    
  // })  

// 重写退出方法,自定义退出方式:隐藏APP到系统后台(没有真正退出)  
 let main = plus.android.runtimeMainActivity()  
  plus.runtime.quit = function(){    
      main.moveTaskToBack(false);    
  }  

  // 捕捉退出 toast,自定义提示语  
  // 默认 str 的值就只我们 国际化中定义的内容  
 // 如果自定义退出弹框,就不要在 调用 uni.showToast() 了  
   plus.nativeUI.toast = (function(str){  
    uni.showToast({  
      title:str,    
      icon:'none',    
    })    

  })  
})  
// #endif  
// vue3 setup 需要引入 onBackPress   
import { onBackPress } from '@dcloudio/uni-app'  

参考:
https://ask.dcloud.net.cn/article/35120
https://ask.dcloud.net.cn/article/34959

继续阅读 »

自定义退出

默人情况下,uniapp APP 会在 第一次按退出时, 提示 “APPName:再按一次退出应用”,其中 APPName是配置的应用名称,“再按一次退出应用”是国际化自定义的内容。
在连续两次按退出 后,才会退出应用。

如果想自定义退出提示语和退出方式,可以在 onBackPress 页面生命周期中定义

// #ifdef APP-PLUS  
onBackPress(() => {  

 // 自定义退出弹框  
  // uni.showModal({  
  //   title: '提示',  
  //   content: '是否退出uni-app?',  
  //   success: function(res) {  
  //       if (res.confirm) {  
  //           // 直接退出当前应用  
  //           plus.runtime.quit()  
  //       } else if (res.cancel) {  
  //           console.log('用户点击取消')  
  //       }    
  //   }    
  // })  

// 重写退出方法,自定义退出方式:隐藏APP到系统后台(没有真正退出)  
 let main = plus.android.runtimeMainActivity()  
  plus.runtime.quit = function(){    
      main.moveTaskToBack(false);    
  }  

  // 捕捉退出 toast,自定义提示语  
  // 默认 str 的值就只我们 国际化中定义的内容  
 // 如果自定义退出弹框,就不要在 调用 uni.showToast() 了  
   plus.nativeUI.toast = (function(str){  
    uni.showToast({  
      title:str,    
      icon:'none',    
    })    

  })  
})  
// #endif  
// vue3 setup 需要引入 onBackPress   
import { onBackPress } from '@dcloudio/uni-app'  

参考:
https://ask.dcloud.net.cn/article/35120
https://ask.dcloud.net.cn/article/34959

收起阅读 »

混合开发经常遇到手机报毒的困扰,简单的处理方式,---安全加固混淆去毒

安全 混淆 加固

混合开发经常遇到手机报毒的困扰,简单的处理方式,

一、概述
解决安卓app、华为、OPP/VIVO、小米和荣耀报毒问题.
安卓app报毒爆红,vivo手机爆红,oppo小米华为荣耀手机报毒,手机安装app时提示报毒,有的app是刚打包出来、有的是用着用着就提示报毒,这些风险是怎么回事?


二、案例

三、方案:
1.通过申诉反馈,申诉反馈通过即可解决。
2.扫描APP、技术处理APP去除风险后即可解决。
3.通过安全加固混淆去毒处理。

压缩(Shrink): 检测并删除未使用的类,字段,方法和属性。
优化(Optimize): 分析并优化方法的字节码。
混淆(Obfuscate): 使用简短的无意义名称例如a,b,c等,重命名类,字段和方法。
预检(Preveirfy): 主要是在Java平台上对处理后的代码进行预检。

Proguard处理流程,Proguard是android混淆插件,然后,对于报毒的APK来说,仅通过Proguard混淆是不够的,通常还需要一些更深入文件系统底层的处理才能达到去毒后,用户手机安装不报毒。
Apk119 加固混淆去毒中心,深入apk底层文件系统,持续追踪手机厂商报毒机制,经过测试和大多数用户反馈,是最可靠最安全的。
四、对比
市面上有哪些安全加固和混淆:
1.腾讯,360,网易,百度,爱加密,加固混淆是防止被侵入,主要是解决安全问题,去毒一般不解决;
2.apk119.com,也是做安全加固混淆和去毒,主要是去毒处理,同时也有安全加固功能.

五、总结
安全加固混淆去毒是对文件底层处理,对行业前沿的跟踪涉及大数据收集和分析,尤其是报毒原因,识别病毒,去除误报,需要对行业有丰富认知积累和分析能力。
六、推荐
apk119.com直接对接生产系统,从apk发布到混淆上线自动完成

继续阅读 »

混合开发经常遇到手机报毒的困扰,简单的处理方式,

一、概述
解决安卓app、华为、OPP/VIVO、小米和荣耀报毒问题.
安卓app报毒爆红,vivo手机爆红,oppo小米华为荣耀手机报毒,手机安装app时提示报毒,有的app是刚打包出来、有的是用着用着就提示报毒,这些风险是怎么回事?


二、案例

三、方案:
1.通过申诉反馈,申诉反馈通过即可解决。
2.扫描APP、技术处理APP去除风险后即可解决。
3.通过安全加固混淆去毒处理。

压缩(Shrink): 检测并删除未使用的类,字段,方法和属性。
优化(Optimize): 分析并优化方法的字节码。
混淆(Obfuscate): 使用简短的无意义名称例如a,b,c等,重命名类,字段和方法。
预检(Preveirfy): 主要是在Java平台上对处理后的代码进行预检。

Proguard处理流程,Proguard是android混淆插件,然后,对于报毒的APK来说,仅通过Proguard混淆是不够的,通常还需要一些更深入文件系统底层的处理才能达到去毒后,用户手机安装不报毒。
Apk119 加固混淆去毒中心,深入apk底层文件系统,持续追踪手机厂商报毒机制,经过测试和大多数用户反馈,是最可靠最安全的。
四、对比
市面上有哪些安全加固和混淆:
1.腾讯,360,网易,百度,爱加密,加固混淆是防止被侵入,主要是解决安全问题,去毒一般不解决;
2.apk119.com,也是做安全加固混淆和去毒,主要是去毒处理,同时也有安全加固功能.

五、总结
安全加固混淆去毒是对文件底层处理,对行业前沿的跟踪涉及大数据收集和分析,尤其是报毒原因,识别病毒,去除误报,需要对行业有丰富认知积累和分析能力。
六、推荐
apk119.com直接对接生产系统,从apk发布到混淆上线自动完成

收起阅读 »

uni-app video 组件 高级配置 常见属性记录及注意

video uni_app

声明:本文是在官方文章《video 组件 高阶晋级》的基础上进行整理的,原文地址见文末。

IJKMediaFramework
目前uni-app中 video的实现 是基于ijkplayer基础之上的二次封装, 框架已经设置了一些属性解决常见的问题。
通过 video 标签中的 advanced 可以实现对于一些高级属性的设置,下边是示例

<video :advanced= advanced> </video>    

.........js.............  
export default {  
        data() {  
            return {  
                advanced: [    
                    {    
                        key: "max-fps",    
                        value: 25,    
                        type: "player",    
                    }, {    
                        key: "framedrop",  //跳帧处理,CPU处理较慢时,进行跳帧处理,保证播放流程,画面和声音同步  
                        value: 5,    
                        type: "player",    
                    },{    
                        key: "mediacodec", //android 1开启 0关闭 硬解码(硬件解码更清晰。软解,更稳定)   
                        value: 1,    
                        type: "player",    
                    },{    
                        key: "videotoolbox", //ios 1开启 0关闭 硬解码(硬件解码CPU消耗低。软解,更稳定)   
                        value: 1,    
                        type: "player",    
                    },{    
                        key: "reconnect", //ios 播放是否重连 0否1是   注意:这里不是重连次数,使用除0和1以外的值视频将无法播放(亲测)  
                        value: 1,    
                        type: "format",    
                    },{    
                        key: "skip_loop_filter",//设置是否开启环路过滤: 0开启,画面质量高,解码开销大,48关闭,画面质量差点,解码开销小  
                        value: 48,    
                        type: "codec",    
                    },{    
                        key: "max-buffer-size",//最大缓冲大小,单位kb  
                        value: 1024*1024,    
                        type: "player",    
                    }  
                ],   
                 }  
         }  
}  

有一说一,配了没什么用,视频快进seek还是卡顿,而且是一会卡一下,全程不操作视频才能正常播放,鸡肋。

原文地址:https://ask.dcloud.net.cn/article/39136

继续阅读 »

声明:本文是在官方文章《video 组件 高阶晋级》的基础上进行整理的,原文地址见文末。

IJKMediaFramework
目前uni-app中 video的实现 是基于ijkplayer基础之上的二次封装, 框架已经设置了一些属性解决常见的问题。
通过 video 标签中的 advanced 可以实现对于一些高级属性的设置,下边是示例

<video :advanced= advanced> </video>    

.........js.............  
export default {  
        data() {  
            return {  
                advanced: [    
                    {    
                        key: "max-fps",    
                        value: 25,    
                        type: "player",    
                    }, {    
                        key: "framedrop",  //跳帧处理,CPU处理较慢时,进行跳帧处理,保证播放流程,画面和声音同步  
                        value: 5,    
                        type: "player",    
                    },{    
                        key: "mediacodec", //android 1开启 0关闭 硬解码(硬件解码更清晰。软解,更稳定)   
                        value: 1,    
                        type: "player",    
                    },{    
                        key: "videotoolbox", //ios 1开启 0关闭 硬解码(硬件解码CPU消耗低。软解,更稳定)   
                        value: 1,    
                        type: "player",    
                    },{    
                        key: "reconnect", //ios 播放是否重连 0否1是   注意:这里不是重连次数,使用除0和1以外的值视频将无法播放(亲测)  
                        value: 1,    
                        type: "format",    
                    },{    
                        key: "skip_loop_filter",//设置是否开启环路过滤: 0开启,画面质量高,解码开销大,48关闭,画面质量差点,解码开销小  
                        value: 48,    
                        type: "codec",    
                    },{    
                        key: "max-buffer-size",//最大缓冲大小,单位kb  
                        value: 1024*1024,    
                        type: "player",    
                    }  
                ],   
                 }  
         }  
}  

有一说一,配了没什么用,视频快进seek还是卡顿,而且是一会卡一下,全程不操作视频才能正常播放,鸡肋。

原文地址:https://ask.dcloud.net.cn/article/39136

收起阅读 »

代做 安卓.9.png / 苹果storyboard 启动图片

外包 storyboard

本人具有uniapp、flutter、ios原生app开发经验

q:343626620 v:cq343626620

1.代做 安卓.9.png / iOS苹果storyboard 启动图片,做好满意了再给钱,不满意免费修改;

4.定制/二次开发app、小程序。

价格便宜,包满意!包满意!包满意!

继续阅读 »

本人具有uniapp、flutter、ios原生app开发经验

q:343626620 v:cq343626620

1.代做 安卓.9.png / iOS苹果storyboard 启动图片,做好满意了再给钱,不满意免费修改;

4.定制/二次开发app、小程序。

价格便宜,包满意!包满意!包满意!

收起阅读 »

使用最新的HBuilderx3.6.14打包IOS正式包提交到APP store connect时出现问题

iOS打包

Dear Developer,
We identified one or more issues with a recent delivery for your app, "xxxxxx" 4.4.0 (40405). Your delivery was successful, but you may wish to correct the following issues in your next delivery:
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “HBuilder.app” bundle should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
After you’ve corrected the issues, you can upload a new binary to App Store Connect.
Best regards,
The App Store Team

继续阅读 »

Dear Developer,
We identified one or more issues with a recent delivery for your app, "xxxxxx" 4.4.0 (40405). Your delivery was successful, but you may wish to correct the following issues in your next delivery:
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “HBuilder.app” bundle should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
After you’ve corrected the issues, you can upload a new binary to App Store Connect.
Best regards,
The App Store Team

收起阅读 »

uniapp没有小程序长期订阅消息的API. wx.requestSubscribeDeviceMessage(Object object)

uniapp 有小程序的一次性消息订阅功能requestSubscribeMessage,但是长期消息的订阅功能requestSubscribeDeviceMessage,有没有考虑加入订阅长期设备消息的功能。

wx.requestSubscribeDeviceMessage(Object object)
基础库 2.20.0 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:支持

小程序插件:不支持

相关文档: 设备消息

功能描述
订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。

继续阅读 »

uniapp 有小程序的一次性消息订阅功能requestSubscribeMessage,但是长期消息的订阅功能requestSubscribeDeviceMessage,有没有考虑加入订阅长期设备消息的功能。

wx.requestSubscribeDeviceMessage(Object object)
基础库 2.20.0 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:支持

小程序插件:不支持

相关文档: 设备消息

功能描述
订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。

收起阅读 »

wordpress项目找个人开发合作

外包 WordPress

wordpress项目,有专用模版,可基本套用。要求熟悉wordpress搭建的个人,费用看项目具体聊。wx:jonathanfu

wordpress项目,有专用模版,可基本套用。要求熟悉wordpress搭建的个人,费用看项目具体聊。wx:jonathanfu

分享一枚 HBuilderX 的图标,适配 BigSur 及 Ventura

HBuilderX 图标

高清版本,适配最新系统的圆角矩形图标。
HBuilderX图标参考

高清版本,适配最新系统的圆角矩形图标。
HBuilderX图标参考

大家有没发现,某次更新之后HbuilderX就变得怪怪的

代码提示

应该是代码提示重构的那次更新,
代码提示很别扭,甚至代码跳转也会失效。。。

应该是代码提示重构的那次更新,
代码提示很别扭,甚至代码跳转也会失效。。。

uniCloud实战项目-数购优惠券项目

自己摸索,不如直接通过视频学习,数购优惠券项目为你提供了快捷学习uniCloud方法,帮大家踩过不少坑。该项目可以直接运营。

该课程通过项目实战,能完全掌握unicloud项目开发到部署,使用该课程的思路能一个人快速完成项目,相似项目快至3-7天,慢至15天。课程里讲解云函数设计多种方法,包括自动生成代码,自己封装unicloud客户端api.还详细讲解了vkcloud的使用方法。还讲解前端使用uni-starter模板开发,并讲解各种官方常用组件与第三方组件的使用并修改。后台管理系统介绍了vkcloudadmin框架的一些高级技巧。同时课程中讲解了开发中遇到的各种bug该怎么解决

课程学习地址:
https://study.163.com/course/courseMain.htm?courseId=1213169818&share=2&shareId=480000002289465

继续阅读 »

自己摸索,不如直接通过视频学习,数购优惠券项目为你提供了快捷学习uniCloud方法,帮大家踩过不少坑。该项目可以直接运营。

该课程通过项目实战,能完全掌握unicloud项目开发到部署,使用该课程的思路能一个人快速完成项目,相似项目快至3-7天,慢至15天。课程里讲解云函数设计多种方法,包括自动生成代码,自己封装unicloud客户端api.还详细讲解了vkcloud的使用方法。还讲解前端使用uni-starter模板开发,并讲解各种官方常用组件与第三方组件的使用并修改。后台管理系统介绍了vkcloudadmin框架的一些高级技巧。同时课程中讲解了开发中遇到的各种bug该怎么解决

课程学习地址:
https://study.163.com/course/courseMain.htm?courseId=1213169818&share=2&shareId=480000002289465

收起阅读 »