| | |
| | | <template> |
| | | <view class="container"> |
| | | <!-- <view class="logo"> |
| | | <view class="container"> |
| | | <!-- <view class="logo"> |
| | | <image src="https://sk.hubeishuiyi.cn/business/xcxImg/wxlogo.png" lazy-load show-menu-by-longpress |
| | | style="width: 100rpx;height: 100rpx;"></image> |
| | | <view class="title">基层智治</view> |
| | | </view>--> |
| | | |
| | | |
| | | <image class="bg" src="/static/img/login-bg.png" :style="{height:screenHeight}" mode="aspectFill"></image> |
| | | <image class="bg" src="/static/img/login-bg.png" :style="{ height: screenHeight }" mode="aspectFill"></image> |
| | | |
| | | |
| | | <view class="content" v-if="!loginType"> |
| | | <image class="title-img" src="/static/icon/login-title.png" mode="aspectFill"></image> |
| | | <view class="flex f-d-c a-i-c" style="margin-bottom:60rpx;"> |
| | | <view class="f-28">登录后即可展示自己</view> |
| | | <view class="fw" style="font-size:56rpx;margin:40rpx 0 38rpx;">185****1647</view> |
| | | <view class="f-22">认证服务由中国移动提供</view> |
| | | </view> |
| | | <view class="content" v-if="!loginType"> |
| | | <image class="title-img" src="/static/icon/login-title-ys.png" mode="aspectFill"></image> |
| | | <view class="flex f-d-c a-i-c" style="margin-bottom:60rpx;"> |
| | | <view class="f-28">登录后即可展示自己</view> |
| | | <view class="fw" style="font-size:56rpx;margin:40rpx 0 38rpx;">185****1647</view> |
| | | <view class="f-22">认证服务由中国移动提供</view> |
| | | </view> |
| | | |
| | | <button class="submit-btn f-28">本机号码一键登录</button> |
| | | <button class="btn bgc-ff f-28 mt-30" @click="accountLogin()">账号登录</button> |
| | | <view class="agreement flex"> |
| | | <u-checkbox-group v-model="isAgreement"> |
| | | <u-checkbox shape="circle" size="16"></u-checkbox> |
| | | </u-checkbox-group> |
| | | <button class="submit-btn f-28">本机号码一键登录</button> |
| | | <button class="btn bgc-ff f-28 mt-30" @click="accountLogin()">账号登录</button> |
| | | <view class="agreement flex"> |
| | | <u-checkbox-group v-model="isAgreement"> |
| | | <u-checkbox shape="circle" size="16"></u-checkbox> |
| | | </u-checkbox-group> |
| | | |
| | | <view class="f-22">我已阅读并同意<text class="c-main">用户协议</text>和<text class="c-main">隐私政策</text>以及 <text |
| | | class="c-main">《中国移动认证服务条款》</text>·同时登录并使用基层智治综合协同平台</view> |
| | | </view> |
| | | </view> |
| | | <view class="f-22">我已阅读并同意<text class="c-main">用户协议</text>和<text class="c-main">隐私政策</text>以及 <text |
| | | class="c-main">《中国移动认证服务条款》</text>·同时登录并使用社区网格治理平台</view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="content" v-if="loginType == 1"> |
| | | <view class="content" v-if="loginType == 1"> |
| | | |
| | | <image class="title-img" src="/static/icon/login-title.png" mode="aspectFill"></image> |
| | | <image class="title-img" src="/static/icon/login-title-ys.png" mode="aspectFill"></image> |
| | | |
| | | <view class=""> |
| | | <u-form labelPosition="top" labelWidth="60" :model="form" :rules="rules" ref="form"> |
| | | <u-form-item :borderBottom="false" ref="phone"> |
| | | <u-input placeholder="请输入用户名" prefixIcon="account" |
| | | prefixIconStyle="font-size: 28px;color: #017BFC" |
| | | placeholderStyle="font-size:28rpx;color:#ABABAB;" |
| | | customStyle="background:#fff;width:634rpx;" type="number" v-model="form.phone"></u-input> |
| | | </u-form-item> |
| | | <u-form-item prop="password" :borderBottom="false" ref="password"> |
| | | <u-input v-if="passwordProps.passwordType == 'password'" placeholder="请输入密码" prefixIcon="lock" |
| | | prefixIconStyle="font-size: 28px;color: #017BFC" |
| | | placeholderStyle="font-size:28rpx;color:#ABABAB;" |
| | | customStyle="background:#fff;width:634rpx;" type="password" v-model="form.password"> |
| | | <template slot="suffix"> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" size="24" |
| | | color="#9FA5C0"></u-icon> |
| | | </template> |
| | | </u-input> |
| | | <view class=""> |
| | | <u-form labelPosition="top" labelWidth="60" :model="form" :rules="rules" ref="form"> |
| | | <u-form-item :borderBottom="false" ref="phone"> |
| | | <u-input placeholder="请输入用户名" prefixIcon="account" |
| | | prefixIconStyle="font-size: 28px;color: #017BFC" |
| | | placeholderStyle="font-size:28rpx;color:#ABABAB;" |
| | | customStyle="background:#fff;width:634rpx;" type="number" v-model="form.phone"></u-input> |
| | | </u-form-item> |
| | | <u-form-item prop="password" :borderBottom="false" ref="password"> |
| | | <u-input v-if="passwordProps.passwordType == 'password'" placeholder="请输入密码" prefixIcon="lock" |
| | | prefixIconStyle="font-size: 28px;color: #017BFC" |
| | | placeholderStyle="font-size:28rpx;color:#ABABAB;" |
| | | customStyle="background:#fff;width:634rpx;" type="password" v-model="form.password"> |
| | | <template slot="suffix"> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" size="24" |
| | | color="#9FA5C0"></u-icon> |
| | | </template> |
| | | </u-input> |
| | | |
| | | <u-input v-if="passwordProps.passwordType == 'text'" placeholder="请输入密码" prefixIcon="lock" |
| | | prefixIconStyle="font-size: 28px;color: #017BFC" |
| | | placeholderStyle="font-size:28rpx;color:#ABABAB;" |
| | | customStyle="background:#fff;width:634rpx;" type="text" v-model="form.password"> |
| | | <template slot="suffix"> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" size="24" |
| | | color="#9FA5C0"></u-icon> |
| | | </template> |
| | | </u-input> |
| | | </u-form-item> |
| | | </u-form> |
| | | <button class="submit-btn f-30 mt-190" @click="submit" :disabled="disabled">登录</button> |
| | | </view> |
| | | <u-input v-if="passwordProps.passwordType == 'text'" placeholder="请输入密码" prefixIcon="lock" |
| | | prefixIconStyle="font-size: 28px;color: #017BFC" |
| | | placeholderStyle="font-size:28rpx;color:#ABABAB;" |
| | | customStyle="background:#fff;width:634rpx;" type="text" v-model="form.password"> |
| | | <template slot="suffix"> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" size="24" |
| | | color="#9FA5C0"></u-icon> |
| | | </template> |
| | | </u-input> |
| | | </u-form-item> |
| | | </u-form> |
| | | <button class="submit-btn f-30 mt-190" @click="submit" :disabled="disabled">登录</button> |
| | | </view> |
| | | |
| | | |
| | | <view class="top" v-if="false"> |
| | | <u--form labelPosition="top" labelWidth="60" :model="form" :rules="rules" ref="form"> |
| | | <view class="cell"> |
| | | <u-form-item label="账号:" borderBottom ref="phone"> |
| | | <u-input v-model="form.phone" border="none" placeholder="请输入登录账号"></u-input> |
| | | </u-form-item> |
| | | </view> |
| | | <view class="cell"> |
| | | <u-form-item label="密码:" prop="password" borderBottom ref="password"> |
| | | <view style="display: flex; width: 100%;"> |
| | | <!-- #ifdef MP-WEIXIN --> |
| | | <u-input v-if="passwordProps.passwordType == 'password'" type="password" |
| | | v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-input v-else type="text" v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" color="#000000" |
| | | size="25"></u-icon> |
| | | <!-- #endif --> |
| | | <!-- #ifdef APP-PLUS--> |
| | | <u-input :type="passwordProps.passwordType" v-model="form.password" border="none" |
| | | placeholder="请输入密码"></u-input> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" color="#000000" |
| | | size="25"></u-icon> |
| | | <!-- #endif --> |
| | | <!-- #ifdef H5--> |
| | | <u-input v-if="passwordProps.passwordType == 'password'" type="password" |
| | | v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-input v-else type="text" v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" color="#000000" |
| | | size="25"></u-icon> |
| | | <!-- #endif --> |
| | | </view> |
| | | </u-form-item> |
| | | </view> |
| | | </u--form> |
| | | <view class="top" v-if="false"> |
| | | <u--form labelPosition="top" labelWidth="60" :model="form" :rules="rules" ref="form"> |
| | | <view class="cell"> |
| | | <u-form-item label="账号:" borderBottom ref="phone"> |
| | | <u-input v-model="form.phone" border="none" placeholder="请输入登录账号"></u-input> |
| | | </u-form-item> |
| | | </view> |
| | | <view class="cell"> |
| | | <u-form-item label="密码:" prop="password" borderBottom ref="password"> |
| | | <view style="display: flex; width: 100%;"> |
| | | <!-- #ifdef MP-WEIXIN --> |
| | | <u-input v-if="passwordProps.passwordType == 'password'" type="password" |
| | | v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-input v-else type="text" v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" color="#000000" |
| | | size="25"></u-icon> |
| | | <!-- #endif --> |
| | | <!-- #ifdef APP-PLUS--> |
| | | <u-input :type="passwordProps.passwordType" v-model="form.password" border="none" |
| | | placeholder="请输入密码"></u-input> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" color="#000000" |
| | | size="25"></u-icon> |
| | | <!-- #endif --> |
| | | <!-- #ifdef H5--> |
| | | <u-input v-if="passwordProps.passwordType == 'password'" type="password" |
| | | v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-input v-else type="text" v-model="form.password" border="none" placeholder="请输入密码"> |
| | | </u-input> |
| | | <u-icon @click="showPassword" :name="passwordProps.passwordIcon" color="#000000" |
| | | size="25"></u-icon> |
| | | <!-- #endif --> |
| | | </view> |
| | | </u-form-item> |
| | | </view> |
| | | </u--form> |
| | | |
| | | <button class="submit" @click="submit" :disabled="disabled">登录</button> |
| | | <view class="page-change"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <button class="submit" @click="submit" :disabled="disabled">登录</button> |
| | | <view class="page-change"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import md5 from '@/utils/md5.js' |
| | | import loginMixin from '@/mixin/loginMixin' |
| | | import { |
| | | fetchUserInfo |
| | | } from "@/api/user.js" |
| | | export default { |
| | | onLoad(option) { |
| | | const { |
| | | redirect |
| | | } = option |
| | | if (redirect) this.redirect = redirect |
| | | }, |
| | | mixins: [loginMixin], |
| | | data() { |
| | | return { |
| | | tenantId: '000000', |
| | | form: { |
| | | phone: "", |
| | | password: "", |
| | | import md5 from '@/utils/md5.js' |
| | | import loginMixin from '@/mixin/loginMixin' |
| | | import { |
| | | fetchUserInfo |
| | | } from "@/api/user.js" |
| | | export default { |
| | | onLoad (option) { |
| | | const { |
| | | redirect |
| | | } = option |
| | | if (redirect) this.redirect = redirect |
| | | }, |
| | | mixins: [loginMixin], |
| | | data () { |
| | | return { |
| | | tenantId: '000000', |
| | | form: { |
| | | phone: "", |
| | | password: "", |
| | | |
| | | |
| | | }, |
| | | rules: { |
| | | 'phone': [{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写手机号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'], |
| | | } |
| | | ], |
| | | 'password': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入密码', |
| | | trigger: ['blur', 'change'] |
| | | } |
| | | }, |
| | | disabled: false, |
| | | redirect: '', |
| | | passwordProps: { |
| | | passwordIcon: "eye-off", |
| | | passwordType: "password" |
| | | }, |
| | | screenHeight: "", |
| | | loginType: 1, //登录类型 1账号密码 2 一键登录 |
| | | isAgreement: true |
| | | } |
| | | }, |
| | | }, |
| | | rules: { |
| | | 'phone': [{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写手机号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value) |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'], |
| | | } |
| | | ], |
| | | 'password': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入密码', |
| | | trigger: ['blur', 'change'] |
| | | } |
| | | }, |
| | | disabled: false, |
| | | redirect: '', |
| | | passwordProps: { |
| | | passwordIcon: "eye-off", |
| | | passwordType: "password" |
| | | }, |
| | | screenHeight: "", |
| | | loginType: 1, //登录类型 1账号密码 2 一键登录 |
| | | isAgreement: true |
| | | } |
| | | }, |
| | | |
| | | onLoad() { |
| | | this.screenHeight = `${uni.getSystemInfoSync().screenHeight}px`; |
| | | this.form.phone = uni.getStorageSync("phoneNmber"); |
| | | }, |
| | | onLoad () { |
| | | this.screenHeight = `${uni.getSystemInfoSync().screenHeight}px` |
| | | this.form.phone = uni.getStorageSync("phoneNmber") |
| | | }, |
| | | |
| | | methods: { |
| | | methods: { |
| | | |
| | | accountLogin() { |
| | | // if(!this.isAgreement){ |
| | | accountLogin () { |
| | | // if(!this.isAgreement){ |
| | | |
| | | // } |
| | | console.log(111); |
| | | this.loginType = 1; |
| | | }, |
| | | // } |
| | | console.log(111) |
| | | this.loginType = 1 |
| | | }, |
| | | |
| | | submit() { |
| | | const that = this |
| | | this.$refs.form.validate().then(res => { |
| | | this.$u.api |
| | | .token(this.tenantId, this.form.phone, md5(this.form.password)) |
| | | .then(data => { |
| | | uni.setStorageSync("phoneNmber", this.form.phone) |
| | | // this.getUserInfo(data); |
| | | this.$u.func.login(data) |
| | | }) |
| | | .catch(err => { |
| | | this.$u.func.showToast({ |
| | | title: err.data.error_description || "服务器错误" |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | handleInputCheck() { |
| | | this.disabled = false |
| | | }, |
| | | showPassword() { |
| | | this.passwordProps.passwordIcon == "eye-off" ? this.$set(this.passwordProps, "passwordIcon", "eye-fill") : |
| | | this.$set(this.passwordProps, "passwordIcon", "eye-off") |
| | | this.passwordProps.passwordType == "password" ? this.$set(this.passwordProps, "passwordType", "text") : |
| | | this.$set(this.passwordProps, "passwordType", "password") |
| | | }, |
| | | submit () { |
| | | const that = this |
| | | this.$refs.form.validate().then(res => { |
| | | this.$u.api |
| | | .token(this.tenantId, this.form.phone, md5(this.form.password)) |
| | | .then(data => { |
| | | uni.setStorageSync("phoneNmber", this.form.phone) |
| | | // this.getUserInfo(data); |
| | | this.$u.func.login(data) |
| | | }) |
| | | .catch(err => { |
| | | this.$u.func.showToast({ |
| | | title: err.data.error_description || "服务器错误" |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | handleInputCheck () { |
| | | this.disabled = false |
| | | }, |
| | | showPassword () { |
| | | this.passwordProps.passwordIcon == "eye-off" ? this.$set(this.passwordProps, "passwordIcon", "eye-fill") : |
| | | this.$set(this.passwordProps, "passwordIcon", "eye-off") |
| | | this.passwordProps.passwordType == "password" ? this.$set(this.passwordProps, "passwordType", "text") : |
| | | this.$set(this.passwordProps, "passwordType", "password") |
| | | }, |
| | | |
| | | getUserInfo(data) { |
| | | fetchUserInfo(data.user_id).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200) { |
| | | this.$u.vuex('userInfo', JSON.parse(res.data)) |
| | | } |
| | | }) |
| | | }, |
| | | getUserInfo (data) { |
| | | fetchUserInfo(data.user_id).then(res => { |
| | | console.log(res) |
| | | if (res.code == 200) { |
| | | this.$u.vuex('userInfo', JSON.parse(res.data)) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .bg { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | .bg { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | |
| | | .privacy-policy { |
| | | width: 100%; |
| | | padding: 40rpx 40rpx 0 80rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | .privacy-policy { |
| | | width: 100%; |
| | | padding: 40rpx 40rpx 0 80rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .container { |
| | | min-height: 100vh; |
| | | overflow: hidden; |
| | | // background: url("https://sk.hubeishuiyi.cn/business/xcxImg/reservoirImg/default.jpg") no-repeat; |
| | | // background-size: 100% 100%; |
| | | position: relative; |
| | | .container { |
| | | min-height: 100vh; |
| | | overflow: hidden; |
| | | // background: url("https://sk.hubeishuiyi.cn/business/xcxImg/reservoirImg/default.jpg") no-repeat; |
| | | // background-size: 100% 100%; |
| | | position: relative; |
| | | |
| | | .set-icon { |
| | | vertical-align: middle; |
| | | width: 41rpx; |
| | | height: auto; |
| | | margin-right: 35rpx; |
| | | } |
| | | } |
| | | .set-icon { |
| | | vertical-align: middle; |
| | | width: 41rpx; |
| | | height: auto; |
| | | margin-right: 35rpx; |
| | | } |
| | | } |
| | | |
| | | .logo { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: 200rpx 0; |
| | | .logo { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: 200rpx 0; |
| | | |
| | | image { |
| | | box-shadow: 4rpx 4rpx 20rpx #fafafa; |
| | | } |
| | | image { |
| | | box-shadow: 4rpx 4rpx 20rpx #fafafa; |
| | | } |
| | | |
| | | .title { |
| | | margin-top: 40rpx; |
| | | font-weight: 700; |
| | | font-size: 32rpx; |
| | | .title { |
| | | margin-top: 40rpx; |
| | | font-weight: 700; |
| | | font-size: 32rpx; |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .title-img { |
| | | width: 650rpx; |
| | | height: 49rpx; |
| | | display: block; |
| | | margin: 320rpx 0 120rpx; |
| | | } |
| | | .title-img { |
| | | width: 650rpx; |
| | | height: 49rpx; |
| | | display: block; |
| | | margin: 320rpx 0 120rpx; |
| | | } |
| | | |
| | | .content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | // height: 90vh; |
| | | width: 100%; |
| | | .content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | // height: 90vh; |
| | | width: 100%; |
| | | |
| | | .top { |
| | | width: 100%; |
| | | width: 100%; |
| | | // background: #fff; |
| | | padding: 20px 0; |
| | | position: fixed; |
| | | bottom: 0px; |
| | | } |
| | | .top { |
| | | width: 100%; |
| | | width: 100%; |
| | | // background: #fff; |
| | | padding: 20px 0; |
| | | position: fixed; |
| | | bottom: 0px; |
| | | } |
| | | |
| | | .logo { |
| | | display: block; |
| | | width: 281rpx; |
| | | height: auto; |
| | | margin: 0 auto 120rpx; |
| | | } |
| | | .logo { |
| | | display: block; |
| | | width: 281rpx; |
| | | height: auto; |
| | | margin: 0 auto 120rpx; |
| | | } |
| | | |
| | | .cell { |
| | | width: 100%; |
| | | padding: 0 85rpx; |
| | | box-sizing: border-box; |
| | | margin-top: 36rpx; |
| | | .cell { |
| | | width: 100%; |
| | | padding: 0 85rpx; |
| | | box-sizing: border-box; |
| | | margin-top: 36rpx; |
| | | |
| | | .name { |
| | | font-size: 22rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #3e4a59; |
| | | line-height: 30rpx; |
| | | opacity: 0.72; |
| | | } |
| | | .name { |
| | | font-size: 22rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #3e4a59; |
| | | line-height: 30rpx; |
| | | opacity: 0.72; |
| | | } |
| | | |
| | | .input-box { |
| | | padding: 30rpx 0; |
| | | border-bottom: 2rpx solid #f6f6f6; |
| | | display: flex; |
| | | align-items: center; |
| | | .input-box { |
| | | padding: 30rpx 0; |
| | | border-bottom: 2rpx solid #f6f6f6; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .code { |
| | | font-size: 22rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #0d0d0d; |
| | | line-height: 30rpx; |
| | | .code { |
| | | font-size: 22rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #0d0d0d; |
| | | line-height: 30rpx; |
| | | |
| | | text { |
| | | color: #5f88ff; |
| | | } |
| | | } |
| | | text { |
| | | color: #5f88ff; |
| | | } |
| | | } |
| | | |
| | | .ipt { |
| | | flex: 1; |
| | | font-size: 24rpx; |
| | | } |
| | | .ipt { |
| | | flex: 1; |
| | | font-size: 24rpx; |
| | | } |
| | | |
| | | .hold { |
| | | font-size: 26rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #3e4a59; |
| | | line-height: 30px; |
| | | opacity: 0.45; |
| | | } |
| | | } |
| | | } |
| | | .hold { |
| | | font-size: 26rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #3e4a59; |
| | | line-height: 30px; |
| | | opacity: 0.45; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .agree { |
| | | margin: 27rpx 95rpx 0; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #cacaca; |
| | | line-height: 34rpx; |
| | | .agree { |
| | | margin: 27rpx 95rpx 0; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #cacaca; |
| | | line-height: 34rpx; |
| | | |
| | | .a { |
| | | color: #000000; |
| | | } |
| | | } |
| | | .a { |
| | | color: #000000; |
| | | } |
| | | } |
| | | |
| | | .submit { |
| | | margin: 60rpx 90rpx 0; |
| | | border: none; |
| | | width: 572rpx; |
| | | height: 86rpx; |
| | | line-height: 86rpx; |
| | | box-sizing: border-box; |
| | | border-radius: 15rpx; |
| | | background-color: #5f88ff; |
| | | color: #ffffff; |
| | | .submit { |
| | | margin: 60rpx 90rpx 0; |
| | | border: none; |
| | | width: 572rpx; |
| | | height: 86rpx; |
| | | line-height: 86rpx; |
| | | box-sizing: border-box; |
| | | border-radius: 15rpx; |
| | | background-color: #5f88ff; |
| | | color: #ffffff; |
| | | |
| | | &::after { |
| | | content: none; |
| | | } |
| | | &::after { |
| | | content: none; |
| | | } |
| | | |
| | | &::before { |
| | | content: none; |
| | | } |
| | | &::before { |
| | | content: none; |
| | | } |
| | | |
| | | &[disabled='true'] { |
| | | background: #e4e4e4; |
| | | font-size: 36rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 500; |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | &[disabled='true'] { |
| | | background: #e4e4e4; |
| | | font-size: 36rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 500; |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | |
| | | .tip { |
| | | margin-top: 30rpx; |
| | | text-align: center; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #cacaca; |
| | | line-height: 34rpx; |
| | | } |
| | | .tip { |
| | | margin-top: 30rpx; |
| | | text-align: center; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #cacaca; |
| | | line-height: 34rpx; |
| | | } |
| | | |
| | | .change { |
| | | margin-top: 20rpx; |
| | | text-align: center; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #5f88ff; |
| | | line-height: 34rpx; |
| | | } |
| | | .change { |
| | | margin-top: 20rpx; |
| | | text-align: center; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #5f88ff; |
| | | line-height: 34rpx; |
| | | } |
| | | |
| | | .tag { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #9f9f9f; |
| | | line-height: 34rpx; |
| | | .tag { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 22rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #9f9f9f; |
| | | line-height: 34rpx; |
| | | |
| | | &::before { |
| | | content: ''; |
| | | display: block; |
| | | width: 160rpx; |
| | | height: 1px; |
| | | background: #d8d8d8; |
| | | opacity: 0.86; |
| | | } |
| | | &::before { |
| | | content: ''; |
| | | display: block; |
| | | width: 160rpx; |
| | | height: 1px; |
| | | background: #d8d8d8; |
| | | opacity: 0.86; |
| | | } |
| | | |
| | | &::after { |
| | | content: ''; |
| | | display: block; |
| | | width: 160rpx; |
| | | height: 1px; |
| | | background: #d8d8d8; |
| | | opacity: 0.86; |
| | | } |
| | | } |
| | | &::after { |
| | | content: ''; |
| | | display: block; |
| | | width: 160rpx; |
| | | height: 1px; |
| | | background: #d8d8d8; |
| | | opacity: 0.86; |
| | | } |
| | | } |
| | | |
| | | .chat-arr { |
| | | margin-top: 50rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .chat-arr { |
| | | margin-top: 50rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .icon { |
| | | width: 73rpx; |
| | | height: 73rpx; |
| | | } |
| | | } |
| | | .icon { |
| | | width: 73rpx; |
| | | height: 73rpx; |
| | | } |
| | | } |
| | | |
| | | .page-change { |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | } |
| | | } |
| | | .page-change { |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | } |
| | | } |
| | | |
| | | .submit-btn { |
| | | width: 634rpx; |
| | | height: 94rpx; |
| | | line-height: 94rpx; |
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%); |
| | | border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | color: #fff; |
| | | } |
| | | .submit-btn { |
| | | width: 634rpx; |
| | | height: 94rpx; |
| | | line-height: 94rpx; |
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%); |
| | | border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | color: #fff; |
| | | } |
| | | |
| | | .mt-190 { |
| | | margin-top: 190rpx; |
| | | } |
| | | .mt-190 { |
| | | margin-top: 190rpx; |
| | | } |
| | | |
| | | .btn { |
| | | width: 634rpx; |
| | | height: 94rpx; |
| | | line-height: 94rpx; |
| | | margin-top: 30rpx; |
| | | .btn { |
| | | width: 634rpx; |
| | | height: 94rpx; |
| | | line-height: 94rpx; |
| | | margin-top: 30rpx; |
| | | |
| | | } |
| | | } |
| | | |
| | | .agreement { |
| | | width: 634rpx; |
| | | margin: 37rpx auto 0; |
| | | } |
| | | .agreement { |
| | | width: 634rpx; |
| | | margin: 37rpx auto 0; |
| | | } |
| | | </style> |