first commit

This commit is contained in:
PC-202306242200\Administrator
2026-03-28 23:27:25 +08:00
commit 85b89ccea7
1694 changed files with 168292 additions and 0 deletions

256
pages/me/logon.vue Normal file
View File

@@ -0,0 +1,256 @@
<template>
<view class="t-login">
<u-navbar :autoBack="true"></u-navbar>
<!-- 页面装饰图片 -->
<image class="img-a" src="@/static/2.png"></image>
<image class="img-b" src="@/static/3.png"></image>
<!-- 标题 -->
<view class="t-b">{{ title }}</view>
<form class="cl">
<view class="t-a">
<image src="/static/icon/acee.png"></image>
<input type="text" placeholder="请输入用户名" maxlength="32" v-model="form.username" />
</view>
<view class="t-a">
<image src="/static/icon/pass.png"></image>
<input type="password" placeholder="请输入密码" maxlength="32" v-model="form.password" />
</view>
<view class="t-a">
<image src="/static/icon/yqs.png"></image>
<input type="text" placeholder="请输入邀请码" v-model="form.invite_code" />
</view>
<view class="t-a">
<image src="@/static/sj.png"></image>
<input type="number" placeholder="请输入手机号" maxlength="11" v-model="form.mobile" />
</view>
<view class="t-a">
<image src="@/static/yz.png"></image>
<input type="number" name="code" maxlength="6" placeholder="请输入验证码" v-model="form.code" />
<view v-if="showText" class="t-c" @click="getCode()">发送短信</view>
<view v-else class="t-c" style="background-color: #a7a7a7">重新发送({{ second }})</view>
</view>
</form>
<view class="u-flex u-flex-xy-center" style="font-size: 26rpx; font-weight: 800; width: 650rpx; margin-left: -25rpx; margin-bottom: 20rpx">
<u-checkbox-group v-model="check" shape="square">
<u-checkbox labelSize="28rpx" label="我已阅读并同意" :name="1"></u-checkbox>
</u-checkbox-group>
<navigator url="/pages/policy/user" style="color: dodgerblue" open-type="navigate">用户注册服务协议</navigator>
<navigator url="/pages/policy/privacy" style="color: dodgerblue" open-type="navigate">隐私政策</navigator>
</view>
<button class="b_register" @tap="register()"> </button>
<button class="b_login" @tap="login()"> </button>
</view>
</template>
<script>
export default {
data() {
return {
check: [],
title: '欢迎回来!', //填写logo或者app名称也可以用欢迎回来看您需求
second: 60, //默认60秒
showText: true, //判断短信是否发送
form: {
username: '',
password: '',
mobile: '',
code: '',
invite_code: ''
}
};
},
onLoad(option) {
var self = this;
if (option && option.invite_code) {
self.form.invite_code = option.invite_code;
}
const invite_code = uni.getStorageSync('invite_code');
console.log(invite_code);
if (invite_code && invite_code != 'undefined') {
self.form.invite_code = invite_code;
} else {
self.form.invite_code = '';
}
},
methods: {
login() {
uni.navigateBack();
},
register() {
if (this.check.length < 1) return uni.showToast({ title: '请阅读并同意《用户注册服务协议》《隐私政策》', icon: 'none' });
if (!this.form.username) return uni.showToast({ title: '请输入用户名', icon: 'none' });
if (!this.form.password) return uni.showToast({ title: '请输入密码', icon: 'none' });
if (!this.form.invite_code) return uni.showToast({ title: '请输入邀请码', icon: 'none' });
if (!this.form.mobile) return uni.showToast({ title: '请输入手机号', icon: 'none' });
// if (!uni.$u.test.mobile(this.form.phone)) return uni.showToast({ title: '请输入正确的手机号', icon: 'none' });
if (!this.form.code) return uni.showToast({ title: '请输入验证码', icon: 'none' });
this.$http.get('/shop/v10/auth/logon', this.form).then((res) => {
if (res.success) {
uni.navigateBack();
}
});
},
//获取短信验证码
getCode() {
console.log(123456);
var that = this;
if (!this.form.mobile) return uni.showToast({ title: '请输入手机号', icon: 'none' });
var interval = setInterval(() => {
that.showText = false;
var times = that.second - 1;
//that.second = times<10?'0'+times:times ;//小于10秒补 0
that.second = times;
console.log(times);
}, 1000);
setTimeout(() => {
clearInterval(interval);
that.second = 60;
that.showText = true;
}, 60000);
//这里请求后台获取短信验证码
uni.showLoading({
title: '正在获取验证码'
});
this.$http.get('/com/sms/sendcode', this.form).then((res) => {
if (res.success) {
uni.hideLoading();
uni.$u.toast('验证码已发送有效期5分钟');
that.showText = false;
}
});
}
}
};
</script>
<style>
page {
background-color: #fff;
}
.img-a {
position: absolute;
width: 100%;
top: -280rpx;
right: -100rpx;
z-index: -1;
}
.img-b {
position: absolute;
width: 50%;
bottom: 0;
left: -50rpx;
z-index: -1;
}
.t-login {
width: 600rpx;
margin: 0 auto;
font-size: 28rpx;
color: #000;
}
.t-login .b_login {
font-size: 28rpx;
background: rgba(86, 119, 252, 0.6);
color: #fff;
height: 90rpx;
line-height: 90rpx;
border-radius: 50rpx;
box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
margin-top: 30rpx;
}
.t-login .b_register {
font-size: 28rpx;
background: #5677fc;
color: #fff;
height: 90rpx;
line-height: 90rpx;
border-radius: 50rpx;
box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
}
.t-login input {
padding: 0 20rpx 0 120rpx;
height: 90rpx;
line-height: 90rpx;
margin-bottom: 50rpx;
background: #f8f7fc;
border: 1px solid #e9e9e9;
font-size: 28rpx;
border-radius: 50rpx;
}
.t-login .t-a {
position: relative;
}
.t-login .t-a image {
width: 40rpx;
height: 40rpx;
position: absolute;
left: 40rpx;
top: 28rpx;
border-right: 2rpx solid #dedede;
padding-right: 20rpx;
}
.t-login .t-b {
text-align: left;
font-size: 46rpx;
color: #000;
padding: 250rpx 0 120rpx 0;
font-weight: bold;
}
.t-login .t-c {
position: absolute;
right: 22rpx;
top: 22rpx;
background: #5677fc;
color: #fff;
font-size: 24rpx;
border-radius: 50rpx;
height: 50rpx;
line-height: 50rpx;
padding: 0 25rpx;
z-index: 999;
}
.t-login .t-d {
text-align: center;
color: #999;
margin: 80rpx 0;
}
.t-login .t-e {
text-align: center;
width: 250rpx;
margin: 80rpx auto 0;
}
.t-login .t-g {
float: left;
width: 50%;
}
.t-login .t-e image {
width: 50rpx;
height: 50rpx;
}
.t-login .uni-input-placeholder {
color: #000;
}
.cl {
zoom: 1;
}
.cl:after {
clear: both;
display: block;
visibility: hidden;
height: 0;
content: '\20';
}
</style>