v 1.0.0
This commit is contained in:
parent
59a4a40eb4
commit
09b20e0ef3
12
src/app.js
12
src/app.js
@ -2,6 +2,7 @@ import '@tarojs/async-await'
|
|||||||
import Taro, { Component } from '@tarojs/taro'
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
import { Provider } from '@tarojs/redux'
|
import { Provider } from '@tarojs/redux'
|
||||||
import Home from './pages/home'
|
import Home from './pages/home'
|
||||||
|
|
||||||
import configStore from './store'
|
import configStore from './store'
|
||||||
|
|
||||||
import './app.scss'
|
import './app.scss'
|
||||||
@ -16,6 +17,7 @@ const store = configStore()
|
|||||||
|
|
||||||
class App extends Component {
|
class App extends Component {
|
||||||
|
|
||||||
|
isTrue=Taro.getStorageSync('session_id')?true:false
|
||||||
config = {
|
config = {
|
||||||
pages: [
|
pages: [
|
||||||
//'pages/index/index', // index页面
|
//'pages/index/index', // index页面
|
||||||
@ -39,6 +41,11 @@ class App extends Component {
|
|||||||
|
|
||||||
// 'pages/shopDescription/shopDescription',
|
// 'pages/shopDescription/shopDescription',
|
||||||
],
|
],
|
||||||
|
permission: {
|
||||||
|
"scope.userLocation": {
|
||||||
|
"desc": "你的位置信息将用于小程序位置接口的效果展示"
|
||||||
|
}
|
||||||
|
},
|
||||||
window: {
|
window: {
|
||||||
backgroundTextStyle: 'light',
|
backgroundTextStyle: 'light',
|
||||||
navigationBarBackgroundColor: '#fff',
|
navigationBarBackgroundColor: '#fff',
|
||||||
@ -84,10 +91,11 @@ class App extends Component {
|
|||||||
borderStyle: 'black'
|
borderStyle: 'black'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() { }
|
componentDidMount() {
|
||||||
|
console.log('this.tabBar', this)
|
||||||
|
}
|
||||||
|
|
||||||
componentDidShow() { }
|
componentDidShow() { }
|
||||||
|
|
||||||
|
47
src/component/clientTabBarComponent/clientTabBarComponent.js
Normal file
47
src/component/clientTabBarComponent/clientTabBarComponent.js
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
|
import { View } from '@tarojs/components'
|
||||||
|
|
||||||
|
import { AtTabBar } from 'taro-ui'
|
||||||
|
import './clientTabBarComponent.scss'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class ClientTabBarComponent extends Component {
|
||||||
|
config = {
|
||||||
|
navigationBarTitleText: '业主底栏导航'
|
||||||
|
}
|
||||||
|
|
||||||
|
//http://ihome6.com/Shop-supplyShops
|
||||||
|
componentDidMount() {
|
||||||
|
|
||||||
|
}
|
||||||
|
componentWillReceiveProps(nextProps) {
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() { }
|
||||||
|
|
||||||
|
componentDidShow() { }
|
||||||
|
|
||||||
|
componentDidHide() { }
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<View className='clientTabBarComponent'>
|
||||||
|
<AtTabBar
|
||||||
|
fixed
|
||||||
|
tabList={[
|
||||||
|
{ title: '首页', iconType: 'bullet-list', text: 'new' },
|
||||||
|
{ title: '需求发布', iconType: 'camera' },
|
||||||
|
{ title: '我的需求', iconType: 'folder', text: '100', max: '99' },
|
||||||
|
{ title: '个人中心', iconType: 'folder', text: '100', max: '99' },
|
||||||
|
]}
|
||||||
|
onClick={this.handleClick.bind(this)}
|
||||||
|
current={this.state.current}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ClientTabBarComponent
|
@ -123,7 +123,6 @@ class VoucherPoster extends Component {
|
|||||||
componentDidHide() { }
|
componentDidHide() { }
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
console.log('i am poster')
|
|
||||||
return (
|
return (
|
||||||
<View className='voucherEventPopUpComponent'>
|
<View className='voucherEventPopUpComponent'>
|
||||||
{/* <!-- The Modal --> */}
|
{/* <!-- The Modal --> */}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
border-radius:50%;
|
border-radius:50%;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
position:fixed;
|
position:fixed;
|
||||||
bottom:3%;
|
bottom:10%;
|
||||||
right:5%;
|
right:5%;
|
||||||
font-size:25rpx;
|
font-size:25rpx;
|
||||||
.box{
|
.box{
|
||||||
|
78
src/component/sellerTabBarComponent/sellerTabBarComponent.js
Normal file
78
src/component/sellerTabBarComponent/sellerTabBarComponent.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
|
import { View } from '@tarojs/components'
|
||||||
|
|
||||||
|
import { AtTabBar } from 'taro-ui'
|
||||||
|
import './sellerTabBarComponent.scss'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SellerTabBarComponent extends Component {
|
||||||
|
config = {
|
||||||
|
navigationBarTitleText: '店铺底栏导航'
|
||||||
|
}
|
||||||
|
constructor(){
|
||||||
|
this.state = {
|
||||||
|
current: 0,
|
||||||
|
options:[
|
||||||
|
{ title: '首页', url: '/pages/home/home', iconType: 'bullet-list', text: 'new' },
|
||||||
|
{ title: '商品发布', url: '/pages/goodsPublish/goodsPublish', iconType: 'camera' },
|
||||||
|
{ title: '供求发布', url: '/pages/supplyDemandPublish/supplyDemandPublish', iconType: 'folder', text: '100', max: '99' },
|
||||||
|
{ title: '我的供求', url: '/pages/mySupplyDemand/mySupplyDemand', iconType: 'folder', text: '100', max: '99' },
|
||||||
|
{ title: '我的需求', url: '/pages/myNeeds/myNeeds', iconType: 'folder', text: '100', max: '99' }
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
handleClick(value) {
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
current: value
|
||||||
|
})
|
||||||
|
|
||||||
|
let path = this.state.options[value].url
|
||||||
|
Taro.navigateTo({
|
||||||
|
url: path,
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
|
||||||
|
}
|
||||||
|
componentWillReceiveProps(nextProps) {
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() { }
|
||||||
|
|
||||||
|
componentDidShow() {
|
||||||
|
console.log('this.props.currentUrl',this.props.currentUrl)
|
||||||
|
if(this.props.currentUrl==='pages/home/home'){
|
||||||
|
this.setState({
|
||||||
|
current:0
|
||||||
|
})
|
||||||
|
}else if(this.props.currentUrl==='pages/supplyDemandPublish/supplyDemandPublish'){
|
||||||
|
this.setState({
|
||||||
|
current:2
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidHide() { }
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<View className='sellerTabBarComponent'>
|
||||||
|
<AtTabBar
|
||||||
|
fixed
|
||||||
|
tabList={this.state.options}
|
||||||
|
onClick={this.handleClick.bind(this)}
|
||||||
|
current={this.state.current}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SellerTabBarComponent
|
@ -5,6 +5,7 @@ import FilteredShopComponent from '../../component/filteredShopComponent/filtere
|
|||||||
import ScrollToTopComponent from '../../component/scrollToTopComponent/scrollToTopComponent'
|
import ScrollToTopComponent from '../../component/scrollToTopComponent/scrollToTopComponent'
|
||||||
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
||||||
|
|
||||||
|
|
||||||
import LoginService from '../../util/LoginService'
|
import LoginService from '../../util/LoginService'
|
||||||
import weChatLogin from '../../util/weChatLogin'
|
import weChatLogin from '../../util/weChatLogin'
|
||||||
import URL from '../../serviceAPI.config'
|
import URL from '../../serviceAPI.config'
|
||||||
@ -12,6 +13,7 @@ import './home.scss'
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Home extends Component {
|
class Home extends Component {
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
@ -37,7 +39,11 @@ class Home extends Component {
|
|||||||
isAddToList: false,
|
isAddToList: false,
|
||||||
parentClass: '',// 大类的id
|
parentClass: '',// 大类的id
|
||||||
childClass: '-1',//小类的id
|
childClass: '-1',//小类的id
|
||||||
supplyLevel: 1,// 筛选1是小类或者2是大类
|
supplyLevel: 1,// 筛选1是小类或者2是大类,
|
||||||
|
latitude: '',
|
||||||
|
longitude: '',
|
||||||
|
isShopOwner: false
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +102,9 @@ class Home extends Component {
|
|||||||
parent_supply_class: parent_supply_class, //父级class id
|
parent_supply_class: parent_supply_class, //父级class id
|
||||||
supply_class: supply_class,// 子级class id
|
supply_class: supply_class,// 子级class id
|
||||||
supply_level: supply_level,// 层级
|
supply_level: supply_level,// 层级
|
||||||
action: action
|
action: action,
|
||||||
|
latitude: this.state.latitude,
|
||||||
|
longitude: this.state.longitude,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
header: {
|
header: {
|
||||||
@ -133,6 +141,25 @@ class Home extends Component {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
getUserLocation() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
Taro.getLocation({
|
||||||
|
type: 'wgs84', // 返回可以用于wx.openLocation的经纬度
|
||||||
|
success(res) {
|
||||||
|
resolve(res)
|
||||||
|
},
|
||||||
|
fail(res) {
|
||||||
|
Taro.showToast({
|
||||||
|
title: '获取定位失败',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
reject(res)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 微信用户设置
|
// 微信用户设置
|
||||||
@ -263,18 +290,56 @@ class Home extends Component {
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
// 页面加载后 得到首页的基本信息和推荐店铺的信息
|
// 页面加载后 得到首页的基本信息和推荐店铺的信息
|
||||||
|
// Taro.setTabBarItem({
|
||||||
|
// index: 2,
|
||||||
|
// text: 'client',
|
||||||
|
// iconPath: './icons/needs-actived.png',
|
||||||
|
// selectedIconPath: './icon/needs.png',
|
||||||
|
// success: function (res) {
|
||||||
|
// console.log('indexBarSuccess3', res)
|
||||||
|
// },
|
||||||
|
|
||||||
|
// fail: function (res) {
|
||||||
|
// console.log('indexBarFail3', res)
|
||||||
|
// },
|
||||||
|
// complete: function (res) {
|
||||||
|
// console.log('indexBarComplete3', res)
|
||||||
|
// }
|
||||||
|
// })
|
||||||
Taro.showLoading({ title: '加载中' })
|
Taro.showLoading({ title: '加载中' })
|
||||||
if(!Taro.getStorageSync('userInfo').user_id){
|
// promise 返回经纬度给state 然后调用函数
|
||||||
weChatLogin()
|
this.getUserLocation().then(res => {
|
||||||
}
|
this.setState({
|
||||||
|
latitude: res.latitude,
|
||||||
|
longitude: res.longitude
|
||||||
|
}, () => {
|
||||||
this.getShops({})
|
this.getShops({})
|
||||||
this.getHomeCategoriesInfo()
|
this.getHomeCategoriesInfo()
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
this.getShops({})
|
||||||
|
this.getHomeCategoriesInfo()
|
||||||
|
})
|
||||||
|
// 本地缓存没有userid时 从新登入
|
||||||
|
if (!Taro.getStorageSync('userInfo').user_id) {
|
||||||
|
weChatLogin().then(res => {
|
||||||
|
Taro.getStorageSync('shopInfo').shop_id ? this.setState({
|
||||||
|
isShopOwner: true
|
||||||
|
}) : this.setState({
|
||||||
|
isShopOwner: false
|
||||||
|
})
|
||||||
|
|
||||||
// this.login().then(() => {
|
}).catch(err => {
|
||||||
// this.getShops({})
|
|
||||||
// this.getHomeCategoriesInfo()
|
|
||||||
// }).catch(err => console.log('微信登入失败:', err))
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
} else {
|
||||||
|
Taro.getStorageSync('shopInfo').shop_id ? this.setState({
|
||||||
|
isShopOwner: true
|
||||||
|
}) : this.setState({
|
||||||
|
isShopOwner: false
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillMount() {
|
componentWillMount() {
|
||||||
@ -283,7 +348,7 @@ class Home extends Component {
|
|||||||
componentWillUnmount() { }
|
componentWillUnmount() { }
|
||||||
|
|
||||||
componentDidShow() {
|
componentDidShow() {
|
||||||
|
console.log('home', this.$scope.route)
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidHide() { }
|
componentDidHide() { }
|
||||||
@ -314,6 +379,7 @@ class Home extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
console.log('this.state.isShopOwner', this.state.isShopOwner)
|
||||||
// 提示模态弹窗element
|
// 提示模态弹窗element
|
||||||
const modalMessageGrabElement = <AtModal isOpened={this.state.isOpen}>
|
const modalMessageGrabElement = <AtModal isOpened={this.state.isOpen}>
|
||||||
<AtModalHeader>提示</AtModalHeader>
|
<AtModalHeader>提示</AtModalHeader>
|
||||||
@ -519,9 +585,7 @@ class Home extends Component {
|
|||||||
<View className='bottom-nav-box'>
|
<View className='bottom-nav-box'>
|
||||||
{/* <BottomNav otherData={this.state.otherData} /> */}
|
{/* <BottomNav otherData={this.state.otherData} /> */}
|
||||||
</View>
|
</View>
|
||||||
|
{/* {this.state.isShopOwner ? <SellerTabBarComponent currentUrl={currentUrl} /> : <ClientTabBarComponent currentUrl={currentUrl} />} */}
|
||||||
|
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
BIN
src/pages/home/needs-actived.png
Normal file
BIN
src/pages/home/needs-actived.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
src/pages/home/needs.png
Normal file
BIN
src/pages/home/needs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
@ -18,42 +18,193 @@ bug: 商品编辑 增加图片后 图片顺序乱了
|
|||||||
|
|
||||||
等待后台--- 单个我的商品页面的图片顺序,单个我的需求页面的接口, 当个我哦的需求编辑页面的接口
|
等待后台--- 单个我的商品页面的图片顺序,单个我的需求页面的接口, 当个我哦的需求编辑页面的接口
|
||||||
|
|
||||||
|
|
||||||
import Taro, { Component } from '@tarojs/taro'
|
import Taro, { Component } from '@tarojs/taro'
|
||||||
import { View, Text } from '@tarojs/components'
|
import { View, Button, Text, Swiper, SwiperItem, Image, } from '@tarojs/components'
|
||||||
|
import { AtModal, AtModalHeader, AtModalContent, AtModalAction } from 'taro-ui'
|
||||||
|
import FilteredShopComponent from '../../component/filteredShopComponent/filteredShopComponent'
|
||||||
|
import ScrollToTopComponent from '../../component/scrollToTopComponent/scrollToTopComponent'
|
||||||
|
import CopyrightComponent from '../../component/copyrightComponent/copyrightComponent'
|
||||||
|
|
||||||
import { Picker } from 'taro-ui'
|
import LoginService from '../../util/LoginService'
|
||||||
|
import weChatLogin from '../../util/weChatLogin'
|
||||||
|
import URL from '../../serviceAPI.config'
|
||||||
|
import './home.scss'
|
||||||
|
|
||||||
import './goodsTypeInteractionComp.scss'
|
|
||||||
import loginExpired from '../../util/loginExpired'
|
|
||||||
|
|
||||||
let maxDepth = 0
|
|
||||||
let initialDataArray = []
|
class Home extends Component {
|
||||||
class GoodsTypeInteractionComp extends Component {
|
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
navigationBarTitleText: 'goodsTypeInteractionComp'
|
navigationBarTitleText: '首页',
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super(...arguments);
|
super(...arguments);
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
///---行业分类 开始
|
shops: [], // 推荐店铺的信息
|
||||||
initailMultiArray: [[{ class_name: '选择商品分类', class_id: '' }], [], []], // 初始化底部数据
|
ads: [], //广告图片数组
|
||||||
multiIndex: [0, 0, 0, 0],// 默认联动列数为4个并且每一列都是第一行
|
categories: [],// 大类
|
||||||
interactionMultiArray: [],// 联动
|
subCate: [], //小类
|
||||||
|
demanding: [],// 业主需求
|
||||||
|
otherData: [], // 底部导航栏
|
||||||
///---行业分类 结束
|
isOpen: false, // 抢单消息提示
|
||||||
}
|
grabOrderId: '',//抢到订单的id
|
||||||
|
userName: Taro.getStorageSync('user_identity').userName || '',//用户名字
|
||||||
|
userPhone: Taro.getStorageSync('user_identity').userPhone || '',// 用户电话
|
||||||
|
isShowTopNav: false,// 是否显示返回顶部按钮
|
||||||
|
loadMorePageIndex: 1,//下拉加载页面数
|
||||||
|
isAddToList: false,
|
||||||
|
parentClass: '',// 大类的id
|
||||||
|
childClass: '-1',//小类的id
|
||||||
|
supplyLevel: 1,// 筛选1是小类或者2是大类,
|
||||||
|
latitude: '',
|
||||||
|
longitude: ''
|
||||||
|
|
||||||
}
|
}
|
||||||
//商品目录请求api GetShopCategoryList
|
}
|
||||||
getProductCateList(url) {
|
|
||||||
|
// onPullDownRefresh() {
|
||||||
|
// Taro.showLoading({ title: '加载中' })
|
||||||
|
|
||||||
|
// this.login().then(() => {
|
||||||
|
// this.getShops({})
|
||||||
|
// this.getHomeCategoriesInfo()
|
||||||
|
// }).catch(err => console.log('微信登入失败:', err))
|
||||||
|
|
||||||
|
// Taro.stopPullDownRefresh()
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
//api得到首页的信息
|
||||||
|
getHomeCategoriesInfo() {
|
||||||
Taro.request({
|
Taro.request({
|
||||||
url: url,
|
url: URL.ShopWxStore,
|
||||||
|
header: {
|
||||||
|
// 'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log('首页基本信息', res)
|
||||||
|
if (res.data.err_msg === 'success') {
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
ads: res.data.data.adsLb,
|
||||||
|
categories: [res.data.data.supplyClass[0], Object.values(res.data.data.supplyClass[1])],
|
||||||
|
demanding: res.data.data.demand.supplys,
|
||||||
|
otherData: res.data.otherData,
|
||||||
|
userName: res.data.otherData.userName,
|
||||||
|
userPhone: res.data.otherData.userPhone,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
Taro.showToast({
|
||||||
|
title: res.data.err_msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// api 得到推荐商店的信息
|
||||||
|
getShops({ parent_supply_class = this.state.parentClass, supply_class = this.state.childClass, supply_level = this.state.supplyLevel, curr_page = 1,
|
||||||
|
page_count = 5, action = "2" }) {
|
||||||
|
Taro.request({
|
||||||
|
url: URL.ShopSupplyShops,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
param: JSON.stringify({
|
||||||
|
curr_page: curr_page,
|
||||||
|
page_count: page_count,
|
||||||
|
parent_supply_class: parent_supply_class, //父级class id
|
||||||
|
supply_class: supply_class,// 子级class id
|
||||||
|
supply_level: supply_level,// 层级
|
||||||
|
action: action,
|
||||||
|
latitude:this.state.latitude,
|
||||||
|
longitude:this.state.longitude,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log('所有店铺的信息', res)
|
||||||
|
Taro.hideLoading()
|
||||||
|
if (res.data.err_code === 0) {
|
||||||
|
if (this.state.isAddToList) {
|
||||||
|
if (res.data.shops) {
|
||||||
|
this.setState({ shops: this.state.shops.concat(res.data.shops), isAddToList: false })
|
||||||
|
} else {
|
||||||
|
Taro.showToast({
|
||||||
|
title: '没有更多了',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
res.data.shops ? this.setState({ shops: res.data.shops }) : this.setState({ shops: [] })
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Taro.showToast({
|
||||||
|
title: res.data.err_msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({ isAddToList: false })
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
getUserLocation(that) {
|
||||||
|
Taro.getLocation({
|
||||||
|
type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
|
||||||
|
success(res) {
|
||||||
|
that.setState({
|
||||||
|
latitude: res.latitude,
|
||||||
|
longitude: res.longitude
|
||||||
|
},()=>{
|
||||||
|
that.getShops({})
|
||||||
|
that.getHomeCategoriesInfo()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 微信用户设置
|
||||||
|
// wxUserSetting() {
|
||||||
|
// Taro.getSetting({
|
||||||
|
// success(res) {
|
||||||
|
// if (res.authSetting['scope.userInfo']) {
|
||||||
|
// console.log('personal info', res)
|
||||||
|
// Taro.authorize({
|
||||||
|
// scope: 'scope.userInfo',
|
||||||
|
// success() {
|
||||||
|
// // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
|
||||||
|
// // Taro.getUserInfo({
|
||||||
|
// // success(res1) {
|
||||||
|
// // console.log('res1',res1)
|
||||||
|
// // }
|
||||||
|
// // })
|
||||||
|
// console.log('权限允许')
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// api 抢单请求
|
||||||
|
GrabDemand({ demandId = 218 }) {
|
||||||
|
Taro.request({
|
||||||
|
url: URL.GrabDemand,
|
||||||
|
method: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
demandId: demandId
|
||||||
|
},
|
||||||
header: {
|
header: {
|
||||||
'content-type': 'application/x-www-form-urlencoded',
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
'Cookie': 'PFWSSS=' + Taro.getStorageSync('session_id'),
|
||||||
@ -61,330 +212,358 @@ class GoodsTypeInteractionComp extends Component {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.data.err_code === 0) {
|
|
||||||
console.log('商品分类目录', res)
|
|
||||||
|
|
||||||
const recursionInteractionData=this.recursionInteraction(res.data.data)
|
|
||||||
this.recursionInitialized(res.data.data) //
|
|
||||||
console.log('initialDataArray',initialDataArray.reverse())
|
|
||||||
this.setState({
|
|
||||||
interactionMultiArray: recursionInteractionData,
|
|
||||||
multiIndex: this.recursionDepth(res.data.data),
|
|
||||||
initailMultiArray:initialDataArray.reverse()
|
|
||||||
}, () => {
|
|
||||||
initialDataArray=[]// 把全局变变量赋值给state之后,初始化商品分类为空, 不然第二次进去的时候会自动添加进去
|
|
||||||
// console.log('联动数据', this.state.interactionMultiArray)
|
|
||||||
// console.log('初始化数据', this.state.initailMultiArray)
|
|
||||||
|
|
||||||
|
|
||||||
}) // 用递归来整理无限层次的数据
|
|
||||||
// console.log('联动数据', this.recursionInteraction(res.data.data))
|
|
||||||
// console.log('初始数据', this.recursionInitialized(res.data.data).reverse())
|
|
||||||
}else if (res.data.err_code === 88888) {
|
|
||||||
loginExpired(res)
|
|
||||||
} else {
|
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: res.data.err_msg,
|
title: res.data.err_msg === 'success' ? '抢单成功' : res.data.err_msg,
|
||||||
icon: 'none'
|
icon: 'none',
|
||||||
|
duration: 1500
|
||||||
})
|
})
|
||||||
|
|
||||||
|
console.log('抢单请求:', res)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// 点击大类icon
|
||||||
|
onClickParentCate(item) {
|
||||||
|
Taro.showLoading({
|
||||||
|
title: '加载中'
|
||||||
|
})
|
||||||
|
this.setState({ parentClass: item.class_id, childClass: item.class_id, supplyLevel: 1, subCate: item.children || [] }, () => {
|
||||||
|
this.getShops({})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
)
|
// 点击子类
|
||||||
.catch(error => {
|
onClickChildCate(item) {
|
||||||
console.log('商品分类请求错误', error)
|
Taro.showLoading({
|
||||||
|
title: '加载中'
|
||||||
|
})
|
||||||
|
this.setState({ childClass: item.class_id, supplyLevel: 2 }, () => {
|
||||||
|
this.getShops({})
|
||||||
|
|
||||||
|
})
|
||||||
|
// this.getShops(item.parent_class_id, item.class_id, 2)
|
||||||
|
|
||||||
|
}
|
||||||
|
scrollToSubCate(item) {
|
||||||
|
|
||||||
|
Taro.pageScrollTo({
|
||||||
|
scrollTop: 410,
|
||||||
|
duration: 300
|
||||||
|
})
|
||||||
|
this.onClickParentCate(item)
|
||||||
|
}
|
||||||
|
// 转到其他页面
|
||||||
|
goToAllDemandingPage() {
|
||||||
|
if (!Taro.getStorageSync('userInfo').user_id) {
|
||||||
|
LoginService()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Taro.navigateTo({
|
||||||
|
url: '/pages/allDemanding/allDemanding'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
grabOrderId(Id) {
|
||||||
|
this.setState({ isOpen: true, grabOrderId: Id })
|
||||||
|
}
|
||||||
|
handleGrabModalClose() {
|
||||||
|
this.setState({ isOpen: false })
|
||||||
|
}
|
||||||
|
handleGrabModalCancel() {
|
||||||
|
this.setState({ isOpen: false })
|
||||||
|
}
|
||||||
|
handleGrabConfirm() {
|
||||||
|
if (!Taro.getStorageSync('userInfo').user_id) {
|
||||||
|
LoginService()
|
||||||
|
}
|
||||||
|
this.setState({ isOpen: false })
|
||||||
|
// 确认抢单之后
|
||||||
|
this.GrabDemand({ demandId: this.state.grabOrderId })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 导航去抢单页面
|
||||||
|
goToGrabOrderPage(orderId) {
|
||||||
|
Taro.navigateTo({
|
||||||
|
|
||||||
//联动确认
|
url: '/pages/grabOrderPage/grabOrderPage?orderId=' + orderId
|
||||||
bindMultiPickerChange(e) {
|
|
||||||
// 如果没有上商品 那就不执行
|
|
||||||
if(Taro.getStorageSync('shopInfo').shop_id){
|
|
||||||
this.setState({
|
|
||||||
multiIndex: e.detail.value.map(item => { if (item === null) { item = 0 } return item })
|
|
||||||
}, () => {
|
|
||||||
// console.log('picker发送选择改变,携带值为', this.state.multiIndex)
|
|
||||||
this.returnResultToParent()
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
goToMyNeedsPublish() {
|
||||||
returnResultToParent() {
|
// 传参数给myNeedsPublish页面- 显示效果图选项
|
||||||
let selected = this.state.interactionMultiArray
|
Taro.navigateTo({
|
||||||
for (let index of this.state.multiIndex) {
|
url: '/pages/myNeedsPublish/myNeedsPublish?id=1'
|
||||||
if (selected[index].children[0].id) {
|
})
|
||||||
selected = selected[index].children
|
|
||||||
} else {
|
|
||||||
this.props.onPassDataToChild(selected[index])
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 递归整理无限层初始数据,将整理好的数据赋值给initialDataArray
|
|
||||||
recursionInitialized(data) {
|
|
||||||
const arrayTem = []
|
|
||||||
if (data.length) {
|
|
||||||
for (let item of data) {
|
|
||||||
arrayTem.push({ name: item.class_name, id: item.class_id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(data[0].children.length){
|
|
||||||
this.recursionInitialized(data[0].children)
|
|
||||||
}
|
|
||||||
initialDataArray.push(arrayTem)
|
|
||||||
return arrayTem
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 递归整理无限层联动数据
|
|
||||||
recursionInteraction(data) {
|
|
||||||
let arrayTem = []
|
|
||||||
for (let items of data) {
|
|
||||||
arrayTem.push({ name: items.class_name, id: items.class_id })
|
|
||||||
if (items.children) {
|
|
||||||
arrayTem[arrayTem.length - 1].children = this.recursionInteraction(items.children)
|
|
||||||
} else {
|
|
||||||
arrayTem[arrayTem.length - 1].children = [{ name: '', id: '' }]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return arrayTem // 返回联动数据
|
|
||||||
// return arrayTem
|
|
||||||
}
|
|
||||||
// 递归整理无限层初始数据
|
|
||||||
// recursionInitialized(data) {
|
|
||||||
// const arrayTem = []
|
|
||||||
// const childrenHolderArray = []
|
|
||||||
// if (data.length) {
|
|
||||||
// for (let item of data) {
|
|
||||||
// arrayTem.push({ name: item.class_name, id: item.class_id })
|
|
||||||
// item.children ? childrenHolderArray.push(...item.children) : null
|
|
||||||
// }
|
|
||||||
// this.recursionInitialized(childrenHolderArray)
|
|
||||||
// }
|
|
||||||
|
|
||||||
// arrayTem.length ? initialDataArray.push(arrayTem) : null // 数组为空则不添加
|
|
||||||
// return initialDataArray
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 递归整理无限层初始数据
|
|
||||||
recursionDepth(data) {
|
|
||||||
const arrayTem = []
|
|
||||||
const childrenHolderArray = []
|
|
||||||
if (data.length) {
|
|
||||||
for (let item of data) {
|
|
||||||
arrayTem.push({ name: item.class_name, id: item.class_id })
|
|
||||||
item.children ? childrenHolderArray.push(...item.children) : null
|
|
||||||
}
|
|
||||||
this.recursionDepth(childrenHolderArray)
|
|
||||||
maxDepth += 1
|
|
||||||
}
|
|
||||||
return new Array(maxDepth).fill(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 触动联动筛选
|
|
||||||
bindMultiPickerCol(e) {
|
|
||||||
console.log('修改的列为', e.detail.column, ',值为', e.detail.value)
|
|
||||||
console.log(this.state.initailMultiArray)
|
|
||||||
const data = {
|
|
||||||
multiArray: this.state.initailMultiArray,
|
|
||||||
multiIndex: this.state.multiIndex
|
|
||||||
}
|
|
||||||
data.multiIndex[e.detail.column] = e.detail.value
|
|
||||||
|
|
||||||
|
|
||||||
if (e.detail.column == 0) {
|
|
||||||
for (let index in data.multiArray[0]) {
|
|
||||||
const indexNumber = Number(index)
|
|
||||||
if (indexNumber === data.multiIndex[0]) {
|
|
||||||
// data.multiArray[1] = this.state.interactionMultiArray[indexNumber].children
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[indexNumber].children[0].children
|
|
||||||
// data.multiArray[3] = this.state.interactionMultiArray[indexNumber].children[0].children[0].children
|
|
||||||
data.multiArray[1] = this.state.interactionMultiArray[indexNumber].children
|
|
||||||
data.multiArray[2] = this.state.interactionMultiArray[indexNumber].children[data.multiIndex[1]].children
|
|
||||||
data.multiArray[3] = this.state.interactionMultiArray[indexNumber].children[data.multiIndex[1]].children[data.multiIndex[2]].children
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (e.detail.column == 1) {
|
|
||||||
for (let index in data.multiArray[1]) {
|
|
||||||
const indexNumber = Number(index)
|
|
||||||
if (indexNumber === data.multiIndex[1]) {
|
|
||||||
data.multiArray[2] = this.state.interactionMultiArray[data.multiIndex[0]].children[indexNumber].children
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (e.detail.column == 2) {
|
|
||||||
for (let index in data.multiArray[2]) {
|
|
||||||
const indexNumber = Number(index)
|
|
||||||
if (indexNumber === data.multiIndex[2]) {
|
|
||||||
data.multiArray[3] = this.state.interactionMultiArray[data.multiIndex[0]].children[data.multiIndex[1]].children[indexNumber].children
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// switch (e.detail.column) {// 移动了第几列
|
|
||||||
// case 0:
|
|
||||||
// switch (data.multiIndex[0]) { // 第一个index 是多少
|
|
||||||
// case 0:
|
|
||||||
// data.multiArray[1] = this.state.interactionMultiArray[0].children
|
|
||||||
// data.multiArray[2]=this.state.interactionMultiArray[0].children[0].children
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// data.multiArray[1] = this.state.interactionMultiArray[1].children
|
|
||||||
// break
|
|
||||||
// case 2:
|
|
||||||
// data.multiArray[1] = this.state.interactionMultiArray[2].children
|
|
||||||
// break
|
|
||||||
// case 3:
|
|
||||||
// data.multiArray[1] = this.state.interactionMultiArray[3].children
|
|
||||||
// break
|
|
||||||
// case 4:
|
|
||||||
// data.multiArray[1] = this.state.interactionMultiArray[4].children
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// data.multiIndex[1] = 0
|
|
||||||
// data.multiIndex[2] = 0
|
|
||||||
// data.multiIndex[3] = 0
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// switch (data.multiIndex[0]) {
|
|
||||||
// case 0:
|
|
||||||
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// switch (data.multiIndex[1]) {
|
|
||||||
// case 0:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[1].children[0].children
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[1].children[1].children
|
|
||||||
// break
|
|
||||||
// case 2:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[1].children[2].children
|
|
||||||
// break
|
|
||||||
// case 3:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[1].children[3].children ? this.state.interactionMultiArray[1].children[3].children : [{ class_name: '' }]
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// break
|
|
||||||
// case 2:
|
|
||||||
// switch (data.multiIndex[1]) {
|
|
||||||
// case 0:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[2].children[0].children
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[2].children[1].children
|
|
||||||
// break
|
|
||||||
// case 2:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[2].children[2].children
|
|
||||||
// break
|
|
||||||
// case 3:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[2].children[3].children
|
|
||||||
// break
|
|
||||||
// case 4:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[2].children[4].children
|
|
||||||
// break
|
|
||||||
// case 5:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[2].children[5].children
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// break
|
|
||||||
// case 3:
|
|
||||||
// switch (data.multiIndex[1]) {
|
|
||||||
// case 0:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[3].children[0].children
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[3].children[1].children
|
|
||||||
// break
|
|
||||||
// case 2:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[3].children[2].children
|
|
||||||
// break
|
|
||||||
// case 3:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[3].children[3].children
|
|
||||||
// break
|
|
||||||
// case 3:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[3].children[3].children
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// break
|
|
||||||
// case 4:
|
|
||||||
// switch (data.multiIndex[1]) {
|
|
||||||
// case 0:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[4].children[0].children
|
|
||||||
// break
|
|
||||||
// case 1:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[4].children[1].children
|
|
||||||
// break
|
|
||||||
// case 2:
|
|
||||||
// data.multiArray[2] = this.state.interactionMultiArray[4].children[2].children
|
|
||||||
// break
|
|
||||||
|
|
||||||
// }
|
|
||||||
// break
|
|
||||||
|
|
||||||
// }
|
|
||||||
// data.multiIndex[2] = 0
|
|
||||||
// data.multiIndex[3] = 0
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
this.setState({ multiIndex: data.multiIndex })
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
// 页面加载后 得到首页的基本信息和推荐店铺的信息
|
||||||
|
Taro.showLoading({ title: '加载中' })
|
||||||
|
this.getUserLocation(this)
|
||||||
|
if (!Taro.getStorageSync('userInfo').user_id) {
|
||||||
|
weChatLogin()
|
||||||
|
}
|
||||||
|
|
||||||
if(Taro.getStorageSync('shopInfo').shop_id){
|
|
||||||
this.getProductCateList(this.props.url)
|
// this.login().then(() => {
|
||||||
}else{
|
// this.getShops({})
|
||||||
|
// this.getHomeCategoriesInfo()
|
||||||
|
// }).catch(err => console.log('微信登入失败:', err))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
componentWillMount() {
|
||||||
// 当然父组件有新的props的 会从新渲染组件
|
|
||||||
componentWillReceiveProps(nextProps) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
componentWillUnmount() { }
|
componentWillUnmount() { }
|
||||||
|
|
||||||
componentDidShow() { }
|
componentDidShow() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
componentDidHide() { }
|
componentDidHide() { }
|
||||||
|
|
||||||
|
|
||||||
|
// 微信用户信息
|
||||||
|
onGotUserInfo(e) {
|
||||||
|
console.log(e.detail.errMsg)
|
||||||
|
console.log(e.detail.userInfo)
|
||||||
|
console.log(e.detail.rawData)
|
||||||
|
}
|
||||||
|
// 页面位置
|
||||||
|
onPageScroll(location) {
|
||||||
|
if (location.scrollTop <= 300 && this.state.isShowTopNav) {
|
||||||
|
this.setState({ isShowTopNav: false })
|
||||||
|
} else if (location.scrollTop > 300 && !this.state.isShowTopNav) {
|
||||||
|
this.setState({ isShowTopNav: true })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 底部加载
|
||||||
|
onReachBottom() {
|
||||||
|
Taro.showLoading({
|
||||||
|
title: '加载中'
|
||||||
|
})
|
||||||
|
this.setState({ loadMorePageIndex: this.state.loadMorePageIndex + 1, isAddToList: true }, () => {
|
||||||
|
this.getShops({ curr_page: this.state.loadMorePageIndex, })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
// 提示模态弹窗element
|
||||||
|
const modalMessageGrabElement = <AtModal isOpened={this.state.isOpen}>
|
||||||
|
<AtModalHeader>提示</AtModalHeader>
|
||||||
|
<AtModalContent>
|
||||||
|
确认抢单?
|
||||||
|
</AtModalContent>
|
||||||
|
<AtModalAction> <Button onClick={this.handleGrabModalCancel.bind(this)}>取消</Button> <Button className='orange' onClick={this.handleGrabConfirm.bind(this)}>确定</Button> </AtModalAction>
|
||||||
|
</AtModal>
|
||||||
|
|
||||||
|
const demandingElemensArray = this.state.demanding.length ? this.state.demanding.map((item, index) => {
|
||||||
|
|
||||||
|
return <SwiperItem key={index} >
|
||||||
|
<View className={this.state.demanding.length - 1 === index ? 'demanding-item last' : 'demanding-item'}>
|
||||||
|
<View onClick={this.goToGrabOrderPage.bind(this, item.sd_id)}>
|
||||||
|
<View className='item-tag'>
|
||||||
|
<Text className='item-tag-text'> {item.class_name}</Text>
|
||||||
|
</View>
|
||||||
|
<View className='item-title'>
|
||||||
|
{item.sd_title}
|
||||||
|
</View>
|
||||||
|
<View className='item-address'>
|
||||||
|
{item.user_address || '--'}
|
||||||
|
</View>
|
||||||
|
<View className='item-name'>
|
||||||
|
业主:{item.user_name}
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
{item.state === '1' ? <View className='button' onClick={this.grabOrderId.bind(this, item.sd_id)}>
|
||||||
|
<Button size='mini' className='button-orange'>抢单</Button>
|
||||||
|
</View> : null || item.state === '2' ? <View className='button'>
|
||||||
|
<Button size='mini' className='button-orange blur'>{item.state_name}</Button>
|
||||||
|
</View> : null || item.state === '3' ? <View className='button'>
|
||||||
|
<Button size='mini' className='button-orange blur'>{item.state_name}</Button>
|
||||||
|
</View> : null}
|
||||||
|
{/* <View className='item-button-box' onClick={this.grabOrderId.bind(this, item.sd_id)}>
|
||||||
|
<Button className='item-button' > {item.state_name === '在用' ? '抢单' : '已抢光'}</Button>
|
||||||
|
</View> */}
|
||||||
|
</View>
|
||||||
|
</SwiperItem >
|
||||||
|
}) : null
|
||||||
|
|
||||||
|
const adsImgElementsArray = this.state.ads.length ? this.state.ads.map((item, index) => {
|
||||||
|
return <SwiperItem key={index}>
|
||||||
|
<Image className='banner-img' src={URL.Base + item.ads_pic} />
|
||||||
|
</SwiperItem>
|
||||||
|
}) : null
|
||||||
|
|
||||||
|
// 这里应该代码可以优化-----
|
||||||
|
const categoriesElementsArray1 = this.state.categories.length ? this.state.categories[0].map((item, index) => {
|
||||||
|
return <View className='category-item' key={index} onClick={this.scrollToSubCate.bind(this, item)}>
|
||||||
|
{/* onClick={this.onClickParentCate.bind(this, item)}> */}
|
||||||
|
<Image className='cate-img' src={URL.Base + item.icon} />
|
||||||
|
<View>{item.class_name}</View>
|
||||||
|
</View>
|
||||||
|
}) : null
|
||||||
|
const categoriesElementsArray2 = this.state.categories.length ? this.state.categories[1].map((item, index) => {
|
||||||
|
return <View className='category-item' key={index} onClick={this.scrollToSubCate.bind(this, item)}>
|
||||||
|
{/* onClick={this.onClickParentCate.bind(this, item)}> */}
|
||||||
|
<Image className='cate-img' src={URL.Base + item.icon} />
|
||||||
|
<View>{item.class_name}</View>
|
||||||
|
</View>
|
||||||
|
}) : null
|
||||||
|
|
||||||
|
const shopCollectionElementsArray = this.state.shops.length ? this.state.shops.map((item, index) => {
|
||||||
|
return <FilteredShopComponent
|
||||||
|
shop={item}
|
||||||
|
key={index}
|
||||||
|
categoryLevel={this.state.supplyLevel}
|
||||||
|
classId={this.state.parentClass === this.state.childClass ? this.state.parentClass : this.state.childClass}
|
||||||
|
></FilteredShopComponent>
|
||||||
|
}) : <View className='no-more-title top'> 没有更多了</View>
|
||||||
|
const subCateElementsArray = this.state.subCate.length ? this.state.subCate.map((item, index) => {
|
||||||
|
return <SwiperItem key={index} onClick={this.onClickChildCate.bind(this, item)}>
|
||||||
|
<View className='text'>{item.class_name}</View>
|
||||||
|
</SwiperItem>
|
||||||
|
}) : null
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View class='page-section'>
|
<View className='home'>
|
||||||
<Picker
|
|
||||||
rangeKey='name'
|
{/* 获取微信用户的信息 */}
|
||||||
mode='multiSelector'
|
{/* <AtButton open-type='getUserInfo' lang='zh_CN' type='primary' size='normal' onGetUserInfo={this.onGotUserInfo.bind(this)}>获取微信用户的信息</AtButton> */}
|
||||||
onChange={this.bindMultiPickerChange.bind(this)}
|
|
||||||
onColumnchange={this.bindMultiPickerCol.bind(this)}
|
{modalMessageGrabElement}
|
||||||
value={this.state.multiIndex}
|
|
||||||
range={this.state.initailMultiArray}
|
<View className='first-banner'>
|
||||||
|
<Swiper
|
||||||
|
className='swipper'
|
||||||
|
style='height:120px;'
|
||||||
|
indicatorColor='#999'
|
||||||
|
indicatorActiveColor='#333'
|
||||||
|
hotizontal
|
||||||
|
circular
|
||||||
|
indicatorDots
|
||||||
|
autoplay
|
||||||
>
|
>
|
||||||
<View class='picker type'>
|
{adsImgElementsArray}
|
||||||
<View className='title-box'>
|
|
||||||
<Text className='require'>*</Text>
|
</Swiper>
|
||||||
<Text className='title'>商品分类:</Text>
|
</View>
|
||||||
<Text className='first-col'>
|
{/* 第二行图片滚动条 */}
|
||||||
{this.props.selectedValue.name}
|
<View className='second-banner'>
|
||||||
|
<Swiper
|
||||||
|
style='height:100%;'
|
||||||
|
className='swipper'
|
||||||
|
indicatorColor='#999'
|
||||||
|
indicatorActiveColor='#333'
|
||||||
|
hotizontal
|
||||||
|
circular
|
||||||
|
indicatorDots
|
||||||
|
// autoplay
|
||||||
|
>
|
||||||
|
<SwiperItem>
|
||||||
|
<View className='categories'>
|
||||||
|
{categoriesElementsArray1}
|
||||||
|
</View>
|
||||||
|
</SwiperItem>
|
||||||
|
<SwiperItem>
|
||||||
|
<View className='categories'>
|
||||||
|
{categoriesElementsArray2}
|
||||||
|
</View>
|
||||||
|
</SwiperItem>
|
||||||
|
</Swiper>
|
||||||
|
</View>
|
||||||
|
{/* 第三行图片滚动条 */}
|
||||||
|
<View className='third-banner'>
|
||||||
|
<Swiper
|
||||||
|
style='height:100px;'
|
||||||
|
className='swipper'
|
||||||
|
indicatorColor='#999'
|
||||||
|
indicatorActiveColor='#333'
|
||||||
|
horizontal
|
||||||
|
circular
|
||||||
|
indicatorDots
|
||||||
|
autoplay
|
||||||
|
>
|
||||||
|
<SwiperItem onClick={this.goToMyNeedsPublish.bind(this)}>
|
||||||
|
<Image className='banner-img' src={URL.Base + 'Public/images/xgt.png'} />
|
||||||
|
</SwiperItem>
|
||||||
|
|
||||||
|
|
||||||
|
</Swiper>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
{/* 业主需求和行业推荐 */}
|
||||||
|
<View className='container'>
|
||||||
|
<View className='title'>
|
||||||
|
|
||||||
|
<Text className='title-block'></Text>
|
||||||
|
<Text className='title-text'>业主需求</Text>
|
||||||
|
|
||||||
|
<Text className='more-link' onClick={this.goToAllDemandingPage.bind(this)}>
|
||||||
|
更多>>
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
{/* {this.state.initailMultiArray[0].length?<Text className='first-col'> {this.state.initailMultiArray[0][this.state.multiIndex[0]].name}</Text>:null}
|
|
||||||
{this.state.initailMultiArray[1].length?<Text className='second-col'>{this.state.initailMultiArray[1][this.state.multiIndex[1]].name}</Text>:null}
|
|
||||||
{this.state.initailMultiArray[2].length?<Text className='third-col'>{this.state.initailMultiArray[2][this.state.multiIndex[2]].name}</Text>:null} */}
|
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
|
<View className='customer-demanding'>
|
||||||
|
<Swiper
|
||||||
|
style='height:180px;'
|
||||||
|
className='swipper swiper-sub'
|
||||||
|
indicatorColor='#999'
|
||||||
|
indicatorActiveColor='#333'
|
||||||
|
horizontal
|
||||||
|
|
||||||
|
displayMultipleItems='2.5'
|
||||||
|
>
|
||||||
|
{demandingElemensArray}
|
||||||
|
</Swiper>
|
||||||
</View>
|
</View>
|
||||||
</Picker>
|
|
||||||
|
<View className='second-banner-level2'>
|
||||||
|
{this.state.subCate.length ? <Swiper
|
||||||
|
style='height:35px;'
|
||||||
|
className='swipper swiper-sub'
|
||||||
|
indicatorColor='#999'
|
||||||
|
indicatorActiveColor='#333'
|
||||||
|
horizontal
|
||||||
|
displayMultipleItems={this.state.subCate.length > 4.5 ? 4.5 : this.state.subCate.length}
|
||||||
|
>
|
||||||
|
{subCateElementsArray}
|
||||||
|
</Swiper> : null}
|
||||||
|
</View>
|
||||||
|
<View className='title'>
|
||||||
|
<Text className='title-block'></Text>
|
||||||
|
<Text className='title-text'>行业推荐</Text>
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
|
||||||
|
<View className='shop-box'>
|
||||||
|
{shopCollectionElementsArray}
|
||||||
|
|
||||||
|
|
||||||
|
</View>
|
||||||
|
{this.state.isShowTopNav ? <ScrollToTopComponent ></ScrollToTopComponent> : null}
|
||||||
|
|
||||||
|
<CopyrightComponent></CopyrightComponent>
|
||||||
|
<View className='gap'>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
|
||||||
|
|
||||||
|
</View>
|
||||||
|
<View className='bottom-nav-box'>
|
||||||
|
{/* <BottomNav otherData={this.state.otherData} /> */}
|
||||||
|
</View>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</View>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default GoodsTypeInteractionComp
|
export default Home
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ const setUserInfoToStorage = () => {
|
|||||||
|
|
||||||
// 异步函数登入api
|
// 异步函数登入api
|
||||||
export default function login() {
|
export default function login() {
|
||||||
|
return new Promise((resolve,reject)=>{
|
||||||
Taro.login({
|
Taro.login({
|
||||||
success(res) {
|
success(res) {
|
||||||
if (res.code) {
|
if (res.code) {
|
||||||
@ -55,12 +56,14 @@ export default function login() {
|
|||||||
Taro.setStorageSync('shopInfo', response.data.shop_info)
|
Taro.setStorageSync('shopInfo', response.data.shop_info)
|
||||||
Taro.setStorageSync('userInfo', response.data.user_info)
|
Taro.setStorageSync('userInfo', response.data.user_info)
|
||||||
setUserInfoToStorage()
|
setUserInfoToStorage()
|
||||||
|
resolve('微信登入成功')
|
||||||
} else {
|
} else {
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: '微信登入失败',
|
title: '微信登入失败',
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
duration: 2000
|
duration: 2000
|
||||||
})
|
})
|
||||||
|
reject('微信登入失败')
|
||||||
// Taro.clearStorageSync()
|
// Taro.clearStorageSync()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,4 +75,6 @@ export default function login() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user