uni-app学习日记4
1.uni-app模板示例
解析:
[1]顶部选项卡
[2]组件通讯
[3]列表到详情示例
[4]GlobalData和vuex
2.手机号码登录
解析:
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">快捷登录</button>
3.原生渲染和webview渲染
解析:
[1]uni-app是vuejs的语法+小程序的API,它有独立的js引擎,原生能力的扩展基于独立js引擎,而不是基于webview的扩展方案。
[2]在App端,uni-app支持视图层使用原生渲染,也支持使用webview渲染,开发者可以自行选择。
4.uni小程序sdk
解析:即英文uniMpSDK,为原生App开发者提供的sdk:
[1]快速打造自己的小程序生态
[2]将App里的部分栏目实现小程序化,方便解耦、快速迭代升级
5.uniCloud
解析:
[1]uniCloud与微信小程序云开发、支付宝小程序云开发类似。
[2]uniCloud可通过云函数URL化实现普通http通信接口,非uni-app开发的应用也可以通过这种方式连接uniCloud。
6.5+App项目[不建议]
解析:
[1]5+是html5plus的缩写,即基于html5的增强扩展。
[2]它是一个跨iOS、Android的混合开发App解决方案,与cordova类似。
[3]它基于webview渲染,封装了大量原生能力给js API。
7.mui项目[不建议]
解析:
[1]mui是mobile ui的全称,它是为5+App而配套推出的开源ui框架。
[2]5+App可以使用很多基于html的ui库,mui是DCloud官方推出的一个库,在性能与5+App的结合上,拥有更好的优势。
8.wap2app[不建议]
解析:
[1]wap2app,wap是手机网站的意思,它是一个快速将手机H5站点转换为跨平台App的方案。
[2]它是基于5+App的一套前端框架,利用5+App引擎增强了远端网页的功能和性能,以接近App的效果。
9.uni.checkSession
解析:检查登录状态是否过期。
10.auth.code2Session
解析:换取用户唯一标识OpenID和会话密钥session_key。
11.uni.getProvider(OBJECT)
解析:获取服务供应商,仅App平台支持。
12.uni.login()返回结果
解析:
{code: "011ZzfHa1uBqgC0zAOIa17ps4r2ZzfHA", errMsg: "login:ok"}
13.uni.getUserInfo()返回结果
解析:
{
cloudID: undefined,
encryptedData: "25oUUf429xOfSLENXKY/W055PawZ15dTCGF9bUlKUBJVpA3lH",
errMsg: "getUserInfo:ok",
iv: "9u4NZ7zXIJYvbdHRASlCHA==",
rawData: "{"nickName":"微信用户","gender":0,"language":"","city":"","province":"","country":"","avatarUrl":"https://thirdwx"}",
signature: "7ce5625ca8e9d7082fd200802bd345ef03636b2e",
userInfo: {avatarUrl: "https://thirdwx", city: "", country: "", gender: 0, language: "", nickName: "微信用户", province: ""}
}
14.@getuserinfo="wxLogin"
解析:console.log(e),console.log(e.detail.userInfo):

15.var options = currentPage.options
解析:如果要获取url中所带的参数可以查看options。
16.uniapp获取当前页面url
解析:
var pages = getCurrentPages() //获取加载的页面
var currentPage = pages[pages.length - 1] //获取当前页面的对象
var url = currentPage.route //当前页面url
17.根据appid、secret、code和authorization_code获取openid和session_key
解析:
getdata(code){
let url = 'https://api.weixin.qq.com/sns/jscode2session?appid='+'appid'+'&secret='+'secret'+'&js_code='+code+'&grant_type=authorization_code';
uni.request({
method: 'get',
url: url,
data:'',
header: { "Content-Type": "application/x-www-form-urlencoded" },
success:(res) => {
this.openid = res.data.openid;
this.session_key = res.data.session_key;
},
fail:(err) => {
console.log(err);
},
complete:() => { }
})
}
18.scope列表
解析:

19.uni.getSetting()
解析:
uni.getSetting({
success(res) {
console.log("授权:",res);
if (!res.authSetting['scope.userInfo']) {
console.log("当前未授权");
} else {
console.log("当前已授权");
}
}
})
20.WebSocket
解析:
[1]uni.connectSocket:创建WebSocket连接
[2]uni.onSocketOpen:监听WebSocket打开
[3]uni.onSocketError:监听WebSocket错误
[4]uni.sendSocketMessage:发送WebSocket消息
[5]uni.onSocketMessage:接受WebSocket消息
[6]uni.closeSocket:关闭WebSocket连接
[7]uni.onSocketClose:监听WebSocket关闭
21.SocketTask
解析:
[1]SocketTask.send:通过WebSocket连接发送数据
[2]SocketTask.close:关闭WebSocket连接
[3]SocketTask.onOpen:监听WebSocket连接打开事件
[4]SocketTask.onClose:监听WebSocket连接关闭事件
[5]SocketTask.onError:监听WebSocket错误事件
[6]SocketTask.onMessage:监听WebSocket接受到服务器的消息事件
22.数据缓存
解析:
[1]uni.getStorage:获取本地数据缓存
[2]uni.getStorageSync:获取本地数据缓存
[3]uni.setStorage:设置本地数据缓存
[4]uni.setStorageSync:设置本地数据缓存
[5]uni.getStorageInfo:获取本地缓存的相关信息
[6]uni.getStorageInfoSync:获取本地缓存的相关信息
[7]uni.removeStorage:删除本地缓存内容
[8]uni.removeStorageSync:删除本地缓存内容
[9]uni.clearStorage:清理本地数据缓存
[10]uni.clearStorageSync:清理本地数据缓存
23.获取位置
解析:
[1]uni.getLocation:获取当前位置
[2]uni.chooseLocation:打开地图选择位置
[3]uni.openLocation:打开内置地图
24.系统信息
解析:
[1]uni.getSystemInfo:获取系统信息
[2]uni.getSystemInfoSync:获取系统信息
[3]uni.canIUse:判断应用的 API,回调,参数,组件等是否在当前版本可用
25.生物认证
解析:
[1]uni.startSoterAuthentication:开始生物认证
[2]uni.checkIsSupportSoterAuthentication:获取本机支持的生物认证方式
[3]uni.checkIsSoterEnrolledInDevice:获取设备内是否录入如指纹等生物信息的接口