uni-app(五)小程序的一些注意事项,踩坑

简介: uni-app 开发
  • onPullDownRefresh 下拉刷新,使用时,需要注意,uni-app 官网有这么两段话:

    • 需要在 pages.json 里,找到的当前页面的pages节点,并在 style 选项中开启 enablePullDownRefresh
    • 当处理完数据刷新后,uni.stopPullDownRefresh 可以停止当前页面的下拉刷新pages.json 页面
"pages": [
    {
      "path": "pages/index/index",
      "style": {
        "enablePullDownRefresh": true
      }
    },
    ...
]

index.vue 页面

// 下拉刷新
onPullDownRefresh() {
   uni.showLoading({
      title: '刷新中...'
   })
   // 这里执行你设定的动作
   ...
   // 定时关闭
   setTimeout(function () {
      uni.hideLoading()
      uni.stopPullDownRefresh()
   }, 1000)
}
  • 段落换行、超过指定行用省略号代替
    如果使用了破坏正常文档流的样式属性,比如定位,或者弹性盒 flex 等属性时,可以这样强制换行
word-wrap: break-word;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
// 行数可以自行定义
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
  • 图片、文件上传、下载
    使用 uploadFile、downloadFile 方法时,需要在微信公众平台里配置域名,否则,会报错

    登录授权当前小程序后,开发管理 -> 开发设置 -> 服务器域名

  • 隐藏底部 tab
    pages.json 文件里配置的 tabBar 为小程序原生tab,有时候我们需要隐藏、显示:
    隐藏tab,uni.hideTabBar()
    显示tab,uni.showTabBar()
  • 图片缩放展示
    宽高等比缩放,mode="scaleToFill"
    宽度铺满,高度继承原图片高,mode="widthFix"  

  • 图片间隙
    当一组图片横铺、纵铺展开后,图片之间会莫名产生空白间隙,这时给予样式 vertical-align: top;

  • 用户授权
    首次让用户授权,用户拒绝后,需要再次授权怎么办?授权后,需要把数据本地缓存起来,如果用户清除掉了授权信息,怎么重新授权?
    这时,我们不妨将授权封装成一个组件,主动调用
    封装 getInfo 组件
<template>
  <view class="tip" v-show="show">
      <view class="text">需要您授权信息才能获取相关服务</view>
      <view>
        <view class="tipBtn" @click="submit">确定</view>
        <button class="tipBtn" type="default" open-type="getUserInfo" @getuserinfo="getuserinfo">授权</button>
      </view>
  </view>
</template>

<script>
   export default {
     props: {
       show: {
        type: Boolean,
        default: false
       }
     }
     methods: {
       // 用户授权
       getuserinfo(res) {
         let info = res.detail.userInfo || res.mp.detail.userInfo
         // 授权成功,则存储数据
         if (info) {
           uni.setStorageSync('userInfo', info)
         }
         this.$emit('changeShow',false)
      }
    }
   } 
</script>

<style lang="scss" scoped>
// 此处样式,就不描述了
</style>
  • 组建使用
<template>
    <getInfo :show="getInfo @changeShow="changeShow" />
</template>
<script>
   import getInfo from '@/components/getInfo/index'
   export default {
     props: {
       show: {
        getInfo: false
       }
     },
     created() {
       this.getUserInfo()
     },
   components: {
       getInfo
     },
     methods: {
       getuserinfo() {
         this.info = uni.getStorageSync('userInfo')
         if (this.info) {
           // 成功的操作
           ...
         } else {
           // 不存在,则展示授权弹框
           this.getInfo = true
        }
      },
      changeShow(bool) {
         this.getInfo = bool
         this.info = uni.getStorageSync('userInfo')
         if (this.info) {
           // 成功的操作
           ...
         }
      }
    }
   } 
</script>
相关文章
|
2月前
|
小程序 前端开发
生活商城app微信小程序模板源码
生活商城app微信小程序模板源码
41 6
|
2月前
|
小程序 前端开发
汽车报价资讯app小程序模板源码
汽车报价资讯app小程序模板源码
26 4
|
8天前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
23 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
16天前
|
小程序 API PHP
零成本搭建个人 APP 和小程序后台
虽然网上也有很多人介绍这俩平台的玩法,但都是 2024 年以前的文章,有些平台最新的修改,和自己踩到的坑而别人没提到的细节,我还是想记录一下。
38 9
|
2月前
|
小程序 前端开发
仿哔哩哔哩视频app小程序模板源码
仿哔哩哔哩视频app小程序模板源码
106 5
仿哔哩哔哩视频app小程序模板源码
|
2月前
|
存储 小程序 安全
|
26天前
|
小程序
uni-app——微信小程序设置全局分享
uni-app——微信小程序设置全局分享
36 0
|
2月前
|
小程序 安全 数据挖掘
陪玩语聊APP小程序定制开发模块功能
随着电竞行业的规范化,游戏陪玩软件兴起,提供专业陪玩服务。核心功能包括:多样化注册登录、用户资料展示、智能匹配筛选陪玩、语音互动(多人/私聊)、订单交易管理、陪玩入驻审核、数据分析、客服系统及社交功能。旨在融合游戏、语音聊天与社交,构建综合娱乐平台。
|
2月前
|
小程序 API
跨端技术问题之哪些形态可以通过getApp()获取全局App实例
跨端技术问题之哪些形态可以通过getApp()获取全局App实例
|
2月前
|
小程序 定位技术
预约停车位app小程序模板
简单的手机预约停车位,在线停车位,预约停车管理小程序页面模板。包含:主页、预约停车、预约管理、地图导航等。
98 0
下一篇
DDNS