mirror of https://gitee.com/stylefeng/guns
update
parent
dd66424a34
commit
93ae63d6cc
|
@ -1,10 +1,13 @@
|
||||||
package cn.stylefeng.guns.modular.business.controller;
|
package cn.stylefeng.guns.modular.business.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Dict;
|
||||||
import cn.stylefeng.guns.modular.business.service.DemoService;
|
import cn.stylefeng.guns.modular.business.service.DemoService;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
|
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
|
||||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
|
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
|
||||||
|
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
@ -34,4 +37,18 @@ public class DemoController {
|
||||||
return new SuccessResponseData();
|
return new SuccessResponseData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 示例加密方法
|
||||||
|
* <p>
|
||||||
|
* requiredEncryption = true
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/24 10:59
|
||||||
|
*/
|
||||||
|
@PostResource(name = "示例加密方法", path = "/encode", requiredPermission = false, requiredLogin = false, requiredEncryption = true)
|
||||||
|
public ResponseData encode(@RequestBody Dict dict) {
|
||||||
|
return new SuccessResponseData(dict);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,6 +149,7 @@ layui.config({
|
||||||
iconPicker: '../../expand/module/iconPicker/iconPicker',
|
iconPicker: '../../expand/module/iconPicker/iconPicker',
|
||||||
ztree: '../../expand/module/ztree/ztree-object',
|
ztree: '../../expand/module/ztree/ztree-object',
|
||||||
HttpRequest: '../../expand/module/HttpRequest/HttpRequest',
|
HttpRequest: '../../expand/module/HttpRequest/HttpRequest',
|
||||||
|
HttpEncryptionRequest: '../../expand/module/HttpRequest/HttpEncryptionRequest',
|
||||||
func: '../../expand/module/func/func',
|
func: '../../expand/module/func/func',
|
||||||
dict: '../../expand/module/dict/dict',
|
dict: '../../expand/module/dict/dict',
|
||||||
gunsSelect: '../../expand/module/gunsSelect/gunsSelect',
|
gunsSelect: '../../expand/module/gunsSelect/gunsSelect',
|
||||||
|
|
|
@ -0,0 +1,168 @@
|
||||||
|
/**
|
||||||
|
* http请求对ajax封装,减少一些重复业务逻辑的编写
|
||||||
|
* @author fengshuonan
|
||||||
|
*/
|
||||||
|
layui.define(['jquery'], function (exports) {
|
||||||
|
var $ = layui.$;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建一个ajax的请求类
|
||||||
|
*
|
||||||
|
* @param url 请求后端的url
|
||||||
|
* @param method http请求方法,写get或者post
|
||||||
|
* @param successCallback 请求成功的回调函数
|
||||||
|
* @param errorCallback 请求失败的回调函数,后端返回http状态码500
|
||||||
|
*
|
||||||
|
* 使用方法:
|
||||||
|
*
|
||||||
|
* var request = new HttpEncryptionRequest('/user/list', 'get', function(data){
|
||||||
|
* // ...
|
||||||
|
* }, function(){
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* request.start();
|
||||||
|
*/
|
||||||
|
var HttpEncryptionRequest = function (url, method, successCallback, errorCallback) {
|
||||||
|
|
||||||
|
// 请求的url,一般传参时候需要带上contextPath
|
||||||
|
this.url = url;
|
||||||
|
|
||||||
|
// http请求的方法,默认不传为post,一般传 'get' 或 'post'
|
||||||
|
if (method === "" || method == null) {
|
||||||
|
this.method = "post";
|
||||||
|
} else {
|
||||||
|
this.method = method;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 请求成功的回调
|
||||||
|
this.successCallback = successCallback;
|
||||||
|
|
||||||
|
// 请求失败的回调
|
||||||
|
this.errorCallback = errorCallback;
|
||||||
|
|
||||||
|
// 请求的数据
|
||||||
|
this.dataObject = {};
|
||||||
|
|
||||||
|
// 请求的content-type,默认 "application/json"
|
||||||
|
this.contentType = "application/json";
|
||||||
|
|
||||||
|
// 预期服务器返回的数据类型,默认都为 json
|
||||||
|
this.dataType = "json";
|
||||||
|
|
||||||
|
// 默认请求都是同步,不开启异步
|
||||||
|
this.async = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
HttpEncryptionRequest.prototype = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行http请求
|
||||||
|
*
|
||||||
|
* @param parseJsonFlag 是否在请求时,参数转化为json,如果传 true 就是
|
||||||
|
*/
|
||||||
|
start: function (parseJsonFlag) {
|
||||||
|
var me = this;
|
||||||
|
var result = "";
|
||||||
|
|
||||||
|
// 如果请求需要转化为json则将data转为json
|
||||||
|
if (parseJsonFlag === true) {
|
||||||
|
me.dataObject = JSON.stringify(me.dataObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 防止http请求缓存
|
||||||
|
if (this.url.indexOf("?") === -1) {
|
||||||
|
this.url = this.url + "?jstime=" + new Date().getTime();
|
||||||
|
} else {
|
||||||
|
this.url = this.url + "&jstime=" + new Date().getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(me.dataObject)
|
||||||
|
// 生成解密返回数据的key
|
||||||
|
|
||||||
|
|
||||||
|
// 初始化ajax
|
||||||
|
$.ajax({
|
||||||
|
type: me.method,
|
||||||
|
url: me.url,
|
||||||
|
contentType: me.contentType,
|
||||||
|
dataType: me.dataType,
|
||||||
|
async: me.async,
|
||||||
|
data: me.dataObject,
|
||||||
|
beforeSend: function (data) {
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
result = data;
|
||||||
|
if (me.successCallback !== undefined) {
|
||||||
|
me.successCallback(data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (xhr) {
|
||||||
|
if (me.errorCallback !== undefined) {
|
||||||
|
me.errorCallback(xhr.responseJSON);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 key-value 形式的参数
|
||||||
|
*
|
||||||
|
* 此参数组装的是param方式传参的参数,如需传递json请用 setJsonData(data)
|
||||||
|
*
|
||||||
|
* 如果只传了一个key,则key可以是object类型,会将object所有属性都set上
|
||||||
|
*
|
||||||
|
* @param key 参数的key
|
||||||
|
* @param value 参数值
|
||||||
|
*/
|
||||||
|
set: function (key, value) {
|
||||||
|
if (typeof key === "object") {
|
||||||
|
// 遍历object的属性
|
||||||
|
for (var item in key) {
|
||||||
|
if (typeof item != "function") {
|
||||||
|
this.dataObject[item] = key[item];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.dataObject[key] = (typeof value === "undefined") ? $("#" + key).val() : value;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清空传递参数
|
||||||
|
*/
|
||||||
|
clear: function () {
|
||||||
|
this.dataObject = {};
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置请求的content-type
|
||||||
|
*/
|
||||||
|
setContentType: function (contentType) {
|
||||||
|
this.contentType = contentType;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置预期服务器返回的数据类型,默认都为 json
|
||||||
|
*/
|
||||||
|
setDataType: function (dataType) {
|
||||||
|
this.dataType = dataType;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置请求同步还是异步,true-异步,false-同步
|
||||||
|
*/
|
||||||
|
setAsync: function (async) {
|
||||||
|
this.async = async;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
exports('HttpEncryptionRequest', HttpEncryptionRequest);
|
||||||
|
});
|
Loading…
Reference in New Issue