uniapp经验

25 篇文章 0 订阅
订阅专栏

文档说明:

本文档目的在于帮助基于 Uniapp 进行移动开发的人员 快速上手、规避问题、提升效率。将以流程提纲的方式,整理开发过程各阶段可能出现的问题点以及思路。对官方文档中已有内容,会贴附链接,尽量不做过多阐述以免冗余。

使用时可根据需求和自身掌握情况,从目录跳转查看。

Uniapp 使用 Vue 语法+微信小程序 API,有二者基础可快速上手,开发 APP 还会用到 HTML5+规范 ,有非常丰富的原生能力。在此还是建议尽量安排时间通读官方文档,至少留下既有功能的印象,来增强对 Uniapp 开发的掌握,游刃有余的应对各类开发需求。


 

开发准备

小程序

后台配置

  • 小程序个别类目需要行业资质,需要一定时间来申请,根据项目自身情况尽早进行 服务类目 的设置以免影响上线时间。

  • 必须在后台进行  服务器域名配置,域名必须 为 https 。否则无法进行网络请求。注意 每月只有 5 次修改机会

    在开发工具中可配置不验证 https,这样可以临时使用非 https 接口进行开发。非 https 真机预览时需要从右上角打开调试功能。

  • 如果有 webview 需求,必须在小程序管理后台配置域名白名单。

开发工具

  • 下载  微信开发者工具
  • 设置 → 安全 → 打开“服务端口”。打开后方可用 HbuilderX 运行并更新到微信开发者工具。

APP

证书文件

  • 准备苹果开发账号

  • ios 证书、描述文件  申请方法

    证书和描述文件分为开发(Development)和发布(Distribution)两种,Distribution 用来打正式包,Development 用来打自定义基座包。

    ios 测试手机需要在苹果开发后台添加手机登录的 Apple 账号,且仅限邮箱方式注册的账号,否则无法添加。

Uniapp

创建 Uni-app 项目

根据  文档 操作即可,新建时建议先不选择模板,因为模板后期也可以作为插件导入。这里推荐一个 UI 框架  uView,兼容 Nvue 的 Uniapp 生态框架。

路由

  • 配置: 路由的开发方式与 Vue 不同,不再是 router,而是参照小程序原生开发规则在 pages.json 中进行  配置,注意 path 前面不加"/"。

  • 跳转: 路由的 跳转方式,同样参照了小程序 有  navigator 标签 和  API 两种。

    1. navigator 标签: 推荐使用 有助于 SEO( 搜索引擎优化)。
    2. API: 常用跳转方式 uni.navigateTo()uni.redirectTo() 、uni.switchTab(),即可处理大部分路由情况。

    需注意:

    • tabBar 页面 仅能通过 uni.switchTab 、<navigator open-type="switchTab"></navigator>方法进行跳转。
    • 如需求特殊可以自定义开发 tabBar,即 pages.json 中不要设置 tabBar,这样也就不需要使用 uni.switchTab 了。
    • url 前面需要加"/"
  • 问题点: 小程序页面栈最多 10 层。也就是说使用 uni.navigateTo 最多只能跳转 9 层页面。

    解决: 这里不推荐直接使用 uni.redirectTo 取代来处理,会影响用户体验,除非产品设计如此。建议在会出现同页面跳转的页面(例:产品详情 → 点击底部更多产品 → 产品详情 →...),封装一下页面跳转方法,使用 getCurrentPages() 方法获取当前页面栈的列表,根据列表长度去判断使用什么路由方法。路由方法的选择根据实际情况决定  官方文档。

    //页面跳转
    toPage(url){
      let pages=getCurrentPages()
      if(pages.length<9){
        uni.navigateTo({url})
      }else{
        uni.redirectTo({url})//根据实际情况选择路由方法
      }
    }
    复制代码

分包加载

提前规划好分包,使代码文件更加规整,全局思路更加清晰。可以根据业务流程或者业务类型来设计分包。 官方文档

  • 分包加载的使用场景:

    1. 主包大小超过 2m。
    2. 访问落地页启动较慢(因为需要下载整个主包)。
  • 分包优化:

    除页面可以分包配置,静态文件、js 也可以配置分包。可以进一步优化落地页加载速度。

    在 manifest.json 中对应平台下配置 "optimization":{"subPackages":true} 来开启分包优化。开启后分包目录下可以放置 static 内容。

    //manifest.json源码
    {
      	...,
        "mp-weixin" : {//这里以微信为例,如有其他平台需要分别添加
          	...,
            "optimization" : {
                "subPackages" : true
            }
        }
    }
    复制代码
  • 分包预载

    通过分包进入落地页后,可能会有跳转其他分包页面的需求。开启分包预载,在落地页分包数据加载完后,提前加载后续分包页面,详见  官方文档

生命周期

  • Uniapp 的页面生命周期建议使用 onLoadonShowonReadyonHide 等,也可以使用 vue 生命周期 createdmounted 等,但是组件的生命周期仅支持vue 生命周期的写法。

easycom 组件模式

  • 说明: 只要组件安装在项目的 components 目录下或 uni_modules 目录下,并符合 components/组件名称/组件名称.vue 的目录结构,就可以不用引用、注册,直接在页面中使用。

    easycom 为默认开启状态,可关闭。可以根据需求配置其他路径规则。详见  官方文档

  • 代码举例:

    非 easycom 模式

    <template>
      <view>
        <goods-list></goods-list>
      </view>
    </template>
    <script>
    import goodsList from '@/component/goods-list'; //引用组件
    export default {
      components: {
        goodsList //注册组件
      }
    };
    </script>
    复制代码

    使用 easycom 模式

    <template>
      <view>
        <!-- 无需引用、注册,直接使用组件即可-->
        <goods-list></goods-list>
      </view>
    </template>
    <script>
    export default {};
    </script>
    复制代码

是否使用 Nvue

  • Nvue 开发
    • 优点:原生渲染,性能优势明显(性能优势主要体现在长列表)、启用纯原生渲染模式( manifest 里设置 app-plus 下的 renderer:"native" ) 可进一步减少打包体积(去除了小程序 webview 渲染相关模块)
    • 缺点:与 Vue 开发存在  差异,上手难度相对较高。并且设备兼容性问题较多。
    • 使用:适合仅开发 APP,并且项目对性能有较高要求、组件有复杂层级需求的情况下使用。
  • Nvue+vue 混合开发
    • 优点:性能与开发难度折中的选择,即大部分页面使用 Vue 开发,部分有性能要求的页面用 Nvue 开发。
    • 缺点:同 Nvue 开发。并且当应用没有长列表时,与 Vue 开发相比性能提升不明显。
    • 使用:适合需要同时开发 APP+小程序或 H5,并且项目有长列表的情况下使用。
  • Vue 开发
    • 优点:直接使用 Vue 语法进行开发,所有开发平台皆可兼容。
    • 缺点:在 APP 平台,使用 webview 渲染,性能比较 Nvue 相对差。
    • 使用:适合除需要 Nvue 开发外的所有情况。如果 APP 没有性能要求可使用 vue 一锅端。

跨域

  • 如需开发 H5 版本,本地调试会碰到跨域问题。

  • 3 种解决方案:

    1. 使用 HbuilderX 内置浏览器预览。内置浏览器经过处理,不存在跨域问题。

    2. 在 manifest.json 中配置,然后在封装的接口中判断 url

      // manifest.json
      {
        "h5": {
          "devServer": {
            "proxy": {
              "/api": {
                "target": "https://***.***.com",
                "pathRewrite": {
                  "^/api": ""
                }
              }
            }
          }
        }
      }
      复制代码
      //判断当前是否生产环境
      let url = (process.env.NODE_ENV == 'production' ? baseUrl : '/api') + api;
      复制代码
    3. 创建一个 vue.config.js 文件,并在里面配置 devServer

      // vue.config.js
      module.exports = {
        devServer: {
          proxy: {
            '/api': {
              target: 'https://***.***.com',
              pathRewrite: {
                '^/api': ''
              }
            }
          }
        }
      };
      复制代码

      如果 2、3 方法同时使用,2 会覆盖 3。

一键登录

  • 5+APP 一键登录,顾名思义:使用了 HTML5+规范、仅 APP 能用。 官方指南
  • 小程序、H5 没有 HTML5+扩展规范。小程序可以使用 <button open-type="getphonenumber"> 并结合 微信开发文档 实现一键获取手机号。

推送

既然在 uniapp 生态,就直接使用  UniPush 推送服务。

  • 该服务由个推提供,但必须向 DCloud 重新申请账号,不能用个推账号。


 

开发中

CSS

  • 建议使用 flex 布局开发。因为 flex 布局更灵活高效,且便于适配 Nvue(Nvue 仅支持 flex 布局)。

  • 小程序 css 中 background 背景图不支持本地路径。解决办法改为网络路径或 base64。

  • 图片设置 display:block。否则图片下方会有 3px 的空隙,会影响 UI 效果。

  • 多行文字需要限制行数溢出隐藏时,Nvue 和非 Nvue 写法不同。

    Nvue 写法

    .text {
      lines: 2; //行数
      text-overflow: ellipsis;
      word-wrap: break-word;
    }
    复制代码

    非 Nvue 写法

    .text {
      display: -webkit-box;
      -webkit-line-clamp: 2; //行数
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    复制代码

图片

mode

  • Uniapp 的 <image> 与传统 web 开发中的 <img> 相比多了一个 mode 属性,用来设置图片的裁剪、缩放模式。

  • 在开发中尽量养成每一个 <iamge> 都设置 mode 的习惯。可以规避掉很多 UI 显示异常的问题

  • 一般只需要使用 widthFixaspectFill 这两个属性即可应对绝大多数情况。

    即只需设置宽度自动撑起高度的图片用 widthFix ;需要固定尺寸设置宽高,并保持图片不被拉伸的图片用 aspectFill

    例如:所有 icon、文章详情里、产品详情里的详情图一般会用 widthFix,用户头像、缩略图一般会用 aspectFill

    属性详情见  官方文档 。

lazy-load

  • 图片懒加载,小程序支持,只针对 page 与 scroll-view 下的 image 有效。

图片压缩

  • 静态图片未压缩。该问题不限于 Uniapp 开发,也包括其他开发方式。是非常常见的问题。

  • 图片压缩前后,包体大小可差距 50%甚至更多。对编译和加载速度提升显著!

  • 此处放上两个 在线压缩工具 自行取用: Tinypng、 iloveimg

滚动穿透

  • 弹窗遮罩显示时,底层页面仍可滚动。给遮罩最外层 view 增加事件 @touchmove.stop.prevent

    <view class="pop-box" @touchmove.stop.prevent></view>
    复制代码

底部安全区

  • 问题: iOS 全面屏设备的屏幕底部有黑色横条显示,会对 UI 造成遮挡,影响事件点击和视觉效果。Android 没有横条,不受影响。

  • 场景: 各页面底部悬浮菜单、相对于底部距离固定的悬浮按钮、长列表的最后一个内容。

  • 解决方案:

    • 使用 css 样式 constant(safe-area-inset-bottom) env(safe-area-inset-bottom) 来处理,兼容 iOS11.2+,根据  iOS 系统版本占比,可放心使用。需注意该方法小程序模拟器不支持,真机正常。

      <template>
        <view class="bottomBar"></view>
      </template>
      <style>
      .bottomBar {
        /*
          关于使用constant(safe-area-inset-bottom)、env(safe-area-inset-bottom)
          会返回底部安全区的高度
          两个方法都写,会自动选择能够生效的来使用
          可以使用calc方法来计算,根据实际情况灵活使用
          */
        padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
        padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
      }
      </style>
      复制代码
    • 如果使用 nvue,则不支持以上方案。可使用  HTML5+规范 的方法来处理。

      <template>
        <view :style="{ paddingBottom: `${holderHeight}px` }"></view>
      </template>
      <script>
      export default{
         data(){
           return{
             /***
             * 先判断是否iOS,再判断是否刘海屏即全面屏。34即为底部安全高度
             * plus.os.name返回系统平台名称,plus.navigator.hasNotchInScreen()返回是否是刘海屏。
             * 一定要先判断是否iOS,因为该问题仅iOS需处理,而且Android返回是否刘海屏标准不一,会有显示问题。
             */
             holderHeight:plus.os.name == 'iOS' ? (plus.navigator.hasNotchInScreen() ? 34 : 0) : 0)
           }
         }
       }
      </script>
      复制代码

交互反馈

移动端比 PC 画面小很多,但是要展示的内容并不少,甚至更多。为了让用户正常使用,并获得优良体验。交互反馈的设置是必不可少的。并且在 UI 设计评审时就应该确定好,所有交互反馈是否齐全。

  • 缺省样式: 所有数量可能为空的数据展示,都应添加缺省样式,乃至缺省样式后的后续引导。

    例如:评论区没有评论,不应显示空白,而是显示(具体按 UI 设计):一个 message 的 icon,下方跟一句"快来发表你的高见",下方再跟一个发表按钮。这样不仅体现了评论区的状态,还做了评论的引导,增加了互动概率。

  • 状态提醒: 所有需要时间相应的状态变化,或者逻辑变化。都应对用户提供状态提醒。同样需要在 UI 设计评审时确认。

    例如:无网络时,显示网络异常,点击重试。各种等待、 下拉刷新、上拉加载、上传、下载、提交成功、失败、内容未加载完成时的骨架屏。甚至可以在点赞时加一个 vibrateShort 等等。

分享

除非特别要求不分享,或者订单等特殊页面。否则在开发时各个页面中一定要有设置分享的习惯。可以使应用的功能更完整更合理并且有助于 搜索引擎优化。是必须考虑但又容易忽略的地方。

  • 在页面的生命周期中添加 onShareAppMessage 并配置其参数,否则点击右上角三个点,分享相关按钮是不可点击状态。

  • 小程序可以通过右上角胶囊按钮或者页面中 <button open-type='share'> 按钮来触发  分享功能。

  • 代码示例:

    <template>
      <!-- 假如这是一个社区列表页面 -->
      <view v-for="(item, index) in list">
        <button open-type="share" :data-item="item">分享</button>
      </view>
    </template>
    <script>
    export default{
      data(){
        return{
          //列表数据
          list:[
            {
              id:1,
              title:"标题",
              img:'***.jpg'
            }
          ]
        }
      },
      onShareAppMessage(){
        // 点击页面中分享按钮,这样可以分别设置分享内容
        if (res.from === 'button') {
          let item=res.target.dataset.item
          return {
            title: item.title,
            path: `/pages/detail?id=${item.id}`,
            imageUrl:item.img
          }
        }
        //点击右上角胶囊按钮分享的设置
        return {
          title: '**社区',
          path: '/pages/community/'
        }
      }
    }
    </script>
    复制代码
  • return 的 Object 中 imageUrl 必须为宽高比例 5:4 的图片,并且图片大小尽量小于 20K。imageUrl 可不填,会自动截取当前页面画面。

  • 另外 button 有默认样式,需要清除一下。

    <template>
      <button class="btn-share" open-type="share"></button>
    </template>
    <style lang="scss">
    .btn-share {
      padding: 0;
      margin: 0;
      border: 0;
      &::after {
        padding: 0;
        margin: 0;
        border: 0;
      }
      /*以上代码完成了样式清除,接下来写新的css样式*/
    }
    </style>
    复制代码

获取用户手机号

  • 小程序通过点击 button 获取 code 来跟后端换取手机号。在开发者工具中无法获取到 code。真机预览中可以获取到。

    <template>
      <button open-type="getPhoneNumber" @getphonenumber="getphonenumber">
        获取用户手机号
      </button>
    </template>
    <script>
    export default {
      methods: {
        getphonenumber(e) {
          let code = e.detail.code; //开发工具中无法获取到该code,用真机预览进行测试
    
          //开发阶段可以设置剪贴板将code复制。便于跟后端对接调试。调试完成后记得删除。
          uni.setClipboardData({
            data: e.detail.code
          });
        }
      }
    };
    </script>
    复制代码

苹果登录

  • APP 苹果登录需要使用自定义基座打包才能获得 Apple 的登录信息进行测试

  • iOS 自定义基座打包需要用开发(Development)版的证书和描述文件

H5 唤起 App

两种实现方式:

  1. URL Sheme

    优点:配置简单

    缺点:会弹窗询问“是否打开***”,未安装时网页没有回调,而且会弹窗“打不开网页,因为网址无效”;微信微博 QQ 等应用中被禁用,用户体验一般。

  2. Universal Link

    优点:没有额外弹窗,体验更优。

    缺点:配置门槛更高,需要一个不同于 H5 域名的 https 域名(跨域才出发 UL);iOS9 以上有效,iOS9 一下还是要用 URL Sheme 来解决;未安装 App 时会跳转到 404 需要单独处理。


 

打包发布

摇树优化

  • H5 打包时去除未引用的组件、API。

  • 摇树优化(treeShaking)

    //manifest.json
    "h5" : {
        "optimization":{
            "treeShaking":{
                "enable":true //启用摇树优化
            }
        }
    }
    复制代码

启动图标

让 UI 帮忙切一个符合以下标准的图片,在 APP 图标配置中自动生成即可。

  • 格式为 png
  • UI 切图时不要带圆角
  • 分辨率不小于 1024×1024

启动图

  • 如没有特殊要求,直接使用通用启动页面即可。

  • 如需自定义启动图:

    • Android 可直接使用普通 png,也可配置.9.png,可减少包体积,避免缩放影响清晰度。为了更好的效果和体验建议使用.9 图。

      如何制作.9.png?使用 Android studio、ps。或者找 UI 同事帮忙

    • iOS 需要制作 storyboard,如所需效果与 uni 提供的 storyboard 模板类似,可直接使用模板修改代码即可(xml 格式)。否则需要使用 xcode 进行更深度的修改,以实现效果并适配各机型。

权限配置

HBuilderX 默认会勾选一些不需要的权限,为避免审核打回,需要注意以下权限配置

  • manifest.json 中的【App 权限配置】取消勾选“Android 自动添加第三方 SDK 需要的权限”,然后在下方配置处根据参考文档取消勾选没有用到的权限,额外注意核对推送、分享等功能的权限需求。
  • manifest.json 中的【App 模块配置】仅勾选所需模块(容易漏掉,也会影响权限)

个人经验

        1:自定义组件中含有扩展组件,想要修改样式,必须引入外部样式到父组件中,不能写在自定义组件中,否则识别不出 ,哪怕::v-deep   !important

或者加上 

官方解答: uniapp使用/deep/修改组件样式在H5生效,小程序无效怎么解决? - DCloud问答

2:在uniapp中内置组件 不能用this.$refs,他会失效(undefind)

补充 

SEO(搜索引擎优化)

用户流量是衡量产品的重要指标之一,受到很多方面影响,SEO 就是其中之一。在没有额外推广的情况下,搜索引擎带来的流量基本就是产品流量的主要来源。传统 web 开发通过设置 TDK、sitemap 等,现阶段移动开发方法有所变化,但是万变不离其宗,核心还是一样的。

  • 小程序:

    • 被动方式:
      1. 确保 URL 可直接打开,通俗说就是 url 要有效,不能是 404。
      2. 页面跳转优先采用 navigator 组件
      3. 清晰简洁的页面参数
      4. 必要的时候才请求用户进行授权、登录、绑定手机号等
      5. 不收录 web-view,若非不需 seo 内容(用户协议之类)、或已有 H5 页面节省开发,否则尽量不要用 web-view。
      6. 配置 sitemap
      7. 设置标题和分享缩略图 类似于传统 web 中设置 TDK。在百度小程序中有专门的接口来传递 SEO 信息。
    • 主动方式:
      1. 使用页面路径推送能力让微信收录内容

    内容详情请查看  优化指南。所有被动方式可以作为开发习惯来养成。

  • H5: 因为 Uniapp 是基于 Vue 语法来开发,这种 SPA 对于 SEO 并不友好。业界有 SSR(服务端渲染) 方法,等了很久 Uniapp 官方也终于提供了  SSR 的方法,但是需要使用 uniCloud。所以如果没有使用 uniCloud,暂时没有更合适的方法来处理该问题。

  • APP: 方式脱离前端范畴,不做讨论。

SEO网站优化
05-29
如何在网站优化利用SEO。网站架构分析包括:剔除网站架构不良设计、实现树状目录结构、网站导航与链接优化,网站设计的语言最好采好DIV+CSS样式,代码很有层次和简洁
"萤火uniapp"是一款基于uni-app框架的开源前端开发工具 在1.1.4.2版本中,它提供了一系列的功能和优化,方便开发
07-29
"萤火uniapp"是一款基于uni-app框架的开源前端开发工具。在1.1.4.2版本中,它提供了一系列的功能和优化,方便开发者进行跨平台应用的开发。 1. 跨平台开发:利用uni-app框架,开发者可以使用一套代码,编译到多个平台,包括iOS、Android、H5、以及各种小程序。 2. 组件丰富:提供了丰富的UI组件和API,可以极大地提高开发效率,同时保证了应用的性能和效果。 3. 代码优化:在1.1.4.2版本中,对代码结构进行了优化,使其更加清晰,易于维护。 4. 文档完善:提供了详细的开发文档和教程,方便开发者快速上手。 5. 开源共享:遵循开源协议,开发者可以自由获取和修改源代码,同时也可以参与到项目的贡献中。 "萤火uniapp"是一款优秀的前端开发工具,无论你是刚接触前端开发的新手,还是有经验的开发者,都可以通过它快速、高效地开发出优秀的跨平台应用。
CSS设置移动端页面底部安全距离
qq_17355709的博客
03-25 525
env(safe-area-inset-bottom)是一个CSS属性值,用于设置底部安全距离。它表示使用环境变量来获取底部安全距离的值。当使用环境变量时,需要使用env()函数来引用具体的环境变量。这将把.box元素的底部padding设置为环境变量safe-area-inset-bottom的值。
uniapp搜索(历史搜索、热门搜索)
07-28
uniapp搜索(历史搜索、热门搜索)
uniapp 设置favicon
深漂小码哥
02-20 1633
1. 将favicon.ico放入static/images下 2.根目录下创建index.html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <link rel="icon" href="st
uniapp 仿京东、淘宝、拼多多的搜索框,实现搜索关键字所有匹配到的关键字都高亮,复制即用。(uniapp实现搜索关键字高亮看这一篇就够啦)
H524268015wsw的博客
09-07 987
例如京东,淘宝,拼多多等等,这些软件的搜索功能。搜索关键字,搜索到的内容标题与搜索的内容相同的字符串要高亮(显示其他颜色)。
WordPress快速增加百度收录,加快网站内容抓取
weixin_33962923的博客
04-02 446
本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发、Nodejs、Python、Linux、IT资讯等板块.利用百度站长平台提供的链接自动提交代码, 快速增加百度收录, 加快网站内容抓取。1.创建名为 “baidu_js_push.php”的文件, 内容如下(自动推送JS代码 ):<script> (function(){...
Uniapp 多端开发经验整理
XiaoCheng_T的博客
09-07 1564
Uniapp 多端开发经验整理
uniapp展示在h5端的seo关键词与摘要
weixin_43818835的博客
12-19 4879
首先引入html,并修改h5配置。 html内容为: <!DOCTYPE html> <html lang="zh-CN"> <head> <title>好故事</title> <meta name="keywords" content="" /> <meta ...
uniapp开发打包多端应用完整指南
守望轩
11-30 5630
uniapp开发打包多端应用完整指南
关于uniapp的设置动态TDK,用于SEO
weixin_54205973的博客
03-13 558
关于uniapp的设置动态TDK,用于SEO
视频改字祝福 豪车装X系统源码uniapp前端源码
最新发布
04-19
uniapp视频改字祝福 豪车装X系统源码 全开源,只有uniapp前端,API接口需要寻找对应的。 创意无限!AI视频改字祝福,豪车装X系统源码开源,打造个性...不管你是一名前端开发新手还是经验丰富的开发者,都可以轻松上手。
uniapp聊天工具源码.zip
02-17
通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入...
uniapp基础知识.md
04-10
`uni-app` 是一个使用 [Vue.js](https://vuejs.org/) 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度...具有vue和微信小程序的开发经验,可快速上手uni-app
uniapp实现附件选择上传下载示例代码(H5,app,小程序可用)
01-13
内容概要:资源里是uniapp的代码文件压缩包,解压后可...适合人群:具备一定编程基础,有些许uniapp开发经验的编程人员即可。 使用场景及目标:使用uniapp开发,且有文件上传下载需求的开发场景可使用。 其他说明:无
uni-app多端开发
weixin_43993776的博客
11-08 1164
开场白: 要是在 vscode 书写代码, 需要添加 几个插件来支持 uni-app
uni-app 性能优化建议
qq_57263284的博客
06-17 2396
运行原理逻辑层和视图层分离,且非H5端通信有折损uni-app 在非H5端运行时,从架构上分为逻辑层和视图层两个部分。逻辑层负责执行业务逻辑,也就是运行js代码,视图层负责页面渲染。虽然开发者在一个vue页面里写js和css,但其实,编译时就已经将它们拆分了。逻辑层详解逻辑层是运行在一个独立的jscore里的,它不依赖于本机的webview,所以一方面它没有浏览器兼容问题,可以在Android4.4上跑es6代码,另一方面,它无法运行window、document、navigator、localstorag
vue uniapp 微信小程序 搜索下拉框 模糊搜索
q4717529的博客
02-21 7672
vue uniapp 微信小程序 搜索下拉框 模糊搜索
提升应用性能的关键步骤——UniApp性能优化策略与技巧详解
Why_does_it_work的博客
06-29 2662
作者主页」「个人网站」ChatGPT体验地址。
uniapp2048
09-18
uniapp自带了一个图片压缩的API uniapp.compressImage,但是该API在Android上的效果不太好,有时候压缩后的图片反而变大了,并且无法控制压缩后的大小。因此,为了实现更好的图片压缩效果,可以使用画布来自己实现一...

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 在WebStorm里配置less文件 4799
  • zepto(js库) align-items: center与 justify-content: center 3979
  • router路由使用,子父组件互相传递值 3522
  • 逛Github网站显示中文教程 3436
  • 安装webpack上 2581

分类专栏

  • 前端开发HTML 12篇
  • cs 3篇
  • j 1篇
  • JavaScrip 25篇
  • 微信小程 2篇
  • w 1篇
  • 虚拟 5篇
  • Linu 3篇
  • Nod 1篇

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 项目常遇到的问题
  • vue面试
  • vite使用
2022年4篇
2019年1篇
2018年60篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司辽源网站优化报价长葛seo哪家好南山关键词排名推荐榆林网站推广哪家好漳州网站搜索优化公司新乡seo优化推荐商洛seo网站优化永州网站关键词优化公司焦作网站优化多少钱商洛seo优化淮南关键词按天计费多少钱大理网站设计模板报价临夏seo网站推广哪家好黑河网络推广价格伊春网站推广工具价格梧州网站搭建报价榆林网站制作报价商丘网站推广系统多少钱思茅百姓网标王推广吕梁百姓网标王推荐罗湖阿里店铺托管多少钱山南设计公司网站公司保山网站优化按天扣费推荐阿里建设网站多少钱长葛网站建设设计推荐海南网站优化按天收费哪家好淮安网站关键词优化公司哈尔滨模板制作报价吴忠百姓网标王推广多少钱金华建设网站报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化