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

news2024/12/28 20:12:56

一、微信小程序基本介绍

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.coloradmin.cn/o/937717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式学习之指针

今天周天,主要对linux系统编程的知识进行了学习,但是很多精华还是没有学到位,重点的学习内容是把linux 中open,write,lseek,close的相关操作进行了学习。其次再次把函数指针,数组指针,指针函数,指针数组进行…

线性代数的学习和整理13: 函数与向量/矩阵

目录 1 函数与 向量/矩阵 2 函数的定义域,值域,到达域 3 对应关系 1 函数与 向量/矩阵 下面两者形式类似,本质也类似 函数的: axy ,常规函数里,a,x,y 一般都是单个数矩阵: AXY &a…

[管理与领导-54]:IT基层管理者 - 扩展技能 - 1 - 时间管理 -1- 时间管理的基本理念和五大原则

前言: 管理学大师彼得 德鲁克曾说过:“不能管理时间,便什么也不能管理” 。论语中说:逝者如斯 夫!不舍昼夜。时间对任何一个人来说都是十分重要的,对于惜时如金的管理者来说更是如此。 时间也是一种资源,对所有的人…

TIM输入捕获笔记 (计算编码电机的频率和占空比)

1. 输入捕获简介 IC (Input Capture) 输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获…

Docker网络原理及案例详解

文章目录 简介Docker网络产生的过程Docker network的作用网络模式网络模式---bridge网络模式---host网络模式---none 自定义网络 简介 Docker网络实现容器之间通信和连接外部网络的功能,主要的网络连接方式有桥接网络(Bridge Network、主机网络(Host Ne…

【LeetCode75】第三十九题 二叉树的右视图

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一棵二叉树,让我们返回站在二叉树右边从上到下看到的节点。 那实际上就是要我们对二叉树进行层序遍历&#xff0c…

CS144(2023 Spring)Lab 0:networking warmup(环境搭建 webget bytestream)

文章目录 前言其他笔记相关链接 1. Set up GNU/Linux on your computer2. Networking by hand3. Writing a network program using an OS stream socket3.1 Linux配置3.2 C规范3.3 Writing webget3.3.1 实现3.3.2 测试 4. An in-memory reliable byte stream4.1 思路分析4.2 代…

《C和指针》笔记14: 作用域和存储类型总结(例子说明)

文章目录 题目答案解释总结 本文是作用域和存储类型的总结,以一个例子来说明,如果不看解释可以很直接地回答每一条语句的作用域和存储类型,那么说明已经很熟练地掌握这个知识点了。 关于作用域和存储类型可以参考我前面的博客: …

LeetCode-56-合并区间

题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 可以使用 LinkedList,…

Cadence+硬件每日学习十个知识点(46)23.8.26 (运算放大器)

文章目录 1.电压跟随器的输入和输出是一样的,但是输入的是电压带有高阻抗,输出的电压带有低阻抗。2.比较器的迟滞(这个电阻)3.运放的压摆率4.运放-轨到轨5.输入失调电压Vos(选一个低的器件就行,对于5V&…

Batbot电力云平台在智能配电室中的应用

智能配电室管理系统是物联网应用中的底层应用场景,无论是新基建下的智能升级,还是双碳目标下的能源管理,都离不开智能配电运维对传统配电室的智慧改造。Batbot智慧电力(运维)云平台通过对配电室关键电力设备部署传感器…

【学习笔记】求解线性方程组的G-S迭代法

求解线性方程组的G-S迭代法 // 运行不成功啊function [x,k,index] Gau_Seid(A,b,ep,it_max) % 求解线性方程组的G-S迭代法,其中 % A为方程组的系数矩阵 % b为方程组的右端项 % ep为精度要求,省缺为1e-5 % it_max为最大迭代次数,省缺为100 % …

1. 深度学习介绍

1.1 AI地图 ① 如下图所示,X轴是不同的模式,最早的是符号学,然后概率模型、机器学习。Y轴是我们想做什么东西,感知是我了解这是什么东西,推理形成自己的知识,然后做规划。 ② 感知类似我能看到前面有个屏…

微前端开发

微前端介绍 微前端的概念是由ThoughtWorks在2016年提出的,它借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的…

【大数据】Linkis:打通上层应用与底层计算引擎的数据中间件

Linkis:打通上层应用与底层计算引擎的数据中间件 1.引言2.背景3.设计初衷4.技术架构5.业务架构6.处理流程7.如何支撑高并发8.用户级隔离度和调度时效性9.总结 Linkis 是微众银行开源的一款 数据中间件,用于解决前台各种工具、应用,和后台各种…

【git进阶使用】 告别只会git clone 学会版本控制 ignore筛选 merge冲突等进阶操作

git使用大全 基本介绍git 快速上手一 环境安装(默认已安装)二 远程仓库克隆到本地1 进入rep文件夹目录2 复制远程仓库地址3 git clone克隆仓库内容到本地4 修改后版本控制4.1 修改文件4.2 git status查看版本库文件状态4.3 git add将文件加入版本库暂存区…

NEOVIM学习笔记

GitHub - blogercn/nvim-config: A pretty epic NeoVim setup 一直使用vim,每次到了新公司都要配置半天,而且常常配置失败,很多插件过期不好用。偶然看到别人的NEO VIM,就试着用了一下,感觉还不错。 用来开发和阅读C代…

使用树莓派Pico、DHT11和SSD1306搭建一个温度湿度计(只使用官方库,以及官方案例代码的错误之处和解决方案)

最近想树莓派 Pico、DHT11 温湿度传感器和 SSD1306 OLED 屏幕做一个温度湿度计,树莓派官方案例也分别有这两个设备的案例,我就想做个简单的温度湿度计作为学习微控制器的开始,结果遇到了一个大坑,所以写本文记录一下整个过程。 本…

[完美解决]Vue项目运行时出现this[kHandle] = new _Hash(algorithm, xofLen)

vue项目运行bug解决办法 一、问题内容二、问题出现的原因三、解决方法1、方法一(推荐)2、方法二(可以解决,但不太推荐) 一、问题内容 在github寻找一些vue项目clone到本地时候,npm i没有问题,但是npm run serve 或者npm run dev的时候会出现…

计算机毕设 基于机器学习的餐厅销量预测 -大数据 python

文章目录 0 前言餐厅销量预测模型简介2.ARIMA模型介绍2.1自回归模型AR2.2移动平均模型MA2.3自回归移动平均模型ARMA 三、模型识别四、模型检验4.1半稳性检验(1)用途(1)什么是平稳序列?(2)检验平稳性 ◆白噪声检验(纯随机性检验)(1)用途(1)什么是纯随机序列?(2)检验纯随机性 五…