微信小程序优点和缺点:
优点:
即用即走、无需安装、省流量、省安装时间、不占用桌面
依托微信流量,天生推广传播优势
开发成本比app低
缺点:
用户留存,即用即走是优势,也存在一些问题
入口相对传统app要深很多
限制较多,页面大小不能超过2MB,不能打开超过10个层级的页面
小程序关联微信公众号如何确定用户的唯一性:
如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 unionid 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的
<meta charset="utf-8">
准备工作
1:用没有注册过微信公众平台的邮箱注册一个微信公众号, 申请帐号 ,点击 https://mp.weixin.qq.com/wxopen/waregister?action=step1 根据指引填写信息和提交相应的资料,就可以拥有自己的小程序帐号。注册完成之后开始登录。
我们可以在菜单 “设置”-“开发设置” 看到小程序的 AppID 了 。小程序的 AppID 相当于小程序平台的一个身份证,后续你会在很多地方要用到 AppID (注意这里要区别于服务号或订阅号的 AppID)。有了小程序帐号之后,我们需要一个工具来开发小程序。
根据官方教程进行开发https://mp.weixin.qq.com/debug/wxadoc/dev/
小程序初始化目录:
1:page 页面文件夹 存放项目页面渲染相关文件,新建文件夹,再新建pages;
上手开发
标签组件
<view></view>
<text></text>
模板语法
①条件渲染
<view wx:if="{{表达式}}">xxx</view>
<view wx:elif="{{表达式}}">xxx</view>
<view wx:else>xxx</view>
②列表渲染
<view wx:for="{{list}}" wx:key="{{index}}">{{index}}--{{item}}</view>
<text wx:for="{{list}}" wx:for-item="myitem" wx:for-index="myindex"> {{myindex}}~{{myitem}} </text>
③模板template
定义
<template name="temp"> <view>标题:{{name}}</view> </template>
调用
<template is="temp" {{name:"han"}}>
导入模板
<import src = "xxx.wxml" />
④非template-任意的wxml文件
导入
<include src="xxx.wxml" />
相当于把xxx.wxm文件内容(除了template)拷贝到include地方
⑤事件
类型
bindtap 单击
bindinput 表单发生改变
事件参数
<view bindtap="showMsg" data-msg="xxx"></view> showMsg(e){ e.target.dataset.msg //获取事件参数 },
⑥表单
<input value="{{msg}}" bindinput="inputHd"></input>
inputHd(e){
e.detail.value //表单的值
},
更新数据与视图
this.setData({数据名1:数据值1})
组件与API
①组件
容器view
内容text
表单input/button
②api
1.showToast
wx.showToast({
title:'成功',
icon:'success',
duration:2000
})
2.showLoading
wx.showLoading({
title:'加载中',
})
setTimeout(function(){
wx.hideLoading()
},2000)
3.setStorageSync存储数据
wx.setStorageSync('key','value')
4.getStorageSync获取数据
var value = wx.getStorageSync('key')
5.wx.request请求数据
导航
①标签<navigator>
01 默认导航 url=""
02 open-type打开页面类型
navigate 默认打开
redirect不留历史记录
switchTab 切换底部栏
navigateBack 返回
03 打开小程序
a. app.json中配置
"navigateToMiniProgramAppIdList": ["wxb8f91a4e8d7eb4ae"],
b. navigator填写
<navigator target="miniProgram" open-type="navigate" app-id="wxb8f91a4e8d7eb4ae" path="要打开的页面,默认首页" extra-data="" version="release"> 面试宝典 </navigator>
②js方式
wx.navigateTo({url:''})跳转页面
wx.redirectTo({url:''})跳转不留历史记录
wx.switchTab({url:''})底部导航栏页面切换
wx.navigateBack()返回
wx.navigateToMiniProgram({appid:'appid'})切换小程序
生命周期
onLoad 页面的参数(ajax请求通知在这个函数调用)
onShow 页面显示
onReady页面首次渲染
onHide
switchTab,切换底部导航兰navigate跳转页面
onUnload卸载(redirect时候,页面就会卸载)
onPullDownRefresh 下拉刷新
onReachBottom触底
onShareAppMessage 分享