Browse Source

开团功能

feature/v1.1.0
lfs3 7 years ago
parent
commit
a56f1a5a7f
7 changed files with 225 additions and 28 deletions
  1. 152
      pages/activity_detail/activity_detail.js
  2. 16
      pages/activity_detail/activity_detail.wxml
  3. 34
      pages/index/index.js
  4. 2
      pages/index/index.json
  5. 13
      pages/index/index.wxml
  6. 32
      pages/index/index.wxss
  7. 4
      pages/jz/jz.wxss

152
pages/activity_detail/activity_detail.js

@ -4,7 +4,6 @@ const app = getApp()
var WxParse = require('../../wxParse/wxParse.js');//主要为了能够显示获取的html代码
Page({
/**
* 页面的初始数据
*/
@ -21,14 +20,72 @@ Page({
countDownSecond: 0,
memberList:[],
activityDetail:{},
grounpInfo:"none",
activityNo:"",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getActivityDetail(options.activityNo)
},
getActivityDetail: function (activityNo){
let that = this;
that.setData({
activityNo: activityNo,
});
wx.showNavigationBarLoading() //在标题栏中显示加载
wx.request({
url: app.gw.hostUrl + '/mall/wxa/activity/detail',
method: 'get',
data: {
activityNo: activityNo,
grounpInfo: "none",
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
var data = res.data;
var status = data.code;
console.log(res);
if (status == 0) {
that.setData({
activityDetail: data.response,
});
let activityContent = data.response.activityContent;
WxParse.wxParse('activityContent', 'html', activityContent, that);
} else {
wx.showToast({
title: data.msg,
icon: 'none',
duration: 3000
});
return;
}
},
fail: function (res) {
wx.showToast({
title: '加载数据失败',
});
},
complete: function (res) {
// complete
wx.hideNavigationBarLoading() //完成停止加载
wx.stopPullDownRefresh() //停止下拉刷新
},
})
},
/**
*活动倒计时方法
*/
countActivityTime: function (timeStamp){
var totalSecond = timeStamp - Date.parse(new Date()) / 1000;
var interval = setInterval(function () {
// 秒数
var second = totalSecond;
@ -91,18 +148,95 @@ Page({
detail_image_height: imageHeight
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
groupTap:function(e){
let that = this;
wx.showToast({
title: '正在调起支付',
icon: 'loading'
})
wx.request({//获取微信支付想要的数据
url: app.gw.hostUrl + '/mall/wxa/activity/group/open',
method: 'get',
data: {
openid: app.globalData.openid,
activityNo: that.data.activityNo
},
header: {
'Content-Type': 'application/x-www-form-urlencoded',
'sessionId': wx.getStorageSync('sessionId')
},
success: function (res) {
//--init data
let data = res.data;
let status = data.code;
if (status != 0) {
wx.showToast({
title: data.msg,
icon: 'none',
duration: 2000
})
return;
}
console.log(data.response);
let dr = data.response.weixinTransParameters;
console.log(dr);
wx.requestPayment({//微信支付
"timeStamp": dr.timeStamp,
"nonceStr": dr.nonceStr,
"package": dr.package,
"signType": dr.signType,
"paySign": dr.paySign,
"success": function (res) {
console.log(res);
wx.showToast({
title: '支付成功',
icon: 'success',
duration: 2000
})
// wx.switchTab({//跳转到订单页面
// url: '../order/order',
// success: function (e) {
// var page = getCurrentPages().pop();
// if (page == undefined || page == null) return;
// console.log(page);
// page.onShow();
// }
// })
},
"fail": function (res) {
console.log(res);
if (res.errMsg == 'requestPayment:fail cancel') {
wx.showToast({
title: '取消支付',
icon: 'none',
duration: 2000
})
} else {
wx.showToast({
title: '支付出错',
icon: 'none',
duration: 2000
})
}
}
})
},
fail: function (e) {
wx.showToast({
title: '网络异常!err:authlogin',
icon: 'none',
duration: 2000
})
},
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
this.countActivityTime(1527609600);
//this.countActivityTime(1527609600);
},
/**

16
pages/activity_detail/activity_detail.wxml

@ -6,7 +6,7 @@
<text class='title'>{{activityDetail.activityName}}</text>
<view class="row">
<text class="num">{{activityDetail.limitNum}}人团</text>
<text class="limit_type">{{activityDetail.typeDesc}}</text>
<text class="limit_type">{{activityDetail.limitTypeDesc}}</text>
</view>
<view class="row" style='padding-top: 10rpx;'>
<text class="sucess_tip">拼团成功人均获得一张</text>
@ -15,19 +15,19 @@
<view class="price_row">
<view style='float: left;'>
<text class="common666">原价:</text>
<text class="common666del">{{activityDetail.originalPrice}}元</text>
<text class="common666del">{{activityDetail.originalPrice / 100}}元</text>
</view>
<view style='float: left;'>
<text class="common666">团长价:</text>
<text class="commonRed">{{activityDetail.originatorPrice}}</text>
<text class="commonRed">{{activityDetail.originatorPrice / 100}}</text>
</view>
<view style='float: left;'>
<text class="common666">团员价:</text>
<text class="commonRed">{{activityDetail.participantPrice}}</text>
<text class="commonRed">{{activityDetail.participantPrice / 100}}</text>
</view>
</view>
</view>
<view class='grounp_info'>
<view class='grounp_info' style='display: {{grounpInfo}};'>
<view class='status'>
<text class="tag">拼团中</text>
<view class='remark'>还差
@ -53,14 +53,14 @@
</view>
<image src="{{ruleImage}}" bindload="ruleImageLoad" style="width:100%;margin: 5rpx auto;height:{{rule_image_height}}px"></image>
<view class="global_focus intro-box" style='margin: 5rpx auto;'>
<template is="wxParse" data="{{wxParseData:activityDetail.nodes}}" />
<template is="wxParse" data="{{wxParseData:activityContent.nodes}}" />
</view>
</scroll-view>
<view class='bottom_view'>
<view class='one_content' id='one_button' style='background-color:{{bottomBGColor}};'>{{buttomText}}</view>
<view class='one_content' id='one_button' style='background-color:{{bottomBGColor}};' bindtap='groupTap'>{{buttomText}}</view>
<view class='two_content' id='two_content'>
<view class='left'>¥499</view>
<view class='right'>{{buttomText}}</view>
<view class='right' >{{buttomText}}</view>
</view>
</view>
</view>

34
pages/index/index.js

@ -19,16 +19,26 @@ Page({
{ name: '砍价', disabled: true, className: 'gray_button' }
],
nowDate: new Date().getTime(),
cityId: 440100000,
addrArray: { id: [440100000, 430426000], name: ['广州', '祁东'] },
addrIndex: 0,
activityList: [],
pageNum: 1,
pageSize: 20,
hasMoreData: true,
img1: '/images/activity_banner.png',
img1: '/images/title-icon.png',
cityId: 440100000,
typeNum: 10,
addrArray: { id: [440100000, 430426000], name: ['广州', '深圳', '上海', '长沙', '武汉', '杭州', '北京'] },
addrIndex: 0,
},
/**
* 城市选择
*/
bindAddrChange: function (e) {
this.setData({
_num: e.detail.value + 1,
addrIndex: e.detail.value
}),
this.getActivityList();
},
/**
* 生命周期函数--监听页面加载
*/
@ -70,15 +80,16 @@ Page({
}),
this.getActivityList();
},
getActivityList: function(){
let that = this;
wx.showNavigationBarLoading() //在标题栏中显示加载
console.log('addrIndex:' + that.data.addrIndex)
wx.request({
url: app.gw.hostUrl + '/mall/wxa/activity/list',
method: 'get',
data: {
merchantNo: 2,
selectedCityId: that.data.addrArray.id[that.data.addrIndex] == undefined ? 0 : that.data.addrArray.id[that.data.addrIndex],
pageNum: that.data.pageNum,
pageSize: that.data.pageSize
},
@ -131,6 +142,15 @@ Page({
})
},
/**
* 点击去开团
*/
openGroup:function(e){
console.log('activityNo:' + e.currentTarget.dataset.item);
wx.navigateTo({
url: '../activity_detail/activity_detail?activityNo=' + e.currentTarget.dataset.item,
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/

2
pages/index/index.json

@ -1,5 +1,5 @@
{
"navigationBarTitleText": "活动中心",
"enablePullDownRefresh": true,
"backgroundColor": "#26AE76"
"backgroundColor": "#F7F7F7"
}

13
pages/index/index.wxml

@ -1,5 +1,16 @@
<!--pages/index/index.wxml-->
<view class="content">
<view class='header'>
<view class='top-left'>
<picker class='address' bindchange="bindAddrChange" value="{{addrIndex1}}" range="{{addrArray.name}}">
<view>
<text>{{addrArray.name[addrIndex]}}</text>
</view>
</picker>
</view>
<image class='title_img' src='{{img1}}' mode='widthFix'></image>
<view class='top-right'></view>
</view>
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
<block wx:for="{{imgUrls}}">
<swiper-item>
@ -25,7 +36,7 @@
<view class='p2'>¥</view>{{item.participantPrice / 100}}
<text class="del">原价:{{item.originalPrice / 100}}</text>
</view>
<button class='openBtn' form-type="submit">去开团</button>
<button class='openBtn' bindtap='openGroup' form-type="submit" data-item='{{item.activityNo}}' >去开团</button>
</view>
</view>
</view>

32
pages/index/index.wxss

@ -1,6 +1,38 @@
.content{
width: 100%;
height: 100%;
background-color: #F7F7F7;
}
.header{
width: 100%;
background-color: #26ae76;
}
.title_img{
width: 24%;
margin: 10rpx 10%;
display: inline-block;
}
.top-left,.top-right{
width: 28%;
display: inline-block;
vertical-align:super;
}
.address{
font-size: 30rpx;
color:#fff;
margin-left:44rpx;
}
.middle{
background: #fff;
margin-bottom: 20rpx;
}
.middle_left,.middle_right{
width: 27%;
display: inline-block;
font-size: 32rpx;
padding: 20rpx 0;
text-align: center;
margin: 10rpx 11% 0;
}
image{
width: 100%;

4
pages/jz/jz.wxss

@ -22,8 +22,8 @@ image{
height: 80rpx;
line-height: 80rpx;
}
.top-left,.top-right{
width: 40%;v
.top-left .top-right{
width: 40%;
display: inline-block;
}
.addressBox{

Loading…
Cancel
Save