Commit 69ccb76b authored by ddl's avatar ddl

Merge branch 'feature/ddl'

parents e09d26bd 21c10e86
...@@ -12,3 +12,4 @@ $RECYCLE.BIN/ ...@@ -12,3 +12,4 @@ $RECYCLE.BIN/
# Node.js # Node.js
node_modules/ node_modules/
miniprogram_npm/
...@@ -20,7 +20,9 @@ ...@@ -20,7 +20,9 @@
"lib/home/index", "lib/home/index",
"pages/wiki/wiki", "pages/wiki/wiki",
"pages/webview/webview", "pages/webview/webview",
"pages/book/list/list" "pages/book/list/list",
"pages/publish/index",
"pages/publishGoods/goods"
], ],
"window": { "window": {
"navigationBarBackgroundColor": "#fff", "navigationBarBackgroundColor": "#fff",
...@@ -57,6 +59,10 @@ ...@@ -57,6 +59,10 @@
{ {
"pagePath": "pages/ucenter/index/index", "pagePath": "pages/ucenter/index/index",
"text": "我的" "text": "我的"
},
{
"pagePath": "pages/publish/index",
"text": "发布收藏"
} }
] ]
}, },
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
// 本机开发API地址 // 本机开发API地址
// var WxApiRoot = 'http://localhost:8383/demo/wx/'; // var WxApiRoot = 'http://localhost:8383/demo/wx/';
// 测试环境部署api地址 // 测试环境部署api地址
var WxApiRoot = 'http://127.0.0.1:8383/demo/wx/'; // var WxApiRoot = 'http://127.0.0.1:8383/demo/wx/';
// 线上云平台api地址 // 线上云平台api地址
// var WxApiRoot = 'https://quanku.wanwudezhi.com/demo/wx/'; var WxApiRoot = 'https://quanku.wanwudezhi.com/demo/wx/';
module.exports = { module.exports = {
IndexUrl: WxApiRoot + 'home/index', //首页数据接口 IndexUrl: WxApiRoot + 'home/index', //首页数据接口
...@@ -105,5 +105,11 @@ module.exports = { ...@@ -105,5 +105,11 @@ module.exports = {
ExtractList: WxApiRoot + 'brokerage/extractList',//佣金账号提现记录 ExtractList: WxApiRoot + 'brokerage/extractList',//佣金账号提现记录
ArticleDetail: WxApiRoot + 'article/detail',//公告详情 ArticleDetail: WxApiRoot + 'article/detail',//公告详情
ApplyAgency: WxApiRoot + 'user/applyAgency',//代理申请 ApplyAgency: WxApiRoot + 'user/applyAgency',//代理申请
GetSharedUrl: WxApiRoot + 'user/getSharedUrl' //获取推广二维码 GetSharedUrl: WxApiRoot + 'user/getSharedUrl', //获取推广二维码
PublishCoin: WxApiRoot + 'ugc_coin/add', // 发布钱币
PublishList: WxApiRoot + 'ugc_coin/list', // 我的发布列表
deletePublishList: WxApiRoot + 'ugc_coin/delete', // 删除我的发布列表
publishDetail: WxApiRoot + 'ugc_coin/detail', // 我的发布详情
uploadMulti: WxApiRoot + 'storage/uploadMulti', // 批量上传图片
publishEdit: WxApiRoot + 'ugc_coin/update' // 编辑发布藏品
}; };
\ No newline at end of file
...@@ -3,7 +3,6 @@ Component({ ...@@ -3,7 +3,6 @@ Component({
selected: 0, selected: 0,
color: "#7A7E83", color: "#7A7E83",
selectedColor: "#015C61", selectedColor: "#015C61",
tempFiles: [],
list: [ list: [
{ {
pagePath: "/pages/index/index", pagePath: "/pages/index/index",
...@@ -18,7 +17,7 @@ Component({ ...@@ -18,7 +17,7 @@ Component({
text: "泉典" text: "泉典"
}, },
{ {
pagePath: "/pages/index/index", pagePath: "/pages/publish/index",
iconPath: "../static/images/add.png", iconPath: "../static/images/add.png",
selectedIconPath: "../static/images/add.png", selectedIconPath: "../static/images/add.png",
text: "", text: "",
...@@ -43,83 +42,8 @@ Component({ ...@@ -43,83 +42,8 @@ Component({
methods: { methods: {
switchTab(e) { switchTab(e) {
const data = e.currentTarget.dataset const data = e.currentTarget.dataset
console.log(data)
if (!data.click) {
const url = data.path const url = data.path
wx.switchTab({ url }) wx.switchTab({url})
this.setData({
selected: data.index
})
} else {
var that = this;
wx.showActionSheet({
itemList: ['相册', '拍照', '从聊天记录选择'],
itemColor: "#000000",
success: function (res) {
if (!res.cancel) {
if (res.tapIndex == 0) {
that.chooseWxImage('album')
} else if (res.tapIndex == 1) {
that.chooseWxImage('camera')
} else if (res.tapIndex == 2) {
that.chooseFromChat()
}
}
}
})
}
},
chooseWxImage: function (source) {
var that = this
wx.chooseMedia({
mediaType: ['image','video'],
sourceType: [source],
maxDuration: 30,
camera: 'back',
count: 9,
success: function (res) {
console.log(res)
that.setData({
tempFiles: res.tempFiles,
})
} }
})
},
chooseFromChat: function () {
var that = this
wx.chooseMessageFile({
count: 9,
type: 'all',
success: function (res) {
console.log(res)
that.setData({
tempFiles: res.tempFiles,
})
} }
})
},
savePhone: function () {
// wx.getImageInfo({
// src: this.data.tempFilePaths[0],
// success: function (res) {
// var path = res.path
// wx.saveImageToPhotosAlbum({
// filePath: path,
// success: function () {
// wx.showToast({
// title: '保存成功',
// })
// },
// fail: function (res) {
// wx.showToast({
// title: '保存失败',
// icon: 'none'
// })
// }
// })
// }
// })
}
},
}) })
\ No newline at end of file
<!--miniprogram/custom-tab-bar/index.wxml--> <!--miniprogram/custom-tab-bar/index.wxml-->
<view class="tab-bar"> <cover-view class="tab-bar">
<view class="tab-bar-border"></view> <cover-view class="tab-bar-border"></cover-view>
<block wx:for="{{list}}" wx:key="index"> <cover-view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab">
<view wx:if="{{item.isSpecial}}" class="tab-bar-item" data-path="{{item.pagePath}}" data-click="{{ item.isSpecial || false }}" data-index="{{index}}" bindtap="switchTab"> <cover-image class="{{item.isSpecial?'special-image-pic':''}}" src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></cover-image>
<view class="special-image"> <cover-view style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</cover-view>
<image class="special-image-pic" mode="aspectFit" src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image> </cover-view>
</view> </cover-view>
<view style="color: {{selected === index ? selectedColor : color}}" class="special-text tab-text">{{item.text}}</view>
</view>
<view wx:else class="tab-bar-item" data-path="{{item.pagePath}}" data-click="{{ item.isSpecial }}" data-index="{{index}}" bindtap="switchTab">
<image class="item-image" mode="aspectFit" src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image>
<view class="tab-text" style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view>
</view>
</block>
</view>
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
bottom: 0; bottom: 0;
left: 0; left: 0;
right: 0; right: 0;
height: 96rpx; height: 48px;
background: white; background: white;
display: flex; display: flex;
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
left: 0; left: 0;
top: 0; top: 0;
width: 100%; width: 100%;
height: 2rpx; height: 1px;
transform: scaleY(0.5); transform: scaleY(0.5);
} }
...@@ -28,27 +28,15 @@ ...@@ -28,27 +28,15 @@
flex-direction: column; flex-direction: column;
} }
.tab-bar-item .item-image { .tab-bar-item cover-image {
width: 52rpx; width: 27px;
height: 52rpx; height: 27px;
}
.tab-bar-item .special-image {
position: absolute;
top: 0rpx;
width: 96rpx;
height: 96rpx;
/* border-radius: 50%;
border-top: 2rpx solid #f2f2f3; */
/* background-color: #fff; */
text-align: center;
/* box-sizing: border-box; */
/* padding: 6rpx; */
}
.tab-bar-item .special-image .special-image-pic {
width: 100%;
height: 100%;
} }
.tab-bar-item .tab-text { .tab-bar-item cover-view {
font-weight: 10rpx; font-size: 10px;
}
.special-image-pic {
width: 106rpx!important;
height: 76rpx!important;
} }
{ {
<<<<<<< HEAD
"requires": true, "requires": true,
"lockfileVersion": 1, "lockfileVersion": 1,
=======
"name": "qk_wx_miniprogram",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
>>>>>>> feature/ddl
"dependencies": { "dependencies": {
"@vant/weapp": { "@vant/weapp": {
"version": "1.10.14", "version": "1.10.14",
......
{
"name": "qk_wx_miniprogram",
"version": "1.0.0",
"description": "",
"main": "app.js",
"directories": {
"lib": "lib"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://codeup.aliyun.com/64003488e9f200d37adbd095/qk_wx_miniprogram.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@vant/weapp": "^1.10.14"
}
}
// pages/book/list/list.js // pages/book/list/list.js
const app = getApp(); const app = getApp();
const util = require('../../../utils/util.js');
const api = require('../../../config/api.js');
const user = require('../../../utils/user.js');
Page({ Page({
/** /**
...@@ -13,6 +16,23 @@ Page({ ...@@ -13,6 +16,23 @@ Page({
winHeight: 0, winHeight: 0,
// tab切换 // tab切换
currentTab: 0, currentTab: 0,
page:1,
size:20,
total:0,
goodsList: []
},
onDelete(item) {
if (item && item.detail) {
let that = this;
util.request(api.deletePublishList, {
id: item.detail
}).then(function(res) {
if (res.code === 1001) {
that.initList()
}
});
}
}, },
onLoad: function () { onLoad: function () {
var that = this; var that = this;
...@@ -35,6 +55,24 @@ Page({ ...@@ -35,6 +55,24 @@ Page({
var that = this; var that = this;
that.setData({ currentTab: e.detail.current }); that.setData({ currentTab: e.detail.current });
}, },
getGoodsList: function() {
let userInfo = wx.getStorageSync('userInfo');
if (userInfo && userInfo.userId) {
let that = this;
util.request(api.PublishList, {
page: that.data.page,
size: that.data.size,
userId: userInfo.userId,
}).then(function(res) {
if (res.code === 1001) {
that.setData({
goodsList: that.data.goodsList.concat(res.data),
total: res.total
});
}
});
}
},
/** /**
* 点击tab切换 * 点击tab切换
*/ */
...@@ -46,6 +84,7 @@ Page({ ...@@ -46,6 +84,7 @@ Page({
that.setData({ that.setData({
currentTab: e.target.dataset.current currentTab: e.target.dataset.current
}) })
that.initList()
} }
}, },
...@@ -62,12 +101,25 @@ Page({ ...@@ -62,12 +101,25 @@ Page({
onReady() { onReady() {
}, },
initList:function() {
if (this.data.currentTab == 0) {
this.setData({
page:1,
goodsList:[]
})
this.getGoodsList()
}
},
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow() { onShow() {
if(typeof this.getTabBar === 'function' && this.getTabBar) {
this.getTabBar().setData({
selected:1
})
}
this.initList()
}, },
/** /**
...@@ -94,8 +146,20 @@ Page({ ...@@ -94,8 +146,20 @@ Page({
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom() { onReachBottom:function() {
if (this.data.total > this.data.goodsList.length) {
this.setData({
page: this.data.page + 1
});
} else {
wx.showToast({
title: '已经到底了!',
icon: 'none',
duration: 2000
});
return false;
}
this.getGoodsList();
}, },
/** /**
......
{ {
"usingComponents": {} "usingComponents": {
"publishCard": "../../component/publishCard/index"
}
} }
\ No newline at end of file
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
<view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">我买的</view> <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">我买的</view>
<view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">平台推荐</view> <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">平台推荐</view>
</view> </view>
<swiper current="{{currentTab}}" class="swiper-box" duration="300" bindchange="bindChange"> <view v-if="currentTab==0">
<publishCard goods-list="{{goodsList}}" bind:onDelete="onDelete"/>
<view class="empty__wrap"></view>
</view>
<!-- <swiper current="{{currentTab}}" class="swiper-box" duration="300" bindchange="bindChange">
<swiper-item> <swiper-item>
<view>我是哈哈</view> <view>我是哈哈</view>
</swiper-item> </swiper-item>
...@@ -15,5 +19,5 @@ ...@@ -15,5 +19,5 @@
<swiper-item> <swiper-item>
<view>我是嘿嘿</view> <view>我是嘿嘿</view>
</swiper-item> </swiper-item> -->
</swiper> <!-- </swiper> -->
...@@ -14,3 +14,7 @@ ...@@ -14,3 +14,7 @@
.swiper-box view{ .swiper-box view{
text-align: center; text-align: center;
} }
.empty__wrap {
width: 100%;
height: 82px;
}
\ No newline at end of file
'use strict';
Component({
properties: {
goodsList: {
type: Array,
value: [],
observer: function(newVal, oldVal) {
console.log(newVal, oldVal,'----newVal, oldVal')
// 属性值变化时执行
}
}
}
});
\ No newline at end of file
{
"component": true
}
\ No newline at end of file
<view class="cate-item">
<view class="b">
<navigator class="item {{(iindex + 1) % 2 == 0 ? 'item-b' : ''}}" url="/pages/goods/goods?id={{iitem.id}}" wx:for="{{goodsList}}" wx:key="id" wx:for-item="iitem" wx:for-index="iindex">
<image class="img" src="{{iitem.topImage}}" background-size="cover"><text class="year">{{iitem.bidTime}}</text></image>
<text class="name">{{iitem.name}}</text>
<text class="price" wx:if="{{iitem.price}}">¥{{iitem.price}}</text>
<text class="price" wx:if="{{!iitem.price}}">未成交</text>
</navigator>
</view>
</view>
.cate-item {
height: auto;
overflow: hidden;
}
.cate-item .h {
height: 145rpx;
width: 750rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.cate-item .h .name {
display: block;
height: 35rpx;
margin-bottom: 18rpx;
font-weight:bold;
font-size: 30rpx;
color: #333;
}
.cate-item .item .year {
display: block;
height: 20rpx;
font-weight: bold;
margin-bottom: 0rpx;
font-size: 20rpx;
color: rgb(241, 149, 10);
}
.cate-item .h .desc {
display: block;
height: 24rpx;
font-size: 24rpx;
color: #999;
}
.cate-item .b {
width: 750rpx;
padding: 0 6.25rpx;
height: auto;
overflow: hidden;
}
.cate-item .list-filter {
height: 80rpx;
width: 100%;
background: #fff;
margin-bottom: 6.25rpx;
}
.cate-item .b .item {
float: left;
background: #fff;
width: 365rpx;
margin-bottom: 6.25rpx;
padding-bottom: 33.333rpx;
height: auto;
overflow: hidden;
text-align: center;
}
.cate-item .b .item-b {
margin-left: 6.25rpx;
}
.cate-item .item .img {
width: 370rpx;
height: 370rpx;
}
.cate-item .item .year {
position: absolute;
margin-top: -30rpx;
margin-left: 10rpx;
height: 20rpx;
margin-bottom: 0rpx;
font-size: 20rpx;
color: rgb(255, 154, 2);
}
.cate-item .item .name {
display: block;
width: 365.625rpx;
height: 36rpx;
margin: 0 0 0 0;
text-align: center;
font-weight: bold;
overflow: hidden;
padding: 0 0rpx;
font-size: 32rpx;
color: #333;
}
.cate-item .item .price {
display: block;
width: 365.625rpx;
height: 30rpx;
text-align: center;
font-weight: bold;
margin-top: 2rpx;
font-size: 32rpx;
color: #ec4223;
}
\ No newline at end of file
Component({
properties: {
goodsList: {
type: Array,
value: [],
observer: function (newVal, oldVal) {
// 属性值变化时执行
}
}
},
methods: {
onEdit:function(e) {
let item = e.currentTarget.dataset.iitem || null
if (item && item.id) {
let url = `/pages/publish/index?id=${item.id}`
wx.reLaunch({
url: url
});
}
},
onDelete: function (e) {
let item = e.currentTarget.dataset.iitem || null
if (item && item.id) {
this.triggerEvent('onDelete', item.id)
}
}
}
})
\ No newline at end of file
{
"component": true
}
\ No newline at end of file
<view class="cate-item">
<view class="b">
<navigator class="item {{(iindex + 1) % 2 == 0 ? 'item-b' : ''}}" url="/pages/publishGoods/goods?id={{iitem.id}}" wx:for="{{goodsList}}" wx:key="id" wx:for-item="iitem" wx:for-index="iindex">
<image class="img" src="{{iitem.images && iitem.images[0]}}" background-size="cover"><text class="year">{{_getTime(iitem.bidTime)}}</text></image>
<text class="name">{{iitem.name}}</text>
<view class="flex__price">
<text class="price">¥{{iitem.price?iitem.price/100:0 }}</text>
<view>
<text class="flex_s" catchtap="onDelete" data-iitem="{{iitem}}">删除</text>
<text class="flex_s ml10" catchtap="onEdit" data-iitem="{{iitem}}">编辑</text>
</view>
</view>
</navigator>
</view>
</view>
.cate-item {
height: auto;
overflow: hidden;
}
.cate-item .h {
height: 145rpx;
width: 750rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.cate-item .h .name {
display: block;
height: 35rpx;
margin-bottom: 18rpx;
font-weight:bold;
font-size: 30rpx;
color: #333;
}
.cate-item .item .year {
display: block;
height: 20rpx;
font-weight: bold;
margin-bottom: 0rpx;
font-size: 20rpx;
color: rgb(241, 149, 10);
}
.cate-item .h .desc {
display: block;
height: 24rpx;
font-size: 24rpx;
color: #999;
}
.cate-item .b {
width: 750rpx;
padding: 0 6.25rpx;
height: auto;
overflow: hidden;
}
.cate-item .list-filter {
height: 80rpx;
width: 100%;
background: #fff;
margin-bottom: 6.25rpx;
}
.cate-item .b .item {
float: left;
background: #fff;
width: 365rpx;
margin-bottom: 6.25rpx;
padding-bottom: 33.333rpx;
height: auto;
overflow: hidden;
text-align: center;
}
.cate-item .b .item-b {
margin-left: 6.25rpx;
}
.cate-item .item .img {
width: 370rpx;
height: 370rpx;
}
.cate-item .item .year {
position: absolute;
margin-top: -30rpx;
margin-left: 10rpx;
height: 20rpx;
margin-bottom: 0rpx;
font-size: 20rpx;
color: rgb(255, 154, 2);
}
.cate-item .item .name {
display: block;
width: 365.625rpx;
/* height: 36rpx; */
margin: 0 0 0 0;
text-align: left;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0 5rpx;
font-size: 32rpx;
color: #333;
}
.cate-item .item .price {
display: block;
/* width: 365.625rpx;
height: 30rpx; */
text-align: left;
font-weight: bold;
margin-top: 2rpx;
font-size: 32rpx;
color: #ec4223;
}
.flex__price {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5rpx;
}
.flex_s {
flex-shrink: 0;
margin-right: 5rpx;
}
.ml10 {
margin-left: 10rpx;
}
\ No newline at end of file
...@@ -125,12 +125,17 @@ Page({ ...@@ -125,12 +125,17 @@ Page({
// 页面渲染完成 // 页面渲染完成
let that = this; let that = this;
let userInfo = wx.getStorageSync('userInfo'); let userInfo = wx.getStorageSync('userInfo');
if (userInfo && that.data.coupon.length > 0) { if (userInfo && that.data.coupon && that.data.coupon.length > 0) {
that.setData({ window: true }); that.setData({ window: true });
} }
}, },
onShow: function() { onShow: function() {
app.getCurrentTabbar(0,this); app.getCurrentTabbar(0,this);
if(typeof this.getTabBar === 'function' && this.getTabBar) {
this.getTabBar().setData({
selected:0
})
}
}, },
onHide: function() { onHide: function() {
// 页面隐藏 // 页面隐藏
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
"usingComponents": { "usingComponents": {
"zan-capsule": "../../lib/zanui-weapp/capsule/index", "zan-capsule": "../../lib/zanui-weapp/capsule/index",
"coupon-window": "../../lib/coupon-window/index", "coupon-window": "../../lib/coupon-window/index",
"home": "../../lib/home/index" "home": "../../lib/home/index",
"goodsCard": "../component/goodsCard/index"
} }
} }
\ No newline at end of file
...@@ -20,16 +20,7 @@ ...@@ -20,16 +20,7 @@
</navigator> </navigator>
</view> </view>
<view class="search-result"> <view class="search-result">
<view class="cate-item"> <goodsCard goods-list="{{goodsList}}" />
<view class="b">
<navigator class="item {{(iindex + 1) % 2 == 0 ? 'item-b' : ''}}" url="/pages/goods/goods?id={{iitem.id}}" wx:for="{{goodsList}}" wx:key="id" wx:for-item="iitem" wx:for-index="iindex">
<image class="img" src="{{iitem.topImage}}" background-size="cover"><text class="year">{{iitem.bidTime}}</text></image>
<text class="name">{{iitem.name}}</text>
<text class="price" wx:if="{{iitem.price}}">¥{{iitem.price}}</text>
<text class="price" wx:if="{{!iitem.price}}">未成交</text>
</navigator>
</view>
</view>
</view> </view>
</view> </view>
......
const util = require('../../utils/util.js');
const api = require('../../config/api.js');
const user = require('../../utils/user.js');
//获取应用实例
const app = getApp();
Page({
data: {
form: {
bidTime: new Date().getTime()
},
currentDate: new Date().getTime(),
showVo: {},
bidTime: '',
images: [],
orgTime: '',
orgId: ''
},
onClose() {
this.setData({
showVo: {
show: false
}
})
},
// 选择时间
onSelectTime() {
this.setData({
showVo: {
show: true
},
})
},
getTime(time) {
let date = new Date(time); // 参数需要毫秒数,所以这里将秒数乘于 1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D + h + m + s
},
// 点击确定时间
onSubmitTime(val) {
if (val && val.detail) {
let time = this.getTime(val.detail)
this.setData({
bidTime: time,
orgTime: val.detail,
showVo: {
show: false
}
})
}
},
formSubmit: function (e) {
let form = e.detail.value
if (!form.name) { // 名称
wx.showToast({
title: '请填写藏品名称!',
icon: 'none',
});
return
} else if (form.price) {
form.price = form.price && (form.price - 0).toFixed(2)
form.price = (form.price - 0) * 100
}
let data = {
bidTime: this.data.orgTime / 1000,
name: form.name,
detail: form.detail,
images: this.data.images,
price: form.price,
}
if (this.data.orgId) {
data.id = this.data.orgId
}
let that = this
wx.showLoading({
title: that.data.orgId ? '更新中...' : '发布中...'
})
util.request(that.data.orgId ? api.publishEdit : api.PublishCoin, data, 'POST').then(function (res) {
if (res.code == 1001) {
wx.showToast({
title: that.data.orgId?'更新成功!':"发布成功!"
});
that.setData({
form: {},
bidTime: '',
orgTime: '',
images: []
})
wx.redirectTo({
url: "/pages/book/list/list"
});
} else {
util.showErrorToast(res.errmsg || '发布失败!')
}
wx.hideLoading()
}).catch(() => {
wx.hideLoading()
})
},
chooseImage: function (e) {
let that = this;
if (this.data.images.length >= 10) {
util.showErrorToast('最多上传十张图片')
return false;
}
wx.showActionSheet({
itemList: ['相册', '拍照', '从聊天记录选择'],
itemColor: "#000000",
success: function (res) {
if (!res.cancel) {
if (res.tapIndex == 0) {
that.chooseWxImage('album')
} else if (res.tapIndex == 1) {
that.chooseWxImage('camera')
} else if (res.tapIndex == 2) {
that.chooseFromChat()
}
}
}
})
},
uploadFile: function (path) {
let that = this
wx.uploadFile({
filePath: path,
name: 'file',
url: api.StorageUpload,
header: {
"Content-Type": "multipart/form-data",
'accept': 'application/json',
'X-Dts-Token': wx.getStorageSync('token')
},
success: function (res) {
if (res && res.data) {
let data = JSON.parse(res.data);
let list = that.data.images
if (data.data && data.data.url) {
list.push(data.data.url)
that.setData({
images: list
})
}
} else {
util.showErrorToast('上传失败!')
}
}
})
},
onDelete: function(e) {
let index = e.currentTarget && e.currentTarget.dataset &&e.currentTarget.dataset.index
let list = this.data.images
list.splice(index,1)
this.setData({
images:list
})
},
chooseWxImage: function (source) {
var that = this
wx.chooseMedia({
mediaType: ['image'],
sourceType: [source],
maxDuration: 30,
camera: 'back',
count: 9,
success: function (res) {
if (res && res.tempFiles && res.tempFiles.length) {
if(res.tempFiles.length+that.data.images.length>10) {
return util.showErrorToast('最多上传十张图片')
}
for (let i = 0; i < res.tempFiles.length; i++) {
that.uploadFile(res.tempFiles[i].tempFilePath)
}
}
}
})
},
chooseFromChat: function () {
var that = this
wx.chooseMessageFile({
count: 9,
type: 'all',
success: function (res) {
if (res && res.tempFiles && res.tempFiles.length) {
if(res.tempFiles.length+that.data.images.length>10) {
return util.showErrorToast('最多上传十张图片')
}
for (let i = 0; i < res.tempFiles.length; i++) {
that.uploadFile(res.tempFiles[i].path)
}
}
}
})
},
previewImage: function (e) {
wx.previewImage({
current: e.currentTarget.id, // 当前显示图片的http链接
urls: this.data.images // 需要预览的图片http链接列表
})
},
onShareAppMessage: function () {
},
onPullDownRefresh() {
this.onClear()
},
onLoad: function (option) {
if (option && option.id) { // 编辑
this.getDetail(option.id)
}
},
getDetail: function (id) {
let that = this;
util.request(api.publishDetail, {
id: id
}).then(function (res) {
if (res.code === 1001) {
let data = res.data
let bidTime = util.formatTime(new Date(data.bidTime * 1000)) // 变为年月日用作展示
data.price = data.price / 100
data.bidTime = data.bidTime * 1000
that.setData({
form: {
...data
},
bidTime: bidTime,
orgId: id,
orgTime: data.bidTime * 1000,
images: data.images
})
} else {
util.showErrorToast('获取详情失败!')
}
});
},
onReady: function () {
},
onShow: function () {
if (typeof this.getTabBar === 'function' && this.getTabBar) {
this.getTabBar().setData({
selected: 2
})
}
},
onClear: function() {
this.setData({
form: {
bidTime: new Date().getTime()
},
currentDate: new Date().getTime(),
showVo: {},
bidTime: '',
images: [],
orgTime: '',
orgId: ''
})
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
},
})
\ No newline at end of file
{
"navigationBarTitleText": "须弥泉典",
"usingComponents": {
"zan-capsule": "../../lib/zanui-weapp/capsule/index",
"coupon-window": "../../lib/coupon-window/index",
"home": "../../lib/home/index",
"van-datetime-picker": "@vant/weapp/datetime-picker/index",
"van-popup": "@vant/weapp/popup/index"
}
}
\ No newline at end of file
<!--publish.wxml-->
<view class="container__wrap">
<form bindsubmit="formSubmit">
<view class="form__des">
<view class="form__wrap flex f-ai-c mb20">
<i class="form__icon">
*
</i>
<input class="text" placeholder="请输入藏品名称" value="{{form.name}}" name="name" style="width:100%" maxlength="20"/>
</view>
<view class="mb20">
<textarea maxlength="500" class="form__textarea" value="{{form.detail}}" name="detail" placeholder="请输入藏品来源、特点等简要信息" />
</view>
</view>
<view class="form__des mb20">
<view class="weui-uploader__files flex" id="uploaderFiles">
<block wx:for="{{images}}" wx:key="*this">
<view class="weui-uploader__file flex " bindtap="previewImage" id="{{item}}" wx:if="{{ images && images.length>0 }}">
<image class="weui-uploader__img" src="{{item}}" mode="aspectFill" name="detail" wx:if="{{item}}"/>
<view class='iconfont icon-guanbi3 close__icon' catchtap='onDelete' wx:key="index" data-index="{{index}}" wx:if="{{item}}"></view>
</view>
</block>
<view class="weui-uploader__input-box" wx:if="{{ images.length < 9 }}" bindtap="chooseImage">
<view class="weui-uploader__input"></view>
<view class="upload__text">
上传照片
</view>
</view>
</view>
</view>
<view class="form__wrap flex f-ai-c f-jc-sb mb20">
<view class="form__title">
藏品价格
</view>
<input class="form__input--num" type="digit" name="price" value="{{form.price}}" placeholder="请输入入手价或交易价格" />
</view>
<view class="form__wrap flex f-ai-c f-jc-sb mb20">
<view class="form__title">
购买时间
</view>
<view bindtap="onSelectTime">{{bidTime || '选择时间'}}</view>
</view>
<button class="mini-btn" type="default" size="mini" bindtap="onClear">清空</button>
<button formType="submit" class="submit__btn">
发布收藏
</button>
</form>
<van-popup show="{{ showVo.show }}" bind:close="onClose" position="bottom">
<van-datetime-picker type="datetime" value="{{ form.bidTime }}" bind:confirm="onSubmitTime" />
</van-popup>
<view class="empty__bottom"></view>
</view>
\ No newline at end of file
.container__wrap {
width: 100%;
background-color: #fff;
padding: 0 20rpx;
height: 100vh;
overflow-y: scroll;
position: relative;
}
.form__des {
width: 100%;
padding: 15rpx;
background-color: #fff;
border-radius: 8rpx;
}
.form__textarea {
width: 100%;
height: 320rpx;
}
.form__icon {
color: #F93C3C;
font-size: 32rpx;
margin: 5rpx 4rpx 0 0;
}
.form__wrap {
padding-bottom: 20rpx;
border-bottom: 1px solid #EAEBED;
}
.form__input {
width: 80%;
height: 40rpx;
/* border: 1px solid #CACAD3; */
border-radius: 4rpx;
padding: 5rpx;
}
.form__title {
font-weight: 500;
flood-color: #333;
margin-right: 10rpx;
font-size: 30rpx;
}
.submit__btn {
/* width: 100%; */
height: 96rpx;
background: #17191C;
border-radius: 8rpx;
color: #fff;
line-height: 96rpx;
text-align: center;
position: fixed;
bottom: 200rpx;
left: 24rpx;
right: 24rpx;
}
.weui-uploader__input-box {
position: relative;
/* margin-right: 9px;
margin-bottom: 9px; */
width: 160rpx;
height: 160rpx;
background: #F6F6F7;
border-radius: 4px;
flex-shrink: 0;
}
.upload__text {
position: absolute;
bottom: 10%;
width: 100%;
text-align: center;
}
.weui-uploader__img {
display: block;
width: 160rpx;
height: 160rpx;
margin: 0 10rpx 10rpx 0;
flex-shrink: 0;
}
.weui-uploader__input-box:after, .weui-uploader__input-box:before {
content: " ";
position: absolute;
top: 35%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: #17191C;
}
.weui-uploader__input-box:before {
width: 2px;
height: 30px;
}
.weui-uploader__input-box:after {
width: 30px;
height: 2px;
}
.weui-uploader__input-box:active {
border-color: #999;
}
.weui-uploader__input-box:active:after, .weui-uploader__input-box:active:before {
background-color: #999;
}
.form__input--num {
width: 350rpx;
text-align: right;
}
.mb20 {
margin-bottom: 20rpx;
}
.f-jc-sb {
justify-content: space-between;
}
.f-ai-c {
align-items: center;
}
.weui-uploader__file {
flex-wrap: wrap;
position: relative;
}
.flex{
display: flex;
}
.weui-uploader__files {
width: 100%;
flex-wrap: wrap;
}
.close__icon {
font-size: 30rpx;
position: absolute;
right: 20rpx;
top: 10rpx;
}
.empty__bottom {
width: 100%;
height: 650rpx;
}
\ No newline at end of file
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: {
id: 0,
goods: {},
issueList: [],
comment: [],
userHasCollect: 0,
openShare: false,
noCollectImage: '/static/images/icon_like.png',
hasCollectImage: '/static/images/icon_like_checked.png',
collectImage: '/static/images/icon_like.png',
shareImage: '',
canWrite: false, //用户是否获取了保存相册的权限
},
handlePrevewImage(event) {
const current = event.currentTarget.dataset.url; // urls 第一张图
// 1. 先构造要预览的图片数组
const urls = this.data.goods.images.map(v => v); // 是一个数组,预览时可左右翻页
const showmenu = true;
wx.previewImage({
current,
urls,
showmenu
})
},
// 页面分享
onShareAppMessage: function() {
let that = this;
let userInfo = wx.getStorageSync('userInfo');
let shareUserId = 1;
if (userInfo) {
shareUserId = userInfo.userId;
}
return {
title: that.data.goods.name,
desc: '钱币分享',
path: '/pages/goods/goods?id=' + this.data.id + '&shareUserId=' + shareUserId
}
},
shareFriendOrCircle: function() {
let that = this;
util.request(api.CreateShareImg, {
shareObjId: that.data.id,
type:1 //商品类型的海报图
}, 'POST').then(function(res) {
if (res.errno === 0) {
that.setData({
shareImage: res.data.shareUrl
});
}
});
if (this.data.openShare === false) {
this.setData({
openShare: !this.data.openShare
});
} else {
return false;
}
},
handleSetting: function(e) {
var that = this;
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.downloadFile({
url: that.data.shareImage,
success: function(res) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function(res) {
wx.showModal({
title: '存图成功',
content: '图片成功保存到相册了,可以分享到朋友圈了',
showCancel: false,
confirmText: '好的',
confirmColor: '#a78845',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定');
}
}
})
},
fail: function(res) {
console.log('fail')
}
})
},
fail: function() {
console.log('fail')
}
})
},
getTime: function(val) {
return val
},
// 获取商品信息
getGoodsInfo: function() {
let that = this;
util.request(api.publishDetail, {
id: that.data.id
}).then(function(res) {
let data = res.data
data.bidTime = util.formatTime(new Date(data.bidTime*1000))
if (res.code === 1001) {
that.setData({
goods: data,
});
}
});
},
onLoad: function(options) {
// 页面初始化 options为页面跳转所带来的参数
if (options.id) {
this.setData({
id: parseInt(options.id)
});
this.getGoodsInfo();
}
if (options.grouponId) {
this.setData({
isGroupon: true,
});
this.getGrouponInfo(options.grouponId);
}
},
onShow: function() {
},
//添加或是取消收藏
addCollectOrNot: function() {
let that = this;
util.request(api.CollectAddOrDelete, {
type: 0,
valueId: this.data.id
}, "POST")
.then(function(res) {
let _res = res;
if (_res.errno == 0) {
if (_res.data.type == 'add') {
that.setData({
collectImage: that.data.hasCollectImage
});
} else {
that.setData({
collectImage: that.data.noCollectImage
});
}
} else {
wx.showToast({
image: '/static/images/icon_error.png',
title: _res.errmsg,
mask: true
});
}
});
},
goToSrc: function() {
wx.navigateTo({
url: "/pages/out/out?targetUrl="+encodeURIComponent(this.data.goods.url),
})
},
cutNumber: function() {
this.setData({
number: (this.data.number - 1 > 1) ? this.data.number - 1 : 1
});
},
addNumber: function() {
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,
});
},
onReady: function() {
// 页面渲染完成
},
// 下拉刷新
onPullDownRefresh() {
wx.showNavigationBarLoading() //在标题栏中显示加载
this.getGoodsInfo();
wx.hideNavigationBarLoading() //完成停止加载
wx.stopPullDownRefresh() //停止下拉刷新
},
//根据已选的值,计算其它值的状态
setSpecValueStatus: function() {
},
})
\ No newline at end of file
{
"navigationBarTitleText": "钱币详情",
"enablePullDownRefresh": true
}
\ No newline at end of file
<view class="container">
<swiper class="goodsimgs" indicator-dots="true" autoplay="true" interval="3000" duration="1000">
<swiper-item wx:for="{{goods.images}}" wx:key="*this" bindtap="handlePrevewImage">
<image src="{{item}}" background-size="cover"></image>
</swiper-item>
</swiper>
<view class="share-pop-box" hidden="{{!openShare}}">
<view class="share-pop">
<view class="close" bindtap="closeShare">
<image class="icon" src="/static/images/icon_close.png"></image>
</view>
<view class='share-info'>
<button class="sharebtn" open-type="share">
<image class='sharebtn_image' src='/static/images/wechat.png'></image>
<view class='sharebtn_text'>分享给好友</view>
</button>
<button class="savesharebtn" open-type="openSetting" bindopensetting="handleSetting" wx:if="{{!canWrite}}" >
<image class='sharebtn_image' src='/static/images/friend.png'></image>
<view class='sharebtn_text'>保存海报到相册</view>
</button>
<button class="savesharebtn" bindtap="saveShare" wx:if="{{canWrite}}">
<image class='sharebtn_image' src='/static/images/friend.png'></image>
<view class='sharebtn_text'>保存海报到相册</view>
</button>
</view>
</view>
</view>
<view class="goods__title">
{{goods.name}}
</view>
<view class="goods-info">
<view class="c flex">
<view class="price">
<view class="retailPrice jhx_f8" wx:if="{{goods.price}}"><p style="font-size: 30rpx; font-weight: 100;">成交价:</p>¥{{goods.price/100}}</view>
<view class="retailPrice jhx_f8" wx:if="{{!goods.price}}">未成交</view>
</view>
<view class="retailPrice jhx_f8" wx:if="{{goods.price && goods.bidTime}}"><p style="font-size: 30rpx; font-weight: 10; color: black;">成交于<i>{{goods.bidTime}}</i></p></view>
</view>
</view>
<view class="comments" wx:if="{{comment.count > 0}}">
<view class="h">
<navigator url="/pages/comment/comment?valueId={{goods.id}}&type=0">
<text class="t jhx_f4">评价({{comment.count > 999 ? '999+' : comment.count}})</text>
<text class="i jhx_f6">查看全部</text>
</navigator>
</view>
<view class="b">
<view class="item" wx:for="{{comment.data}}" wx:key="id">
<view class="info">
<view class="user">
<image src="{{item.avatar}}"></image>
<text>{{item.nickname}}</text>
</view>
<view class="time">{{item.addTime}}</view>
</view>
<view class="content">
{{item.content}}
</view>
<view class="imgs" wx:if="{{item.picList.length > 0}}">
<image class="img" wx:for="{{item.picList}}" wx:key="*this" wx:for-item="iitem" src="{{iitem}} "></image>
</view>
</view>
</view>
</view>
<view class="line"></view>
<view class="detail">
{{goods.detail}}
</view>
</view>
\ No newline at end of file
.container {
margin-bottom: 100rpx;
}
.goods__title {
background: #fff;
padding: 20rpx 20rpx 0;
font-weight: 500;
color: #000;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.goodsimgs {
width: 750rpx;
height: 750rpx;
}
.goodsimgs image {
width: 750rpx;
height: 750rpx;
}
.commodity_screen {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.2;
overflow: hidden;
z-index: 1000;
color: #fff;
}
.commodity_attr_box {
width: 100%;
overflow: hidden;
position: fixed;
bottom: 0;
left: 0;
z-index: 2000;
background: #fff;
padding-top: 20rpx;
}
.goods-info {
width: 750rpx;
height: 80rpx;
overflow: hidden;
background: #fff;
}
.goods-info .c {
display: block;
width: 718.75rpx;
margin-left: 20rpx;
padding: 18rpx 20rpx 38rpx 0;
border-bottom: 1px solid #f4f4f4;
}
.goods-info .c text {
display: block;
width: 687.5rpx;
text-align: left;
}
.goods_name {
/* border: 1px solid black; */
height: 90rpx;
line-height: 86rpx;
border-bottom: 1px solid #fafafa;
}
.goods_name_left {
/* border: 1px solid #757575; */
float: left;
height: 90rpx;
line-height: 86rpx;
margin-left: 25rpx;
width: 76%;
letter-spacing: 1rpx;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
font-weight: bold;
}
.goods_name_right {
float: right;
font-weight: 550;
margin-top: 28rpx;
width: 18%;
height: 90rpx;
line-height: 85rpx;
padding: 0;
margin: 0;
margin-right: 0rpx;
text-align: center;
font-size: 30rpx;
color: #f4f4f4;
border-top-left-radius: 50rpx;
border-bottom-left-radius: 50rpx;
border-top-right-radius: 0rpx;
border-bottom-right-radius: 0rpx;
letter-spacing: 3rpx;
/* background-image: linear-gradient(to right, #ff7701 100%); */
background-image: linear-gradient(to right, #f3d10e 0%, #f48f18 100%);
}
.goods-info .desc {
height: 43rpx;
margin-bottom: 41rpx;
line-height: 36rpx;
}
.goods-info .price {
align-content: center;
}
.goods-info .counterPrice {
padding-left: 5%;
text-decoration: line-through;
}
.goods-info .retailPrice {
float: left;
padding-left: 0rpx;
}
.goods-info .brand {
margin-top: 23rpx;
min-height: 40rpx;
text-align: left;
}
.goods-info .brand text {
display: inline-block;
width: auto;
padding: 2px 30rpx 2px 10.5rpx;
line-height: 35.5rpx;
border: 1px solid #f48f18;
font-size: 26rpx;
color: #f48f18;
border-radius: 4px;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAMAAABVab95AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABFUExURUdwTPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPSPGPYJSdIAAAAWdFJOUwAWD/DBJz/LB/iy5Omi0N0eMpVL01IOd4F9AAAAVUlEQVQI113OUQ6AIAwDUIbIRBBUtPc/qiZuzriv97G0dXysTo7RRiExstoHlE08BQxRPX+8IHXNuX2qdxRjtoeuESn+wqzOM8ozguo7p6Lp4MAkugBtDwOjtuSdGAAAAABJRU5ErkJggg==') 95% center no-repeat;
background-size: 10.75rpx 18.75rpx;
}
.section-nav {
width: 750rpx;
height: 108rpx;
background: #fff;
margin-bottom: 20rpx;
}
.section-nav .t {
float: left;
width: 600rpx;
height: 108rpx;
line-height: 108rpx;
margin-left: 31.25rpx;
}
.section-nav .i {
float: right;
width: 52rpx;
height: 52rpx;
margin-right: 16rpx;
margin-top: 28rpx;
}
.section-act .t {
float: left;
display: flex;
align-items: center;
width: 600rpx;
height: 108rpx;
overflow: hidden;
line-height: 108rpx;
margin-left: 31.25rpx;
}
.section-act .label {
color: #999;
}
.section-act .tag {
display: flex;
align-items: center;
padding: 0 10rpx;
border-radius: 3px;
height: 37rpx;
width: auto;
color: #f48f18;
overflow: hidden;
border: 1px solid #f48f18;
font-size: 25rpx;
margin: 0 10rpx;
}
.section-act .text {
display: flex;
align-items: center;
height: 37rpx;
width: auto;
overflow: hidden;
color: #f48f18;
font-size: 29rpx;
}
.comments {
width: 100%;
height: auto;
padding-left: 30rpx;
background: #fff;
margin: 20rpx 0;
}
.comments .h {
height: 102.5rpx;
line-height: 100.5rpx;
width: 718.75rpx;
padding-right: 16rpx;
border-bottom: 1px solid #dfdfdf;
}
.comments .h .t {
display: block;
float: left;
width: 50%;
}
.comments .h .i {
display: block;
float: right;
width: 164rpx;
height: 100.5rpx;
line-height: 100.5rpx;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAAAAAA7VNdtAAAA4klEQVRIx+2VPQuCABCG/bVvmgiCfVM0CH2SQdBiEERDNNbk5laTkzREkEMQBRIEhaFprQ0RvNDo7c9w9z53J7zoElIkRT6rVT2xSBfankQCA4pL9hKNIK3I9pM5MhY7MSuDeUIOeS3BjMhcXAVGQEbpadCvZPqnMipnUpirjpxHOhb0oGxILSMTWYc0OZmhQCLPMUoc8hhAdink1oS6o9r3aygeqSEf8qhfqCi3Kto3ShhHxjCktLRFTGJK/iWwoFYsnkK0qUUOh1/M+oncO1C33FFqIH8gT19f99OXlCL/Q97bCIp/pz2QqAAAAABJRU5ErkJggg==') right center no-repeat;
background-size: 52rpx;
}
.comments .b {
height: auto;
width: 720rpx;
}
.comments .item {
height: auto;
width: 720rpx;
overflow: hidden;
}
.comments .info {
height: 117rpx;
width: 100%;
padding: 15rpx 0 15rpx 0;
}
.comments .user {
float: left;
width: 40%;
height: 87rpx;
line-height: 87rpx;
font-size: 0;
}
.comments .user image {
display: block;
float: left;
width: 67rpx;
height: 67rpx;
margin-right: 27rpx;
border-radius: 50%;
overflow: hidden;
}
.comments .user text {
display: block;
width: auto;
height: 66rpx;
overflow: hidden;
font-size: 29rpx;
line-height: 66rpx;
}
.comments .time {
display: block;
float: right;
width: auto;
height: 67rpx;
line-height: 67rpx;
color: #999;
font-size: 28rpx;
margin-right: 30rpx;
}
.comments .content {
width: 720rpx;
padding-right: 30rpx;
line-height: 45.8rpx;
font-size: 28rpx;
margin-bottom: 15rpx;
}
.comments .imgs {
width: 720rpx;
height: auto;
margin-bottom: 25rpx;
}
.comments .imgs .img {
height: 150rpx;
width: 150rpx;
margin-right: 28rpx;
}
.comments .spec {
width: 720rpx;
padding-right: 30rpx;
line-height: 30rpx;
font-size: 24rpx;
color: #999;
margin-bottom: 30rpx;
}
.goods-attr {
width: 750rpx;
height: auto;
overflow: hidden;
padding: 10rpx 31.25rpx 25rpx 31.25rpx;
background: #fff;
}
.goods-attr .t {
width: 687.5rpx;
height: 104rpx;
line-height: 104rpx;
}
.goods-attr .item {
width: 687.5rpx;
height: 65rpx;
padding: 10rpx 20rpx;
margin-bottom: 3rpx;
background: #f7f7f7;
}
.goods-attr .left {
float: left;
font-size: 28rpx;
width: 134rpx;
height: 45rpx;
line-height: 45rpx;
overflow: hidden;
color: #666;
font-weight: bold;
}
.goods-attr .right {
float: left;
font-size: 28rpx;
margin-left: 35rpx;
width: 465rpx;
height: 45rpx;
line-height: 45rpx;
overflow: hidden;
color: #666;
}
.detail {
width: 100%;
padding: 20rpx;
height: auto;
overflow: hidden;
}
.detail image {
width: 750rpx;
display: block;
}
.common-problem {
width: 750rpx;
height: auto;
overflow: hidden;
}
.common-problem .h {
position: relative;
height: 145.5rpx;
width: 750rpx;
padding: 56.25rpx 0;
background: #fff;
text-align: center;
}
.common-problem .h .line {
display: inline-block;
position: absolute;
top: 72rpx;
left: 0;
z-index: 2;
height: 1px;
margin-left: 225rpx;
width: 300rpx;
background: #ccc;
}
.common-problem .h .title {
display: inline-block;
position: absolute;
top: 56.125rpx;
left: 0;
z-index: 3;
height: 33rpx;
margin-left: 285rpx;
width: 180rpx;
background: #fff;
}
.common-problem .b {
width: 750rpx;
height: auto;
overflow: hidden;
padding: 0rpx 30rpx;
background: #fff;
}
.common-problem .item {
height: auto;
overflow: hidden;
padding-bottom: 25rpx;
}
.common-problem .question-box .spot {
float: left;
display: block;
height: 8rpx;
width: 8rpx;
background: #b4282d;
border-radius: 50%;
margin-top: 11rpx;
}
.common-problem .question-box .question {
float: left;
line-height: 30rpx;
padding-left: 8rpx;
display: block;
font-size: 26rpx;
padding-bottom: 15rpx;
color: #303030;
}
.common-problem .answer {
line-height: 36rpx;
padding-left: 16rpx;
font-size: 26rpx;
color: #787878;
}
.related-goods {
width: 750rpx;
height: auto;
overflow: hidden;
padding-bottom: 80rpx;
}
.related-goods .h {
position: relative;
height: 145.5rpx;
width: 750rpx;
padding: 56.25rpx 0;
background: #fff;
text-align: center;
border-bottom: 1px solid #f4f4f4;
}
.related-goods .h .line {
display: inline-block;
position: absolute;
top: 72rpx;
left: 0;
z-index: 2;
height: 1px;
margin-left: 225rpx;
width: 300rpx;
background: #ccc;
}
.related-goods .h .title {
display: inline-block;
position: absolute;
top: 56.125rpx;
left: 0;
z-index: 3;
height: 33rpx;
margin-left: 285rpx;
width: 180rpx;
background: #fff;
}
.related-goods .b {
width: 750rpx;
height: auto;
overflow: hidden;
}
.related-goods .b .item {
float: left;
background: #fff;
width: 375rpx;
height: auto;
overflow: hidden;
text-align: center;
padding: 15rpx 31.25rpx;
border-right: 1px solid #f4f4f4;
border-bottom: 1px solid #f4f4f4;
}
.related-goods .item .img {
width: 311.45rpx;
height: 311.45rpx;
}
.related-goods .item .name {
display: block;
width: 311.45rpx;
height: 35rpx;
margin: 11.5rpx 0 15rpx 0;
text-align: center;
overflow: hidden;
font-size: 30rpx;
color: #333;
}
.related-goods .item .price {
display: block;
width: 311.45rpx;
height: 30rpx;
text-align: center;
font-size: 30rpx;
color: #b4282d;
}
.bottom-btn {
position: fixed;
left: 0;
bottom: 0;
z-index: 10;
width: 750rpx;
height: 100rpx;
display: flex;
background: #fff;
}
.bottom-btn .l {
float: left;
height: 100rpx;
width: 162rpx;
border: 1px solid #f4f4f4;
display: flex;
align-items: center;
justify-content: center;
}
.bottom-btn .l.l-collect {
border-right: none;
border-left: none;
text-align: center;
width: 90rpx;
}
.bottom-btn .l.l-kefu {
position: relative;
height: 54rpx;
width: 63rpx;
}
.bottom-btn .l.l-cart .box {
position: relative;
height: 60rpx;
width: 60rpx;
}
.bottom-btn .l.l-cart .cart-count {
height: 28rpx;
width: 28rpx;
z-index: 10;
position: absolute;
top: 0;
right: 0;
background: #b4282d;
text-align: center;
font-size: 18rpx;
color: #fff;
line-height: 28rpx;
border-radius: 50%;
}
.bottom-btn .l.l-cart .icon {
position: absolute;
top: 10rpx;
left: 0;
}
.bottom-btn .l.l-kefu .kefu-count {
height: 28rpx;
width: 28rpx;
z-index: 10;
position: absolute;
top: 0;
right: 0;
/* background: #b4282d; */
text-align: center;
font-size: 18rpx;
color: #fff;
line-height: 28rpx;
border-radius: 50%;
}
.bottom-btn .l.l-kefu .icon {
position: absolute;
top: 10rpx;
left: 0;
}
.bottom-btn .l .icon {
display: block;
height: 44rpx;
width: 44rpx;
}
.bottom-btn .c {
float: left;
background: #da040b;
height: 100rpx;
line-height: 96rpx;
font-size: 36rpx;
font-weight: bold;
flex: 1;
text-align: center;
color: #fff;
/* border-top: 2px solid #f4f4f4; *//* border-bottom: 2px solid #f4f4f4; */
}
.bottom-btn .r {
border: 1px solid #f48f18;
background: #f48f18;
float: left;
height: 100rpx;
line-height: 96rpx;
font-size: 36rpx;
font-weight: bold;
flex: 1;
text-align: center;
color: #fff;
}
.bottom-btn .n {
border: 1px solid #c0b8ae;
background: #c0b8ae;
float: left;
height: 100rpx;
line-height: 96rpx;
flex: 1;
text-align: center;
color: #fff;
}
@import "../../lib/wxParse/wxParse.wxss";
.attr-pop-box {
width: 100%;
height: 100%;
position: fixed;
background: rgba(0, 0, 0, 0.5);
z-index: 8;
bottom: 0;
/* display: none; */
}
.attr-pop {
width: 100%;
height: auto;
max-height: 780rpx;
padding: 31.25rpx;
background: #fff;
position: fixed;
z-index: 9;
bottom: 100rpx;
border-top-left-radius: 20rpx;
border-bottom-left-radius: 0rpx;
border-top-right-radius: 20rpx;
border-bottom-right-radius: 0rpx;
}
.attr-pop .close {
position: absolute;
width: 48rpx;
height: 48rpx;
right: 31.25rpx;
overflow: hidden;
top: 31.25rpx;
}
.attr-pop .close .icon {
width: 48rpx;
height: 48rpx;
}
.attr-pop .img-info {
width: 687.5rpx;
height: 177rpx;
overflow: hidden;
margin-bottom: 41.5rpx;
}
.attr-pop .img {
float: left;
height: 177rpx;
width: 177rpx;
background: #f4f4f4;
margin-right: 31.25rpx;
}
.attr-pop .info {
float: left;
height: 177rpx;
display: flex;
align-items: center;
}
.attr-pop .p {
font-size: 33rpx;
color: #333;
height: 33rpx;
line-height: 33rpx;
margin-bottom: 10rpx;
}
.attr-pop .a {
font-size: 29rpx;
color: #333;
height: 40rpx;
line-height: 40rpx;
}
.spec-con {
width: 100%;
height: auto;
overflow: hidden;
}
.spec-con .name {
height: 32rpx;
line-height: 32rpx;
margin-bottom: 22rpx;
font-size: 29rpx;
color: #333;
}
.spec-con .values {
height: auto;
margin-bottom: 31.25rpx;
font-size: 0;
}
.spec-con .value {
display: inline-block;
height: 62rpx;
padding: 0 15rpx;
line-height: 56rpx;
text-align: center;
margin-right: 25rpx;
margin-bottom: 16.5rpx;
border: 1px solid #999;
border-radius:6rpx;
font-size: 25rpx;
color: #999;
}
.spec-con .value.disable {
border: 1px solid #ccc;
color: #ccc;
}
.spec-con .value.selected {
border: 1px solid #f0070e;
color: #fff;
background: #f0070e;
}
.number-item .selnum {
width: 322rpx;
height: 71rpx;
border: 1px solid #ccc;
display: flex;
}
.number-item .cut {
width: 93.75rpx;
height: 100%;
text-align: center;
line-height: 65rpx;
}
.number-item .number {
flex: 1;
height: 100%;
text-align: center;
line-height: 68.75rpx;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
float: left;
}
.number-item .add {
width: 93.75rpx;
height: 100%;
text-align: center;
line-height: 65rpx;
}
.contact {
height: 80rpx;
width: 80rpx;
border-radius: 100%;
position: fixed;
bottom: 106rpx;
right: 10rpx;
font-size: 20rpx;
box-sizing: border-box;
background: url("data:image/png;base64,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") no-repeat center 11rpx;
background-size: 55rpx auto;
}
.share-pop-box {
width: 100%;
height: 100%;
position: fixed;
background: rgba(0, 0, 0, 0.5);
z-index: 8;
bottom: 0;
/* display: none; */
}
.share-pop {
width: 100%;
height: auto;
max-height: 780rpx;
padding: 31.25rpx;
background: #fff;
position: fixed;
z-index: 9;
bottom: 100rpx;
}
.share-pop .close {
position: absolute;
width: 48rpx;
height: 48rpx;
right: 31.25rpx;
top: 31.25rpx;
}
.share-pop .close .icon {
width: 48rpx;
height: 48rpx;
}
.share-pop .share-info {
width: 100%;
height: 225rpx;
overflow: hidden;
margin-bottom: 41.5rpx;
}
.sharebtn {
top: 75rpx;
background: none !important;
font-size: 32rpx;
color: #fff !important;
border-radius: 0%;
width: 175rpx;
height: 150rpx;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
float: left;
background: #fff;
border-bottom: 0px solid #fafafa;
margin-left: 15%;
}
.sharebtn::after {
border: none;
border-radius: 0%;
}
.savesharebtn {
top: 75rpx;
background: none !important;
font-size: 32rpx;
color: #fff !important;
border-radius: 0%;
width: 175rpx;
height: 150rpx;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
float: right;
background: #fff;
border-bottom: 0px solid #fafafa;
margin-right: 15%;
}
.savesharebtn::after {
border: none;
border-radius: 0%;
}
.sharebtn_image {
/* border: 1px solid #757575; */
width: 128rpx;
height: 128rpx;
margin-top: 0rpx;
}
.sharebtn_text {
/* border: 1px solid #757575; */
width: 150rpx;
margin-bottom: 2rpx;
height: 20rpx;
line-height: 20rpx;
font-size: 20rpx;
color: #555;
}
.separate {
background: #e0e3da;
width: 100%;
height: 6rpx;
}
.flex {
display: flex!important;
justify-content: space-between;
align-items: center;
}
...@@ -64,6 +64,11 @@ Page({ ...@@ -64,6 +64,11 @@ Page({
}, },
onShow:function(){ onShow:function(){
if(typeof this.getTabBar === 'function' && this.getTabBar) {
this.getTabBar().setData({
selected:4
})
}
//获取用户的登录信息 //获取用户的登录信息
if (app.globalData.hasLogin) { if (app.globalData.hasLogin) {
let userInfo = wx.getStorageSync('userInfo'); let userInfo = wx.getStorageSync('userInfo');
......
...@@ -33,6 +33,11 @@ Page({ ...@@ -33,6 +33,11 @@ Page({
onShow() { onShow() {
// 判断进入场景 // 判断进入场景
console.log(app.globalData.isBackOriginalTab) console.log(app.globalData.isBackOriginalTab)
if(typeof this.getTabBar === 'function' && this.getTabBar) {
this.getTabBar().setData({
selected:3
})
}
if (!app.globalData.isBackOriginalTab) { if (!app.globalData.isBackOriginalTab) {
// 刚进入tab,页面初次加载 // 刚进入tab,页面初次加载
wx.showLoading({ title: '加载中...' }) wx.showLoading({ title: '加载中...' })
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
"setting": { "setting": {
"urlCheck": true, "urlCheck": true,
"es6": true, "es6": true,
"enhance": false, "enhance": true,
"postcss": true, "postcss": true,
"minified": true, "minified": true,
"newFeature": true, "newFeature": true,
...@@ -17,7 +17,14 @@ ...@@ -17,7 +17,14 @@
"disablePlugins": [], "disablePlugins": [],
"outputPath": "" "outputPath": ""
}, },
"ignoreUploadUnusedFiles": true "ignoreUploadUnusedFiles": true,
"packNpmManually": true,
"packNpmRelationList": [
{
"packageJsonPath": "./package.json",
"miniprogramNpmDistDir": "./"
}
]
}, },
"compileType": "miniprogram", "compileType": "miniprogram",
"libVersion": "2.16.0", "libVersion": "2.16.0",
...@@ -228,6 +235,16 @@ ...@@ -228,6 +235,16 @@
"pathName": "pages/index/index", "pathName": "pages/index/index",
"query": "shareUserId=100", "query": "shareUserId=100",
"scene": 1011 "scene": 1011
},
{
"name": "发布收藏",
"pathName": "pages/publish/index",
"query": ""
},
{
"name": "发布藏品详情",
"pathName": "pages/publishGoods/goods",
"query": "id=3070579"
} }
] ]
} }
......
...@@ -5,5 +5,224 @@ ...@@ -5,5 +5,224 @@
"compileHotReLoad": true, "compileHotReLoad": true,
"urlCheck": false "urlCheck": false
}, },
"libVersion": "2.30.4" "libVersion": "2.25.4",
"condition": {
"miniprogram": {
"list": [
{
"name": "首页",
"pathName": "pages/index/index",
"query": ""
},
{
"name": "专题",
"pathName": "pages/topic/topic",
"query": ""
},
{
"name": "专题详情",
"pathName": "pages/topicDetail/topicDetail",
"query": "id=314"
},
{
"name": "专题评论列表",
"pathName": "pages/topicComment/topicComment",
"query": "valueId=314&type=1"
},
{
"name": "专题评论添加",
"pathName": "pages/topicCommentPost/topicCommentPost",
"query": "valueId=314&type=1"
},
{
"name": "品牌",
"pathName": "pages/brand/brand",
"query": ""
},
{
"name": "品牌详情",
"pathName": "pages/brandDetail/brandDetail",
"query": "id=1001000"
},
{
"name": "人气推荐",
"pathName": "pages/hotGoods/hotGoods",
"query": ""
},
{
"name": "新品首发",
"pathName": "pages/newGoods/newGoods",
"query": ""
},
{
"name": "分类",
"pathName": "pages/catalog/catalog",
"query": ""
},
{
"name": "分类详情",
"pathName": "pages/category/category",
"query": "id=1008002"
},
{
"name": "分类详情",
"pathName": "pages/subcategory/subcategory",
"query": "id=1008002"
},
{
"name": "查找",
"pathName": "pages/search/search",
"query": ""
},
{
"name": "商品",
"pathName": "pages/goods/goods",
"query": "id=1181003"
},
{
"name": "商品评论列表",
"pathName": "pages/comment/comment",
"query": "valueId=1181000&type=0"
},
{
"name": "购物车",
"pathName": "pages/cart/cart",
"query": ""
},
{
"name": "下单",
"pathName": "pages/checkout/checkout",
"query": ""
},
{
"name": "支付结果",
"pathName": "pages/payResult/payResult",
"query": ""
},
{
"name": "我的",
"pathName": "pages/ucenter/index/index",
"query": ""
},
{
"name": "我的订单列表",
"pathName": "pages/ucenter/order/order",
"query": ""
},
{
"name": "我的订单详情",
"pathName": "pages/ucenter/orderDetail/orderDetail",
"query": "id=1"
},
{
"name": "待评价的订单详情",
"pathName": "pages/ucenter/orderDetail/orderDetail",
"query": "id=1"
},
{
"name": "购买商品评价",
"pathName": "pages/commentPost/commentPost",
"query": "orderId=2&type=0&valueId=1116011"
},
{
"name": "我的优惠券",
"pathName": "pages/ucenter/couponList/couponList",
"query": ""
},
{
"name": "我的收藏",
"pathName": "pages/ucenter/collect/collect",
"query": ""
},
{
"name": "我的足迹",
"pathName": "pages/ucenter/footprint/footprint",
"query": ""
},
{
"name": "我的地址",
"pathName": "pages/ucenter/address/address",
"query": ""
},
{
"name": "我的地址添加",
"pathName": "pages/ucenter/addressAdd/addressAdd",
"query": ""
},
{
"name": "登录",
"pathName": "pages/auth/login/login",
"query": ""
},
{
"name": "账号登录",
"pathName": "pages/auth/accountLogin/accountLogin",
"query": ""
},
{
"name": "注册",
"pathName": "pages/auth/register/register",
"query": ""
},
{
"name": "找回密码",
"pathName": "pages/auth/reset/reset",
"query": ""
},
{
"name": "关于",
"pathName": "pages/about/about",
"query": ""
},
{
"name": "测试更新",
"pathName": "pages/index/index",
"query": ""
},
{
"name": "意见反馈",
"pathName": "pages/ucenter/feedback/feedback",
"query": ""
},
{
"name": "团购专区",
"pathName": "pages/groupon/grouponList/grouponList",
"query": ""
},
{
"name": "选择优惠券",
"pathName": "pages/ucenter/couponSelect/couponSelect",
"query": ""
},
{
"name": "我的优惠券列表",
"pathName": "pages/ucenter/couponList/couponList",
"query": ""
},
{
"name": "优惠券列表",
"pathName": "pages/coupon/coupon",
"query": ""
},
{
"name": "QcCode",
"pathName": "pages/index/index",
"query": "shareUserId=100",
"scene": 1011
},
{
"name": "发布收藏",
"pathName": "pages/publish/index",
"query": "id=3070579",
"launchMode": "default",
"scene": null
},
{
"name": "发布藏品详情",
"pathName": "pages/publishGoods/goods",
"query": "id=3070579"
}
]
}
}
} }
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment