Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
basic-uniapp-v3
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-uniapp-v3
Commits
644a509c
提交
644a509c
authored
11月 11, 2025
作者:
方治民
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修复用户登录 + 验证码发送接口及功能实现
上级
8cd4b403
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
45 行增加
和
10 行删除
+45
-10
userInfo.ts
src/api/model/userInfo.ts
+25
-1
login.vue
src/pages/login/login.vue
+15
-6
register.vue
src/pages/login/register.vue
+5
-3
没有找到文件。
src/api/model/userInfo.ts
浏览文件 @
644a509c
...
@@ -3,7 +3,9 @@ import { otherHttp } from '/@/utils/http/axios'
...
@@ -3,7 +3,9 @@ import { otherHttp } from '/@/utils/http/axios'
enum
Api
{
enum
Api
{
getUserInfo
=
'/sys/user/login/setting/getUserData'
,
// 查询登录用户信息
getUserInfo
=
'/sys/user/login/setting/getUserData'
,
// 查询登录用户信息
logout
=
'/sys/logout'
,
// 登出
logout
=
'/sys/logout'
,
// 登出
sysLogin
=
'/app/user/login'
,
// 登陆
sysLogin
=
'/sys/mLogin'
,
// 登陆
phoneLogin
=
'/sys/phoneLogin'
,
sms
=
'/sys/sms'
,
dictList
=
'/sys/dict/queryAllDictItems'
,
// 获取字典数据
dictList
=
'/sys/dict/queryAllDictItems'
,
// 获取字典数据
location
=
'/tianditu/geocode'
,
// 根据经纬度获取地址
location
=
'/tianditu/geocode'
,
// 根据经纬度获取地址
sysSmsCode
=
'/app/user/getSmsCode'
,
// 短信验证码
sysSmsCode
=
'/app/user/getSmsCode'
,
// 短信验证码
...
@@ -32,6 +34,28 @@ export function sysLogin(params = {}) {
...
@@ -32,6 +34,28 @@ export function sysLogin(params = {}) {
}
}
/**
/**
* 手机号登录
* @param params 参数
*/
export
function
phoneLogin
(
params
=
{})
{
return
otherHttp
.
post
({
url
:
Api
.
phoneLogin
,
data
:
params
})
}
/**
* @param params 请求参数
* @description: 获取短信验证码
*/
export
function
sysSms
(
params
=
{})
{
return
otherHttp
.
post
({
url
:
Api
.
sms
,
data
:
params
})
}
/**
* @param params 请求参数
* @param params 请求参数
* @description: 退出登录
* @description: 退出登录
*/
*/
...
...
src/pages/login/login.vue
浏览文件 @
644a509c
...
@@ -64,6 +64,13 @@
...
@@ -64,6 +64,13 @@
countdown
:
0
,
// 倒计时秒数
countdown
:
0
,
// 倒计时秒数
countdownTimer
:
null
,
// 倒计时定时器
countdownTimer
:
null
,
// 倒计时定时器
form
:
{
form
:
{
phoneRules
:
[
{
name
:
'username'
,
rule
:
[
'required'
],
msg
:
[
'请输入手机号'
],
},
],
rules
:
[
rules
:
[
{
{
name
:
'username'
,
name
:
'username'
,
...
@@ -112,13 +119,13 @@
...
@@ -112,13 +119,13 @@
if
(
res
.
isPassed
)
{
if
(
res
.
isPassed
)
{
// 登录参数
// 登录参数
const
params
=
{
const
params
=
{
usernam
e
:
model
.
form
.
data
.
username
,
mobil
e
:
model
.
form
.
data
.
username
,
captcha
:
model
.
form
.
data
.
code
,
captcha
:
model
.
form
.
data
.
code
,
}
}
// 短信登录
// 短信登录
model
.
loading
=
true
model
.
loading
=
true
API
.
sys
Login
(
params
)
API
.
phone
Login
(
params
)
.
then
(
async
(
body
)
=>
{
.
then
(
async
(
body
)
=>
{
console
.
log
(
'body'
,
body
)
console
.
log
(
'body'
,
body
)
if
(
body
)
{
if
(
body
)
{
...
@@ -147,7 +154,7 @@
...
@@ -147,7 +154,7 @@
* 获取验证码
* 获取验证码
*/
*/
function
smsCode
()
{
function
smsCode
()
{
form
?.
value
.
validator
(
model
.
form
.
data
,
model
.
form
.
rulesPhone
).
then
(
async
(
res
:
{
isPassed
:
boolean
})
=>
{
form
?.
value
.
validator
(
model
.
form
.
data
,
model
.
form
.
phoneRules
).
then
(
async
(
res
:
{
isPassed
:
boolean
})
=>
{
if
(
res
.
isPassed
)
{
if
(
res
.
isPassed
)
{
// 如果已经在倒计时中,不重复发送
// 如果已经在倒计时中,不重复发送
if
(
model
.
countdown
>
0
)
{
if
(
model
.
countdown
>
0
)
{
...
@@ -155,10 +162,12 @@
...
@@ -155,10 +162,12 @@
}
}
const
params
=
{
const
params
=
{
phone
:
model
.
form
.
data
.
phone
,
mobile
:
model
.
form
.
data
.
username
,
smsmode
:
'0'
,
}
}
API
.
sysSms
Code
(
params
)
API
.
sysSms
(
params
)
.
then
(
async
(
body
)
=>
{
.
then
(
async
(
body
)
=>
{
Message
.
toast
(
'验证码已发送'
)
console
.
log
(
'body'
,
body
)
console
.
log
(
'body'
,
body
)
// 开始倒计时
// 开始倒计时
startCountdown
()
startCountdown
()
...
@@ -269,7 +278,7 @@
...
@@ -269,7 +278,7 @@
<!--
<text
class=
"text-#999 text-24"
>
{{
'*小程序仅供内部员工使用'
}}
</text>
-->
<!--
<text
class=
"text-#999 text-24"
>
{{
'*小程序仅供内部员工使用'
}}
</text>
-->
</view>
</view>
</view>
</view>
<fui-form
class=
"form"
ref=
"form"
top=
"50"
:padding=
"['0rpx', '32rpx']"
>
<fui-form
class=
"form"
ref=
"form"
top=
"50"
:padding=
"['0rpx', '32rpx']"
background=
"#e46962"
>
<fui-input
<fui-input
height=
"100rpx"
height=
"100rpx"
class=
"input"
class=
"input"
...
...
src/pages/login/register.vue
浏览文件 @
644a509c
...
@@ -87,10 +87,12 @@
...
@@ -87,10 +87,12 @@
}
}
const
params
=
{
const
params
=
{
phone
:
model
.
form
.
data
.
phone
,
mobile
:
model
.
form
.
data
.
phone
,
smsmode
:
1
,
}
}
API
.
sysSms
Code
(
params
)
API
.
sysSms
(
params
)
.
then
(
async
(
body
)
=>
{
.
then
(
async
(
body
)
=>
{
Message
.
toast
(
'验证码已发送'
)
console
.
log
(
'body'
,
body
)
console
.
log
(
'body'
,
body
)
// 开始倒计时
// 开始倒计时
startCountdown
()
startCountdown
()
...
@@ -182,7 +184,7 @@
...
@@ -182,7 +184,7 @@
<view
class=
"logo-text"
>
数字农业服务平台
</view>
<view
class=
"logo-text"
>
数字农业服务平台
</view>
</view>
</view>
</view>
</view>
<fui-form
class=
"form"
ref=
"form"
top=
"50"
:padding=
"['0rpx', '32rpx']"
>
<fui-form
class=
"form"
ref=
"form"
top=
"50"
:padding=
"['0rpx', '32rpx']"
background=
"#e46962"
>
<view
class=
"reigister-form-item"
>
<view
class=
"reigister-form-item"
>
<image
class=
"reigister-form-image"
src=
"/static/images/register/user.png"
/>
<image
class=
"reigister-form-image"
src=
"/static/images/register/user.png"
/>
<text>
手机号
</text>
<text>
手机号
</text>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论