123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- /**
- * @created by helin3 2017-11-30
- * @updated by helin3 2018-01-17 代码按规范调整
- * @description 系统相关功能请求模拟
- */
- (function (require, model) {
- model = model || {};
- var exports = {};
- /* eslint camelcase: 1 */
- /**
- * GET请求URL参数转换
- * @param url
- * @returns {{}}
- */
- var paramUrl2Obj = function (url) {
- var search = url.split('?')[1];
- if (!search) {
- return {};
- }
- return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\n/g, '\\n') + '"}');
- };
- /**
- * POST请求BODY参数转换
- * @param body
- * @returns {{}}
- */
- var paramBody2Obj = function (body) {
- if (!body) {
- return {};
- }
- return JSON.parse('{"' + decodeURIComponent(body).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\n/g, '\\n') + '"}');
- };
- var frameConfig = {
- menuModel: 'left',
- fontSize: 'large',
- themes: 'default'
- };
- /**
- * oauth认证获取/刷新token
- * @param config
- * @returns {{code: string}}
- */
- exports.loginFn = function (config) {
- var returnObj = {};
- var suffix = new Date().getTime();
- // 获取Token、刷新Token请求成功返回相关token信息
- var tempReturnObj = {
- access_token: 'Basicd2ViX2FwcDo=' + suffix,
- expires_in: 600, // 单位:秒
- refresh_token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9' + suffix
- };
- try {
- var data = paramBody2Obj(config.body);
- if (data.grant_type == 'refresh_token') {
- // 刷新token请求认证成功,返回相关token信息
- returnObj = tempReturnObj;
- // 此处未模拟refresh_token失效情况,真实情况,请根据真实后端情况判断
- } else {
- if (data.username != 'admin' || data.password != 'admin') {
- // 获取token请求认证失败,返回错误信息
- returnObj = {
- code: '9001',
- message: '用户名或密码错误,请重新输入!'
- };
- } else {
- // 获取token请求认证成功,返回相关token信息
- returnObj = tempReturnObj;
- }
- }
- } catch (e) {
- // 获取token认证请求、刷新token认证请求失败
- returnObj.code = '-1';
- returnObj.message = '系统错误,请联系系统管理员!';
- }
- return returnObj;
- };
- /**
- * 注销模拟
- * @param config
- */
- exports.logoutFn = function (config) {
- return {
- code: 0,
- message: 'logout success!'
- };
- };
- /**
- * 模拟会话信息
- * @param config
- * @returns
- */
- exports.sessionInfoFn = function (config) {
- // var data = paramUrl2Obj(config.url);
- return {
- 'userId': '40',
- 'userName': 'YUFP',
- 'userAvatar': null,
- 'loginCode': 'admin',
- 'loginTime': null,
- 'roles': [
- { 'id': '7001', 'code': 'ADMIN', 'name': '系统管理员' }
- ],
- 'dpt': { 'id': '133', 'code': '1001', 'name': '首席运营官' },
- 'org': { 'id': '500', 'code': '500', 'name': '宇信金融集团' },
- 'logicSys': { 'id': '203', 'code': '', 'name': '客户关系管理系统' },
- 'instu': null,
- 'upOrg': null,
- 'upDpt': null,
- 'dataContr': []
- };
- };
- /**
- * 数据权限数据
- */
- exports.dataContrFn = function () {
- return window.demoDataContr;
- };
- /**
- * 密码加密
- */
- exports.passwordFn = function () {
- };
- /**
- * 查询全部控制点信息
- */
- exports.contrUrlFn = function () {
- return {};
- };
- /**
- * 模拟后台数据字典库
- * @type
- * @private
- */
- var allLookup = {
- USER_STATUS: [
- {key: '01', value: '正常'},
- {key: '02', value: '冻结'},
- {key: '03', value: '销户'}
- ],
- CUST_TYPE: [
- {key: '1', value: '零售'},
- {key: '2', value: '公司'}
- ],
- IDENT_TYPE: [
- {key: '1', value: '居民身份证'},
- {key: '2', value: '居民户口薄'},
- {key: '3', value: '组织机构代码'},
- {key: '4', value: '营业执照代码'}
- ],
- NATIONALITY: [
- { key: 'CN', value: '中国' },
- { key: 'US', value: '美国' },
- { key: 'JP', value: '日本' },
- { key: 'EU', value: '欧元区' }
- ],
- PUBLISH_STATUS: [
- { key: 'published', value: '草稿' },
- { key: 'draft', value: '已发布' },
- { key: 'deleted', value: '已删除' }
- ],
- BRANCH: [
- { key: 'c1001', value: '成都支行' }
- ],
- SUBRANCH: [
- { key: 'c100101', value: '高新支行' },
- { key: 'c100102', value: '天府三街支行' },
- { key: 'c100103', value: '天府五街支行' }
- ],
- EDUCATION_TYPE: [
- { key: '0', value: '博士' },
- { key: '1', value: '硕士' },
- { key: '2', value: '本科' },
- { key: '3', value: '大专' },
- { key: '4', value: '高中及以下' }
- ]
- };
- /**
- * 模拟后台数据字典
- * @param config
- * @returns {{data: {}}}
- */
- exports.lookupFn = function (config) {
- var param = paramUrl2Obj(config.url);
- var code = param.lookupCodes;
- if (!code) {
- throw new Error('请求参数错误');
- }
- var codeArr = code.split(',');
- var returnObj = {};
- for (var i = 0, len = codeArr.length; i < len; i++) {
- var codeType = codeArr[i];
- returnObj[codeType] = allLookup[codeType] || [];
- }
- return {
- data: returnObj
- };
- };
- /**
- *模拟框架的配置保存
- */
- exports.saveFn = function (config) {
- var param = JSON.parse(config.body);
- return yufp.extend(true, frameConfig, param);
- };
- /**
- *模拟框架的配置查询
- */
- exports.queryFn = function () {
- return frameConfig;
- };
- model['system'] = exports;
- })(window, yufp.mock);
|