add: previewMedia,getSelectedTextRange,logManager,getRealtimeLogManager

master
jiangxue 2021-01-12 10:01:58 +08:00
parent 3cfd96c7b2
commit e0b008e085
17 changed files with 431 additions and 4 deletions

View File

@ -0,0 +1,67 @@
//index.js
//获取应用实例
const app = getApp()
Page({
data: {
motto: 'Hello World',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
//事件处理函数
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo,
hasUserInfo: true
})
} else if (this.data.canIUse){
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
app.userInfoReadyCallback = res => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
} else {
// 在没有 open-type=getUserInfo 版本的兼容处理
wx.getUserInfo({
success: res => {
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
}
},
getUserInfo: function(e) {
console.log(e)
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
},
startLog:function(data) {
console.log('startLog')
const logger = wx.getLogManager({level: 0})
logger.log({str: 'hello world'}, 'basic log', 100, [1, 2, 3])
logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3])
logger.debug({str: 'hello world'}, 'debug log', 100, [1, 2, 3])
logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3])
logger.log('test getLogManager log ~~~')
// 使用logger打印的日志不会体现在小程序vconsole中
console.log(123123123123123123123123123123123123123123)
console.log(29384759823475983724895)
// 使用普通console日志在vconsole正常打印
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,8 @@
<!--pages/index/index.wxml-->
<view>
<button bindtap="startLog">start log</button>
<button open-type="feedback">feedback</button>
</view>

View File

@ -0,0 +1,9 @@
.button {
margin-bottom: 20rpx;
}
.navigator-hover button{
background-color: #DEDEDE;
}
.other-navigator-hover button{
background-color: #DEDEDE;
}

View File

@ -0,0 +1,61 @@
//index.js
//获取应用实例
const app = getApp()
Page({
data: {
motto: 'Hello World',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
//事件处理函数
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo,
hasUserInfo: true
})
} else if (this.data.canIUse){
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
app.userInfoReadyCallback = res => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
} else {
// 在没有 open-type=getUserInfo 版本的兼容处理
wx.getUserInfo({
success: res => {
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
}
},
getUserInfo: function(e) {
console.log(e)
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
},
startLog:function(data) {
const logger = wx.getRealtimeLogManager()
logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3])
logger.error({str: 'hello world'}, 'error log', 100, [1, 2, 3])
logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3])
console.log('console.log test')
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,8 @@
<!--pages/index/index.wxml-->
<view>
<button bindtap="startLog">start log</button>
<!-- <button open-type="feedback">feedback</button> -->
</view>

View File

@ -0,0 +1,9 @@
.button {
margin-bottom: 20rpx;
}
.navigator-hover button{
background-color: #DEDEDE;
}
.other-navigator-hover button{
background-color: #DEDEDE;
}

View File

@ -0,0 +1,87 @@
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
getSelectedTextRange() {
wx.getSelectedTextRange({
success: (res) => {
console.log('getSelectedTextRange success res : ', res);
},
fail: (res) => {
console.log('getSelectedTextRange fail res : ', res);
},
})
},
settimeoutgetSelectedTextRange() {
setTimeout(() => {
wx.getSelectedTextRange({
success: (res) => {
console.log('getSelectedTextRange success res : ', res);
},
fail: (res) => {
console.log('getSelectedTextRange fail res : ', res);
},
})
}, 2000)
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,26 @@
<view class="my-box">
<button bindtap="getSelectedTextRange">直接触发getSelectedTextRange</button>
<view>普通input↓</view>
<input
type="text"
class="test-input"
bindfocus="settimeoutgetSelectedTextRange"
placeholder="focus2秒后触发getSelectedTextRange"
value="focus2秒后触发getSelectedTextRange"
></input>
<view>带selection-start selection-end input↓</view>
<input
type="text"
class="test-input"
bindfocus="settimeoutgetSelectedTextRange"
placeholder="focus2秒后触发getSelectedTextRange"
value="focus2秒后触发getSelectedTextRange"
selection-start="4"
selection-end="10"
></input>
</view>

View File

@ -0,0 +1,4 @@
.my-box{
display: flex;
flex-direction: column;
}

View File

@ -153,6 +153,14 @@ Page({
{
zh: '动态加载字体',
url: 'load-font-face/load-font-face'
},
{
zh: 'previewMedia',
url: 'previewMedia/index'
},
{
zh: 'getSelectedTextRange',
url: 'getSelectedTextRange/index'
}
]
}, {
@ -171,10 +179,20 @@ Page({
}, {
id: 'storage',
name: '数据',
pages: [{
zh: '本地存储',
url: 'storage/storage'
}],
pages: [
{
zh: '本地存储',
url: 'storage/storage'
},
// {
// zh: 'LogManager',
// url: 'LogManager/index'
// },
// {
// zh: 'getRealtimeLogManager',
// url: 'getRealtimeLogManager/index'
// }
],
}
],
isSetTabBarPage: false,

View File

@ -0,0 +1,108 @@
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
previewMedia(url) {
console.log(url)
wx.previewMedia({
sources: [
{
url: typeof url === 'string' ? url : 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1830914723,3154965800&fm=26&gp=0.jpg',
type: 'image',
poster: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1091405991,859863778&fm=26&gp=0.jpg'
},
{
url: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1091405991,859863778&fm=26&gp=0.jpg',
type: 'image',
poster: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1091405991,859863778&fm=26&gp=0.jpg'
},
{
url: 'https://dn-odum9helk.qbox.me/spjc/1.mp4',
type: 'video',
poster: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1091405991,859863778&fm=26&gp=0.jpg'
}
],
success(res) {
console.log('previewMedia success ', res)
},
fail(res) {
console.log('previewMedia fail ', res)
},
complete(res) {
console.log('previewMedia complete ', res)
}
})
},
previewMedialocal: function() {
wx.getImageInfo({
src: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1078861629,3747050294&fm=26&gp=0.jpg',
success: (res)=> {
console.log(res)
this.previewMedia(res.path)
},
fail(res) {
console.log(res)
}
})
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,6 @@
<view class="my-box">
<button bindtap="previewMedia">previewMedia</button>
<button bindtap="previewMedialocal">本地图片previewMedia</button>
</view>

View File

@ -0,0 +1,4 @@
.my-box{
display: flex;
flex-direction: column;
}