微信小程序uni-app

这篇具有很好参考价值的文章主要介绍了微信小程序uni-app。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、微信小程序uni-app

小程序是一种不需要下载、安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载。

微信开发文档

1、工作原理
网页开发,渲染线程和脚本是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应的原因,本质就是我们常说的 JS 是单线程的
小程序的渲染层和逻辑层分别由2个线程管理:

  • 渲染层的界面使用了 WebView(WebView是一个基于webkit引擎、展现web页面的控件) 进行渲染。
  • 逻辑层采用 JsCore(JavaScriptCore,客户端提供的JS引擎的核心部分) 线程运行 JS 脚本。
  • 一个小程序存在多个界面,所以渲染层存在多个 WebView 线程,这两个线程的通信会经由微信客户端做中转,逻辑层发送网络请求也经由 Native 转发。

2、小程序和H5区别

运行环境:

  • H5 是网页,运行环境主要是浏览器。
  • 微信小程序运行环境是宿主App(微信客户端),是App的一部分,脱离App无法运行。

开发技术:

  • H5的技术一个开放的标准规范,浏览器提供 window、document 等 BOM 对象和 DOM 对象。
  • 小程序是腾讯自己的封闭规范,它更像是一个类似于 Node.js 的一种执行环境。因此在小程序内不能使用浏览器中的DOM/BOM,只能使用小程序自己实现的私有 API。

3、注册账号

  • 打开微信公众号平台,点击右上角的 "立即注册" 即可进入到小程序开发账号的注册流程
  • 选择注册的帐号类型

微信小程序uni-app

  • 填写账号信息:

微信小程序uni-app

  • 邮箱激活

微信小程序uni-app

因账号已经注册过,以下几个步骤就不配图展示了

  • 点击链接激活账号

  • 选择主体类型:

    • 地区选择:中国大陆
    • 个人使用选择:个人
  • 主体登记信息

  • 注册完毕

4、小程序信息

账号注册完毕后还需要进一步对小程序的信息进行完善:

注意:在填写小程序类目时不需要选择游戏类型

微信小程序uni-app

5、获取AppID

AppID 是小程序的唯一标识,在对小程序进行开发或者上线发布时都会用到 AppID,获取方式如下图所示:

微信小程序uni-app

二、下载微信开发者工具

微信开发者工具是官方提供的专门用于开发小程序开发,它提供的主要功能:

  • 快速创建小程序项目(起到脚手架的作用)
  • 代码的查看和编辑(相当于 vs code 作用)
  • 对小程序功能进行调试(相当于浏览器作用)
  • 小程序的预览和发布

下载微信开发者工具并安装,它是一个普通的安装程序,双击后根据引导下一步、下一步操作直到完成,安装完毕后打开微信开发者工具,首次打开时需要先进行登录(使用注册账号时的管理员微信扫码即可)。

三、小程序开发

创建小程序:
通过小程序开发者工具创建一个新的项目,步骤如下图所示:

  1. 点击 + 号,新建项目

微信小程序uni-app

  1. 填写项目信息
  1. 启动小程序项目

微信小程序uni-app

  1. 编辑器介绍

微信小程序uni-app

  1. 目录结构
├── pages                 # 页面目录
│   └── index             # 页面
│       ├── index.js      # 页面逻辑
│       ├── index.json    # 页面配置
│       ├── index.wxml    # 页面结构
│       └── index.wxss    # 页面样式
├── app.js                # 小程序逻辑
├── app.json              # 全局配置
├── app.wxss              # 全局样式
├── project.config.json   # 工具项目配置
├── project.private.config.json   # 个人工具项目配置,可以写到 .gitignore 避免版本管理的冲突
└── sitemap.json          # 页面微信索引配置

页面文件类型,小程序主要提供了 4 种文件类型:组成一个小程序页面

类型名称 作用 是否必须存在
.wxml 小程序页面的布局结构,相当于网页中 .html 文件
.wxss 小程序页面的样式,相当于网页中的 .css 文件
.js 小程序页面的逻辑,就是之前所学的 javascript
.json 小程序页面的配置

注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名

特定名称的文件:

文件名 作用 是否必须存在
app.js 小程序的入口
app.json 小程序的全局配置
app.wxss 小程序的全局样式
project.config.json 小程序开发者工具配置,项目名称,AppID 是(会自动创建)
sitemap.json 小程序搜索优化

小程序的开发语言跟前端开发者比较熟悉的 HTML5 非常相似(甚至相同),小程序的视图层由 WXMLWXSS 组成,分别对应 HTMLCSS,逻辑层则跟 HTML5 一样,也是 JavaScript 语言实现。

  1. 小程序配置

.json 类型的文件是用来对小程序进行配置的,如窗口的颜色、标题、自定义组件、底部tab栏等都是通过配置文件来实现的。
配置文件又分为全局配置 app.json 和页面里的配置,先看全局的配置:

配置文件最外层是一个对象,看一些常见的配置:

配置项 类型 是否必须 说明
pages string[] 页面路径列表,第一个就是(首页)
window object 全局的默认窗口表现
tabBar object 底部tab栏的表现

pages
pages 的值是一个数组,用于指定小程序由哪些页面组成

  • 小程序中新增/减少页面,都需要对 pages 数组进行修改
  • 数组的第一项代表小程序的初始页面(首页)
{
  "pages": [
    "pages/index/index", //不需要写文件后缀,框架会自动寻找并整合
    "pages/logs/logs"
  ]
}

新建一个页面来测试 pages 配置项的使用:

  • 在任意文件夹上右键,然后在弹出的菜单中选择【新建Page】,然后输入页面名称(如:demo)然后敲回车,此时便会创建出4个文件来,分别为 demo.wxml、demo.js、demo.wxss、demo.json,这 4 个文件正好是一个完整页面的构成,不仅如此配置文件 app.json 当中也自动的将这个新建的页面路径。

微信小程序uni-app
微信小程序uni-app
微信小程序uni-app

window

window 的值是一个对象,通过它可以全局配置小程序的状态栏、导航条、标题、窗口背景色。
微信开发文档-全局配置

微信小程序uni-app

{
  "pages": [
    "pages/index/index",
    "pages/logs/logs",
    "pages/demo/demo"
  ],
  "window": {
    "navigationBarTitleText": "小程序示例",
    "navigationBarTextStyle": "white",
    "navigationBarBackgroundColor": "#f5a11c",
    "enablePullDownRefresh": true
  }
}

tabBar

tabBar 定义小程序 tab 栏的表现。

微信小程序uni-app

可以参照着下面的表格对小程序的 tab 栏进行配置:

微信小程序uni-app

其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

微信小程序uni-app

{
  "pages": [
    "pages/index/index",
    "pages/logs/logs",
    "pages/demo/demo"
  ],
  "window": {
    "navigationBarTitleText": "小程序示例",
    "navigationBarTextStyle": "white",
    "navigationBarBackgroundColor": "#f5a11c",
    "enablePullDownRefresh": true
  },
  "tabBar": {
    "color": "#d78b09",
    "selectedColor": "#fff",
    "backgroundColor": "#feca49",
    "borderStyle": "white",
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "static/tabbar/home-default.png",
      "selectedIconPath": "static/tabbar/home-active.png"
    },
    {
      "pagePath": "pages/logs/logs",
      "text": "日志",
      "iconPath": "static/tabbar/ticket-default.png",
      "selectedIconPath": "static/tabbar/ticket-active.png"
    }]
  }
}

页面配置

页面配置只针对某个页面生效,如 index.json 是针对 index 页面生效,demo.json 是针对页面 demo 生效,页面的部分配置可以覆盖全局 app.json 中的配置,配置表:

属性 类型 默认值 是否必须 说明
navigationBarTitleText string 空白 导航栏标题文字内容
navigationBarTextStyle string black 导航栏标题颜色,仅支持black/white
navigationBarBackgroundColor 16进制颜色 #000000 导航栏背景颜色,如:#000000
navigationStyle string default 导航栏样式,仅支持default/custom
enablePullDownRefresh boolean false 是否开启全局的下拉刷新

有没有发现上表中的配置内容其实是全局配置中 window 部分的内容,写在 app.json 中的属于全局配置对所有的页面都生效,而写在页面中的只对当前页面生效,并且会覆盖全局的同名的配置,下面代码是 demo 页面即 demo.json 中的配置:

{
  navigationBarBackgroundColor: '#ff0',
  enablePullDownRefresh: false
}
  1. 常见内置组件

小程序内部定义了很多组件,可以对应 HTML5 的标签和基础能力来理解

组件名(标签) 作用 与html相比
view 定义一个块级元素 相当于html中的div标签
text 定义一个行内元素 相当于html中的span标签
rich-text 解析富文本
button 按钮
navigator 页面链接 相当于html中的a标签

7.1 rich-text

page({
	data: {
		htmlSnip:'<h1>我是html中h1标签!</h1>'
	}
})
 <rich-text nodes="{{htmlSnip}}"></rich-text>

7.2 button

小程序中的button按钮是个具有强大功能的组件,值得重视!open-type功能强大

说明
contact 打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从bindcontact回调中获得具体信息
share 触发用户转发
getPhoneNumber 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息
feedback 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容

7.3 navigator

跳转的页面是当前小程序内时,根据页面的类型不同,要设置对应的 open-type 才有对应效果。

说明
navigate 保留当前页面,跳转到应用内的某个页面,不允许跳转到 tabbar 页面
redirect 关闭当前页面,跳转到应用内的某个页面,不允许跳转到 tabbar 页面。
switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
reLaunch 关闭所有页面,打开到应用内的某个页面
navigateBack navigateBack 关闭当前页面,返回上一页面或多级页面。

想要跳转到其他的小程序页面时:文章来源地址https://www.toymoban.com/news/detail-497121.html

  • 设置 target =“miniProgram”
  • 填写 属性 short-link = “链接”(版本要求 2.18.1)
  • 或者设置 app-id
<!-- 跳转到其他小程序 -->
<navigator target="miniProgram" app-id="wxca1fe42a16552094">跳转到惊喜小程序</navigator>

到了这里,关于微信小程序uni-app的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app 微信小程序 激励视频广告

    封装激励视频-Ad.js 调用上面写的方法:

    2024年02月12日
    浏览(49)
  • uni-app(微信小程序)获取当前位置uni.getLocation

     1、微信公众平台  开发  开发管理   2、开通之后到项目文件    3、下载腾讯地图插件并引入到文件中    

    2024年02月11日
    浏览(35)
  • [uni-app] 微信小程序 如何修改替换头像

     如下图所示,微信小程序中涉及到修改头像的交互 技术: 前端应用框架为uni-app UI框架为uView  思考: 1. 头像点击事件 click 2.从本地相册选择图片或使用相机拍照 uni.chooseImage(OBJECT) ,方法执行成功后根据success中返回的图片的本地文件路径列表 tempFilePaths,做操作 3.上传图片

    2024年02月11日
    浏览(40)
  • uni-app 微信小程序 onReachBottom 不生效

    问题描述: uni-app 微信小程序,页面滑到底部,onReachBottom 没有生效 代码: pages.json 配置 使用 onReachBottom 的页面: 总结: 最外层容器设置 min-height: 100.1vh

    2024年02月07日
    浏览(32)
  • [uni-app]设置运行到微信小程序

    1、设置微信小程序开发工具路径 2、检查微信小程序开发工具是否开启了服务端口 服务端口要是没有开启,会报 × initialize。 3、在uni-app开发工具中点击运行微信开发者工具,微信开发工具运行成功。

    2024年02月13日
    浏览(41)
  • 微信小程序转uni-app注意事项

            如果你手头上有一套微信小程序的代码,怎样把它变成一个网页版或者app版本的呢?我推荐你使用uni-app。         使用uni-app可以很方便的将微信小程序代码翻译成uni-app项目,通过uni-app项目又可以编译成h5、app或微信小程序版本。这样一来,写一份代码同时可以

    2024年02月04日
    浏览(41)
  • 微信小程序修改原生组件样式(uni-app)

    微信小程序修改原生组件样式 全局修改,直接将修改的样式写在全局的样式文件中; 特殊情况:修改swiper指示点样式时,需要包裹在swiper的样式选择器下才生效。 直接将下列代码放在全局样式中是不会生效的,需要加上swiper组件的元素选择器或swiper组件的其他样式名也可。

    2024年02月05日
    浏览(39)
  • uni-app做微信小程序的分包处理

    我们的都知道微信小程序有随即随用,用完即走的优点,并且它开发门槛低,但是它也有一个致命的缺点,就是代码包体积的限制,这一缺点让小程序的开发有了一定的限制,现在有一方法可以减少代码包的体积,能够让小程序的功能得到一定的扩展,这一方法就是——分包

    2023年04月08日
    浏览(32)
  • uni-app微信小程序如何渲染markdown

    在开发个人网站微信登录平台易登微信小程序的时候,由于说明文档是用markdown格式来书写的,在网页上有各种markdown个人渲染引擎,比如这个markdown编辑器无敌了!。 但是在小程序上还是第一次渲染markdown,找了各种方案,但处处是坑,除此之外最后渲染出来的效果也惨不忍

    2024年02月16日
    浏览(41)
  • uni-app 微信小程序自定义导航栏

    上面的导航栏主要由状态栏(就是手机电量显示栏)和小程序的导航栏组成,android手机一般为48px,ios手机一般为44px 1、设置navigationStyle:custom 2、页面导航栏div 3、获取statusBarHeight高度 4、获取navTitleHeight的高度

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包