Compare commits

..

No commits in common. "67addd582ff5f238d5b7a7618f92ba6036cbd1f3" and "638300113bebf7d4549c5e163c2c5e634ac68211" have entirely different histories.

7 changed files with 13 additions and 50 deletions

View File

@ -46,16 +46,13 @@ onMounted(() => {
watch(
() => wxStore.userid,
(newVal) => {
const isLogin = ab98UserStore.isLogin;
if (newVal) {
tokenLogin(ab98UserStore.tokenLogin, newVal, wxStore.openid).then(res => {
if (newVal && !ab98UserStore.isLogin) {
tokenLogin(ab98UserStore.tokenLogin, newVal).then(res => {
if (res?.code === 0 && res.data?.success) {
ab98UserStore.setTel(res.data.tel)
ab98UserStore.setUserInfo(res.data)
if (!isLogin) {
ab98UserStore.setIsLogin(true)
router.push('/')
}
ab98UserStore.setIsLogin(true)
router.push('/')
}
})
}

View File

@ -55,10 +55,10 @@ export function logoutApi(token: string) {
}
/** ab98Token登录 */
export function tokenLogin(token: string, userid: string, openid: string) {
export function tokenLogin(token: string, userid: string) {
return request<ApiResponseData<LoginData>>({
url: '/wx/login/tokenLogin',
method: 'get',
params: { token, userid, openid }
params: { token, userid }
})
}

View File

@ -57,5 +57,4 @@ export type VerifySmsParams = {
/** 验证码 */
vcode: string
userid: string
openid: string
}

View File

@ -8,7 +8,6 @@ export interface CabinetDetailDTO {
export interface CellInfoDTO {
cellId: number
pinNo: number
stock: number
product?: ProductInfoDTO
}

View File

@ -7,15 +7,10 @@
<div class="product-list">
<van-cell v-for="locker in lockerList" :key="locker.lockerId" class="product-item">
<template #icon>
<div class="image-container">
<van-image width="80" height="80"
:src="locker.coverImg ? locker.coverImg : `${publicPath}` + 'img/product-image.svg'" fit="cover"
radius="4" class="product-image" :style="{ filter: locker.stock === 0 ? 'grayscale(100%)' : 'none' }">
</van-image>
<div v-if="locker.stock >= 0" class="stock-overlay">
库存: {{ locker.stock }}
</div>
</div>
<van-image width="80" height="80"
:src="locker.coverImg ? locker.coverImg : `${publicPath}` + 'img/product-image.svg'" fit="cover"
radius="4" class="product-image">
</van-image>
<!-- <div v-else class="status-overlay">
<svg width="80" height="80" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<rect x="5" y="5" width="90" height="90" rx="10" fill="#E8F5E9" stroke="#81C784"
@ -82,7 +77,6 @@ interface CabinetItem {
interface LockerItem {
lockerId: number
lockerNumber: number
stock: number
status: 0 | 1
statusClass: 'available' | 'occupied'
goodsName?: string
@ -115,7 +109,6 @@ const updateLockerList = (cabinet: CabinetDetailDTO) => {
lockerList.value = cabinet.cells.map(cell => ({
lockerId: cell.cellId,
lockerNumber: cell.pinNo,
stock: cell.stock,
status: cell.product ? 1 : 0,
statusClass: cell.product ? 'occupied' : 'available',
goodsName: cell.product?.goodsName,
@ -159,24 +152,6 @@ loadCabinetDetail()
</script>
<style lang="scss" scoped>
.image-container {
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.stock-overlay {
position: absolute;
right: 4px;
bottom: 4px;
background-color: rgba(0, 0, 0, 0.6);
color: white;
padding: 2px 6px;
border-radius: 4px;
font-size: 12px;
}
.cabinet-container {
display: flex;
height: calc(100vh - var(--van-tabbar-height));

View File

@ -111,8 +111,7 @@ const handleSubmit = async () => {
token: userStore.token,
tel: form.value.tel,
vcode: form.value.vcode,
userid: wxStore.userid,
openid: wxStore.openid
userid: wxStore.userid
})
if (data.success) {

View File

@ -9,8 +9,7 @@ const STORAGE_KEYS = {
USERID: 'ab98_userid',
REGISTERED: 'ab98_registered',
TEL: 'ab98_tel',
TOKEN: 'ab98_token',
LOGIN_CODE: 'ab98_login_code'
TOKEN: 'ab98_token'
}
/**
@ -40,12 +39,9 @@ export const useAb98UserStore = defineStore("ab98User", () => {
const token = ref<string>(storedToken ? decodeURIComponent(storedToken) : "");
const tokenLogin = ref<string>("");
// 登录验证码
const loginCode = '1'; // 默认验证码
// 用户登录状态
const isLogin = ref<boolean>(false);
const storedLoginCode = localStorage.getItem(STORAGE_KEYS.LOGIN_CODE);
isLogin.value = tel.value && storedLoginCode === String(loginCode) ? true : false;
isLogin.value = tel.value ? true : false;
/**
*
@ -64,7 +60,6 @@ export const useAb98UserStore = defineStore("ab98User", () => {
localStorage.setItem(STORAGE_KEYS.REGISTERED, JSON.stringify(data.registered))
tel.value = data.tel
localStorage.setItem(STORAGE_KEYS.TEL, encodeURIComponent(data.tel))
localStorage.setItem(STORAGE_KEYS.LOGIN_CODE, encodeURIComponent(loginCode))
}
/**
@ -85,7 +80,6 @@ export const useAb98UserStore = defineStore("ab98User", () => {
tel.value = ""
localStorage.removeItem(STORAGE_KEYS.TEL)
localStorage.removeItem(STORAGE_KEYS.TOKEN)
localStorage.removeItem(STORAGE_KEYS.LOGIN_CODE)
}
/**