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>
相关文章
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
485 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
541 1
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
193 1
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
547 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
1月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
322 0
|
1月前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
490 0
|
1月前
|
缓存 开发框架 移动开发
uni-app:下载使用uni&创建项目&和小程序链接&数据缓存&小程序打包 (一)
uni-app 是一个跨平台的开发框架,它允许开发者使用 Vue.js 来构建应用程序,并能够同时发布到多个平台,如微信小程序、支付宝小程序、H5、App(通过DCloud的打包服务)等。uni-app 的目标是通过统一的代码库,简化多平台开发过程,提高开发效率。 在这一部分中,我们将逐步介绍如何下载和使用uni-app、创建一个新的项目、如何将项目链接到小程序,以及实现数据缓存的基本方法。
|
19天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
1月前
|
JavaScript 前端开发 小程序
uniapp一个人开发APP关键步骤和考虑因素
uniapp一个人开发APP关键步骤和考虑因素
123 1
uniapp一个人开发APP关键步骤和考虑因素
|
1月前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
73 9