diff --git a/package.json b/package.json
index e944196..e914f52 100644
--- a/package.json
+++ b/package.json
@@ -56,8 +56,7 @@
"autoprefixer": "^10.4.14",
"react": "^18.0.0",
"react-dom": "^18.0.0",
- "react-refresh": "^0.11.0",
- "tailwindcss": "^3.3.2"
+ "react-refresh": "^0.11.0"
},
"devDependencies": {
"@babel/core": "^7.8.0",
diff --git a/src/app.config.js b/src/app.config.js
index 494ca02..62c02ee 100644
--- a/src/app.config.js
+++ b/src/app.config.js
@@ -4,6 +4,26 @@ export default defineAppConfig({
'pages/login/index',
'pages/register/index',
'pages/forgot/index',
+ 'pages/goods-detail/index',
+ 'pages/shopping/index',
+ 'pages/settle/index',
+ 'pages/pay-success/index',
+ 'pages/address/index',
+ 'pages/address-create/index',
+ 'pages/change-pwd/index',
+ 'pages/change-phone/index',
+ 'pages/home/index',
+ 'pages/user-info/index',
+ 'pages/add-card/index',
+ 'pages/my-card/index',
+ 'pages/team/index',
+ 'pages/cash/index',
+ 'pages/balance/index',
+ 'pages/transfer/index',
+ 'pages/income/index',
+ 'pages/conversion/index',
+ 'pages/scope/index',
+ 'pages/order/index',
],
window: {
backgroundTextStyle: 'light',
@@ -11,5 +31,12 @@ export default defineAppConfig({
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black',
navigationStyle: 'custom'
- }
+ },
+ components: [
+ 'pages/index/index',
+ 'pages/login/index',
+ 'pages/register/index',
+ 'pages/forgot/index',
+ 'pages/goods-detail/index',
+ ]
})
diff --git a/src/app.scss b/src/app.scss
index 6f3a5e4..3aa2b23 100644
--- a/src/app.scss
+++ b/src/app.scss
@@ -4,6 +4,18 @@
color: #2196F3;
}
+.text-gold {
+ color: #F67952
+}
+
+.text96c {
+ color: #F96C6C;
+}
+
+.text853 {
+ color: #34A853;
+}
+
.text-base {
font-size: 16px;
line-height: 24px;
@@ -24,6 +36,10 @@
text-align: right;
}
+.t14 {
+ font-size: 14px;
+}
+
.grid {
display: grid;
@@ -76,10 +92,18 @@
margin-left: 30px;
}
+.ml17 {
+ margin-left: 17px;
+}
+
.mt-8 {
margin-top: 32px;
}
+.mt20 {
+ margin-top: 20px;
+}
+
.mt-22 {
margin-top: 22px;
}
@@ -98,4 +122,74 @@
.bottom-16 {
bottom: 16px;
+}
+
+.columns-2 {
+ columns: 2;
+}
+
+.top-10 {
+ top: 10px
+}
+
+.left-10 {
+ left: 10px;
+}
+
+.next-icon {
+ width: 6px;
+ height: 10px;
+}
+
+.bt-none {
+ border-bottom: none !important
+}
+
+
+.nav-icon {
+ background: #FFFFFF;
+ box-shadow: 0px 16px 50px 0px rgba(49, 79, 124, 0.08);
+ border-radius: 16px 16px 16px 16px;
+}
+
+.addr-detail-title {
+ width: 100vw;
+ height: 60px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #1F2933;
+ line-height: 60px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.flex-between {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.flex-center {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.flex-start {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.flex-around {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+}
+
+.flex-col {
+ display: flex;
+ flex-direction: column;
}
\ No newline at end of file
diff --git a/src/assets/images/addr.png b/src/assets/images/addr.png
new file mode 100644
index 0000000..e8fae95
Binary files /dev/null and b/src/assets/images/addr.png differ
diff --git a/src/assets/images/bal.png b/src/assets/images/bal.png
new file mode 100644
index 0000000..b915c7a
Binary files /dev/null and b/src/assets/images/bal.png differ
diff --git a/src/assets/images/cart1.png b/src/assets/images/cart1.png
index b5d67d4..6a1a57e 100644
Binary files a/src/assets/images/cart1.png and b/src/assets/images/cart1.png differ
diff --git a/src/assets/images/delivery.png b/src/assets/images/delivery.png
new file mode 100644
index 0000000..16e0f06
Binary files /dev/null and b/src/assets/images/delivery.png differ
diff --git a/src/assets/images/done.png b/src/assets/images/done.png
new file mode 100644
index 0000000..d30c21a
Binary files /dev/null and b/src/assets/images/done.png differ
diff --git a/src/assets/images/edit.png b/src/assets/images/edit.png
new file mode 100644
index 0000000..f85b6e3
Binary files /dev/null and b/src/assets/images/edit.png differ
diff --git a/src/assets/images/empty.png b/src/assets/images/empty.png
new file mode 100644
index 0000000..868c0f0
Binary files /dev/null and b/src/assets/images/empty.png differ
diff --git a/src/assets/images/eye.png b/src/assets/images/eye.png
new file mode 100644
index 0000000..f4333b5
Binary files /dev/null and b/src/assets/images/eye.png differ
diff --git a/src/assets/images/friend.png b/src/assets/images/friend.png
new file mode 100644
index 0000000..4ac76f2
Binary files /dev/null and b/src/assets/images/friend.png differ
diff --git a/src/assets/images/home.png b/src/assets/images/home.png
new file mode 100644
index 0000000..8583a7f
Binary files /dev/null and b/src/assets/images/home.png differ
diff --git a/src/assets/images/income.png b/src/assets/images/income.png
new file mode 100644
index 0000000..eacb345
Binary files /dev/null and b/src/assets/images/income.png differ
diff --git a/src/assets/images/level1.png b/src/assets/images/level1.png
new file mode 100644
index 0000000..8867641
Binary files /dev/null and b/src/assets/images/level1.png differ
diff --git a/src/assets/images/level2.png b/src/assets/images/level2.png
new file mode 100644
index 0000000..efbe8e9
Binary files /dev/null and b/src/assets/images/level2.png differ
diff --git a/src/assets/images/mall.png b/src/assets/images/mall.png
new file mode 100644
index 0000000..4a0f7a7
Binary files /dev/null and b/src/assets/images/mall.png differ
diff --git a/src/assets/images/message.png b/src/assets/images/message.png
new file mode 100644
index 0000000..ebe16f6
Binary files /dev/null and b/src/assets/images/message.png differ
diff --git a/src/assets/images/next.png b/src/assets/images/next.png
new file mode 100644
index 0000000..c84f17b
Binary files /dev/null and b/src/assets/images/next.png differ
diff --git a/src/assets/images/paysuccess.png b/src/assets/images/paysuccess.png
new file mode 100644
index 0000000..ca0a24b
Binary files /dev/null and b/src/assets/images/paysuccess.png differ
diff --git a/src/assets/images/scope.png b/src/assets/images/scope.png
new file mode 100644
index 0000000..26f3cfc
Binary files /dev/null and b/src/assets/images/scope.png differ
diff --git a/src/assets/images/setting.png b/src/assets/images/setting.png
new file mode 100644
index 0000000..620c927
Binary files /dev/null and b/src/assets/images/setting.png differ
diff --git a/src/assets/images/team.png b/src/assets/images/team.png
new file mode 100644
index 0000000..23819b1
Binary files /dev/null and b/src/assets/images/team.png differ
diff --git a/src/assets/images/uncheck.png b/src/assets/images/uncheck.png
new file mode 100644
index 0000000..65e625f
Binary files /dev/null and b/src/assets/images/uncheck.png differ
diff --git a/src/assets/images/user1.png b/src/assets/images/user1.png
new file mode 100644
index 0000000..0b2a2fd
Binary files /dev/null and b/src/assets/images/user1.png differ
diff --git a/src/assets/images/waitpay.png b/src/assets/images/waitpay.png
new file mode 100644
index 0000000..6ef7339
Binary files /dev/null and b/src/assets/images/waitpay.png differ
diff --git a/src/components/action.jsx b/src/components/action.jsx
index e04ee40..91cebbd 100644
--- a/src/components/action.jsx
+++ b/src/components/action.jsx
@@ -4,26 +4,31 @@ import { View } from '@tarojs/components';
import cart from '@/images/cart.png'
import cart1 from '@/images/cart1.png'
import home1 from '@/images/home1.png'
+import home from '@/images/home.png'
import user from '@/images/user.png'
+import user1 from '@/images/user1.png'
import './action.scss'
import { useState } from 'react';
import Taro from '@tarojs/taro'
+import { useRouter } from '@tarojs/taro';
-const home = home1
const TabbarAction = (props = {}) => {
-
+ const router = useRouter()
const { index = 0 } = props
const [activeIndex, setActiveIndex] = useState(index)
const onSwitch = (_, id) => {
+ if (activeIndex == id) {
+ return
+ }
setActiveIndex(id)
if (id === 0) {
nav('/pages/index/index')
} else if (id === 1) {
- nav('/pages/goods/index')
+ nav('/pages/shopping/index')
} else if (id === 2) {
nav('/pages/home/index')
}
@@ -37,7 +42,7 @@ const TabbarAction = (props = {}) => {
return
-
diff --git a/src/pages/add-card/index.config.js b/src/pages/add-card/index.config.js
new file mode 100644
index 0000000..225744a
--- /dev/null
+++ b/src/pages/add-card/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的团队'
+})
diff --git a/src/pages/add-card/index.jsx b/src/pages/add-card/index.jsx
new file mode 100644
index 0000000..4584f38
--- /dev/null
+++ b/src/pages/add-card/index.jsx
@@ -0,0 +1,113 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+ const [pwd, setPwd] = useState()
+ const [loginMode, setLoginMode] = useState('account')
+
+ const [mobile, setMobile] = useState('')
+ const [smsCode, setSmsCode] = useState('')
+ const [interval, setIntervalTime] = useState(0)
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ // 去登陆
+ const loginFn = () => {
+ Taro.redirectTo({
+ url: '/pages/login/index'
+ })
+ }
+
+ //清理数据
+ const cleanFn = () => {
+ if (loginMode === 'account') {
+ setAccount('')
+ setPwd('')
+ return
+ }
+ setMobile('')
+ setSmsCode('')
+ }
+
+ // 倒计时
+ const countDown = () => {
+ if (!mobile) {
+ return
+ }
+ setIntervalTime(60)
+ if (interval > 0) {
+ return
+ }
+ let start = 60
+ const timer = setInterval(() => {
+ if (start > 0) {
+ start--
+ if (start <= 0) {
+ clearInterval(timer)
+ }
+ setIntervalTime(start)
+ }
+ }, 1000)
+ }
+
+ return
+
+
+ 添加银行卡
+
+
+
+
+
+ 银行卡号
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 银行名称
+
+ {
+ setPwd(v.detail.value)
+ }} />
+ {
+ pwd &&
+ }
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/add-card/index.scss b/src/pages/add-card/index.scss
new file mode 100644
index 0000000..eb2ee2c
--- /dev/null
+++ b/src/pages/add-card/index.scss
@@ -0,0 +1,117 @@
+.login-header {
+ height: 86px;
+}
+
+.login-frame {
+ height: auto;
+ font-size: 14px;
+ background: #FBFBFD;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+}
+
+.change-pwd-container {
+ width: 375px;
+ height: calc(100vh - 86px);
+ border-radius: 20px 20px 0 0;
+ box-shadow: 0px 8px 51px 0px rgba(230, 234, 238, 0.8);
+ box-sizing: border-box;
+ padding: 20px 30px;
+}
+
+.form-item {
+ height: 68px;
+ opacity: 1;
+}
+
+.form-label {
+ font-size: 12px;
+ font-weight: bold;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ color: #2a2b2d;
+ line-height: 16px;
+}
+
+.form-input>.weui-input {
+ border: none;
+ height: 52px;
+ line-height: 52px;
+ border-bottom: 1px solid #262A34;
+ position: relative;
+ font-size: 16px;
+ color: #000;
+}
+
+.form-input>.weui-input:focus {
+ border-bottom: 2px solid #F67952;
+}
+
+.form-input-placeholder,
+.form-input>.weui-input::placeholder {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: bold;
+ color: #aeafb4;
+}
+
+.form-control {
+ height: 52px;
+ position: relative;
+}
+
+.forgot-password {
+ height: 24px;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #666;
+ line-height: 24px;
+
+ text-align: right;
+}
+
+
+.login-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+}
+
+.change-phone-footer {
+ margin-top: 150px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.quick-login {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #000000;
+ line-height: 24px;
+ margin-top: 30px;
+}
+
+.code-btn {
+ width: 83px;
+ height: 30px;
+ background: #F67952;
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ font-size: 12px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+ color: #FFFFFF;
+ border: none;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ bottom: 12px;
+}
\ No newline at end of file
diff --git a/src/pages/address-create/index.config.js b/src/pages/address-create/index.config.js
new file mode 100644
index 0000000..299a639
--- /dev/null
+++ b/src/pages/address-create/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '编辑地址'
+})
diff --git a/src/pages/address-create/index.jsx b/src/pages/address-create/index.jsx
new file mode 100644
index 0000000..c6959e4
--- /dev/null
+++ b/src/pages/address-create/index.jsx
@@ -0,0 +1,167 @@
+import React from 'react'
+import { Image, Text, View, Input, Label } from '@tarojs/components'
+import './index.scss'
+
+import { useEffect } from 'react';
+import { useState } from 'react';
+import backNav from '@/images/backNav.png'
+import next from '@/images/next.png'
+import uncheck from '@/images/uncheck.png'
+import checked from '@/images/checked.png'
+import Taro from '@tarojs/taro';
+import { useRouter } from '@tarojs/taro';
+import { Button, Textarea, Address } from '@nutui/nutui-react-taro';
+
+
+
+function Index() {
+
+ const param = useRouter().params
+ const [id] = useState(param.id)
+ const [home] = useState(param.home)
+ const [addrId, setAddrId] = useState(0)
+ const [isDefault, setIsDefault] = useState(false)
+ const [user, setUser] = useState('')
+ const [phone, setPhone] = useState('')
+ const [addrInfo, setAddrInfo] = useState('')
+
+
+ const [text, setText] = useState('请选择地址')
+ const [normal, setNormal] = useState(false)
+ const [province, setProvince] = useState([
+ { id: 1, name: '北京', title: 'B' },
+ { id: 2, name: '广西', title: 'G' },
+ { id: 3, name: '江西', title: 'J' },
+ { id: 4, name: '四川', title: 'S' },
+ { id: 5, name: '浙江', title: 'Z' },
+ ])
+
+ const [city, setCity] = useState([])
+
+ const [country, setCountry] = useState([])
+ const [town, setTown] = useState([])
+
+ const [address, setAddress] = useState({
+ province,
+ city,
+ country,
+ town,
+ })
+
+ const onChange = (cal) => {
+ setTimeout(() => {
+ switch (cal.next) {
+ case 'city':
+ setCity([
+ { id: 7, name: '朝阳区', title: 'C' },
+ { id: 8, name: '崇文区', title: 'C' },
+ { id: 9, name: '昌平区', title: 'C' },
+ { id: 6, name: '石景山区', title: 'S' },
+ { id: 3, name: '八里庄街道', title: 'B' },
+ { id: 10, name: '北苑', title: 'B' },
+ ])
+ break;
+ case 'country':
+ setCountry([
+ { id: 3, name: '八里庄街道', title: 'B' },
+ { id: 9, name: '北苑', title: 'B' },
+ { id: 4, name: '常营乡', title: 'C' },
+ ])
+ break;
+ default:
+ setNormal(false)
+ }
+ }, 200)
+ }
+ const close = (val) => {
+ console.log(val, "Data")
+ setNormal(false)
+
+ if (val.data && !!val.data.addressStr) {
+ setText((val.data).addressStr)
+ setAddress({ province: val.data.province, city: val.data.city, country: val.data.country, town: val.data.town })
+ }
+ }
+
+
+ useEffect(() => {
+
+
+ }, [id])
+
+
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/pay-success/index?id=${id}`
+ })
+ }
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ return (
+
+
+
+ {
+ home ? '我的地址' : "新增地址"
+ }
+
+
+
+
+
+
+ 收货人
+ {
+ setUser(e.detail.value)
+ }} />
+
+
+ 电话
+ {
+ setPhone(e.detail.value)
+ }} />
+
+
+ 所在地区
+ { setNormal(true) }}>
+
+
+
+
+
+ 详细地址
+
+
+
+ {
+ setIsDefault(x => !x)
+ }}>
+ 设为默认地址
+
+
+
+
+
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/address-create/index.scss b/src/pages/address-create/index.scss
new file mode 100644
index 0000000..da6e5a7
--- /dev/null
+++ b/src/pages/address-create/index.scss
@@ -0,0 +1,109 @@
+.addr-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: #FBFBFD;
+ height: 100vh;
+}
+
+.nav-icon {
+ background: #FFFFFF;
+ box-shadow: 0px 16px 50px 0px rgba(49, 79, 124, 0.08);
+ border-radius: 16px 16px 16px 16px;
+}
+
+.addr-detail-title {
+ width: 100vw;
+ height: 60px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #1F2933;
+ line-height: 60px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.addr-body {
+ padding: 21px;
+ height: auto;
+ box-sizing: border-box;
+ width: 100vw;
+ display: flex;
+ flex-direction: column;
+ align-content: center;
+}
+
+.addr-box {
+ width: 333px;
+ background: #FFFFFF;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.03);
+ border-radius: 10px 10px 10px 10px;
+ box-sizing: border-box;
+ padding: 0 12px;
+}
+
+.addr-item {
+ width: 333px;
+ background: #FFFFFF;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.03);
+ border-radius: 10px 10px 10px 10px;
+ opacity: 1;
+ margin-bottom: 10px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-sizing: border-box;
+ padding: 0 12px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+.addr-form {
+ width: 308px;
+ box-sizing: border-box;
+ height: 48px;
+ border-bottom: 1px solid #F9F9F9;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+}
+
+.addr-form-name {
+ font-weight: bold;
+ color: #000000;
+ font-size: 15px;
+ margin-right: 10px;
+}
+
+.addr-form-input {
+ width: 230px;
+}
+
+.addr-btn {
+ width: 233px;
+ height: 55px;
+ border-radius: 107px 107px 107px 107px;
+ border: none;
+ font-weight: 400;
+ font-size: 16px;
+ color: #FFFFFF;
+ background: #F67952;
+ position: fixed;
+ bottom: 30px;
+ left: calc((100vw - 233px)/2);
+}
+
+.addr-item>.nut-textarea {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.addr-item .weui-input {
+ color: var(--nutui-textarea-text-color, var(--nutui-gray-1, #1a1a1a));
+
+}
\ No newline at end of file
diff --git a/src/pages/address/index.config.js b/src/pages/address/index.config.js
new file mode 100644
index 0000000..1f59d66
--- /dev/null
+++ b/src/pages/address/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的地址'
+})
diff --git a/src/pages/address/index.jsx b/src/pages/address/index.jsx
new file mode 100644
index 0000000..67ca8c7
--- /dev/null
+++ b/src/pages/address/index.jsx
@@ -0,0 +1,82 @@
+import React from 'react'
+import { Image, Text, View } from '@tarojs/components'
+import './index.scss'
+
+import { useEffect } from 'react';
+import { useState } from 'react';
+import backNav from '@/images/backNav.png'
+import uncheck from '@/images/uncheck.png'
+import checked from '@/images/checked.png'
+
+import edit from '@/images/edit.png'
+import Taro from '@tarojs/taro';
+import { useRouter } from '@tarojs/taro';
+import { Button } from '@nutui/nutui-react-taro';
+
+
+
+function Index() {
+
+ const param = useRouter().params
+ const [id] = useState(param.id)
+ const [home] = useState(param.home)
+ const [addrId, setAddrId] = useState(0)
+
+
+ useEffect(() => {
+ }, [id])
+
+
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/address-create/index?id=${id}`
+ })
+ }
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ return (
+
+
+
+ {
+ home ? '我的地址' : "选择地址"
+ }
+
+
+
+
+
+ {
+ setAddrId(1)
+ }}>
+
+
+ {
+ setAddrId(1)
+ }}>
+
+ 李四 18080093730
+ 默认地址
+
+ 四川省成都市天府二街
+
+ {
+ navDetailFn('')
+ }}>
+
+
+
+
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/address/index.scss b/src/pages/address/index.scss
new file mode 100644
index 0000000..0715f4d
--- /dev/null
+++ b/src/pages/address/index.scss
@@ -0,0 +1,118 @@
+.addr-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: #FBFBFD;
+ height: 100vh;
+}
+
+.nav-icon {
+ background: #FFFFFF;
+ box-shadow: 0px 16px 50px 0px rgba(49, 79, 124, 0.08);
+ border-radius: 16px 16px 16px 16px;
+}
+
+.addr-detail-title {
+ width: 100vw;
+ height: 60px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #1F2933;
+ line-height: 60px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.buy-btn {
+ width: 264px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ position: fixed;
+ bottom: 20px;
+ z-index: 888;
+ border: none;
+ left: calc((100vw - 264px)/2);
+ font-weight: bold;
+ color: #FFFFFF;
+ line-height: 22px;
+ font-size: 16px;
+}
+
+.addr-body {
+ padding: 21px;
+ height: auto;
+ box-sizing: border-box;
+ width: 100vw;
+ display: flex;
+ flex-direction: column;
+ align-content: center;
+}
+
+
+
+.addr-item {
+ width: 333px;
+ height: 86px;
+ background: #FFFFFF;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.03);
+ border-radius: 10px 10px 10px 10px;
+ opacity: 1;
+ margin-bottom: 10px;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ box-sizing: border-box;
+ padding: 0 12px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+
+.addr-edit-icon {
+ width: 16px;
+ height: 18px;
+}
+
+.addr-item-content {
+ width: 228px;
+ display: flex;
+ flex-direction: column;
+}
+
+.addr-item-title {
+ display: flex;
+ flex-direction: row;
+ font-weight: 500;
+ color: #000000;
+ line-height: 20px;
+ font-size: 16px;
+}
+
+.addr-default {
+ background: #F67952;
+ border-radius: 6px 6px 6px 6px;
+ font-weight: 400;
+ color: #FFFFFF;
+ font-size: 12px;
+ padding: 2px 6px;
+ margin-left: 8px;
+}
+
+.addr-btn {
+ width: 233px;
+ height: 55px;
+ border-radius: 107px 107px 107px 107px;
+ border: none;
+ font-weight: 400;
+ font-size: 16px;
+ color: #FFFFFF;
+ background: #F67952;
+ position: fixed;
+ bottom: 30px;
+ left: calc((100vw - 233px)/2);
+}
\ No newline at end of file
diff --git a/src/pages/balance/index.config.js b/src/pages/balance/index.config.js
new file mode 100644
index 0000000..f70eb9b
--- /dev/null
+++ b/src/pages/balance/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的余额'
+})
diff --git a/src/pages/balance/index.jsx b/src/pages/balance/index.jsx
new file mode 100644
index 0000000..43a1d44
--- /dev/null
+++ b/src/pages/balance/index.jsx
@@ -0,0 +1,96 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+import { Tabs, TabPane } from "@nutui/nutui-react-taro"
+import { Infiniteloading } from "@nutui/nutui-react-taro"
+import { useEffect } from "react"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [tabKey, setTabKey] = useState('0')
+ const [page, setPage] = useState(1)
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ useEffect(() => { }, [tabKey])
+
+
+ return
+
+
+ 我的余额
+
+
+
+
+
+ 当前余额
+ 50000
+
+
+ {
+ Taro.navigateTo({ url: '/pages/cash/index' })
+ }}>立即提现
+ {
+ Taro.navigateTo({ url: '/pages/transfer/index' })
+ }}>转赠他人
+
+
+
+
+
+ setTabKey('0')}>余额流水
+ setTabKey('1')}>充值记录
+ setTabKey('2')}>提现记录
+
+
+ {
+ setPage(p => p + 1)
+ x()
+ }}
+ >
+
+
+ 完成每日登陆
+ 2021/04/09 19:42:36
+
+ +1.00
+
+
+
+
+ 完成每日登陆
+ 2021/04/09 19:42:36
+
+ +1.00
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/balance/index.scss b/src/pages/balance/index.scss
new file mode 100644
index 0000000..0c414f9
--- /dev/null
+++ b/src/pages/balance/index.scss
@@ -0,0 +1,109 @@
+.cash-frame {
+ min-height: 100vh;
+ height: auto;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.balance-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 20px 20px;
+}
+
+
+.balance-amount {
+ width: 332px;
+ height: 141px;
+ background: #F67952;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+
+ color: #FFFFFF;
+ font-size: 16px;
+ box-sizing: border-box;
+ padding: 0 15px;
+}
+
+
+
+.balance-amount-price {
+ font-size: 26px;
+ font-weight: bold;
+}
+
+
+.balance-btn {
+ width: 140px;
+ height: 44px;
+ background: #FFFFFF;
+ border-radius: 23px 23px 23px 23px;
+ opacity: 1;
+ font-size: 14px;
+ font-weight: 400;
+ color: #FF4700;
+}
+
+
+.amount-container {
+ width: 336px;
+ margin-top: 34px;
+}
+
+.amount-tabs {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ color: #7D7D7E;
+ height: 40px;
+}
+
+.tab-pane {
+ width: 88px;
+ height: 40px;
+ text-align: center;
+ position: relative;
+}
+
+.tab-pane-active::before {
+ content: "";
+ background-color: #F67952;
+ border-radius: 5px;
+ width: 88px;
+ height: 5px;
+ position: absolute;
+ bottom: -3px;
+ left: 0;
+}
+
+.tab-pane-active {
+ color: #F67952;
+}
+
+.amount-item {
+ width: 330px;
+ height: 78px;
+ background: #FFFFFF;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ font-weight: 500;
+ color: #000;
+ padding: 0 15px;
+ box-sizing: border-box;
+ margin-top: 18px;
+}
+
+.amount-item-time {
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+.amount-item-log {
+ font-weight: bold;
+ color: #FF4700;
+ font-size: 20px;
+}
+
+.balanceScroll {
+ height: calc(100vh - 86px - 144px - 40px - 52px);
+}
\ No newline at end of file
diff --git a/src/pages/cash/index.config.js b/src/pages/cash/index.config.js
new file mode 100644
index 0000000..76f8ae0
--- /dev/null
+++ b/src/pages/cash/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '立即提现'
+})
diff --git a/src/pages/cash/index.jsx b/src/pages/cash/index.jsx
new file mode 100644
index 0000000..00e13af
--- /dev/null
+++ b/src/pages/cash/index.jsx
@@ -0,0 +1,106 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+
+ const [visible, setVisible] = useState(false)
+ const [bank, setBank] = useState({ value: 0, text: '' })
+
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ const confirmPicker = (val, list) => {
+ list.forEach(item => {
+ console.log(item, "C")
+ setBank(item)
+ })
+ }
+
+ const listData1 = [
+ [
+ { value: 1, text: '南京市', },
+ { value: 2, text: '无锡市', },
+ { value: 3, text: '海北藏族自治区', },
+ { value: 4, text: '北京市', },
+ { value: 5, text: '连云港市', },
+ { value: 6, text: '浙江市', },
+ { value: 7, text: '江苏市', },
+ { value: 8, text: '大庆市', },
+ { value: 9, text: '绥化市', },
+ { value: 10, text: '潍坊市', },
+ { value: 11, text: '请按市', },
+ { value: 12, text: '乌鲁木齐市' },
+ ],
+ ]
+
+
+ return
+
+
+ 立即提现
+
+
+
+
+ 当前余额
+ 50000
+
+
+
+ 提现金额
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 银行卡
+
+
+
+
+
+ {
+ account && !!bank.value &&
+
+
+
+ }
+
+
+
+ confirmPicker(values, list)}
+ onClose={() => setVisible(false)}
+
+ />
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/cash/index.scss b/src/pages/cash/index.scss
new file mode 100644
index 0000000..f2099d6
--- /dev/null
+++ b/src/pages/cash/index.scss
@@ -0,0 +1,128 @@
+.cash-frame {
+ height: 100vh;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.cash-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 20px 20px;
+}
+
+.form-item {
+ height: 68px;
+ opacity: 1;
+}
+
+.form-label {
+ font-size: 12px;
+ font-weight: bold;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ color: #2a2b2d;
+ line-height: 16px;
+}
+
+.form-input>.weui-input {
+ border: none;
+ height: 52px;
+ line-height: 52px;
+ border-bottom: 1px solid #262A34;
+ position: relative;
+ font-size: 16px;
+ color: #000;
+}
+
+.form-input>.weui-input:focus {
+ border-bottom: 2px solid #F67952;
+}
+
+.form-input-placeholder,
+.form-input>.weui-input::placeholder {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: bold;
+ color: #aeafb4;
+}
+
+.form-control {
+ height: 52px;
+ position: relative;
+}
+
+.forgot-password {
+ height: 24px;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #666;
+ line-height: 24px;
+
+ text-align: right;
+}
+
+
+.cash-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+}
+
+.cash-footer {
+ display: flex;
+ align-items: center;
+ position: fixed;
+ bottom: 100px;
+ justify-content: center;
+ width: 315px;
+}
+
+
+.code-btn {
+ width: 83px;
+ height: 30px;
+ background: #F67952;
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ font-size: 12px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+ color: #FFFFFF;
+ border: none;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ bottom: 12px;
+}
+
+.cash-amount {
+ width: 332px;
+ height: 120px;
+ background: #F67952;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ margin-bottom: 36px;
+ color: #FFFFFF;
+ font-size: 12px;
+ box-sizing: border-box;
+ padding-left: 23px;
+ padding-bottom: 10px;
+}
+
+.cash-container .form-label {
+ color: #5E6272 !important;
+}
+
+.cash-amount-price {
+ font-size: 26px;
+ font-weight: bold;
+ margin-top: 8px;
+}
\ No newline at end of file
diff --git a/src/pages/change-phone/index.config.js b/src/pages/change-phone/index.config.js
new file mode 100644
index 0000000..8c80642
--- /dev/null
+++ b/src/pages/change-phone/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '修改手机号'
+})
diff --git a/src/pages/change-phone/index.jsx b/src/pages/change-phone/index.jsx
new file mode 100644
index 0000000..fa41e6b
--- /dev/null
+++ b/src/pages/change-phone/index.jsx
@@ -0,0 +1,122 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+ const [pwd, setPwd] = useState()
+ const [loginMode, setLoginMode] = useState('account')
+
+ const [mobile, setMobile] = useState('')
+ const [smsCode, setSmsCode] = useState('')
+ const [interval, setIntervalTime] = useState(0)
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ // 去登陆
+ const loginFn = () => {
+ Taro.redirectTo({
+ url: '/pages/login/index'
+ })
+ }
+
+ //清理数据
+ const cleanFn = () => {
+ if (loginMode === 'account') {
+ setAccount('')
+ setPwd('')
+ return
+ }
+ setMobile('')
+ setSmsCode('')
+ }
+
+ // 倒计时
+ const countDown = () => {
+ if (!mobile) {
+ return
+ }
+ setIntervalTime(60)
+ if (interval > 0) {
+ return
+ }
+ let start = 60
+ const timer = setInterval(() => {
+ if (start > 0) {
+ start--
+ if (start <= 0) {
+ clearInterval(timer)
+ }
+ setIntervalTime(start)
+ }
+ }, 1000)
+ }
+
+ return
+
+
+ 修改手机号
+
+
+
+
+
+ 验证原手机号
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 验证码
+
+ {
+ setSmsCode(v.detail.value)
+ }} />
+
+
+
+
+ 输入新手机号码
+
+ {
+ setPwd(v.detail.value)
+ }} />
+ {
+ pwd &&
+ }
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/change-phone/index.scss b/src/pages/change-phone/index.scss
new file mode 100644
index 0000000..d023dea
--- /dev/null
+++ b/src/pages/change-phone/index.scss
@@ -0,0 +1,116 @@
+.login-header {
+ height: 86px;
+}
+
+.login-frame {
+ height: auto;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+}
+
+.change-pwd-container {
+ width: 375px;
+ height: calc(100vh - 86px);
+ border-radius: 20px 20px 0 0;
+ box-shadow: 0px 8px 51px 0px rgba(230, 234, 238, 0.8);
+ box-sizing: border-box;
+ padding: 20px 30px;
+}
+
+.form-item {
+ height: 68px;
+ opacity: 1;
+}
+
+.form-label {
+ font-size: 12px;
+ font-weight: bold;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ color: #2a2b2d;
+ line-height: 16px;
+}
+
+.form-input>.weui-input {
+ border: none;
+ height: 52px;
+ line-height: 52px;
+ border-bottom: 1px solid #262A34;
+ position: relative;
+ font-size: 16px;
+ color: #000;
+}
+
+.form-input>.weui-input:focus {
+ border-bottom: 2px solid #F67952;
+}
+
+.form-input-placeholder,
+.form-input>.weui-input::placeholder {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: bold;
+ color: #aeafb4;
+}
+
+.form-control {
+ height: 52px;
+ position: relative;
+}
+
+.forgot-password {
+ height: 24px;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #666;
+ line-height: 24px;
+
+ text-align: right;
+}
+
+
+.login-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+}
+
+.change-phone-footer {
+ margin-top: 150px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.quick-login {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #000000;
+ line-height: 24px;
+ margin-top: 30px;
+}
+
+.code-btn {
+ width: 83px;
+ height: 30px;
+ background: #F67952;
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ font-size: 12px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+ color: #FFFFFF;
+ border: none;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ bottom: 12px;
+}
\ No newline at end of file
diff --git a/src/pages/change-pwd/index.config.js b/src/pages/change-pwd/index.config.js
new file mode 100644
index 0000000..29558ac
--- /dev/null
+++ b/src/pages/change-pwd/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '找回密码'
+})
diff --git a/src/pages/change-pwd/index.jsx b/src/pages/change-pwd/index.jsx
new file mode 100644
index 0000000..e430f71
--- /dev/null
+++ b/src/pages/change-pwd/index.jsx
@@ -0,0 +1,134 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+ const [pwd, setPwd] = useState()
+ const [showPwd, setShowPwd] = useState(false)
+ const [loginMode, setLoginMode] = useState('account')
+
+ const [mobile, setMobile] = useState('')
+ const [smsCode, setSmsCode] = useState('')
+ const [interval, setIntervalTime] = useState(0)
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ // 去登陆
+ const loginFn = () => {
+ Taro.redirectTo({
+ url: '/pages/login/index'
+ })
+ }
+
+ //清理数据
+ const cleanFn = () => {
+ if (loginMode === 'account') {
+ setAccount('')
+ setPwd('')
+ return
+ }
+ setMobile('')
+ setSmsCode('')
+ }
+
+ // 倒计时
+ const countDown = () => {
+ if (!mobile) {
+ return
+ }
+ setIntervalTime(60)
+ if (interval > 0) {
+ return
+ }
+ let start = 60
+ const timer = setInterval(() => {
+ if (start > 0) {
+ start--
+ if (start <= 0) {
+ clearInterval(timer)
+ }
+ setIntervalTime(start)
+ }
+ }, 1000)
+ }
+
+ return
+
+
+ 修改密码
+
+
+
+
+
+ 账号
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 验证码
+
+ {
+ setSmsCode(v.detail.value)
+ }} />
+
+
+
+
+ 密码
+
+ {
+ setPwd(v.detail.value)
+ }} />
+ {
+ setShowPwd(v => !v)
+ }} />
+
+
+
+ 密码
+
+ {
+ setPwd(v.detail.value)
+ }} />
+ {
+ setShowPwd(v => !v)
+ }} />
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/change-pwd/index.scss b/src/pages/change-pwd/index.scss
new file mode 100644
index 0000000..83cf60b
--- /dev/null
+++ b/src/pages/change-pwd/index.scss
@@ -0,0 +1,116 @@
+.login-header {
+ height: 86px;
+}
+
+.login-frame {
+ height: auto;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+}
+
+.change-pwd-container {
+ width: 375px;
+ height: calc(100vh - 86px);
+ border-radius: 20px 20px 0 0;
+ box-shadow: 0px 8px 51px 0px rgba(230, 234, 238, 0.8);
+ box-sizing: border-box;
+ padding: 20px 30px;
+}
+
+.form-item {
+ height: 68px;
+ opacity: 1;
+}
+
+.form-label {
+ font-size: 12px;
+ font-weight: bold;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ color: #2a2b2d;
+ line-height: 16px;
+}
+
+.form-input>.weui-input {
+ border: none;
+ height: 52px;
+ line-height: 52px;
+ border-bottom: 1px solid #262A34;
+ position: relative;
+ font-size: 16px;
+ color: #000;
+}
+
+.form-input>.weui-input:focus {
+ border-bottom: 2px solid #F67952;
+}
+
+.form-input-placeholder,
+.form-input>.weui-input::placeholder {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: bold;
+ color: #aeafb4;
+}
+
+.form-control {
+ height: 52px;
+ position: relative;
+}
+
+.forgot-password {
+ height: 24px;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #666;
+ line-height: 24px;
+
+ text-align: right;
+}
+
+
+.login-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+}
+
+.change-pwd-footer {
+ margin-top: 80px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.quick-login {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #000000;
+ line-height: 24px;
+ margin-top: 30px;
+}
+
+.code-btn {
+ width: 83px;
+ height: 30px;
+ background: #F67952;
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ font-size: 12px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+ color: #FFFFFF;
+ border: none;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ bottom: 12px;
+}
\ No newline at end of file
diff --git a/src/pages/conversion/index.config.js b/src/pages/conversion/index.config.js
new file mode 100644
index 0000000..f770344
--- /dev/null
+++ b/src/pages/conversion/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '立即转换'
+})
diff --git a/src/pages/conversion/index.jsx b/src/pages/conversion/index.jsx
new file mode 100644
index 0000000..b61dacc
--- /dev/null
+++ b/src/pages/conversion/index.jsx
@@ -0,0 +1,91 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+
+ const [visible, setVisible] = useState(false)
+ const [bank, setBank] = useState({ value: 0, text: '' })
+
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ const confirmPicker = (val, list) => {
+ list.forEach(item => {
+ console.log(item, "C")
+ setBank(item)
+ })
+ }
+
+ const listData1 = [
+ [
+ { value: 1, text: '南京市', },
+ { value: 2, text: '无锡市', },
+ { value: 3, text: '海北藏族自治区', },
+ { value: 4, text: '北京市', },
+ { value: 5, text: '连云港市', },
+ { value: 6, text: '浙江市', },
+ { value: 7, text: '江苏市', },
+ { value: 8, text: '大庆市', },
+ { value: 9, text: '绥化市', },
+ { value: 10, text: '潍坊市', },
+ { value: 11, text: '请按市', },
+ { value: 12, text: '乌鲁木齐市' },
+ ],
+ ]
+
+
+ return
+
+
+ 立即转换
+
+
+
+ 当前收益
+ 50000
+
+
+
+ 输入转换金额
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+ {
+
+
+
+
+ }
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/conversion/index.scss b/src/pages/conversion/index.scss
new file mode 100644
index 0000000..79df894
--- /dev/null
+++ b/src/pages/conversion/index.scss
@@ -0,0 +1,128 @@
+.conversion-frame {
+ height: 100vh;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.conversion-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 20px 20px;
+}
+
+.form-item {
+ height: 68px;
+ opacity: 1;
+}
+
+.form-label {
+ font-size: 12px;
+ font-weight: bold;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ color: #2a2b2d;
+ line-height: 16px;
+}
+
+.form-input>.weui-input {
+ border: none;
+ height: 52px;
+ line-height: 52px;
+ border-bottom: 1px solid #262A34;
+ position: relative;
+ font-size: 16px;
+ color: #000;
+}
+
+.form-input>.weui-input:focus {
+ border-bottom: 2px solid #F67952;
+}
+
+.form-input-placeholder,
+.form-input>.weui-input::placeholder {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: bold;
+ color: #aeafb4;
+}
+
+.form-control {
+ height: 52px;
+ position: relative;
+}
+
+.forgot-password {
+ height: 24px;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #666;
+ line-height: 24px;
+
+ text-align: right;
+}
+
+
+.conversion-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+}
+
+.conversion-footer {
+ display: flex;
+ align-items: center;
+ position: fixed;
+ bottom: 100px;
+ justify-content: center;
+ width: 315px;
+}
+
+
+.code-btn {
+ width: 83px;
+ height: 30px;
+ background: #F67952;
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ font-size: 12px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+ color: #FFFFFF;
+ border: none;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ bottom: 12px;
+}
+
+.conversion-amount {
+ width: 332px;
+ height: 120px;
+ background: #F67952;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ margin-bottom: 36px;
+ color: #FFFFFF;
+ font-size: 12px;
+ box-sizing: border-box;
+ padding-left: 23px;
+ padding-bottom: 10px;
+}
+
+.conversion-container .form-label {
+ color: #5E6272 !important;
+}
+
+.conversion-amount-price {
+ font-size: 26px;
+ font-weight: bold;
+ margin-top: 8px;
+}
\ No newline at end of file
diff --git a/src/pages/forgot/index.config.js b/src/pages/forgot/index.config.js
index 29558ac..139b851 100644
--- a/src/pages/forgot/index.config.js
+++ b/src/pages/forgot/index.config.js
@@ -1,3 +1,3 @@
export default definePageConfig({
- navigationBarTitleText: '找回密码'
+ navigationBarTitleText: '修改密码'
})
diff --git a/src/pages/forgot/index.jsx b/src/pages/forgot/index.jsx
index 82ff7aa..d9f1829 100644
--- a/src/pages/forgot/index.jsx
+++ b/src/pages/forgot/index.jsx
@@ -2,13 +2,13 @@ import { Image, Input, Text, View } from "@tarojs/components"
import back from '@/images/back.png'
import checked from '@/images/checked.png'
import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
import './index.scss'
import { Button } from "@nutui/nutui-react-taro"
import { useState } from "react"
import Taro from "@tarojs/taro"
-const unChecked = checked
-const activeEye = eyeClose
+const activeEye = eye
const Login = () => {
@@ -81,7 +81,10 @@ const Login = () => {
{
setAccount(v.detail.value)
}} />
-
+ {
+ account &&
+ }
+
diff --git a/src/pages/goods-detail/index.config.js b/src/pages/goods-detail/index.config.js
new file mode 100644
index 0000000..bb7313b
--- /dev/null
+++ b/src/pages/goods-detail/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '商品详情'
+})
diff --git a/src/pages/goods-detail/index.jsx b/src/pages/goods-detail/index.jsx
new file mode 100644
index 0000000..3113e9d
--- /dev/null
+++ b/src/pages/goods-detail/index.jsx
@@ -0,0 +1,112 @@
+import React from 'react'
+import { Image, Swiper, SwiperItem, Text, View } from '@tarojs/components'
+// import { Swiper, SwiperItem } from '@nutui/nutui-react-taro';
+import './index.scss'
+import TabbarAction from '@/components/action';
+import { Infiniteloading } from '@nutui/nutui-react-taro';
+import { useEffect } from 'react';
+import { useState } from 'react';
+import backNav from '@/images/backNav.png'
+import Taro from '@tarojs/taro';
+import { useRouter } from '@tarojs/taro';
+import { useDidShow } from '@tarojs/taro';
+import { Button } from '@nutui/nutui-react-taro';
+
+
+
+function Index() {
+
+ const param = useRouter().params
+ const [id] = useState(param.id)
+
+ const [swiperProgress, setSwiperProgress] = useState(1)
+ const list = [
+ 'https://storage.360buyimg.com/jdc-article/NutUItaro34.jpg',
+ 'https://storage.360buyimg.com/jdc-article/NutUItaro2.jpg',
+ 'https://storage.360buyimg.com/jdc-article/welcomenutui.jpg'
+ ]
+
+ useDidShow(() => {
+ console.log(12)
+
+ })
+
+
+
+ useEffect(() => {
+
+
+ }, [id])
+
+
+
+
+ // 跳转
+ const navDetailFn = () => {
+ Taro.navigateTo({
+ url: `/pages/settle/index?id=${id}`
+ })
+ }
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ return (
+
+
+
+ 商品详情
+
+
+
+
+ {
+ setSwiperProgress(x => x % 3 + 1)
+ }}
+ >
+ {list.map((item) => {
+ return (
+
+
+
+ )
+ })}
+
+
+ 1 ? 1 : (swiperProgress / list.length)) * 100 + '%' : 0 }}>
+
+
+
+
+ 银美孚1号 全合成油5w全合成油 5W-30 SN级 4L
+
+
+ 规格
+
+
+ ¥199
+ 原价888
+
+
+
+ 图文内容专区
+
+
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/goods-detail/index.scss b/src/pages/goods-detail/index.scss
new file mode 100644
index 0000000..e07c955
--- /dev/null
+++ b/src/pages/goods-detail/index.scss
@@ -0,0 +1,101 @@
+.home-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: #FDFDFD;
+}
+
+.goods-detail-title {
+ width: 100vw;
+ height: 60px;
+ background: #FFFFFF;
+ box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.12);
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ font-size: 18px;
+ font-weight: bold;
+ color: #181A20;
+ line-height: 60px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goods-body {
+ height: calc(100vh - 60px);
+ padding-bottom: 10px;
+ box-sizing: border-box;
+}
+
+.goods-swiper {
+ width: 100vw;
+ height: 412px;
+}
+
+.goods-swiper-item img {
+ height: 412px !important;
+}
+
+.goods-swiper-progress {
+ width: 100vw;
+ height: 4px;
+ position: absolute;
+ bottom: 0;
+ z-index: 888;
+}
+
+.buy-btn {
+ width: 264px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ position: fixed;
+ bottom: 20px;
+ z-index: 888;
+ border: none;
+ left: calc((100vw - 264px)/2);
+ font-weight: bold;
+ color: #FFFFFF;
+ line-height: 22px;
+ font-size: 16px;
+}
+
+.goods-content {
+ box-sizing: border-box;
+ padding: 16px;
+}
+
+.goods-name {
+ width: 100%;
+ height: 48px;
+ font-size: 16px;
+ font-weight: bold;
+ color: #10254E;
+ line-height: 24px;
+}
+
+.goods-desc {
+
+ font-weight: 400;
+ color: #9B9B9B;
+ font-size: 12px;
+}
+
+.goods-item-price {
+ color: rgba(0, 0, 0, 0.4);
+ font-size: 10px;
+ font-weight: 400;
+ margin-top: 6px;
+}
+
+.goods-item-price-sale {
+ font-size: 16px;
+ font-weight: bold;
+ color: #F83A52;
+ margin-right: 6px;
+}
+
+.goods-content-box {
+ margin-top: 20px;
+}
\ No newline at end of file
diff --git a/src/pages/home/index.config.js b/src/pages/home/index.config.js
new file mode 100644
index 0000000..2bd0633
--- /dev/null
+++ b/src/pages/home/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的'
+})
diff --git a/src/pages/home/index.jsx b/src/pages/home/index.jsx
new file mode 100644
index 0000000..5b9f41f
--- /dev/null
+++ b/src/pages/home/index.jsx
@@ -0,0 +1,158 @@
+import React from 'react'
+import './index.scss'
+import { Image, Text, View } from '@tarojs/components'
+import TabbarAction from '@/components/action';
+import message from '@/images/message.png'
+import setting from '@/images/setting.png'
+import level1 from '@/images/level1.png'
+import level2 from '@/images/level2.png'
+import bal from '@/images/bal.png'
+import income from '@/images/income.png'
+import scope from '@/images/scope.png'
+import waitpay from '@/images/waitpay.png'
+import delivery from '@/images/delivery.png'
+import done from '@/images/done.png'
+import team from '@/images/team.png'
+import mall from '@/images/mall.png'
+import addr from '@/images/addr.png'
+import friend from '@/images/friend.png'
+import { Avatar } from '@nutui/nutui-react-taro';
+import next from '@/images/next.png'
+
+
+const Index = () => {
+
+ return
+ 我的
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 这个是姓名
+
+ V5
+
+
+
+ 区域合伙人
+
+
+
+
+
+ 编辑资料
+
+
+
+
+
+
+
+
+ 12345
+ 余额
+
+
+
+
+
+ 12345
+ 收益
+
+
+
+
+
+ 12345
+ 积分
+
+
+
+
+
+
+ 我的订单
+
+ 全部订单
+
+
+
+
+
+
+
+ 2
+
+ 待付款
+
+
+
+
+ 2
+
+ 待发货
+
+
+
+
+ 2
+
+ 已完成
+
+
+
+
+
+ 常用工具
+
+
+
+
+
+
+
+
+ 我的团队
+
+
+
+
+
+
+ 购物金商城
+
+
+
+
+
+ 地址管理
+
+
+
+
+
+ 邀请好友
+
+
+
+
+
+
+
+
+}
+
+export default Index
\ No newline at end of file
diff --git a/src/pages/home/index.scss b/src/pages/home/index.scss
new file mode 100644
index 0000000..b1cc3a0
--- /dev/null
+++ b/src/pages/home/index.scss
@@ -0,0 +1,197 @@
+.home-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: linear-gradient(#fdf3f1, #FCFCFE);
+ font-weight: 400;
+}
+
+.home-title {
+ width: 100vw;
+ height: 60px;
+ background: #FFFFFF;
+ box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.12);
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ font-size: 18px;
+ font-weight: bold;
+ color: #181A20;
+ text-align: center;
+}
+
+.home-title-extra {
+ position: absolute;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ right: 16px;
+ top: 21px;
+}
+
+.home-title-icon {
+ width: 18px;
+ height: 18px;
+ margin-right: 12px;
+ display: block;
+}
+
+.my-body {
+ height: calc(100vh - 60px - 66px);
+ padding-bottom: 10px;
+ box-sizing: border-box;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding: 13px 20px;
+ padding-right: 20px;
+}
+
+.my-header {
+ margin-top: 18px;
+}
+
+.my-edit {
+ color: rgba(0, 0, 0, 0.4);
+}
+
+.my-edit text {
+ margin-right: 10px;
+}
+
+.my-content-info {
+ margin-left: 9px;
+ color: #000;
+
+}
+
+.my-avatar {
+ width: 56px;
+ height: 56px;
+ border-radius: 50%;
+ border: 3px solid #ffffffa3;
+}
+
+.my-level {
+ width: 25px;
+ height: 16px;
+ background: linear-gradient(117deg, #0F1732 0%, #2F3A58 100%);
+ border-radius: 7px;
+ opacity: 1;
+ font-weight: bold;
+ line-height: 16px;
+ font-size: 10px;
+ text-align: center;
+ margin-left: 10px;
+}
+
+.my-lev-text {
+ background: linear-gradient(297deg, #FCA12D 0%, #FEF9F8 100%);
+ background-clip: text;
+ color: transparent;
+}
+
+.my-id-box {
+ color: rgba(0, 0, 0, 0.4);
+ margin-top: 2px;
+}
+
+.my-id-icon {
+ width: 18px;
+ height: 18px;
+ margin-left: 8px;
+}
+
+
+.bal-container {
+ margin-top: 38px;
+}
+
+.bal-item {
+ width: 102px;
+ height: 62px;
+ background: #FFFFFF;
+ box-shadow: -2px 8px 46px 0px rgba(37, 45, 50, 0.05);
+ border-radius: 10px 10px 10px 10px;
+ opacity: 1;
+ box-sizing: border-box;
+ padding-left: 8px;
+}
+
+.bal-icon {
+ width: 22px;
+ height: 22px;
+}
+
+.bal-item-content {
+ font-weight: bold;
+ color: #181A20;
+ margin-left: 6px;
+ line-height: 20px;
+}
+
+.bal-item-helper {
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+ list-style: 14px;
+}
+
+.my-order-container {
+ margin-top: 38px;
+}
+
+.my-order-title {
+ font-weight: 600;
+ color: #000000;
+}
+
+.my-order-more {
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.4);
+ font-size: 12px;
+ margin-right: 8px;
+}
+
+.my-order-more text {
+ margin-right: 10px;
+}
+
+.my-order-tool {
+ margin-top: 20px;
+}
+
+.my-order-tool-item {
+ align-items: center;
+ justify-content: center;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+.my-order-tool-icon {
+ width: 32px;
+ height: 32px;
+}
+
+.my-order-tool-box {
+ height: 32px;
+}
+
+.my-order-mark {
+ background: #1C274C;
+ opacity: 1;
+ border: 1px solid #FFFFFF;
+ border-radius: 50%;
+ color: #fff;
+ width: 16px;
+ height: 16px;
+ line-height: 16px;
+ display: inline-block;
+ text-align: center;
+ position: absolute;
+ top: -4px;
+ right: -6px;
+}
+
+.my-tool-icon {
+ width: 25px;
+ height: 24px;
+}
\ No newline at end of file
diff --git a/src/pages/income/index.config.js b/src/pages/income/index.config.js
new file mode 100644
index 0000000..80effe9
--- /dev/null
+++ b/src/pages/income/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的收益'
+})
diff --git a/src/pages/income/index.jsx b/src/pages/income/index.jsx
new file mode 100644
index 0000000..435e449
--- /dev/null
+++ b/src/pages/income/index.jsx
@@ -0,0 +1,94 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+import { Tabs, TabPane } from "@nutui/nutui-react-taro"
+import { Infiniteloading } from "@nutui/nutui-react-taro"
+import { useEffect } from "react"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [tabKey, setTabKey] = useState('0')
+ const [page, setPage] = useState(1)
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ useEffect(() => { }, [tabKey])
+
+
+ return
+
+
+ 我的收益
+
+
+
+
+
+ 当前余额
+ 50000
+
+
+
+ {
+ Taro.navigateTo({ url: '/pages/transfer/index' })
+ }}>转换余额
+
+
+
+
+
+ setTabKey('0')}>收益流水
+ setTabKey('1')}>提现记录
+ setTabKey('2')}>发放明细
+
+
+ {
+ setPage(p => p + 1)
+ x()
+ }}
+ >
+
+
+ 完成每日登陆
+ 2021/04/09 19:42:36
+
+ +1.00
+
+
+
+
+ 完成每日登陆
+ 2021/04/09 19:42:36
+
+ +1.00
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/income/index.scss b/src/pages/income/index.scss
new file mode 100644
index 0000000..8d30e39
--- /dev/null
+++ b/src/pages/income/index.scss
@@ -0,0 +1,115 @@
+.profit-frame {
+ min-height: 100vh;
+ height: auto;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.profit-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 20px 20px;
+}
+
+
+.profit-amount {
+ width: 332px;
+ height: 120px;
+ background: #F67952;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+
+ color: #FFFFFF;
+ font-size: 16px;
+ box-sizing: border-box;
+ padding: 0 20px;
+}
+
+
+
+.profit-amount-price {
+ font-size: 26px;
+ font-weight: bold;
+}
+
+
+.profit-btn {
+ width: 140px;
+ height: 44px;
+ background: #FFFFFF;
+ border-radius: 23px 23px 23px 23px;
+ opacity: 1;
+ font-size: 14px;
+ font-weight: 400;
+ color: #FF4700;
+}
+
+
+.amount-container {
+ width: 336px;
+ margin-top: 34px;
+}
+
+.amount-tabs {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ color: #7D7D7E;
+ height: 40px;
+}
+
+.tab-pane {
+ width: 88px;
+ height: 40px;
+ text-align: center;
+ position: relative;
+}
+
+.tab-pane-active::before {
+ content: "";
+ background-color: #F67952;
+ border-radius: 5px;
+ width: 88px;
+ height: 5px;
+ position: absolute;
+ bottom: -3px;
+ left: 0;
+}
+
+.tab-pane-active {
+ color: #F67952;
+}
+
+.amount-item {
+ width: 330px;
+ height: 78px;
+ background: #FFFFFF;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ font-weight: 500;
+ color: #000;
+ padding: 0 15px;
+ box-sizing: border-box;
+ margin-top: 18px;
+}
+
+.amount-item-time {
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+.amount-item-log {
+ font-weight: bold;
+ color: #FF4700;
+ font-size: 20px;
+}
+
+.profitScroll {
+ height: calc(100vh - 86px - 144px - 40px - 52px);
+}
+
+.profit-amount-left {
+ height: 80px;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
\ No newline at end of file
diff --git a/src/pages/index/index.config.js b/src/pages/index/index.config.js
index 12abc5f..5809c1e 100644
--- a/src/pages/index/index.config.js
+++ b/src/pages/index/index.config.js
@@ -1,3 +1,3 @@
export default definePageConfig({
- navigationBarTitleText: '首页'
+ navigationBarTitleText: '商城'
})
diff --git a/src/pages/index/index.jsx b/src/pages/index/index.jsx
index 865a40b..a08ec36 100644
--- a/src/pages/index/index.jsx
+++ b/src/pages/index/index.jsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { View } from '@tarojs/components'
+import { Image, Text, View } from '@tarojs/components'
import {
Button
} from "@nutui/nutui-react-taro";
@@ -9,7 +9,7 @@ import { Infiniteloading } from '@nutui/nutui-react-taro';
import { useEffect } from 'react';
import { useState } from 'react';
-
+import Taro from '@tarojs/taro';
function Index() {
@@ -31,6 +31,14 @@ function Index() {
}, [page])
+
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/goods-detail/index?id=${id}`
+ })
+ }
+
return (
首页
@@ -46,19 +54,30 @@ function Index() {
onLoadMore={(x) => {
setPage(p => p + 1)
x()
- console.log(x)
}}
>
-
+
{
list.map(item => {
- return
- {item}
+ return {
+ navDetailFn(item)
+ }}>
+
+
+
+
+ 这个是商品的名称,但是可能有一点点的长
+
+
+ 这个是商品的介绍
+
+
+ ¥199
+ 原价888
+
})
}
-
-
diff --git a/src/pages/index/index.scss b/src/pages/index/index.scss
index b6f3e70..f9f762e 100644
--- a/src/pages/index/index.scss
+++ b/src/pages/index/index.scss
@@ -20,27 +20,70 @@
.home-body {
height: calc(100vh - 60px - 66px);
+ padding-bottom: 10px;
box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
}
.goods-container {
- display: flex;
width: 100vw;
height: auto;
box-sizing: border-box;
+ display: flex;
flex-wrap: wrap;
flex-direction: row;
- // background: red;
+ justify-content: space-around;
padding: 0 8px;
- justify-content: space-between;
margin-top: 24px;
+ // column-count: 2;
+ // column-gap: 10px;
+ // column-width: 170px;
+ // counter-reset: count;
+
}
.goods-item {
+ width: 170px;
+ margin-bottom: 24px;
+ position: relative;
+ height: auto;
+ break-inside: avoid;
+}
+
+
+
+.goods-item-image image {
height: 142px;
- width: 174px;
- background: red;
- margin-top: 8px;
+ width: 170px;
+ border-radius: 12px 12px 0 0;
+}
+
+
+.goods-item-name {
+ font-size: 14px;
+ font-weight: bold;
+ line-height: 20px;
+}
+
+.goods-item-desc {
+ font-size: 10px;
+ font-weight: 400;
+ color: #000000;
+ line-height: 16px;
+ margin-top: 6px;
+}
+
+.goods-item-price {
+ color: rgba(0, 0, 0, 0.4);
+ font-size: 10px;
+ font-weight: 400;
+ margin-top: 6px;
+}
+
+.goods-item-price-sale {
+ font-size: 16px;
+ font-weight: bold;
+ color: #F83A52;
+ margin-right: 6px;
}
\ No newline at end of file
diff --git a/src/pages/login/index.jsx b/src/pages/login/index.jsx
index f6d592a..34513de 100644
--- a/src/pages/login/index.jsx
+++ b/src/pages/login/index.jsx
@@ -2,14 +2,14 @@ import { Image, Input, Text, View } from "@tarojs/components"
import back from '@/images/back.png'
import checked from '@/images/checked.png'
import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
import './index.scss'
import { Button } from "@nutui/nutui-react-taro"
import { useState } from "react"
import Taro from "@tarojs/taro"
import { useDidShow } from "@tarojs/taro"
-const unChecked = checked
-const activeEye = eyeClose
+const activeEye = eye
const Login = () => {
@@ -93,7 +93,9 @@ const Login = () => {
{
setAccount(v.detail.value)
}} />
-
+ {
+ !!account &&
+ }
@@ -125,7 +127,10 @@ const Login = () => {
{
setMobile(v.detail.value)
}} />
-
+ {
+ mobile &&
+ }
+
diff --git a/src/pages/my-card/index.config.js b/src/pages/my-card/index.config.js
new file mode 100644
index 0000000..a5c5a75
--- /dev/null
+++ b/src/pages/my-card/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的银行卡'
+})
diff --git a/src/pages/my-card/index.jsx b/src/pages/my-card/index.jsx
new file mode 100644
index 0000000..30d6ed2
--- /dev/null
+++ b/src/pages/my-card/index.jsx
@@ -0,0 +1,50 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+
+
+
+const Login = () => {
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ const navCreate = () => {
+ Taro.navigateTo({
+ url: '/pages/add-card/index'
+ })
+ }
+
+
+ return
+
+
+ 我的银行卡
+
+
+
+
+
+ xxx银行
+ 123456789777
+
+ 解除绑定
+
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/my-card/index.scss b/src/pages/my-card/index.scss
new file mode 100644
index 0000000..cbe0537
--- /dev/null
+++ b/src/pages/my-card/index.scss
@@ -0,0 +1,61 @@
+.login-header {
+ height: 86px;
+}
+
+.login-frame {
+ height: auto;
+ font-size: 14px;
+ background: #FBFBFD;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+}
+
+.change-pwd-container {
+ width: 375px;
+ height: calc(100vh - 86px);
+ border-radius: 20px 20px 0 0;
+ box-shadow: 0px 8px 51px 0px rgba(230, 234, 238, 0.8);
+ box-sizing: border-box;
+ padding: 20px 30px;
+}
+
+.login-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+
+}
+
+.change-phone-footer {
+ margin-top: 150px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ position: fixed;
+ bottom: 60px;
+}
+
+
+.card-item {
+ width: 334px;
+ height: 124px;
+ background: #F67952;
+ border-radius: 30px 30px 30px 30px;
+ opacity: 1;
+ box-sizing: border-box;
+ padding: 0 25px;
+ font-weight: bold;
+ color: #FFFFFF;
+ font-size: 12px;
+ margin-top: 12px;
+}
+
+.card-item-des {
+ font-size: 16px;
+ margin-top: 10px;
+}
\ No newline at end of file
diff --git a/src/pages/order/index.config.js b/src/pages/order/index.config.js
new file mode 100644
index 0000000..f573710
--- /dev/null
+++ b/src/pages/order/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的订单'
+})
diff --git a/src/pages/order/index.jsx b/src/pages/order/index.jsx
new file mode 100644
index 0000000..3f5c66f
--- /dev/null
+++ b/src/pages/order/index.jsx
@@ -0,0 +1,87 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+
+import empty from '@/images/empty.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+import { Infiniteloading } from "@nutui/nutui-react-taro"
+import { useEffect } from "react"
+
+
+
+const Login = () => {
+
+ const [tabKey, setTabKey] = useState('0')
+ const [page, setPage] = useState(1)
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ useEffect(() => { }, [tabKey])
+
+
+ return
+
+
+ 我的订单
+
+
+
+
+
+ setTabKey('0')}>全部
+ setTabKey('1')}>待付款
+ setTabKey('2')}>待发货
+ setTabKey('3')}>已完成
+
+
+ {
+ setPage(p => p + 1)
+ x()
+ }}
+ >
+
+
+ 订单号:1947034434
+ 等待付款
+
+
+
+
+
+ 商品名称
+ ¥199.00
+
+
+ X1
+
+
+
+ 已付金额:
+ ¥19999.00
+
+
+
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/order/index.scss b/src/pages/order/index.scss
new file mode 100644
index 0000000..8a9eb36
--- /dev/null
+++ b/src/pages/order/index.scss
@@ -0,0 +1,112 @@
+.order-frame {
+ min-height: 100vh;
+ height: auto;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.order-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 10px 0px;
+}
+
+
+.order-tabs {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ color: #7D7D7E;
+ height: 36px;
+ margin: 0 20px;
+}
+
+.order-tab-pane {
+ width: 64px;
+ height: 36px;
+ text-align: center;
+ position: relative;
+}
+
+.order-tab-pane-active::before {
+ content: "";
+ background-color: #F67952;
+ border-radius: 5px;
+ width: 64px;
+ height: 5px;
+ position: absolute;
+ bottom: -3px;
+ left: 0;
+}
+
+.order-tab-pane-active {
+ color: #F67952;
+}
+
+
+.orderScroll {
+ height: calc(100vh - 86px - 50px);
+}
+
+.order-item-container {
+ width: 375px;
+ height: 206px;
+ background: #FFFFFF;
+ box-shadow: -2px 8px 46px 0px rgba(37, 45, 50, 0.05);
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ box-sizing: border-box;
+ padding: 10px 20px;
+ color: #181A20;
+}
+
+.order-item-container:first {
+ margin-top: 30px;
+}
+
+.order-goods {
+ height: 110px;
+ color: rgba(0, 0, 0, 0.5);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ ;
+}
+
+.order-goods-img {
+ width: 75px;
+ height: 63px;
+ border-radius: 12px;
+}
+
+.order-goods-action {
+ margin-top: 12px;
+}
+
+.order-goods-btn {
+ width: 84px;
+ height: 36px;
+ border-radius: 20px 20px 20px 20px;
+ opacity: 1;
+ line-height: 36px;
+ padding: 0;
+}
+
+.order-btn-pay {
+ background: #F67952;
+ border: none;
+ color: #FFFFFF;
+}
+
+.order-btn-cancel {
+ background: rgba(246, 121, 82, 0.15);
+ border: none;
+ color: #F67952
+}
+
+.order-btn-algin {
+ border: 1px solid #F67952;
+ color: #F67952
+}
+
+.order-btn-delete {
+ border: 1px solid rgba(0, 0, 0, 0.5);
+ color: #5E6272;
+}
\ No newline at end of file
diff --git a/src/pages/pay-success/index.config.js b/src/pages/pay-success/index.config.js
new file mode 100644
index 0000000..12569f1
--- /dev/null
+++ b/src/pages/pay-success/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '支付成功'
+})
diff --git a/src/pages/pay-success/index.jsx b/src/pages/pay-success/index.jsx
new file mode 100644
index 0000000..1c8ba1a
--- /dev/null
+++ b/src/pages/pay-success/index.jsx
@@ -0,0 +1,43 @@
+import React from 'react'
+import { Image, View, Text } from '@tarojs/components'
+import './index.scss'
+
+import { useEffect } from 'react';
+import { useState } from 'react';
+import paysuccess from '@/images/paysuccess.png'
+import Taro from '@tarojs/taro';
+import { useRouter } from '@tarojs/taro';
+import { Button } from '@nutui/nutui-react-taro';
+
+
+
+function Index() {
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/goods-detail/index?id=${id}`
+ })
+ }
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ const goHome = () => {
+ Taro.navigateTo({
+ url: '/pages/index/index'
+ })
+ }
+
+ return (
+
+
+ 支付成功
+ 您已成功购买商品,请到“我的订单”查看
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/pay-success/index.scss b/src/pages/pay-success/index.scss
new file mode 100644
index 0000000..3330419
--- /dev/null
+++ b/src/pages/pay-success/index.scss
@@ -0,0 +1,51 @@
+.ps-container {
+ background: #FBFBFD;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ line-height: 23px;
+ text-align: center;
+ height: 100vh;
+}
+
+.pay-success {
+ width: 209px;
+ height: 208px;
+ margin: 0 auto;
+ margin-top: 130px;
+}
+
+.pay-title {
+ font-weight: 600;
+ color: #000000;
+ line-height: 34px;
+ font-size: 24px;
+ margin-top: 60px;
+ margin-bottom: 10px;
+}
+
+.pay-btn {
+ width: 233px;
+ height: 55px;
+ border-radius: 107px 107px 107px 107px;
+ opacity: 1;
+ border: none;
+ font-weight: 600;
+ font-size: 16px;
+}
+
+.go-order {
+ color: #FFFFFF;
+ background: #F67952;
+ margin-top: 53px;
+}
+
+.go-home {
+
+
+ background: #FFE9E2;
+ color: #F67952;
+ margin-top: 15px;
+}
\ No newline at end of file
diff --git a/src/pages/register/index.jsx b/src/pages/register/index.jsx
index 4000fb2..b878402 100644
--- a/src/pages/register/index.jsx
+++ b/src/pages/register/index.jsx
@@ -2,13 +2,13 @@ import { Image, Input, Text, View } from "@tarojs/components"
import back from '@/images/back.png'
import checked from '@/images/checked.png'
import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
import './index.scss'
import { Button } from "@nutui/nutui-react-taro"
import { useState } from "react"
import Taro from "@tarojs/taro"
-const unChecked = checked
-const activeEye = eyeClose
+const activeEye = eye
const Login = () => {
@@ -64,7 +64,10 @@ const Login = () => {
{
setMobile(v.detail.value)
}} />
-
+ {
+ mobile &&
+ }
+
diff --git a/src/pages/scope/index.config.js b/src/pages/scope/index.config.js
new file mode 100644
index 0000000..1723e6d
--- /dev/null
+++ b/src/pages/scope/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的积分'
+})
diff --git a/src/pages/scope/index.jsx b/src/pages/scope/index.jsx
new file mode 100644
index 0000000..3cda210
--- /dev/null
+++ b/src/pages/scope/index.jsx
@@ -0,0 +1,88 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+import { Tabs, TabPane } from "@nutui/nutui-react-taro"
+import { Infiniteloading } from "@nutui/nutui-react-taro"
+import { useEffect } from "react"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [tabKey, setTabKey] = useState('0')
+ const [page, setPage] = useState(1)
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ useEffect(() => { }, [tabKey])
+
+
+ return
+
+
+ 我的积分
+
+
+
+
+
+ 当前积分
+ 50000
+
+
+
+
+
+ setTabKey('0')}>余额流水
+ setTabKey('1')}>充值记录
+ setTabKey('2')}>提现记录
+
+
+ {
+ setPage(p => p + 1)
+ x()
+ }}
+ >
+
+
+ 完成每日登陆
+ 2021/04/09 19:42:36
+
+ +1.00
+
+
+
+
+ 完成每日登陆
+ 2021/04/09 19:42:36
+
+ +1.00
+
+
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/scope/index.scss b/src/pages/scope/index.scss
new file mode 100644
index 0000000..10d12d3
--- /dev/null
+++ b/src/pages/scope/index.scss
@@ -0,0 +1,109 @@
+.cash-frame {
+ min-height: 100vh;
+ height: auto;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.scope-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 20px 20px;
+}
+
+
+.scope-amount {
+ width: 332px;
+ height: 78px;
+ background: #F67952;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+
+ color: #FFFFFF;
+ font-size: 16px;
+ box-sizing: border-box;
+ padding: 0 15px;
+}
+
+
+
+.scope-amount-price {
+ font-size: 26px;
+ font-weight: bold;
+}
+
+
+.scope-btn {
+ width: 140px;
+ height: 44px;
+ background: #FFFFFF;
+ border-radius: 23px 23px 23px 23px;
+ opacity: 1;
+ font-size: 14px;
+ font-weight: 400;
+ color: #FF4700;
+}
+
+
+.amount-container {
+ width: 336px;
+ margin-top: 34px;
+}
+
+.amount-tabs {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ color: #7D7D7E;
+ height: 40px;
+}
+
+.tab-pane {
+ width: 88px;
+ height: 40px;
+ text-align: center;
+ position: relative;
+}
+
+.tab-pane-active::before {
+ content: "";
+ background-color: #F67952;
+ border-radius: 5px;
+ width: 88px;
+ height: 5px;
+ position: absolute;
+ bottom: -3px;
+ left: 0;
+}
+
+.tab-pane-active {
+ color: #F67952;
+}
+
+.amount-item {
+ width: 330px;
+ height: 78px;
+ background: #FFFFFF;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ font-weight: 500;
+ color: #000;
+ padding: 0 15px;
+ box-sizing: border-box;
+ margin-top: 18px;
+}
+
+.amount-item-time {
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+.amount-item-log {
+ font-weight: bold;
+ color: #FF4700;
+ font-size: 20px;
+}
+
+.scopeScroll {
+ height: calc(100vh - 86px - 78px - 40px - 52px);
+}
\ No newline at end of file
diff --git a/src/pages/settle/index.config.js b/src/pages/settle/index.config.js
new file mode 100644
index 0000000..6dcbdba
--- /dev/null
+++ b/src/pages/settle/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '商品结算'
+})
diff --git a/src/pages/settle/index.jsx b/src/pages/settle/index.jsx
new file mode 100644
index 0000000..acd731a
--- /dev/null
+++ b/src/pages/settle/index.jsx
@@ -0,0 +1,100 @@
+import React from 'react'
+import { Image, Swiper, SwiperItem, Text, View } from '@tarojs/components'
+import './index.scss'
+
+import { useEffect } from 'react';
+import { useState } from 'react';
+import backNav from '@/images/backNav.png'
+import next from '@/images/next.png'
+import Taro from '@tarojs/taro';
+import { useRouter } from '@tarojs/taro';
+import { Button } from '@nutui/nutui-react-taro';
+
+
+
+function Index() {
+
+ const param = useRouter().params
+ const [id] = useState(param.id)
+
+ const [swiperProgress, setSwiperProgress] = useState(1)
+ const list = [
+ 'https://storage.360buyimg.com/jdc-article/NutUItaro34.jpg',
+ 'https://storage.360buyimg.com/jdc-article/NutUItaro2.jpg',
+ 'https://storage.360buyimg.com/jdc-article/welcomenutui.jpg'
+ ]
+
+
+
+ useEffect(() => {
+
+
+ }, [id])
+
+
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/pay-success/index?id=${id}`
+ })
+ }
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ // 选择地址
+ const goAddr = (id) => {
+ Taro.navigateTo({
+ url: '/pages/address/index?id=' + id
+ })
+ }
+
+ return (
+
+
+
+ 填写订单
+
+
+
+
+ 选择收货地址
+ { goAddr('') }}>
+
+ 李四 18080093730
+ 四川省 成都市 天府二街
+ {/* 选择地址 */}
+
+
+
+
+
+
+
+
+ 商品信息
+
+
+
+ 商品名称
+
+ ¥199
+ x1
+
+
+
+
+
+
+ 总价:
+ ¥199
+
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/settle/index.scss b/src/pages/settle/index.scss
new file mode 100644
index 0000000..182e1bf
--- /dev/null
+++ b/src/pages/settle/index.scss
@@ -0,0 +1,197 @@
+.settle-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: #FBFBFD;
+ height: 100vh;
+}
+
+.nav-icon {
+ background: #FFFFFF;
+ box-shadow: 0px 16px 50px 0px rgba(49, 79, 124, 0.08);
+ border-radius: 16px 16px 16px 16px;
+}
+
+.settle-detail-title {
+ width: 100vw;
+ height: 60px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #1F2933;
+ line-height: 60px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.buy-btn {
+ width: 264px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ position: fixed;
+ bottom: 20px;
+ z-index: 888;
+ border: none;
+ left: calc((100vw - 264px)/2);
+ font-weight: bold;
+ color: #FFFFFF;
+ line-height: 22px;
+ font-size: 16px;
+}
+
+.settle-body {
+ padding: 21px;
+ height: auto;
+ box-sizing: border-box;
+ width: 100vw;
+}
+
+.settle-address {
+ margin-top: 10px;
+}
+
+.address-title {
+ height: 20px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #000000;
+ line-height: 20px;
+}
+
+.address-area {
+ width: 333px;
+ height: 74px;
+ background: #FFFFFF;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.06);
+ border-radius: 10px 10px 10px 10px;
+ margin-top: 20px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ box-sizing: border-box;
+ padding: 0 14px;
+}
+
+.address-item {
+ width: 290px;
+ display: flex;
+ flex-flow: column wrap;
+}
+
+.address-item-name {
+ font-size: 16px;
+ line-height: 20px;
+ font-weight: bold;
+}
+
+.address-info {
+ font-size: 12px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ margin-top: 4px;
+}
+
+.address-area .address-next {
+ width: 6px;
+ height: 10px;
+}
+
+.address-area .address-next image {
+ width: 100%;
+ height: 100%;
+
+}
+
+
+.settle-goods {
+ width: 100%;
+ margin-top: 36px;
+ height: auto;
+ display: flex;
+ flex-direction: column;
+}
+
+.settle-goods-title {
+ height: 20px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #000000;
+ line-height: 20px;
+}
+
+.settle-goods-info {
+ width: 333px;
+ height: 92px;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.02);
+ background: #FFFFFF;
+ border-radius: 10px 10px 10px 10px;
+ opacity: 1;
+ margin-top: 24px;
+ display: flex;
+ justify-content: flex-start;
+ box-sizing: border-box;
+ align-items: center;
+ padding: 0 14px;
+}
+
+.settle-goods-img {
+ width: 84px;
+ height: 73px;
+ background: rgba(62, 66, 41, 0.1);
+ border-radius: 15px 15px 15px 15px;
+ opacity: 1;
+ border: none;
+}
+
+.settle-goods-content {
+ display: flex;
+ flex-direction: column;
+ margin-left: 19px;
+ width: 200px;
+}
+
+.settle-goods-content-title {
+ font-size: 14px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ line-height: 16px;
+}
+
+.settle-goods-content-price {
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 14px;
+ margin-top: 6px;
+}
+
+.settle-goods-content-price-1 {
+ font-weight: 500;
+ color: #000000;
+ line-height: 19px;
+ font-size: 16px;
+}
+
+.settle-price-container {
+ margin-top: 20px;
+ font-weight: bold;
+ color: rgba(0, 0, 0, 0.5);
+ line-height: 16px;
+ font-size: 14px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.settle-price-p {
+ font-size: 16px;
+ font-weight: 500;
+ color: #F67952;
+ line-height: 19px;
+
+}
\ No newline at end of file
diff --git a/src/pages/shopping/index.config.js b/src/pages/shopping/index.config.js
new file mode 100644
index 0000000..12abc5f
--- /dev/null
+++ b/src/pages/shopping/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '首页'
+})
diff --git a/src/pages/shopping/index.jsx b/src/pages/shopping/index.jsx
new file mode 100644
index 0000000..dcfd094
--- /dev/null
+++ b/src/pages/shopping/index.jsx
@@ -0,0 +1,93 @@
+import React from 'react'
+import { Image, Text, View } from '@tarojs/components'
+import {
+ Button
+} from "@nutui/nutui-react-taro";
+import './index.scss'
+import TabbarAction from '@/components/action';
+import { Infiniteloading } from '@nutui/nutui-react-taro';
+import { useEffect } from 'react';
+import { useState } from 'react';
+
+import Taro from '@tarojs/taro';
+
+
+function Index() {
+
+ const [list, setList] = useState([])
+ const [page, setPage] = useState(1)
+ const [hasMore, setHasMore] = useState(true)
+
+ useEffect(() => {
+ if (list.length > 50) {
+ setHasMore(false)
+ return
+ }
+ let l = []
+ for (let i = list.length; i < 10 + list.length; i++) {
+ l.push(i)
+ }
+ setList([...list, ...l])
+
+ }, [page])
+
+
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/goods-detail/index?id=${id}`
+ })
+ }
+
+ return (
+
+ 商城
+
+
+ {
+ setPage(p => p + 1)
+ x()
+ }}
+ >
+
+ {
+ list.map(item => {
+ return {
+ navDetailFn(item)
+ }}>
+
+
+
+
+
+ 这个是商品的名称,但是可能有一点点的长
+
+
+ 这个是商品的介绍
+
+
+ ¥199
+ 原价888
+
+
+
+
+ })
+ }
+
+
+
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/shopping/index.scss b/src/pages/shopping/index.scss
new file mode 100644
index 0000000..fb4a821
--- /dev/null
+++ b/src/pages/shopping/index.scss
@@ -0,0 +1,86 @@
+.home-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: #FDFDFD;
+}
+
+.home-title {
+ width: 100vw;
+ height: 60px;
+ background: #FFFFFF;
+ box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.12);
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ font-size: 18px;
+ font-weight: bold;
+ color: #181A20;
+ line-height: 60px;
+ text-align: center;
+}
+
+.home-body {
+ height: calc(100vh - 60px - 66px);
+ padding-bottom: 10px;
+ box-sizing: border-box;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.shopping-container {
+ width: 100vw;
+ height: auto;
+ box-sizing: border-box;
+ display: flex;
+ flex-wrap: wrap;
+ flex-direction: column;
+ justify-content: space-around;
+ padding: 0 8px;
+ margin-top: 24px;
+
+}
+
+.shopping-item {
+ width: 351px;
+ height: 288px;
+ background: #FFFFFF;
+ box-shadow: 0px 4px 17px 0px rgba(0, 0, 0, 0.1);
+ border-radius: 10px 10px 10px 10px;
+ opacity: 1;
+ margin-top: 16px;
+}
+
+.shopping-item-image image {
+ width: 100%;
+ height: 194px;
+ border-radius: 10px 10px 0 0;
+}
+
+.shopping-item-content {
+ padding: 0px 14px;
+}
+
+.shopping-item-name {
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 20px;
+}
+
+.shopping-item-desc {
+ font-size: 12px;
+ margin-top: 6px;
+ color: #000;
+}
+
+.shopping-item-price {
+ color: rgba(0, 0, 0, 0.4);
+ font-size: 10px;
+ font-weight: 400;
+ margin-top: 6px;
+}
+
+.shopping-item-price-sale {
+ font-size: 16px;
+ font-weight: bold;
+ color: #F83A52;
+ margin-right: 6px;
+}
\ No newline at end of file
diff --git a/src/pages/team/index.config.js b/src/pages/team/index.config.js
new file mode 100644
index 0000000..225744a
--- /dev/null
+++ b/src/pages/team/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '我的团队'
+})
diff --git a/src/pages/team/index.jsx b/src/pages/team/index.jsx
new file mode 100644
index 0000000..ac69fb5
--- /dev/null
+++ b/src/pages/team/index.jsx
@@ -0,0 +1,129 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import level2 from '@/images/level2.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Avatar } from "@nutui/nutui-react-taro"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+ const [pwd, setPwd] = useState()
+ const [loginMode, setLoginMode] = useState('account')
+
+ const [mobile, setMobile] = useState('')
+ const [smsCode, setSmsCode] = useState('')
+ const [interval, setIntervalTime] = useState(0)
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ // 去登陆
+ const loginFn = () => {
+ Taro.redirectTo({
+ url: '/pages/login/index'
+ })
+ }
+
+ //清理数据
+ const cleanFn = () => {
+ if (loginMode === 'account') {
+ setAccount('')
+ setPwd('')
+ return
+ }
+ setMobile('')
+ setSmsCode('')
+ }
+
+ // 倒计时
+ const countDown = () => {
+ if (!mobile) {
+ return
+ }
+ setIntervalTime(60)
+ if (interval > 0) {
+ return
+ }
+ let start = 60
+ const timer = setInterval(() => {
+ if (start > 0) {
+ start--
+ if (start <= 0) {
+ clearInterval(timer)
+ }
+ setIntervalTime(start)
+ }
+ }, 1000)
+ }
+
+ return
+
+
+ 我的团队
+
+
+
+
+
+ 城市合伙人
+ 我的等级
+
+
+
+
+ 0.00
+ 大区业绩
+
+
+ 0.00
+ 小区业绩
+
+
+
+
+ 我邀请的人
+
+
+
+
+ PB-60635
+ 2021-04-09
+
+
+
+ V5
+
+
+
+
+
+
+ PB-60635
+ 2021-04-09
+
+
+
+ V5
+
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/team/index.scss b/src/pages/team/index.scss
new file mode 100644
index 0000000..3f94981
--- /dev/null
+++ b/src/pages/team/index.scss
@@ -0,0 +1,97 @@
+.team-page {
+ height: 100vh;
+ font-size: 14px;
+ background: #FBFBFD;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+}
+
+.team-container {
+ width: 375px;
+ height: calc(100vh - 86px);
+ box-sizing: border-box;
+ padding: 20px 30px;
+ font-weight: 400;
+ color: #181A20;
+ font-size: 16px;
+}
+
+.team-logo-img {
+ width: 80px;
+ height: 80px;
+ margin-bottom: 10px;
+}
+
+.team-logo-text {
+ font-size: 12px;
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.team-pre-container {
+ width: 332px;
+ height: 98px;
+ background: #FFFFFF;
+ box-shadow: -2px 8px 46px 0px rgba(37, 45, 50, 0.05);
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ margin-top: 16px;
+}
+
+.team-pre-item {
+ font-size: 12px;
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.team-pre-price {
+ font-size: 20px;
+ font-weight: bold;
+ color: #000;
+}
+
+.invite-container {
+ margin-top: 20px;
+}
+
+.invite-title {
+ font-size: 16px;
+ font-weight: bold;
+ color: #000;
+ text-align: left;
+}
+
+.invite-item {
+ width: 332px;
+ height: 82px;
+ background: #FFFFFF;
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ margin-top: 16px;
+ box-sizing: border-box;
+ padding: 0 12px;
+ color: #181A20;
+}
+
+.invite-item-content {
+ margin-left: 12px;
+ font-size: 14px;
+ height: 40px;
+ line-height: 20px;
+}
+
+.invite-level {
+ width: 38px;
+ height: 24px;
+ background: linear-gradient(117deg, #0F1732 0%, #2F3A58 100%);
+ border-radius: 12px;
+ opacity: 1;
+ font-weight: bold;
+ line-height: 24px;
+ font-size: 12px;
+ text-align: center;
+ margin-left: 10px;
+}
+
+.invite-level-text {
+ background: linear-gradient(297deg, #FCA12D 0%, #FEF9F8 100%);
+ background-clip: text;
+ color: transparent;
+}
\ No newline at end of file
diff --git a/src/pages/transfer/index.config.js b/src/pages/transfer/index.config.js
new file mode 100644
index 0000000..332e89a
--- /dev/null
+++ b/src/pages/transfer/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '转赠他人'
+})
diff --git a/src/pages/transfer/index.jsx b/src/pages/transfer/index.jsx
new file mode 100644
index 0000000..2f62cbe
--- /dev/null
+++ b/src/pages/transfer/index.jsx
@@ -0,0 +1,105 @@
+import { Image, Input, Text, View } from "@tarojs/components"
+import back from '@/images/back.png'
+import checked from '@/images/checked.png'
+import eyeClose from '@/images/eyeClose.png'
+import eye from '@/images/eye.png'
+import './index.scss'
+import { Button } from "@nutui/nutui-react-taro"
+import { useState } from "react"
+import Taro from "@tarojs/taro"
+import backNav from '@/images/backNav.png'
+import { Picker } from "@nutui/nutui-react-taro"
+
+const activeEye = eye
+
+const Login = () => {
+
+ const [account, setAccount] = useState('')
+ const [pwd, setPwd] = useState('')
+ const [showPwd, setShowPwd] = useState(false)
+
+ const [visible, setVisible] = useState(false)
+ const [bank, setBank] = useState({ value: 0, text: '' })
+
+
+
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+
+ return
+
+
+ 转赠他人
+
+
+
+
+ 当前余额
+ 50000
+
+
+
+ 对方账号
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 确认对方账号
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 转赠数量
+
+ {
+ setAccount(v.detail.value)
+ }} />
+ {
+ account &&
+ }
+
+
+
+
+ 交易密码
+
+ {
+ setPwd(v.detail.value)
+ }} />
+ {
+ setShowPwd(v => !v)
+ }} />
+
+
+
+ {
+ account &&
+
+
+
+ }
+
+
+
+
+}
+
+
+export default Login
\ No newline at end of file
diff --git a/src/pages/transfer/index.scss b/src/pages/transfer/index.scss
new file mode 100644
index 0000000..04a5432
--- /dev/null
+++ b/src/pages/transfer/index.scss
@@ -0,0 +1,127 @@
+.transfer-frame {
+ height: 100vh;
+ font-size: 14px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ background-color: #FBFBFD;
+}
+
+.transfer-container {
+ width: 375px;
+ box-sizing: border-box;
+ padding: 20px 20px;
+}
+
+.form-item {
+ height: 68px;
+ opacity: 1;
+}
+
+.form-label {
+ font-size: 12px;
+ font-weight: bold;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ color: #2a2b2d;
+ line-height: 16px;
+}
+
+.form-input>.weui-input {
+ border: none;
+ height: 52px;
+ line-height: 52px;
+ border-bottom: 1px solid #262A34;
+ position: relative;
+ font-size: 16px;
+ color: #000;
+}
+
+.form-input>.weui-input:focus {
+ border-bottom: 2px solid #F67952;
+}
+
+.form-input-placeholder,
+.form-input>.weui-input::placeholder {
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: bold;
+ color: #aeafb4;
+}
+
+.form-control {
+ height: 52px;
+ position: relative;
+}
+
+.forgot-password {
+ height: 24px;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+ font-weight: 400;
+ color: #666;
+ line-height: 24px;
+
+ text-align: right;
+}
+
+
+.transfer-btn {
+ width: 253px;
+ height: 55px;
+ background: #F67952;
+ border-radius: 68px 68px 68px 68px;
+ opacity: 1;
+ border: none;
+ color: white;
+ font-size: 16px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+}
+
+.transfer-footer {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 315px;
+ margin-top: 70px;
+}
+
+
+.code-btn {
+ width: 83px;
+ height: 30px;
+ background: #F67952;
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ font-size: 12px;
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-weight: bold;
+ color: #FFFFFF;
+ border: none;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ bottom: 12px;
+}
+
+.transfer-amount {
+ width: 332px;
+ height: 120px;
+ background: linear-gradient(136deg, #00C982 0%, #0db17f 100%);
+ border-radius: 16px 16px 16px 16px;
+ opacity: 1;
+ margin-bottom: 36px;
+ color: #FFFFFF;
+ font-size: 12px;
+ box-sizing: border-box;
+ padding-left: 23px;
+ padding-bottom: 10px;
+}
+
+.transfer-container .form-label {
+ color: #5E6272 !important;
+}
+
+.transfer-amount-price {
+ font-size: 26px;
+ font-weight: bold;
+ margin-top: 8px;
+}
\ No newline at end of file
diff --git a/src/pages/user-info/index.config.js b/src/pages/user-info/index.config.js
new file mode 100644
index 0000000..1448aea
--- /dev/null
+++ b/src/pages/user-info/index.config.js
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '编辑资料'
+})
diff --git a/src/pages/user-info/index.jsx b/src/pages/user-info/index.jsx
new file mode 100644
index 0000000..b460955
--- /dev/null
+++ b/src/pages/user-info/index.jsx
@@ -0,0 +1,133 @@
+import React from 'react'
+import { Image, Text, View, Input, Label } from '@tarojs/components'
+import './index.scss'
+
+import { useEffect } from 'react';
+import { useState } from 'react';
+import backNav from '@/images/backNav.png'
+import next from '@/images/next.png'
+import uncheck from '@/images/uncheck.png'
+import checked from '@/images/checked.png'
+import Taro from '@tarojs/taro';
+import { useRouter } from '@tarojs/taro';
+import { Button, Textarea, Address } from '@nutui/nutui-react-taro';
+import { Avatar } from '@nutui/nutui-react-taro';
+import { Overlay } from '@nutui/nutui-react-taro';
+
+
+
+function Index() {
+
+ const param = useRouter().params
+ const [id] = useState(param.id)
+ const [visible, setVisible] = useState(false)
+
+ useEffect(() => {
+
+
+ }, [id])
+
+
+ // 跳转
+ const navDetailFn = (id) => {
+ Taro.navigateTo({
+ url: `/pages/pay-success/index?id=${id}`
+ })
+ }
+ // 返回页面
+ const backFn = () => {
+ Taro.getCurrentPages().length > 0 && Taro.navigateBack()
+ }
+
+ // editAvatar
+ const editAvatarFn = () => {
+ setVisible(true)
+
+ }
+
+ const loadAvatar = (type = 'album') => {
+
+ Taro.chooseImage({
+ sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
+ sourceType: [type], // 可以指定来源是相册还是相机,默认二者都有,在H5浏览器端支持使用 `user` 和 `environment`分别指定为前后摄像头
+ success: function (res) {
+ // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
+ var tempFilePaths = res.tempFilePaths
+ console.log(tempFilePaths)
+ }
+ })
+ }
+
+
+ return (
+
+
+
+ 编辑资料
+
+
+
+
+
+
+
+
+ 修改头像
+
+
+
+
+
+
+
+
+ 个人信息
+ { setNormal(true) }}>
+
+
+
+
+
+ 修改密码
+ { setNormal(true) }}>
+
+
+
+
+
+ 修改手机号
+ { setNormal(true) }}>
+
+
+
+
+
+ 我的银行卡
+ { setNormal(true) }}>
+
+
+
+
+
+
+
+
+
+ {
+ loadAvatar('camera')
+ }}>立即拍照
+ {
+ loadAvatar('album')
+ }}>从相册选取
+
+
+ { setVisible(false) }}>取消
+
+
+
+
+ )
+}
+
+export default Index
diff --git a/src/pages/user-info/index.scss b/src/pages/user-info/index.scss
new file mode 100644
index 0000000..5f81cf9
--- /dev/null
+++ b/src/pages/user-info/index.scss
@@ -0,0 +1,153 @@
+.addr-container {
+ font-family: Source Han Sans CN-Bold, Source Han Sans CN;
+ font-size: 14px;
+ background: #FBFBFD;
+ height: 100vh;
+}
+
+.nav-icon {
+ background: #FFFFFF;
+ box-shadow: 0px 16px 50px 0px rgba(49, 79, 124, 0.08);
+ border-radius: 16px 16px 16px 16px;
+}
+
+.addr-detail-title {
+ width: 100vw;
+ height: 60px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #1F2933;
+ line-height: 60px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.addr-body {
+ padding: 21px;
+ height: auto;
+ box-sizing: border-box;
+ width: 100vw;
+ display: flex;
+ flex-direction: column;
+ align-content: center;
+}
+
+.addr-box {
+ width: 333px;
+ background: #FFFFFF;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.03);
+ border-radius: 10px 10px 10px 10px;
+ box-sizing: border-box;
+ padding: 0 12px;
+}
+
+.addr-item {
+ width: 333px;
+ background: #FFFFFF;
+ box-shadow: 4px 7px 9px 0px rgba(56, 63, 68, 0.03);
+ border-radius: 10px 10px 10px 10px;
+ opacity: 1;
+ margin-bottom: 10px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-sizing: border-box;
+ padding: 0 12px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.5);
+ font-size: 12px;
+}
+
+.addr-form {
+ width: 308px;
+ box-sizing: border-box;
+ height: 48px;
+ border-bottom: 1px solid #F9F9F9;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+}
+
+.addr-form-name {
+ font-weight: bold;
+ color: #000000;
+ font-size: 15px;
+ margin-right: 10px;
+}
+
+.addr-form-input {
+ width: 230px;
+}
+
+.addr-btn {
+ width: 233px;
+ height: 55px;
+ border-radius: 107px 107px 107px 107px;
+ border: none;
+ font-weight: 400;
+ font-size: 16px;
+ color: #FFFFFF;
+ background: #F67952;
+ position: fixed;
+ bottom: 30px;
+ left: calc((100vw - 233px)/2);
+}
+
+.addr-item>.nut-textarea {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.addr-item .weui-input {
+ color: var(--nutui-textarea-text-color, var(--nutui-gray-1, #1a1a1a));
+
+}
+
+
+.my-order-title {
+ font-weight: 600;
+ color: #000000;
+ width: 100%;
+}
+
+.my-order-more {
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.4);
+ margin-right: 8px;
+}
+
+.my-order-more text {
+ margin-right: 10px;
+}
+
+.item-bg {
+ width: 308px;
+ padding: 14px 0;
+}
+
+.modify-box {
+ padding: 10px;
+ width: 100vw;
+ box-sizing: border-box;
+ position: fixed;
+ bottom: 0px;
+}
+
+.modify-item {
+ background: #FFFFFF;
+ box-shadow: 0px 1px 9px 0px rgba(0, 0, 0, 0.2);
+ border-radius: 10px;
+ font-weight: 400;
+ color: #181A20;
+}
+
+.modify-item-btn {
+ height: 68px;
+ font-size: 16px;
+ border-bottom: 1px solid #D8D8D8;
+}
\ No newline at end of file
diff --git a/src/tailwind.scss b/src/tailwind.scss
index 38f98dc..bf477f9 100644
--- a/src/tailwind.scss
+++ b/src/tailwind.scss
@@ -487,6 +487,10 @@
grid-template-columns: repeat(12, minmax(0, 1fr))
}
+.grid-cols-2 {
+ grid-template-columns: repeat(2, minmax(0, 1fr))
+}
+
.grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr))
}