uniapp 踩坑记录

踩坑

  • 自定义vue 组件不可以使用 页面的生命周期?
    • 是的,只能使用Vue原生的生命周期。
  • 每次线上打包APP之前要先去检查HbuilderX是不是最新版本
  • 使用不同的 dcloud 账号 需要重新获取 appid(应用程序的唯一标识),appid 更换后,之前安装的应用程序是没有办法自动更新的,会生成两个APP
    • 解决方案app升级通知用户,手动卸载之前的app,使用新安装的app,避免出现这种情况
    • 解决方案:可以让APP的拥有者(最开始获取Appid的账号),点击帮助 => 开发者云端控制台 => 我创建的应用 => 点击应用名 => 项目成员管理(左侧)=>添加就可以了
  • 使用的 Android 证书不同,AppId 一样,会导致App无法安装。
  • plus.runtime.version获取版本号,只有经过云打包后才会生效,所以在本地获取与设置的可能有出入
    • 解决方案可以通过plus.runtime.getProperty的方式来获取应用信息,从中获取版本号
  • 获取 uniapp 中的节点设置样式,document 在 uniapp 中是不存在的
    • 解决方案: 可以使用 vue$refs去获取节点,注意生命周期节点渲染顺序。也可以提前写好样式,通过双向数据绑定,控制变量添加 / 移除 类名
  <view :class="flag:'className':null "></view> 
  • 抽屉(uni-drawer)弹出后,在抽屉上触发滚动事件,也会引起遮罩层下方页面同时滚动
    • 解决方案
<template>
  <view class='container' :class="isOpen?'stop-move-scroll':''" >
    <uni-drawer ref="drawer" @change="changeDrawer">
        <!-- 内容区 -->
    </uni-drawer>
    <button type="default" @click="open"></button>
  </view>
</template>
<script>
  export default{
    data(){
      return {
        isOpen:false,
      }
    },
    methods:{
      open(){
        // 打开抽屉
        this.$refs.drawer.open();
        this.isOpen = true;
      },
      // 监听抽屉状态变化
      changeDrawer(state){
        this.isOpen = state;
        // 一些处理 ...
      }
    }
  }
</script>
<style>
  .stop-move-scroll {
	  height: 100vh;
 	  overflow: hidden;
  }
</style>

uni.upx2px(750) == 750rpx

  • 调试运行APP基座的时候,发现老是调用之前开发过的APP,调用起来后,里面确实是现在开发的APP,但是无法启用调试,原因是选中了这个自定义基座在这里插入图片描述

    • 解决方案:修改成标准运行基座就好了
  • 支付uni.requestPayment 支付宝支付报错62009 原因是 没按规定格式传参
    在这里插入图片描述

  • 已经上线的App修改过名字之后,在以前的版本上安装更新更换过名字的App会提示该应用含不良信息

    • 解决方案https://ask.dcloud.net.cn/article/37501
    • 解决方案 :修改了版本号(应用版本名称、应用版本号【要比之前版本高】)就好了??? 其它什么也没修改。
  • uniapp包名appid 的关系

    • 两者没有任何关系
    • 包名是指在打包的时候填的(默认为应用的appid,但格式不完全一样),包名可以自己任意填,但最好按照规范填写。
    • appid 是 应用的唯一标识。
  • 在使用高德地图,逆编码(根据地址获取经纬度)api时,提示 10009 在查阅错误码后,发现原因是因为 申请的key类型不一样,之前申请的是js API,逆编码需要申请 Web服务API,在已经申请的应用上面新申请 对应服务key 就好了。

  • 使用 uniapp 开发微信小程序的时候,预览的时候,出现文件体积过大,可以 在 manifest.json 配置文件,找到微信小程序配置 勾选上 上传代码时 自动压缩 ,就可以了。

  • 在使用 定位的时候 ,需要勾选定位权限,需要选择 定位 和地图 ,H5 端需要使用 腾讯地图key,其他端需要使用 高德或者百度 key 。在选择 key 类型的时候,申请 安卓端 的 key https://ask.dcloud.net.cn/article/29

  • uniapp 中 父子组件之间自定义方法

    • 子组件 uni.$emit(自定义事件名,参数);
    • 父组件 uni.on(自定义事件名,回调函数)
  • 从一个APP跳转到另一个APP


// 调用第三方程序
function launchApp() {
	if ( plus.os.name == "Android" ) {
		plus.runtime.launchApplication( {pname:"com.android.browser"
			,extra:{url:"http://www.html5plus.org"}}, function ( e ) {
				alert( "Open system default browser failed: " + e.message );
		} );
	} else if ( plus.os.name == "iOS" ) {
		plus.runtime.launchApplication( {action:"http://www.html5plus.org"}, function ( e ) {
			alert( "Open system default browser failed: " + e.message );
		} );
	}
}

微信根据包名获取应用签名获取工具

Android平台签名证书(.keystore)生成指南

360 加固保

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值