短信接口接入

This commit is contained in:
tiantang 2023-06-13 22:11:38 +08:00
parent d31b2388aa
commit 77abfd14e0
4 changed files with 92 additions and 20 deletions

View File

@ -1,11 +1,25 @@
import request from "@/utils/system/request";
import request2 from "@/utils/system/request2";
// 获取数据api
export function getData(data: object) {
return request({
url: "/work/list",
method: "post",
baseURL: "/mock",
data,
});
}
export function sendCode(data: object) {
return request2({
url: "/sms/send",
method: "post",
data,
});
}
export function register(data: object) {
return request2({
url: "/register",
method: "post",
data,
});
}

View File

@ -45,7 +45,8 @@ service.interceptors.response.use(
},
(error: AxiosError) => {
console.log(error); // for debug
const badMessage: any = error.message || error;
// @ts-ignore
const badMessage: any = error.response.data.message || error;
const code = parseInt(
badMessage
.toString()
@ -58,6 +59,7 @@ service.interceptors.response.use(
// 错误处理
function showError(error: any) {
console.log(error)
// token过期清除本地数据并跳转至登录页面
if (error.code === 403) {
// to re-login

View File

@ -1,5 +1,5 @@
<template>
<el-form ref="forms" :model="form" label-width="0px">
<el-form ref="forms" :rules="registerRules" :model="form" label-width="0px">
<el-form-item style="margin-bottom: 0px" class="app-form-center">
<div class="form-left">
手机号码
@ -17,7 +17,7 @@
</div>
<div class="verify">
<div>
<el-input v-model="form.verifyInt" placeholder="" size="large" />
<el-input v-model="form.code" placeholder="" size="large" />
</div>
<div>
<p class="sendCode" v-if="!isSend.state" @click="sendRequest">获取验证码</p>
@ -50,23 +50,64 @@
</template>
<script lang="ts">
import {reactive, defineComponent, toRefs, onBeforeMount, ref, onUnmounted} from 'vue'
import {reactive, defineComponent, toRefs, onBeforeMount, ref, onUnmounted, unref} from 'vue'
import verify from './verify.png'
import {types} from "sass";
import {sendCode} from "@/api/user";
import {ElMessage} from "element-plus";
import {register, sendCode} from "@/api/work";
import {ElForm, ElMessage} from "element-plus";
import {registerUserApi} from "@/api/user";
let time:number = -9999
export default defineComponent({
setup() {
const registerRuleFormRef = ref<InstanceType<typeof ElForm>>()
const lastSend = ref<number>()
const formSubmit: any = reactive({
form: {
phone: 'phone',
phone: '',
verify: verify,
verifyInt: '',
code: '',
agreement: false
}
})
//
const registerRules = reactive({
phone: [
{
required: true,
validator: (rule: any, value: any, callback: any) => {
if (!value) {
return callback(new Error('手机号不能为空'))
}
callback()
},
trigger: 'blur'
}
],
code: [
{
// required: true,
validator: (rule: any, value: any, callback: any) => {
if (!value||value.length<4) {
return callback(new Error('验证码不能为空'))
}
callback()
},
trigger: 'blur'
}
],
agreement: [
{
// required: true,
validator: (rule: any, value: any, callback: any) => {
if (value !== true) {
return callback(new Error('请先勾选协议'))
}
callback()
},
trigger: 'blur'
}
]
})
const isSend: any = reactive({
isSend: {
state: false,
@ -74,8 +115,19 @@ export default defineComponent({
}
})
const onSubmit = () => {
const formWrap = unref<any>(registerRuleFormRef)
if (!formWrap) return
formWrap.validate((valid: boolean) => {
console.log(valid)
if (valid) {
// register({}).then(res=>{
//
// }))
console.log(11111111)
}
})
}
onBeforeMount(()=>{
const date:number = new Date().getTime()/1000
const storage:string = localStorage.getItem("lastSend")||""
@ -97,8 +149,18 @@ export default defineComponent({
})
//
const sendRequest = () => {
//
if(formSubmit.form.phone.length<13){
ElMessage({
showClose: true,
message: '手机号不能为空',
type: 'error',
duration:3000
})
return;
}
sendCode({
phone:formSubmit.phone
phone:formSubmit.form.phone
}).then(res=>{
isSend.isSend.state = true
const date:number = new Date().getTime()/1000
@ -118,18 +180,12 @@ export default defineComponent({
type: 'success',
duration:3000
})
}).catch(error=>{
ElMessage({
showClose: true,
message: '短信成功失败:失败原因'+error,
type: 'error',
duration:3000
})
})
}
return {
...toRefs(formSubmit),
...toRefs(isSend),
registerRules,
onSubmit,
sendRequest
}

View File

@ -109,7 +109,7 @@
</div>
</el-form-item>
</el-form>
<MessageLogin v-if="isMssages" @account="setMssages(false)" />
<MessageLogin v-show="isMssages" @account="setMssages(false)" />
</div>
<div
class="Propaganda forms-sumit"
@ -206,7 +206,7 @@
</div>
</el-form-item>
</el-form>
<MessageLogin v-if="isMssages" @account="setMssages(false)" />
<MessageLogin v-show="isMssages" @account="setMssages(false)" />
</div>
</div>
</div>