Commit 87f559be authored by shilei's avatar shilei

用户协议

parent 0ca6cab4
......@@ -5,7 +5,7 @@
<div class="main-width">
<div class="flex">
<div class="mt-[159px] font-yahei font-bold text-white">
<div class="main-title h-[86px] w-[638px] text-[58px] whitespace-nowrap">
<div class="main-title h-[86px] w-[638px] whitespace-nowrap text-[58px]">
立业{{ developName }}丨共赢发展未来
</div>
<div class="sub-title mt-[13px] h-[37px] w-[637px] whitespace-nowrap text-[28px]">
......@@ -247,7 +247,8 @@ const handleShowDesc = () => {
}
.star-detail {
.star-bg {
background: url('https://cfld-obs-pro01.obs.cn-north-4.myhuaweicloud.com/img/system/%E8%88%92%E5%9F%8E%E5%A4%B4%E5%9B%BE.png?x-image-process=image/quality,q_80') no-repeat;
background: url('https://cfld-obs-pro01.obs.cn-north-4.myhuaweicloud.com/img/system/%E8%88%92%E5%9F%8E%E5%A4%B4%E5%9B%BE.png?x-image-process=image/quality,q_80')
no-repeat;
background-size: cover;
background-position-y: -100px;
}
......
......@@ -28,7 +28,7 @@
></CommonVideo>
<CommonImage
v-else
class="w-[492px] h-[288px]"
class="h-[288px] w-[492px]"
:src="item.videourl"
:type="DetailType.develop"
></CommonImage>
......
......@@ -42,15 +42,22 @@
<div class="my-2.5 py-3">
<button class="btn-default" @click="login">登录</button>
</div>
<p class="mb-1 cursor-pointer text-[#C0322B]" @click="changeModalType('loginByAccount')">
账号密码登录
</p>
<p class="text-xs text-black/[.45]">
登录即代表同意
<a class="text-[#C0322B]">《立业云隐私政策》</a>
<a class="text-[#C0322B]">《立业云用户服务协议》</a>
</p>
<div class="checkbox-box mt-2.5 leading-[20px] text-black/[.65]">
<ElCheckbox v-model="agree" :label="1">
<p style="text-wrap: wrap; line-height: 20px" class="text-xs">
我已阅读并同意
<a class="text-[#C0322B]" @click.stop.prevent="toAgreement(RouteName.userInfoPolicy)">
《立业云隐私政策》
</a>
<a class="text-[#C0322B]" @click.stop.prevent="toAgreement(RouteName.userAgreement)">
《立业云用户服务协议》
</a>
<a class="text-[#C0322B]" @click.stop.prevent="toAgreement(RouteName.thirdAgreement)">
《第三方使用信息协议》
</a>
</p>
</ElCheckbox>
</div>
</div>
<!-- /** * 账号密码登录 */ -->
<div v-if="modalType === 'loginByAccount'">
......@@ -89,12 +96,22 @@
<p class="mb-1 cursor-pointer text-[#C0322B]" @click="changeModalType('loginByPhone')">
手机快捷登录
</p>
<p class="text-xs text-black/[.45]">
登录即代表同意
<a class="text-[#C0322B]">《立业云隐私政策》</a>
<a class="text-[#C0322B]">《立业云用户服务协议》</a>
</p>
<div class="checkbox-box mt-2.5 leading-[20px] text-black/[.65]">
<ElCheckbox v-model="agree" :label="1">
<p style="text-wrap: wrap; line-height: 20px" class="text-xs">
我已阅读并同意
<a class="text-[#C0322B]" @click.stop="toAgreement(RouteName.userInfoPolicy)">
《立业云隐私政策》
</a>
<a class="text-[#C0322B]" @click.stop="toAgreement(RouteName.userAgreement)">
《立业云用户服务协议》
</a>
<a class="text-[#C0322B]" @click.stop="toAgreement(RouteName.thirdAgreement)">
《第三方使用信息协议》
</a>
</p>
</ElCheckbox>
</div>
</div>
<!-- /** * 找回密码 */ -->
<div v-if="modalType === 'resetPassWord'">
......@@ -190,9 +207,15 @@
<ElCheckbox v-model="agree" :label="1">
<p style="text-wrap: wrap; line-height: 20px" class="text-xs">
我已阅读并同意
<a class="text-[#C0322B]">《立业云隐私政策》</a>
<a class="text-[#C0322B]">《立业云用户服务协议》</a>
<a class="text-[#C0322B]" @click.stop.prevent="toAgreement(RouteName.userInfoPolicy)">
《立业云隐私政策》
</a>
<a class="text-[#C0322B]" @click.stop.prevent="toAgreement(RouteName.userAgreement)">
《立业云用户服务协议》
</a>
<a class="text-[#C0322B]" @click.stop.prevent="toAgreement(RouteName.thirdAgreement)">
《第三方使用信息协议》
</a>
</p>
</ElCheckbox>
</div>
......@@ -206,6 +229,8 @@ import { RequestUrl } from '@/types/api.ts';
import { useMessage } from '@/composable/useMessage.ts';
import { useAppStore } from '@/stores/app.ts';
import { debounce } from 'lodash-es';
import { RouteName } from '@/router/router.ts';
import { useJump } from '@/composable/useJump.ts';
import { useLoginModal } from './login.ts';
const appStore = useAppStore();
......@@ -221,18 +246,20 @@ const interval = ref<number>(0);
const { message } = useMessage();
const { close: closeModal } = useLoginModal();
const { proxy } = getCurrentInstance() as any;
const { open } = useJump();
const changeModalType = (type: string) => {
console.log('xxfdf')
console.log('xxfdf');
phoneNum.value = null;
verifyCode.value = null;
password.value = null;
modalType.value = type;
errorMsg.value = null;
agree.value = [];
// setTimeout(() => {
// console.log('az')
proxy.$refs.phoneInput.style.borderColor = 'rgba(0, 0, 0, 0.15)';
if(proxy.$refs.passWord) proxy.$refs.passWord.style.borderColor = 'rgba(0, 0, 0, 0.15)';
if (proxy.$refs.passWord) proxy.$refs.passWord.style.borderColor = 'rgba(0, 0, 0, 0.15)';
// },400)
};
......@@ -287,7 +314,7 @@ const verify = (type: string = 'all') => {
if (type === 'all') {
return false;
} else {
return true
return true;
}
} else {
if (errorMsg.value === '请输入有效的手机号码') {
......@@ -302,15 +329,16 @@ const verify = (type: string = 'all') => {
if (type === 'password' || type === 'all') {
if (modalType.value !== 'loginByPhone') {
if (!/^.{6,20}$/.test(password.value?.toString() || '')) {
if(proxy.$refs.passWord) proxy.$refs.passWord.style.borderColor = '#c0322b';
if (proxy.$refs.passWord) proxy.$refs.passWord.style.borderColor = '#c0322b';
errorMsg.value = '请输入6-20位有效密码';
if (type === 'all') { return false };
if (type === 'all') {
return false;
}
} else {
if (errorMsg.value === '请输入6-20位有效密码') {
errorMsg.value = null;
}
if(proxy.$refs.passWord) proxy.$refs.passWord.style.borderColor = 'rgba(0, 0, 0, 0.15)'
if (proxy.$refs.passWord) proxy.$refs.passWord.style.borderColor = 'rgba(0, 0, 0, 0.15)';
}
}
}
......@@ -325,6 +353,10 @@ const login = debounce(
if (!verify('all')) {
return;
}
if (!agree.value.length) {
message.error(`同意《个人信息保护政策》《立业云用户协议》《第三方使用信息协议》后可登录`);
return;
}
const url: string =
modalType.value === 'loginByAccount' ? RequestUrl.loginByAccount : RequestUrl.loginByPhone;
request(url);
......@@ -424,7 +456,7 @@ const register = async () => {
return;
}
if (!agree.value.length) {
errorMsg.value = '请勾选同意相关协议';
message.error(`同意《个人信息保护政策》《立业云用户协议》《第三方使用信息协议》后可注册`);
return;
}
request(RequestUrl.sign);
......@@ -452,16 +484,23 @@ const close = () => {
* 失焦事件
*/
const handleBlur = (type: string) => {
const _modalType = modalType.value;
console.log('333',_modalType)
console.log('333', _modalType);
setTimeout(() => {
console.log(444)
console.log(444);
if (_modalType === modalType.value) {
verify(type)
verify(type);
}
}, 320)
}
}, 320);
};
/**
* 跳转条款
*/
const toAgreement = (name: RouteName) => {
open({
name,
});
};
</script>
<style lang="scss" scoped>
.login-panel {
......@@ -470,14 +509,15 @@ const handleBlur = (type: string) => {
padding: 16px 33px;
text-align: left;
outline: none;
// .checkbox-box ::v-deep {
// .el-checkbox {
// align-items: flex-start;
// }
// .el-checkbox__input {
// padding-top: 3px;
// }
// }
::v-deep {
.el-checkbox {
align-items: flex-start;
height: auto;
}
.el-checkbox__input {
padding-top: 4px;
}
}
}
.phone-input {
width: 312px;
......@@ -532,13 +572,14 @@ const handleBlur = (type: string) => {
padding: 0;
}
.el-input__wrapper {
box-shadow: none;
&:hover {
box-shadow: none;
&:hover {
box-shadow: none;
}
}
.el-input__wrapper.is-focus,.el-input .el-input__wrapper.el-input__wrapper.is-focus.is-focus {
box-shadow: none !important;
}
}
.el-input__wrapper.is-focus,
.el-input .el-input__wrapper.el-input__wrapper.is-focus.is-focus {
box-shadow: none !important;
}
}
</style>
......@@ -102,7 +102,7 @@ const props = defineProps<{
containerClass?: string;
}>();
const infoList = ref<any[]>([]);
const { VITE_BASE_USER_URL } = import.meta.env;
const { VITE_BASE_USER_URL } = import.meta.env;
(window as any)._AMapSecurityConfig = {
serviceHost: `${VITE_BASE_USER_URL}/_AMapService`,
};
......
......@@ -293,12 +293,12 @@ const routes: readonly RouteRecordRaw[] = [
{
// 立业云用户协议
...gen(RouteName.userAgreement),
component: UserAgreement,
component: UserInfoPolicy,
},
{
// 个人信息保护政策
...gen(RouteName.userInfoPolicy),
component: UserInfoPolicy,
component: UserAgreement,
},
{
// 第三方使用信息协议
......
<!-- 第三方使用信息协议 -->
<template>
<div></div>
<div class="main-width mx-auto">
<p style="text-align: center"><strong>第三方使用信息协议</strong></p>
<p>同意华夏数科按照本政策的约定,将用户信息提供给第三方</p>
</div>
</template>
This diff is collapsed.
This diff is collapsed.
......@@ -29,7 +29,7 @@
<DetailInfoCell :infos="joinRequired" title="入驻要求">
<DetailInfo :infos="joinRequired"></DetailInfo>
</DetailInfoCell>
<DetailInfoCell title="周边配套" title-center v-if="detail.carrierParkVo.latitude">
<DetailInfoCell v-if="detail.carrierParkVo.latitude" title="周边配套" title-center>
<MapView
:lat="detail.carrierParkVo.latitude"
:lng="detail.carrierParkVo.longitude"
......
......@@ -34,7 +34,7 @@
<DetailInfoCell :infos="joinRequired" title="入驻要求">
<DetailInfo :infos="joinRequired"></DetailInfo>
</DetailInfoCell>
<DetailInfoCell title="周边配套" title-center v-if="detail.development.latitude">
<DetailInfoCell v-if="detail.development.latitude" title="周边配套" title-center>
<MapView :lat="detail.development.latitude" :lng="detail.development.longitude"></MapView>
</DetailInfoCell>
<DetailInfoCell class="!mt-10" title-center title="所属开发区">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment