Uniapp笔记(八)初识微信小程序

一、微信小程序基本介绍

1、什么是微信小程序

微信小程序简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用 小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验

2、发展历程

2016年1月11日,微信之父张小龙解读了微信的四大价值观,指出拆分出来的服务号并没有提供更好的服务,所以微信内部正在研究新的形态,叫「微信小程序」 2016年9月21日,微信小程序正式开启内测 2017年1月9日0点,微信第一批小程序正式上线

二.第一个小程序

1、注册小程序

  • 注册微信小程序账号:小程序

2、获取小程序的AppID

扫码登录后进入小程序管理后台,左侧栏中选择开发>开发管理>开发设置,就能看到AppID(小程序ID)

3、微信开发者工具

下载地址:微信开发者工具下载地址与更新日志 | 微信开放文档

4、创建小程序项目

5、 查看运行效果

  • 在模拟器上查看项目效果:单击编译按钮即可

  • 在真机上预览项目效果:单击的预览按钮,然后生成二维码后,使用手机扫描,就可以看到真机的效果了。

6、目录结构解析

  • app.json 是对当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等

  • project.config.json 工具配置,例如界面颜色、编译配置等等

  • app.js小程序的初始化脚本,监听小程序生命周期,全局变量,定义API全剧调用

  • app.wxss小程序的全局配置公共样式表

一个小程序页面由四个文件组成,分别是

文件类型必需作用
js页面逻辑
wxml页面结构
json页面配置
wxss页面样式

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

三、配置文件

1、配置文件概述

JSON是一种数据格式,在实际开发过程中,JSON总是以配置文件的形式出现,小程序项目中也不例外;通过不同的.json配置文件,可以对小程序项目进行不同级别的配置。

小程序项目中的4种JSON配置文件,分别是

  • 项目根目录中的app.json配置文件

  • 每个页面文件夹中的.json配置文件

  • 项目根目录中的project.config.json配置文件

  • 项目根目录中的sitemap.json配置文件

2、project.config.json

project.config.json是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置

  • settings中保存了编译相关的配置

  • projectname中保存的是项目名称

  • appid中保存的是小程序的账号ID

3、sitemap配置

微信现已开放小程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。 爬虫访问小程序内页面时,会携带特定的 user-agent:mpcrawler 及场景值:1129。需要注意的是,若小程序爬虫发现的页面数据和真实用户的呈现不一致,那么该页面将不会进入索引中。

4、页面配置page.json

页面配置page.json

这里的page.json其实用来表示页面下的page.json,这类和小程序页面的相关的配置

开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉刷新等等

页面的配置只能设置app.json中部分window配置项的内容,页面中配置项会覆盖app.json额window中相同的配置项

{"usingComponents": {},"navigationBarBackgroundColor": "#f094ff"
}

这里修改的是mime.json中导航栏背景色为#f094ff

5、全局配置文件

app.json是当前小程序的全局配置,包括了小程序的所有页面路径,界面表现,网络超时时间,底部tab等。

{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "Weixin","navigationBarTextStyle":"black"},"style": "v2","sitemapLocation": "sitemap.json"
}

字段含义

  • pages字段: 用来记录当前小程序所有页面的路径。

  • windows字段:全局定义小程序所有页面的顶部背景颜色,文字颜色定义等。

  • style:全局定义小程序组件所使用的样式版本。

  • sitemapLocation:用来指明sitemap.json的位置。

window字段常用的配置项

属性名类型默认值说明
navigationBarTitleTextString字符串导航栏标题文字内容
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如#000000
navigationBarTextStyleStringwhite导航栏标题颜色,仅支持black/white
backgroundColorHexColor#ffffff窗口背景色
backgroundTextStyleStringdark下拉loading的样式,仅支持dark/light
enablePullDownRefereshBooleanfalse是否全局开启下拉刷新
enReachBottomDistanceNumber50页面上拉触底时间触发时距页面底部距离,单位为px

6、tabBar配置

1)什么是tabBar

tabBar是移动端常见的效果,用于实现多页面的快速切换。小程序中通常将其分为

  • 底部tabBar

  • 顶部tabBar

注意:

  • tabBar中只能配置最少2个,最多5个tab页签

  • 当渲染顶部tabBar时候,不显示icon,只显示文本

2)tabBar节点的配置项

属性类型必填说明
positionStringtabBar的位置,仅支持bottom/top
borderStyleStringtabBar上边框的颜色,仅支持black/white
colorHexColortab上文字的默认(未选中)颜色
selectedColorHexColortab上的文字选中时的颜色
backgroundColorHexColortabBar的背景色
listArraytab页签的列表,最少2个、最多5个
  • selectedIconPath:选中时的图片路径

  • iconPath:未选中时的图片路径

在app.json中添加tabBar节点,具体内容如下代码

"tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页","iconPath": "./assets/icons/home.png","selectedIconPath": "./assets/icons/home_selected.png"},{"pagePath": "pages/category/category","text": "分类","iconPath": "./assets/icons/category.png","selectedIconPath": "./assets/icons/category_selected.png" },{"pagePath": "pages/mine/mine","text": "我的","iconPath": "./assets/icons/mine.png","selectedIconPath": "./assets/icons/mine_selected.png" }]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108611.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

键入网址到网页显示,期间发生了什么?

目录 1.DNS2.可靠传输 —— TCP3.远程定位 —— IP4.两点传输 —— MAC5.出口 —— 网卡6.送别者 —— 交换机(可省略)7.出境大门 —— 路由器8.数据包抵达服务器后9.响应过程:带有MAC、IP、TCP头部的完整HTTP报文: 1.DNS 客户端…

C++--两个数组的dp问题(2)

1.交错字符串 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定三个字符串 s1、s2、s3,请判断 s3 能不能由 s1 和 s2 交织(交错) 组成。 两个字符串 s 和 t 交织 的定义与过程如下,其中每个字符串都…

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

一、Redis是什么 Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、…

Vue中ElementUI结合transform使用时,发现弹框定位不准确问题

在近期开发中,需要将1920*1080放到更大像素大屏上演示,所以需要使用到transform来对页面进行缩放,但是此时发现弹框定位出错问题,无法准备定位到实际位置。 查看element-ui官方文档无果后,打算更换新的框架进行开发&am…

FFmpeg支持多线程编码并保存mp4文件示例

之前介绍的示例: (1).https://blog.csdn.net/fengbingchun/article/details/132129988 中对编码后数据保存成mp4 (2).https://blog.csdn.net/fengbingchun/article/details/132128885 中通过AVIOContext实现从内存读取数据 (3).https://blog.csdn.net/fengbingchun/…

自动设置服务器全教程

亲爱的爬虫探险家!在网络爬虫的世界里,自动设置代理服务器是一个非常有用的技巧。今天,作为一家代理服务器供应商,我将为你呈上一份轻松实用的教程,帮助你轻松搞定爬虫自动设置代理服务器。 一、为什么需要自动设置代…

C语言实现状态机

关于状态机,基础的知识点可以自行理解,讲解的很多,这里主要是想写一个有限状态机FSM通用的写法,目的在于更好理解,移植,节省代码阅读与调试时间,体现出编程之美。 传统的实现方案 if...else : …

Unittest 笔记:unittest拓展生成HTM报告发送邮件

HTMLTestRunner 是一个unitest拓展可以生成HTML 报告 下载地址:GitHub: https://github.com/defnnig/HTMLTestRunner HTMLTestRunner是一个独立的py文件,可以放在Lib 作为第三方模块使用或者作为项目的一部分。 方式1: 验证是否安装成功&…

基于Android的课程教学互动系统 微信小程序uniapp

教学互动是学校针对学生必不可少的一个部分。在学校发展的整个过程中,教学互动担负着最重要的角色。为满足如今日益复杂的管理需求,各类教学互动程序也在不断改进。本课题所设计的springboot基于Android的教学互动系统,使用SpringBoot框架&am…

Android TV开发之VerticalGridView

Android TV应用开发和手机应用开发是一样的,只是多了焦点控制,即选中变色。 androidx.leanback.widget.VerticalGridView 继承 BaseGridView , BaseGridView 继承 RecyclerView 。 所以 VerticalGridView 就是 RecyclerView ,使…

mysql下载

网址 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 2、选择MSI进行安装 3、这里我选择离线安装 4、这里我选择直接下载 5、等待下载安装即可

【无法联网】电脑wifi列表为空的解决方案

打开电脑, 发现wifi列表为空, 点击设置显示未连接 首先检查是不是网卡驱动有问题, cmd, devmgmt.msc 找到网络适配器, 看看网卡前面是否有感叹号, 如果没有则说明网卡没问题, 有问题则重装驱动 看看网络协议是否设置正确 找到"控制面板\所有控制面板项\网络和共享中心&…

通讯录(C语言)

通讯录 一、基本思路及功能介绍二、功能实现1.基础菜单的实现2.添加联系人信息功能实现3.显示联系人信息功能实现4.删除联系人信息功能实现5.查找联系人信息功能实现6.修改联系人信息功能实现7.排序联系人信息功能实现8.加载和保存联系人信息功能实现 三、源文件展示1.test.c2.…

MATLAB图论合集(三)Dijkstra算法计算最短路径

本贴介绍最短路径的计算,实现方式为迪杰斯特拉算法;对于弗洛伊德算法,区别在于计算了所有结点之间的最短路径,考虑到MATLAB计算的便捷性,计算时只需要反复使用迪杰斯特拉即可,暂不介绍弗洛伊德的实现&#…

ChatGPT 与前端技术实现制作大屏可视化

像这样的综合案例实分析,我们可以提供案例,维度与指标数据,让ChatGPT与AIGC 帮写出完整代码,并进行一个2行2列的布局设置。 数据与指令如下: 商品名称 销量 目标 完成率 可乐 479 600 79.83% 雪碧 324 600 54.00% 红茶 379 600 63.…

Unity报错DllNotFoundException:sqlite3

Unity项目中要使用轻型数据库sqlite,除了导入sqlite3.dll外,还需要导入Mono.Data.Sqlite.dll和System.Data.dll(工程里或者编辑器里面有System.Data.dll时就不需要)两个文件。 如果在编辑器中运行出现 “DllNotFoundException:sql…

优化器调整策略

损失函数的作用是衡量模型输出与真实标签的差异。当我们有了这个loss之后,我们就可以通过反向传播机制得到参数的梯度,那么我们如何利用这个梯度进行更新参数使得模型的loss逐渐的降低呢? 优化器的作用 Pytorch的优化器: 管理并…

nacos总结1

5.Nacos注册中心 国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 5.1.认识和安装Nacos Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富&#xff0c…

windows可视化界面管理服务器上的env文件

需求:在 Windows 环境中通过可视化界面编辑位于 Linux 主机上的 env 文件的情况,我现在环境是windows环境,我的env文件在linux的192.168.20.124上,用户是op,密码是op,文件绝对路径是/home/op/compose/env …

CTFhub-sqli注入-报错注入

用到的函数 updatexml(1, ,1) concat(0x7e, ,0x7e) group_concat(目标值) right(,32) 1 1 1 union select updatexml(1,concat(0x7e,database(),0x7e),1) 1 union select updatexml(1,concat(0x7e,(select(group_concat(ta…