From 12e70ce8ae092795848ac4d35caac2e0fb201852 Mon Sep 17 00:00:00 2001
From: czm <2192718639@qq.com>
Date: Wed, 23 Nov 2022 21:03:24 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=88=20perf(=E5=AE=A2=E6=9C=8D=E5=92=A8?=
=?UTF-8?q?=E8=AF=A2=E5=AE=8C=E6=88=90):?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/common/constant.js | 4 +-
.../components/swiper/index.module.scss | 53 ++--
src/pages/details/index.module.scss | 38 ++-
src/pages/details/index.tsx | 35 ++-
src/pages/user/index.tsx | 11 +-
src/pages/userEdit/index.tsx | 279 ++++++++++--------
src/styles/iconfont.scss | 78 +----
7 files changed, 240 insertions(+), 258 deletions(-)
diff --git a/src/common/constant.js b/src/common/constant.js
index c2f3a40..08f3a2c 100644
--- a/src/common/constant.js
+++ b/src/common/constant.js
@@ -1,4 +1,4 @@
-// export const BASE_URL = CURRENT_BASE_URL
+export const BASE_URL = CURRENT_BASE_URL
// export const BASE_URL = `http://192.168.0.75:50001/lymarket`
// export const BASE_URL = `http://192.168.0.89:50001/lymarket`
// export const BASE_URL = `http://10.0.0.5:50001/lymarket`
@@ -12,7 +12,7 @@
// export const BASE_URL = `https://dev.zzfzyc.com/lymarket` // 开发环境
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
-export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
+// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
// export const BASE_URL = `http://192.168.1.22:50002/lymarket` // 婷
// export const BASE_URL = `http://192.168.1.42:50002/lymarket` // 杰
diff --git a/src/pages/details/components/swiper/index.module.scss b/src/pages/details/components/swiper/index.module.scss
index f65584e..926728e 100644
--- a/src/pages/details/components/swiper/index.module.scss
+++ b/src/pages/details/components/swiper/index.module.scss
@@ -1,28 +1,29 @@
-.swiper{
- height: 450px;
+.swiper {
+ height: 450px;
+ width: 100%;
+ position: relative;
+ .swiper_item {
+ height: 100%;
width: 100%;
- position: relative;
- .swiper_item{
- height: 100%;
- width: 100%;
+ }
+ .image_item {
+ width: 100%;
+ height: 100%;
+ image {
+ width: 100%;
+ height: 100%;
+ display: block;
+ border-radius: 20px 20px 0 0;
}
- .image_item{
- width: 100%;
- height: 100%;
- image{
- width: 100%;
- height: 100%;
- display: block;
- }
- }
- .page{
- font-size: $font_size_min;
- padding: 5px 20px;
- background-color: rgba(0,0,0,0.3);
- color: #fff;
- border-radius: 50px;
- position: absolute;
- bottom: 20px;
- right: 20px;
- }
-}
\ No newline at end of file
+ }
+ .page {
+ font-size: $font_size_min;
+ padding: 5px 20px;
+ background-color: rgba(0, 0, 0, 0.3);
+ color: #fff;
+ border-radius: 50px;
+ position: absolute;
+ bottom: 20px;
+ right: 20px;
+ }
+}
diff --git a/src/pages/details/index.module.scss b/src/pages/details/index.module.scss
index e6a2f8c..4e511b5 100644
--- a/src/pages/details/index.module.scss
+++ b/src/pages/details/index.module.scss
@@ -3,11 +3,12 @@
background-color: $color_bg_one;
padding: 20px 20px 100px 20px;
.product_header {
- padding: 0 20px;
+ padding: 20px 20px 0 20px;
display: flex;
- align-items: center;
height: 163.57px;
background-color: #fff;
+ box-sizing: border-box;
+ border-radius: 20px;
.title {
flex: 1;
.name {
@@ -30,8 +31,9 @@
text-align: center;
color: $color_font_three;
position: relative;
+ margin-left: 10px;
.text {
- margin-top: 10px;
+ margin-top: 5px;
font-size: $font_size_medium;
}
}
@@ -45,6 +47,7 @@
}
.miconfont {
font-size: 45px;
+ color: #333333;
}
.collected {
color: #ffc300;
@@ -57,7 +60,7 @@
border-radius: 16px;
.title {
font-size: $font_size;
- font-weight: 700;
+ font-weight: 500;
color: $color_font_one;
margin-bottom: 20px;
}
@@ -88,7 +91,10 @@
padding: 30px 20px 0;
color: $color_font_one;
font-size: $font_size_medium;
+ border-radius: 20px;
.title {
+ color: rgba(0, 0, 0, 0.8);
+ font-weight: 500;
}
.list {
margin-top: 30px;
@@ -147,7 +153,10 @@
background-color: #fff;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
-
+ .icon_btn {
+ display: flex;
+ padding: 0 20px 0 50px;
+ }
.buy_cart {
width: 150px;
color: $color_font_three;
@@ -155,9 +164,11 @@
position: relative;
.text {
font-size: $font_size_min;
+ color: #333333;
}
.miconfont {
font-size: 50px;
+ color: #333333;
}
.product_num {
position: absolute;
@@ -176,11 +187,13 @@
}
.customer_service {
text-align: center;
+ position: relative;
.miconfont {
font-size: 50px;
}
.text {
font-size: $font_size_min;
+ color: #333333;
}
}
.buy_btn {
@@ -193,12 +206,15 @@
font-size: $font_size;
color: #fff;
position: relative;
- .phoneBtn {
- background-color: rgba(0, 0, 0, 0);
- position: absolute;
- width: 100%;
- height: 100%;
- }
}
}
+ .wxBtn {
+ // background-color: rgba(0, 0, 0, 0);
+ opacity: 0;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ }
}
diff --git a/src/pages/details/index.tsx b/src/pages/details/index.tsx
index 2b00307..537a5e1 100644
--- a/src/pages/details/index.tsx
+++ b/src/pages/details/index.tsx
@@ -92,6 +92,12 @@ export default (props: Params) => {
// `
const html = ``
+ const shareImg = useMemo(() => {
+ let data = productInfo.texture_url ? productInfo.texture_url.toString().split(',') : []
+ let str = data.length > 0 ? data[0] : '/mall/share_img_01.png'
+ return formatImgUrl(str, '!w400')
+ }, [productInfo])
+
const { setSortCode, userInfo: userObj } = useUserInfo()
//详情页获取分享短码
const { ShareDetail } = SHARE_SCENE
@@ -102,7 +108,7 @@ export default (props: Params) => {
type: ShareDetail.value,
product_id: parseInt(params.id),
})
- const img = formatImgUrl(productInfo.texture_url || '/mall/share_img_01.png', '!w400')
+ const img = formatImgUrl(shareImg, '!w400')
setSortCode({ ...userObj.sort_code, shareShortDetail: { title: productName as string, code: resDetail.md5_key, img: img } })
}
@@ -177,20 +183,20 @@ export default (props: Params) => {
{productInfo.code && {productName}}
{productInfo.describe}
-
-
- 分享
-
-
收藏
+
+
+ 分享
+
+
商品参数
@@ -237,10 +243,19 @@ export default (props: Params) => {
-
+
- 客服
+
+ 客服
+
+
setShowCart(true)}>
@@ -251,7 +266,7 @@ export default (props: Params) => {
{(!userInfo.adminUserInfo?.is_authorize_phone && (
-
+
选购商品
)) || (
diff --git a/src/pages/user/index.tsx b/src/pages/user/index.tsx
index f9fa34d..3ceaa50 100644
--- a/src/pages/user/index.tsx
+++ b/src/pages/user/index.tsx
@@ -341,16 +341,7 @@ const Main = memo(() => {
- {item.type === 'customer' && (
-
- )}
+ {item.type === 'customer' && }
)
})}
diff --git a/src/pages/userEdit/index.tsx b/src/pages/userEdit/index.tsx
index 55a84d5..5a45875 100644
--- a/src/pages/userEdit/index.tsx
+++ b/src/pages/userEdit/index.tsx
@@ -1,158 +1,161 @@
-
-import { alert, goLink, isEmptyObject, retrieval } from "@/common/common";
-import Popup from "@/components/popup";
-import { Button, Image, Picker, Text, Textarea, View } from "@tarojs/components"
-import Taro, { chooseMedia } from "@tarojs/taro";
-import { realNameUpdateApi, companyTypeApi, portraitUpdateApi } from "@/api/user";
-import { companyDetailApi, companyUpdateApi } from "@/api/company"
-import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react"
-import "./index.scss"
-import ModifyModal from "./components/ModifyModal";
-import useLogin from "@/use/useLogin";
-import { useSelector } from "@/reducers/hooks";
-import useUploadCDNImg from "@/use/useUploadImage";
-import { IMG_CND_Prefix } from "@/common/constant";
-import useUserInfo from "@/use/useUserInfo";
+import { alert, goLink, isEmptyObject, retrieval } from '@/common/common'
+import Popup from '@/components/popup'
+import { Button, Image, Picker, Text, Textarea, View } from '@tarojs/components'
+import Taro, { chooseMedia } from '@tarojs/taro'
+import { realNameUpdateApi, companyTypeApi, portraitUpdateApi } from '@/api/user'
+import { companyDetailApi, companyUpdateApi } from '@/api/company'
+import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
+import './index.scss'
+import ModifyModal from './components/ModifyModal'
+import useLogin from '@/use/useLogin'
+import { useSelector } from '@/reducers/hooks'
+import useUploadCDNImg from '@/use/useUploadImage'
+import { IMG_CND_Prefix } from '@/common/constant'
+import useUserInfo from '@/use/useUserInfo'
export default () => {
- const { getPhoneNumber, getAdminUserInfo } = useLogin();
- const { adminUserInfo } = useSelector(state => state.userInfo);
+ const { getPhoneNumber, getAdminUserInfo } = useLogin()
+ const { adminUserInfo } = useSelector((state) => state.userInfo)
// 用户信息
useEffect(() => {
setFormData({
...formData,
- ...adminUserInfo as any,
- });
- }, [adminUserInfo]);
+ ...(adminUserInfo as any),
+ })
+ }, [adminUserInfo])
useEffect(() => {
setFormData({
- ...adminUserInfo as any,
- company_type_index: 0
- });
- getCompanyTypeData();
+ ...(adminUserInfo as any),
+ company_type_index: 0,
+ })
+ getCompanyTypeData()
}, [])
// 表单数据
- const [formData, setFormData] = useState(adminUserInfo);
+ const [formData, setFormData] = useState(adminUserInfo)
// 昵称修改保存
- const { fetchData: realNameUpdateFetch } = realNameUpdateApi();
+ const { fetchData: realNameUpdateFetch } = realNameUpdateApi()
const rules = {
- text: [{
- message: "请输入"
- }]
+ text: [
+ {
+ message: '请输入',
+ },
+ ],
}
- const { fetchData: saveFetch } = companyUpdateApi();
- const { fetchData: getCompanyFetch } = companyDetailApi();
+ const { fetchData: saveFetch } = companyUpdateApi()
+ const { fetchData: getCompanyFetch } = companyDetailApi()
const handleTextareaSave = async (text, type) => {
- retrieval({ text }, rules).then(async () => {
- let result;
- if (type == "Ickname") {
- result = await realNameUpdateFetch({ real_name: text });
- } else {
- const params = await getCompanyFetch();
- result = await saveFetch({
- ...params.data,
- company_name: text
- });
- }
- if (result.success) {
- getAdminUserInfo();
- (ModifyIcknameEl.current as any).setModalShow(false);
- (ModifyCompanyNameEl.current as any).setModalShow(false)
- alert.success("保存成功");
- } else {
- alert.none(result.msg);
- }
- }).catch(message => {
- alert.none(message);
- })
+ retrieval({ text }, rules)
+ .then(async () => {
+ let result
+ if (type == 'Ickname') {
+ result = await realNameUpdateFetch({ real_name: text })
+ } else {
+ const params = await getCompanyFetch()
+ result = await saveFetch({
+ ...params.data,
+ company_name: text,
+ })
+ }
+ if (result.success) {
+ getAdminUserInfo()
+ ;(ModifyIcknameEl.current as any).setModalShow(false)
+ ;(ModifyCompanyNameEl.current as any).setModalShow(false)
+ alert.success('保存成功')
+ } else {
+ alert.none(result.msg)
+ }
+ })
+ .catch((message) => {
+ alert.none(message)
+ })
}
// Taro.eventCenter.on('message:detail', (message) => console.log(message))
// 面面跳转
const onNavigate = (url: string) => {
- goLink(url);
+ goLink(url)
}
// 肖像编辑
- const { fetchData: portraitUpdateFetch } = portraitUpdateApi();
- const { getWxPhoto } = useUploadCDNImg();
+ const { fetchData: portraitUpdateFetch } = portraitUpdateApi()
+ const { getWxPhoto } = useUploadCDNImg()
const handleSelectRortrait = () => {
Taro.showModal({
- title: "提示",
- content: "是否确定更改头像?",
+ title: '提示',
+ content: '是否确定更改头像?',
showCancel: true,
async success(ev) {
if (ev.confirm) {
- let result = await getWxPhoto('mall');
+ let result = await getWxPhoto('mall')
const portraitUpdateResult = await portraitUpdateFetch({
- avatar_url: IMG_CND_Prefix + (result as any).url
- });
+ avatar_url: IMG_CND_Prefix + (result as any).url,
+ })
if (portraitUpdateResult.success) {
- getAdminUserInfo();
- alert.success("保存成功");
+ getAdminUserInfo()
+ alert.success('保存成功')
} else {
- alert.none(portraitUpdateResult.msg);
+ alert.none(portraitUpdateResult.msg)
}
}
- }
+ },
})
}
const mGetPhoneNumber = (ev) => {
if (ev.detail?.code) {
- getPhoneNumber(ev.detail.code);
+ getPhoneNumber(ev.detail.code)
} else {
- alert.none("绑定失败!");
+ alert.none('绑定失败!')
}
}
- const ModifyIcknameEl = useRef(null);
- const ModifyCompanyNameEl = useRef(null);
+ const ModifyIcknameEl = useRef(null)
+ const ModifyCompanyNameEl = useRef(null)
// 获取企业类型
- const { fetchData: companyTypeFetch, state: companyTypeData } = companyTypeApi();
+ const { fetchData: companyTypeFetch, state: companyTypeData } = companyTypeApi()
const getCompanyTypeData = async () => {
- const reuslt = await companyTypeFetch();
+ const reuslt = await companyTypeFetch()
if (reuslt.success) {
reuslt.data?.list?.every((item, index) => {
if (item.id == (adminUserInfo as any).purchaser_type) {
setFormData({
- ...adminUserInfo as any,
- company_type_index: index
- });
- return false;
+ ...(adminUserInfo as any),
+ company_type_index: index,
+ })
+ return false
}
- return true;
+ return true
})
}
}
// 修改企业类型
const handleCompanyType = async (ev) => {
- const { value } = ev.detail;
- const item = companyTypeData.data.list && companyTypeData.data.list[value];
+ const { value } = ev.detail
+ const item = companyTypeData.data.list && companyTypeData.data.list[value]
if (item) {
- if(item.id == 0) return alert.error('请选择类型')
- const params = await getCompanyFetch();
+ if (item.id == 0) return alert.error('请选择类型')
+ const params = await getCompanyFetch()
const result = await saveFetch({
...params.data,
- purchaser_type: item.id
- });
+ purchaser_type: item.id,
+ })
if (result.success) {
- getAdminUserInfo();
- alert.success("保存成功")
+ getAdminUserInfo()
+ alert.success('保存成功')
} else {
- alert.none(result.msg);
+ alert.none(result.msg)
}
}
}
- const {removeToken, removeSessionKey, removeUserInfo} = useUserInfo()
+ const { removeToken, removeSessionKey, removeUserInfo } = useUserInfo()
const outLogin = () => {
removeToken()
removeSessionKey()
removeUserInfo()
- goLink('/pages/index/index',{}, 'switchTab')
+ goLink('/pages/index/index', {}, 'switchTab')
}
const comanyTypeDataFormat = useMemo(() => {
- if(companyTypeData.data.list) {
- return companyTypeData.data.list?.map(item => {
- if(item.id == 0) item.name = '--请选择类型--'
+ if (companyTypeData.data.list) {
+ return companyTypeData.data.list?.map((item) => {
+ if (item.id == 0) item.name = '--请选择类型--'
return item
})
} else {
@@ -161,42 +164,69 @@ export default () => {
}, [companyTypeData])
return (
-
-
+
+
点击编辑头像
-
- 个人资料
- (ModifyIcknameEl.current as any).setModalShow(true)} data={(formData as any)?.user_name} label="昵称" placeholder="请输入" icon="" />
-
- {((formData as any)?.phone) ?
- {(formData as any)?.phone}
- 已绑定
- :
-
- }
+
+
+ 个人资料
+
+ (ModifyIcknameEl.current as any).setModalShow(true)}
+ data={(formData as any)?.user_name}
+ label='昵称'
+ placeholder='请输入'
+ icon=''
+ />
+
+ {(formData as any)?.phone ? (
+
+ {(formData as any)?.phone}
+ 已绑定
+
+ ) : (
+
+ )}
-
- 组织资料
- (ModifyCompanyNameEl.current as any).setModalShow(true)} data={(formData as any)?.company_name} label="组织名称" placeholder="待绑定" icon="" />
-
+
+
+ 组织资料
+
+ (ModifyCompanyNameEl.current as any).setModalShow(true)}
+ data={(formData as any)?.company_name}
+ label='组织名称'
+ placeholder='待绑定'
+ icon=''
+ />
+ {/*
{formData?.purchaser_type_name}
-
-
-
- {(formData as any)?.authentication_status == 4 ? "已认证" : "未认证"}
+ */}
+
+
+ {(formData as any)?.authentication_status == 4 ? '已认证' : '未认证'}
-
+
-
+
- handleTextareaSave(value, "Ickname")} />
- handleTextareaSave(value, "companyName")} />
+ handleTextareaSave(value, 'Ickname')} />
+ handleTextareaSave(value, 'companyName')}
+ />
)
}
@@ -204,22 +234,11 @@ export default () => {
// 列表
const UserEditList = memo((props: any) => {
return (
-
-
- {props.label}
-
-
-
- {
- props.children ? props.children :
- props.data ? props.data :
- {props.placeholder}
- }
-
- {
- !props.useIcon &&
-
- }
+
+ {props.label}
+
+ {props.children ? props.children : props.data ? props.data : {props.placeholder}}
+ {!props.useIcon && }
)
diff --git a/src/styles/iconfont.scss b/src/styles/iconfont.scss
index 4d28a88..e23a729 100644
--- a/src/styles/iconfont.scss
+++ b/src/styles/iconfont.scss
@@ -267,9 +267,9 @@
content: '\e62f';
}
-.icon-daifahuo:before {
- content: '\e629';
-}
+// .icon-daifahuo:before {
+// content: '\e629';
+// }
.icon-daishouhuo:before {
content: '\e62a';
@@ -279,70 +279,10 @@
content: '\e62b';
}
-.icon-daipeibu:before {
- content: '\e62c';
-}
+// .icon-daipeibu:before {
+// content: '\e62c';
+// }
-.icon-daifukuan:before {
- content: '\e62d';
-}
-
-.icon-shezhi:before {
- content: '\e630';
-}
-
-.icon-tishi:before {
- content: '\e631';
-}
-
-.icon-erweima:before {
- content: '\e632';
-}
-
-.icon-dianjishoucang:before {
- content: '\e633';
-}
-
-.icon-gouwuche:before {
- content: '\e634';
-}
-
-.icon-shoucangchenggong:before {
- content: '\e635';
-}
-
-.icon-fenxiangshangpin:before {
- content: '\e636';
-}
-
-.icon-kefu:before {
- content: '\e637';
-}
-
-.icon-xinzenganniu:before {
- content: '\e62e';
-}
-
-.icon-jianshaoanniu:before {
- content: '\e62f';
-}
-
-.icon-daifahuo:before {
- content: '\e629';
-}
-
-.icon-daishouhuo:before {
- content: '\e62a';
-}
-
-.icon-tuikuan-shouhou:before {
- content: '\e62b';
-}
-
-.icon-daipeibu:before {
- content: '\e62c';
-}
-
-.icon-daifukuan:before {
- content: '\e62d';
-}
+// .icon-daifukuan:before {
+// content: '\e62d';
+// }