1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126 |
- var app = getApp();
- var WxParse = require('../../lib/wxParse/wxParse.js');
- var util = require('../../utils/util.js');
- var api = require('../../config/api.js');
- var user = require('../../utils/user.js');
- Page({
- data: {
- selfPayShow: false,
- selfPayCheck: false,
- spreadPayShow: false,
- spreadPayChecked: false,
- canShare: false,
- id: 0,
- goods: {},
- groupon: [], //该商品支持的团购规格
- grouponLink: {}, //参与的团购
- attribute: [],
- issueList: [],
- comment: [],
- //brand: {},
- specificationList: [],
- productList: [],
- relatedGoods: [],
- cartGoodsCount: 0,
- userHasCollect: 0,
- number: 1,
- checkedSpecText: '规格数量选择',
- tmpSpecText: '请选择规格数量',
- checkedSpecPrice: 0,
- openAttr: false,
- openShare: false,
- collect: false,
- shareImage: '',
- isGroupon: false, //标识是否是一个参团购买
- soldout: false,
- canWrite: false, //用户是否获取了保存相册的权限
- name_height: 58, //根据名称长度 设置高度
- userInfo: {},
- hasLogin: false,
- shareId: 0, //options传递过来的参数 表示是打开哪个分享
- wxShareId: 0, //如果要分享此商品的分享id
- addressInfo: {},
- rId: 0, //分享人id,
- selfDiscount: 0,
- spreadDiscount: 0,
- referee: {
- self: 0,
- share: 0,
- },
- myqr_show: false, //我的分享二维码
- myqr_url: null, //分享海报及推广语言
- myqr_ads: '',
- myqr_blur: 100, //背景模糊值
- myqr_bottom_btn: 'fixed' //底部功能按钮
- },
- // 页面分享
- onShareAppMessage: function () {
- let that = this;
- if (!app.globalData.hasLogin) {
- wx.navigateTo({
- url: "/pages/auth/login/login"
- });
- return;
- }
- //获取分享id 用来追踪链接
- //引荐人和非引荐人的 链接不同
- let imgUrl = that.data.goods.shareWxUrl ? that.data.goods.shareWxUrl : that.data.goods.gallery[0];
- var path = '/pages/goods/goods?id=' + that.data.id + '&rId=' + that.data.userInfo.id;
- if (that.data.userInfo.isDis) { //是引荐人
- path = '/pages/goods/goods?id=' + that.data.id + '&shareId=' + that.data.wxShareId;
- }
- this.hidePoster();
- return {
- title: that.data.goods.name + "\n" + that.data.myqr_ads,
- path: path,
- imageUrl: imgUrl
- }
- },
- shareFriendOrCircle: function () {
- if (!app.globalData.hasLogin) {
- wx.navigateTo({
- url: "/pages/auth/login/login"
- });
- return;
- }
- //分享 弹出图片
- let that = this;
- wx.removeStorageSync(String(that.data.goods.id));
- //取出本地缓存中的分享图
- // let sUrl=wx.getStorageSync(String(that.data.goods.id));
- // if(sUrl!=null&&sUrl!=""){//获取过的分享图 不需要再次获取
- // that.setData({
- // myqr_url:sUrl,
- // myqr_show:true,
- // myqr_blur:5
- // });
- // return;
- // }
- wx.showLoading({
- title: '生成中',
- });
- util.request(api.QrGoodsCodeCreate, {
- goodsId: that.data.goods.id
- }).then(function (res) {
- wx.hideLoading();
- if (res.errno == 0) {
- that.setData({
- myqr_url: res.data.imgUrl,
- myqr_show: true,
- myqr_blur: 5
- });
- //保存分享图url到本地缓存
- // wx.setStorageSync(String(that.data.goods.id),res.data.imgUrl);
- } else if (res.errno == 501) {
- wx.navigateTo({
- url: "/pages/auth/login/login"
- });
- } else {
- wx.showToast({
- title: res.errmsg,
- duration: 5000
- })
- }
- });
- //var that = this;
- /*if (this.data.openShare === false) {
- this.setData({
- openShare: !this.data.openShare
- });
- } else {
- return false;
- }*/
- },
- handleSetting: function (e) {
- var that = this;
- // console.log(e)
- if (!e.detail.authSetting['scope.writePhotosAlbum']) {
- wx.showModal({
- title: '警告',
- content: '不授权无法保存',
- showCancel: false
- })
- that.setData({
- canWrite: false
- })
- } else {
- wx.showToast({
- title: '保存成功'
- })
- that.setData({
- canWrite: true
- })
- }
- },
- // 保存分享图
- saveShare: function () {
- let that = this;
- wx.showLoading({
- title: '图片保存中',
- });
- console.log(that.data);
- wx.downloadFile({
- url: that.data.myqr_url,
- success: function (res) {
- console.log(res)
- wx.saveImageToPhotosAlbum({
- filePath: res.tempFilePath,
- success: function (res) {
- wx.hideLoading();
- wx.showModal({
- title: '存图成功',
- content: '图片成功保存到相册了,可以分享到朋友圈了',
- showCancel: false,
- confirmText: '好的',
- confirmColor: '#a78845',
- success: function (res) {
- if (res.confirm) {
- console.log('用户点击确定');
- that.setData({
- myqr_show: false,
- myqr_blur: 0
- });
- }
- }
- })
- },
- fail: function (res) {
- wx.hideLoading();
- wx.showModal({
- title: '警告',
- content: '不授权无法保存',
- showCancel: false
- })
- that.setData({
- myqr_show: false,
- myqr_blur: 0
- });
- }
- })
- },
- fail: function (res) {
- wx.hideLoading();
- console.log(res);
- }
- })
- },
- //从分享的团购进入
- getGrouponInfo: function (grouponId) {
- let that = this;
- util.request(api.GroupOnJoin, {
- grouponId: grouponId
- }).then(function (res) {
- if (res.errno === 0) {
- that.setData({
- grouponLink: res.data.groupon,
- id: res.data.goods.id
- });
- //获取商品详情
- that.getGoodsInfo();
- }
- });
- },
- getReferee: function () {
- let that = this;
- util.request(api.GoodsDetail, {
- id: that.data.id,
- rId: that.data.rId
- }).then(res => {
- if (res.errno === 0) {
- if (res.data.referee.self != null && res.data.referee.self > 0) {
- res.data.referee.self = res.data.referee.self.toFixed(2);
- res.data.referee.share = res.data.referee.share.toFixed(2);
- }
- that.setData({
- referee: res.data.referee
- });
- console.info(res.data.referee)
- if (JSON.stringify(res.data.referee) == "{}") {
- that.setData({
- referee: {
- self: 0,
- share: 0,
- isReferee: false
- }
- });
- }
- //是引荐人 更新userinfo数据(因为如果后台将客户标记为引荐人 此userinfo是取缓存数据 不会更新状态)
- if (that.data.referee != null && that.data.referee.isReferee) {
- let userInfo = that.data.userInfo;
- userInfo.isDis = true;
- that.setData({
- userInfo: userInfo
- })
- wx.setStorageSync('userInfo', userInfo);
- }
- }
- });
- },
- // 获取商品信息
- getGoodsInfo: function () {
- console.info('1-》getGoodsInfo start');
- let that = this;
- util.request(api.GoodsDetail, {
- id: that.data.id,
- rId: that.data.rId
- }).then(function (res) {
- console.info('2-》getGoodsInfo end');
- console.info(res);
- if (res.errno === 0) {
- let _specificationList = res.data.specificationList
- // 如果仅仅存在一种货品,那么商品页面初始化时默认checked
- if (_specificationList.length == 1) {
- if (_specificationList[0].valueList.length == 1) {
- _specificationList[0].valueList[0].checked = true
- console.info(res.data.info);
- // 如果仅仅存在一种货品,那么商品价格应该和货品价格一致
- // 这里检测一下
- let _productPrice = res.data.productList[0].price;
- let _goodsPrice = res.data.info.retailPrice;
- if (_productPrice != _goodsPrice) {
- console.error('商品数量价格和货品不一致');
- }
- that.setData({
- checkedSpecText: _specificationList[0].valueList[0].value,
- tmpSpecText: '已选择:' + _specificationList[0].valueList[0].value,
- });
- }
- }
- console.info('3-》getGoodsInfo count end');
- //设置显示名称的控件高度
- let height = 56;
- if (res.data.info.name.length > 17 & res.data.info.name.length < 36)
- height = 76;
- else if (res.data.info.name.length >= 36)
- height = 116;
- // console.info(res.data.share);
- that.setData({
- goods: res.data.info,
- attribute: res.data.attribute,
- issueList: res.data.issue,
- comment: res.data.comment,
- //brand: res.data.brand,
- specificationList: res.data.specificationList,
- productList: res.data.productList,
- //productList: res.data.info.products,
- userHasCollect: res.data.userHasCollect,
- shareImage: res.data.shareImage,
- checkedSpecPrice: res.data.info.retailPrice,
- canShare: res.data.share,
- name_height: height,
- wxShareId: res.data.shareId
- });
- //如果是通过分享的团购参加团购,则团购项目应该与分享的一致并且不可更改
- /* if (that.data.isGroupon) {
- let groupons = that.data.groupon;
- for (var i = 0; i < groupons.length; i++) {
- if (groupons[i].id != that.data.grouponLink.rulesId) {
- groupons.splice(i, 1);
- }
- }
- groupons[0].checked = true;
- //重设团购规格
- that.setData({
- groupon: groupons
- });
- }*/
- if (res.data.userHasCollect == 1) {
- that.setData({
- collect: true
- });
- } else {
- that.setData({
- collect: false
- });
- }
- WxParse.wxParse('goodsDetail', 'html', res.data.info.detail, that);
- //获取推荐商品
- that.getGoodsRelated();
- }
- });
- },
- // 获取推荐商品
- getGoodsRelated: function () {
- let that = this;
- util.request(api.GoodsRelated, {
- id: that.data.id,
- shopId: this.data.addressInfo.shopId
- }).then(function (res) {
- if (res.errno === 0) {
- that.setData({
- relatedGoods: res.data.list,
- });
- }
- });
- },
- // 团购选择
- clickGroupon: function (event) {
- let that = this;
- //参与团购,不可更改选择
- if (that.data.isGroupon) {
- return;
- }
- let specName = event.currentTarget.dataset.name;
- let specValueId = event.currentTarget.dataset.valueId;
- let _grouponList = this.data.groupon;
- for (let i = 0; i < _grouponList.length; i++) {
- if (_grouponList[i].id == specValueId) {
- if (_grouponList[i].checked) {
- _grouponList[i].checked = false;
- } else {
- _grouponList[i].checked = true;
- }
- } else {
- _grouponList[i].checked = false;
- }
- }
- this.setData({
- groupon: _grouponList,
- });
- },
- // 规格选择
- clickSkuValue: function (event) {
- let that = this;
- let specName = event.currentTarget.dataset.name;
- let specValueId = event.currentTarget.dataset.valueId;
- //判断是否可以点击
- //TODO 性能优化,可在wx:for中添加index,可以直接获取点击的属性名和属性值,不用循环
- let _specificationList = this.data.specificationList;
- for (let i = 0; i < _specificationList.length; i++) {
- if (_specificationList[i].name === specName) {
- for (let j = 0; j < _specificationList[i].valueList.length; j++) {
- if (_specificationList[i].valueList[j].id == specValueId) {
- //如果已经选中,则反选
- if (_specificationList[i].valueList[j].checked) {
- _specificationList[i].valueList[j].checked = false;
- } else {
- _specificationList[i].valueList[j].checked = true;
- }
- } else {
- _specificationList[i].valueList[j].checked = false;
- }
- }
- }
- }
- this.setData({
- specificationList: _specificationList,
- });
- //重新计算spec改变后的信息
- this.changeSpecInfo();
- //重新计算哪些值不可以点击
- },
- //获取选中的团购信息
- getCheckedGrouponValue: function () {
- let checkedValues = {};
- let _grouponList = this.data.groupon;
- for (let i = 0; i < _grouponList.length; i++) {
- if (_grouponList[i].checked) {
- checkedValues = _grouponList[i];
- }
- }
- return checkedValues;
- },
- //获取选中的规格信息
- getCheckedSpecValue: function () {
- let checkedValues = [];
- let _specificationList = this.data.specificationList;
- for (let i = 0; i < _specificationList.length; i++) {
- let _checkedObj = {
- name: _specificationList[i].name,
- valueId: 0,
- valueText: ''
- };
- for (let j = 0; j < _specificationList[i].valueList.length; j++) {
- if (_specificationList[i].valueList[j].checked) {
- _checkedObj.valueId = _specificationList[i].valueList[j].id;
- _checkedObj.valueText = _specificationList[i].valueList[j].value;
- }
- }
- checkedValues.push(_checkedObj);
- }
- return checkedValues;
- },
- //判断规格是否选择完整
- isCheckedAllSpec: function () {
- return !this.getCheckedSpecValue().some(function (v) {
- if (v.valueId == 0) {
- return true;
- }
- });
- },
- getCheckedSpecKey: function () {
- let checkedValue = this.getCheckedSpecValue().map(function (v) {
- return v.valueText;
- });
- return checkedValue;
- },
- // 规格改变时,重新计算价格及显示信息
- changeSpecInfo: function () {
- let checkedNameValue = this.getCheckedSpecValue();
- //设置选择的信息
- let checkedValue = checkedNameValue.filter(function (v) {
- if (v.valueId != 0) {
- return true;
- } else {
- return false;
- }
- }).map(function (v) {
- return v.valueText;
- });
- if (checkedValue.length > 0) {
- this.setData({
- tmpSpecText: checkedValue.join(' ')
- });
- } else {
- this.setData({
- tmpSpecText: '请选择规格数量'
- });
- }
- if (this.isCheckedAllSpec()) {
- this.setData({
- checkedSpecText: this.data.tmpSpecText
- });
- // 规格所对应的货品选择以后
- let checkedProductArray = this.getCheckedProductItem(this.getCheckedSpecKey());
- if (!checkedProductArray || checkedProductArray.length <= 0) {
- this.setData({
- soldout: true
- });
- console.error('规格所对应货品不存在');
- return;
- }
- let checkedProduct = checkedProductArray[0];
- if (checkedProduct.number > 0) {
- this.setData({
- checkedSpecPrice: checkedProduct.price,
- soldout: false
- });
- } else {
- this.setData({
- checkedSpecPrice: this.data.goods.retailPrice,
- soldout: true
- });
- }
- } else {
- this.setData({
- checkedSpecText: '规格数量选择',
- checkedSpecPrice: this.data.goods.retailPrice,
- soldout: false
- });
- }
- },
- // 获取选中的产品(根据规格)
- getCheckedProductItem: function (key) {
- return this.data.productList.filter(function (v) {
- if (v.specifications.toString() == key.toString()) {
- return true;
- } else {
- return false;
- }
- });
- },
- onLoad: function (options) {
- // if (app.globalData.hasLogin) {
- // let userInfo = wx.getStorageSync('userInfo');
- // app.globalData.userInfo=userInfo;
- // this.setData({
- // userInfo: userInfo,
- // hasLogin: true
- // });
- // }
- // 页面初始化 options为页面跳转所带来的参数
- var addressInfo = wx.getStorageSync('addressInfo');
- if (addressInfo) {
- this.setData({
- addressInfo: addressInfo
- })
- }
- if (options.rId) {
- this.setData({
- rId: parseInt(options.rId)
- })
- }
- if (options.grouponId) {
- this.setData({
- isGroupon: true,
- });
- this.getGrouponInfo(options.grouponId);
- }
- if (options.shareId) {
- this.setData({
- shareId: parseInt(options.shareId)
- })
- }
- console.info(this.data.shareId)
- if (options.id) {
- this.setData({
- id: parseInt(options.id)
- });
- this.getGoodsInfo();
- }
- // let that = this;
- // wx.getSetting({
- // success: function (res) {
- // console.log(res)
- // //不存在相册授权
- // if (!res.authSetting['scope.writePhotosAlbum']) {
- // wx.authorize({
- // scope: 'scope.writePhotosAlbum',
- // success: function () {
- // that.setData({
- // canWrite: true
- // })
- // },
- // fail: function (err) {
- // that.setData({
- // canWrite: false
- // })
- // }
- // })
- // } else {
- // that.setData({
- // canWrite: true
- // });
- // }
- // }
- // })
- },
- onShow: function () {
- // 页面显示
- if (app.globalData.hasLogin) {
- let userInfo = wx.getStorageSync('userInfo');
- app.globalData.userInfo = userInfo;
- this.setData({
- userInfo: userInfo,
- hasLogin: true
- });
- }
- this.getReferee();
- // 已登陆并且是引荐人展示自购推广
- if (this.data.hasLogin && this.data.userInfo.isDis) {
- // this.setData({
- // selfDiscount:0,
- // spreadDiscount:0,
- // })
- }
- },
- //添加或是取消收藏
- addCollectOrNot: function () {
- let that = this;
- util.request(api.CollectAddOrDelete, {
- type: 0,
- valueId: this.data.id
- }, "POST")
- .then(function (res) {
- if (that.data.userHasCollect == 1) {
- that.setData({
- collect: false,
- userHasCollect: 0
- });
- } else {
- that.setData({
- collect: true,
- userHasCollect: 1
- });
- }
- });
- },
- //立即购买(先自动加入购物车)
- addFast: function () {
- var that = this;
- // 如果是安心包只能购买一个
- console.log(this.data.goods);
- // 如果是中介类,跳转到信息收集页面
- if (this.data.goods.type == 2) {
- app.globalData.infoGoods = {
- name: this.data.goods.name,
- brief: this.data.goods.brief,
- picUrl: this.data.goods.picUrl,
- type: this.data.goods.type
- };
- wx.navigateTo({
- url: '/pages/goods/infoCollect/infoCollect'
- });
- return false;
- }
- // if (this.data.openAttr == false) {
- // //打开规格选择窗口
- // this.setData({
- // openAttr: !this.data.openAttr
- // });
- // } else {
- //提示选择完整规格
- if (!this.isCheckedAllSpec()) {
- util.showErrorToast('请选择完整规格');
- return false;
- }
- //根据选中的规格,判断是否有对应的sku信息
- let checkedProductArray = this.getCheckedProductItem(this.getCheckedSpecKey());
- if (!checkedProductArray || checkedProductArray.length <= 0) {
- //找不到对应的product信息,提示没有库存
- util.showErrorToast('没有库存');
- return false;
- }
- let checkedProduct = checkedProductArray[0];
- //验证库存
- if (checkedProduct.number <= 0) {
- util.showErrorToast('没有库存');
- return false;
- }
- //验证团购是否有效
- let checkedGroupon = this.getCheckedGrouponValue();
- //立即购买
- util.request(api.CartFastAdd, {
- goodsId: this.data.goods.id,
- number: this.data.number,
- productId: checkedProduct.id,
- shareId: this.data.shareId
- }, "POST")
- .then(res => {
- if (res.errno == 0) {
- // 如果storage中设置了cartId,则是立即购买,否则是购物车购买
- try {
- wx.setStorageSync('cartId', res.data);
- wx.setStorageSync('grouponRulesId', checkedGroupon.id);
- wx.setStorageSync('grouponLinkId', that.data.grouponLink.id);
- // 支付结果页面展示图片用
- app.globalData.infoGoods = {
- name: this.data.goods.name,
- brief: this.data.goods.brief,
- picUrl: this.data.goods.picUrl,
- type: this.data.goods.type
- };
- console.info(that.data.shareId)
- if (that.data.shareId > 0)
- wx.navigateTo({
- url: '/pages/checkout/checkout?shareId=' + that.data.shareId
- })
- else
- wx.navigateTo({
- url: '/pages/checkout/checkout'
- })
- } catch (e) {
- console.info(e)
- }
- } else {
- util.showErrorToast(res.errmsg);
- }
- });
- //}
- },
- //添加到购物车
- addToCart: function () {
- var that = this;
- if (this.data.openAttr == false) {
- //打开规格选择窗口
- this.setData({
- openAttr: !this.data.openAttr
- });
- } else {
- //提示选择完整规格
- if (!this.isCheckedAllSpec()) {
- util.showErrorToast('请选择完整规格');
- return false;
- }
- //根据选中的规格,判断是否有对应的sku信息
- let checkedProductArray = this.getCheckedProductItem(this.getCheckedSpecKey());
- if (!checkedProductArray || checkedProductArray.length <= 0) {
- //找不到对应的product信息,提示没有库存
- util.showErrorToast('没有库存');
- return false;
- }
- let checkedProduct = checkedProductArray[0];
- //验证库存
- if (checkedProduct.number <= 0) {
- util.showErrorToast('没有库存');
- return false;
- }
- //添加到购物车
- util.request(api.CartAdd, {
- goodsId: this.data.goods.id,
- number: this.data.number,
- productId: checkedProduct.id
- }, "POST")
- .then(function (res) {
- let _res = res;
- if (_res.errno == 0) {
- wx.showToast({
- title: '添加成功'
- });
- that.setData({
- openAttr: !that.data.openAttr,
- cartGoodsCount: _res.data
- });
- //显示tab购物车缓存
- //user.cartadd(that.data.number);
- if (that.data.userHasCollect == 1) {
- that.setData({
- collect: true
- });
- } else {
- that.setData({
- collect: false
- });
- }
- } else {
- util.showErrorToast(_res.errmsg);
- }
- });
- }
- },
- cutNumber: function () {
- this.setData({
- number: (this.data.number - 1 > 1) ? this.data.number - 1 : 1
- });
- },
- addNumber: function () {
- // 如果是安心包只能购买一个
- console.log(this.data.goods);
- if (this.data.goods.goodsSn == '1036016') {
- wx.showToast({
- title: '此款商品只能购买一个',
- icon: 'none',
- duration: 2000
- });
- } else {
- this.setData({
- number: this.data.number + 1
- });
- }
- },
- onHide: function () {
- // 页面隐藏
- },
- onUnload: function () {
- // 页面关闭
- },
- switchAttrPop: function () {
- if (this.data.openAttr == false) {
- this.setData({
- openAttr: !this.data.openAttr
- });
- }
- },
- closeAttr: function () {
- this.setData({
- openAttr: false,
- });
- },
- closeShare: function () {
- this.setData({
- openShare: false,
- });
- },
- openCartPage: function () {
- wx.switchTab({
- url: '/pages/tabBar/cart/cart'
- });
- },
- onReady: function () {
- // 页面渲染完成
- },
- qrtouchstart: function () {
- this.setData({
- myqr_blur: 100,
- myqr_show: false
- });
- },
- copyToHM() {
- let copyLink = this.data.goods.copyLink;
- console.log(copyLink);
- if (copyLink != undefined && copyLink != '') {
- wx.setClipboardData({
- data: copyLink,
- success(res) {
- wx.getClipboardData({
- success(res) {
- console.log(res.data) // data
- }
- })
- }
- });
- } else {
- wx.showToast({
- title: '该商品暂未配置盒马链接',
- icon: 'none'
- })
- }
- },
- onSelfPayChange(e) {
- console.log(e);
- this.setData({
- selfPayChecked: e.detail,
- });
- },
- onSpreadPayChange(e) {
- console.log(e);
- this.setData({
- spreadPayChecked: e.detail,
- });
- },
- cancelSelfPay() {
- let selfPayChecked = this.data.selfPayChecked;
- if (selfPayChecked == true) {
- wx.setStorageSync('selfPayChecked', true);
- }
- this.setData({
- selfPayShow: false,
- });
- },
- cancelSpreadPay() {
- let spreadPayChecked = this.data.spreadPayChecked;
- if (spreadPayChecked == true) {
- wx.setStorageSync('spreadPayChecked', true);
- }
- this.setData({
- spreadPayShow: false,
- });
- },
- goSelfPay() {
- let selfPayChecked = wx.getStorageSync('selfPayChecked');
- if (selfPayChecked != true) {
- this.setData({
- selfPayShow: true,
- });
- } else {
- this.addFast();
- }
- },
- goSpread() {
- let spreadPayChecked = wx.getStorageSync('spreadPayChecked');
- console.log(spreadPayChecked);
- if (spreadPayChecked != true) {
- this.setData({
- spreadPayShow: true,
- });
- } else {
- // wx.navigateTo({
- // url: '/pages/goods/goodsPoster/goodsPoster?goodsId='+this.data.goods.id,
- // })
- this.createPoster();
- }
- },
- posterCopy() {
- let that = this
- wx.setClipboardData({
- data: that.data.myqr_ads,
- success: function (res) {
- wx.getClipboardData({
- success: function (res) {
- wx.showToast({
- title: '文案复制成功',
- icon: 'success',
- duration: 2000
- });
- // that.hidePoster();
- }
- })
- }
- })
- },
- hidePoster() {
- this.setData({
- myqr_show: false,
- myqr_blur: 100,
- myqr_bottom_btn: 'fixed'
- })
- },
- createPoster() {
- wx.showLoading({
- title: '生成中',
- })
- wx.pageScrollTo({
- scrollTop: 0
- })
- if (this.data.myqr_url != null) {
- wx.hideLoading();
- this.setData({
- myqr_show: true,
- myqr_blur: 25,
- myqr_bottom_btn: 'unset'
- })
- return;
- }
- util.request(api.QrGoodsCodeCreate, {
- goodsId: this.data.goods.id
- }).then(res => {
- wx.hideLoading();
- if (res.errno == 0) {
- this.setData({
- myqr_url: res.data.imgUrl,
- myqr_ads: res.data.ads,
- myqr_show: true,
- myqr_blur: 25,
- myqr_bottom_btn: 'unset'
- })
- } else {
- util.showErrorToast("未设置分享图")
- }
- });
- },
- goSaveQrcode: function () { //保存二维码图片
- let that = this;
- console.info(that.data.myqr_url);
- wx.downloadFile({
- url: that.data.myqr_url,
- success: function (res) {
- if (res.statusCode === 200) {
- let img = res.tempFilePath;
- wx.saveImageToPhotosAlbum({
- filePath: img,
- success(res) {
- that.goCloseMyqr('个人专属二维码图片已保存到您的相册');
- },
- fail(res) {
- that.goCloseMyqr('网络或授权问题 图片保存失败 请重试');
- }
- })
- } else
- that.goCloseMyqr('网络或授权问题 图片保存失败 请重试');
- },
- fail(res) {
- that.goCloseMyqr('网络或授权问题 图片保存失败 请重试');
- }
- })
- },
- goCloseMyqr: function (msg) { //关闭分享图片的弹层
- this.hidePoster();
- if (msg) {
- wx.showToast({
- title: msg,
- icon: 'none',
- duration: 3000
- })
- }
- },
- reSelfPay() {
- let selfPayChecked = this.data.selfPayChecked;
- if (selfPayChecked == true) {
- wx.setStorageSync('selfPayChecked', true);
- }
- this.setData({
- selfPayShow: false,
- });
- this.addFast();
- },
- reSpread() {
- let spreadPayChecked = this.data.spreadPayChecked;
- if (spreadPayChecked == true) {
- wx.setStorageSync('spreadPayChecked', true);
- }
- this.setData({
- spreadPayShow: false,
- });
- this.createPoster();
- // wx.navigateTo({
- // url: '/pages/goods/goodsPoster/goodsPoster?goodsId='+this.data.goods.id,
- // })
- },
- goMemberCenter() {
- if (!app.globalData.hasLogin) {
- wx.navigateTo({
- url: "/pages/auth/login/login"
- });
- return;
- } else {
- wx.navigateTo({
- url: "/pages/member/memberCenter/memberCenter"
- });
- }
- },
- })
|