flower-mp/pages/garden/record.js
2025-12-29 17:32:10 +08:00

157 lines
3.0 KiB
JavaScript

// pages/garden/record.js
const {
api
} = require("../../utils/api")
import {
getNavLayout
} from '../../utils/util'; // 引入工具函数
Page({
/**
* 页面的初始数据
*/
data: {
id: '',
list: [],
picList: [],
current: 0,
info: null,
innerAudioContext: null,
backButtonStyle: ''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
current: options.current,
id: options.id
})
this.fetchList()
this.playMusic()
// 一行代码搞定计算
const layout = getNavLayout();
this.setData({
backButtonStyle: layout.containerStyle
});
},
playMusic() {
this.data.innerAudioContext = wx.createInnerAudioContext({
useWebAudioImplement: true,
loop: true,
volume: 0.2
})
const list = [
'https://res.catter.cn/pub/2025/12/17/20251217113514284.mp3',
'https://res.catter.cn/pub/2025/12/17/20251217151719823.mp3',
'https://res.catter.cn/pub/2025/12/17/20251217151806179.mp3',
'https://res.catter.cn/pub/2025/12/17/20251217152125210.mp3',
'https://res.catter.cn/pub/2025/12/17/20251217152206612.mp3'
]
const randomIndex = Math.floor(Math.random() * list.length);
// 3. 赋值给 src
this.data.innerAudioContext.src = list[randomIndex];
},
fetchList() {
const params = {
current: 1,
pageSize: 999,
id: this.data.id,
keyword: ''
}
api('/plant/grow/recordList', 'POST', params, 'json').then(res => {
if (res.code === 200) {
const tmps = res.data.list.map(e => {
e.createdAtStr = e.createdAtStr.substring(0, 10)
e.pic = e.imgList[0].url
return e
})
const picList = tmps.map(e => e.pic)
this.setData({
list: tmps,
picList: picList,
info: tmps[0]
})
}
})
},
goPreview(e) {
const index = e.detail.index
const currentUrl = this.data.picList[index]
const list = this.data.picList
wx.previewImage({
current: currentUrl, // 当前显示图片的http链接
urls: list // 需要预览的图片http链接列表
})
},
goBack() {
wx.navigateBack()
},
change(e) {
const current = e.detail.current
const info = this.data.list[current]
this.setData({
current: current,
info: info
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.data.innerAudioContext.play()
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
this.data.innerAudioContext.destroy() // 释放音频资源
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})