微信小程序 Unit01

231 阅读5分钟

本期主要内容

1.微信公众平台

2.微信小程序开发环境搭建

3.微信小程序组件

1.微信公众平台

1.1 微信公众平台概述

微信公众平台,是基于腾讯提供的微信服务器和客户端APP,由更多的第三服务提供者加入,为广大的微信客户端提供咨讯和服务的平台。

微信公众平台域名:mp.weixin.qq.com

微信公众平台的服务类型:

• 服务号,对客户提供一对一的服务,如中国移动、中国联通、招商银行等。

• 订阅号,向所有的订阅者提供免费的咨讯服务,如前端大全、 MSDN 等

• 小程序,在微信客户端提供类似 APP 功能,达到"用完即走"的目的

• 企业号,为企业内部员工提供日常办公支持,可与微信、支付等互通。

1.2 微信小程序的历史

• 2010年微信内自带 WebView组件(其本质就是HTML/CSS/JavaScript的解释器)提供网页浏览服务,其在微信内部成为网页的标准,但未公开。

• 2015年,腾讯公开一套网页开发工具包,称为JS-SDK,开放了拍摄、录音、支付等功。

• 2017年推出微信小程序

• 2019年支付宝、头条等陆续推出了小程序

1.3 微信小程序与网页的开发的区别

2.微信小程序开发环境搭建

2.1 注册微信小程序开发者

A.注册全新邮箱(或者使用没有在微信公众平台注册过的邮件,如 QQ 邮箱)

B.在微信公众平台注册开发者账号,步骤如下:

项目目录名称中禁止出现中文、空格等特殊符号

2.2 创建微信小程序项目

2.3 微信小程序目录结构

• .json ,静态配置文件

• app.json,整个项目的全局配置文件

• page.json,每个页面专用的配置文件(如index.json、logs.json),可覆盖全局配置

• .js/.ts,脚本文件

• app.js,整个小程序应用的入口脚本文件

• page.js,每个页面专用的脚本文件,如index.js、logs.js等

• .wxml,页面的模板文件(不能使用HTML标签,只使用小程序专用的标签)

• .wxss,页面的样式文件

• app.wxss,整个小程序应用的全局样式文件

• page.wxss,每个页面的样式文件,可覆盖全局样式

app.json、app.js、app.wxss必须在小程序应用的根目录下

2.4 JSON

JSON官网:www.json.org/json-en.htm…

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

JSON支持的数据结构有:Array和Object

JSON支持的数据类型有:string、number、boolean、null、array、object

string必须括在英文双引号之间

Number类型的结构如下:

2.5 全局配置

全局配置存储在app.json文件内,示例结构如下:

{

    "pages":[],

    "window":{

        "navigationBarTitleText": "标题文本内容 ",

        "navigationBarTextStyle":"标题文本颜色(white|black)",

        "navigationBarBackgroundColor": "标题背景颜色",

        "backgroundTextStyle":"loading的样式(dark|light)",

        "enablePullDownRefresh":true,

        "backgroundColor": "背景颜色"

    },

    "tabBar":{

        "list":[

            {

                "text": "显示文本",

                "pagePath": "链接页面路径",              

                "iconPath": "默认显示的图标路径",

                "selectedIconPath": "被选定时显示的图标路径"

            }

        ]

    }

}

pages属性用于指定小程序中的页面组成,每个页面默认包括page.json、page.js、page.wxss及page.wxml文件。数组的第一项代表小程序的初始页面(首页)

window属性用于进行窗口的配置,为object类型,包含有:

•navigationBarTitleText,控制标题的文本内容

•navigationBarTextStyle,控制标题的文本样式(black|white)

•navigationBarBackgroundColor,控制标题的背景颜色

•backgroundTextStyle,用于控制下拉刷新时的loading的样式(light|dark)

•enablePullDownRefresh,用于控制是否开启全局下拉刷新(也可以page.json中对于某个页面进行单独的配置)

•backgroundColor,窗口的背景颜色

tabBar属性用于设置小程序底部选项卡,为object,包含list属性,在list属性需要罗列底部选项卡信息(选项卡数量至少两个,至多五个),包含有以下信息:

•text,控制底部选项卡显示的文本

•pagePath,控制底部选项卡的链接页面路径(必须保证在路径已经在pages中存在)

•iconPath,控制正常显示选项卡图片

•selectedIconPath,控制被选定的选项卡图片

除此之外,在tabBar中还有包含以下属性:

•color,控制底部选项卡文本正常显示的颜色

•selectedColor,控制被选定的底部选项卡文本的颜色

•backgroundColor,控制底部选项卡的背景颜色

•borderStyle,控制底部选项卡中顶部边框线的颜色(black|white) app.json的示例代码如下:

{

 "pages": [

   "pages/index/index",

   "pages/page01/page01",

   "pages/logs/logs"

 ],

 "window": {

   "navigationBarTitleText": "学子影院",

   "navigationBarTextStyle": "white",

   "navigationBarBackgroundColor": "#0aa1eb",

   "backgroundTextStyle": "light",

   "enablePullDownRefresh": true,

   "backgroundColor": "#e5e5e5"

 },

 "tabBar": {

   "color": "#000",

   "selectedColor": "#0aa1eb",

   "backgroundColor": "#fff",

   "borderStyle":"black",

   "list": [

     {

       "text": "首页",

       "pagePath": "pages/index/index" ,

       "iconPath" :"images/index_disabled.png",

       "selectedIconPath":"images/index_enabled.png"

     },

     {

       "text": "购物车",

       "pagePath": "pages/page01/page01"  ,

       "iconPath" :"images/cart_disabled.png",

       "selectedIconPath":"images/cart_enabled.png"    

     }

   ]

 }, 

 "style": "v2",

 "sitemapLocation": "sitemap.json"

}

2.6 sitemap.json

sitemap.json用于设置微信爬虫的爬取规则。

sitemap.json的文档结构如下:

{

	"rules":[

		{

			"page":"页面的路径",

            "action":"动作",

            "params":[],

            "matching":"匹配规则(exact|inclusive|exclusive|partial)"

		}

	]

}

可配置project.config.json中的checkSiteMap属性禁用siteMap属性

3.微信小程序组件

<view>组件

<view>组件视图容器组件,语法结构是:

<view 

      hover-class="按下去的样式类"

      hover-start-time="按下去多长时间出现点击状(50ms)"

      hover-stay-time="手指松开后点击状态的保留时间(400ms)">

    ...

</view>

示例代码如下:

<--page.xwml代码如下:-->

    

<view 

  class="container"

  hover-class="hover"

  hover-start-time="3000"

  hover-stay-time="5000">

  view组件是视图容器组件,类似于HTML中DIV

</view>



/*page.wxss的代码如下:*/

.container{

  width:200px;

  height: 200px;

  border:2px solid #f00;

}

.hover{

  border:2px dotted #00f;

}

组件

组件是图片组件,支持GIF、JPG、PNG、WEB、SVG格式的文件,语法结构如下:

<image src="图像的URL地址"></image>