Implement login functionality and UI updates across the application. Added silent login process in App.vue, updated styles for various components, and integrated smoke record dialog. Enhanced onboarding and profile pages with improved layouts and user experience. Updated manifest and configuration files for deployment. Added easycom configuration for component auto-import.
This commit is contained in:
@@ -1,36 +1,55 @@
|
||||
<script>
|
||||
import { login, isLoggedIn } from '@/api/auth'
|
||||
|
||||
export default {
|
||||
globalData: {
|
||||
loginReady: false,
|
||||
loginPromise: null
|
||||
},
|
||||
|
||||
onLaunch: function() {
|
||||
console.log('App Launch')
|
||||
this.globalData.loginPromise = this.initLogin()
|
||||
},
|
||||
|
||||
onShow: function() {
|
||||
console.log('App Show')
|
||||
},
|
||||
|
||||
onHide: function() {
|
||||
console.log('App Hide')
|
||||
},
|
||||
|
||||
methods: {
|
||||
async initLogin() {
|
||||
try {
|
||||
if (!isLoggedIn()) {
|
||||
console.log('未登录,开始静默登录...')
|
||||
await login()
|
||||
console.log('静默登录成功')
|
||||
} else {
|
||||
console.log('已登录')
|
||||
}
|
||||
this.globalData.loginReady = true
|
||||
return true
|
||||
} catch (e) {
|
||||
console.error('静默登录失败:', e)
|
||||
this.globalData.loginReady = true
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
waitForLogin() {
|
||||
return this.globalData.loginPromise
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--color-bg: #0D1F17;
|
||||
--color-bg-card: #1A3325;
|
||||
--color-bg-card-light: #243D2E;
|
||||
--color-primary: #4ADE80;
|
||||
--color-primary-dark: #22C55E;
|
||||
--color-text: #FFFFFF;
|
||||
--color-text-secondary: #9CA3AF;
|
||||
--color-text-muted: #6B7280;
|
||||
--color-border: #374151;
|
||||
--color-success: #4ADE80;
|
||||
--color-warning: #FBBF24;
|
||||
--color-danger: #EF4444;
|
||||
}
|
||||
|
||||
page {
|
||||
background-color: var(--color-bg);
|
||||
color: var(--color-text);
|
||||
background-color: #0D1F17;
|
||||
color: #FFFFFF;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
font-size: 28rpx;
|
||||
line-height: 1.5;
|
||||
@@ -43,26 +62,26 @@ page {
|
||||
}
|
||||
|
||||
.card {
|
||||
background-color: var(--color-bg-card);
|
||||
background-color: #1A3325;
|
||||
border-radius: 24rpx;
|
||||
padding: 32rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.card-light {
|
||||
background-color: var(--color-bg-card-light);
|
||||
background-color: #243D2E;
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: var(--color-primary);
|
||||
color: #4ADE80;
|
||||
}
|
||||
|
||||
.text-secondary {
|
||||
color: var(--color-text-secondary);
|
||||
color: #9CA3AF;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color: var(--color-text-muted);
|
||||
color: #6B7280;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
@@ -145,20 +164,20 @@ page {
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-bg);
|
||||
background-color: #4ADE80;
|
||||
color: #0D1F17;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: var(--color-bg-card);
|
||||
color: var(--color-text);
|
||||
border: 2rpx solid var(--color-border);
|
||||
background-color: #1A3325;
|
||||
color: #FFFFFF;
|
||||
border: 2rpx solid #374151;
|
||||
}
|
||||
|
||||
.btn-outline {
|
||||
background-color: transparent;
|
||||
color: var(--color-primary);
|
||||
border: 2rpx solid var(--color-primary);
|
||||
color: #4ADE80;
|
||||
border: 2rpx solid #4ADE80;
|
||||
}
|
||||
|
||||
.safe-area-bottom {
|
||||
|
||||
Reference in New Issue
Block a user