217 lines
5.8 KiB
JavaScript
217 lines
5.8 KiB
JavaScript
// mycomponent/voice_shop/good_detail.js
|
||
var app = getApp();
|
||
Component({
|
||
/**
|
||
* 组件的属性列表
|
||
*/
|
||
properties: {
|
||
goodsId: {
|
||
type: null,
|
||
},
|
||
enterAt: {
|
||
type: null,
|
||
},
|
||
leaveAt: {
|
||
type: null,
|
||
},
|
||
hoet: {
|
||
type: null,
|
||
},
|
||
mark: {
|
||
type: null,
|
||
},
|
||
markId: {
|
||
type: null,
|
||
},
|
||
},
|
||
|
||
/**
|
||
* 组件的初始数据
|
||
*/
|
||
data: {
|
||
stop1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/stop1.png",
|
||
play1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/play1.png",
|
||
phone1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/phone1.png",
|
||
weixin1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/weixin.png",
|
||
bfstatus: false,
|
||
posterShow: false,
|
||
innerAudioContext: null,
|
||
},
|
||
lifetimes: {
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {
|
||
this.getData();
|
||
this.init();
|
||
console.log(this.data.goodsId);
|
||
},
|
||
moved() {},
|
||
detached() {
|
||
this.data.innerAudioContext.destroy();
|
||
},
|
||
},
|
||
/**
|
||
* 组件的方法列表
|
||
*/
|
||
methods: {
|
||
onlinekf(e) {
|
||
var that = this;
|
||
console.log(e);
|
||
wx.setClipboardData({
|
||
data: that.data.people_connect,
|
||
success(res) {
|
||
wx.getClipboardData({
|
||
success(res) {
|
||
wx.showToast({
|
||
title: "已复制链接请用浏览器打开",
|
||
icon: "none",
|
||
});
|
||
},
|
||
});
|
||
},
|
||
});
|
||
},
|
||
phone(e) {
|
||
console.log(this.data.ConnectionInfo.phone);
|
||
var phoneNum = this.data.ConnectionInfo.phone;
|
||
wx.makePhoneCall({
|
||
phoneNumber: phoneNum, //仅为示例,并非真实的电话号码
|
||
});
|
||
},
|
||
posterClose(e) {
|
||
this.setData({
|
||
posterShow: false,
|
||
});
|
||
},
|
||
popupSpecs(e) {
|
||
this.getMessage();
|
||
this.setData({
|
||
posterShow: true,
|
||
});
|
||
},
|
||
tapzt(e) {
|
||
this.data.innerAudioContext.pause();
|
||
this.setData({
|
||
bfstatus: !this.data.bfstatus,
|
||
});
|
||
},
|
||
gotoGoods(e) {
|
||
console.log(e.currentTarget.id);
|
||
wx.navigateTo({
|
||
url: "/packageA/detail_v2/detail_v2?id=" + e.currentTarget.id,
|
||
});
|
||
},
|
||
tapbf(e) {
|
||
this.setData({
|
||
bfstatus: !this.data.bfstatus,
|
||
});
|
||
console.log(e.currentTarget.dataset.dali.url);
|
||
var musiUrl = e.currentTarget.dataset.dali.url;
|
||
this.data.innerAudioContext.src = musiUrl;
|
||
this.data.innerAudioContext.play();
|
||
},
|
||
gotoindex() {
|
||
wx.reLaunch({
|
||
url: "/packageG/index/index",
|
||
});
|
||
},
|
||
gotoMember() {
|
||
wx.reLaunch({
|
||
url: "/packageG/member_v2/member_v2",
|
||
});
|
||
},
|
||
getMessage() {
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss("plugin.voice-goods.api.voice-goods.getConnection");
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
ConnectionInfo: res.data,
|
||
people_connect: res.data.people_connect,
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {},
|
||
});
|
||
},
|
||
getData() {
|
||
console.log(this.data.goodsId);
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss("plugin.voice-goods.api.voice-goods.getVoiceGoods");
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
goods_id: that.data.goodsId,
|
||
},
|
||
success: function (resdata) {
|
||
that.setData({
|
||
goodsInfo: resdata.data.data,
|
||
is_rule: resdata.data.data.is_rule == 1 ? true : false,
|
||
});
|
||
wx.setNavigationBarTitle({
|
||
title: resdata.data.data.title,
|
||
});
|
||
},
|
||
fail: function (res) {},
|
||
});
|
||
},
|
||
init() {
|
||
var that = this;
|
||
this.data.innerAudioContext = wx.createInnerAudioContext();
|
||
this.data.innerAudioContext.onCanplay(() => {});
|
||
this.data.innerAudioContext.onPlay(() => {
|
||
console.log("开始播放");
|
||
console.log(this.data.innerAudioContext.duration);
|
||
this.setData({
|
||
currentTime: this.realFormatSecond(this.data.innerAudioContext.duration),
|
||
slmin: "0:00:00",
|
||
});
|
||
});
|
||
this.data.innerAudioContext.onTimeUpdate(() => {
|
||
setTimeout(() => {
|
||
let smun = (this.data.innerAudioContext.currentTime / this.data.innerAudioContext.duration) * 100;
|
||
var valueSlmin = parseInt(smun);
|
||
console.log(this.data.innerAudioContext.duration);
|
||
that.setData({
|
||
currentTime: this.realFormatSecond(this.data.innerAudioContext.duration),
|
||
slmin: this.realFormatSecond(this.data.innerAudioContext.currentTime),
|
||
valueSlmin: valueSlmin,
|
||
audio_length: this.data.innerAudioContext.duration,
|
||
});
|
||
}, 1000);
|
||
});
|
||
this.data.innerAudioContext.onError((res) => {
|
||
wx.showToast({
|
||
title: "播放错误",
|
||
icon: "none",
|
||
});
|
||
});
|
||
},
|
||
sildein(e) {
|
||
console.log(e);
|
||
var setvalue = e.detail.value / 100;
|
||
var long = this.data.audio_length * setvalue;
|
||
console.log(long, setvalue);
|
||
this.data.innerAudioContext.seek(long);
|
||
},
|
||
realFormatSecond(second) {
|
||
var secondType = typeof second;
|
||
|
||
if (secondType === "number" || secondType === "string") {
|
||
second = parseInt(second);
|
||
|
||
var hours = Math.floor(second / 3600);
|
||
second = second - hours * 3600;
|
||
var mimute = Math.floor(second / 60);
|
||
second = second - mimute * 60;
|
||
|
||
return hours + ":" + ("0" + mimute).slice(-2) + ":" + ("0" + second).slice(-2);
|
||
} else {
|
||
return "0:00:00";
|
||
}
|
||
},
|
||
},
|
||
});
|