小程序的21个新功能
微信的小程序自推出以来就备受用户的关注,它凭借着开发简单、使用便捷、所需空间小等优势一直受到用户的喜爱。最近,小程序又发布了21个新功能,本文将为大家详细介绍这些新功能。
1. 支持桌面图标
随着小程序的普及,官方终于支持了桌面图标的设置,可以更方便地在主屏幕上启动小程序了。需要注意的是,该功能只对Android系统和iOS 13及以上系统生效。
如何设置桌面图标
登录小程序后,点击页面右上角加号,之后点击“添加到桌面”即可。
需要注意的是,对于安卓手机,每个小程序都需要手动设置桌面图标,而对于iOS手机,则只需要设置一次即可。
2. 支持数据字典缓存
在小程序中,支持了数据字典的缓存,可以通过定义一个js文件来将数据字典保存到缓存中,并且实现简单,加载速度也快,可以提高小程序的用户体验。
如何实现数据字典缓存
所有需要缓存的数据都可以保存在一个js文件中,使用JS的key-value结构保存数据。定义一个cache对象,在对象上添加所有key/value对即可。例如,下面的代码实现了一个按月份缓存账单的例子:
```
const cache = {};
const now = new Date();
const month = now.getMonth() + 1;
const year = now.getFullYear();
if (!cache['bill']) {
cache['bill'] = {};
}
if (!cache['bill'][year]) {
cache['bill'][year] = {};
}
if (!cache['bill'][year][month]) {
cache['bill'][year][month] = {};
}
cache['bill'][year][month] = data;
```
3. 支持跳转到其他小程序
新版小程序新增了“跳转到其他小程序”的功能,跳转到其他小程序后,用户可以直接使用跳转后的小程序中提供的内容,大大简化了用户操作。
如何跳转到其他小程序
使用wx.navigateToMiniProgram方法,传入其他小程序的AppID和路径即可。例如:
wx.navigateToMiniProgram({
appId: '其他小程序的AppID',
path: '其他小程序内页面路径',
success(res) {console.log(res)}
})
4. 支持小程序订阅消息功能
小程序支持订阅消息功能,可以让用户获得个性化、实时的信息推送,例如物流更新、订单状态、活动即将开始等。
如何使用小程序订阅消息功能
需要用户授权,并在授权成功后将授权加入数据库,之后通过server api调用模板消息即可实现推送。例如:
wx.requestSubscribeMessage({
tmplIds: ['', ''],// 模板id,可以通过微信公众平台后台申请
success(res) {}
})
5. 支持小程序直播功能
在新版小程序中,支持了小程序直播功能。可以在小程序内直接连麦、发弹幕,与主播互动。
如何使用小程序直播功能
使用wx.request方法获取拉流地址,再通过wx.createLivePlayerContext方法实现直播功能。例如:
wx.request({
url: '拉流地址',
success(res) {
var context = wx.createLivePlayerContext('player')
context.play()
}
})
6. 支持小程序插件功能
新版小程序支持小程序插件功能,可以将所需功能和数据通过小程序插件实现。在使用过程中,可以通过插件来获取数据和功能。
如何使用小程序插件功能
需要通过微信公众平台后台申请小程序插件ID,之后在小程序中使用插件即可。例如,获取微信运动数据的插件e都有:
wx.getWeRunData({// 获取微信运动数据
success(res) {
const encryptedData = res.encryptedData
const iv = res.iv
const e = new regeneratorRuntime.WX({// 插件ID
api: "xxx",
token: "xxx"
});
e.getWeRunData({
data: {
encryptedData: encryptedData,
iv: iv
},
success(res) {
console.log(res)
}
})
}
})
7. 支持小程序开放数据卡片接口
新版小程序支持小程序开放数据卡片接口,可以让用户将小程序内的数据在微信朋友圈或者微信群内分享。
如何使用小程序开放数据卡片接口
使用wx.updateShareMenu方法实现开放数据卡片接口,并在分享时传递card参数即可。例如:
wx.updateShareMenu({
withShareTicket: true,
success() {
wx.shareAppMessage({
title: '标题',
path: '路径',
imageUrl: '图片地址',
success: function(res) {
if (res.shareTickets) {
var shareTicket = res.shareTickets[0]
wx.getShareInfo({
shareTicket: shareTicket,
success(res) {
var encryptedData = res.encryptedData
var iv = res.iv
wx.openDataCard({
cardList: [{
openGId: "",
cardId: "",
cardExt: "encryptedData=" + encodeURIComponent(encryptedData) + "&iv=" + encodeURIComponent(iv)
}]
})
}
})
}
}
})
}
})
8. 支持小程序云开发
新版小程序中支持了小程序云开发功能,可以在小程序内使用数据库、云函数、云存储等功能,更加方便了开发人员的使用。
如何使用小程序云开发
需要在小程序后台开启云开发功能,之后创建数据集合,就可以开始操作数据库了。例如,获取云数据库数据:
wx.cloud.database().collection('user').get({
success(res) {
console.log(res)
}
})
9. 支持小程序音视频功能
新版小程序中支持小程序音视频功能,开发人员可以在小程序中实现录音和播放音频、视频等功能,为开发人员提供了更多的选择。
如何使用小程序音视频功能
可以通过wx.chooseVideo、wx.startRecord和wx.playVoice等方法实现音视频功能。例如,录制音频的方法:
var recordStatus = false
var interval
wx.startRecord({
success() {
recordStatus = true
clearInterval(interval)
},
fail: function() {
recordStatus = false
}
})
interval = setInterval(function() {
if (recordStatus) {
wx.stopRecord()
clearInterval(interval)
}
}, 1000)
10. 支持管理系统消息
在新版小程序中,支持管理系统消息,随时查看和处理系统消息,方便维护系统。
如何管理小程序系统消息
所有系统消息都会显示在开发者工具中的问题反馈管理页面,可以通过该页面查看和处理系统消息。
11. 支持小程序分享功能
新版小程序中支持小程序分享功能,可以让用户分享小程序内的内容。
如何分享小程序内容
需要在页面右上角显示出分享按钮,当用户点击分享按钮,会自动调用wx.shareAppMessage方法。可以在该方法中设置分享的标题、路径和图片等相关参数,例如:
wx.showShareMenu({
withShareTicket: true,
success(res) {
console.log("设置成功!")
}
})
wx.onShareAppMessage(function() {
return {
title: '标题',
path: '路径',
imageUrl: '图片地址',
success: function(res) {
console.log(res)
}
}
})
12. 支持加载网络字体
新版小程序支持加载网络字体,可以使小程序更加美观、个性化,提高小程序的用户体验。
如何加载网络字体
可以通过@font-face语法导入网络字体文件,例如:
@font-face {
font-family: 'MyFont';
src: url('http://example.com/myfont.woff2') format("woff2"), url('http://example.com/myfont.woff') format("woff");
font-weight: 400;
font-style: normal;
}
13. 支持自定义组件化开发
新版小程序支持自定义组件化开发,可以将重复的代码和样式抽离出来,方便代码的维护。
如何开发自定义组件
在使用前需要在app.json中配置,注册组件。可以在组件中定义模板和样式,然后将组件注册到页面中即可,例如:
Component({
properties: {
//组件的属性列表
text: {
type: String,
value: ''
},
color: {
type: String,
value: ''
}
},
methods: {
//组件的方法列表
}
})
14. 支持小程序离线缓存功能
新版小程序支持小程序离线缓存功能,可以在小程序离线时快速读取缓存的数据,方便用户的操作。
如何开启小程序离线缓存功能
需要在app.json中配置离线缓存需要缓存的页面列表,例如:
{
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/detail/detail"
],
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "小程序名称",
"navigationBarTextStyle": "black"
},
"tabBar": {
"color": "#666",
"selectedColor": "#b4282d",
"backgroundColor": "#fafafa",
"borderStyle": "white",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "images/index.png",
"selectedIconPath": "images/index-selected.png"
},
{
"pagePath": "pages/logs/logs",
"text": "日志",
"iconPath": "images/logs.png",
"selectedIconPath": "images/logs-selected.png"
}
]
},
"app": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "小程序名称",
"navigationBarTextStyle": "black"
},
"offline": {
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/detail/detail"
]
}
}
15. 支持小程序自定义导航栏
在新版小程序中,可以实现自定义导航栏,使用者可以根据自己的需求来定制小程序的导航栏。
如何实现自定义导航栏
需要在app.json中进行配置,实现自定义导航栏。例如:
{
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "小程序名称",
"enablePullDownRefresh": true,
"usingComponents": {
"nav-bar": "/components/nav-bar/nav-bar"
}
}
16. 支持小程序极速发布功能
新版小程序新增了极速发布功能,可以在小程序开发完成后快速发布。
如何使用极速发布功能
只需要在小程序后台中选择极速发布功能,并绑定可信域名,即可快速发布。
17. 支持小程序云存储功能
在新版小程序中,新增了小程序云存储功能,可以让开发人员在小程序中进行数据存储,为开发人员提供了更方便的使用。
如何使用小程序云存储功能
需要在小程序后台开启云开发功能,之后就可以对云存储进行操作了。例如,上传文件:
wx.cloud.uploadFile({
cloudPath: "路径",
filePath: "本地文件路径",
success(res) {
console.log(res)
}
})
18. 支持获取当前用户地理位置
在新版小程序中,支持获取当前用户地理位置,可以方便地进行地理位置定位。
如何获取当前用户地理位置
需要在小程序中使用wx.getLocation方法获取当前用户地理位置。例如:
wx.getLocation({
type: 'wgs84',
success(res) {
const latitude = res.latitude
const longitude = res.longitude
const speed = res.speed
const accuracy = res.accuracy
}
})
19. 支持小程序推送服务
新版小程序中新增了小程序推送服务,可以进行即时推送,方便用户获取最新的信息。
如何使用小程序推送服务
需要在小程序后台通过模板消息设置进行配置推送类型和内容,并通过server api调用模板消息即可。例如:
wx.requestSubscribeMessage({
tmplIds: ['', ''],// 模板id,可以通过微信公众平台后台申请
success(res) {}
})