diff --git a/.env.development b/.env.development index 1da8487..eac1010 100644 --- a/.env.development +++ b/.env.development @@ -1,3 +1 @@ -# VITE_APP_URL = http://192.168.31.82:8771 -# VITE_APP_URL = http://18.167.251.121:10095 -VITE_APP_URL = https://www.lc-api.aida.com.hk +VITE_APP_URL = http://192.168.31.82:10094 diff --git a/.env.production b/.env.production index 40b3f9c..eac1010 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1 @@ -VITE_APP_URL = https://www.lc-api.aida.com.hk -# VITE_APP_URL = http://18.167.251.121:10095 +VITE_APP_URL = http://192.168.31.82:10094 diff --git a/index.html b/index.html index 2cb74af..baf8add 100644 --- a/index.html +++ b/index.html @@ -7,14 +7,14 @@ - Lane Crawford + Stylish Parade - - + + - + diff --git a/src/api/account.ts b/src/api/account.ts index 397a076..986ccf2 100644 --- a/src/api/account.ts +++ b/src/api/account.ts @@ -1,29 +1,62 @@ import request from '@/utils/request' -interface WardrobeItem { - buyerId: number - categories: string[] - designFor: 'female' | 'male' | 'all' - page: number - size: number +/** + * 登录发送验证码 + * @param data - 包含邮箱的参数 + * @param data.email - 邮箱 + * @param data.password - 密码 +*/ +export const AccountSendLoginCode = (data) => { + return request({ + url: '/buyer/account/preLogin', + method: 'post', + data, + loading: true + }) } -export const fetchMyWardrobe = (data: WardrobeItem): Promise => { - return request({ - url: '/buyer/buyer/order/assets/page', - method: 'post', - data - }) +/** + * 登录 + * @param data - 包含邮箱的参数 + * @param data.email - 邮箱 + * @param data.password - 密码 + * @param data.emailVerifyCode - 验证码 +*/ +export const AccountLogin = (data) => { + return request({ + url: '/buyer/account/login', + method: 'post', + data, + loading: true + }) } -interface OrderItem { - status: number - page: number - size: number +/** + * 注册 + * @param data - 包含注册信息的参数 + * @param data.email - 邮箱 + * @param data.password - 密码 + * @param data.username - 用户名 + * @param data.emailVerifyCode - 验证码 + */ +export const AccountRegister = (data) => { + return request({ + url: '/buyer/account/register', + method: 'post', + data, + loading: true + }) } -export const fetchMyOrders = (data: OrderItem): Promise => { - return request({ - url: '/buyer/buyer/order/page', - method: 'post', - data - }) +/** + * 注册||忘记密码:发送邮箱验证码 + * @param data - 包含邮箱的参数 + * @param data.email - 邮箱 + * @param data.operationType - 操作类型:FORGET_PWD, REGISTER +*/ +export const AccountSendVerifyCode = (data) => { + return request({ + url: '/buyer/account/sendCode', + method: 'post', + data, + loading: true + }) } diff --git a/src/api/brand.ts b/src/api/brand.ts new file mode 100644 index 0000000..b4d0c90 --- /dev/null +++ b/src/api/brand.ts @@ -0,0 +1,35 @@ +import request from '@/utils/request' +/** + * 获取店铺列表 + * @param data 获取店铺列表的参数 + * @param data.keyword 模糊查询店铺 + * @returns 获取店铺列表 + */ +export interface designerListData { + keyword: string +} +export const getDesignerList = (data:designerListData,loading?:boolean) => { + return request({ + url: '/buyer/designer/search', + method: 'get', + params: data, + loading + }) +} + +/** + * 获取店铺详情 + * @param data 获取店铺详情的参数 + * @param data.sellerId 店铺 id + * @returns 获取店铺详情 + */ +export interface designerDetailData { + sellerId?: string +} +export const getDesignerDetail = (data:designerDetailData,loading?:boolean) => { + return request({ + url: `/buyer/designer/shop/${data.sellerId}`, + method: 'get', + loading + }) +} \ No newline at end of file diff --git a/src/api/listing.ts b/src/api/listing.ts new file mode 100644 index 0000000..3611584 --- /dev/null +++ b/src/api/listing.ts @@ -0,0 +1,70 @@ +import request from '@/utils/request' +/** + * 获取店铺商品列表 + * @param data 获取店铺商品列表的参数 + * @param data.sellerId 店铺id + * @param data.designFor 查询类型 female/male/all + * @param data.pageNum 页码 + * @param data.pageSize 页面大小 + * @returns 获取店铺商品列表 + */ +export interface listingListData { + sellerId?: string + designFor?: string + pageNum?: number + pageSize?: number +} +export const getlistingList = (data:listingListData,loading?:boolean) => { + return request({ + url: '/buyer/listing/shop/seller', + method: 'get', + params: data, + loading + }) +} + +/** + * 获取商品详情 + * @param data 获取商品详情的参数 + * @param data.id 商品 id + * @returns 获取商品详情 + */ +export interface listingDetailData { + id?: string +} +export const getListingDetail = (data:listingDetailData,loading?:boolean) => { + return request({ + url: `/buyer/listing/mall/detail`, + method: 'get', + params: data, + loading + }) +} + +/** + * 获取资产数字商品列表 + * @param data 获取资产数字商品列表的参数 + * @param data.designFor 查询类型 female/male/all + * @param data.categories 商品分类 + * @param data.sortField 排序字段 price/salesVolume/updateTime/viewCount/createTime,默认 updateTime + * @param data.sortOrder 排序顺序:asc/desc,默认 desc + * @param data.pageNum 页码 + * @param data.pageSize 页面大小 + * @returns 获取资产数字商品列表 + */ +export interface listingMallData { + designFor: string, + categories: string[], + sortField: string, + sortOrder: string, + pageNum: number, + pageSize: number +} +export const getListingMallList = (data:listingMallData,loading?:boolean) => { + return request({ + url: `/buyer/listing/mall`, + method: 'post', + data, + loading + }) +} \ No newline at end of file diff --git a/src/api/login.ts b/src/api/login.ts deleted file mode 100644 index ee2b979..0000000 --- a/src/api/login.ts +++ /dev/null @@ -1,77 +0,0 @@ -import request from '@/utils/request' - -interface LoginParamsType { - name?: string // 姓名 - email: string // 邮箱 - password?: string // 密码 - operationType: 'REGISTER' | 'LOGIN' | 'FORGET_PWD' - verifyCode?: string // 验证码 -} - -// 发送验证码 -export const precheckEmail = (params: { email: string }): Promise => { - return request({ - url: '/api/auth/precheckEmail', - method: 'get', - params - }) -} - -export const fetchRegisterOrLogin = (data: LoginParamsType): Promise => { - return request({ - url: '/api/auth/registerOrLogin', - method: 'post', - data - }) -} - -export const resetPassword = (data: LoginParamsType): Promise => { - return request({ - url: '/api/auth/forgotPwd', - method: 'post', - data - }) -} - -export const checkLoginStatus = (): Promise> => { - return request({ - url: '/api/auth/checkLoginStatus', - method: 'get', - meta: { responseAll: true } - }) -} - -export const LogOut = (): Promise => { - return request({ - url: '/api/auth/logout', - method: 'get' - }) -} - -// Google登录/注册参数类型 -interface GoogleAuthParamsType { - accessToken?: string // Google ID Token (用于One Tap登录) -} -export const googleAuth = (data: GoogleAuthParamsType): Promise => { - return request({ - url: '/api/auth/parseGoogleAccessToken', - method: 'get', - params: data - }) -} - - -/** 更改用户信息 - * @param data 包含用户信息的对象 - * @param data.username 用户名 - * @param data.email 邮箱 - * @param data.password 密码 - * @returns 包含更新后的用户信息的对象 -*/ -export const updateUserInfo = (data: any) => { - return request({ - url: '/api/auth/updateUserInfo', - method: 'post', - data - }) -} diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 48ea446..81beb9e 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -122,11 +122,11 @@ button[custom="white"] { height: 5rem; padding: 0 1rem; border-radius: 0; - border: none; font-family: KaiseiOpti-Bold; font-size: var(--button-font-size, 2rem); color: var(--button-color, #232323); background: var(--button-bgcolor, #fff); + border: var(--button-border, none); cursor: pointer; } button[custom]:active, @@ -141,6 +141,11 @@ button[custom="black"] { --button-click-color: #fff; --button-font-size: 1.6rem; } -.el-select-dropdown__item { - padding: 0 2rem !important; +button[custom="black-box"] { + --button-bgcolor: transparent; + --button-color: #232323; + --button-border: 0.2rem solid #979797; + --button-click-bgcolor: #979797; + --button-click-color: #fff; + --button-font-size: 1.6rem; } diff --git a/src/assets/css/style.less b/src/assets/css/style.less index 1557dc7..23f75a9 100644 --- a/src/assets/css/style.less +++ b/src/assets/css/style.less @@ -149,11 +149,11 @@ button[custom="white"] { height: 5rem; padding: 0 1rem; border-radius: 0; - border: none; font-family: KaiseiOpti-Bold; font-size: var(--button-font-size, 2rem); color: var(--button-color, #232323); background: var(--button-bgcolor, #fff); + border: var(--button-border, none); cursor: pointer; &:active { @@ -168,4 +168,13 @@ button[custom="black"] { --button-click-bgcolor: #333; --button-click-color: #fff; --button-font-size: 1.6rem; +} + +button[custom="black-box"] { + --button-bgcolor: transparent; + --button-color: #232323; + --button-border: 0.2rem solid #979797; + --button-click-bgcolor: #979797; + --button-click-color: #fff; + --button-font-size: 1.6rem; } \ No newline at end of file diff --git a/src/assets/icons/brand/delete.svg b/src/assets/icons/brand/delete.svg new file mode 100644 index 0000000..364b40b --- /dev/null +++ b/src/assets/icons/brand/delete.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/brand/more.svg b/src/assets/icons/brand/more.svg new file mode 100644 index 0000000..e0acc88 --- /dev/null +++ b/src/assets/icons/brand/more.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/brand/search.svg b/src/assets/icons/brand/search.svg new file mode 100644 index 0000000..726ac68 --- /dev/null +++ b/src/assets/icons/brand/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/brand/time.svg b/src/assets/icons/brand/time.svg new file mode 100644 index 0000000..231172e --- /dev/null +++ b/src/assets/icons/brand/time.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/digital/pullIcon.svg b/src/assets/icons/digital/pullIcon.svg new file mode 100644 index 0000000..8275dbf --- /dev/null +++ b/src/assets/icons/digital/pullIcon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/shop.svg b/src/assets/icons/shop.svg new file mode 100644 index 0000000..b52e7fe --- /dev/null +++ b/src/assets/icons/shop.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/statement.svg b/src/assets/icons/statement.svg new file mode 100644 index 0000000..80c5207 --- /dev/null +++ b/src/assets/icons/statement.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/brand-null.png b/src/assets/images/brand-null.png new file mode 100644 index 0000000..1ac4095 Binary files /dev/null and b/src/assets/images/brand-null.png differ diff --git a/src/assets/images/brand/brandBg.png b/src/assets/images/brand/brandBg.png index d5b004b..a92325f 100644 Binary files a/src/assets/images/brand/brandBg.png and b/src/assets/images/brand/brandBg.png differ diff --git a/src/assets/images/brand/brandDetailBg.png b/src/assets/images/brand/brandDetailBg.png new file mode 100644 index 0000000..d5b004b Binary files /dev/null and b/src/assets/images/brand/brandDetailBg.png differ diff --git a/src/assets/images/brand/brandLoading.gif b/src/assets/images/brand/brandLoading.gif new file mode 100644 index 0000000..c5234fe Binary files /dev/null and b/src/assets/images/brand/brandLoading.gif differ diff --git a/src/assets/images/collectionStory/code-create.png b/src/assets/images/collectionStory/code-create.png new file mode 100644 index 0000000..776ddf3 Binary files /dev/null and b/src/assets/images/collectionStory/code-create.png differ diff --git a/src/assets/images/collectionStory/collection_story_banner.png b/src/assets/images/collectionStory/collection_story_banner.png index 5dee32c..bcde967 100644 Binary files a/src/assets/images/collectionStory/collection_story_banner.png and b/src/assets/images/collectionStory/collection_story_banner.png differ diff --git a/src/assets/images/home/bg.jpg b/src/assets/images/home/bg.jpg deleted file mode 100644 index a234fb3..0000000 Binary files a/src/assets/images/home/bg.jpg and /dev/null differ diff --git a/src/assets/images/home/bg.png b/src/assets/images/home/bg.png new file mode 100644 index 0000000..d14ca1a Binary files /dev/null and b/src/assets/images/home/bg.png differ diff --git a/src/assets/images/home/designer-bg.png b/src/assets/images/home/designer-bg.png new file mode 100644 index 0000000..3e0baf8 Binary files /dev/null and b/src/assets/images/home/designer-bg.png differ diff --git a/src/assets/images/home/designers-left.jpg b/src/assets/images/home/designers-left.jpg deleted file mode 100644 index b737116..0000000 Binary files a/src/assets/images/home/designers-left.jpg and /dev/null differ diff --git a/src/assets/images/home/designers-right.jpg b/src/assets/images/home/designers-right.jpg deleted file mode 100644 index 97e3b7e..0000000 Binary files a/src/assets/images/home/designers-right.jpg and /dev/null differ diff --git a/src/assets/images/logos/stylish-arade-black.png b/src/assets/images/logos/stylish-parade-black.png similarity index 100% rename from src/assets/images/logos/stylish-arade-black.png rename to src/assets/images/logos/stylish-parade-black.png diff --git a/src/components/checked.vue b/src/components/checked.vue index 4954620..e55331f 100644 --- a/src/components/checked.vue +++ b/src/components/checked.vue @@ -14,11 +14,23 @@ const emit = defineEmits([ 'update:selected' ]) const checkList = computed(()=>{ - return [props.selected] + if(props.selected[0] === ''){ + return props.list.map(item => item.value) + }else{ + return [...props.selected] + } }) const handleChange = (val) => { - if (val.length > 1) { - emit('update:selected', val[val.length - 1]) + emit('update:selected', val) +} +const checkAll = computed(()=>{ + return checkList.value.length === props.list.length +}) +const handleCheckAllChange = (val) => { + if(val){ + emit('update:selected', props.list.map(item => item.value)) + }else{ + emit('update:selected', []) } } let data = reactive({ @@ -31,6 +43,14 @@ defineExpose({}) const {} = toRefs(data); \ No newline at end of file diff --git a/src/views/brand/index.vue b/src/views/brand/index.vue index e8350d5..ded72e4 100644 --- a/src/views/brand/index.vue +++ b/src/views/brand/index.vue @@ -1,9 +1,13 @@