const app = getApp(),utils = require("../../utils/http");
let videoContext=null;
Page({
/**
* 页面的初始数据
*/
data: {
top: app.globalData.statusBarHeight,
hgt: app.globalData.titleBarHeight,
imgUrl: app.globalData.imgUrl,
companyobj: app.globalData.companyobj,
communityht: '',
cid: '',
casemsgobj: {},
page: 1,
shareid: '',
loginFlag: true,
mobileflag: false,
canIUseGetUserProfile: false,
contentmsg: '',
articlelogin: true,
datashow: false,
mobile: false,
personMsg: app.globalData.personMsg,
caselist: [],
leftcaselist: [],
rightcaselist: [],
sharepersonMsg: app.globalData.sharepersonobj,
employeeflag: false, //false是用户,true是员工
showAddress: false,
imgarr: [],
type: '',//为空就是从微官网进来的,否则就是从工具中进来
ctype: '',
priceflag: false,
swiperIndex:0,
tab: [{
name: 'VR案例',
type: 'vr',
count: 0
}, {
name: '视频案例',
type: 'video',
count: 0
}],
activeType: '',
useversion:app.globalData.useversion,
playflag: 2,//1是播放中,2是暂停
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if (!!options.clg && options.clg == 8) {
wx.reLaunch({
url: '/pages/index/index?clientype=' + options.cty + "&cid=" + options.cid + "&clg=8",
})
return false;
}
var that = this;
wx.showLoading({
title: '加载中...',
})
if (!!options.scene && !that.data.cid) {
options = unescape(options.scene);
let arr = options.split('&');
let obj = {};
for (let i = 0; i < arr.length; i++) {
let arr1 = arr[i].split('=');
obj[arr1[0]] = arr1[1];
}
this.setData({
cid: obj.cid,
})
app.globalData.clientype = obj.cli;
that.logindata();
} else {
this.setData({
cid: options.cid,
companyobj: app.globalData.companyobj,
employeeflag: (!!app.globalData.personMsg.binded && app.globalData.personMsg.binded.state == '在职') ? true : false
})
that.casemsgfun('1');
}
if (options.type) {
this.setData({
type: options.type
})
}
this.setData({
personMsg: app.globalData.personMsg,
sharepersonMsg: app.globalData.sharepersonobj,
top: app.globalData.statusBarHeight,
hgt: app.globalData.titleBarHeight,
imgUrl: app.globalData.imgUrl,
companyobj: app.globalData.companyobj,
})
wx.showLoading({
title: '加载中...',
})
},
logindata: function () {
var that = this;
wx.showLoading();
wx.login({
success: function (data) {
if (data.errMsg == 'login:ok') {
utils.$post({
url: app.globalData.webUrl + 'api/users/code2session',
data: {
client_type: that.data.clientype,
code: data.code,
},
success: function (r) {
if (r.data.code == '0') {
app.globalData.sharepersonobj = r.data.share;
app.globalData.token = r.data.token;
that.sharecompany();
that.casemsgfun('1');
if (!!r.data.user.phone) {
app.globalData.use_id = r.data.user.id;
app.globalData.personMsg = r.data.user;
that.setData({
datashow: true,
mobileflag: false
})
} else {
wx.hideLoading();
that.setData({
articlelogin: false,
loginFlag: true,
mobileflag:true,
})
}
}
wx.hideLoading();
}
})
}
wx.hideLoading();
}
})
},
designertap(){
if(!!this.data.casemsgobj.designer_id){
if(this.data.type){
wx.navigateTo({
url: '/customer/pages/designermsg/designermsg?did='+this.data.casemsgobj.designer_id+"&sid="+this.data.casemsgobj.designer_id+'&type=1'
})
}else{
wx.navigateTo({
url: '/share/pages/designermsg/designermsg?did='+this.data.casemsgobj.designer_id+"&type=3"
})
}
}
},
sharecompany: function () {
const that = this;
utils.$post({
url: app.globalData.webUrl + 'client/index/content_belong_company',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
client_type: app.globalData.clientype,
uid: app.globalData.shareuserid
},
success: function (res) {
if (res.data.code == '0') {
app.globalData.currentUserId = res.data.data.employee_id;
app.globalData.companyobj=res.data.data;
that.setData({
companyobj: res.data.data
})
}
},
complete(res) {
wx.hideLoading()
}
})
},
phonrtap: function () {
wx.makePhoneCall({
phoneNumber: app.globalData.sharepersonobj.phone //仅为示例,并非真实的电话号码
})
},
priceshowtap() {
this.setData({
priceflag: true
})
},
swiperChange (e) {
let type = e.detail.currentItemId.split('-')[0];
this.setData({
activeType: type
})
},
closepricetap() {
this.setData({
priceflag: false
})
},
videotap() {
videoContext = this.selectComponent('#myVideo');
videoContext.play();
wx.showLoading()
},
bindprogress() {
wx.hideLoading();
this.setData({
playflag: 1
})
},
setypetap(e) {
this.setData({
ctype: e.currentTarget.dataset.type
})
},
prelookimgtap() {
if (!app.globalData.sharepersonobj.qrcode) {
wx.showToast({
title: "当前专属客服的二维码为空!",
icon: 'none',
duration: 2000
})
return false;
}
wx.previewImage({
current: app.globalData.imgUrl + app.globalData.sharepersonobj.qrcode, // 当前显示图片的http链接
urls: [app.globalData.imgUrl + app.globalData.sharepersonobj.qrcode] // 需要预览的图片http链接列表
})
},
pricetap: function () {
wx.navigateTo({
url: '/customer/pages/figureprice/figureprice',
})
},
designTap: function () {
wx.navigateTo({
url: '/customer/pages/findesign/findesign',
})
},
handleSwitch(e) {
let type = e.currentTarget.dataset.type;
let swiperIndex=0;
if (type == 'vr') {
swiperIndex = 0;
} else if (type == 'video') {
swiperIndex = !!this.data.casemsgobj.vr_case?1:0;
}
this.setData({
swiperIndex: swiperIndex,
activeType: type,
})
},
openVRLink(e) {
let type = e.currentTarget.dataset.type;
if (type == 1) {
let vrlink = this.data.casemsgobj.vr_case;
wx.navigateTo({
url: '/pages/other/other?type=565&vrlink=' + encodeURIComponent(vrlink) + '&cty=materialCase' + '&uid=' + (app.globalData.shareuserid?app.globalData.shareuserid:app.globalData.personMsg.id) + '&ctp=' + app.globalData.clientype + '&aid=' + this.data.casemsgobj.id,
})
} else {
let vrlink = e.currentTarget.dataset.vrlink;
let aid = e.currentTarget.dataset.id;
wx.navigateTo({
url: '/pages/other/other?type=565&vrlink=' + encodeURIComponent(vrlink) + '&cty=materialCase' + '&uid=' + (app.globalData.shareuserid?app.globalData.shareuserid:app.globalData.personMsg.id) + '&ctp=' + app.globalData.clientype + '&aid=' + aid,
})
}
},
casemsgfun: function (type) {
var that = this;
utils.$get({
url: app.globalData.webUrl + 'client/casedetail',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
id: that.data.cid
},
success: function (res) {
setTimeout(function () {
wx.hideLoading()
}, 500)
let tab=that.data.tab;
if (res.data.code == '0') {
wx.setNavigationBarTitle({
title: res.data.data.title
})
if (!res.data.data.desc) {
if (!res.data.data.real_case) {
that.setData({
ctype: ''
})
} else {
that.setData({
ctype: 2
})
}
} else {
if (res.data.data.desc != '
') {
that.setData({
ctype: 1
})
} else {
that.setData({
ctype: 2
})
}
}
if(!!res.data.data.video_case){
tab[1].count=1;
that.setData({
tab: tab,
activeType:'video'
})
}
if(!!res.data.data.vr_case){
tab[0].count=1;
that.setData({
tab: tab,
activeType:'vr'
})
}
let length = res.data.data.desc.length / 3;
let str = res.data.data.desc.substring(0, length);
that.setData({
casemsgobj: res.data.data,
contentmsg: str,
caselist: res.data.data.designer_related_cases,
leftcaselist: [],
rightcaselist: [],
})
if (res.data.data.from == 1) {
that.setData({
imgarr: JSON.parse(res.data.data.img_content)
})
}
var article = res.data.data.desc;
that.setData({
contentmsg: str
})
if (res.data.data.designer_related_cases.length > 0) {
that.imgload();
}
}
}
})
},
prelook(e) {
let arr = [];
for (let i in this.data.imgarr) {
arr.push(app.globalData.imgUrl + this.data.imgarr[i].img);
}
wx.previewImage({
current: e.currentTarget.dataset.img, // 当前显示图片的 http 链接
urls: arr // 需要预览的图片 http 链接列表
})
},
showAddressName(e) {
let type = e.currentTarget.dataset.type;
if (type == 'hide') {
this.setData({
showAddress: false
})
} else {
this.setData({
showAddress: true
})
}
},
getPhoneNumberTap: function (res) {
var that = this;
if (res.detail.errMsg == 'getPhoneNumber:ok') {
utils.$post({
url: app.globalData.webUrl + 'api/users/setUserMobile',
data: {
encryptedData: res.detail.encryptedData,
iv: res.detail.iv
},
header: {
'Authorization': 'bearer ' + app.globalData.token
},
success: function (r) {
if (r.data.code == '0') {
// wx.showLoading({
// title: '加载中',
// })
if (res.currentTarget.dataset.type == 1) {
that.orderfun();
}
app.globalData.phone = true;
} else {
that.setData({
errorText: r.data.msg,
errorflag: true
})
}
}
})
}
},
orderfun() {
const that = this;
utils.$post({
url: app.globalData.webUrl + 'client/material/designer_reserve',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
id:that.data.cid,
designer_id:that.data.casemsgobj.designer_id?that.data.casemsgobj.designer_id:'',
type:'materialCase',
share_uid:app.globalData.shareuserid
},
success: function (res) {
if (res.data.code == '0') {
wx.showToast({
title: res.data.msg,
icon: "none",
duration: 2000
});
}
}
})
},
imgload: function () {
var that = this;
var leftlist = that.data.leftcaselist;
var rightlist = that.data.rightcaselist;
var indexlist = that.data.caselist;
if (indexlist.length == 0) {
return false;
}
if (leftlist.length == 0) {
leftlist.push(indexlist[0]);
indexlist.shift();
that.setData({
caselist: indexlist,
leftcaselist: leftlist,
rightcaselist: rightlist
})
} else {
var leftheight, rightheight;
const query = wx.createSelectorQuery()
query.select('.leftcasebox').boundingClientRect();
query.exec(function (res) {
leftheight = res[0].height;
const queryright = wx.createSelectorQuery()
queryright.select('.rightcasebox').boundingClientRect();
queryright.exec(function (rs) {
leftlist = that.data.leftcaselist;
rightlist = that.data.rightcaselist;
indexlist = that.data.caselist;
rightheight = rs[0].height;
if (leftheight <= rightheight) {
leftlist.push(indexlist[0]);
indexlist.shift();
} else {
rightlist.push(indexlist[0]);
indexlist.shift();
}
that.setData({
caselist: indexlist,
leftcaselist: leftlist,
rightcaselist: rightlist
})
})
})
}
},
casemsgtap: function (e) {
wx.redirectTo({
url: '/pages/decorateguidemsg/decorateguidemsg?cid=' + e.currentTarget.dataset.cid + "&uid=" + app.globalData.shareuserid
})
},
precasetap: function () {
if (!this.data.casemsgobj.preid) {
wx.showToast({
title: '已经第一篇了!',
icon: 'none',
duration: 2000
})
return false
}
wx.redirectTo({
url: '/share/pages/materialcase/materialcase?type=3&cid=' + this.data.casemsgobj.preid + '&uid=' + this.data.shareid
})
},
nextcasetap: function () {
if (!this.data.casemsgobj.nextid) {
wx.showToast({
title: '已经到头了!',
icon: 'none',
duration: 2000
})
return false
}
wx.redirectTo({
url: '/share/pages/materialcase/materialcase?type=3&cid=' + this.data.casemsgobj.nextid + '&uid=' + this.data.shareid
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
lasttap: function () {
wx.reLaunch({
url: '/pages/index/index'
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.setData({
personMsg: app.globalData.personMsg,
sharepersonMsg: app.globalData.sharepersonobj,
top: app.globalData.statusBarHeight,
hgt: app.globalData.titleBarHeight,
imgUrl: app.globalData.imgUrl,
companyobj: app.globalData.companyobj,
})
},
otherlistfun: function () {
var that = this;
var page = that.data.page;
page = page * 1 + 1;
utils.$post({
url: app.globalData.webUrl + 'client/designercases',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
page: page,
limit: 4,
designer_id: that.data.casemsgobj.designer_id,
material_case_id:this.data.cid
},
success: function (res) {
that.setData({
page: page
})
if (res.data.code == '0') {
var caselist = that.data.caselist;
var arrflag = false;
if (res.data.data.length == 0) {
wx.showToast({
title: '暂无更多数据',
icon: 'none',
duration: 2000
})
} else {
if (caselist.length != 0) {
arrflag = true;
}
caselist = caselist.concat(res.data.data);
that.setData({
caselist: caselist
});
if (!arrflag) {
that.imgload();
}
}
}
}
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
addsharetap: function () {
let that = this;
utils.$post({
url: app.globalData.webUrl + 'api/share/addlog',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
id: that.data.cid,
type: 'materialCase',
},
success: function (r) {}
})
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
this.addsharetap();
var img = this.data.casemsgobj.cover_share_img?this.data.casemsgobj.cover_share_img:this.data.casemsgobj.cover_img;
img = img.replace('http://o.nczyzs.com/', 'https://o.nczyzs.com/');
return {
title: this.data.casemsgobj.title,
imageUrl: img,
path: '/share/pages/materialcase/materialcase?cid=' + this.data.cid + '&uid=' + (app.globalData.sharepersonobj&&app.globalData.sharepersonobj.id?app.globalData.sharepersonobj.id:app.globalData.personMsg.id) + '&ctp=' + app.globalData.clientype
}
},
onAddToFavorites(res) {
var img = this.data.casemsgobj.cover_share_img?this.data.casemsgobj.cover_share_img:this.data.casemsgobj.cover_img;
img = img.replace('http://o.nczyzs.com/', 'https://o.nczyzs.com/');
return {
title: this.data.casemsgobj.title,
imageUrl: img,
query: 'cid=' + this.data.cid + '&cty=' + app.globalData.clientype + '&clg=8',
}
}
})