需求
在使用web开发界面的过程中,需要实现用户登录功能。
登录接口使用phalapi
轻量级框架进行开发。
PhalApi是一个开源的PHP轻量级开源接口框架,致力于快速开发接口服务。 支持HTTP/SOAP/RPC等协议,可用于搭建接口/微服务/RESTful接口/Web Services。
异步请求
登录接口有同步和异步两种请求方式。
先来看异步的:
function login(username, password) {
let host = 'https://api.xxx.cn'
let postData = {
service: 'App.User.Login',
username: username,
password: password,
}
// 使用 fetch 发送 POST 请求
return fetch(host, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(postData)
}).then(response => {
// 检查响应是否成功
if (!response.ok) {
alert('网络响应不是 OK');
}
// return response.json(); // 解析 JSON 响应
}).then(data => {
if (data['code'] == 200) {
alert('登录成功');
} else if (data['message'] || data['msg']) {
alert(data['message'] || data['msg']);
} else {
alert('登录失败:未知错误');
}
}).catch(error => {
// alert('登录失败');
});
}
异步请求的缺点是封装成函数后没有返回值。所有的登录业务,必须在链式的回调里实现。
同步请求
同步请求方便封装成一个独立的函数供外部调用,推荐使用这种方法
/**
* 使用同步 XMLHttpRequest 发送登录请求。
*
* @param {string} username
* @param {string} password
* @returns {boolean}
* @author 飞云
* @wechat imfeiyun
* @link http://www.feiyunjs.com
*/
function loginSync(username, password) {
let result
let host = 'https://api.xxx.cn'
let credentials = {
service: 'App.User.Login',
username: username,
password: password,
}
const xhr = new XMLHttpRequest();
xhr.open('POST', host, false); // 设置请求为同步(false)
xhr.setRequestHeader('Content-Type', 'application/json');
try {
xhr.send(JSON.stringify(credentials)); // 发送请求
if (xhr.status === 200) {
// 请求成功,返回解析的 JSON 数据
let data = JSON.parse(xhr.responseText);
if (data['code'] == 200) {
result = true;
} else if (data['message'] || data['msg']) {
alert(data['message'] || data['msg']);
} else {
alert(xhr.responseText);
}
} else {
alert(xhr.responseText);
}
} catch (error) {
alert(error);
}
return result;
}
关联文章
AiWork和autojs使用H5做脚本界面时,处理按钮的重复点击
autox.js结合JsBridge及weui+实现web界面的交互,应用WebView与 HTML开发脚本界面
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork和autojs可用的同步POST和异步POST请求,使用H5做脚本界面
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork和autojs可用的同步POST和异步POST请求,使用H5做脚本界面