PC端登录
登录(SAASLogin/v2/merchant)
说明
- 不需要headers中传token
- 入参加密参考公钥使用
- 输入:
名称 | 字段 | 类型 | 可选 | 说明 |
---|---|---|---|---|
账号/手机号 | account | string | N | |
密码 | password | string | N |
- 输出:
名称 | 字段 | 类型 | 可选 | 说明 |
---|---|---|---|---|
用户名 | name | string | N | |
手机号 | mobile | string | N | |
token | token | string | N | api请求,通过token进行登录认证 |
商户号 | merchantId | string | N | |
商户联系手机号 | merchantMobile | string | N | |
商户logo | merchantLogoImage | string | N | |
商户类型 | scaleType | number | N | |
角色 | role | string | N | |
权限列表 | permissionList | Object Array | N | |
协议价 | agreementPrice | string | N | |
是否绑定微信 | isBindWX | boolean | N | |
是否绑定小程序 | isBindMiniParam | boolean | N |
返回码
返回码 | 说明 |
---|---|
0 | 登录成功 |
500 | 账号或密码错误 |
513 | 账号权限变更 |
518 | 账号频繁登录已被冻结,返回的时间为自动解封时间 |
519 | 账号频繁登录。最多连续登录5次,返回的数字为已登录次数 |
代码示例
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/3.0.0/jsencrypt.min.js"></script>
<style>
.success {
display: none;
}
</style>
</head>
<body>
<div class="login">
<div>账号:<input type="text" id="account"></div>
<div>密码:<input type="text" id="password"></div>
<div>
<button id="login">登录</button>
</div>
</div>
<div class="success">登录成功</div>
<script>
let publicKey;
let isLogining = false;
$('#login').on('click', function () {
if (isLogining) {
return false;
}
isLogining = true;
let data = {
account: $('#account').val().trim().replace(/\s/g, ""),
password: $('#password').val().trim().replace(/\s/g, "")
};
if (!data.account || !data.password) {
isLogining = false;
alert('请输入账号及密码')
return false;
}
getPublicKey(function (key) {
if (key) {
// RSA加密
let encrypt = new JSEncrypt();
encrypt.setPublicKey(key);
data = {
account: encrypt.encrypt(data.account),
password: encrypt.encrypt(data.password)
};
// 登录
$ajax({
api: 'SAASLogin/v2/merchant',
data: data,
success: function (res) {
$('.success').show();
$('.login').hide();
isLogining = false;
},
error: function (res) {
switch (res.code) {
case 519:
alert('账号或密码错误')
break;
default:
break;
}
isLogining = false;
}
})
} else {
isLogining = false;
}
})
});
// 获取公钥
function getPublicKey(callback) {
if (publicKey) {
callback(publicKey)
} else {
$ajax({
api: 'BizConfig/read/publicKey',
success: function (res) {
publicKey = res.data.value;
callback(publicKey);
},
error: function () {
callback();
}
})
}
}
function $ajax(option) {
let apiRoot = 'https://www.pointshow.net/api/';
let url = apiRoot + option.api;
$.ajax({
type: 'POST',
url: url,
data: JSON.stringify(option.data || {}),
dataType: 'json',
contentType: 'application/json',
success: function (result) {
if (result.code == 0) {
// 业务处理
if (option.success) option.success(result);
} else {
// 异常处理
if (option.error) option.error(result);
}
},
error: function (err) {
// 网络异常处理
if (option.error) option.error(err);
}
})
}
</script>
</body>
</html>
通过用户token跳转到首页
- 网址:https://www.pointshow.net/#/auth?t=token&failurl=登录失败的跳转地址
- 逻辑:token有效则跳转到首页,无效则跳转回failurl