UNPKG

thinkraz-api-sdk

Version:

橡芮科技API开发包

200 lines (192 loc) 7.51 kB
<!DOCTYPE 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>