134 lines
2.7 KiB
TypeScript
134 lines
2.7 KiB
TypeScript
/**
|
||
* Login 页面 - request.ts 使用示例
|
||
* 演示网络请求封装的各种用法:GET、POST、PUT、DELETE、文件上传等
|
||
*/
|
||
|
||
import { loginReq, type LoginParams } from '../../api/login'
|
||
|
||
Page({
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
// 登录表单数据
|
||
username: '王波林0001',
|
||
password: '1/OBSNrCge2rzKLaQduNpg==',
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad() {},
|
||
|
||
// ==================== 输入框事件处理 ====================
|
||
|
||
/**
|
||
* 用户名输入变化
|
||
*/
|
||
onUsernameChange(e: WechatMiniprogram.Input) {
|
||
this.setData({
|
||
username: e.detail.value,
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 密码输入变化
|
||
*/
|
||
onPasswordChange(e: WechatMiniprogram.Input) {
|
||
this.setData({
|
||
password: e.detail.value,
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 用户ID输入变化
|
||
*/
|
||
onUserIdChange(e: WechatMiniprogram.Input) {
|
||
this.setData({
|
||
userId: e.detail.value,
|
||
})
|
||
},
|
||
|
||
// ==================== POST 请求示例 ====================
|
||
|
||
/**
|
||
* 登录处理(显示 loading)
|
||
* 演示:POST 请求 + 默认 loading + TypeScript 类型
|
||
*/
|
||
async handleLogin() {
|
||
const { username, password } = this.data
|
||
|
||
// 表单验证
|
||
if (!username || !password) {
|
||
wx.showToast({
|
||
title: '请输入用户名和密码',
|
||
icon: 'none',
|
||
})
|
||
return
|
||
}
|
||
|
||
try {
|
||
// POST 请求示例 - 默认显示 loading
|
||
const loginParams: LoginParams = { userName: username, password }
|
||
const res = await loginReq(loginParams)
|
||
console.warn(res)
|
||
|
||
// 模拟保存 token
|
||
// const app = getApp<IAppOption>()
|
||
// if (res.data?.token) {
|
||
// app.globalData.token = res.data.token
|
||
// }
|
||
|
||
// wx.showToast({
|
||
// title: '登录成功',
|
||
// icon: 'success',
|
||
// })
|
||
|
||
// 实际项目中可以跳转到首页
|
||
// setTimeout(() => {
|
||
// wx.switchTab({
|
||
// url: '/pages/index/index'
|
||
// })
|
||
// }, 1500)
|
||
} catch (error) {
|
||
console.error('登录失败:', error)
|
||
// 错误已在拦截器中统一处理,这里可以做额外处理
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage() {},
|
||
})
|