diff --git a/src/App.vue b/src/App.vue index 569a43c..e09f6e8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -32,4 +32,14 @@ \ No newline at end of file diff --git a/src/pages/login.vue b/src/pages/login.vue index 8b9f1c1..3f39825 100644 --- a/src/pages/login.vue +++ b/src/pages/login.vue @@ -19,23 +19,31 @@ - + - + + + 记住密码 + + + + - - - - + + + + + + + + 已阅读并同意 + 《用户协议》 + + 《隐私协议》 + + @@ -43,15 +51,15 @@ 登录 + + + 立即注册 + - - 立即注册 - · - 官方网站 - · - 服务协议 + + Copyright © 2026 qdintc All Rights Reserved. @@ -66,12 +74,19 @@ import { getWxCode } from '@/utils/geek'; import { wxLogin } from '@/api/oauth'; import { setToken } from '@/utils/auth'; import { encrypt, decrypt } from '@/utils/jsencrypt' + +let isH5 = false +// #ifdef H5 +isH5 = true +// #endif + const userStore = useUserStore() const codeUrl = ref(""); const captchaEnabled = ref(true); // 是否开启验证码 const useWxLogin = ref(false); // 是否使用微信登录 const globalConfig = ref(config); const rememberMe = ref(false); +const agree = ref(true); const loginForm = ref({ username: "", password: "", @@ -92,6 +107,9 @@ if (useWxLogin.value) { } // 页面加载时检查是否记住了密码 onMounted(() => { + if (!isH5) { + return + } const username = localStorage.getItem('username'); const password = localStorage.getItem('password'); @@ -123,6 +141,8 @@ async function handleLogin() { modal.msgError("请输入您的账号") } else if (loginForm.value.password === "") { modal.msgError("请输入您的密码") + } else if (!agree.value) { + modal.msgError("请先阅读并同意用户协议和隐私协议") } else { modal.loading("登录中,请等待...") pwdLogin() @@ -141,7 +161,9 @@ async function pwdLogin() { }) }; function loginSuccess(result) { - if (rememberMe.value) { + if (!isH5) { + rememberMe.value = false + } else if (rememberMe.value) { localStorage.setItem('username', loginForm.value.username); localStorage.setItem('password', encrypt(loginForm.value.password)); } else { @@ -161,6 +183,16 @@ function rememberMeChange(){ rememberMe.value = !rememberMe.value; } + +function agreeChange() { + agree.value = !agree.value +} + +function handlePrivacy() { + uni.navigateTo({ + url: '/pages/common/privacy/index' + }) +} // 官方网址 function handleWebsite() { let site = globalConfig.value.appInfo.site_url; @@ -219,9 +251,9 @@ page { width: 140rpx; height: 140rpx; border-radius: 28rpx; - box-shadow: 0 16rpx 48rpx rgba(0, 0, 0, 0.2); + box-shadow: 0 15rpx 28rpx rgba(0, 0, 0, 0.2); background: #ffffff; - padding: 20rpx; + padding: 0rpx; } } @@ -285,13 +317,100 @@ page { color: #c0c4cc; } } + + .pwd-remember { + display: flex; + align-items: center; + margin-left: 16rpx; + flex-shrink: 0; + padding: 6rpx 4rpx; + + .pwd-remember-text { + font-size: 22rpx; + color: #909399; + margin-right: 10rpx; + line-height: 1; + } + + .mini-switch { + width: 56rpx; + height: 30rpx; + border-radius: 15rpx; + background: #dcdfe6; + position: relative; + transition: background 0.25s ease; + + &.on { + background: #667eea; + } + + .mini-switch-dot { + position: absolute; + top: 3rpx; + left: 3rpx; + width: 24rpx; + height: 24rpx; + border-radius: 50%; + background: #ffffff; + transition: transform 0.25s ease; + box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.15); + } + + &.on .mini-switch-dot { + transform: translateX(26rpx); + } + } + } } - .remember-section { - margin-bottom: 40rpx; - padding-left: 8rpx; + .agreement-box { + margin-bottom: 32rpx; + margin-top: 24rpx; + padding-left: 8rpx; + + .agreement-line { + display: flex; + align-items: center; + flex-wrap: wrap; } + .agreement-row { + display: flex; + align-items: center; + flex-wrap: wrap; + line-height: 1.6; + + .checkbox-small { + width: 28rpx; + height: 28rpx; + border: 2rpx solid #dcdfe6; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 10rpx; + flex-shrink: 0; + + &.checked { + background: #667eea; + border-color: #667eea; + } + } + + .agreement-text { + font-size: 24rpx; + color: #606266; + line-height: 1.6; + } + + .link-text { + font-size: 24rpx; + color: #667eea; + line-height: 1.6; + } + } + } + .action-btn { margin-top: 48rpx; @@ -323,31 +442,38 @@ page { } } } - } - .footer-links { - text-align: center; - padding: 60rpx 0 80rpx; - position: relative; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - gap: 16rpx; - - .link-item { - color: rgba(255, 255, 255, 0.9); - font-size: 26rpx; - transition: all 0.3s ease; - + .register-btn { + width: 100%; + height: 88rpx; + background: transparent; + border: 2rpx solid #667eea; + border-radius: 44rpx; + display: flex; + align-items: center; + justify-content: center; + margin-top: 24rpx; + + text { + font-size: 32rpx; + color: #667eea; + font-weight: 500; + } + &:active { - opacity: 0.7; + opacity: 0.8; + background: rgba(102, 126, 234, 0.05); } } - - .separator { - color: rgba(255, 255, 255, 0.5); - font-size: 26rpx; + } + + .copyright { + text-align: center; + padding: 40rpx 0 60rpx; + + text { + font-size: 22rpx; + color: rgba(255, 255, 255, 0.7); } } } diff --git a/src/pages/register.vue b/src/pages/register.vue index 058dcea..733570d 100644 --- a/src/pages/register.vue +++ b/src/pages/register.vue @@ -123,15 +123,14 @@ methods: { handleRegister() { this.$refs.form.validate().then(res => { - register(this.user) - .then((res) => { - uni.showToast({ - title: '注册成功,请登录', - icon: 'success', - duration: 2000 -}); -uni.navigateTo({ url: `/pages/login` }) - }) + register(this.user).then(() => { + uni.showToast({ + title: '注册成功,请登录', + icon: 'success', + duration: 2000 + }) + uni.redirectTo({ url: '/pages/login' }) + }) }) } diff --git a/src/pages/work/accounts/accountDealRecord/list.vue b/src/pages/work/accounts/accountDealRecord/list.vue index 9ca9f72..06fa648 100644 --- a/src/pages/work/accounts/accountDealRecord/list.vue +++ b/src/pages/work/accounts/accountDealRecord/list.vue @@ -114,8 +114,12 @@ 地点 {{ item.locationAddress || item.locationName }} + + 备注 + {{ item.remark }} + - + 备注 {{ item.remark }} diff --git a/src/static/logo.jpg b/src/static/logo.jpg index 5c47793..b67fcce 100644 Binary files a/src/static/logo.jpg and b/src/static/logo.jpg differ diff --git a/src/static/logo2.jpg b/src/static/logo2.jpg new file mode 100644 index 0000000..5c47793 Binary files /dev/null and b/src/static/logo2.jpg differ