zj #69

Merged
asd merged 9 commits from zj into master 2020-10-23 01:56:47 +00:00
5 changed files with 162 additions and 22 deletions
Showing only changes of commit f0fde71145 - Show all commits

View File

@ -12,8 +12,15 @@ import { del, get, post, put, setToken } from './base'
* @param password
*/
export async function loginpass(phone: string, password: string){
const res = await post<LoginData>("login",{type: 2,username: phone, password: password});
export async function loginpass(phone: string, password: string,type?:number,smscode?:string){
let newdata={}
if(type==1){
newdata={type:type?type:2,username: phone, smscode: smscode}
}else{
newdata={type:type?type:2,username: phone, password: password}
}
const res = await post<LoginData>("login",newdata);
console.log(res.code)
if(res.code == 1){
message.error(res.msg)
@ -576,6 +583,16 @@ export async function checkuser(data?:any){
}
}
/**
*
*/
export async function getquhaolist() {
const res=await get("phonecodes")
// console.log(res)
return res.data
}
/**
*
* @param phone
@ -746,7 +763,20 @@ export async function cancellive(id: number, status: number){
}
}
/**
*
*/
export async function changetel(e:string) {
const res = await put(`member/${store.state.userinfo.memberid}`,{mobile:e});
console.log(res)
if(res.code == 0){
message.success("修改成功")
return true;
}else{
message.error(res.msg);
return false;
}
}
/**

View File

@ -10,6 +10,7 @@ export default createStore({
country: "",
countryValue: "",
cover: "",
code:"",
created_at: "",
currency: "",
currencyValue: "",

View File

@ -61,6 +61,7 @@ export interface UserInfo {
video: string;
desc: string;
money: string;
}

View File

@ -17,11 +17,17 @@
<a-form :layout="formLayout">
<a-form-item label="手机号" class="form-item">
<a-input-group compact>
<a-select default-value="Zhejiang" class="getcode">
<!-- <a-select default-value="Zhejiang" class="getcode">
<a-select-option value="Zhejiang">
中国+0086
</a-select-option>
<a-select-option value="Jiangsu"> Jiangsu </a-select-option>
</a-select> -->
<a-select :default-value="quhaolist[0].code" size="small" @change="getquhao" class="getcode">
<a-select-option v-for="(i,j) in quhaolist" :key="j" :value="i.code">
{{i.name}}+{{i.code}}
</a-select-option>
<!-- <a-select-option value="Jiangsu"> Jiangsu </a-select-option> -->
</a-select>
<div class="line"></div>
<a-input v-model:value="phone" style="width: 50%" placeholder="请输入您的手机号" />
@ -33,10 +39,10 @@
点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
</div>
<div class="line"></div>
<a-input style="width: 50%" placeholder="请输入您的验证码" />
<a-input style="width: 50%" placeholder="请输入您的验证码" v-model:value="code"/>
</a-input-group>
</a-form-item>
<div class="submit">立即登录</div>
<div class="submit" @click="sublogin">立即登录</div>
<div>Beelink公司版权所有 20192022</div>
</a-form>
</div>
@ -146,10 +152,11 @@
</template>
<script lang="ts">
import { defineComponent, reactive, ref } from "vue";
import { defineComponent, onMounted, reactive, ref } from "vue";
import LoginTab from "@/components/login/LoginTab.vue";
import NavTop from "@/components/NavTop.vue"
import { loginpass } from '@/api';
import { getquhaolist, loginpass, sendsms } from '@/api';
import { message } from 'ant-design-vue';
export default defineComponent({
name: "Login",
@ -165,10 +172,26 @@ export default defineComponent({
const tabselected = ref(1); //tab
const time = ref(60);//
const phone = ref(""); //
const code =ref("")
const myquhao=ref("86")
const userinfo = reactive({
phone: '13152639856',
password: '123456'
})
const quhaolist = ref<any>([
{
code: "86",
id: 214,
name: "中国"
}
])
onMounted(async ()=>{
quhaolist.value=await getquhaolist()
console.log(quhaolist.value,"listsssss")
})
/**
* @param val 子组件传过来的值
*/
@ -182,10 +205,25 @@ export default defineComponent({
* @param
* 点击获取验证码 触发倒计时
*/
let lock=false
const getcode: () => void = () => {
console.log(phone.value);
const timestep = setInterval(() => {
if (lock) {
console.log("lock")
return;
}
if (phone.value == "") {
message.error("手机号不能为空");
return;
}
lock = true;
console.log(myquhao.value,"quhao")
sendsms(myquhao.value + phone.value, 0);
const timestep = setInterval(() => {
console.log(11112);
time.value = time.value - 1;
if (time.value > 0) {
console.log();
@ -195,11 +233,21 @@ export default defineComponent({
}
}, 1000);
};
function getquhao(e ?:any){
console.log(e)
myquhao.value=e.toString()
console.log(myquhao.value)
}
function login(): void {
console.log(userinfo.phone,userinfo.password)
loginpass(userinfo.phone,userinfo.password)
}
function sublogin(){
console.log(11)
loginpass(phone.value,'',1,code.value)
}
return {
formLayout,
tabselected,
@ -208,7 +256,12 @@ export default defineComponent({
time,
phone,
login,
userinfo
userinfo,
quhaolist,
getquhao,
code,
myquhao,
sublogin
};
},
});

View File

@ -209,7 +209,7 @@
<div class="form-item">
<label class="label">手机验证码</label>
<a-input size="small" v-model:value="verificationCode" />
<div @click="sendVerificationCode(userinfo.mobile)" class="confirm-btn">获取验证码<span v-if="remainTime>0">{{ remainTime }}s</span></div>
<div @click="sendVerificationCode(userinfo.code+userinfo.mobile)" class="confirm-btn">获取验证码<span v-if="remainTime>0">{{ remainTime }}s</span></div>
</div>
</div>
<div @click="nextPhoneStep" class="confirm-btn">下一步</div>
@ -220,15 +220,25 @@
<div class="form-box">
<div class="form-item">
<label class="label">手机号</label>
<a-input size="small" v-model:value="bindPhone.number" />
<!-- <a-input size="small" v-model:value="bindPhone.number" /> -->
<a-input-group compact class="telbox">
<a-select :default-value="quhaolist[0].code" size="small" @change="getquhao">
<a-select-option v-for="(i,j) in quhaolist" :key="j" :value="i.code">
{{i.name}}+{{i.code}}
</a-select-option>
<!-- <a-select-option value="Jiangsu"> Jiangsu </a-select-option> -->
</a-select>
<div class="line"></div>
<a-input v-model:value="mynewtel" size="small" placeholder="请输入您的手机号" />
</a-input-group>
</div>
<div class="form-item">
<label class="label">手机验证码</label>
<a-input size="small" v-model:value="bindPhone.code" />
<div @click="sendVerificationCode" class="confirm-btn">获取验证码<span v-if="remainTime>0">{{ remainTime }}s</span></div>
<div @click="sendVerificationCode(myquhao+mynewtel)" class="confirm-btn">获取验证码<span v-if="remainTime>0">{{ remainTime }}s</span></div>
</div>
</div>
<div @click="nextPhoneStep" class="confirm-btn">绑定手机</div>
<div @click="updatePhoneNumber" class="confirm-btn">绑定手机</div>
</div>
</a-modal>
<!-- 修改密码 -->
@ -277,7 +287,7 @@ import { uploadflie } from "@/utils/vod"
import store from '@/store';
import smile from "@/static/images/smile.png"
import smilet from "@/static/images/smilet.png"
import { editpassword, getarchives, getlanguages, putmember, sendsms } from "@/api/index"
import { changetel, checksmscode, editpassword, getarchives, getlanguages, getquhaolist, putmember, sendsms } from "@/api/index"
import { message } from 'ant-design-vue';
export default defineComponent({
@ -306,9 +316,16 @@ export default defineComponent({
const chiveslist = ref<any>([[],[]]);
const languages = ref<unknown>([])
const quhaolist = ref<any>([])
const myquhao=ref<string>("")
const mynewtel=ref<string>("")
onMounted(async ()=>{
chiveslist.value = await getarchives()
languages.value = await getlanguages()
quhaolist.value=await getquhaolist()
myquhao.value=quhaolist.value[0].code
console.log(quhaolist.value,"listsssss")
})
/**
@ -370,10 +387,11 @@ export default defineComponent({
/**
* 发送验证码
*/
function sendVerificationCode(phone: string): void {
function sendVerificationCode(tel: string): void {
if(remainTime.value === 0) {
computedVerificationCode();
sendsms(phone, 0)
console.log(tel,"send")
sendsms(tel, 0)
}
}
//
@ -389,16 +407,45 @@ export default defineComponent({
/**
* 绑定手机号下一步
*/
function nextPhoneStep(): void {
isSecondStep.value = true;
async function nextPhoneStep(): Promise<void> {
remainTime.value = 0
if(!isSecondStep.value){
console.log(formData.value.code)
if(verificationCode.value == ""){
return ;
}
const res=await checksmscode(formData.value.code+formData.value.mobile,verificationCode.value)
console.log(res,"0.0")
if(res){
isSecondStep.value = true;
}
// isSecondStep.value = true;
}
// isSecondStep.value = true;
}
/**
* 修改手机号
* @return { void }
*/
function updatePhoneNumber (): void {
async function updatePhoneNumber (): Promise<void> {
console.log('修改手机号');
console.log(mynewtel.value,myquhao.value,bindPhone.code)
const res=await checksmscode(myquhao.value+mynewtel.value,bindPhone.code.toString())
console.log(res,"xiugai")
if(res){
const res1=await changetel(mynewtel.value)
if(res1){
store.dispatch("setUserInfo");
updatePhoneVisible.value=false
}
}
}
function getquhao(e ?:any){
console.log(e)
myquhao.value=e.toString()
}
//
const updatePasswordVisible: Ref<boolean> = ref(false);
@ -553,7 +600,11 @@ export default defineComponent({
chiveslist,
languages,
uploadprogress,
choosewillsay
choosewillsay,
mynewtel,
quhaolist,
getquhao,
myquhao
}
}
});
@ -567,6 +618,10 @@ export default defineComponent({
padding: 46px;
border-radius: 17px;
position: relative;
.telbox{
margin-left:15px;
font-size: 12px;
}
.update-btn {
font-size: 11px;
color: #08AE98;