HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

使用原生导航栏 实现右上角编辑完成按钮切换

导航栏

要实现一个需求页面 顶部导航栏 右侧显示“编辑”按钮,点击编辑按钮可以切换文字显示“完成”

我们通常的做法是直接把原生导航栏干掉,使用自定义导航栏。
但是,自己写的导航栏总是看起来不太规范 字体太大 颜色不对 高度不对,跟原生导航栏一对比还是差点劲!
所以我建议,尽量使用原生导航栏!原生导航栏实在满足不了需求咱们再自己重写!

如下设置:就可以实现非常规范又好看的带右侧编辑按钮的原生导航栏

{  
  "pages": [  
    {  
      "path": "pages/index/index",  
      "style": {  
        "navigationBarTitleText": "设置原生标题右侧文字",  
        "app-plus": {  
          "titleNView": {  
            "titleColor": "#333",  
            "buttons": [{  
              "type": "none",  
              "width": "50px",  
              "fontSrc": "",  
              "text": "编辑",  
              "fontSize": "16px",  
              "color": "#333"  
            }]  
          }  
        }  
      }  
    }  
  ]  
}  
    export default {  
        data() {  
            return {  
                title: 'Hello',  
                isEdit: false  
            }  
        },  
        onLoad() {  

        },  
        methods: {  

        },  
        onNavigationBarButtonTap(e) {  
            // #ifdef APP-PLUS    
            var webView = this.$mp.page.$getAppWebview();  
            let str = "";  
            this.isEdit = !this.isEdit;  
            this.isEdit ? str = "编辑" : str = "完成";  
            webView.setTitleNViewButtonStyle(0, {  
                text: str,  
            });  
            // #endif  
        }  
    }

参考文章:
插件市场 非常全面好用的 原生导航栏 示例应用,一定要好好收藏!能用原生导航栏的就别自己手写
https://ext.dcloud.net.cn/plugin?id=1765
微信小程序自定义导航栏(z-navbar)
https://ext.dcloud.net.cn/plugin?id=10685
关于状态栏的设置,扩展阅读。在自定义原生导航栏时,会需要注意状态栏高度的设置。常用的状态栏css变量一定要用起来,不要再重复造轮子
https://uniapp.dcloud.net.cn/tutorial/syntax-css.html#css-变量

继续阅读 »

要实现一个需求页面 顶部导航栏 右侧显示“编辑”按钮,点击编辑按钮可以切换文字显示“完成”

我们通常的做法是直接把原生导航栏干掉,使用自定义导航栏。
但是,自己写的导航栏总是看起来不太规范 字体太大 颜色不对 高度不对,跟原生导航栏一对比还是差点劲!
所以我建议,尽量使用原生导航栏!原生导航栏实在满足不了需求咱们再自己重写!

如下设置:就可以实现非常规范又好看的带右侧编辑按钮的原生导航栏

{  
  "pages": [  
    {  
      "path": "pages/index/index",  
      "style": {  
        "navigationBarTitleText": "设置原生标题右侧文字",  
        "app-plus": {  
          "titleNView": {  
            "titleColor": "#333",  
            "buttons": [{  
              "type": "none",  
              "width": "50px",  
              "fontSrc": "",  
              "text": "编辑",  
              "fontSize": "16px",  
              "color": "#333"  
            }]  
          }  
        }  
      }  
    }  
  ]  
}  
    export default {  
        data() {  
            return {  
                title: 'Hello',  
                isEdit: false  
            }  
        },  
        onLoad() {  

        },  
        methods: {  

        },  
        onNavigationBarButtonTap(e) {  
            // #ifdef APP-PLUS    
            var webView = this.$mp.page.$getAppWebview();  
            let str = "";  
            this.isEdit = !this.isEdit;  
            this.isEdit ? str = "编辑" : str = "完成";  
            webView.setTitleNViewButtonStyle(0, {  
                text: str,  
            });  
            // #endif  
        }  
    }

参考文章:
插件市场 非常全面好用的 原生导航栏 示例应用,一定要好好收藏!能用原生导航栏的就别自己手写
https://ext.dcloud.net.cn/plugin?id=1765
微信小程序自定义导航栏(z-navbar)
https://ext.dcloud.net.cn/plugin?id=10685
关于状态栏的设置,扩展阅读。在自定义原生导航栏时,会需要注意状态栏高度的设置。常用的状态栏css变量一定要用起来,不要再重复造轮子
https://uniapp.dcloud.net.cn/tutorial/syntax-css.html#css-变量

收起阅读 »

扫码进入微信小程序 onLaunch第二次获取不到参数

开发环境:

Uniapp开发微信小程序,扫码进入小程序,二维码携带参数

经过多次测试发现:
第一次扫码进入小程序 可以在APP.vue页面的onLaunch生命周期中正常获取到参数options
第二次扫码在onLaunch中无法获取到参数

原因:

onLaunch只有在小程序初始化的时候才会执行,所以第二次热启动的时候是不会执行的,所以只能拿到第一次进来的时候的二维码参数

解决方案:

在APP.vue页面的onShow生命周期中可以获取到第二次新的参数

继续阅读 »

开发环境:

Uniapp开发微信小程序,扫码进入小程序,二维码携带参数

经过多次测试发现:
第一次扫码进入小程序 可以在APP.vue页面的onLaunch生命周期中正常获取到参数options
第二次扫码在onLaunch中无法获取到参数

原因:

onLaunch只有在小程序初始化的时候才会执行,所以第二次热启动的时候是不会执行的,所以只能拿到第一次进来的时候的二维码参数

解决方案:

在APP.vue页面的onShow生命周期中可以获取到第二次新的参数

收起阅读 »

uni_webview.js UniAppJSBridgeReady app端触发延迟

img标签会阻塞触发UniAppJSBridgeReady,后面希望会优化吧

img标签会阻塞触发UniAppJSBridgeReady,后面希望会优化吧

撒钱活动 - 高德拉新

高德地图

活动说明:
1、一键注册高德账号,并认证为企业开发者,奖励10元;
2、注册为高德企业开发者后,第3个月,日平均调用量大于100,再次奖励200元;

参与方式:
登录dev开发者中心,点击左侧菜单“个人中心 - 高德拉新”,点击“一键注册高德账号”按钮,然后按页面提示完成高德账号的注册、绑定即可。

注意事项:
1、在高德侧,务必注册为企业用户才有效,个人用户无法领取奖励金;
2、必须通过DCloud的开发者中心完成注册才有效,自行到高德平台注册无效;
3、在高德平台需要是全新账号,即手机号之前未在高德平台注册或绑定,企业名称也是首次在高德平台进行实名认证;若绑定历史老账号,则无法获得奖励金;
4、高德方面按月统计新注册用户,奖励金额会有1~4个月的延迟;
5、奖励金可以选择充值到DCloud云服务中(以代金券下发),也可以绑定自己的支付宝账号,一键提取到自己的支付宝账号中。

继续阅读 »

活动说明:
1、一键注册高德账号,并认证为企业开发者,奖励10元;
2、注册为高德企业开发者后,第3个月,日平均调用量大于100,再次奖励200元;

参与方式:
登录dev开发者中心,点击左侧菜单“个人中心 - 高德拉新”,点击“一键注册高德账号”按钮,然后按页面提示完成高德账号的注册、绑定即可。

注意事项:
1、在高德侧,务必注册为企业用户才有效,个人用户无法领取奖励金;
2、必须通过DCloud的开发者中心完成注册才有效,自行到高德平台注册无效;
3、在高德平台需要是全新账号,即手机号之前未在高德平台注册或绑定,企业名称也是首次在高德平台进行实名认证;若绑定历史老账号,则无法获得奖励金;
4、高德方面按月统计新注册用户,奖励金额会有1~4个月的延迟;
5、奖励金可以选择充值到DCloud云服务中(以代金券下发),也可以绑定自己的支付宝账号,一键提取到自己的支付宝账号中。

收起阅读 »

2024年国家网络安全宣传周将于9月9日至15日举办

国家网络安全宣传周

新华社北京9月2日电(记者胡梦雪、王思北)记者从2日召开的2024年国家网络安全宣传周新闻发布会上获悉,2024年国家网络安全宣传周将于9月9日至15日在全国范围举办,开幕式等重要活动在广东省广州市举行。

2024年国家网络安全宣传周以“网络安全为人民,网络安全靠人民”为主题,将举办开幕式、网络安全技术高峰论坛主论坛暨粤港澳大湾区网络安全大会、网络安全博览会,集中发布一系列网络安全领域重要成果。同时将举行校园日、电信日、法治日、金融日、青少年日、个人信息保护日等系列主题日活动。

此外,今年网安周还将举办网络安全产品和服务供需洽谈会、网络安全人才招聘、网络安全创新创业投资等系列活动,邀请国内顶尖投资机构、网络安全头部企业、科研机构等300余家单位参加,着力推动网络安全人才、技术、产业、资本高效对接。

中央网信办网络安全协调局局长高林在会上介绍,自首届网络安全宣传周举办以来,各地区、各部门以百姓通俗易懂、喜闻乐见的方式,广泛开展网络安全进社区、进农村、进企业、进机关、进校园、进军营、进家庭等活动,宣传网络安全理念、普及网络安全知识、推广网络安全技能,有力推动全社会网络安全意识和防护技能的提升,对于维护国家网络安全、保障人民群众合法权益发挥了重要作用。

2024年国家网络安全宣传周由中央宣传部、中央网信办、教育部、工业和信息化部、公安部、中国人民银行、国家广播电视总局、全国总工会、共青团中央、全国妇联等十部门联合举办。

来源: 网络安全宣传周

继续阅读 »

新华社北京9月2日电(记者胡梦雪、王思北)记者从2日召开的2024年国家网络安全宣传周新闻发布会上获悉,2024年国家网络安全宣传周将于9月9日至15日在全国范围举办,开幕式等重要活动在广东省广州市举行。

2024年国家网络安全宣传周以“网络安全为人民,网络安全靠人民”为主题,将举办开幕式、网络安全技术高峰论坛主论坛暨粤港澳大湾区网络安全大会、网络安全博览会,集中发布一系列网络安全领域重要成果。同时将举行校园日、电信日、法治日、金融日、青少年日、个人信息保护日等系列主题日活动。

此外,今年网安周还将举办网络安全产品和服务供需洽谈会、网络安全人才招聘、网络安全创新创业投资等系列活动,邀请国内顶尖投资机构、网络安全头部企业、科研机构等300余家单位参加,着力推动网络安全人才、技术、产业、资本高效对接。

中央网信办网络安全协调局局长高林在会上介绍,自首届网络安全宣传周举办以来,各地区、各部门以百姓通俗易懂、喜闻乐见的方式,广泛开展网络安全进社区、进农村、进企业、进机关、进校园、进军营、进家庭等活动,宣传网络安全理念、普及网络安全知识、推广网络安全技能,有力推动全社会网络安全意识和防护技能的提升,对于维护国家网络安全、保障人民群众合法权益发挥了重要作用。

2024年国家网络安全宣传周由中央宣传部、中央网信办、教育部、工业和信息化部、公安部、中国人民银行、国家广播电视总局、全国总工会、共青团中央、全国妇联等十部门联合举办。

来源: 网络安全宣传周

收起阅读 »

关于uni手机号一键登录价格调整的公告

一键登录

因三大运营商的集体涨价,自2024年10月01日零时起,uni手机号一键登录服务的价格将进行调整。

这是一次全行业涨价,其他如阿里云一键登陆等也都涨价了。

调整后的价格如下所示:

按量计费

按量价格为:0.03元/次

资源包

规格(次数) 价格(元) 相对按量计费单价(元/次)
1万 290 0.029
2万 570 0.0285
5万 1400 0.028
10万 2750 0.0275
20万 5400 0.027
50万 13250 0.0265
100万 26000 0.026
200万 51000 0.0255
500万 125000 0.025

注意:资源包自购买之日起6个月内有效。

调价后,uni一键登录依然比其他云厂商的竞品便宜

  • 阿里云

阿里云的号码验证(一键登录)按量计费起步定价为4分/次,比uni一键登录的3分/次贵了33%;

阿里云一键登录需月消耗需超过500万次后,才可达到3分/次的单价,实际上大多开发者的App,月消耗是远到不了500万次的,详见阿里云 - 号码认证 - 产品计费

阿里云的套餐包,单价也比uni一键登录要贵很多,以阿里云官网单价最低的100万次套餐为例:

100万次的一键登录套餐,阿里云比uni一键登录要贵6500元:

厂商 价格(元) 单价(元/次)
阿里云 32500 0.0325
uni一键登录 26000 0.026

实际上,阿里云100万次的套餐包,甚至比uni一键登录的按量计费还要贵不少。

  • 腾讯云

腾讯云的号码验证(一键登录)不支持在线自助开通,需要先填写申请表单,等待审核,且腾讯云仅支持按量计费,不支持资源包。

腾讯云的按量定价和阿里云一样,也是4分/次起步,同样比uni一键登录要贵33%;

详见:腾讯云号码认证 - 计费概述

即便加上uniCloud云函数的费用,uni一键登陆也更便宜。详见

总体而言,不管是按量计费,还是套餐包,uni一键登录都对中小开发者更为友好!

调价后,uni一键登录依然比短信更具性价比

uni一键登录相比短信验证码,具备明显的优势:

  • 用户体验好:一键登录,无需等待和复制短信验证码,能有效降低用户流失率,提升用户注册转换率;
  • 便宜:虽然调价了,但uni一键登录,平均每次验证仅需2分多,比短信验证码更为便宜;
  • 安全:采用运营商网关认证,避免短信劫持,有效提升安全性

相对短信验证码,我们更推荐开发者使用一键登录。

继续阅读 »

因三大运营商的集体涨价,自2024年10月01日零时起,uni手机号一键登录服务的价格将进行调整。

这是一次全行业涨价,其他如阿里云一键登陆等也都涨价了。

调整后的价格如下所示:

按量计费

按量价格为:0.03元/次

资源包

规格(次数) 价格(元) 相对按量计费单价(元/次)
1万 290 0.029
2万 570 0.0285
5万 1400 0.028
10万 2750 0.0275
20万 5400 0.027
50万 13250 0.0265
100万 26000 0.026
200万 51000 0.0255
500万 125000 0.025

注意:资源包自购买之日起6个月内有效。

调价后,uni一键登录依然比其他云厂商的竞品便宜

  • 阿里云

阿里云的号码验证(一键登录)按量计费起步定价为4分/次,比uni一键登录的3分/次贵了33%;

阿里云一键登录需月消耗需超过500万次后,才可达到3分/次的单价,实际上大多开发者的App,月消耗是远到不了500万次的,详见阿里云 - 号码认证 - 产品计费

阿里云的套餐包,单价也比uni一键登录要贵很多,以阿里云官网单价最低的100万次套餐为例:

100万次的一键登录套餐,阿里云比uni一键登录要贵6500元:

厂商 价格(元) 单价(元/次)
阿里云 32500 0.0325
uni一键登录 26000 0.026

实际上,阿里云100万次的套餐包,甚至比uni一键登录的按量计费还要贵不少。

  • 腾讯云

腾讯云的号码验证(一键登录)不支持在线自助开通,需要先填写申请表单,等待审核,且腾讯云仅支持按量计费,不支持资源包。

腾讯云的按量定价和阿里云一样,也是4分/次起步,同样比uni一键登录要贵33%;

详见:腾讯云号码认证 - 计费概述

即便加上uniCloud云函数的费用,uni一键登陆也更便宜。详见

总体而言,不管是按量计费,还是套餐包,uni一键登录都对中小开发者更为友好!

调价后,uni一键登录依然比短信更具性价比

uni一键登录相比短信验证码,具备明显的优势:

  • 用户体验好:一键登录,无需等待和复制短信验证码,能有效降低用户流失率,提升用户注册转换率;
  • 便宜:虽然调价了,但uni一键登录,平均每次验证仅需2分多,比短信验证码更为便宜;
  • 安全:采用运营商网关认证,避免短信劫持,有效提升安全性

相对短信验证码,我们更推荐开发者使用一键登录。

收起阅读 »

uni-app自定义弹窗

uni-app自定义弹窗

github地址,喜欢的可以star下哦

插件预览图

使用教程

1.插件代码拷贝

  • 下载后把components目录下modal.vue文件拷贝到自己项目目录下

2.插件使用

  • vue页面使用
<template>  
    <view>  
        <button type="primary" @tap="isShowAdTip = true">显示</button>  
        <modal v-if="isShowAdTip" :cancelVisble="false" @cancel="cancel" @ok="ok">这是提示内容</modal>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                isShowAdTip:true  
            }  
        },  
        methods: {  
            cancel(){  
                console.log("cancel回调")  
                this.isShowAdTip = false  
            },  
            ok(){  
                console.log("ok回调")  
                this.isShowAdTip = false  
            }  
        }  
    }  
</script>  
API

// 取消按钮文字  
cancelText:{  
    type:String,  
    default:"取消"  
},  
// 取消按钮是否显示  
cancelVisble:{  
    type:Boolean,  
    default:true  
},  
// 确认按钮文字  
okText:{  
    type:String,  
    default:"确定"  
},  
// 幽灵属性,使按钮背景透明  
okGhost:{  
    type:Boolean,  
    default:false  
},  
// 点击蒙层是否允许关闭  
maskClosable:{  
    type:Boolean,  
    default:true  
},  
// 是否显示关闭按钮  
closable:{  
    type:Boolean,  
    default:true  
},  

// 事件  
@cancel   点击遮罩层或右上角叉或取消按钮的回调  
@ok       点击确定回调  
兼容性

uni-app项目中使用都兼容

继续阅读 »

uni-app自定义弹窗

github地址,喜欢的可以star下哦

插件预览图

使用教程

1.插件代码拷贝

  • 下载后把components目录下modal.vue文件拷贝到自己项目目录下

2.插件使用

  • vue页面使用
<template>  
    <view>  
        <button type="primary" @tap="isShowAdTip = true">显示</button>  
        <modal v-if="isShowAdTip" :cancelVisble="false" @cancel="cancel" @ok="ok">这是提示内容</modal>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                isShowAdTip:true  
            }  
        },  
        methods: {  
            cancel(){  
                console.log("cancel回调")  
                this.isShowAdTip = false  
            },  
            ok(){  
                console.log("ok回调")  
                this.isShowAdTip = false  
            }  
        }  
    }  
</script>  
API

// 取消按钮文字  
cancelText:{  
    type:String,  
    default:"取消"  
},  
// 取消按钮是否显示  
cancelVisble:{  
    type:Boolean,  
    default:true  
},  
// 确认按钮文字  
okText:{  
    type:String,  
    default:"确定"  
},  
// 幽灵属性,使按钮背景透明  
okGhost:{  
    type:Boolean,  
    default:false  
},  
// 点击蒙层是否允许关闭  
maskClosable:{  
    type:Boolean,  
    default:true  
},  
// 是否显示关闭按钮  
closable:{  
    type:Boolean,  
    default:true  
},  

// 事件  
@cancel   点击遮罩层或右上角叉或取消按钮的回调  
@ok       点击确定回调  
兼容性

uni-app项目中使用都兼容

收起阅读 »

uniapp x 数据类型

uni-app-x

uniapp x 数据类型那块太难用了,不像js也不像java,玩了两天。放弃了,map list太难用了。先改改吧,还有接口太少,抓紧更新,代码为了适配,写的像屎一样。

uniapp x 数据类型那块太难用了,不像js也不像java,玩了两天。放弃了,map list太难用了。先改改吧,还有接口太少,抓紧更新,代码为了适配,写的像屎一样。

编辑器导入插件是该优化下了

优化

多个目录,子目录名一样,就会这样............

多个目录,子目录名一样,就会这样............