|
- // pages/mountingsDetail/mountingsDetail.js
- const app = getApp();
- let _surplusTime = 0;//剩余时间
- let _countTime = null;//定时器
- let md5 = require('../../utils/md5.js');
- Page({
-
- /**
- * 页面的初始数据
- */
- data: {
- imgUrl: app.globalData.urlStatic,//图片路径
- activityRule:false,//是否显示活动规则
- surplusTime:['','',''],//剩余时间
- bargainType:1,//1:喊朋友帮忙砍价,2:帮TA砍一刀
- userInfoData:false,//是否已获取用户头像昵称
- helpDickerShow:false,//是否显示帮助朋友砍价成功的弹窗
- friendBargain:[],//好友助力列表
- goodsMsg:{},
- goodsDetail:{},//商品详情
- activityJoinDetail:{},//活动进度详情
- friendHelpMoney:0,//朋友帮忙砍的价格
- page:1,
- count:10,
- ismore:true,//是否还有更多数据
- right_pic_W:0,
- },
-
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- if(options.bargainType){
- this.setData({
- bargainType:2
- })
- }
- if(options.sku_id){
- this.data.goodsMsg.sku_id = options.sku_id;
- }
- if(options.activity_token){
- this.data.goodsMsg.activity_token = options.activity_token;
- }
- app.globalData.nowPage = 3;
- if (app.globalData.openid) {
- this.loadFun();
- } else {
- app.globalData.openidSuccessFuc = this.loadFun;
- }
- },
- loadFun: function () {
- // let countNum = 60*60*24;
- // let hours = new Date().getHours();
- // let minutes = new Date().getMinutes();
- // let seconds = new Date().getSeconds();
- // _surplusTime = countNum-(60*60*hours+60*minutes+seconds);
- this.detectionUserMsg();
- this.getGoodsDetail();
- this.getActivityJoinDetail();
- this.getFriendBargainList();
- },
-
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
-
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- clearInterval(_countTime);
- },
-
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
-
- },
-
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- if(this.data.ismore){
- this.data.page++;
- this.getFriendBargainList();
- }
- },
-
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- return {
- title: "我正在以超低价购买"+this.data.goodsDetail.sku_name+"!有你帮忙还能更便宜!快来帮我!",
- imageUrl: this.data.imgUrl+'/newImages9/13.png',
- path: "/pages/mountingsDetail/mountingsDetail?bargainType=2&sku_id="+this.data.goodsMsg.sku_id+"&activity_token="+this.data.goodsMsg.activity_token
- }
- },
- ruleShowControl(){//控制活动规则的显示与隐藏
- this.setData({
- activityRule:!this.data.activityRule
- })
- },
- countDown(){//倒计时
- _countTime = setInterval(() => {
- if(_surplusTime){
- _surplusTime--;
- this.timeDispose();
- }else{
- clearInterval(_countTime);
- // _surplusTime = 60*60*24;
- }
- }, 1000);
- },
- timeDispose(){//时间处理
- let hours = Math.floor(_surplusTime/3600);
- let minutes = Math.floor(_surplusTime%3600/60);
- let seconds = Math.floor(_surplusTime%3600%60);
- this.data.surplusTime[0] = hours>=10?hours:'0'+hours
- this.data.surplusTime[1] = minutes>=10?minutes:'0'+minutes
- this.data.surplusTime[2] = seconds>=10?seconds:'0'+seconds
- this.setData({
- surplusTime:this.data.surplusTime
- })
- },
- enterListPage(){//进入列表页
- if(this.data.bargainType==1){
- wx.navigateBack({
- delta:1
- })
- }else{
- wx.redirectTo({
- url: '/pages/mountings/mountings'
- })
- }
- },
- detectionUserMsg(){//检测是否已获取用户头像昵称
- if(app.globalData.userInfoData && app.globalData.userInfoData.avatarUrl){
- this.setData({
- userInfoData:true
- })
- }else{
- app.globalData.userInfoSuccessFuc = this.detectionUserMsg;
- }
- },
- getUserWxMsg:function(e){//通过微信获取用户信息
- if (e.detail.errMsg == "getUserInfo:ok") {
- app.globalData.userInfoData = {};
- app.globalData.userInfoData.avatarUrl = e.detail.userInfo.avatarUrl;
- app.globalData.userInfoData.nickName = e.detail.userInfo.nickName;
- this.setData({
- userInfoData: true
- })
- app.submitUserMsg(e.detail.userInfo.avatarUrl, e.detail.userInfo.nickName);
- this.bargainByFriend();
- }
- },
- helpFriend(){//帮朋友砍一刀
- this.setData({
- helpDickerShow:!this.data.helpDickerShow
- })
- },
- getFriendBargainList(){//获取好友助力列表
- app.wxRequest(app.globalData.urlRoot + "bargain/getFriendBargainList", {activity_token:this.data.goodsMsg.activity_token,page:this.data.page,count:this.data.count}, res => {
- if (res.code == 200) {
- for(let i=0;i<res.data.list.length;i++){
- res.data.list[i]['reduce_money'] = res.data.list[i]['reduce_money']/100;
- this.data.friendBargain.push(res.data.list[i]);
- }
- this.setData({
- friendBargain:this.data.friendBargain
- })
- if(this.data.friendBargain.length>=res.data.total){
- this.data.ismore = false;
- }
- }
- }, this);
- },
- bargainByFriend(){//好友发起助力
- let openid = app.globalData.openid;//openid
- let activity_token = this.data.goodsMsg.activity_token;//activity_token
- let timestamp = Date.parse(new Date())/1000;//当前时间戳(秒)
- let fixedString = "bargain_dongfeng";//固定字符串
- let signStr = openid+activity_token+timestamp+fixedString
- let sign = md5.hexMD5(signStr)
- app.wxRequest(app.globalData.urlRoot + "bargain/bargainByFriend", {activity_token:activity_token,timestamp:timestamp,sign:sign}, res => {
- if (res.code == 200) {
- this.setData({
- friendHelpMoney:res.data.bargainMoney/100
- })
- this.data.friendBargain = [];
- this.data.page = 1;
- this.getFriendBargainList();
- this.getActivityJoinDetail();
- this.helpFriend();
- }else{
- wx.showToast({
- title:res.msg,
- icon:"none"
- })
- }
- }, this,"POST");
- },
- getGoodsDetail(){//获取商品详情
- app.wxRequest(app.globalData.urlRoot + "bargain/getGoodsDetail", {sku_id:this.data.goodsMsg.sku_id}, res => {
- if (res.code == 200) {
- if(res.data && res.data.goods_detail_right_pic){
- wx.getImageInfo({
- src:res.data.goods_detail_right_pic,
- success:(params)=>{
- let scale = 75/params.height;
- this.setData({
- right_pic_W:params.width*scale,
- goodsDetail:res.data
- })
- }
- })
- }else{
- this.setData({
- goodsDetail:res.data
- })
- }
- }else{
- wx.showToast({
- title:res.msg,
- icon:"none"
- })
- }
- }, this);
- },
- getActivityJoinDetail(){//获取砍价活动进度详情
- app.wxRequest(app.globalData.urlRoot + "bargain/getActivityJoinDetail", {activity_token:this.data.goodsMsg.activity_token}, res => {
- if (res.code == 200) {
- res.data.surplus = (res.data.gap_money-res.data.success_money)/100;
- res.data.gap_money = res.data.gap_money/100;
- res.data.success_money = res.data.success_money/100;
- res.data.percent = Math.ceil((1-res.data.surplus/res.data.gap_money)*100);
- this.setData({
- activityJoinDetail:res.data
- })
- clearInterval(_countTime);
- _surplusTime = res.data.lastTime;
- this.timeDispose();
- this.countDown();
- }else{
- wx.showToast({
- title:res.msg,
- icon:"none"
- })
- }
- }, this);
- }
- })
|