thinkraz-api-sdk
Version:
橡芮科技API开发包
200 lines (192 loc) • 7.51 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<title>Title</title>
</head>
<body>
<div id="start_area">
<a href="javascript:start('operation_area_1');">注册新会员</a>
<a href="javascript:loginStart('operation_area_2');">查看可用权限</a>
</div>
<div id="operation_area_1" hidden>
<label for="name_input">用户名</label><input id="name_input" value="123">
<label for="pw_input">密码</label><input id="pw_input" value="123">
<a href="javascript:register();">注册</a>
</div>
<div id="login_area" hidden>
<label for="name_input_2">用户名</label><input id="name_input_2" value="123">
<label for="pw_input_2">密码</label><input id="pw_input_2" value="123">
<a href="javascript:login();">登录</a>
</div>
<div id="operation_area_2" hidden>
<a href="javascript:getRoleMaps();">查看权限</a>
<table border="1">
<tr id="row">
<td id="module">所属模块</td>
<td id="name">名称</td>
<td id="group">权限组</td>
<td id="needmch">需要商户号</td>
</tr>
</table>
</div>
<div id="response"></div>
<script>
// const baseUserUrl = 'http://localhost:8087/';
const baseUserUrl = 'http://user.api.bolopie.thinkraz.com/';
var currentLoginUserId = null;
var currentLoginUserAccessToken = null;
const mchid = '101464';
//
var nextStep = null;
// --- 逻辑无关函数 start ---
function addLog(str) {
document.getElementById('response').innerHTML += str + '<br>';
}
function post(url, data, cb) {
$.ajax({
url: url,
type: 'POST',
data: data,
success: function (result) {
cb(result);
},
error: function (err) {
alert('Failed!');
addLog('============' + url + '连接失败!===============');
}
});
}
function get(url, data, cb) {
// data._appkey = '$2a$08$s7EE5DCZYPT/q6mvqYiPneB4ErWVLesveITjrwyz2JtDOB99kJfxu';
$.ajax({
url: url,
type: 'GET',
data: data,
success: function (result) {
cb(result);
},
error: function (err) {
console.log('err', err);
// alert('Failed!');
// addLog('============' + url + '连接失败!===============');
cb(err);
}
});
}
function start(id) {
$('#' + id).show();
$('#start_area').hide();
}
function loginStart(id) {
$('#' + id).show();
$('#login_area').show();
$('#start_area').hide();
}
// --- 逻辑无关函数 end ---
function login() {
var name = $('#name_input_2').val();
var pw = $('#pw_input_2').val();
post(baseUserUrl + 'login', {
username: name,
password: pw
}, step1);
function step1(result) {
addLog('已完成:获取回调信息:' + JSON.stringify(result));
addLog('============================================');
if (result.code == 0 && result.status == 'success') {
currentLoginUserId = result.data.userId;
currentLoginUserAccessToken = result.data.accessToken;
addLog(`已登录为: ID: [${currentLoginUserId}] AccessToken: [${currentLoginUserAccessToken}]`);
addLog('============================================');
}
$('#login_area').hide();
}
}
function getRoleMaps() {
if (!currentLoginUserId) {
addLog('错误:请先登录');
return;
}
//获取用户权限
get(baseUserUrl + 'roles/' + currentLoginUserId, {}, step0);
function step0(result) {
addLog('用户权限为:' + JSON.stringify(result).slice(0,200));
addLog('注意,当前MCHID为:' + mchid);
addLog('============================================');
get(baseUserUrl + 'getRolesMap', {mchid:mchid}, function (res) {
step1(res, result);
});
}
function step1(result, userData) {
addLog('已完成:获取回调信息:' + JSON.stringify(result).slice(0,200));
addLog('============================================');
var userRoles = {};
for (let i = 0; i < userData.data.length; i++) {
userRoles[userData.data[i].roleId] = true;
}
var area = $('#operation_area_2');
var table = area.find('table');
var row = $('#row').clone();
var data = result.data;
for (var i = 0; i < data.length; i++) {
// 注:data[i].routes 是该模块的所有接口
var moduleName = data[i].name;
var auth = data[i].auth;
var keys = Object.keys(auth);
for (var j = 0; j < keys.length; j++) {
var item = auth[keys[j]];
var newRow = row.clone();
newRow.find('#module').text(moduleName);
newRow.find('#name').text(item.name);
newRow.find('#group').text(item.authGroup);
newRow.find('#needmch').text(item.needMch);
var checker = $(`<td><input type="checkbox" value="" /></td>`);
if(userRoles[item.roleId]){
checker.find('input').attr("checked",'checked');
}
checker.find('input').attr('data-auth', item.roleId);
newRow.append(checker);
checker.find('input').click(function () {
var roleId = $(this).attr('data-auth');
updateUserAuth(this.checked, roleId);
});
table.append(newRow);
}
}
// area.append(`<a href="javascript:nextStep();">确认修改</a>`);
// nextStep = step2;
}
function updateUserAuth(action, roleId) {
updateUserAuthBatchConfirm([
{
action: action,
roleId: roleId
}
])
}
function updateUserAuthBatchConfirm(roles) {
post(baseUserUrl + 'roles/' + currentLoginUserId, {
roles: roles
}, function (result) {
addLog('更新用户权限已完成:获取回调信息:' + JSON.stringify(result));
addLog('============================================');
});
}
}
function register() {
var name = $('#name_input').val();
var pw = $('#pw_input').val();
post(baseUserUrl + 'createUser', {
username: name,
password: pw
}, step1);
function step1(result) {
addLog('已完成:获取回调信息:' + JSON.stringify(result));
addLog('============================================');
}
}
</script>
</body>
</html>