微信支付、会员开通等
3
app.js
@ -28,6 +28,7 @@ App({
|
||||
globalData: {
|
||||
userInfo: {},
|
||||
token: '',
|
||||
userId: ''
|
||||
userId: '',
|
||||
showUserId: '', //当前浏览的人的ID
|
||||
},
|
||||
})
|
84
app.json
@ -35,45 +35,60 @@
|
||||
"pages/mine/product/recycle/productrecycle",
|
||||
"pages/mine/product/coupon/couponlist",
|
||||
"pages/mine/product/coupon/editcoupon",
|
||||
"pages/mine/product/coupon/choosegoods"
|
||||
"pages/mine/product/coupon/choosegoods",
|
||||
"pages/mine/vip/vipcenter",
|
||||
"pages/mine/income/incomelist"
|
||||
],
|
||||
"subPackages": [
|
||||
{
|
||||
"root": "packagecard",
|
||||
"pages": [
|
||||
"cardList/cardList",
|
||||
"cardDetail/cardDetail",
|
||||
"moments/publish/momentpublish",
|
||||
"moments/edit/momentedit",
|
||||
"moments/list/momentslist",
|
||||
"moments/publish/momentpublishline",
|
||||
"sharePage/sharePage",
|
||||
"moments/list/momentsshowlist",
|
||||
"moments/momentsdetail/momentsdetail",
|
||||
"moments/showlist/showlist",
|
||||
"shop/catalog/bannerlist/bannerlist",
|
||||
"shop/catalog/column/column",
|
||||
"shop/catalog/list/list",
|
||||
"shop/shopingcart/cart",
|
||||
"shop/product/product",
|
||||
"shop/bespeak/bespeak",
|
||||
"shop/product/goodsdetail",
|
||||
"shop/product/affirmorder",
|
||||
"shop/catalog/bannerlist/goodscataloglist",
|
||||
"common/corpperimg/cropperimg",
|
||||
"sharePage/cardcode",
|
||||
"paypage/paypage",
|
||||
"purse/takecash",
|
||||
"marketing/marketinginfo",
|
||||
"marketing/marketingposter",
|
||||
"marketing/marketingpublish",
|
||||
"marketing/posteredit",
|
||||
"paypage/paystate",
|
||||
"lucre/historylucre",
|
||||
"purse/recordlist"
|
||||
]
|
||||
}
|
||||
],
|
||||
"subPackages": [{
|
||||
"root": "packagecard",
|
||||
"pages": [
|
||||
"cardList/cardList",
|
||||
"cardDetail/cardDetail",
|
||||
"moments/publish/momentpublish",
|
||||
"moments/edit/momentedit",
|
||||
"moments/list/momentslist",
|
||||
"moments/publish/momentpublishline",
|
||||
"sharePage/sharePage",
|
||||
"moments/list/momentsshowlist",
|
||||
"moments/momentsdetail/momentsdetail",
|
||||
"moments/showlist/showlist",
|
||||
"shop/catalog/bannerlist/bannerlist",
|
||||
"shop/catalog/column/column",
|
||||
"shop/catalog/list/list",
|
||||
"shop/shopingcart/cart",
|
||||
"shop/product/product",
|
||||
"shop/bespeak/bespeak",
|
||||
"shop/product/goodsdetail",
|
||||
"shop/product/affirmorder",
|
||||
"shop/catalog/bannerlist/goodscataloglist",
|
||||
"common/corpperimg/cropperimg"
|
||||
]
|
||||
}],
|
||||
"window": {
|
||||
"backgroundTextStyle": "dark",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"navigationBarTitleText": "名片",
|
||||
"navigationBarTextStyle": "black",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#E6B980",
|
||||
"navigationBarTitleText": "服务",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
},
|
||||
"tabBar": {
|
||||
"color": "#000000",
|
||||
"selectedColor": "#000000",
|
||||
"borderStyle": "black",
|
||||
"list": [{
|
||||
"list": [
|
||||
{
|
||||
"text": "首页",
|
||||
"pagePath": "pages/index/index",
|
||||
"iconPath": "images/ic_card_normal.png",
|
||||
@ -112,7 +127,12 @@
|
||||
"van-switch": "/vant/dist/switch/index",
|
||||
"van-tab": "/vant/dist/tab/index",
|
||||
"van-tabs": "/vant/dist/tabs/index",
|
||||
"van-picker": "/vant/dist/picker/index"
|
||||
"van-picker": "/vant/dist/picker/index",
|
||||
"van-popup": "/vant/dist/popup/index",
|
||||
"van-dropdown-menu": "/vant/dist/dropdown-menu/index",
|
||||
"van-dropdown-item": "/vant/dist/dropdown-item/index",
|
||||
"van-collapse": "/vant/dist/collapse/index",
|
||||
"van-collapse-item": "/vant/dist/collapse-item/index"
|
||||
},
|
||||
"plugins": {
|
||||
"chooseLocation": {
|
||||
|
8
app.wxss
@ -25,6 +25,14 @@ scroll-view {
|
||||
border-bottom-color: #dfdfdf;
|
||||
}
|
||||
|
||||
.line-so-gray {
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 2rpx;
|
||||
border-bottom-color: #dfdfdf;
|
||||
width: 100%;
|
||||
margin: 15rpx;
|
||||
}
|
||||
|
||||
.nav-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
@ -27,7 +27,7 @@ page {
|
||||
--grey: #8799a3;
|
||||
--black: #333333;
|
||||
--darkGray: #666666;
|
||||
--gray: #aaaaaa;
|
||||
--gray: #999999;
|
||||
--ghostWhite: #f1f1f1;
|
||||
--white: #ffffff;
|
||||
--depBlack: #000000;
|
||||
@ -3589,6 +3589,15 @@ scroll-view.cu-steps .cu-item {
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
.bg-yellowlight {
|
||||
background-color: var(--yellowLight);
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
.line-yellowlight2 {
|
||||
color: var(--yellowLight);
|
||||
}
|
||||
|
||||
.bg-orange {
|
||||
background-color: var(--orange);
|
||||
color: var(--white);
|
||||
@ -3613,6 +3622,10 @@ scroll-view.cu-steps .cu-item {
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
.bg-yellow-light-3 {
|
||||
color: var(--yellowLight);
|
||||
}
|
||||
|
||||
.bg-olive {
|
||||
background-color: var(--olive);
|
||||
color: var(--white);
|
||||
@ -4149,6 +4162,56 @@ l .text-depblack {
|
||||
}
|
||||
|
||||
/* 自定义 */
|
||||
.tab {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: #fff;
|
||||
flex-direction: column;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tab-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.options-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
width: 100%;
|
||||
flex-wrap: wrap;
|
||||
padding: 15rpx;
|
||||
box-shadow: 0rpx 2rpx 2rpx rgba(4, 0, 0, .2);
|
||||
}
|
||||
|
||||
.options-box .item {
|
||||
font-size: 28rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
min-width: 20%;
|
||||
border-radius: 20rpx;
|
||||
padding: 7.5rpx 0rpx 7.5rpx 0rpx;
|
||||
}
|
||||
|
||||
.options-box .item:nth-child(1) {
|
||||
padding: 0rpx 0rpx 7.5rpx 0rpx;
|
||||
}
|
||||
|
||||
.loading-box {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.play-box {
|
||||
display: flex;
|
||||
margin-left: 20rpx;
|
||||
|
@ -13,7 +13,11 @@ Component({
|
||||
properties: {
|
||||
bgColor: {
|
||||
type: String,
|
||||
default: 'title-bar-bg'
|
||||
default: '1'
|
||||
},
|
||||
isWhite: {
|
||||
type: [Boolean, String],
|
||||
default: false
|
||||
},
|
||||
isCustom: {
|
||||
type: [Boolean, String],
|
||||
@ -47,7 +51,7 @@ Component({
|
||||
StatusBar: app.globalData.StatusBar,
|
||||
CustomBar: app.globalData.CustomBar,
|
||||
Custom: app.globalData.Custom,
|
||||
userIcon: wx.getStorageSync('userIcon') || app.globalData.userIcon
|
||||
userIcon: wx.getStorageSync('userIcon') || '/images/ic_user_default.png'
|
||||
},
|
||||
/**
|
||||
* 组件的方法列表
|
||||
@ -82,7 +86,6 @@ Component({
|
||||
},
|
||||
// 点击标题
|
||||
showIcre() {
|
||||
console.log('点击了')
|
||||
this.triggerEvent('show', {}, {})
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
<view class="cu-custom" style="height:{{CustomBar}}px">
|
||||
<view class="cu-bar fixed {{bgImage!=''?'none-bg text-white bg-img':''}} {{bgColor}} title-bar-bg"
|
||||
style="height:{{CustomBar}}px;padding-top:{{StatusBar}}px;{{bgImage?'background-image:url(' + bgImage+')':''}}">
|
||||
<view
|
||||
class="cu-bar fixed {{bgImage!=''?'none-bg text-white bg-img':''}} {{isWhite ? 'title-bar-bg-white':'title-bar-bg'}}"
|
||||
style="height:{{CustomBar}}px;padding-top:{{StatusBar}}px;">
|
||||
<view class="action" bindtap="BackPage" wx:if="{{isBack}}">
|
||||
<text class="cuIcon-back"></text>
|
||||
<slot name="backText"></slot>
|
||||
|
@ -25,4 +25,14 @@
|
||||
/* background-color: #ffffff; */
|
||||
color: #fff;
|
||||
/* color: #000000; */
|
||||
}
|
||||
|
||||
.title-bar-bg-white {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.title-bar-bg-dark {
|
||||
background-color: #000000;
|
||||
color: #ffffff;
|
||||
}
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 885 B |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 625 B |
BIN
images/htm.png
Normal file
After Width: | Height: | Size: 683 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 478 B |
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 223 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 471 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 524 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 301 B |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 587 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 598 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 885 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.1 KiB |
BIN
images/ic_cash.png
Normal file
After Width: | Height: | Size: 791 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 747 B |
Before Width: | Height: | Size: 875 B After Width: | Height: | Size: 524 B |
BIN
images/ic_corner_mark_bg.png
Normal file
After Width: | Height: | Size: 533 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 699 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 554 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 587 B |
BIN
images/ic_hot_number_bg.png
Normal file
After Width: | Height: | Size: 647 B |
BIN
images/ic_information_icon.png
Normal file
After Width: | Height: | Size: 603 B |
Before Width: | Height: | Size: 985 B After Width: | Height: | Size: 538 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 575 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
images/ic_order_all.png
Normal file
After Width: | Height: | Size: 498 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 862 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 897 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 874 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 826 B |
BIN
images/ic_pay_order_icon.png
Normal file
After Width: | Height: | Size: 909 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 839 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 620 B |
BIN
images/ic_poster_icon.png
Normal file
After Width: | Height: | Size: 692 B |
BIN
images/ic_purse.png
Normal file
After Width: | Height: | Size: 681 B |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
images/ic_scan_icon.png
Normal file
After Width: | Height: | Size: 829 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
images/ic_share_cir_icon.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
images/ic_share_img.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
images/ic_share_moment.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1023 B After Width: | Height: | Size: 499 B |
Before Width: | Height: | Size: 973 B After Width: | Height: | Size: 547 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 999 B |
Before Width: | Height: | Size: 808 B After Width: | Height: | Size: 470 B |
BIN
images/ic_vip_icon.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
images/ic_wait_consignment.png
Normal file
After Width: | Height: | Size: 785 B |
BIN
images/ic_wait_pay.png
Normal file
After Width: | Height: | Size: 945 B |
BIN
images/ic_wait_receipt.png
Normal file
After Width: | Height: | Size: 805 B |
BIN
images/ic_yellow_bg.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
images/jpg.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
images/lib.png
Normal file
After Width: | Height: | Size: 925 B |
BIN
images/map.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.4 KiB |
BIN
images/mp3.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
images/mp4.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
images/txt.png
Normal file
After Width: | Height: | Size: 913 B |
@ -29,7 +29,9 @@ Page({
|
||||
oldToken: '',
|
||||
fromMine: false,
|
||||
imgTempSrc: '',
|
||||
currentIndex: 0
|
||||
currentIndex: 0,
|
||||
windowWidth: app.globalData.windowWidth,
|
||||
scale: 1
|
||||
},
|
||||
tabChange(e) {
|
||||
this.setData({
|
||||
@ -206,11 +208,6 @@ Page({
|
||||
})
|
||||
})
|
||||
},
|
||||
getPhoneNumber: function (e) {
|
||||
console.log(e.detail.errMsg)
|
||||
console.log(e.detail.iv)
|
||||
console.log(e.detail.encryptedData)
|
||||
},
|
||||
// 获取名片信息
|
||||
getNameCard: function () {
|
||||
var self = this;
|
||||
@ -226,8 +223,10 @@ Page({
|
||||
},
|
||||
data: {}
|
||||
}).then(res => {
|
||||
console.log(res.data)
|
||||
var area = res.data.areaList
|
||||
var scale = res.data.picturesTemplateWidth / self.data.windowWidth
|
||||
res.data.picturesTemplateWidth = res.data.picturesTemplateWidth / scale
|
||||
res.data.picturesTemplateHeight = res.data.picturesTemplateHeight / scale
|
||||
for (let i = 0; i < area.length; i++) {
|
||||
if (area[i].templateAreaFontCenter == '1') {
|
||||
area[i].templateAreaFontCenter = 'left'
|
||||
@ -248,7 +247,14 @@ Page({
|
||||
// area[i].templateAreaFontValue = area[i].templateAreaFontValue.substring(area[i].templateAreaFontLength, -1)
|
||||
// }
|
||||
// }
|
||||
area[i].templateAreaFontSize = Math.floor(area[i].templateAreaFontSize * 750 / wx.getSystemInfoSync().windowWidth) + 'rpx'
|
||||
// area[i].templateAreaFontSize = Math.floor(() + 'rpx'
|
||||
area[i].templateAreaFontSize = area[i].templateAreaFontSize / scale + 'px'
|
||||
area[i].templateAreaHeight = area[i].templateAreaHeight / scale
|
||||
area[i].templateAreaWidth = area[i].templateAreaWidth / scale
|
||||
area[i].templateAreaDown = area[i].templateAreaDown / scale
|
||||
area[i].templateAreaTop = area[i].templateAreaTop / scale
|
||||
area[i].templateAreaRight = area[i].templateAreaRight / scale
|
||||
area[i].templateAreaLeft = area[i].templateAreaLeft / scale
|
||||
}
|
||||
self.setData({
|
||||
cardInfo: res.data,
|
||||
@ -258,36 +264,7 @@ Page({
|
||||
.catch(err => {
|
||||
|
||||
})
|
||||
// app.restAjax.get(app.restAjax.path('{cardUrl}app/cardtemplate/getcardtemplatebyid/' + self.data.cardId + queryInfo, [app.cardUrl]), {}, {
|
||||
// headers: {
|
||||
// token: app.globalData.token
|
||||
// }
|
||||
// }, function (code, data) {
|
||||
// for (let i = 0; i < self.data.fontFamilyList.length; i++) {
|
||||
// if (data.templateTypeface == self.data.fontFamilyList[i].id) {
|
||||
// self.setData({
|
||||
// useFontFamily: self.data.fontFamilyList[i].name
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// if (self.data.fromMine) {
|
||||
// self.setData({
|
||||
// areaList: JSON.parse(data.content)
|
||||
// })
|
||||
// }
|
||||
// self.setData({
|
||||
// cardInfo: data
|
||||
// })
|
||||
// var query = wx.createSelectorQuery()
|
||||
// query.select('.card').boundingClientRect()
|
||||
// query.exec(function (res) {
|
||||
// self.setData({
|
||||
// cardHeight: res[0].height
|
||||
// })
|
||||
// })
|
||||
// }, function (code, data) {
|
||||
// app.dialog.msg(data.msg);
|
||||
// });
|
||||
|
||||
},
|
||||
// 获取名片内容区域
|
||||
getNameCradArea: function () {
|
||||
@ -417,12 +394,6 @@ Page({
|
||||
},
|
||||
openPage() {
|
||||
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
@ -435,10 +406,4 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
@ -1,7 +1,6 @@
|
||||
<cu-custom isCustom="{{false}}" isBack="{{true}}">
|
||||
<view slot="content">创建名片</view>
|
||||
</cu-custom>
|
||||
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" wx:if="{{bindPhone == '0'}}">获取手机号</button>
|
||||
<view style="margin:15rpx;">
|
||||
<view class="card"
|
||||
style="padding-bottom:{{(cardInfo.picturesTemplateHeight / cardInfo.picturesTemplateWidth) *100 +'%'}};">
|
||||
@ -10,7 +9,7 @@
|
||||
wx:if="{{cardInfo.picturesTemplateBackgroundImage}}"></image>
|
||||
<!-- 文字 -->
|
||||
<view class="area-box" wx:for="{{areaList}}" data-cur="{{index}}" catchtap="giveFocus" wx:key="index"
|
||||
style="position:absolute;top: {{(item.templateAreaTop / cardInfo.picturesTemplateHeight) * 100 + '%'}};left:{{(item.templateAreaLeft / cardInfo.picturesTemplateWidth) * 100 + '%'}};color:{{item.templateAreaFontColor}};;width:{{(item.templateAreaWidth / cardInfo.picturesTemplateWidth) * 100 + '%'}};height:{{(item.templateAreaHeight / cardInfo.picturesTemplateHeight) * 100 + '%'}};font-size:{{item.templateAreaFontSize}};font-style:{{item.templateAreaFontStyle}};font-weight:{{item.templateAreaFontBold}};text-align:{{item.templateAreaFontCenter}}"
|
||||
style="position:absolute;top: {{(item.templateAreaTop / cardInfo.picturesTemplateHeight) * 100 + '%'}};left:{{(item.templateAreaLeft / cardInfo.picturesTemplateWidth) * 100 + '%'}};color:{{item.templateAreaFontColor}};;width:{{item.templateAreaWidth }}px;height:{{item.templateAreaHeight}}px;font-size:{{item.templateAreaFontSize}};font-style:{{item.templateAreaFontStyle}};font-weight:{{item.templateAreaFontBold}};text-align:{{item.templateAreaFontCenter}};line-height: {{item.templateAreaHeight}}px;"
|
||||
wx:if="{{item.templateAreaServerLink == '1' && item.templateAreaType != '1'}}">
|
||||
{{item.templateAreaFontValue}}
|
||||
</view>
|
||||
|
@ -3,7 +3,6 @@
|
||||
height: 0;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
background: #fff;
|
||||
z-index: 100;
|
||||
/* text-align: center; */
|
||||
}
|
||||
|
@ -7,9 +7,70 @@ Page({
|
||||
*/
|
||||
data: {
|
||||
imgUrl: app.urls.baseImgUrl,
|
||||
cardList: []
|
||||
cardList: [],
|
||||
currentIndex: 0,
|
||||
optionsList: [],
|
||||
isNeedPay: false, //是否需要交费
|
||||
needPayPrice: 0, //个人需要交费
|
||||
needPayTeamPrice: 0, //团体需要交费
|
||||
curTypeId: '',
|
||||
isRefreshing: false, //是否在刷新
|
||||
isRefresh: false,
|
||||
isShowCodeInput: false, //测试true
|
||||
code: '', //邀请码
|
||||
},
|
||||
getList: function () {
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
// this.getPayState()
|
||||
},
|
||||
onShow() {
|
||||
this.dorefreshList()
|
||||
},
|
||||
//列表刷新
|
||||
dorefreshList() {
|
||||
var _self = this
|
||||
_self.setData({
|
||||
isRefresh: false,
|
||||
isRefreshing: true,
|
||||
cardList: []
|
||||
})
|
||||
_self.getPayState()
|
||||
},
|
||||
//获取类型
|
||||
getOptionsList() {
|
||||
var _self = this
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
})
|
||||
app.http.get(app.urls.getDictionaryList.format({
|
||||
dataParentId: '4bf68c60-eac5-480d-b5e1-15203d0282f9'
|
||||
}), {
|
||||
header: {
|
||||
token: app.globalData.token
|
||||
}
|
||||
})
|
||||
.then(res => {
|
||||
wx.hideLoading({})
|
||||
if (res.data.length > 0) {
|
||||
_self.setData({
|
||||
optionsList: res.data,
|
||||
curTypeId: res.data[0].dataId,
|
||||
currentIndex: 0
|
||||
})
|
||||
//根据第一条获取数据
|
||||
_self.getList()
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
_self.setData({
|
||||
isRefreshing: false
|
||||
})
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
var self = this
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
@ -17,46 +78,105 @@ Page({
|
||||
app.http.get(app.urls.getCardList, {
|
||||
header: {
|
||||
token: app.globalData.token
|
||||
},
|
||||
data: {
|
||||
templateType: self.data.curTypeId
|
||||
}
|
||||
}).then(res => {
|
||||
wx.hideLoading({})
|
||||
self.setData({
|
||||
cardList: res.data
|
||||
res.data.forEach(it => {
|
||||
if (it.picturesTemplateNumber > 1000 && it.picturesTemplateNumber < 10000) {
|
||||
it.number = it.picturesTemplateNumber / 1000 + 'K+'
|
||||
} else if (it.picturesTemplateNumber > 10000 && it.picturesTemplateNumber < 1000000) {
|
||||
it.number = it.picturesTemplateNumber / 10000 + 'W+'
|
||||
} else {
|
||||
it.number = it.picturesTemplateNumber
|
||||
}
|
||||
})
|
||||
self.setData({
|
||||
cardList: res.data,
|
||||
isRefreshing: false
|
||||
})
|
||||
wx.hideNavigationBarLoading() //完成停止加载
|
||||
wx.stopPullDownRefresh() //停止下拉刷新
|
||||
})
|
||||
.catch(err => {
|
||||
wx.hideLoading({})
|
||||
wx.hideNavigationBarLoading() //完成停止加载
|
||||
wx.stopPullDownRefresh() //停止下拉刷新
|
||||
self.setData({
|
||||
isRefreshing: false
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
goDetail: function (e) {
|
||||
var _self = this
|
||||
var id = e.currentTarget.dataset.id
|
||||
console.log(id)
|
||||
wx.navigateTo({
|
||||
url: '../cardDetail/cardDetail?id=' + id,
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
var self = this
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
token: res.data
|
||||
var isPay = e.currentTarget.dataset.ispay //是否需要交费
|
||||
var price = e.currentTarget.dataset.price //价格
|
||||
var payState = e.currentTarget.dataset.paystate //交费转态
|
||||
if (_self.data.isNeedPay) {
|
||||
wx.navigateTo({
|
||||
url: '/packagecard/paypage/paypage?price=' + _self.data.needPayPrice + '&teamprice=' + _self.data.needPayTeamPrice + '&displayTreaty=1&type=1',
|
||||
})
|
||||
} else {
|
||||
//已经支付过
|
||||
if (isPay == '1') {
|
||||
//需要付款
|
||||
//判断是否交过费
|
||||
if (payState) {
|
||||
wx.navigateTo({
|
||||
url: '../cardDetail/cardDetail?id=' + id,
|
||||
})
|
||||
} else {
|
||||
//交费
|
||||
wx.navigateTo({
|
||||
url: '/packagecard/paypage/paypage?price=' + price + '&type=2',
|
||||
})
|
||||
}
|
||||
} else {
|
||||
//免费
|
||||
wx.navigateTo({
|
||||
url: '../cardDetail/cardDetail?id=' + id,
|
||||
})
|
||||
app.globalData.token = res.data
|
||||
self.getList()
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
onChange(e) {
|
||||
var _self = this
|
||||
_self.setData({
|
||||
currentIndex: e.detail.index,
|
||||
curTypeId: _self.data.optionsList[e.detail.index].dataId,
|
||||
cardList: []
|
||||
})
|
||||
//重置所有数据重新加载
|
||||
this.getList()
|
||||
},
|
||||
//获取支付状态
|
||||
getPayState() {
|
||||
var _self = this
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
})
|
||||
app.http.get(app.urls.getPayState, {
|
||||
header: {
|
||||
token: app.globalData.token
|
||||
}
|
||||
})
|
||||
.then(res => {
|
||||
wx.hideLoading({})
|
||||
//支付过跳转名片创建页面,没有支付跳转支付页面
|
||||
_self.setData({
|
||||
isNeedPay: res.data.cardCharge, //是否需要交费
|
||||
needPayPrice: res.data.cardChargePrice, //个人
|
||||
needPayTeamPrice: res.data.cardChargeDepartmentPrice, //团体
|
||||
})
|
||||
_self.getOptionsList()
|
||||
})
|
||||
.catch(err => {
|
||||
_self.setData({
|
||||
isRefreshing: false
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
@ -64,4 +184,35 @@ Page({
|
||||
onPullDownRefresh: function () {
|
||||
this.getList()
|
||||
},
|
||||
onClose(e) {
|
||||
this.setData({
|
||||
isShowCodeInput: false
|
||||
})
|
||||
},
|
||||
inpuWatch(e) {
|
||||
this.setData({
|
||||
code: e.detail.value
|
||||
})
|
||||
},
|
||||
//邀请码创建
|
||||
codeCreate(e) {
|
||||
var _self = this
|
||||
if (_self.data.code == '') {
|
||||
wx.showToast({
|
||||
title: '请输入邀请码',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
//未支付过跳转支付
|
||||
wx.navigateTo({
|
||||
url: '/packagecard/paypage/paypage?price=' + _self.data.needPayPrice + '&teamprice=' + _self.data.needPayTeamPrice + '&displayTreaty=1' + '&type=1&code=' + _self.data.code,
|
||||
})
|
||||
}
|
||||
},
|
||||
//无邀请码创建
|
||||
noCodeCreate(e) {
|
||||
wx.navigateTo({
|
||||
url: '/packagecard/paypage/paypage?price=' + _self.data.needPayPrice + '&teamprice=' + _self.data.needPayTeamPrice + '&displayTreaty=1&type=1',
|
||||
})
|
||||
}
|
||||
})
|
@ -1,4 +1,3 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"enablePullDownRefresh": true
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,11 +1,58 @@
|
||||
<cu-custom isCustom="{{false}}" isBack="{{true}}">
|
||||
<view slot="content">模板列表</view>
|
||||
</cu-custom>
|
||||
<view class="page-box">
|
||||
<view class="card" bindtap="goDetail" wx:for="{{cardList}}" data-id="{{item.cardTemplateId}}" wx:key="index">
|
||||
<view class="card-img">
|
||||
<image src="{{imgUrl+item.picturesTemplatePictureUrl}}"></image>
|
||||
<view class="tab">
|
||||
<van-tabs style="width: 100%;" active="{{ currentIndex }}" bind:change="onChange" ellipsis="{{false}}"
|
||||
z-index="{{100}}" color="#E6B980">
|
||||
<block wx:for="{{optionsList}}" wx:key="index">
|
||||
<van-tab title="{{item.dataName}}">
|
||||
|
||||
</van-tab>
|
||||
</block>
|
||||
</van-tabs>
|
||||
</view>
|
||||
<scroll-view style="margin-top: 70rpx;" refresher-enabled="true" refresher-threshold="{{50}}"
|
||||
refresher-background="#fff" enhanced="{{true}}" scroll-y bindrefresherrefresh="dorefreshList"
|
||||
refresher-triggered="{{isRefreshing}}">
|
||||
<block wx:if="{{cardList.length>0}}">
|
||||
<view class="page-box">
|
||||
<block wx:for="{{cardList}}" wx:key="index">
|
||||
<view class="card-img" bindtap="goDetail" data-id="{{item.cardTemplateId}}" data-ispay="{{item.templateCharge}}"
|
||||
data-price="{{item.templatePrice}}" data-paystate="{{item.cardCharge}}">
|
||||
<image src="{{imgUrl+item.picturesTemplatePictureUrl}}" mode="scaleToFill" style="width: 100%;height: 100%;">
|
||||
</image>
|
||||
<view class="price-box">
|
||||
<image src="/images/ic_corner_mark_bg.png" mode="scaleToFill"></image>
|
||||
<view class="price" wx:if="{{item.templateCharge=='1'}}">
|
||||
<text> ¥ {{item.templatePrice}}</text>
|
||||
</view>
|
||||
<view class="price" wx:else>
|
||||
<text>免费</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="number-box">
|
||||
<image src="/images/ic_hot_number_bg.png" mode="scaleToFill"></image>
|
||||
<view class="number-content">
|
||||
<text>使用次数:{{item.number}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="card-name">{{item.picturesTemplateTitle}}</view>
|
||||
</block>
|
||||
<view wx:else style="margin-top:200rpx;width:100%;">
|
||||
<van-empty description="暂无数据" />
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<van-popup show="{{ isShowCodeInput }}" bind:close="onClose" custom-style="width:70%;height:20%;" round>
|
||||
<view class="code-box">
|
||||
<view style="display: flex;flex-direction: column;justify-content: center;align-items: center;">
|
||||
<view class="code-title">邀请码</view>
|
||||
<input placeholder="请输入邀请码" bindinput="inpuWatch" />
|
||||
</view>
|
||||
<view class="btns">
|
||||
<button class="cu-btn bg-blue" style="width:100%" bindtap="codeCreate">邀请码创建</button>
|
||||
<button class="cu-btn bg-blue" style="width:100%;margin-left: 15rpx;" bindtap="noCodeCreate">无邀请码创建</button>
|
||||
</view>
|
||||
</view>
|
||||
</van-popup>
|
@ -1,4 +1,3 @@
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
box-shadow: 0 0 20rpx #EEE;
|
||||
@ -16,13 +15,110 @@
|
||||
padding: 7.5rpx 0rpx 15rpx 0rpx;
|
||||
}
|
||||
|
||||
.card-img,
|
||||
.card-img image {
|
||||
.card-img {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
position: relative;
|
||||
margin-top: 15rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.card-name {
|
||||
font-size: 36rpx;
|
||||
padding: 15rpx 0rpx 0rpx 15rpx;
|
||||
}
|
||||
|
||||
.price-box {
|
||||
width: 128rpx;
|
||||
height: 128rpx;
|
||||
z-index: 3;
|
||||
position: absolute;
|
||||
left: 0rpx;
|
||||
top: 0rpx;
|
||||
}
|
||||
|
||||
.price-box image {
|
||||
width: 128rpx;
|
||||
height: 128rpx;
|
||||
}
|
||||
|
||||
.price-text {
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
top: 25%;
|
||||
left: 45%;
|
||||
transform: rotate(45deg);
|
||||
font-size: 32rpx;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.price {
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
top: -20rpx;
|
||||
left: 65rpx;
|
||||
transform: rotate(-45deg) translate(-50%, -50%);
|
||||
font-size: 32rpx;
|
||||
color: #ffff00;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.number-box {
|
||||
width: 128rpx;
|
||||
height: 128rpx;
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
right: 0rpx;
|
||||
}
|
||||
|
||||
.number-box image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin-top: 0rpx;
|
||||
border-radius: 0rpx;
|
||||
}
|
||||
|
||||
.number-content {
|
||||
width: 100%;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 30rpx;
|
||||
right: -70rpx;
|
||||
transform: rotate(-45deg) translate(-50%, -50%);
|
||||
font-size: 18rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.code-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.code-box input {
|
||||
line-height: 80rpx;
|
||||
height: 80rpx;
|
||||
font-size: 28rpx;
|
||||
text-align: center;
|
||||
border: 1rpx solid #f2f2f2;
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 10rpx;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
.code-box .code-title {
|
||||
font-size: 38rpx;
|
||||
color: var(--yellowLight);
|
||||
padding-bottom: 15rpx;
|
||||
text-align: center;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.code-box .btns {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
66
packagecard/lucre/historylucre.js
Normal file
@ -0,0 +1,66 @@
|
||||
// packagecard/lucre/historylucre.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|