diff --git a/src/api/member.js b/src/api/member.js
index 9d793ae..60ac26d 100755
--- a/src/api/member.js
+++ b/src/api/member.js
@@ -1,42 +1,42 @@
import req from './req'
import { platformTemplateName, transformPlatformUrl } from '@/utils/platform'
-export function memberInfo() {
+export function memberInfo () {
return req.get('/member')
}
// 修改用户信息
-export function setMemberInfo(params = {}) {
+export function setMemberInfo (params = {}) {
return req.put('/member', params)
}
-export function updateMemberInfo(params = {}) {
+export function updateMemberInfo (params = {}) {
return req.put('/memberinfo', params)
}
// 注销用户
-export function deleteMember(params) {
+export function deleteMember (params) {
return req.delete('/member', params)
}
// 更新会员手机号
-export function setMemberMobile(params = {}) {
+export function setMemberMobile (params = {}) {
return req.put('/member/mobile', params)
}
-export function pointDetail() {
+export function pointDetail () {
return req.get('/member.point.detail')
}
-export function favsList(params = {}) {
+export function favsList (params = {}) {
return req.get('/member/collect/item', params, null, { showError: false })
}
-export function addFav(item_id, params) {
+export function addFav (item_id, params) {
return req.post(`/member/collect/item/${item_id}`, params)
}
-export function delFav(item_ids, params = {}) {
+export function delFav (item_ids, params = {}) {
item_ids = Array.isArray(item_ids) ? item_ids : [item_ids]
const { is_empty = false } = params
return req.delete('/member/collect/item', {
@@ -45,51 +45,53 @@ export function delFav(item_ids, params = {}) {
})
}
-export function memberAssets() {
+export function memberAssets () {
return req.get(`/member/statistical`)
}
-export function couponList(params = {}) {
+export function couponList (params = {}) {
return req.get('/user/newGetCardList', params)
}
-export function getUserCardList(params = {}) {
+export function getUserCardList (params = {}) {
return req.get('/user/getUserCardList', params)
}
-export function homeCouponList(params = {}) {
- return req.get('/getCardList', params)
+export function homeCouponList (params = {}) {
+ // return req.get('/getCardList', params)
+ return req.get('/getRedeemDiscountCardList', params) //积分兑换优惠券列表
}
-export function homeCouponGet(params = {}) {
+export function homeCouponGet (params = {}) {
return req.get('/user/receiveCard', params)
}
-export function getCardDetail(params = {}) {
- return req.get('/user/getCardDetail', params)
+export function getCardDetail (params = {}) {
+ // return req.get('/user/getCardDetail', params)
+ return req.get('/user/receiveCardByPoint', params) //积分换优惠券操作
}
-export function userUsedCard(params = {}) {
+export function userUsedCard (params = {}) {
return req.get('/user/usedCard', params)
}
-export function addressList(params) {
+export function addressList (params) {
return req.get('/member/addresslist', params)
}
-export function crmAddressList(params = {}) {
+export function crmAddressList (params = {}) {
//获取crm地址
return req.post('/member/crmaddresslist', params)
}
-export function addressCreate(params = {}) {
+export function addressCreate (params = {}) {
return req.post('/member/address', params)
}
-export function addressUpdate(data) {
+export function addressUpdate (data) {
return req.put(`/member/address/${data.address_id}`, data)
}
-export function addressDelete(address_id) {
+export function addressDelete (address_id) {
return req.delete(`/member/address/${address_id}`)
}
@@ -97,267 +99,267 @@ export function addressDelete(address_id) {
return req.get('/member/addressarea')
}*/
-export function areaList() {
+export function areaList () {
return req.get('/espier/address')
}
-export function addressCreateOrUpdate(data) {
+export function addressCreateOrUpdate (data) {
const fn = data.address_id ? addressUpdate : addressCreate
return fn(data)
}
-export function itemHistorySave(item_id) {
+export function itemHistorySave (item_id) {
return req.post('/member/browse/history/save', { item_id })
}
-export function itemHistory(params) {
+export function itemHistory (params) {
return req.get('/member/browse/history/list', params)
}
-export function getRechargeNumber() {
+export function getRechargeNumber () {
return req.get('/deposit/rechargerules')
}
// 充值
-export function rehcargePay(params) {
+export function rehcargePay (params) {
return req.post('/deposit/recharge', params)
}
-export function qrcodeData() {
+export function qrcodeData () {
return req.get('/promoter/qrcode')
}
-export function memberCode(params) {
+export function memberCode (params) {
return req.get('/barcode', params)
}
-export function promoter() {
+export function promoter () {
return req.post('/promoter')
}
-export function h5_qrcodeData() {
+export function h5_qrcodeData () {
return req.get('/brokerage/qrcode')
}
-export function pointList(params = {}) {
+export function pointList (params = {}) {
return req.get('/member/dh/point/history', params)
}
-export function pointTotal() {
+export function pointTotal () {
return req.get('/point/member/info')
}
-export function depositList(params = {}) {
+export function depositList (params = {}) {
return req.get('/deposit/list', params)
}
-export function depositTotal() {
+export function depositTotal () {
return req.get('/deposit/info')
}
-export function depositPay(params = {}) {
+export function depositPay (params = {}) {
return req.post('/deposit/recharge_new', params)
}
-export function depositPayRule() {
+export function depositPayRule () {
return req.get('/deposit/recharge/agreement')
}
-export function formId(formid) {
+export function formId (formid) {
return req.post('/promotion/formid', { formid })
}
-export function recommendUserInfo() {
+export function recommendUserInfo () {
return req.get('/promoter/info')
}
-export function recommendIndexInfo() {
+export function recommendIndexInfo () {
return req.get('/promoter/index')
}
-export function recommendMember(params = {}) {
+export function recommendMember (params = {}) {
return req.get('/promoter/children', params)
}
-export function recommendOrder(params = {}) {
+export function recommendOrder (params = {}) {
return req.get('/promoter/brokerages', params)
}
-export function depositToPoint(params = {}) {
+export function depositToPoint (params = {}) {
return req.post('/deposit/to/point', params)
}
-export function pointDraw(params = {}) {
+export function pointDraw (params = {}) {
return req.get('/promotion/luckydraw', params)
}
-export function pointDrawRule() {
+export function pointDrawRule () {
return req.get('/promotion/luckyrules')
}
-export function pointDrawSwiper() {
+export function pointDrawSwiper () {
return req.get('/promotion/luckydraw_show')
}
-export function pointDrawDetail(luckydraw_id) {
+export function pointDrawDetail (luckydraw_id) {
return req.get(`/promotion/luckydraw/${luckydraw_id}`)
}
-export function pointDrawIntro(item_id) {
+export function pointDrawIntro (item_id) {
return req.get(`/goods/itemintro/${item_id}`)
}
-export function pointDrawPay(params = {}) {
+export function pointDrawPay (params = {}) {
return req.post('/promotion/luckydraworder', params)
}
-export function pointDrawPayList(params = {}) {
+export function pointDrawPayList (params = {}) {
return req.get('/promotion/luckydraw/joinactivitys', params)
}
-export function pointDrawLuck(params = {}) {
+export function pointDrawLuck (params = {}) {
return req.get('/promotion/luckydrawmember', params)
}
-export function pointOrderDetail(luckydraw_trade_id) {
+export function pointOrderDetail (luckydraw_trade_id) {
return req.get(`/promotion/member/luckydraworder/${luckydraw_trade_id}`)
}
-export function pointOrderAddress(params = {}) {
+export function pointOrderAddress (params = {}) {
return req.post('/promotion/member/luckyaddress', params)
}
-export function pointOrderConfirm(params = {}) {
+export function pointOrderConfirm (params = {}) {
return req.post('/promotion/member/luckyorderfinish', params)
}
-export function pointDrawLuckAll() {
+export function pointDrawLuckAll () {
return req.get(`/promotion/luckydrawmember`)
}
-export function pointMyOrder(params = {}) {
+export function pointMyOrder (params = {}) {
return req.get(`/promotion/luckydrawjoinlist`, params)
}
-export function pointAllOrder(luckydraw_id, params = {}) {
+export function pointAllOrder (luckydraw_id, params = {}) {
return req.get(`/promotion/luckydraw/alljoinlist/${luckydraw_id}`, params)
}
-export function pointCompute(luckydraw_id) {
+export function pointCompute (luckydraw_id) {
return req.get(`/promotion/luckydraw/winning/${luckydraw_id}`)
}
-export function pointCheckLucky(luckydraw_id) {
+export function pointCheckLucky (luckydraw_id) {
return req.get(`/promotion/luckydraw/checkwinning/${luckydraw_id}`)
}
-export function pointComputeResult(luckydraw_id) {
+export function pointComputeResult (luckydraw_id) {
return req.get(`/promotion/luckydraw/luckylogic/${luckydraw_id}`)
}
-export function storeFav(id) {
+export function storeFav (id) {
return req.post(`/member/collect/distribution/${id}`)
}
-export function storeFavDel(id) {
+export function storeFavDel (id) {
return req.delete('/member/collect/distribution', { distributor_id: id })
}
-export function storeFavList() {
+export function storeFavList () {
return req.get('/member/collect/distribution')
}
-export function storeFavCount(params = {}) {
+export function storeFavCount (params = {}) {
return req.get('/member/collect/distribution/num', params)
}
-export function storeIsFav(id) {
+export function storeIsFav (id) {
return req.get('/member/collect/distribution/check', { distributor_id: id })
}
-export function receiveVip() {
+export function receiveVip () {
return req.get('/promotion/getMemberCard')
}
// 获取导购信息
-export function getSalesperson(params = {}) {
+export function getSalesperson (params = {}) {
return req.get('/salesperson', params)
}
// 获取导购投诉列表
-export function getComplaintsList(params = {}) {
+export function getComplaintsList (params = {}) {
return req.get('/salesperson/complaintsList', params)
}
// 导购投诉
-export function setComplaints(params = {}) {
+export function setComplaints (params = {}) {
return req.post('/salesperson/complaints', params)
}
// 获取导购投诉详情
-export function getComplaintsDetail(id, params = {}) {
+export function getComplaintsDetail (id, params = {}) {
return req.get(`/salesperson/complaintsDetail/${id}`, params)
}
// 获取导购
-export function getUsersalespersonrel(params = {}) {
+export function getUsersalespersonrel (params = {}) {
return req.get('/usersalespersonrel', params)
}
// 绑定导购
-export function setUsersalespersonrel(params = {}) {
+export function setUsersalespersonrel (params = {}) {
return req.post('/usersalespersonrel', params)
}
// 获取积分列表
-export function getPointList(params = {}) {
+export function getPointList (params = {}) {
return req.get('/member/pointLogList', params)
}
//
-export function getSalespersonNologin(params = {}) {
+export function getSalespersonNologin (params = {}) {
return req.get('/salesperson/nologin', params)
}
//
-export function getUserNewGetCardDetail(params = {}) {
+export function getUserNewGetCardDetail (params = {}) {
return req.get('/user/newGetCardDetail', params)
}
// 经销商入驻申请
-export function hfpayApplySave(params = {}) {
+export function hfpayApplySave (params = {}) {
return req.post('/hfpay/applysave', params)
}
// 经销商入驻详情
-export function hfpayUserApply(params = {}) {
+export function hfpayUserApply (params = {}) {
return req.get('/hfpay/userapply', params)
}
// 绑定银行卡
-export function hfpayBankSave(params = {}) {
+export function hfpayBankSave (params = {}) {
return req.post('/hfpay/banksave', params)
}
// 获取绑定银行卡
-export function hfpayBankInfo(params = {}) {
+export function hfpayBankInfo (params = {}) {
return req.get('/hfpay/bankinfo', params)
}
// 获取获取支付方式
-export function getTradePaymentList(params = {}) {
+export function getTradePaymentList (params = {}) {
return req.get('/trade/payment/list', params)
}
// 获取新的支付方式
-export function getNewTradePaymentList(params = {}) {
+export function getNewTradePaymentList (params = {}) {
return req.get('/trade/withdraw/list', params)
}
-export function getIsHf(params = {}) {
+export function getIsHf (params = {}) {
return req.get('/trade/payment/hfpayversionstatus', params)
}
//获取是否开启获取crm地址
-export function getCrmsetting() {
+export function getCrmsetting () {
return req.get('/member/crmsetting')
}
// 配置地址
-export function getSettingCenter() {
+export function getSettingCenter () {
return req.get(transformPlatformUrl('/alipay/pageparams/setting'), {
template_name: platformTemplateName,
version: 'v1.0.1',
@@ -366,20 +368,20 @@ export function getSettingCenter() {
}
// 获取核销码
-export function getQRcode(params) {
+export function getQRcode (params) {
return req.get('/user/exchangeCardInfo', params)
}
// 会员等级
-export function getMemberCard() {
+export function getMemberCard () {
return req.get('/membercard/grades')
}
// 会员中心分享配置
-export function getMemberShareConfig() {
+export function getMemberShareConfig () {
return req.get('/memberCenterShare/getInfo')
}
-export function is_admin(params) {
+export function is_admin (params) {
return req.get('/distributor/bind/checkout', params)
}
diff --git a/src/app.config.js b/src/app.config.js
index 34138e3..9a07e40 100755
--- a/src/app.config.js
+++ b/src/app.config.js
@@ -373,7 +373,7 @@ const config = {
"getLocation",
"chooseAddress"
],
- "__usePrivacyCheck__": true
+ // "__usePrivacyCheck__": true
}
if (process.env.TARO_ENV == 'weapp') {
diff --git a/src/components/address/choose-address.js b/src/components/address/choose-address.js
index d4a3fa3..25ce383 100755
--- a/src/components/address/choose-address.js
+++ b/src/components/address/choose-address.js
@@ -72,7 +72,7 @@ export default class AddressChoose extends Component {
{/* */}
) : (
- +请选择收货地址
+ +请选择收货地址
)}
diff --git a/src/components/sp-coupon/index.js b/src/components/sp-coupon/index.js
index 9adb6a8..04c2e33 100755
--- a/src/components/sp-coupon/index.js
+++ b/src/components/sp-coupon/index.js
@@ -12,8 +12,8 @@ import './index.scss'
const initialState = {
isExpanded: false
}
-function SpCoupon(props) {
- const { info, children, onClick = () => {} } = props
+function SpCoupon (props) {
+ const { info, children, onClick = () => { }, isNew } = props
const [state, setState] = useImmer(initialState)
const { isExpanded } = state
if (!info) {
@@ -34,12 +34,37 @@ function SpCoupon(props) {
description,
quantity,
getNum,
- distributorName
+ distributorName,
+ couponStatus,
+ id,
+ fixedTerm,
+ status,
+ valid,
} = info
const { tag, invalidBg, bg } = COUPON_TYPE[cardType]
const couponTagBg = info.tagClass === 'used' || info.tagClass === 'overdue' || !info.valid ? invalidBg : bg
+ return (
+
+ ¥{reduceCost || 0}
+ 满{leastCost}可用
+
+
+
+ {title}
+ {/* {item.start_time}至{item.end_time} */}
+ {isNew ? 有效日期:领取{fixedTerm}天内有效 :
+ 有效日期:{beginDate}至{endDate}}
+
+ {!valid || info.tagClass === 'used' || info.tagClass === 'overdue' ? 已{info.tagClass === 'used' ? '使用' : '过期'}
+ : 立即{isNew ? '兑换' : '使用'}}
+
+ )
+
const getCouponValue = () => {
if (cardType === 'cash') {
return (
@@ -79,9 +104,9 @@ function SpCoupon(props) {
{COUPON_TYPE[cardType].tag}
- {`${
- VERSION_PLATFORM && distributorName ? `${distributorName}: ${title}` : title
- }`}
+ {`${VERSION_PLATFORM && distributorName ? `${distributorName}: ${title}` : title
+ }`}
{`有效期: ${beginDate} - ${endDate}`}
- {info.valid &&
- (
- <>
- 详细信息
- {
- setState((draft) => {
- draft.isExpanded = !isExpanded
- })
- }}
- />
- >
- )
- }
- {!info.valid && (
- {info.invalidDesc}
- )}
+ {info.valid &&
+ (
+ <>
+ 详细信息
+ {
+ setState((draft) => {
+ draft.isExpanded = !isExpanded
+ })
+ }}
+ />
+ >
+ )
+ }
+ {!info.valid && (
+ {info.invalidDesc}
+ )}
-
+ {false &&
{!isNaN(memberPrice) && !VERSION_IN_PURCHASE && (
{vipInfo?.isVip ? vipInfo?.grade_name : userInfo?.gradeInfo?.grade_name}
@@ -126,7 +126,7 @@ function SpGoodsCell (props) {
return {limitTxt}
})}
{/* {limitTxt && {limitTxt}} */}
-
+ }
{info.num && 数量:{info.num}}
diff --git a/src/components/sp-goods-item/index.js b/src/components/sp-goods-item/index.js
index b44a4d8..a4c495f 100755
--- a/src/components/sp-goods-item/index.js
+++ b/src/components/sp-goods-item/index.js
@@ -134,7 +134,7 @@ function SpGoodsItem (props) {
- {info.tagList.map((item, index) => {item.tag_name})}
+ {info.tagList?.map((item, index) => {item.tag_name})}
{/* NEW */}
{/* {renderBrand && {renderBrand}} */}
diff --git a/src/components/sp-order-item/index.scss b/src/components/sp-order-item/index.scss
index 1e1a700..d877962 100755
--- a/src/components/sp-order-item/index.scss
+++ b/src/components/sp-order-item/index.scss
@@ -75,8 +75,9 @@
font-size: 20px;
color: #c1c1c1;
}
- .sp-price__symbol,
- .sp-price__int {
- font-weight: bold !important;
- }
+ // .sp-price__symbol,
+ // .sp-price__int,
+ // .sp-price__decimal {
+ // font-weight: bold !important;
+ // }
}
diff --git a/src/doc/coupon.js b/src/doc/coupon.js
index 2e05af4..53a93b8 100755
--- a/src/doc/coupon.js
+++ b/src/doc/coupon.js
@@ -1,4 +1,4 @@
-import { formatTime } from '@/utils'
+import { formatTime, diffInDays } from '@/utils'
export const COUPON_ITEM = {
title: 'title',
@@ -6,7 +6,7 @@ export const COUPON_ITEM = {
cardId: 'card_id',
cardType: 'card_type',
code: 'code',
- invalidDesc:'invalid_desc',
+ invalidDesc: 'invalid_desc',
beginDate: ({ begin_date }) => begin_date.replace(/-/g, '.'),
endDate: ({ end_date }) => end_date.replace(/-/g, '.'),
tagClass: 'tagClass',
@@ -24,12 +24,26 @@ export const COUPON_ITEM = {
status: 'status',
getNum: 'get_num',
valid: ({ valid }) => {
- if(typeof valid === 'undefined') {
+ if (typeof valid === 'undefined') {
return true
} else {
return valid
}
- }
+ },
+ couponStatus: ({ quantity, get_limit, user_get_num, get_num }) => {
+ if (quantity - get_num <= 0) {
+ return 0 // 已领完
+ } else if (get_limit - user_get_num > 0) {
+ return 1 // 立即领取
+ } else if (get_limit - user_get_num <= 0) {
+ return 2 // 已领取
+ }
+ },
+ // fixedTerm: 'fixed_term',
+ fixedTerm: ({ begin_date, end_date }) => diffInDays(begin_date, end_date),
+ sourceType: 'source_type',
+ sourceId: 'source_id',
+ point: ({ point }) => +point,
}
export const COUPON = {
@@ -49,22 +63,24 @@ export const COUPON = {
description: 'description',
quantity: ({ quantity }) => parseInt(quantity),
getNum: 'get_num',
- couponStatus: ({ quantity, get_limit, user_get_num, get_num}) => {
- if(quantity - get_num <= 0) {
+ couponStatus: ({ quantity, get_limit, user_get_num, get_num }) => {
+ if (quantity - get_num <= 0) {
return 0 // 已领完
- } else if(get_limit - user_get_num > 0) {
+ } else if (get_limit - user_get_num > 0) {
return 1 // 立即领取
- } else if(get_limit - user_get_num <= 0) {
+ } else if (get_limit - user_get_num <= 0) {
return 2 // 已领取
}
},
distributorName: ({ distributor_info }) => {
return distributor_info?.name
},
+ fixedTerm: 'fixed_term',
sourceType: 'source_type',
sourceId: 'source_id',
+ point: ({ point }) => +point,
valid: ({ valid }) => {
- if(typeof valid === 'undefined') {
+ if (typeof valid === 'undefined') {
return true
} else {
return valid
diff --git a/src/marketing/pages/member/address.js b/src/marketing/pages/member/address.js
index edb330c..ed95387 100755
--- a/src/marketing/pages/member/address.js
+++ b/src/marketing/pages/member/address.js
@@ -214,7 +214,7 @@ function AddressIndex (props) {
)} */}
- {list?.length && list.map((item, index) => {
+ {list?.length > 0 && list.map((item, index) => {
return (
- {
@@ -114,7 +114,24 @@ function CashierResult(props) {
onConfirm={() => {
Taro.redirectTo({ url: `/subpage/pages/trade/detail?id=${orderId}` })
}}
- >
+ > */}
+ {
+ Taro.redirectTo({ url: '/pages/index' })
+ }}
+ >
+ 首页
+
+ {
+ Taro.redirectTo({ url: `/subpage/pages/trade/detail?id=${orderId}&type=pointitem` })
+ }}
+ >
+ 订单详情
+
)}
@@ -123,7 +140,7 @@ function CashierResult(props) {
tradeInfo?.tradeSourceType == 'normal_pointsmall_pointsmall') && (
{
Taro.redirectTo({ url: '/pages/index' })
diff --git a/src/pages/cart/cashier-result.scss b/src/pages/cart/cashier-result.scss
index 70caf3f..c085c44 100755
--- a/src/pages/cart/cashier-result.scss
+++ b/src/pages/cart/cashier-result.scss
@@ -8,7 +8,7 @@
flex-direction: column;
}
.icon-roundcheckfill {
- font-size: 40px;
+ font-size: 80px;
color: var(--color-primary);
}
.trade-txt {
diff --git a/src/pages/cart/comps/comp-goodsitem.scss b/src/pages/cart/comps/comp-goodsitem.scss
index 9df38c2..80dabee 100755
--- a/src/pages/cart/comps/comp-goodsitem.scss
+++ b/src/pages/cart/comps/comp-goodsitem.scss
@@ -9,6 +9,7 @@
&-bd {
flex: 1;
position: relative;
+ height: 150px;
}
&-image {
width: 220px;
diff --git a/src/pages/cart/const/index.js b/src/pages/cart/const/index.js
index e7cef5e..f475be4 100755
--- a/src/pages/cart/const/index.js
+++ b/src/pages/cart/const/index.js
@@ -35,6 +35,7 @@ export const initialState = {
paramsInfo: {}, // 结算接口参数
discountInfo: [],
couponInfo: {}, // 优惠券信息
+ couponTotal: 0,
remark: '', // 备注
// 积分相关
isPointOpen: false,
diff --git a/src/pages/cart/espier-checkout.js b/src/pages/cart/espier-checkout.js
index c5df826..24b6e49 100755
--- a/src/pages/cart/espier-checkout.js
+++ b/src/pages/cart/espier-checkout.js
@@ -105,7 +105,8 @@ function CartCheckout (props) {
buildingNumber,
houseNumber, // 房号
routerParams, // 路由参数
- orderTtems
+ orderTtems,
+ couponTotal
} = state
const {
@@ -127,6 +128,7 @@ function CartCheckout (props) {
useEffect(() => {
if (isLogin) {
getTradeSetting()
+ getCouponList()
// tode 此处应有埋点
return () => {
dispatch(changeCoupon()) // 清空优惠券信息
@@ -161,6 +163,20 @@ function CartCheckout (props) {
}
}, [isPackageOpend, openCashier, isPointOpenModal])
+ const getCouponList = async () => {
+ const params = {
+ status: '1',
+ page: 1,
+ pageSize: 1000,
+ card_type: 'cash',
+ scope_type: 'all'
+ }
+ const { total_count } = await api.member.getUserCardList(params)
+ setState((draft) => {
+ draft.couponTotal = total_count
+ })
+ }
+
// 是否需要包装
const getTradeSetting = async () => {
let data = await api.trade.tradeSetting()
@@ -403,9 +419,12 @@ function CartCheckout (props) {
price
}
})
- let url = `/subpages/marketing/coupon-picker?items=${JSON.stringify(
- items
- )}&is_checkout=true&cart_type=${cart_type}&distributor_id=${shop_id || id}&source=${source}`
+
+ let url = `/subpages/marketing/coupon-picker`
+ // let url = `/subpages/marketing/coupon`
+ + `?items=${JSON.stringify(
+ items
+ )}&is_checkout=true&cart_type=${cart_type}&distributor_id=${shop_id || id}&source=${source}`
if (couponInfo?.coupon_code) {
url = `${url}&coupon=${couponInfo?.coupon_code}`
}
@@ -527,7 +546,7 @@ function CartCheckout (props) {
receiver_district,
item_fee_new,
market_fee,
- items_promotion
+ items_promotion,
} = orderRes
let subdistrictRes
@@ -554,7 +573,8 @@ function CartCheckout (props) {
// }
coupon_id: id,
coupon_code: coupon_code,
- title: info
+ title: info,
+ ...coupon_info
}
setState((draft) => {
draft.couponInfo = _info
@@ -587,7 +607,7 @@ function CartCheckout (props) {
point_fee, //积分抵扣金额,
item_point,
freight_type,
- promotion_discount
+ promotion_discount,
}
const point_info = {
@@ -716,7 +736,7 @@ function CartCheckout (props) {
if (VERSION_PLATFORM) {
delete cus_parmas.isNostores
}
- console.log(couponInfo)
+ console.log(couponInfo, '优惠券信息')
const _coupon = coupon || couponInfo
if (!isEmpty(_coupon)) {
const { coupon_id, coupon_code, title } = _coupon
@@ -863,6 +883,14 @@ function CartCheckout (props) {
))}
+
+ 优惠券/码
+
+ {couponInfo.rule || (!!couponTotal ? '选择优惠券' : '暂无可用优惠券/码')}
+
+
+
+
订单金额
@@ -876,13 +904,13 @@ function CartCheckout (props) {
优惠金额
{/* 促销 + 优惠券 */}
- {`¥${parseFloat(totalInfo.promotion_discount + totalInfo.coupon_discount).toFixed(2)}`}
+ {`¥ ${parseFloat(totalInfo.promotion_discount + (totalInfo.coupon_discount || 0) / 100).toFixed(2)}`}
运费
{totalInfo.freight_type !== 'point'
- ? `¥${totalInfo.freight_fee}`
+ ? `¥ ${totalInfo.freight_fee}`
: `${totalInfo.freight_fee * 100}${this.props.pointName}`}
diff --git a/src/pages/cart/espier-checkout.scss b/src/pages/cart/espier-checkout.scss
index 9b18952..0a37bbd 100755
--- a/src/pages/cart/espier-checkout.scss
+++ b/src/pages/cart/espier-checkout.scss
@@ -219,8 +219,21 @@ $margin24: 10px;
background: #fff;
margin: 20px auto;
}
+ .counp-line {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 26px;
+ padding: 20px 0;
+ &-right {
+ display: flex;
+ align-items: center;
+ color: #5b5b5b;
+ font-size: 20px;
+ }
+ }
.trade-detail-info-new {
- padding: 20px 24px;
+ padding: 20px 0px;
.line {
display: flex;
width: 100%;
diff --git a/src/pages/cart/espier-index.scss b/src/pages/cart/espier-index.scss
index dca6f3f..70d62db 100755
--- a/src/pages/cart/espier-index.scss
+++ b/src/pages/cart/espier-index.scss
@@ -37,6 +37,7 @@
padding-top: 40px;
/* #endif */
margin-bottom: 36px;
+ padding-bottom: 100px;
&-shadow {
// box-shadow: 0px 2px 10px 0px #eae7e0;
}
@@ -154,7 +155,7 @@
}
.cart-item-wrap {
- padding: 60px 36px;
+ padding: 60px 36px 100px;
display: flex;
align-items: center;
background: #f7f7f7;
diff --git a/src/pages/item/espier-detail.js b/src/pages/item/espier-detail.js
index 5503fb0..ef8f759 100755
--- a/src/pages/item/espier-detail.js
+++ b/src/pages/item/espier-detail.js
@@ -330,7 +330,7 @@ function EspierDetail (props) {
const res = await api.member.itemHistory()
setState((draft) => {
- draft.historyList = res.list.filter((item) => item.item_id !== data.itemId).map((item) => ({ ...item.itemData, pic: item.itemData.pics?.[0] || '' }))
+ draft.historyList = res.list.filter((item) => item.item_id !== data.itemId)?.map((item) => ({ ...item.itemData, pic: item.itemData.pics?.[0] || '' })) || []
draft.historyTotal = res.total_count
})
@@ -585,21 +585,21 @@ function EspierDetail (props) {
-
+ /> */}
- 3
? info.couponList.list.slice(0, 3)
: info.couponList.list
}
onClick={handleReceiveCoupon}
- />
+ /> */}
@@ -779,11 +779,11 @@ function EspierDetail (props) {
isAnimation={false}
onClick={() => {
setState((draft) => {
- // draft.introList[index].isOpen = !draft.introList[index].isOpen
draft.introList = draft.introList.map((v, i) => {
- v.isOpen = (i === index)
+ v.isOpen = false
return v
})
+ draft.introList[index].isOpen = !item.isOpen
})
}}
title={item.title}
@@ -792,11 +792,11 @@ function EspierDetail (props) {
{
setState((draft) => {
- // draft.introList[index].isOpen = !draft.introList[index].isOpen
draft.introList = draft.introList.map((v, i) => {
- v.isOpen = (i === index)
+ v.isOpen = false
return v
})
+ draft.introList[index].isOpen = !item.isOpen
})
}}>
{item.isOpen ? :
@@ -804,7 +804,7 @@ function EspierDetail (props) {
{item.isOpen ? <>> : }
) : }
- {historyList.length &&
+ {isArray(historyList) ?
浏览历史
{historyList.map((item, idx) => (
@@ -819,7 +819,7 @@ function EspierDetail (props) {
))}
- }
+ : <>>}
)}
diff --git a/src/subpage/pages/trade/detail.js b/src/subpage/pages/trade/detail.js
index 5fcc216..a67b611 100755
--- a/src/subpage/pages/trade/detail.js
+++ b/src/subpage/pages/trade/detail.js
@@ -2,8 +2,8 @@ import React, { Component } from 'react'
import Taro, { getCurrentInstance } from '@tarojs/taro'
import { View, Text, Button, Image, ScrollView } from '@tarojs/components'
import { connect } from 'react-redux'
-import { AtCountdown } from 'taro-ui'
-import { Loading, SpNavBar, FloatMenuMeiQia, SpNewShopItem, SpPage, SpPrice } from '@/components'
+import { AtCountdown, AtCurtain } from 'taro-ui'
+import { Loading, SpNavBar, FloatMenuMeiQia, SpNewShopItem, SpPage, SpPrice, SpImage } from '@/components'
import {
log,
pickBy,
@@ -84,7 +84,9 @@ export default class TradeDetail extends Component {
cancelData: {},
tradeInfo: {},
showQRcode: false,
- distributor: {}
+ distributor: {},
+ showDeliveryModal: false,
+ deliveryList: []
}
}
@@ -480,10 +482,27 @@ export default class TradeDetail extends Component {
}
}
- handleClickDelivery = () => {
- Taro.navigateTo({
- url: `/subpage/pages/trade/delivery-info?order_type=${this.state.info.order_type}&order_id=${this.state.info.tid}&delivery_code=${this.state.info.delivery_code}&delivery_corp=${this.state.info.delivery_corp}&delivery_name=${this.state.info.delivery_name}`
+ handleClickDelivery = async (flag) => {
+ Taro.showLoading({ title: '' })
+ let { delivery_type, delivery_id, order_type, tid: order_id } = this.state.info
+ let list = []
+ if (delivery_type == 'new') {
+ list = await api.trade.deliveryInfoNew({ delivery_id })
+ } else {
+ list = await api.trade.deliveryInfo(order_type, order_id)
+ }
+ const nList = pickBy(list, {
+ title: 'AcceptStation',
+ content: ({ AcceptTime }) => [AcceptTime]
})
+ this.setState({
+ deliveryList: nList
+ })
+ this.setState({ showDeliveryModal: flag })
+ Taro.hideLoading()
+ // Taro.navigateTo({
+ // url: `/subpage/pages/trade/delivery-info?order_type=${this.state.info.order_type}&order_id=${this.state.info.tid}&delivery_code=${this.state.info.delivery_code}&delivery_corp=${this.state.info.delivery_corp}&delivery_name=${this.state.info.delivery_name}`
+ // })
}
handleClickCopy = (val) => {
@@ -668,7 +687,8 @@ export default class TradeDetail extends Component {
tradeInfo,
showQRcode,
pickup_code,
- distributor
+ distributor,
+ showDeliveryModal
} = this.state
if (!info) {
@@ -916,7 +936,7 @@ export default class TradeDetail extends Component {
<>
物流信息
- 查看详情
+ this.handleClickDelivery(true)}>查看详情
物流单号:{info.receiver_name}
物流公司:{info.receiver_name}
@@ -987,8 +1007,8 @@ export default class TradeDetail extends Component {
)}
-
- {/*
+ {/* */}
+ {/*
总计:
{this.isPointitemGood() ? (
@@ -1002,7 +1022,7 @@ export default class TradeDetail extends Component {
¥{info.totalpayment}
)}
*/}
- {/* {!info.is_logistics &&
+ {/* {!info.is_logistics &&
info.can_apply_cancel != 0 &&
(info.status === 'WAIT_BUYER_PAY' ||
(info.status === 'WAIT_SELLER_SEND_GOODS' &&
@@ -1015,7 +1035,7 @@ export default class TradeDetail extends Component {
)} */}
-
+ {/* */}
{/* {info.remark && (
订单备注
@@ -1139,7 +1159,7 @@ export default class TradeDetail extends Component {
物流单号
{info.delivery_code}
-
+
查看物流
)}
+
+ {
+ this.handleClickDelivery(false)
+ }}
+ >
+
+
+
+ 物流信息
+
+
+ {info.receiver_name}:{info.receiver_phone}
+
+
+ 亲爱的用户,感谢您使用Birkenstock微信小程序!为了加强对您个人信息的保护,我们根据最新法律的要求制定/更新了
+ ,我们将基于合法以及正当必要的原则,按照本政策的规定向您提供各项服务
+
+ 本政策旨在向您说明休迪贸易 (上海)有限公司及其在中国大陆境内的线上线下门店如何收集、使用、传输和保护您的个人信息
+ 通过《隐私政策》,我们向您主要说明:
+
+
+ 1.您在使用Birkenstock微信小程序时,可以选择浏览模式,也可以选择注册/登录成为Birkenstock微信小程序用户
+
+
+ 2为了向你提供Birkenstock微信小程序的其本服条,我们将基于合法以及正当必要的原则,按照本政策的规定向您提供各项服务
+
+
+
+
)
}
diff --git a/src/subpage/pages/trade/detail.scss b/src/subpage/pages/trade/detail.scss
index 75cde07..41be52b 100755
--- a/src/subpage/pages/trade/detail.scss
+++ b/src/subpage/pages/trade/detail.scss
@@ -26,7 +26,7 @@ $paddingBottom: 100px;
}
.scroll-view {
- @include page-scroll(var(--nav-height), 140px);
+ @include page-scroll(calc(var(--nav-height) + 16px), 140px);
}
&.has-navbar {
@@ -249,7 +249,7 @@ $paddingBottom: 100px;
}
}
.trade-detail-goods {
- margin: 14px 22px 0;
+ margin: 0px 22px;
// padding-top: 16px;
padding: 40px 30px 40px 20px;
min-height: 100px;
@@ -696,4 +696,57 @@ $paddingBottom: 100px;
color: #0091ff;
font-size: 28px;
}
+ .curtain {
+ .at-curtain__container {
+ width: 100%;
+ padding: 0 30px;
+ }
+ .at-curtain__btn-close--bottom {
+ // display: none;
+ border: none;
+ top: 10px;
+ right: 10px;
+ left: auto;
+ &::after,
+ &::before {
+ background-color: #000;
+ }
+ }
+ &_content {
+ width: 100%;
+ background-color: #fff;
+ border-radius: 10px;
+ padding: 100px 46px;
+ box-sizing: border-box;
+ &_title {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36px;
+ line-height: 1;
+ margin-bottom: 80px;
+ color: #000;
+ .sp-image {
+ margin-right: 4px;
+ }
+ }
+ .receiver_name {
+ font-size: 26px;
+ color: #000;
+ margin: 80px 0;
+ }
+ &_text {
+ line-height: 1.4;
+ height: 650px;
+ color: #000;
+ font-size: 26px;
+ }
+ }
+ .no-text {
+ color: #7e7e7e;
+ font-size: 20rpx;
+ margin-top: 28rpx;
+ line-height: 1.4;
+ }
+ }
}
diff --git a/src/subpage/pages/trade/invoice-list.js b/src/subpage/pages/trade/invoice-list.js
index 3c03529..9b56692 100755
--- a/src/subpage/pages/trade/invoice-list.js
+++ b/src/subpage/pages/trade/invoice-list.js
@@ -169,7 +169,7 @@ export default class InvoiceList extends Component {
)
})}
- {!page.isLoading && list?.length &&
+ {!page.isLoading && list?.length > 0 &&
已选{1}个订单,共计
diff --git a/src/subpage/pages/trade/list.js b/src/subpage/pages/trade/list.js
index c8e5b95..9580410 100755
--- a/src/subpage/pages/trade/list.js
+++ b/src/subpage/pages/trade/list.js
@@ -127,7 +127,8 @@ export default class TradeList extends Component {
order_status_des: 'order_status_des',
status: ({ order_status }) => resolveOrderStatus(order_status),
totalItems: ({ items }) => items.reduce((acc, item) => +item.num + acc, 0),
- payment: ({ item_fee_new }) => (item_fee_new / 100).toFixed(2),
+ // payment: ({ item_fee_new }) => (item_fee_new / 100).toFixed(2),
+ payment: ({ total_fee }) => (+total_fee / 100).toFixed(2),
total_fee: 'total_fee',
pay_type: 'pay_type',
point: 'point',
@@ -162,7 +163,8 @@ export default class TradeList extends Component {
origincountry_img_url: 'origincountry_img_url',
type: 'type',
item_spec_desc: 'item_spec_desc',
- price: ({ item_fee_new }) => (item_fee_new / 100).toFixed(2),
+ // price: ({ item_fee_new }) => (item_fee_new / 100).toFixed(2),
+ price: ({ total_fee }) => (+total_fee / 100).toFixed(2),
item_fee: 'item_fee',
point: 'item_point',
num: 'num',
diff --git a/src/subpages/marketing/coupon-center.js b/src/subpages/marketing/coupon-center.js
index a68d46f..395e77a 100755
--- a/src/subpages/marketing/coupon-center.js
+++ b/src/subpages/marketing/coupon-center.js
@@ -1,4 +1,4 @@
-import React, { useEffect } from 'react'
+import React, { useEffect, useRef } from 'react'
import { useSelector } from 'react-redux'
import { useImmer } from 'use-immer'
import Taro, { getCurrentInstance } from '@tarojs/taro'
@@ -18,6 +18,7 @@ function CouponCenter (props) {
const $instance = getCurrentInstance()
const [state, setState] = useImmer(initialState)
const { couponList } = state
+ const listRef = useRef(null)
useEffect(() => { getMypoint() }, [])
@@ -54,6 +55,23 @@ function CouponCenter (props) {
}
const handleClickCouponItem = async (item, index) => {
+ if (point <= 0 || point <= item.point) {
+ showToast('积分不足')
+ return
+ }
+ const res = await Taro.showModal({
+ title: '提示',
+ content: `确定要领取该优惠券吗?`,
+ showCancel: true,
+ cancel: '取消',
+ cancelText: '取消',
+ confirmText: '确定',
+ cancelColor: "#ccc",
+ confirmColor: "#000"
+ })
+ if (!res.confirm) {
+ return
+ }
if (item.couponStatus == 0) {
showToast('优惠券已领完')
} else if (item.couponStatus == 1) {
@@ -80,7 +98,7 @@ function CouponCenter (props) {
getCoupon(item, index)
}
} else {
- showToast('优惠券领取机会已用完')
+ showToast('优惠券已领取完啦')
}
}
@@ -99,6 +117,7 @@ function CouponCenter (props) {
})
}
showToast('优惠券领取成功')
+ getMypoint()
} else {
showToast('优惠券领取失败')
}
@@ -131,19 +150,27 @@ function CouponCenter (props) {
console.log('handleRedeem:', item)
}
+ const getPoint = async () => {
+ await api.member.depositToPoint({ money: 50000 })
+ showToast('积分+500')
+ setState((draft) => {
+ draft.couponList = []
+ })
+ listRef.current?.reset()
+ }
return (
{/* */}
- 我的积分
+ 我的积分
{(point || 0).toString()}
Taro.navigateTo({ url: '/subpages/marketing/coupon' })}>我的优惠券
-
+
暂无优惠券~}>
{couponList.map((item, index) => {
@@ -166,21 +193,22 @@ function CouponCenter (props) {
}
+ return
return (
- ¥{item.num || 100}
- {item.desc || '满100可用'}
+ ¥{item.reduceCost || 0}
+ 满{item.leastCost}可用
- {item.integral || 500}积分兑换
+ {item.title}
{/* {item.start_time}至{item.end_time} */}
- 有效日期:领取7天内有效
+ 有效日期:领取{item.fixedTerm}天内有效
- handleRedeem(item)}>立即兑换
+ 立即兑换
)
})}
diff --git a/src/subpages/marketing/coupon-center.scss b/src/subpages/marketing/coupon-center.scss
index f443541..bfa7efe 100755
--- a/src/subpages/marketing/coupon-center.scss
+++ b/src/subpages/marketing/coupon-center.scss
@@ -46,7 +46,8 @@
}
}
.list-scroll {
- padding: 20px;
+ // padding: 20px;
+ padding: 0 50px;
.coupon-item-wrap {
&:not(:last-child) {
margin-bottom: 20px;
@@ -57,8 +58,8 @@
width: 100%;
border-radius: 10px;
overflow: hidden;
- background: #5b5b5b;
- margin-bottom: 30px;
+ // background: #5b5b5b;
+ // margin-bottom: 30px;
display: flex;
color: #fff;
min-height: 175px;
diff --git a/src/subpages/marketing/coupon-picker.js b/src/subpages/marketing/coupon-picker.js
index 7720ce5..02db207 100755
--- a/src/subpages/marketing/coupon-picker.js
+++ b/src/subpages/marketing/coupon-picker.js
@@ -15,10 +15,10 @@ const initialState = {
couponListInVaild: [],
select: null
}
-function CouponPicker(props) {
+function CouponPicker (props) {
const $instance = getCurrentInstance()
const [state, setState] = useImmer(initialState)
- let { couponListVaild,couponListInVaild, select } = state
+ let { couponListVaild, couponListInVaild, select } = state
const dispatch = useDispatch()
const fetch = async ({ pageIndex, pageSize }) => {
@@ -47,12 +47,12 @@ function CouponPicker(props) {
const { list, total_count: total } = await api.cart.coupons(params)
const couponListNewVaul = pickBy(list, doc.coupon.COUPON_ITEM)
- couponListVaild = couponListNewVaul.filter(item=>item.valid)
- couponListInVaild = couponListNewVaul.filter(item=>!item.valid)
+ couponListVaild = couponListNewVaul.filter(item => item.valid)
+ couponListInVaild = couponListNewVaul.filter(item => !item.valid)
setState((draft) => {
draft.couponListVaild = couponListVaild,
- draft.couponListInVaild = couponListInVaild,
- draft.select = coupon
+ draft.couponListInVaild = couponListInVaild,
+ draft.select = coupon
})
return {
total
@@ -62,7 +62,7 @@ function CouponPicker(props) {
const onChangeSelectCoupon = (item, e) => {
let payload = null
// 不使用优惠券
- if(item) {
+ if (item) {
const { cardId, code, title } = item
payload = {
coupon_id: cardId,
@@ -103,15 +103,15 @@ function CouponPicker(props) {
{couponListVaild.map((item, index) => (
-
-
+
+ {/* */}
))}
- { couponListInVaild.length>0 ? 不可用优惠券 :''}
+ {couponListInVaild.length > 0 ? 不可用优惠券 : ''}
{couponListInVaild.map((item, index) => (
-
-
+
+ {/* */}
))}
diff --git a/src/subpages/marketing/coupon.js b/src/subpages/marketing/coupon.js
index 8de672a..025466e 100755
--- a/src/subpages/marketing/coupon.js
+++ b/src/subpages/marketing/coupon.js
@@ -120,38 +120,21 @@ function CouponIndex () {
暂无优惠券~}>
{couponList.map((item, index) => (
- //
- //
- // {item.cardType != 'new_gift' && 去使用}
- // {item.cardType == 'new_gift' && (
- //
- // {item?.tagClass == 'notstarted'
- // ? '未开始'
- // : {
- // '1': '去使用',
- // '10': '待核销'
- // }[item.status]}
- //
- // )}
- //
- //
- (
-
- ¥{item.num || 100}
- {item.desc || '满100可用'}
-
-
-
- {item.integral || 500}积分兑换
- {/* {item.start_time}至{item.end_time} */}
- 有效日期:领取7天内有效
-
- handleRedeem(item)}>立即使用
-
- )
+
+
+ {/* {item.cardType != 'new_gift' && 去使用}
+ {item.cardType == 'new_gift' && (
+
+ {item?.tagClass == 'notstarted'
+ ? '未开始'
+ : {
+ '1': '去使用',
+ '10': '待核销'
+ }[item.status]}
+
+ )} */}
+
+
))}
diff --git a/src/subpages/marketing/coupon.scss b/src/subpages/marketing/coupon.scss
index a7dc719..2afeff0 100755
--- a/src/subpages/marketing/coupon.scss
+++ b/src/subpages/marketing/coupon.scss
@@ -1,18 +1,18 @@
.page-marketing-coupon {
.list-scroll {
- padding: 20px 50px;
- .coupon-item-wrap {
- &:not(:last-child) {
- margin-bottom: 20px;
- }
- }
+ padding: 0px 50px;
+ // .coupon-item-wrap {
+ // &:not(:last-child) {
+ // margin-bottom: 20px;
+ // }
+ // }
.coupons-list {
&-item {
width: 100%;
border-radius: 10px;
overflow: hidden;
- background: #5b5b5b;
- margin-bottom: 30px;
+ // background: #5b5b5b;
+ // margin-bottom: 30px;
display: flex;
color: #fff;
min-height: 175px;
diff --git a/src/utils/index.js b/src/utils/index.js
index 1375d60..ac5c0d0 100755
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -30,49 +30,49 @@ export * from './platforms'
const isPrimitiveType = (val, type) => Object.prototype.toString.call(val) === type
-export function isFunction(val) {
+export function isFunction (val) {
return isPrimitiveType(val, '[object Function]')
}
-export function uniqueFunc(arr, uniId) {
- const res = new Map();
- return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1));
+export function uniqueFunc (arr, uniId) {
+ const res = new Map()
+ return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1))
}
-export function isNumber(val) {
+export function isNumber (val) {
return isPrimitiveType(val, '[object Number]')
}
-export function isPointerEvent(val) {
+export function isPointerEvent (val) {
return isPrimitiveType(val, '[object PointerEvent]')
}
-export function isObject(val) {
+export function isObject (val) {
return isPrimitiveType(val, '[object Object]')
}
-export function isBoolean(val) {
+export function isBoolean (val) {
return isPrimitiveType(val, '[object Boolean]')
}
-export function isArray(arr) {
+export function isArray (arr) {
return Array.isArray(arr)
}
-export function isString(val) {
+export function isString (val) {
return typeof val === 'string'
}
-export function isEmpty(obj) {
+export function isEmpty (obj) {
return _isEmpty(obj)
}
-export function removeItemInArray(array, fn) {
+export function removeItemInArray (array, fn) {
_remove(array, fn)
// return array
}
-export function isObjectsValue(val) {
+export function isObjectsValue (val) {
// 判断对象是否有值 true:有 false:无
return val && Object.keys(val).length > 0
}
@@ -122,7 +122,7 @@ export const getBrowserEnv = () => {
/** 在H5平台(微信浏览器) */
export const isWxWeb = isWeb && !!getBrowserEnv().weixin
-export function isObjectValueEqual(a, b) {
+export function isObjectValueEqual (a, b) {
var aProps = Object.getOwnPropertyNames(a)
var bProps = Object.getOwnPropertyNames(b)
if (aProps.length != bProps.length) {
@@ -177,7 +177,7 @@ export const isIphoneX = () => {
}
// TODO: 验证方法在h5及边界情况稳定性
-export function getCurrentRoute() {
+export function getCurrentRoute () {
const router = getCurrentInstance().router
// eslint-disable-next-line
const { $taroTimestamp, ...params } = router.params || {}
@@ -192,7 +192,7 @@ export function getCurrentRoute() {
}
// 除以100以后的千分符
-export function formatPriceToHundred(price) {
+export function formatPriceToHundred (price) {
if (price) {
return (Number(price) / 100)
.toFixed(2)
@@ -203,11 +203,11 @@ export function formatPriceToHundred(price) {
}
}
-export function thousandthFormat(value) {
+export function thousandthFormat (value) {
return (value.toString() + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
}
-export async function normalizeQuerys(params = {}) {
+export async function normalizeQuerys (params = {}) {
const { scene, ...rest } = params
const queryStr = decodeURIComponent(scene)
const obj = qs.parse(queryStr)
@@ -228,7 +228,7 @@ export async function normalizeQuerys(params = {}) {
return ret
}
-export function pickBy(arr = [], keyMaps = {}) {
+export function pickBy (arr = [], keyMaps = {}) {
const picker = (item) => {
const ret = {}
@@ -256,7 +256,7 @@ export function pickBy(arr = [], keyMaps = {}) {
}
}
-export function navigateTo(url, isRedirect) {
+export function navigateTo (url, isRedirect) {
if (isObject(isRedirect) || isPointerEvent(isRedirect)) {
isRedirect = false
}
@@ -268,23 +268,26 @@ export function navigateTo(url, isRedirect) {
return Taro.navigateTo({ url })
}
-export function resolvePath(baseUrl, params = {}) {
+export function resolvePath (baseUrl, params = {}) {
const queryStr = typeof params === 'string' ? params : qs.stringify(params)
return `${baseUrl}${baseUrl.indexOf('?') >= 0 ? '&' : '?'}${queryStr}`
}
-export function formatTime(time, formatter = 'YYYY-MM-DD') {
+export function diffInDays (time1, time2) {
+ return Math.abs(dayjs(time1).diff(dayjs(time2), 'day'))
+}
+export function formatTime (time, formatter = 'YYYY-MM-DD') {
const newTime = time.toString().length < 13 ? time * 1000 : time
return dayjs(newTime).format(formatter)
}
-export function formatDateTime(time, formatter = 'YYYY-MM-DD HH:mm:ss') {
+export function formatDateTime (time, formatter = 'YYYY-MM-DD HH:mm:ss') {
const newTime = time.toString().length < 13 ? time * 1000 : time
return dayjs(newTime).format(formatter)
}
-export function copyText(text, msg = '内容已复制') {
+export function copyText (text, msg = '内容已复制') {
return new Promise((resolve, reject) => {
if (process.env.TARO_ENV === 'weapp') {
Taro.setClipboardData({
@@ -297,7 +300,7 @@ export function copyText(text, msg = '内容已复制') {
console.log('copyText:text', text)
my.setClipboard({
text: text,
- });
+ })
resolve(text)
return
}
@@ -311,7 +314,7 @@ export function copyText(text, msg = '内容已复制') {
})
}
-export function calcTimer(totalSec) {
+export function calcTimer (totalSec) {
let remainingSec = totalSec
const dd = Math.floor(totalSec / 24 / 3600)
remainingSec -= dd * 3600 * 24
@@ -329,7 +332,7 @@ export function calcTimer(totalSec) {
}
}
-export function resolveOrderStatus(status, isBackwards) {
+export function resolveOrderStatus (status, isBackwards) {
if (isBackwards) {
return _findKey(STATUS_TYPES_MAP, (o) => o === status)
}
@@ -337,7 +340,7 @@ export function resolveOrderStatus(status, isBackwards) {
return STATUS_TYPES_MAP[status]
}
-export function goToPage(page) {
+export function goToPage (page) {
// eslint-disable-next-line
const loc = location
page = page.replace(/^\//, '')
@@ -346,14 +349,14 @@ export function goToPage(page) {
loc.href = url
}
-export function maskMobile(mobile) {
+export function maskMobile (mobile) {
return mobile.replace(/^(\d{2})(\d+)(\d{2}$)/, '$1******$3')
}
// 不可使用promise/async异步写法
-export function authSetting(scope, succFn, errFn) {
+export function authSetting (scope, succFn, errFn) {
Taro.getSetting({
- success(res) {
+ success (res) {
const result = res.authSetting[isWeixin ? `scope.${scope}` : `${scope}`]
if (isWeixin) {
if (result === undefined) {
@@ -377,13 +380,13 @@ export function authSetting(scope, succFn, errFn) {
}
}
},
- fail(res) {
+ fail (res) {
console.error(res)
}
})
}
-export function imgCompression(url) {
+export function imgCompression (url) {
const rule = '?imageView2/1/w/80'
return url + rule
}
@@ -442,7 +445,7 @@ const getUrl = (url) => {
return `${hrefList[0]}//${hrefList[2]}${url}`
}
-export function tokenParseH5(token) {
+export function tokenParseH5 (token) {
try {
let base64Url = token.split('.')[1]
return JSON.parse(atob(base64Url))
@@ -451,7 +454,7 @@ export function tokenParseH5(token) {
}
}
-export function tokenParse(token) {
+export function tokenParse (token) {
var base64Url = token.split('.')[1]
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/')
console.log('Taro.base64ToArrayBuffer', base64)
@@ -470,7 +473,7 @@ export function tokenParse(token) {
}
// 解析字符串
-function getQueryVariable(herf) {
+function getQueryVariable (herf) {
const url = herf.split('?')
let query = {}
if (url[1]) {
@@ -485,7 +488,7 @@ function getQueryVariable(herf) {
return query
}
/** 是否是合法的color */
-function validColor(color) {
+function validColor (color) {
var re1 = /^#([0-9a-f]{6}|[0-9a-f]{3})$/i
var re2 =
/^rgb\(([0-9]|[0-9][0-9]|25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9])\,([0-9]|[0-9][0-9]|25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9])\,([0-9]|[0-9][0-9]|25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9])\)$/i
@@ -506,7 +509,7 @@ function validColor(color) {
* }
* } data 新增上报数据
*/
-export async function buriedPoint(data) {
+export async function buriedPoint (data) {
const params = getCurrentInstance().router.params
let {
gu,
@@ -559,7 +562,7 @@ export async function buriedPoint(data) {
*
*/
-export function paramsSplice(params) {
+export function paramsSplice (params) {
let str = ''
let arr = []
for (var key in params) {
@@ -570,7 +573,7 @@ export function paramsSplice(params) {
return str
}
-export function resolveFavsList(list, favs) {
+export function resolveFavsList (list, favs) {
return list.map((t) => {
const { item_id } = t
return {
@@ -581,7 +584,7 @@ export function resolveFavsList(list, favs) {
}
// 判断是否在导购货架
-export function isGoodsShelves() {
+export function isGoodsShelves () {
const system = Taro.getSystemInfoSync()
log.debug(`this system is: ${JSON.stringify(system)}`)
if (system && system.environment && system.environment === 'wxwork') {
@@ -591,7 +594,7 @@ export function isGoodsShelves() {
}
}
-export function styleNames(styles) {
+export function styleNames (styles) {
if (!styles || typeof styles !== 'object') {
return '""'
}
@@ -619,7 +622,7 @@ export function styleNames(styles) {
return `${styleNames}`
}
-export function getThemeStyle() {
+export function getThemeStyle () {
const result = store.getState()
const { colorPrimary, colorMarketing, colorAccent, rgb } = result.sys
return {
@@ -630,13 +633,13 @@ export function getThemeStyle() {
}
}
-export function isNavbar() {
+export function isNavbar () {
return isWeb && !getBrowserEnv().weixin
}
export const hasNavbar = isWeb && !getBrowserEnv().weixin
-export function showToast(title, callback) {
+export function showToast (title, callback) {
Taro.showToast({
title,
icon: 'none'
@@ -646,7 +649,7 @@ export function showToast(title, callback) {
}, 2000)
}
-export function hex2rgb(hex) {
+export function hex2rgb (hex) {
if (![4, 7].includes(hex.length)) {
throw new Error('格式错误')
}
@@ -663,7 +666,7 @@ export function hex2rgb(hex) {
for (let i = 0, len = result.length; i < len; i += 2) {
rgb[i / 2] = getHexVal(result[i]) * 16 + getHexVal(result[i + 1])
}
- function getHexVal(letter) {
+ function getHexVal (letter) {
let num = -1
switch (letter.toUpperCase()) {
case 'A':
@@ -695,12 +698,12 @@ export function hex2rgb(hex) {
return rgb
}
-export function exceedLimit({ size: fileSize }) {
+export function exceedLimit ({ size: fileSize }) {
const size = fileSize / 1024 / 1024
return size > 15
}
-function isBase64(str) {
+function isBase64 (str) {
let isStr = str?.url ? str?.url : str
if (isStr.indexOf('data:') != -1 && isStr.indexOf('base64') != -1) {
return true
@@ -715,7 +718,7 @@ const isMerchantModule = () => {
return /\/subpages\/merchant/.test(pathname)
}
-function isUndefined(val) {
+function isUndefined (val) {
return typeof val === 'undefined'
}
@@ -725,7 +728,7 @@ const merchantIsvaild = async (parmas) => {
return status
}
-export function getExtConfigData() {
+export function getExtConfigData () {
const extConfig = Taro.getExtConfigSync ? Taro.getExtConfigSync() : {}
if (_isEmpty(extConfig)) {
return {
@@ -798,7 +801,7 @@ const alipayAutoLogin = () => {
my.getAuthCode({
scopes: 'auth_base',
success: (res) => {
- const code = res.authCode;
+ const code = res.authCode
resolve({ code })
},
fail: (res) => {
@@ -815,19 +818,19 @@ const requestAlipayminiPayment = (tradeNO) => {
my.tradePay({
tradeNO: tradeNO,
success: (res) => {
- console.log('支付回调成功res', res);
+ console.log('支付回调成功res', res)
resolve(res)
},
fail: (res) => {
- console.log('支付回调失败res', res);
+ console.log('支付回调失败res', res)
reject(res)
}
- });
+ })
})
}
const htmlStringToNodeArray = (htmlString) => {
- let nodeArray = null;
+ let nodeArray = null
parse(htmlString, (err, nodes) => {
if (!err) {
nodeArray = nodes
@@ -835,7 +838,7 @@ const htmlStringToNodeArray = (htmlString) => {
log.error('htmlStringToNodeArray error')
}
})
- return nodeArray;
+ return nodeArray
}
const getCurrentPageRouteParams = () => {
@@ -861,7 +864,7 @@ const resolveUrlParamsParse = (url) => {
const itemArr = item.split('=')
const key = itemArr[0]
const value = itemArr[1]
- res[key] = value;
+ res[key] = value
})
return res
}