HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

建议官方把选择插件时,ID显示出来

插件

建议官方把选择插件时,ID显示出来,并且对于上ID

uni.requireNativePlugin('XXX')

基本靠蒙的(插件名称有可以相似或相同)

建议官方把选择插件时,ID显示出来,并且对于上ID

uni.requireNativePlugin('XXX')

基本靠蒙的(插件名称有可以相似或相同)

请问uniCloud有什么使用限制吗?

uniCloud

请问uniCloud有什么使用限制吗?
比如 存储空间、数据库大小、云函数调用次数等?

请问uniCloud有什么使用限制吗?
比如 存储空间、数据库大小、云函数调用次数等?

Mac: 使用git,出现xcrun错误的解决方案

xcrun Git

使用git时遇到的错误

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

解决方案

打开终端输入如下命令:

$ xcode-select --install
继续阅读 »

使用git时遇到的错误

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

解决方案

打开终端输入如下命令:

$ xcode-select --install
收起阅读 »

【uni-app】旧型号的手机页面渲染慢,导致先白屏一会才显示出页面的问题

性能优化 性能 uniapp

uni-app的项目,主要是vue的页面,在性能比较高的手机上,渲染速度没啥问题,一般页面切换过去,马上就能渲染出页面,但是在一些旧型号的手机上,比如我的一台iPhone6,页面渲染的内容稍微多一点,可能就会先白屏,再渲染出页面了。
这个问题,如果你顶部导航栏和底部Tab页用的是uni-app默认原生的问题不是很大,因为这两块是原生的关系,一般切换页面直接就显示出来了,然后中间的内容再加载,可能在体验上稍微会好点,但是当我用到了自定义的导航栏,那么这个问题就被放大了,因为老手机切换页面时,整个页面都会白一会,没有任何内容,我自己在生命周期中打印过日志:onLoad、onShow都比较快,接下去onReady有时候可以比onShow慢个整整1秒还要多,也就意味着整个页面要白屏1秒以上,这个体验就非常差了。
最后说一下我目前的渲染策略:首先自定义的vue导航栏直接渲染,然后有一个字段在onReady时候会设置为true,页面的其他内容,只有这个字段为true的时候,才会渲染。这样做的目的就是让导航栏尽快的渲染出来,好让页面不要长时间白屏,至少有点东西显示,只能说是一个没有办法的办法吧。。。
在这里也希望uni-app团队也关注一下这方面的性能问题,毕竟现在市面上还有很多用户用着一些性能一般的手机。

另外,我用自定义顶部导航栏和底部导航栏的原因是:uni-app自带的原生导航栏功能太单调了,比如顶部导航栏背景色只能是纯色,一旦设计师给我设计了渐变色,那我就要用自定义vue组件来写导航栏了,虽然最新的有subnvue可以解决,但我内心其实是很懒的,希望更多的功能可以通过配置解决。。。

继续阅读 »

uni-app的项目,主要是vue的页面,在性能比较高的手机上,渲染速度没啥问题,一般页面切换过去,马上就能渲染出页面,但是在一些旧型号的手机上,比如我的一台iPhone6,页面渲染的内容稍微多一点,可能就会先白屏,再渲染出页面了。
这个问题,如果你顶部导航栏和底部Tab页用的是uni-app默认原生的问题不是很大,因为这两块是原生的关系,一般切换页面直接就显示出来了,然后中间的内容再加载,可能在体验上稍微会好点,但是当我用到了自定义的导航栏,那么这个问题就被放大了,因为老手机切换页面时,整个页面都会白一会,没有任何内容,我自己在生命周期中打印过日志:onLoad、onShow都比较快,接下去onReady有时候可以比onShow慢个整整1秒还要多,也就意味着整个页面要白屏1秒以上,这个体验就非常差了。
最后说一下我目前的渲染策略:首先自定义的vue导航栏直接渲染,然后有一个字段在onReady时候会设置为true,页面的其他内容,只有这个字段为true的时候,才会渲染。这样做的目的就是让导航栏尽快的渲染出来,好让页面不要长时间白屏,至少有点东西显示,只能说是一个没有办法的办法吧。。。
在这里也希望uni-app团队也关注一下这方面的性能问题,毕竟现在市面上还有很多用户用着一些性能一般的手机。

另外,我用自定义顶部导航栏和底部导航栏的原因是:uni-app自带的原生导航栏功能太单调了,比如顶部导航栏背景色只能是纯色,一旦设计师给我设计了渐变色,那我就要用自定义vue组件来写导航栏了,虽然最新的有subnvue可以解决,但我内心其实是很懒的,希望更多的功能可以通过配置解决。。。

收起阅读 »

小白,一边学习一边用UNI-APP做影视APP对接苹果

分享

对VUE一点不了解,一边学习一边做这个影视APP,播放器等有钱了再买个好点的插件,哈哈。。。
修修改改。其他的还在计划中,感谢帮助过我的人!!

1

2

3

4
5

6
7

继续阅读 »

对VUE一点不了解,一边学习一边做这个影视APP,播放器等有钱了再买个好点的插件,哈哈。。。
修修改改。其他的还在计划中,感谢帮助过我的人!!

1

2

3

4
5

6
7

收起阅读 »

你们这个东西我觉得会死于开发文档

你看看你们写的这个文档 一会就看不清谁和谁是同一个等级了
你们看看pages.json这块 能一眼看清 谁包含的谁吗
来来回回的跳来跳去 一会就不知道这个参数是放哪的了 就不能把一个功能所有的文档都放在一起吗
看着太难受了

你看看你们写的这个文档 一会就看不清谁和谁是同一个等级了
你们看看pages.json这块 能一眼看清 谁包含的谁吗
来来回回的跳来跳去 一会就不知道这个参数是放哪的了 就不能把一个功能所有的文档都放在一起吗
看着太难受了

基于uni-app的支付宝小程序tabBar不显示?无法进行真机调试?

tabbar

基于uni-app的支付宝小程序tabBar不显示


如图:tabbar的backgroundColor属性不能填写white/black(这是微信小程序的值域)

基于uni-app的支付宝小程序无法进行真机调试?

小程序在开发工具上的模拟器正常使用,在线上的体验版或者正式版正常使用
但就是不能就行真机调试,提示:系统错误,正在排查...
特别是做一些支付宝的api接口开发时要求必须要真机调试时就非常恼火

其实这个问题也很邪门,本人遇到这个问题花了一个下午一句一句排查,结果就是因为一个变量:agent导致的,注释掉就没事了
但乍眼一看agent好像也不是关键字吧,而且在线上版本也没影响,就是不能真机调试。
所以只是想说明,大家遇到这种问题,可以多一个考虑问题的方面,检查一下变量名。

本人也是uni-app的新手
希望这篇分享能帮到遇到问题的你

大佬勿喷

继续阅读 »

基于uni-app的支付宝小程序tabBar不显示


如图:tabbar的backgroundColor属性不能填写white/black(这是微信小程序的值域)

基于uni-app的支付宝小程序无法进行真机调试?

小程序在开发工具上的模拟器正常使用,在线上的体验版或者正式版正常使用
但就是不能就行真机调试,提示:系统错误,正在排查...
特别是做一些支付宝的api接口开发时要求必须要真机调试时就非常恼火

其实这个问题也很邪门,本人遇到这个问题花了一个下午一句一句排查,结果就是因为一个变量:agent导致的,注释掉就没事了
但乍眼一看agent好像也不是关键字吧,而且在线上版本也没影响,就是不能真机调试。
所以只是想说明,大家遇到这种问题,可以多一个考虑问题的方面,检查一下变量名。

本人也是uni-app的新手
希望这篇分享能帮到遇到问题的你

大佬勿喷

收起阅读 »

有人做过在线看房小程序的吗?

小程序

有人做过在线看房小程序的吗?类似截图中的服务,可以给我留言

有人做过在线看房小程序的吗?类似截图中的服务,可以给我留言

自定义editor富文本编辑器组件时要注意

onEditorReady() {
uni.createSelectorQuery().in(this).select('#editor').context((res) => {
this.editorCtx = res.context
}).exec()
},

要加入in(this),要不会报context null

继续阅读 »

onEditorReady() {
uni.createSelectorQuery().in(this).select('#editor').context((res) => {
this.editorCtx = res.context
}).exec()
},

要加入in(this),要不会报context null

收起阅读 »

关于在uniapp中使用支付宝登录授权,使用网页授权

因为客户要求可以用支付宝一键登录app,可是不知道为什么官方没有集成支付宝登录,又看了插件市场的要收费的插件,就打了退堂鼓,打算自己研究下,不过安卓开发已经好几年没搞了,现在感觉都已经不会了,而且ios的我也没搞过,用自己做原生插件怕是不行,参考:https://blog.csdn.net/fkew2009/article/details/87621753
下面给大家提供一个思路:

    //跳转到支付宝去要授权  
            goAlipay(){  
                let alipayUrl="https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=商户的APPID&scope=auth_user&redirect_uri=https://www.xxxxxxx.com/alipayCallback.html"  
                let openURL="alipays://platformapi/startapp?appId=20000067&url="+encodeURIComponent(alipayUrl);  
                console.log("openURL:" + openURL);  
                plus.runtime.openURL(openURL,err=>{  
                    uni.showToast({  
                        title:"打开支付宝失败!请检查是否已安装?",  
                        icon:'none'  
                    })  
                })  
            },

然后单独新建一个alipayCallback.html网页用于支付宝回调,内容如下:

<!doctype html>  
<html>  
    <head>  
        <meta charset="utf-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
    </head>  

    <body>  
        <div>  
            如果没有跳转请------  
            <a href="lkk://abc" id="url">点击这里</a>  
        </div>  
        <script type="text/javascript">  
            function getQueryVariable(variable) {  
                var query = window.location.search.substring(1);  
                var vars = query.split("&");  
                for (var i = 0; i < vars.length; i++) {  
                    var pair = vars[i].split("=");  
                    if (pair[0] == variable) {  
                        return pair[1];  
                    }  
                }  
                return (false);  
            }  
            window.onload = function() {  
                var code = getQueryVariable("auth_code");  
                console.log(code);  
                //alert("code:" + code);  
                document.getElementById('url').href = "testapp://io.lkk/login?"+encodeURIComponent(JSON.stringify({"code":code}));  
                window.location.href="testapp://io.lkk/login?"+encodeURIComponent(JSON.stringify({"code":code}));  
            }  
        </script>  
    </body>  

</html>  

然后到manifest.json下配置下scheme,用户在支付宝里跳回app,具体参考:https://ask.dcloud.net.cn/article/409
然后就是到支付宝开发平台添加应用了,怎么创建我就不废话了,你们可以自己百度,主要是配置回调地址,特意截图了,应该可以看明白吧?

然后你们自定义基座下,记得改下版本号,发现不改版本号,制作出来的基座还是和之前一样没变化,
然后将获取到auth_code,传给服务器让他们去获取其他信息了
可以在app.js里获取:

onShow: function() {  
            console.log('App Show')  
            var args = plus.runtime.arguments;  
            console.log('[args参数]',args);  
            let argsUrl = JSON.parse(decodeURIComponent(args.split('?')[1]));  
            if (argsUrl.code) {  
                // 处理args参数,如直达到某新页面等    
                plus.runtime.arguments = {};  
                uni.redirectTo({  
                    url: "/pages/login/login?code="+argsUrl.code  
                });  
            }  
        },

argsUrl.code 就是从支付宝返回的auth_code,发给服务器的逻辑我放到login页面里了,这个我就不贴出来了,

总结:
该方法确实可以得到支付宝的登录授权,就是体验不好,因为有alipayCallback.html中间页面,支付宝会报警告如下:


全过程大概要用户点击四次屏幕,体验太不好,我也是没法想到其他好法子了,Android我测试是没有问题的,iOS没测,不过听说在iOSscheme会不行,回头疫情好了去公司我再测测看行不行

不知道为什么用不了,支付宝既然有这个为什么不给用呢?百度谷歌都不知道该怎么用,如果有知道怎么用的兄弟告诉我下,感谢不尽!

继续阅读 »

因为客户要求可以用支付宝一键登录app,可是不知道为什么官方没有集成支付宝登录,又看了插件市场的要收费的插件,就打了退堂鼓,打算自己研究下,不过安卓开发已经好几年没搞了,现在感觉都已经不会了,而且ios的我也没搞过,用自己做原生插件怕是不行,参考:https://blog.csdn.net/fkew2009/article/details/87621753
下面给大家提供一个思路:

    //跳转到支付宝去要授权  
            goAlipay(){  
                let alipayUrl="https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=商户的APPID&scope=auth_user&redirect_uri=https://www.xxxxxxx.com/alipayCallback.html"  
                let openURL="alipays://platformapi/startapp?appId=20000067&url="+encodeURIComponent(alipayUrl);  
                console.log("openURL:" + openURL);  
                plus.runtime.openURL(openURL,err=>{  
                    uni.showToast({  
                        title:"打开支付宝失败!请检查是否已安装?",  
                        icon:'none'  
                    })  
                })  
            },

然后单独新建一个alipayCallback.html网页用于支付宝回调,内容如下:

<!doctype html>  
<html>  
    <head>  
        <meta charset="utf-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
    </head>  

    <body>  
        <div>  
            如果没有跳转请------  
            <a href="lkk://abc" id="url">点击这里</a>  
        </div>  
        <script type="text/javascript">  
            function getQueryVariable(variable) {  
                var query = window.location.search.substring(1);  
                var vars = query.split("&");  
                for (var i = 0; i < vars.length; i++) {  
                    var pair = vars[i].split("=");  
                    if (pair[0] == variable) {  
                        return pair[1];  
                    }  
                }  
                return (false);  
            }  
            window.onload = function() {  
                var code = getQueryVariable("auth_code");  
                console.log(code);  
                //alert("code:" + code);  
                document.getElementById('url').href = "testapp://io.lkk/login?"+encodeURIComponent(JSON.stringify({"code":code}));  
                window.location.href="testapp://io.lkk/login?"+encodeURIComponent(JSON.stringify({"code":code}));  
            }  
        </script>  
    </body>  

</html>  

然后到manifest.json下配置下scheme,用户在支付宝里跳回app,具体参考:https://ask.dcloud.net.cn/article/409
然后就是到支付宝开发平台添加应用了,怎么创建我就不废话了,你们可以自己百度,主要是配置回调地址,特意截图了,应该可以看明白吧?

然后你们自定义基座下,记得改下版本号,发现不改版本号,制作出来的基座还是和之前一样没变化,
然后将获取到auth_code,传给服务器让他们去获取其他信息了
可以在app.js里获取:

onShow: function() {  
            console.log('App Show')  
            var args = plus.runtime.arguments;  
            console.log('[args参数]',args);  
            let argsUrl = JSON.parse(decodeURIComponent(args.split('?')[1]));  
            if (argsUrl.code) {  
                // 处理args参数,如直达到某新页面等    
                plus.runtime.arguments = {};  
                uni.redirectTo({  
                    url: "/pages/login/login?code="+argsUrl.code  
                });  
            }  
        },

argsUrl.code 就是从支付宝返回的auth_code,发给服务器的逻辑我放到login页面里了,这个我就不贴出来了,

总结:
该方法确实可以得到支付宝的登录授权,就是体验不好,因为有alipayCallback.html中间页面,支付宝会报警告如下:


全过程大概要用户点击四次屏幕,体验太不好,我也是没法想到其他好法子了,Android我测试是没有问题的,iOS没测,不过听说在iOSscheme会不行,回头疫情好了去公司我再测测看行不行

不知道为什么用不了,支付宝既然有这个为什么不给用呢?百度谷歌都不知道该怎么用,如果有知道怎么用的兄弟告诉我下,感谢不尽!

收起阅读 »

建议增加 <script src="xx.js">标签的快捷打开功能

快捷方式 JavaScript
  1. 如下图,鼠标在这行时,按下ctrl键,就可以将src变为能点击状态, 然后就可以打开此文件,这样非常方便。
  2. 支持的文件需要考虑php aspx jsp...这些动态的文件, 不能只支持html,因为还有很多人用混合模式,或mvc

继续阅读 »
  1. 如下图,鼠标在这行时,按下ctrl键,就可以将src变为能点击状态, 然后就可以打开此文件,这样非常方便。
  2. 支持的文件需要考虑php aspx jsp...这些动态的文件, 不能只支持html,因为还有很多人用混合模式,或mvc

收起阅读 »