Merge branch 'pinjinjin' of git.ishopex.cn:onex/espier-taro-fenxiao into pinjinjin

This commit is contained in:
chenhui0212
2019-02-27 17:19:05 +08:00
19 changed files with 190 additions and 80 deletions

Binary file not shown.

View File

@@ -1 +0,0 @@
!function(l){var e,d='<svg><symbol id="icon-weixin" viewBox="0 0 1024 1024"><path d="M664.250054 368.541681c10.015098 0 19.892049 0.732687 29.67281 1.795902-26.647917-122.810047-159.358451-214.077703-310.826188-214.077703-169.353083 0-308.085774 114.232694-308.085774 259.274068 0 83.708494 46.165436 152.460344 123.281791 205.78483l-30.80868 91.730191 107.688651-53.455469c38.558178 7.53665 69.459978 15.308661 107.924012 15.308661 9.66308 0 19.230993-0.470721 28.752858-1.225921-6.025227-20.36584-9.521864-41.723264-9.521864-63.862493C402.328693 476.632491 517.908058 368.541681 664.250054 368.541681zM498.62897 285.87389c23.200398 0 38.557154 15.120372 38.557154 38.061874 0 22.846334-15.356756 38.156018-38.557154 38.156018-23.107277 0-46.260603-15.309684-46.260603-38.156018C452.368366 300.994262 475.522716 285.87389 498.62897 285.87389zM283.016307 362.090758c-23.107277 0-46.402843-15.309684-46.402843-38.156018 0-22.941502 23.295566-38.061874 46.402843-38.061874 23.081695 0 38.46301 15.120372 38.46301 38.061874C321.479317 346.782098 306.098002 362.090758 283.016307 362.090758zM945.448458 606.151333c0-121.888048-123.258255-221.236753-261.683954-221.236753-146.57838 0-262.015505 99.348706-262.015505 221.236753 0 122.06508 115.437126 221.200938 262.015505 221.200938 30.66644 0 61.617359-7.609305 92.423993-15.262612l84.513836 45.786813-23.178909-76.17082C899.379213 735.776599 945.448458 674.90216 945.448458 606.151333zM598.803483 567.994292c-15.332197 0-30.807656-15.096836-30.807656-30.501688 0-15.190981 15.47546-30.477129 30.807656-30.477129 23.295566 0 38.558178 15.286148 38.558178 30.477129C637.361661 552.897456 622.099049 567.994292 598.803483 567.994292zM768.25071 567.994292c-15.213493 0-30.594809-15.096836-30.594809-30.501688 0-15.190981 15.381315-30.477129 30.594809-30.477129 23.107277 0 38.558178 15.286148 38.558178 30.477129C806.808888 552.897456 791.357987 567.994292 768.25071 567.994292z" ></path></symbol></svg>',t=(e=document.getElementsByTagName("script"))[e.length-1].getAttribute("data-injectcss");if(t&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(e){console&&console.log(e)}}!function(e){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(e,0);else{var t=function(){document.removeEventListener("DOMContentLoaded",t,!1),e()};document.addEventListener("DOMContentLoaded",t,!1)}else document.attachEvent&&(n=e,o=l.document,i=!1,c=function(){i||(i=!0,n())},(d=function(){try{o.documentElement.doScroll("left")}catch(e){return void setTimeout(d,50)}c()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,c())});var n,o,i,c,d}(function(){var e,t,n,o,i,c;(e=document.createElement("div")).innerHTML=d,d=null,(t=e.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",n=t,(o=document.body).firstChild?(i=n,(c=o.firstChild).parentNode.insertBefore(i,c)):o.appendChild(n))})}(window);

View File

@@ -1,29 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="weixin" unicode="&#58888;" d="M664.250054 527.458319c10.015098 0 19.892049-0.732687 29.67281-1.795902-26.647917 122.810047-159.358451 214.077703-310.826188 214.077703-169.353083 0-308.085774-114.232694-308.085774-259.274068 0-83.708494 46.165436-152.460344 123.281791-205.78483l-30.80868-91.730191 107.688651 53.455469c38.558178-7.53665 69.459978-15.308661 107.924012-15.308661 9.66308 0 19.230993 0.470721 28.752858 1.225921-6.025227 20.36584-9.521864 41.723264-9.521864 63.862493C402.328693 419.367509 517.908058 527.458319 664.250054 527.458319zM498.62897 610.12611c23.200398 0 38.557154-15.120372 38.557154-38.061874 0-22.846334-15.356756-38.156018-38.557154-38.156018-23.107277 0-46.260603 15.309684-46.260603 38.156018C452.368366 595.005738 475.522716 610.12611 498.62897 610.12611zM283.016307 533.909242c-23.107277 0-46.402843 15.309684-46.402843 38.156018 0 22.941502 23.295566 38.061874 46.402843 38.061874 23.081695 0 38.46301-15.120372 38.46301-38.061874C321.479317 549.217902 306.098002 533.909242 283.016307 533.909242zM945.448458 289.848667c0 121.888048-123.258255 221.236753-261.683954 221.236753-146.57838 0-262.015505-99.348706-262.015505-221.236753 0-122.06508 115.437126-221.200938 262.015505-221.200938 30.66644 0 61.617359 7.609305 92.423993 15.262612l84.513836-45.786813-23.178909 76.17082C899.379213 160.223401 945.448458 221.09784 945.448458 289.848667zM598.803483 328.005708c-15.332197 0-30.807656 15.096836-30.807656 30.501688 0 15.190981 15.47546 30.477129 30.807656 30.477129 23.295566 0 38.558178-15.286148 38.558178-30.477129C637.361661 343.102544 622.099049 328.005708 598.803483 328.005708zM768.25071 328.005708c-15.213493 0-30.594809 15.096836-30.594809 30.501688 0 15.190981 15.381315 30.477129 30.594809 30.477129 23.107277 0 38.558178-15.286148 38.558178-30.477129C806.808888 343.102544 791.357987 328.005708 768.25071 328.005708z" horiz-adv-x="1024" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -12,7 +12,11 @@ export default class IconMenu extends Component {
static defaultProps = {
title: '',
onClick: () => {},
size: 32
size: 32,
img: '',
icon: '',
iconStyle: '',
iconPrefixClass: 'sp-icon'
}
handleClick = () => {
@@ -27,18 +31,18 @@ export default class IconMenu extends Component {
}
render () {
const { img, icon, title, size, className } = this.props
const { img, icon, iconStyle, iconPrefixClass, title, size, className } = this.props
return (
<View
className={`sp-icon-menu ${className || ''}`}
className={`sp-iconmenu ${className || ''}`}
onClick={this.handleClick}
>
<View className='sp-icon-menu__icon'>
{img && (<Image mode='aspectFill' className='sp-icon-menu__img' src={img} />)}
{icon && (<AtIcon value={icon} size={size} />)}
<View className='sp-iconmenu__icon'>
{img && (<Image mode='aspectFill' className='sp-iconmenu__img' src={img} />)}
{icon && (<AtIcon value={icon} prefixClass={iconPrefixClass} size={size} />)}
</View>
<Text className='sp-icon-menu__title'>{title}</Text>
<Text className='sp-iconmenu__title'>{title}</Text>
</View>
)
}

View File

@@ -1,6 +1,6 @@
@import '../../style/imports';
.sp-icon-menu {
.sp-iconmenu {
text-align: center;
&__icon {
margin: 0 0 28px;

View File

@@ -21,10 +21,10 @@ export default class TabBar extends Component {
this.state = {
current: 0,
tabList: [
{ title: '首页', iconType: 'shopping-bag' },
{ title: '分类', iconType: 'camera' },
{ title: '购物车', iconType: 'folder', text: this.props.cartTotalCount || '', max: '99' },
{ title: '会员', iconType: 'folder' }
{ title: '首页', iconType: 'shop', iconPrefixClass: 'sp-icon' },
{ title: '分类', iconType: 'menu', iconPrefixClass: 'sp-icon' },
{ title: '购物车', iconType: 'cart', text: this.props.cartTotalCount || '', max: '99', iconPrefixClass: 'sp-icon' },
{ title: '会员', iconType: 'user', iconPrefixClass: 'sp-icon' }
]
}
}

View File

@@ -51,7 +51,7 @@ export default function withPager (Component) {
resetPage () {
const page = {
...(this.state.page || {}),
page_no: 1,
page_no: 0,
total: 0,
isLoading: false,
hasNext: true

View File

@@ -1,17 +1,19 @@
import Taro, { Component } from '@tarojs/taro'
import { View, Text } from '@tarojs/components'
import './index.scss'
import S from '@/spx'
export default class Index extends Component {
config = {
navigationBarTitleText: '首页'
}
componentWillMount () {
Taro.redirectTo({
url: `/pages/trade/detail?id=123`
})
if (process.env.NODE_ENV === 'development') {
Taro.redirectTo({
url: '/pages/member/index'
})
}
}
componentDidMount () { }

View File

@@ -10,6 +10,9 @@ export default class MemberIndex extends Component {
Taro.navigateTo({ url })
}
componentDidShow () {
}
render () {
return (
<View className='page-member-index'>
@@ -33,47 +36,54 @@ export default class MemberIndex extends Component {
</View>
<View className='member-status__item'>
<Text className='member-status__item-val'>666</Text>
<Text className='member-status__item-title'>收藏夹</Text>
<Text className='member-status__item-title'>积分</Text>
</View>
<View className='member-status__item'>
<Text className='member-status__item-val'>666</Text>
<Text className='member-status__item-title'>收藏夹</Text>
<Text className='member-status__item-title'>优惠券</Text>
</View>
<View className='member-status__item'>
<Text className='member-status__item-val'>666</Text>
<Text className='member-status__item-title'>收藏夹</Text>
<Text className='member-status__item-title'>消息</Text>
</View>
</View>
<View className='member-sec member-trades'>
<View className='sec-hd'>
<Text className='sec-title'>我的订单</Text>
<View className='more'>查看全部订单<AtIcon value='chevron-right'></AtIcon></View>
<View
className='more'
onClick={this.navigateTo.bind(this, '/pages/trade/list')}
>查看全部订单<AtIcon value='chevron-right'></AtIcon></View>
</View>
<View className='sec-bd'>
<View className='member-trades__menus'>
<AtBadge value={3}>
<SpIconMenu
icon='image'
icon='pay'
title='待付款'
to='/pages/trade/list?status=WAIT_BUYER_PAY'
/>
</AtBadge>
<AtBadge value={13}>
<SpIconMenu
icon='image'
icon='clock'
title='待发货'
to='/pages/trade/list?status=WAIT_SELLER_SEND_GOODS'
/>
</AtBadge>
<AtBadge value={13}>
<SpIconMenu
icon='image'
icon='baoguo'
title='待收货'
to='/pages/trade/list?status=WAIT_BUYER_CONFIRM_GOODS'
/>
</AtBadge>
<AtBadge>
<SpIconMenu
icon='image'
icon='comment'
title='待评论'
to='/pages/trade/list?status=WAIT_RATE'
/>
</AtBadge>
</View>
@@ -89,50 +99,50 @@ export default class MemberIndex extends Component {
<View className='member-tools__menus'>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='star'
title='我的收藏'
to='/pages/member/favorite'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='thumb'
title='我的推荐'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='hongbao'
title='我的红包'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='money'
title='我的资金'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='location'
title='收货地址'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='qrcode'
title='推广二维码'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='setting'
title='设置'
/>
</View>
<View class='member-tools__item'>
<SpIconMenu
icon='image'
icon='help'
title='使用帮助'
/>
</View>

View File

@@ -2,13 +2,42 @@
.page-member-index {
padding-bottom: $tabbar-height;
.sp-icon-pay, .sp-icon-clock, .sp-icon-baoguo, .sp-icon-comment {
@include iconfont-gradient(linear-gradient(90deg, #FAA761, #FA3515));
}
.sp-icon-star, .sp-icon-thumb {
@include iconfont-gradient(linear-gradient(270deg, #AF6FF7, #CD3AE3));
}
.sp-icon-money, .sp-icon-hongbao {
@include iconfont-gradient(linear-gradient(90deg, #FAD346, #F7B11C));
}
.sp-icon-setting, .sp-icon-help {
@include iconfont-gradient(linear-gradient(103deg, #7FD5FA, #2580FC));
}
.sp-icon-location {
@include iconfont-gradient(linear-gradient(270deg, #2757C5, #7298FD));
}
.sp-icon-qrcode {
@include iconfont-gradient(linear-gradient(90deg, #B4EC51, #429321));
}
}
.member-index {
&__hd {
background: #FA3515;
background: linear-gradient(180deg,rgba(250,148,97,1) 0%,rgba(250,53,21,1) 100%);
background: linear-gradient(180deg,rgba(#FA9461, 1) 0%,rgba(#FA3515, 1) 100%);
height: 280px;
&:before {
transform: rotate(40deg) translate3D(0, -72%, 0);
background:linear-gradient(348deg,rgba(#fff, 0) 0%,rgba(#fff, 1) 100%);
content: '';
width: 300px;
height: 300px;
display: block;
position: absolute;
top: 0;
right: 0;
}
}
&__bd {
position: relative;

View File

@@ -52,7 +52,6 @@ export default class TradeDetail extends Component {
创建时间:${info.created_time_str}
`
await copyText(msg)
S.toast('已复制信息')
}
async handleClickBtn (type) {

View File

@@ -17,11 +17,11 @@ export default class TradeList extends Component {
...this.state,
curTabIdx: 0,
tabList: [
{title: '全部'},
{title: '待付款'},
{title: '待发货'},
{title: '待收货'},
{title: '待评价'}
{title: '全部', status: ''},
{title: '待付款', status: 'WAIT_BUYER_PAY'},
{title: '待发货', status: 'WAIT_SELLER_SEND_GOODS'},
{title: '待收货', status: 'WAIT_BUYER_CONFIRM_GOODS'},
{title: '待评价', status: 'WAIT_RATE'}
],
list: [],
isLoading: false
@@ -29,14 +29,28 @@ export default class TradeList extends Component {
}
componentDidMount () {
this.nextPage()
const { status } = this.$router.params
const tabIdx = this.state.tabList.findIndex(tab => tab.status === status)
if (tabIdx >= 0) {
this.setState({
curTabIdx: tabIdx
}, () => {
this.nextPage()
})
} else {
this.nextPage()
}
}
async fetch (params) {
this.setState({ isLoading: true })
const { curTabIdx } = this.state
const { list, total_count: total } = await api.trade.list({ status: curTabIdx, ...params })
const { tabList, curTabIdx } = this.state
params = {
...params,
status: tabList[curTabIdx].status
}
const { list, total_count: total } = await api.trade.list(params)
const nList = this.state.list.concat(list)
this.setState({

View File

@@ -108,4 +108,12 @@
opacity: 1;
}
}
}
@mixin iconfont-gradient ($background) {
&:before {
background: $background;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}

View File

@@ -2,7 +2,7 @@
@font-face {
font-family: "sp-iconfont";
src: url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMwAAsAAAAABuQAAALiAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqBcIFzATYCJAMICwYABCAFhG0HMBsZBhHVk49kX0JONtQRZdv6nn5JqeaVP3BrvADFjsPuQNuDU5AAAAAAAEFEa2X1LDwwu9MPBBIBhKIQy7BLJLKLiiXdnDiVaTSmgaU+1PCt6R5b5LRBmC7ZQ8/pOiHfsfNhSSwSHr6d7+pf0nmSYYBBkkYJDHDEU13+Lw5M3QzXoOePwmVZYToWt0UW/nkDNI3wRxx4AfA/l9MbBRTI/EC5zDH5qBdgHFCAY26yAjoAbhi7ieABbocAW4HEIyMzvxzSgX4C5LY218JCgE530taE2TA1kJdknVbVMwTb/PfyYwtBMTKgqrgpowH95GFWM/+fRxGEy9kAZxZoIB7QIbMxUQiIQ9PYJkIoHKtc8JOHmpCj/nlIAZTaA/DXBc8kxKJHJVMB0IEJCjHaJ70RzCa0izjD6x6UZhgn84tNUnXytLvXFchYhi7MnK9dnL1UTvg5ZWefdoSk6F5Umt1/FTXK7WyNnXz5saPTZ899Dyr5qqs7qjsxuT0OrCfLE7trfws/e8uWxEiH6dbt0OfpyqRLhPvQ336rfTSRSSP/iY4LufpRjYzeJknwjL9glTX2YwDldYGz27sA0ywKQQonQEj71Pf/TA4H+hX6TpOfrzoAr3f5w3W6YS6B9d04BX9VOLBGj8XAqCIUNsqUqam7ldvGbv4Djysfp2o8XiEjrHm8iMtKQAYaa+GoTo0Hgx0LmKwlga04smbbcaMPkLABYlnUQDhzDRRH90HjzHNUp34Agye/wOQsAFuV0lvSTqRQqRYRhox3iD6Q3upKIjNrovyI8aMIKS/m9CuSSsNg6WY5PcMKaYkR6hnbzBIk1SVMtd2wKGpoqM7wxnrC3DiGIZs+pN/qUmgcYch4h+gD6a2uJG3MWuX7R4wfRUgdhBHnFUmlrYOlmwPQmaIaRHiUW9QztpklSKpLmGo2LGCihqa5U4Y31pMJscYxjHpyqELfXlX+3SbAFqBVAtvBahjTd1oJAQAA') format('woff2'),
src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('/assets/fonts/iconfont.woff') format('woff'),
url('/assets/fonts/iconfont.ttf') format('truetype');
}
@@ -17,6 +17,70 @@
-moz-osx-font-smoothing: grayscale;
}
.sp-icon-setting:before {
content: "\e66f";
}
.sp-icon-help:before {
content: "\e65d";
}
.sp-icon-weixin:before {
content: "\e608";
}
.sp-icon-qrcode:before {
content: "\e7c4";
}
.sp-icon-cart:before {
content: "\e616";
}
.sp-icon-location:before {
content: "\e640";
}
.sp-icon-clock:before {
content: "\e615";
}
.sp-icon-menu:before {
content: "\e62f";
}
.sp-icon-baoguo:before {
content: "\e60c";
}
.sp-icon-pay:before {
content: "\e60d";
}
.sp-icon-comment:before {
content: "\e60e";
}
.sp-icon-star:before {
content: "\e60f";
}
.sp-icon-thumb:before {
content: "\e612";
}
.sp-icon-hongbao:before {
content: "\e613";
}
.sp-icon-money:before {
content: "\e614";
}
.sp-icon-shop:before {
content: "\e617";
}
.sp-icon-user:before {
content: "\e618";
}

View File

@@ -49,7 +49,13 @@
color: $color-brand-primary;
}
.at-tab-bar {
.sp-icon {
font-size: 44px;
}
}
.at-search-bar__action {
background-color: $color-search-cancel-bg;
color: $color-primary-text;
}
}

View File

@@ -4,6 +4,7 @@ import Taro from '@tarojs/taro'
import qs from 'qs'
import moment from 'moment'
import copy from 'copy-to-clipboard'
import S from '@/spx'
export { default as log } from './log'
@@ -68,15 +69,18 @@ export function formatTime (time, formatter = 'YYYY-MM-DD') {
return moment(time).format(formatter)
}
export function copyText (text) {
export function copyText (text, msg = '内容已复制') {
return new Promise((resolve, reject) => {
if (Taro.getEnv() === Taro.ENV_TYPE.WEAPP) {
if (process.env.TARO_ENV === 'weapp') {
Taro.setClipboardData({
data: text,
success: resolve
})
} else if (copy(Text)) {
resolve(text)
} else {
if (copy(Text)) {
S.toast(msg)
resolve(text)
}
}
})
}