记录uniapp

 

  1. 不要用原生的img标签 ,app端会不显示, 需要用image 标签
  2.  长按事件用  @longpress  监听触发,抬起用@touchend 监听触发,如果用 @touchstart 和 @touchend 组合用的话,app端无法监听到长按事件
  3. 场景:自建聊天室,需要每发送或者接收一条消息则滚动到最底部 。
    1.   <scroll-view scroll-y="true" :scroll-top="scollViemTop" id="list" >

       //当聊天数据发送变化时,则更新滚动条下滑的高度
              watch:{ 
                  list(value){
                      setTimeout(()=>{
                          this.scollViemTop = this.scollViemTop+1000;  //想要滚动到最底部,则需要更新的滚动高度大于剩余滚动条的长度,所以可以设置的尽可能的大
                      },200)
                  }
              },
  4. 上传文件api:   uni.uploadFile   这是个巨坑
    1. 需要自定义参数接收  const uploadTask = uni.uploadFile(OBJECT)  ,要不然发送不了,后端也接收不到,至少安卓端真机测试是这样的
    2. header对象中传入  'content-type': 'multipart/form-data',  否则后端解析不出来文件,这个根据需求和后端对接
  5. 进入app会默认永久拒绝语音权限,如果要获取语音权限,需要在根目录下manifest.json,勾选    App模块配置  --》 Speech(语音输入,只能选择一个) ---》 讯飞语音识别  
  6. 兄弟组件传值使用  uni.$emit() / uni.$on()
  7. nvue项目 , 组件挂载构子用mounted , 页面挂载则用onLoad 
  8. App平台 v3 模式暂不支持在 js 文件中引用"./styles/main.less" 需要在 style 内引用
  9. ui单位尺寸 rpx为响应式,750px设计稿的尺寸比例: 1px = 1rpx , 屏幕大于960px时,则以375比例显示
  10. 真机调试页面,vConsole使用
    1.   在main.js直接引入vConsole.min.js,只可以在H5中使用,APP中是一片空白。
      如果要在APP中使用,需要借助render.js,在页面中单独引入,代码如下:
      <script module="vconsole" lang="renderjs">  
          import VConsole from '../../static/vConsole.js'  
          new VConsole();  
      </script>
  11. 安卓设备获取设备的唯一标识
    1.   
      //#ifdef APP-PLUS
         this.uuid = plus.device.uuid;  //plus.runtime.appid;
      //#endif

       

      。。。

 12.禁止穿透

 

不加 @touchmove.stop = "" 会存在弹框内滚动穿透的情况,导致鼠标滚轮可以滑动滚动条, 而不能拖拽内容滚动
一般出现于uni-popup组件,弹框中的滚动条手滑无法滚动

以下例子:

<template>
    <view class="box"  @touchmove.stop = "">
        <view class="title">冲突日程</view>
        <view class="center">
            <view class="center-item" v-for="(item,index) in scheduleConflict" :key='item.oldInfo.uuid' >
                <view class="item-content">{{item.hztScheduleType}}</view>
                <view style="color: #999999;" class="item-content">{{item.hztStartTime}}——{{item.hztEndTime}}</view>
                <view class="item-content1" style="color: #F5222D;">{{item.hztScheduleRemark}}</view>
            </view>
        </view>
    </view>
</template>

<script>
    export default{
        props:{
            scheduleConflict:{
                type:Array
            }
        }
    }
</script>

13.开启USB调试之后  HBuilder X  依然找不到手机, 需要在  默认USB配置  中开启 MIDI

 

 

。。。

 

posted @ 2021-09-18 22:47  混名汪小星  阅读(126)  评论(0编辑  收藏  举报